PluginProbe ʕ •ᴥ•ʔ
AI Engine – The Chatbot, AI Framework & MCP for WordPress / 2.4.4
AI Engine – The Chatbot, AI Framework & MCP for WordPress v2.4.4
3.6.2 3.6.1 3.6.0 3.5.9 3.5.8 3.5.7 3.5.6 3.5.5 3.5.4 3.5.3 3.5.2 3.5.1 3.5.0 3.4.9 3.4.8 3.4.7 0.2.1 1.6.91 0.2.2 1.6.92 0.2.3 1.6.93 0.2.4 1.6.94 0.2.5 1.6.95 0.2.6 1.6.96 0.2.7 1.6.97 0.2.8 1.6.98 0.2.9 1.6.99 0.3.0 1.7.0 0.3.1 1.7.1 0.3.2 1.7.2 0.3.3 1.7.3 0.3.4 1.7.4 0.3.5 1.7.5 0.3.6 1.7.6 0.4.0 1.7.7 0.4.1 1.7.8 0.4.2 1.7.9 0.4.3 1.8.0 0.4.4 1.8.1 0.4.5 1.8.2 0.4.6 1.8.3 0.4.7 1.8.4 0.4.8 1.8.5 0.4.9 1.8.6 0.5.0 1.8.7 0.5.1 1.8.8 0.5.2 1.8.9 0.5.3 1.9.0 0.5.4 1.9.1 0.5.5 1.9.2 0.5.6 1.9.3 0.5.7 1.9.4 0.5.8 1.9.5 0.5.9 1.9.6 0.6.0 1.9.7 0.6.1 1.9.8 0.6.2 1.9.81 0.6.3 1.9.82 0.6.4 1.9.83 0.6.5 1.9.84 0.6.6 1.9.85 0.6.7 1.9.86 0.6.8 1.9.87 0.6.9 1.9.88 0.7.0 1.9.89 0.7.1 1.9.90 0.7.2 1.9.91 0.7.3 1.9.92 0.7.4 1.9.93 0.7.5 1.9.94 0.7.6 1.9.95 0.7.7 1.9.96 0.7.8 1.9.97 0.7.9 1.9.98 0.8.0 1.9.99 0.8.1 2.0.0 0.8.2 2.0.1 0.8.3 2.0.2 0.8.4 2.0.3 0.8.5 2.0.4 0.8.6 2.0.5 0.8.7 2.0.6 0.8.8 2.0.7 0.8.9 2.0.8 0.9.0 2.0.9 0.9.2 2.1.0 0.9.3 2.1.1 0.9.4 2.1.2 0.9.5 2.1.3 0.9.6 2.1.4 0.9.7 2.1.5 0.9.8 2.1.6 0.9.81 2.1.7 0.9.82 2.1.8 0.9.83 2.1.9 0.9.84 2.2.0 0.9.85 2.2.1 0.9.86 2.2.2 0.9.87 2.2.3 0.9.88 2.2.4 0.9.89 2.2.5 0.9.9 2.2.51 0.9.91 2.2.52 0.9.92 2.2.53 0.9.93 2.2.54 0.9.94 2.2.56 0.9.95 2.2.57 0.9.96 2.2.6 0.9.97 2.2.60 0.9.98 2.2.61 0.9.99 2.2.62 1.0.0 2.2.63 1.0.01 2.2.70 1.0.1 2.2.80 1.0.2 2.2.81 1.0.3 2.2.90 1.0.4 2.2.91 1.0.5 2.2.92 1.0.6 2.2.93 1.0.7 2.2.94 1.0.8 2.2.95 1.0.9 2.3.0 1.1.0 2.3.1 1.1.1 2.3.2 1.1.2 2.3.3 1.1.3 2.3.4 1.1.4 2.3.5 1.1.5 2.3.6 1.1.6 2.3.7 1.1.7 2.3.8 1.1.8 2.3.9 1.1.9 2.4.0 1.2.0 2.4.1 1.2.1 2.4.2 1.2.2 2.4.3 1.2.21 2.4.4 1.2.3 2.4.5 1.2.30 2.4.6 1.3.0 2.4.7 1.3.1 2.4.8 1.3.2 2.4.9 1.3.3 2.5.0 1.3.31 2.5.1 1.3.32 2.5.2 1.3.33 2.5.3 1.3.34 2.5.4 1.3.35 2.5.5 1.3.36 2.5.6 1.3.37 2.5.7 1.3.38 2.5.8 1.3.39 2.5.9 1.3.40 2.6.0 1.3.41 2.6.1 1.3.42 2.6.2 1.3.43 2.6.3 1.3.44 2.6.5 1.3.45 2.6.6 1.3.46 2.6.7 1.3.47 2.6.8 1.3.48 2.6.9 1.3.49 2.7.0 1.3.50 2.7.1 1.3.51 2.7.2 1.3.52 2.7.3 1.3.53 2.7.4 1.3.54 2.7.5 1.3.56 2.7.6 1.3.57 2.7.7 1.3.58 2.7.8 1.3.59 2.7.9 1.3.60 2.8.0 1.3.61 2.8.1 1.3.62 2.8.2 1.3.63 2.8.3 1.3.64 2.8.4 1.3.65 2.8.5 1.3.66 2.8.6 1.3.67 2.8.7 1.3.68 2.8.8 1.3.69 2.8.9 1.3.70 2.9.0 1.3.71 2.9.1 1.3.72 2.9.2 1.3.73 2.9.3 1.3.74 2.9.4 1.3.75 2.9.5 1.3.76 2.9.6 1.3.77 2.9.7 1.3.78 2.9.8 1.3.79 2.9.9 1.3.80 3.0.0 1.3.81 3.0.1 1.3.82 3.0.2 1.3.83 3.0.3 1.3.84 3.0.4 1.3.85 3.0.5 1.3.86 3.0.6 1.3.87 3.0.7 1.3.88 3.0.8 1.3.89 3.0.9 1.3.90 3.1.0 1.3.91 3.1.1 1.3.92 3.1.2 1.3.93 3.1.3 1.3.94 3.1.4 1.3.95 3.1.5 1.3.96 3.1.6 1.3.97 3.1.7 1.3.98 3.1.8 1.3.99 3.1.9 1.4.0 3.2.0 1.4.1 3.2.1 1.4.2 3.2.2 1.4.3 3.2.3 1.4.4 3.2.4 1.4.5 3.2.5 1.4.6 3.2.6 1.4.7 3.2.7 1.4.8 3.2.8 1.4.9 3.2.9 1.5.0 3.3.0 1.5.1 3.3.1 1.5.2 3.3.2 1.5.3 3.3.3 1.5.4 3.3.4 1.5.5 3.3.5 1.5.6 3.3.6 1.5.7 3.3.7 1.5.8 3.3.8 1.5.9 3.3.9 1.6.0 3.4.0 1.6.1 3.4.1 1.6.2 3.4.2 1.6.3 3.4.3 1.6.5 3.4.4 1.6.51 3.4.5 1.6.52 3.4.6 1.6.53 1.6.54 1.6.55 1.6.56 1.6.57 1.6.58 1.6.59 1.6.60 1.6.61 1.6.62 1.6.63 1.6.64 1.6.65 1.6.66 1.6.67 1.6.68 trunk 1.6.69 0.0.1 1.6.70 0.0.2 1.6.71 0.0.3 1.6.72 0.0.4 1.6.73 0.0.5 1.6.74 0.0.6 1.6.75 0.0.7 1.6.76 0.0.8 1.6.77 0.0.9 1.6.78 0.1.0 1.6.79 0.1.1 1.6.81 0.1.2 1.6.82 0.1.3 1.6.83 0.1.4 1.6.84 0.1.5 1.6.85 0.1.6 1.6.86 0.1.7 1.6.87 0.1.8 1.6.88 0.1.9 1.6.89 0.2.0 1.6.90
ai-engine / themes / sass / _common.scss
ai-engine / themes / sass Last commit date
_codeDark.scss 2 years ago _codeLight.scss 2 years ago _common.scss 2 years ago _copybutton.scss 2 years ago chatgpt.scss 2 years ago messages.scss 2 years ago
_common.scss
784 lines
1 // main: chatgpt.scss, messages.scss
2
3 @mixin file-upload-icon-sprites {
4 $icon-size: 32px;
5
6 &.mwai-idle-add {
7 background-position: -1 * $icon-size -3 * $icon-size;
8 }
9
10 &.mwai-image-add {
11 background-position: -1 * $icon-size -0 * $icon-size;
12 }
13
14 &.mwai-image-up {
15 background-position: -2 * $icon-size -0 * $icon-size;
16 }
17
18 &.mwai-image-del {
19 background-position: -3 * $icon-size -0 * $icon-size;
20 }
21
22 &.mwai-image-ok {
23 background-position: -4 * $icon-size -0 * $icon-size;
24 }
25
26 &.mwai-document-add {
27 background-position: -1 * $icon-size -2 * $icon-size;
28 }
29
30 &.mwai-document-up {
31 background-position: -2 * $icon-size -2 * $icon-size;
32 }
33
34 &.mwai-document-del {
35 background-position: -3 * $icon-size -2 * $icon-size;
36 }
37
38 &.mwai-document-ok {
39 background-position: -4 * $icon-size -2 * $icon-size;
40 }
41
42 .mwai-file-upload-progress {
43 position: absolute;
44 font-size: 8px;
45 width: 21px;
46 top: 24px;
47 left: 23px;
48 overflow: hidden;
49 text-align: center;
50 font-weight: bold;
51 color: white;
52 }
53 }
54
55 @mixin microphone {
56
57 width: 32px;
58 height: 32px;
59
60 svg {
61 width: 32px;
62 height: 32px;
63 fill: var(--mwai-fontColor);
64 opacity: 0.5;
65 filter: grayscale(100%);
66 transition: opacity 0.3s ease-out;
67 padding: 5px 10px;
68 cursor: pointer;
69 }
70
71 &[active=true]=true] svg {
72 opacity: 1;
73 }
74
75 &[disabled]] svg {
76 opacity: 0;
77 cursor: not-allowed;
78 }
79 }
80
81 @mixin fullscreen-window {
82 position: fixed;
83 left: 0 !important;
84 right: 0 !important;
85 bottom: 0 !important;
86 top: 0 !important;
87 width: inherit;
88 height: inherit;
89 max-height: inherit;
90 max-width: inherit;
91 display: flex;
92 flex-direction: column;
93 margin: 0;
94 z-index: 999999;
95 background-color: var(--mwai-backgroundSecondaryColor);
96
97 .mwai-header {
98 border-radius: 0;
99 }
100
101 .mwai-content {
102 height: 100%;
103 max-height: inherit;
104 border-radius: 0;
105
106 .mwai-conversation {
107 flex: auto;
108 max-height: none;
109 }
110 }
111 }
112
113 @mixin common-styles {
114
115 // Transitions
116
117 &.mwai-transition, .mwai-transition {
118 opacity: 0;
119 transition: opacity 350ms ease-in-out;
120 }
121
122 &.mwai-transition-visible, .mwai-transition-visible {
123 opacity: 1;
124 }
125
126 .mwai-text {
127
128 img {
129 max-width: 100%;
130 }
131
132 div {
133 p:first-child {
134 margin-top: 0;
135 }
136 p:last-child {
137 margin-bottom: 0;
138 }
139 }
140 }
141
142 // The icon when the chat window is closed.
143
144 .mwai-trigger {
145 position: absolute;
146 right: 0;
147 bottom: 0;
148 transition: all 0.2s ease-out;
149 z-index: 9999;
150 display: flex;
151 flex-direction: column;
152 align-items: end;
153
154 .mwai-icon-text-container {
155 display: flex;
156 flex-direction: column;
157 align-items: flex-end;
158
159 .mwai-icon-text {
160 background: var(--mwai-iconTextBackgroundColor);
161 color: var(--mwai-iconTextColor);
162 box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.15);
163 max-width: 200px;
164 font-size: 13px;
165 margin-bottom: 15px;
166 padding: 10px 15px;
167 border-radius: 8px;
168 }
169
170 .mwai-icon-text-close {
171 color: var(--mwai-iconTextColor);
172 background: var(--mwai-iconTextBackgroundColor);
173 padding: 5px;
174 width: 20px;
175 height: 20px;
176 border-radius: 100%;
177 display: none;
178 justify-content: center;
179 align-items: center;
180 margin-bottom: 3px;
181 }
182
183 &:hover {
184 cursor: pointer;
185
186 .mwai-icon-text-close {
187 display: flex;
188 font-size: 12px;
189
190 &:hover {
191 filter: brightness(1.2);
192 }
193 }
194 }
195
196 @media (max-width: 760px) {
197 .mwai-icon-text-close {
198 display: flex;
199 }
200 }
201
202 }
203
204 .mwai-icon-container {
205
206 .mwai-icon {
207 filter: drop-shadow(0px 0px 15px rgba(0, 0, 0, 0.15));
208 transition: all 0.2s ease-out;
209
210 &:hover {
211 cursor: pointer;
212 transform: scale(1.05);
213 }
214 }
215 }
216 }
217
218 // Handle the chat window and fullscreen.
219 // Let's keep this common for all themes.
220
221 &.mwai-window {
222 position: fixed;
223 right: 30px;
224 bottom: 30px;
225 width: var(--mwai-width);
226 z-index: 9999;
227
228 .mwai-header {
229 display: none;
230 justify-content: flex-end;
231 align-items: center;
232 border-radius: var(--mwai-borderRadius) var(--mwai-borderRadius) 0 0;
233 background: var(--mwai-backgroundHeaderColor);
234
235 .mwai-buttons {
236 display: flex;
237 align-items: center;
238
239 .mwai-resize-button {
240 justify-content: center;
241 height: 32px;
242 width: 22px;
243 cursor: pointer;
244 display: flex;
245 justify-content: center;
246 align-items: center;
247
248 &:before {
249 transition: all 0.2s ease-out;
250 content: ' ';
251 cursor: pointer;
252 position: absolute;
253 height: 13px;
254 width: 13px;
255 border: 1px solid var(--mwai-headerButtonsColor);
256 }
257
258 &:hover:before {
259 width: 16px;
260 height: 16px;
261 }
262 }
263
264 .mwai-close-button {
265 justify-content: center;
266 height: 32px;
267 width: 33px;
268 cursor: pointer;
269 border-radius: var(--mwai-borderRadius);
270
271 &:before {
272 transition: all 0.2s ease-out;
273 transform: translate(16px, 5px) rotate(45deg);
274 }
275 &:after {
276 transition: all 0.2s ease-out;
277 transform: translate(16px, 5px) rotate(-45deg);
278 }
279 }
280
281 .mwai-close-button:before, .mwai-close-button:after {
282 content: ' ';
283 cursor: pointer;
284 position: absolute;
285 height: 22px;
286 width: 1px;
287 background-color: var(--mwai-headerButtonsColor);
288 }
289
290 .mwai-close-button:hover {
291 &:before {
292 opacity: 1;
293 transform: translate(16px, 5px) rotate(135deg);
294 }
295 &:after {
296 opacity: 1;
297 transform: translate(16px, 5px) rotate(45deg);
298 }
299 }
300
301 }
302 }
303
304 .mwai-content {
305 display: none;
306 opacity: 0;
307 max-height: var(--mwai-maxHeight);
308 border-radius: 0 0 var(--mwai-borderRadius) var(--mwai-borderRadius);
309 overflow: hidden;
310 }
311
312 &.mwai-bottom-left {
313 bottom: 30px;
314 right: inherit;
315 left: 30px;
316
317 .mwai-open-button {
318 right: inherit;
319 left: 0;
320 }
321 }
322
323 &.mwai-top-right {
324 top: 30px;
325 bottom: inherit;
326 right: 30px;
327
328 .mwai-open-button {
329 top: 0;
330 bottom: inherit;
331 }
332 }
333
334 &.mwai-top-left {
335 top: 30px;
336 bottom: inherit;
337 right: inherit;
338 left: 30px;
339
340 .mwai-open-button {
341 top: 0;
342 bottom: inherit;
343 right: inherit;
344 left: 0;
345 }
346 }
347
348 &.mwai-top-left, &.mwai-bottom-left {
349
350 .mwai-open-button {
351 align-items: flex-start;
352 }
353 }
354
355 &.mwai-top-right, &.mwai-top-left {
356
357 .mwai-open-button {
358 flex-direction: column-reverse;
359
360 .mwai-icon-text {
361 margin-bottom: 0;
362 margin-top: 15px;
363 }
364 }
365 }
366 }
367
368 // Popup chat is fullscreen
369
370 &.mwai-window.mwai-fullscreen {
371
372 .mwai-header {
373
374 .mwai-buttons {
375 margin-bottom: 0px;
376
377 .mwai-resize-button {
378 &:before {
379 width: 16px;
380 height: 16px;
381 }
382
383 &:hover:before {
384 width: 13px;
385 height: 13px;
386 }
387 }
388 }
389 }
390 }
391
392 // Standard chat is fullscreen
393
394 &.mwai-fullscreen:not(.mwai-window), &.mwai-fullscreen.mwai-window.mwai-open {
395 @include fullscreen-window;
396 }
397
398 // Popup chat is open
399
400 &.mwai-window.mwai-open {
401
402 .mwai-header {
403 display: flex;
404 }
405
406 .mwai-content {
407 display: flex;
408 transition: opacity 200ms ease-in-out 0s;
409 opacity: 1;
410 }
411
412 .mwai-open-button {
413 display: none;
414 }
415 }
416
417 .mwai-error {
418 margin: var(--mwai-spacing);
419 color: white;
420 background: rgba(180, 55, 55, 0.55);
421 padding: var(--mwai-spacing);
422 border-radius: var(--mwai-borderRadius);
423
424 &:hover {
425 cursor: pointer;
426 background: rgba(180, 44, 44, 0.85);
427 }
428 }
429
430 &.mwai-bubble .mwai-icon-container {
431 background: var(--mwai-bubbleColor);
432 width: 60px;
433 height: 60px;
434 border-radius: 100%;
435 transition: all 0.2s ease-out;
436 display: flex;
437 justify-content: center;
438 align-items: center;
439
440 .mwai-icon {
441 max-width: 50%;
442 max-height: 50%;
443 filter: none;
444
445 &:hover {
446 transform: none;
447 }
448 }
449
450 &:hover {
451 cursor: pointer;
452 filter: brightness(1.1);
453 }
454 }
455
456 @media (max-width: 760px) {
457 &.mwai-window.mwai-open {
458 @include fullscreen-window;
459
460 .mwai-input {
461 flex-direction: column;
462
463 button {
464 font-size: 16px;
465 margin-left: 0;
466 width: 100%;
467 }
468
469 .mwai-input-text {
470 margin-bottom: var(--mwai-spacing);
471 width: 100%;
472
473 // This is to avoid iOS from zooming in when focusing on an input field.
474 input, textarea {
475 font-size: 16px;
476 }
477 }
478 }
479
480 .mwai-content {
481 display: flex;
482 transition: opacity 200ms ease-in-out 0s;
483 opacity: 1;
484 height: 100%;
485 max-height: inherit;
486
487 .mwai-conversation {
488 flex: auto;
489 max-height: none;
490 }
491 }
492
493 .mwai-resize-button {
494 display: none !important;
495 }
496
497 .mwai-open-button {
498 display: none;
499 }
500 }
501 }
502
503 // Keyframes for buttons
504
505 @keyframes mwai-button-spinner {
506
507 from {
508 transform: rotate(0turn);
509 }
510 to {
511 transform: rotate(1turn);
512 }
513 }
514
515 // WordPress Admin Bar
516
517 .admin-bar .mwai-fullscreen:not(.mwai-window),
518 .admin-bar .mwai-fullscreen.mwai-window.mwai-open {
519 top: 32px;
520 }
521 }
522
523 @mixin code-dark {
524
525 pre code.hljs {
526 display: block;
527 overflow-x: auto;
528 padding: 1em;
529 }
530
531 code.hljs {
532 padding: 3px 5px;
533 }
534
535 .hljs {
536 color: #fff;
537 background: #1c1b1b;
538
539 &-subst {
540 color: #fff;
541 }
542
543 &-comment {
544 color: #999;
545 }
546
547 &-attr,
548 &-doctag,
549 &-keyword,
550 &-meta .hljs-keyword,
551 &-section,
552 &-selector-tag {
553 color: #88aece;
554 }
555
556 &-attribute {
557 color: #c59bc1;
558 }
559
560 &-name,
561 &-number,
562 &-quote,
563 &-selector-id,
564 &-template-tag,
565 &-type {
566 color: #f08d49;
567 }
568
569 &-selector-class {
570 color: #88aece;
571 }
572
573 &-link,
574 &-regexp,
575 &-selector-attr,
576 &-string,
577 &-symbol,
578 &-template-variable,
579 &-variable {
580 color: #b5bd68;
581 }
582
583 &-meta,
584 &-selector-pseudo {
585 color: #88aece;
586 }
587
588 &-built_in,
589 &-literal,
590 &-title {
591 color: #f08d49;
592 }
593
594 &-bullet,
595 &-code {
596 color: #ccc;
597 }
598
599 &-meta .hljs-string {
600 color: #b5bd68;
601 }
602
603 &-deletion {
604 color: #de7176;
605 }
606
607 &-addition {
608 color: #76c490;
609 }
610
611 &-emphasis {
612 font-style: italic;
613 }
614
615 &-strong {
616 font-weight: 700;
617 }
618 }
619 }
620
621 @mixin code-light {
622
623 pre code.hljs {
624 display: block;
625 overflow-x: auto;
626 padding: 1em;
627 }
628
629 code.hljs {
630 padding: 3px 5px;
631 }
632
633 .hljs {
634 color: #333;
635 background: #f0f0f0;
636
637 &-subst {
638 color: #333;
639 }
640
641 &-comment {
642 color: #888;
643 }
644
645 &-attr,
646 &-doctag,
647 &-keyword,
648 &-meta .hljs-keyword,
649 &-section,
650 &-selector-tag {
651 color: #0077cc;
652 }
653
654 &-attribute {
655 color: #aa3377;
656 }
657
658 &-name,
659 &-number,
660 &-quote,
661 &-selector-id,
662 &-template-tag,
663 &-type {
664 color: #c18401;
665 }
666
667 &-selector-class {
668 color: #0077cc;
669 }
670
671 &-link,
672 &-regexp,
673 &-selector-attr,
674 &-string,
675 &-symbol,
676 &-template-variable,
677 &-variable {
678 color: #689700;
679 }
680
681 &-meta,
682 &-selector-pseudo {
683 color: #0077cc;
684 }
685
686 &-built_in,
687 &-literal,
688 &-title {
689 color: #c18401;
690 }
691
692 &-bullet,
693 &-code {
694 color: #555;
695 }
696
697 &-meta .hljs-string {
698 color: #689700;
699 }
700
701 &-deletion {
702 color: #b71c1c;
703 }
704
705 &-addition {
706 color: #1b5e20;
707 }
708
709 &-emphasis {
710 font-style: italic;
711 }
712
713 &-strong {
714 font-weight: 700;
715 }
716 }
717 }
718
719 @mixin copy-button {
720
721 .mwai-copy-button {
722 opacity: 0;
723 transition: all 0.3s ease-out;
724 width: 22px;
725 height: 22px;
726 position: absolute;
727 right: var(--mwai-spacing);
728 }
729
730 .mwai-copy-button .mwai-copy-button-one {
731 position: absolute;
732 width: 16px;
733 height: 16px;
734 margin-top: 0px;
735 margin-left: 0px;
736 background: white;
737 opacity: 0.4;
738 transition: all 0.2s ease-in;
739 cursor: pointer;
740 border-radius: 2px;
741 }
742
743 .mwai-copy-button .mwai-copy-button-two {
744 position: absolute;
745 width: 16px;
746 height: 16px;
747 margin-top: 6px;
748 margin-left: 6px;
749 background: white;
750 opacity: 0.6;
751 transition: all 0.2s ease-in;
752 cursor: pointer;
753 border-radius: 2px;
754 }
755
756 .mwai-copy-button:hover .mwai-copy-button-one {
757 opacity: 0.6;
758 margin-top: 0px;
759 margin-left: 6px;
760 }
761
762 .mwai-copy-button:hover .mwai-copy-button-two {
763 opacity: 1;
764 margin-top: 6px;
765 margin-left: 0px;
766 }
767
768 .mwai-copy-button.mwai-animate .mwai-copy-button-one {
769 opacity: 0;
770 }
771
772 .mwai-copy-button.mwai-animate .mwai-copy-button-two {
773 width: 18px;
774 height: 18px;
775 margin-top: 2px;
776 margin-left: 2px;
777 opacity: 1;
778 }
779
780 .mwai-chat .mwai-reply:hover .mwai-copy-button {
781 display: block;
782 opacity: 1;
783 }
784 }