@crestapps/ai-chat-ui 1.0.0-preview.9 → 1.0.0-preview.90
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ai-chat-widget.js +814 -0
- package/dist/ai-chat-widget.js.map +1 -0
- package/dist/ai-chat-widget.min.js +2 -0
- package/dist/ai-chat-widget.min.js.map +1 -0
- package/dist/ai-chat.css +32 -14
- package/dist/ai-chat.css.map +1 -1
- package/dist/ai-chat.js +849 -1067
- package/dist/ai-chat.js.map +1 -1
- package/dist/ai-chat.min.css +1 -1
- package/dist/ai-chat.min.js +1 -1
- package/dist/ai-chat.min.js.map +1 -1
- package/dist/chat-interaction-settings.js +234 -0
- package/dist/chat-interaction-settings.js.map +1 -0
- package/dist/chat-interaction-settings.min.js +2 -0
- package/dist/chat-interaction-settings.min.js.map +1 -0
- package/dist/chat-interaction.js +959 -321
- package/dist/chat-interaction.js.map +1 -1
- package/dist/chat-interaction.min.js +1 -1
- package/dist/chat-interaction.min.js.map +1 -1
- package/dist/chat-widget.css +35 -26
- package/dist/chat-widget.css.map +1 -1
- package/dist/chat-widget.min.css +1 -1
- package/dist/document-drop-zone.css +10 -10
- package/dist/document-drop-zone.css.map +1 -1
- package/dist/document-drop-zone.min.css +1 -1
- package/dist/technical-name-generator.js +36 -8
- package/dist/technical-name-generator.js.map +1 -1
- package/dist/technical-name-generator.min.js +1 -1
- package/dist/technical-name-generator.min.js.map +1 -1
- package/package.json +9 -1
- package/README.md +0 -145
package/dist/chat-widget.css
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/* CrestApps AI Chat Widget */
|
|
2
2
|
:root {
|
|
3
3
|
--ai-widget-primary: var(--bs-secondary, #6c757d);
|
|
4
|
+
--ai-widget-primary-rgb: var(--bs-secondary-rgb, 108, 117, 125);
|
|
4
5
|
--ai-widget-width: 380px;
|
|
5
6
|
--ai-widget-height: 520px;
|
|
6
7
|
}
|
|
@@ -14,20 +15,20 @@
|
|
|
14
15
|
height: 52px;
|
|
15
16
|
border-radius: 50%;
|
|
16
17
|
background: var(--ai-widget-primary);
|
|
17
|
-
color: white;
|
|
18
|
+
color: var(--bs-white, #fff);
|
|
18
19
|
border: none;
|
|
19
20
|
cursor: pointer;
|
|
20
21
|
display: flex;
|
|
21
22
|
align-items: center;
|
|
22
23
|
justify-content: center;
|
|
23
24
|
font-size: 1.5rem;
|
|
24
|
-
box-shadow: 0 4px 12px rgba(
|
|
25
|
+
box-shadow: 0 4px 12px rgba(var(--bs-body-color-rgb, 33, 37, 41), 0.2);
|
|
25
26
|
transition: transform 0.2s, box-shadow 0.2s;
|
|
26
27
|
}
|
|
27
28
|
|
|
28
29
|
.ai-chat-widget-toggle:hover {
|
|
29
30
|
transform: scale(1.1);
|
|
30
|
-
box-shadow: 0 6px 16px rgba(
|
|
31
|
+
box-shadow: 0 6px 16px rgba(var(--bs-body-color-rgb, 33, 37, 41), 0.3);
|
|
31
32
|
}
|
|
32
33
|
|
|
33
34
|
.ai-chat-widget-container {
|
|
@@ -37,9 +38,11 @@
|
|
|
37
38
|
z-index: 10001;
|
|
38
39
|
width: var(--ai-widget-width);
|
|
39
40
|
height: var(--ai-widget-height);
|
|
40
|
-
background: #fff;
|
|
41
|
+
background: var(--bs-body-bg, #fff);
|
|
42
|
+
color: var(--bs-body-color, #212529);
|
|
43
|
+
border: 1px solid var(--bs-border-color, #dee2e6);
|
|
41
44
|
border-radius: 12px;
|
|
42
|
-
box-shadow: 0 8px 32px rgba(
|
|
45
|
+
box-shadow: 0 8px 32px rgba(var(--bs-body-color-rgb, 33, 37, 41), 0.18);
|
|
43
46
|
display: none;
|
|
44
47
|
flex-direction: column;
|
|
45
48
|
overflow: hidden;
|
|
@@ -63,7 +66,7 @@
|
|
|
63
66
|
justify-content: space-between;
|
|
64
67
|
padding: 0.75rem 1rem;
|
|
65
68
|
background: var(--ai-widget-primary);
|
|
66
|
-
color: white;
|
|
69
|
+
color: var(--bs-white, #fff);
|
|
67
70
|
}
|
|
68
71
|
|
|
69
72
|
.ai-chat-widget-header.ai-chat-widget-drag-handle {
|
|
@@ -99,7 +102,7 @@
|
|
|
99
102
|
.ai-chat-widget-header button {
|
|
100
103
|
background: none;
|
|
101
104
|
border: none;
|
|
102
|
-
color: white;
|
|
105
|
+
color: var(--bs-white, #fff);
|
|
103
106
|
cursor: pointer;
|
|
104
107
|
font-size: 1rem;
|
|
105
108
|
padding: 0 0.25rem;
|
|
@@ -112,14 +115,16 @@
|
|
|
112
115
|
|
|
113
116
|
.ai-chat-widget-profile-select {
|
|
114
117
|
padding: 0.5rem 0.75rem;
|
|
115
|
-
border-bottom: 1px solid #
|
|
116
|
-
background: #f8f9fa;
|
|
118
|
+
border-bottom: 1px solid var(--bs-border-color, #dee2e6);
|
|
119
|
+
background: var(--bs-tertiary-bg, #f8f9fa);
|
|
117
120
|
}
|
|
118
121
|
|
|
119
122
|
.ai-chat-widget-profile-select select {
|
|
120
123
|
width: 100%;
|
|
121
124
|
padding: 0.35rem 0.5rem;
|
|
122
|
-
|
|
125
|
+
color: var(--bs-body-color, #212529);
|
|
126
|
+
background-color: var(--bs-body-bg, #fff);
|
|
127
|
+
border: 1px solid var(--bs-border-color, #ced4da);
|
|
123
128
|
border-radius: 6px;
|
|
124
129
|
font-size: 0.85rem;
|
|
125
130
|
}
|
|
@@ -146,7 +151,7 @@
|
|
|
146
151
|
display: block;
|
|
147
152
|
width: 100%;
|
|
148
153
|
margin-bottom: 0.5rem;
|
|
149
|
-
border-top: 1px solid rgba(33, 37, 41, 0.08);
|
|
154
|
+
border-top: 1px solid rgba(var(--bs-body-color-rgb, 33, 37, 41), 0.08);
|
|
150
155
|
}
|
|
151
156
|
|
|
152
157
|
.ai-chat-widget-messages .ai-chat-msg-role {
|
|
@@ -156,7 +161,7 @@
|
|
|
156
161
|
}
|
|
157
162
|
|
|
158
163
|
.ai-chat-widget-messages .ai-chat-msg-role-user {
|
|
159
|
-
color: #0d6efd;
|
|
164
|
+
color: var(--bs-primary, #0d6efd);
|
|
160
165
|
}
|
|
161
166
|
|
|
162
167
|
.ai-chat-widget-messages .ai-chat-msg-role-assistant {
|
|
@@ -196,10 +201,10 @@
|
|
|
196
201
|
opacity: 0;
|
|
197
202
|
pointer-events: none;
|
|
198
203
|
transition: opacity 0.15s ease-in-out;
|
|
199
|
-
background: rgba(255, 255, 255, 0.96);
|
|
204
|
+
background: rgba(var(--bs-body-bg-rgb, 255, 255, 255), 0.96);
|
|
200
205
|
padding: 0.2rem 0.35rem;
|
|
201
206
|
border-radius: 999px;
|
|
202
|
-
box-shadow: 0 1px 3px rgba(
|
|
207
|
+
box-shadow: 0 1px 3px rgba(var(--bs-body-color-rgb, 33, 37, 41), 0.08);
|
|
203
208
|
margin-bottom: 1rem;
|
|
204
209
|
transform: translateY(50%);
|
|
205
210
|
z-index: 1;
|
|
@@ -253,7 +258,7 @@
|
|
|
253
258
|
left: 0;
|
|
254
259
|
right: 0;
|
|
255
260
|
bottom: 0;
|
|
256
|
-
background: #fff;
|
|
261
|
+
background: var(--bs-body-bg, #fff);
|
|
257
262
|
padding: 1rem;
|
|
258
263
|
z-index: 10;
|
|
259
264
|
display: none;
|
|
@@ -316,9 +321,9 @@
|
|
|
316
321
|
.ai-chat-widget-messages .ai-chat-notification {
|
|
317
322
|
margin: 0.75rem 0.5rem 0;
|
|
318
323
|
padding: 0.625rem 0.75rem;
|
|
319
|
-
border: 1px solid rgba(33, 37, 41, 0.12);
|
|
324
|
+
border: 1px solid rgba(var(--bs-body-color-rgb, 33, 37, 41), 0.12);
|
|
320
325
|
border-radius: 0.5rem;
|
|
321
|
-
background: rgba(248, 249, 250, 0.98);
|
|
326
|
+
background: rgba(var(--bs-tertiary-bg-rgb, 248, 249, 250), 0.98);
|
|
322
327
|
}
|
|
323
328
|
|
|
324
329
|
.ai-chat-widget-messages .ai-chat-notification-content {
|
|
@@ -357,8 +362,8 @@
|
|
|
357
362
|
|
|
358
363
|
/* ── Code blocks & inline code ── */
|
|
359
364
|
.ai-chat-widget-messages .ai-chat-message-body pre {
|
|
360
|
-
background: #2d2d2d;
|
|
361
|
-
color: #f8f8f2;
|
|
365
|
+
background: var(--bs-dark-bg-subtle, #2d2d2d);
|
|
366
|
+
color: var(--bs-emphasis-color, #f8f8f2);
|
|
362
367
|
padding: 0.5rem;
|
|
363
368
|
border-radius: 4px;
|
|
364
369
|
overflow-x: auto;
|
|
@@ -375,7 +380,7 @@
|
|
|
375
380
|
}
|
|
376
381
|
|
|
377
382
|
.ai-chat-widget-input {
|
|
378
|
-
border-top: 1px solid #
|
|
383
|
+
border-top: 1px solid var(--bs-border-color, #dee2e6);
|
|
379
384
|
padding: 0.5rem 0.75rem;
|
|
380
385
|
display: flex;
|
|
381
386
|
flex-wrap: wrap;
|
|
@@ -387,12 +392,16 @@
|
|
|
387
392
|
flex: 0 0 100%;
|
|
388
393
|
margin: -0.5rem -0.75rem 0.5rem;
|
|
389
394
|
padding: 0.5rem 0.75rem;
|
|
395
|
+
max-height: 4.5rem;
|
|
396
|
+
overflow-y: auto;
|
|
390
397
|
}
|
|
391
398
|
|
|
392
399
|
.ai-chat-widget-input textarea {
|
|
393
400
|
flex: 1;
|
|
394
401
|
min-width: 0;
|
|
395
|
-
|
|
402
|
+
color: var(--bs-body-color, #212529);
|
|
403
|
+
background-color: var(--bs-body-bg, #fff);
|
|
404
|
+
border: 1px solid var(--bs-border-color, #ced4da);
|
|
396
405
|
border-radius: 8px;
|
|
397
406
|
padding: 0.4rem 0.6rem;
|
|
398
407
|
font-size: 0.9rem;
|
|
@@ -405,12 +414,12 @@
|
|
|
405
414
|
|
|
406
415
|
.ai-chat-widget-input textarea:focus {
|
|
407
416
|
border-color: var(--ai-widget-primary);
|
|
408
|
-
box-shadow: 0 0 0 2px rgba(
|
|
417
|
+
box-shadow: 0 0 0 2px rgba(var(--ai-widget-primary-rgb, 108, 117, 125), 0.15);
|
|
409
418
|
}
|
|
410
419
|
|
|
411
420
|
.ai-chat-widget-input button {
|
|
412
421
|
background: var(--ai-widget-primary);
|
|
413
|
-
color: white;
|
|
422
|
+
color: var(--bs-white, #fff);
|
|
414
423
|
border: none;
|
|
415
424
|
border-radius: 8px;
|
|
416
425
|
padding: 0.4rem 0.75rem;
|
|
@@ -434,7 +443,7 @@
|
|
|
434
443
|
|
|
435
444
|
.ai-chat-widget-input .btn.btn-outline-dark {
|
|
436
445
|
background: var(--bs-dark, #212529);
|
|
437
|
-
color: #fff;
|
|
446
|
+
color: var(--bs-white, #fff);
|
|
438
447
|
border-color: var(--bs-dark, #212529);
|
|
439
448
|
}
|
|
440
449
|
|
|
@@ -450,7 +459,7 @@
|
|
|
450
459
|
.ai-chat-widget-status {
|
|
451
460
|
padding: 0.25rem 0.75rem;
|
|
452
461
|
font-size: 0.8rem;
|
|
453
|
-
color: #6c757d;
|
|
462
|
+
color: var(--bs-secondary-color, #6c757d);
|
|
454
463
|
display: none;
|
|
455
464
|
}
|
|
456
465
|
|
|
@@ -460,7 +469,7 @@
|
|
|
460
469
|
|
|
461
470
|
.ai-chat-widget-welcome {
|
|
462
471
|
text-align: center;
|
|
463
|
-
color: #6c757d;
|
|
472
|
+
color: var(--bs-secondary-color, #6c757d);
|
|
464
473
|
padding: 2rem 1rem;
|
|
465
474
|
font-size: 0.9rem;
|
|
466
475
|
}
|
package/dist/chat-widget.css.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["chat-widget.css"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"chat-widget.css","sourcesContent":["/* CrestApps AI Chat Widget */\n:root {\n --ai-widget-primary: var(--bs-secondary, #6c757d);\n --ai-widget-width: 380px;\n --ai-widget-height: 520px;\n}\n\n.ai-chat-widget-toggle {\n position: fixed;\n bottom: 1.25rem;\n right: 1.25rem;\n z-index: 10000;\n width: 52px;\n height: 52px;\n border-radius: 50%;\n background: var(--ai-widget-primary);\n color: white;\n border: none;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 1.5rem;\n box-shadow: 0 4px 12px rgba(0,0,0,0.2);\n transition: transform 0.2s, box-shadow 0.2s;\n}\n\n.ai-chat-widget-toggle:hover {\n transform: scale(1.1);\n box-shadow: 0 6px 16px rgba(0,0,0,0.3);\n}\n\n.ai-chat-widget-container {\n position: fixed;\n bottom: 5rem;\n right: 1.25rem;\n z-index: 10001;\n width: var(--ai-widget-width);\n height: var(--ai-widget-height);\n background: #fff;\n border-radius: 12px;\n box-shadow: 0 8px 32px rgba(0,0,0,0.18);\n display: none;\n flex-direction: column;\n overflow: hidden;\n}\n\n.ai-chat-widget-container.ai-chat-widget-resizable {\n resize: both;\n min-width: 320px;\n min-height: 420px;\n max-width: min(90vw, 960px);\n max-height: min(90vh, 960px);\n}\n\n.ai-chat-widget-container.open {\n display: flex;\n}\n\n.ai-chat-widget-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 0.75rem 1rem;\n background: var(--ai-widget-primary);\n color: white;\n}\n\n.ai-chat-widget-header.ai-chat-widget-drag-handle {\n cursor: move;\n user-select: none;\n touch-action: none;\n}\n\n.ai-chat-widget-header-actions {\n display: flex;\n align-items: center;\n gap: 0.15rem;\n}\n\n.ai-chat-widget-toggle.ai-chat-widget-draggable {\n touch-action: none;\n}\n\n.ai-chat-widget-container.ai-chat-widget-dragging,\n.ai-chat-widget-toggle.ai-chat-widget-dragging {\n transition: none;\n}\n\n.ai-chat-widget-toggle.ai-chat-widget-dragging:hover {\n transform: none;\n}\n\n.ai-chat-widget-header .title {\n font-weight: 600;\n font-size: 0.95rem;\n}\n\n.ai-chat-widget-header button {\n background: none;\n border: none;\n color: white;\n cursor: pointer;\n font-size: 1rem;\n padding: 0 0.25rem;\n opacity: 0.8;\n}\n\n.ai-chat-widget-header button:hover {\n opacity: 1;\n}\n\n.ai-chat-widget-profile-select {\n padding: 0.5rem 0.75rem;\n border-bottom: 1px solid #e9ecef;\n background: #f8f9fa;\n}\n\n.ai-chat-widget-profile-select select {\n width: 100%;\n padding: 0.35rem 0.5rem;\n border: 1px solid #ced4da;\n border-radius: 6px;\n font-size: 0.85rem;\n}\n\n.ai-chat-widget-messages {\n flex: 1;\n overflow-y: auto;\n padding: 0.75rem;\n font-size: 0.9rem;\n}\n\n/* ── Widget message items (ai-chat.js Vue template) ── */\n.ai-chat-widget-messages .ai-chat-messages {\n padding: 0.5rem;\n}\n\n.ai-chat-widget-messages .ai-chat-message-item {\n position: relative;\n padding: 0.5rem 0;\n}\n\n.ai-chat-widget-messages .ai-chat-message-item + .ai-chat-message-item::before {\n content: '';\n display: block;\n width: 100%;\n margin-bottom: 0.5rem;\n border-top: 1px solid rgba(33, 37, 41, 0.08);\n}\n\n.ai-chat-widget-messages .ai-chat-msg-role {\n font-size: 0.7rem;\n font-weight: 600;\n margin-bottom: 2px;\n}\n\n.ai-chat-widget-messages .ai-chat-msg-role-user {\n color: #0d6efd;\n}\n\n.ai-chat-widget-messages .ai-chat-msg-role-assistant {\n color: var(--ai-widget-primary, #6f42c1);\n}\n\n.ai-chat-widget-messages .ai-chat-msg-role-assistant i.ai-streaming-icon {\n animation: ai-widget-pulse 1.5s infinite;\n}\n\n.ai-chat-widget-messages .ai-chat-msg-role-assistant i.ai-bot-icon {\n color: currentColor;\n}\n\n.ai-chat-widget-messages .ai-chat-message-body {\n position: relative;\n padding: 0;\n overflow-wrap: break-word;\n word-break: break-word;\n min-width: 0;\n}\n\n.ai-chat-widget-messages .ai-chat-message-body p:last-child {\n margin-bottom: 0;\n}\n\n/* ── Message action buttons (copy, thumbs up/down) ── */\n.ai-chat-widget-messages .message-buttons-container {\n position: absolute;\n right: 0.1rem;\n bottom: 0;\n display: inline-flex;\n align-items: center;\n gap: 0.35rem;\n width: auto;\n max-width: max-content;\n opacity: 0;\n pointer-events: none;\n transition: opacity 0.15s ease-in-out;\n background: rgba(255, 255, 255, 0.96);\n padding: 0.2rem 0.35rem;\n border-radius: 999px;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);\n margin-bottom: 1rem;\n transform: translateY(50%);\n z-index: 1;\n}\n\n.ai-chat-widget-messages .ai-chat-message-item:hover .message-buttons-container,\n.ai-chat-widget-messages .ai-chat-message-item:focus-within .message-buttons-container {\n opacity: 1;\n pointer-events: auto;\n}\n\n.ai-chat-widget-messages .message-buttons-container:has(.tts-playing) {\n opacity: 1;\n pointer-events: auto;\n}\n\n.ai-chat-widget-messages .message-buttons-container > .button-message-toolbox {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex: 0 0 auto;\n width: 1.75rem;\n height: 1.75rem;\n margin: 0 !important;\n padding: 0 !important;\n border-radius: 50%;\n color: var(--bs-secondary-color, #6c757d) !important;\n text-decoration: none;\n}\n\n.ai-chat-widget-messages .message-buttons-container .ai-chat-message-assistant-feedback {\n display: inline-flex;\n align-items: center;\n gap: 0.35rem;\n}\n\n.ai-chat-widget-messages .message-buttons-container > .button-message-toolbox:hover,\n.ai-chat-widget-messages .message-buttons-container > .button-message-toolbox:focus {\n color: var(--bs-body-color, #212529) !important;\n}\n\n.ai-chat-widget-messages .message-buttons-container > .button-message-toolbox.tts-playing {\n color: var(--ai-widget-primary, #6f42c1) !important;\n opacity: 1;\n pointer-events: auto;\n}\n\n.ai-chat-widget-history-panel {\n position: absolute;\n top: 3.5rem;\n left: 0;\n right: 0;\n bottom: 0;\n background: #fff;\n padding: 1rem;\n z-index: 10;\n display: none;\n overflow-y: auto;\n flex-direction: column;\n}\n\n.ai-chat-widget-history-panel.show {\n display: flex;\n}\n\n.ai-chat-widget-history-panel .history-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 0.75rem;\n flex-shrink: 0;\n}\n\n.ai-chat-widget-history-panel .history-header h5 {\n margin: 0;\n font-size: 1rem;\n}\n\n.ai-chat-widget-history-list {\n list-style: none;\n padding: 0;\n margin: 0;\n overflow-y: auto;\n flex: 1 1 auto;\n}\n\n.ai-chat-widget-history-list li {\n margin-bottom: 0;\n}\n\n.ai-chat-widget-history-list .chat-session-history-item {\n display: block;\n padding: 0.5rem 0.75rem;\n text-decoration: none;\n color: var(--bs-body-color, #212529);\n font-size: 0.85rem;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n transition: background 0.15s;\n cursor: pointer;\n border-bottom: 1px solid var(--bs-border-color, #dee2e6);\n}\n\n.ai-chat-widget-history-list li:last-child .chat-session-history-item {\n border-bottom: none;\n}\n\n.ai-chat-widget-history-list .chat-session-history-item:hover {\n background: var(--bs-tertiary-bg, #f8f9fa);\n}\n\n/* ── Notifications ── */\n.ai-chat-widget-messages .ai-chat-notification {\n margin: 0.75rem 0.5rem 0;\n padding: 0.625rem 0.75rem;\n border: 1px solid rgba(33, 37, 41, 0.12);\n border-radius: 0.5rem;\n background: rgba(248, 249, 250, 0.98);\n}\n\n.ai-chat-widget-messages .ai-chat-notification-content {\n display: flex;\n align-items: flex-start;\n gap: 0.5rem;\n}\n\n.ai-chat-widget-messages .ai-chat-notification-icon {\n margin-top: 0.1rem;\n color: var(--bs-secondary-color, #6c757d);\n}\n\n.ai-chat-widget-messages .ai-chat-notification-text {\n flex: 1 1 auto;\n min-width: 0;\n}\n\n.ai-chat-widget-messages .ai-chat-notification-dismiss {\n margin-left: auto !important;\n color: var(--bs-secondary-color, #6c757d) !important;\n}\n\n.ai-chat-widget-messages .ai-chat-notification-actions {\n display: flex;\n gap: 0.5rem;\n margin-top: 0.5rem;\n}\n\n/* ── Chart containers inside widget ── */\n.ai-chat-widget-messages .chart-container {\n width: 100%;\n max-width: 100% !important;\n min-height: 280px;\n}\n\n/* ── Code blocks & inline code ── */\n.ai-chat-widget-messages .ai-chat-message-body pre {\n background: #2d2d2d;\n color: #f8f8f2;\n padding: 0.5rem;\n border-radius: 4px;\n overflow-x: auto;\n font-size: 0.8rem;\n}\n\n.ai-chat-widget-messages .ai-chat-message-body code {\n font-size: 0.85em;\n}\n\n@keyframes ai-widget-pulse {\n 0%, 100% { opacity: 1; }\n 50% { opacity: 0.4; }\n}\n\n.ai-chat-widget-input {\n border-top: 1px solid #e9ecef;\n padding: 0.5rem 0.75rem;\n display: flex;\n flex-wrap: wrap;\n gap: 0.5rem;\n align-items: flex-end;\n}\n\n.ai-chat-widget-input .ai-chat-doc-bar {\n flex: 0 0 100%;\n margin: -0.5rem -0.75rem 0.5rem;\n padding: 0.5rem 0.75rem;\n}\n\n.ai-chat-widget-input textarea {\n flex: 1;\n min-width: 0;\n border: 1px solid #ced4da;\n border-radius: 8px;\n padding: 0.4rem 0.6rem;\n font-size: 0.9rem;\n resize: none;\n max-height: 80px;\n min-height: 36px;\n line-height: 1.4;\n outline: none;\n}\n\n.ai-chat-widget-input textarea:focus {\n border-color: var(--ai-widget-primary);\n box-shadow: 0 0 0 2px rgba(65,182,112,0.15);\n}\n\n.ai-chat-widget-input button {\n background: var(--ai-widget-primary);\n color: white;\n border: none;\n border-radius: 8px;\n padding: 0.4rem 0.75rem;\n cursor: pointer;\n font-size: 0.9rem;\n white-space: nowrap;\n}\n\n.ai-chat-widget-input .btn {\n background: var(--bs-body-bg, #fff);\n color: var(--bs-body-color, #212529);\n border: 1px solid var(--bs-border-color, #ced4da);\n}\n\n.ai-chat-widget-input .btn.btn-link {\n background: transparent;\n color: var(--bs-secondary-color, #6c757d);\n border: none;\n padding: 0.4rem;\n}\n\n.ai-chat-widget-input .btn.btn-outline-dark {\n background: var(--bs-dark, #212529);\n color: #fff;\n border-color: var(--bs-dark, #212529);\n}\n\n.ai-chat-widget-input .btn.btn-outline-secondary {\n color: var(--bs-secondary-color, #6c757d);\n}\n\n.ai-chat-widget-input button:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.ai-chat-widget-status {\n padding: 0.25rem 0.75rem;\n font-size: 0.8rem;\n color: #6c757d;\n display: none;\n}\n\n.ai-chat-widget-status.visible {\n display: block;\n}\n\n.ai-chat-widget-welcome {\n text-align: center;\n color: #6c757d;\n padding: 2rem 1rem;\n font-size: 0.9rem;\n}\n\n@media (max-width: 576px) {\n .ai-chat-widget-container {\n width: calc(100vw - 1rem);\n height: calc(100vh - 6rem);\n right: 0.5rem;\n bottom: 4.5rem;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["chat-widget.css"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"chat-widget.css","sourcesContent":["/* CrestApps AI Chat Widget */\n:root {\n --ai-widget-primary: var(--bs-secondary, #6c757d);\n --ai-widget-primary-rgb: var(--bs-secondary-rgb, 108, 117, 125);\n --ai-widget-width: 380px;\n --ai-widget-height: 520px;\n}\n\n.ai-chat-widget-toggle {\n position: fixed;\n bottom: 1.25rem;\n right: 1.25rem;\n z-index: 10000;\n width: 52px;\n height: 52px;\n border-radius: 50%;\n background: var(--ai-widget-primary);\n color: var(--bs-white, #fff);\n border: none;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 1.5rem;\n box-shadow: 0 4px 12px rgba(var(--bs-body-color-rgb, 33, 37, 41), 0.2);\n transition: transform 0.2s, box-shadow 0.2s;\n}\n\n.ai-chat-widget-toggle:hover {\n transform: scale(1.1);\n box-shadow: 0 6px 16px rgba(var(--bs-body-color-rgb, 33, 37, 41), 0.3);\n}\n\n.ai-chat-widget-container {\n position: fixed;\n bottom: 5rem;\n right: 1.25rem;\n z-index: 10001;\n width: var(--ai-widget-width);\n height: var(--ai-widget-height);\n background: var(--bs-body-bg, #fff);\n color: var(--bs-body-color, #212529);\n border: 1px solid var(--bs-border-color, #dee2e6);\n border-radius: 12px;\n box-shadow: 0 8px 32px rgba(var(--bs-body-color-rgb, 33, 37, 41), 0.18);\n display: none;\n flex-direction: column;\n overflow: hidden;\n}\n\n.ai-chat-widget-container.ai-chat-widget-resizable {\n resize: both;\n min-width: 320px;\n min-height: 420px;\n max-width: min(90vw, 960px);\n max-height: min(90vh, 960px);\n}\n\n.ai-chat-widget-container.open {\n display: flex;\n}\n\n.ai-chat-widget-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 0.75rem 1rem;\n background: var(--ai-widget-primary);\n color: var(--bs-white, #fff);\n}\n\n.ai-chat-widget-header.ai-chat-widget-drag-handle {\n cursor: move;\n user-select: none;\n touch-action: none;\n}\n\n.ai-chat-widget-header-actions {\n display: flex;\n align-items: center;\n gap: 0.15rem;\n}\n\n.ai-chat-widget-toggle.ai-chat-widget-draggable {\n touch-action: none;\n}\n\n.ai-chat-widget-container.ai-chat-widget-dragging,\n.ai-chat-widget-toggle.ai-chat-widget-dragging {\n transition: none;\n}\n\n.ai-chat-widget-toggle.ai-chat-widget-dragging:hover {\n transform: none;\n}\n\n.ai-chat-widget-header .title {\n font-weight: 600;\n font-size: 0.95rem;\n}\n\n.ai-chat-widget-header button {\n background: none;\n border: none;\n color: var(--bs-white, #fff);\n cursor: pointer;\n font-size: 1rem;\n padding: 0 0.25rem;\n opacity: 0.8;\n}\n\n.ai-chat-widget-header button:hover {\n opacity: 1;\n}\n\n.ai-chat-widget-profile-select {\n padding: 0.5rem 0.75rem;\n border-bottom: 1px solid var(--bs-border-color, #dee2e6);\n background: var(--bs-tertiary-bg, #f8f9fa);\n}\n\n.ai-chat-widget-profile-select select {\n width: 100%;\n padding: 0.35rem 0.5rem;\n color: var(--bs-body-color, #212529);\n background-color: var(--bs-body-bg, #fff);\n border: 1px solid var(--bs-border-color, #ced4da);\n border-radius: 6px;\n font-size: 0.85rem;\n}\n\n.ai-chat-widget-messages {\n flex: 1;\n overflow-y: auto;\n padding: 0.75rem;\n font-size: 0.9rem;\n}\n\n/* ── Widget message items (ai-chat.js Vue template) ── */\n.ai-chat-widget-messages .ai-chat-messages {\n padding: 0.5rem;\n}\n\n.ai-chat-widget-messages .ai-chat-message-item {\n position: relative;\n padding: 0.5rem 0;\n}\n\n.ai-chat-widget-messages .ai-chat-message-item + .ai-chat-message-item::before {\n content: '';\n display: block;\n width: 100%;\n margin-bottom: 0.5rem;\n border-top: 1px solid rgba(var(--bs-body-color-rgb, 33, 37, 41), 0.08);\n}\n\n.ai-chat-widget-messages .ai-chat-msg-role {\n font-size: 0.7rem;\n font-weight: 600;\n margin-bottom: 2px;\n}\n\n.ai-chat-widget-messages .ai-chat-msg-role-user {\n color: var(--bs-primary, #0d6efd);\n}\n\n.ai-chat-widget-messages .ai-chat-msg-role-assistant {\n color: var(--ai-widget-primary, #6f42c1);\n}\n\n.ai-chat-widget-messages .ai-chat-msg-role-assistant i.ai-streaming-icon {\n animation: ai-widget-pulse 1.5s infinite;\n}\n\n.ai-chat-widget-messages .ai-chat-msg-role-assistant i.ai-bot-icon {\n color: currentColor;\n}\n\n.ai-chat-widget-messages .ai-chat-message-body {\n position: relative;\n padding: 0;\n overflow-wrap: break-word;\n word-break: break-word;\n min-width: 0;\n}\n\n.ai-chat-widget-messages .ai-chat-message-body p:last-child {\n margin-bottom: 0;\n}\n\n/* ── Message action buttons (copy, thumbs up/down) ── */\n.ai-chat-widget-messages .message-buttons-container {\n position: absolute;\n right: 0.1rem;\n bottom: 0;\n display: inline-flex;\n align-items: center;\n gap: 0.35rem;\n width: auto;\n max-width: max-content;\n opacity: 0;\n pointer-events: none;\n transition: opacity 0.15s ease-in-out;\n background: rgba(var(--bs-body-bg-rgb, 255, 255, 255), 0.96);\n padding: 0.2rem 0.35rem;\n border-radius: 999px;\n box-shadow: 0 1px 3px rgba(var(--bs-body-color-rgb, 33, 37, 41), 0.08);\n margin-bottom: 1rem;\n transform: translateY(50%);\n z-index: 1;\n}\n\n.ai-chat-widget-messages .ai-chat-message-item:hover .message-buttons-container,\n.ai-chat-widget-messages .ai-chat-message-item:focus-within .message-buttons-container {\n opacity: 1;\n pointer-events: auto;\n}\n\n.ai-chat-widget-messages .message-buttons-container:has(.tts-playing) {\n opacity: 1;\n pointer-events: auto;\n}\n\n.ai-chat-widget-messages .message-buttons-container > .button-message-toolbox {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex: 0 0 auto;\n width: 1.75rem;\n height: 1.75rem;\n margin: 0 !important;\n padding: 0 !important;\n border-radius: 50%;\n color: var(--bs-secondary-color, #6c757d) !important;\n text-decoration: none;\n}\n\n.ai-chat-widget-messages .message-buttons-container .ai-chat-message-assistant-feedback {\n display: inline-flex;\n align-items: center;\n gap: 0.35rem;\n}\n\n.ai-chat-widget-messages .message-buttons-container > .button-message-toolbox:hover,\n.ai-chat-widget-messages .message-buttons-container > .button-message-toolbox:focus {\n color: var(--bs-body-color, #212529) !important;\n}\n\n.ai-chat-widget-messages .message-buttons-container > .button-message-toolbox.tts-playing {\n color: var(--ai-widget-primary, #6f42c1) !important;\n opacity: 1;\n pointer-events: auto;\n}\n\n.ai-chat-widget-history-panel {\n position: absolute;\n top: 3.5rem;\n left: 0;\n right: 0;\n bottom: 0;\n background: var(--bs-body-bg, #fff);\n padding: 1rem;\n z-index: 10;\n display: none;\n overflow-y: auto;\n flex-direction: column;\n}\n\n.ai-chat-widget-history-panel.show {\n display: flex;\n}\n\n.ai-chat-widget-history-panel .history-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 0.75rem;\n flex-shrink: 0;\n}\n\n.ai-chat-widget-history-panel .history-header h5 {\n margin: 0;\n font-size: 1rem;\n}\n\n.ai-chat-widget-history-list {\n list-style: none;\n padding: 0;\n margin: 0;\n overflow-y: auto;\n flex: 1 1 auto;\n}\n\n.ai-chat-widget-history-list li {\n margin-bottom: 0;\n}\n\n.ai-chat-widget-history-list .chat-session-history-item {\n display: block;\n padding: 0.5rem 0.75rem;\n text-decoration: none;\n color: var(--bs-body-color, #212529);\n font-size: 0.85rem;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n transition: background 0.15s;\n cursor: pointer;\n border-bottom: 1px solid var(--bs-border-color, #dee2e6);\n}\n\n.ai-chat-widget-history-list li:last-child .chat-session-history-item {\n border-bottom: none;\n}\n\n.ai-chat-widget-history-list .chat-session-history-item:hover {\n background: var(--bs-tertiary-bg, #f8f9fa);\n}\n\n/* ── Notifications ── */\n.ai-chat-widget-messages .ai-chat-notification {\n margin: 0.75rem 0.5rem 0;\n padding: 0.625rem 0.75rem;\n border: 1px solid rgba(var(--bs-body-color-rgb, 33, 37, 41), 0.12);\n border-radius: 0.5rem;\n background: rgba(var(--bs-tertiary-bg-rgb, 248, 249, 250), 0.98);\n}\n\n.ai-chat-widget-messages .ai-chat-notification-content {\n display: flex;\n align-items: flex-start;\n gap: 0.5rem;\n}\n\n.ai-chat-widget-messages .ai-chat-notification-icon {\n margin-top: 0.1rem;\n color: var(--bs-secondary-color, #6c757d);\n}\n\n.ai-chat-widget-messages .ai-chat-notification-text {\n flex: 1 1 auto;\n min-width: 0;\n}\n\n.ai-chat-widget-messages .ai-chat-notification-dismiss {\n margin-left: auto !important;\n color: var(--bs-secondary-color, #6c757d) !important;\n}\n\n.ai-chat-widget-messages .ai-chat-notification-actions {\n display: flex;\n gap: 0.5rem;\n margin-top: 0.5rem;\n}\n\n/* ── Chart containers inside widget ── */\n.ai-chat-widget-messages .chart-container {\n width: 100%;\n max-width: 100% !important;\n min-height: 280px;\n}\n\n/* ── Code blocks & inline code ── */\n.ai-chat-widget-messages .ai-chat-message-body pre {\n background: var(--bs-dark-bg-subtle, #2d2d2d);\n color: var(--bs-emphasis-color, #f8f8f2);\n padding: 0.5rem;\n border-radius: 4px;\n overflow-x: auto;\n font-size: 0.8rem;\n}\n\n.ai-chat-widget-messages .ai-chat-message-body code {\n font-size: 0.85em;\n}\n\n@keyframes ai-widget-pulse {\n 0%, 100% { opacity: 1; }\n 50% { opacity: 0.4; }\n}\n\n.ai-chat-widget-input {\n border-top: 1px solid var(--bs-border-color, #dee2e6);\n padding: 0.5rem 0.75rem;\n display: flex;\n flex-wrap: wrap;\n gap: 0.5rem;\n align-items: flex-end;\n}\n\n.ai-chat-widget-input .ai-chat-doc-bar {\n flex: 0 0 100%;\n margin: -0.5rem -0.75rem 0.5rem;\n padding: 0.5rem 0.75rem;\n max-height: 4.5rem;\n overflow-y: auto;\n}\n\n.ai-chat-widget-input textarea {\n flex: 1;\n min-width: 0;\n color: var(--bs-body-color, #212529);\n background-color: var(--bs-body-bg, #fff);\n border: 1px solid var(--bs-border-color, #ced4da);\n border-radius: 8px;\n padding: 0.4rem 0.6rem;\n font-size: 0.9rem;\n resize: none;\n max-height: 80px;\n min-height: 36px;\n line-height: 1.4;\n outline: none;\n}\n\n.ai-chat-widget-input textarea:focus {\n border-color: var(--ai-widget-primary);\n box-shadow: 0 0 0 2px rgba(var(--ai-widget-primary-rgb, 108, 117, 125), 0.15);\n}\n\n.ai-chat-widget-input button {\n background: var(--ai-widget-primary);\n color: var(--bs-white, #fff);\n border: none;\n border-radius: 8px;\n padding: 0.4rem 0.75rem;\n cursor: pointer;\n font-size: 0.9rem;\n white-space: nowrap;\n}\n\n.ai-chat-widget-input .btn {\n background: var(--bs-body-bg, #fff);\n color: var(--bs-body-color, #212529);\n border: 1px solid var(--bs-border-color, #ced4da);\n}\n\n.ai-chat-widget-input .btn.btn-link {\n background: transparent;\n color: var(--bs-secondary-color, #6c757d);\n border: none;\n padding: 0.4rem;\n}\n\n.ai-chat-widget-input .btn.btn-outline-dark {\n background: var(--bs-dark, #212529);\n color: var(--bs-white, #fff);\n border-color: var(--bs-dark, #212529);\n}\n\n.ai-chat-widget-input .btn.btn-outline-secondary {\n color: var(--bs-secondary-color, #6c757d);\n}\n\n.ai-chat-widget-input button:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.ai-chat-widget-status {\n padding: 0.25rem 0.75rem;\n font-size: 0.8rem;\n color: var(--bs-secondary-color, #6c757d);\n display: none;\n}\n\n.ai-chat-widget-status.visible {\n display: block;\n}\n\n.ai-chat-widget-welcome {\n text-align: center;\n color: var(--bs-secondary-color, #6c757d);\n padding: 2rem 1rem;\n font-size: 0.9rem;\n}\n\n@media (max-width: 576px) {\n .ai-chat-widget-container {\n width: calc(100vw - 1rem);\n height: calc(100vh - 6rem);\n right: 0.5rem;\n bottom: 4.5rem;\n }\n}\n"]}
|
package/dist/chat-widget.min.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{--ai-widget-primary:var(--bs-secondary, #6c757d);--ai-widget-width:380px;--ai-widget-height:520px}.ai-chat-widget-toggle{position:fixed;bottom:1.25rem;right:1.25rem;z-index:10000;width:52px;height:52px;border-radius:50%;background:var(--ai-widget-primary);color
|
|
1
|
+
:root{--ai-widget-primary:var(--bs-secondary, #6c757d);--ai-widget-primary-rgb:var(--bs-secondary-rgb, 108, 117, 125);--ai-widget-width:380px;--ai-widget-height:520px}.ai-chat-widget-toggle{position:fixed;bottom:1.25rem;right:1.25rem;z-index:10000;width:52px;height:52px;border-radius:50%;background:var(--ai-widget-primary);color:var(--bs-white,#fff);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.5rem;box-shadow:0 4px 12px rgba(var(--bs-body-color-rgb,33,37,41),.2);transition:transform .2s,box-shadow .2s}.ai-chat-widget-toggle:hover{transform:scale(1.1);box-shadow:0 6px 16px rgba(var(--bs-body-color-rgb,33,37,41),.3)}.ai-chat-widget-container{position:fixed;bottom:5rem;right:1.25rem;z-index:10001;width:var(--ai-widget-width);height:var(--ai-widget-height);background:var(--bs-body-bg,#fff);color:var(--bs-body-color,#212529);border:1px solid var(--bs-border-color,#dee2e6);border-radius:12px;box-shadow:0 8px 32px rgba(var(--bs-body-color-rgb,33,37,41),.18);display:none;flex-direction:column;overflow:hidden}.ai-chat-widget-container.ai-chat-widget-resizable{resize:both;min-width:320px;min-height:420px;max-width:min(90vw,960px);max-height:min(90vh,960px)}.ai-chat-widget-container.open{display:flex}.ai-chat-widget-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--ai-widget-primary);color:var(--bs-white,#fff)}.ai-chat-widget-header.ai-chat-widget-drag-handle{cursor:move;user-select:none;touch-action:none}.ai-chat-widget-header-actions{display:flex;align-items:center;gap:.15rem}.ai-chat-widget-toggle.ai-chat-widget-draggable{touch-action:none}.ai-chat-widget-container.ai-chat-widget-dragging,.ai-chat-widget-toggle.ai-chat-widget-dragging{transition:none}.ai-chat-widget-toggle.ai-chat-widget-dragging:hover{transform:none}.ai-chat-widget-header .title{font-weight:600;font-size:.95rem}.ai-chat-widget-header button{background:0 0;border:none;color:var(--bs-white,#fff);cursor:pointer;font-size:1rem;padding:0 .25rem;opacity:.8}.ai-chat-widget-header button:hover{opacity:1}.ai-chat-widget-profile-select{padding:.5rem .75rem;border-bottom:1px solid var(--bs-border-color,#dee2e6);background:var(--bs-tertiary-bg,#f8f9fa)}.ai-chat-widget-profile-select select{width:100%;padding:.35rem .5rem;color:var(--bs-body-color,#212529);background-color:var(--bs-body-bg,#fff);border:1px solid var(--bs-border-color,#ced4da);border-radius:6px;font-size:.85rem}.ai-chat-widget-messages{flex:1;overflow-y:auto;padding:.75rem;font-size:.9rem}.ai-chat-widget-messages .ai-chat-messages{padding:.5rem}.ai-chat-widget-messages .ai-chat-message-item{position:relative;padding:.5rem 0}.ai-chat-widget-messages .ai-chat-message-item+.ai-chat-message-item::before{content:'';display:block;width:100%;margin-bottom:.5rem;border-top:1px solid rgba(var(--bs-body-color-rgb,33,37,41),.08)}.ai-chat-widget-messages .ai-chat-msg-role{font-size:.7rem;font-weight:600;margin-bottom:2px}.ai-chat-widget-messages .ai-chat-msg-role-user{color:var(--bs-primary,#0d6efd)}.ai-chat-widget-messages .ai-chat-msg-role-assistant{color:var(--ai-widget-primary,#6f42c1)}.ai-chat-widget-messages .ai-chat-msg-role-assistant i.ai-streaming-icon{animation:ai-widget-pulse 1.5s infinite}.ai-chat-widget-messages .ai-chat-msg-role-assistant i.ai-bot-icon{color:currentColor}.ai-chat-widget-messages .ai-chat-message-body{position:relative;padding:0;overflow-wrap:break-word;word-break:break-word;min-width:0}.ai-chat-widget-messages .ai-chat-message-body p:last-child{margin-bottom:0}.ai-chat-widget-messages .message-buttons-container{position:absolute;right:.1rem;bottom:0;display:inline-flex;align-items:center;gap:.35rem;width:auto;max-width:max-content;opacity:0;pointer-events:none;transition:opacity .15s ease-in-out;background:rgba(var(--bs-body-bg-rgb,255,255,255),.96);padding:.2rem .35rem;border-radius:999px;box-shadow:0 1px 3px rgba(var(--bs-body-color-rgb,33,37,41),.08);margin-bottom:1rem;transform:translateY(50%);z-index:1}.ai-chat-widget-messages .ai-chat-message-item:focus-within .message-buttons-container,.ai-chat-widget-messages .ai-chat-message-item:hover .message-buttons-container{opacity:1;pointer-events:auto}.ai-chat-widget-messages .message-buttons-container:has(.tts-playing){opacity:1;pointer-events:auto}.ai-chat-widget-messages .message-buttons-container>.button-message-toolbox{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:1.75rem;height:1.75rem;margin:0!important;padding:0!important;border-radius:50%;color:var(--bs-secondary-color,#6c757d)!important;text-decoration:none}.ai-chat-widget-messages .message-buttons-container .ai-chat-message-assistant-feedback{display:inline-flex;align-items:center;gap:.35rem}.ai-chat-widget-messages .message-buttons-container>.button-message-toolbox:focus,.ai-chat-widget-messages .message-buttons-container>.button-message-toolbox:hover{color:var(--bs-body-color,#212529)!important}.ai-chat-widget-messages .message-buttons-container>.button-message-toolbox.tts-playing{color:var(--ai-widget-primary,#6f42c1)!important;opacity:1;pointer-events:auto}.ai-chat-widget-history-panel{position:absolute;top:3.5rem;left:0;right:0;bottom:0;background:var(--bs-body-bg,#fff);padding:1rem;z-index:10;display:none;overflow-y:auto;flex-direction:column}.ai-chat-widget-history-panel.show{display:flex}.ai-chat-widget-history-panel .history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;flex-shrink:0}.ai-chat-widget-history-panel .history-header h5{margin:0;font-size:1rem}.ai-chat-widget-history-list{list-style:none;padding:0;margin:0;overflow-y:auto;flex:1 1 auto}.ai-chat-widget-history-list li{margin-bottom:0}.ai-chat-widget-history-list .chat-session-history-item{display:block;padding:.5rem .75rem;text-decoration:none;color:var(--bs-body-color,#212529);font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background .15s;cursor:pointer;border-bottom:1px solid var(--bs-border-color,#dee2e6)}.ai-chat-widget-history-list li:last-child .chat-session-history-item{border-bottom:none}.ai-chat-widget-history-list .chat-session-history-item:hover{background:var(--bs-tertiary-bg,#f8f9fa)}.ai-chat-widget-messages .ai-chat-notification{margin:.75rem .5rem 0;padding:.625rem .75rem;border:1px solid rgba(var(--bs-body-color-rgb,33,37,41),.12);border-radius:.5rem;background:rgba(var(--bs-tertiary-bg-rgb,248,249,250),.98)}.ai-chat-widget-messages .ai-chat-notification-content{display:flex;align-items:flex-start;gap:.5rem}.ai-chat-widget-messages .ai-chat-notification-icon{margin-top:.1rem;color:var(--bs-secondary-color,#6c757d)}.ai-chat-widget-messages .ai-chat-notification-text{flex:1 1 auto;min-width:0}.ai-chat-widget-messages .ai-chat-notification-dismiss{margin-left:auto!important;color:var(--bs-secondary-color,#6c757d)!important}.ai-chat-widget-messages .ai-chat-notification-actions{display:flex;gap:.5rem;margin-top:.5rem}.ai-chat-widget-messages .chart-container{width:100%;max-width:100%!important;min-height:280px}.ai-chat-widget-messages .ai-chat-message-body pre{background:var(--bs-dark-bg-subtle,#2d2d2d);color:var(--bs-emphasis-color,#f8f8f2);padding:.5rem;border-radius:4px;overflow-x:auto;font-size:.8rem}.ai-chat-widget-messages .ai-chat-message-body code{font-size:.85em}@keyframes ai-widget-pulse{0%,100%{opacity:1}50%{opacity:.4}}.ai-chat-widget-input{border-top:1px solid var(--bs-border-color,#dee2e6);padding:.5rem .75rem;display:flex;flex-wrap:wrap;gap:.5rem;align-items:flex-end}.ai-chat-widget-input .ai-chat-doc-bar{flex:0 0 100%;margin:-.5rem -.75rem .5rem;padding:.5rem .75rem;max-height:4.5rem;overflow-y:auto}.ai-chat-widget-input textarea{flex:1;min-width:0;color:var(--bs-body-color,#212529);background-color:var(--bs-body-bg,#fff);border:1px solid var(--bs-border-color,#ced4da);border-radius:8px;padding:.4rem .6rem;font-size:.9rem;resize:none;max-height:80px;min-height:36px;line-height:1.4;outline:0}.ai-chat-widget-input textarea:focus{border-color:var(--ai-widget-primary);box-shadow:0 0 0 2px rgba(var(--ai-widget-primary-rgb,108,117,125),.15)}.ai-chat-widget-input button{background:var(--ai-widget-primary);color:var(--bs-white,#fff);border:none;border-radius:8px;padding:.4rem .75rem;cursor:pointer;font-size:.9rem;white-space:nowrap}.ai-chat-widget-input .btn{background:var(--bs-body-bg,#fff);color:var(--bs-body-color,#212529);border:1px solid var(--bs-border-color,#ced4da)}.ai-chat-widget-input .btn.btn-link{background:0 0;color:var(--bs-secondary-color,#6c757d);border:none;padding:.4rem}.ai-chat-widget-input .btn.btn-outline-dark{background:var(--bs-dark,#212529);color:var(--bs-white,#fff);border-color:var(--bs-dark,#212529)}.ai-chat-widget-input .btn.btn-outline-secondary{color:var(--bs-secondary-color,#6c757d)}.ai-chat-widget-input button:disabled{opacity:.5;cursor:not-allowed}.ai-chat-widget-status{padding:.25rem .75rem;font-size:.8rem;color:var(--bs-secondary-color,#6c757d);display:none}.ai-chat-widget-status.visible{display:block}.ai-chat-widget-welcome{text-align:center;color:var(--bs-secondary-color,#6c757d);padding:2rem 1rem;font-size:.9rem}@media (max-width:576px){.ai-chat-widget-container{width:calc(100vw - 1rem);height:calc(100vh - 6rem);right:.5rem;bottom:4.5rem}}
|
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
.attached-documents-panel {
|
|
2
2
|
border: 1px solid var(--bs-border-color, #dee2e6);
|
|
3
3
|
border-radius: 0.75rem;
|
|
4
|
-
background: linear-gradient(180deg, rgba(13, 110, 253, 0.04), rgba(13, 110, 253, 0.01));
|
|
4
|
+
background: linear-gradient(180deg, rgba(var(--bs-primary-rgb, 13, 110, 253), 0.04), rgba(var(--bs-primary-rgb, 13, 110, 253), 0.01));
|
|
5
5
|
padding: 1rem;
|
|
6
6
|
}
|
|
7
7
|
|
|
8
8
|
.document-drop-zone {
|
|
9
9
|
position: relative;
|
|
10
|
-
border: 2px dashed rgba(13, 110, 253, 0.35);
|
|
10
|
+
border: 2px dashed rgba(var(--bs-primary-rgb, 13, 110, 253), 0.35);
|
|
11
11
|
border-radius: 1rem;
|
|
12
|
-
background: rgba(248, 249, 250, 0.8);
|
|
12
|
+
background: rgba(var(--bs-tertiary-bg-rgb, 248, 249, 250), 0.8);
|
|
13
13
|
transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
.document-drop-zone:hover {
|
|
17
|
-
border-color: rgba(13, 110, 253, 0.55);
|
|
18
|
-
background: rgba(248, 249, 250, 0.95);
|
|
17
|
+
border-color: rgba(var(--bs-primary-rgb, 13, 110, 253), 0.55);
|
|
18
|
+
background: rgba(var(--bs-tertiary-bg-rgb, 248, 249, 250), 0.95);
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
.document-drop-zone--dragover {
|
|
22
22
|
border-color: var(--bs-primary, #0d6efd);
|
|
23
|
-
background: rgba(13, 110, 253, 0.08);
|
|
24
|
-
box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.12);
|
|
23
|
+
background: rgba(var(--bs-primary-rgb, 13, 110, 253), 0.08);
|
|
24
|
+
box-shadow: 0 0 0 0.2rem rgba(var(--bs-primary-rgb, 13, 110, 253), 0.12);
|
|
25
25
|
transform: translateY(-1px);
|
|
26
26
|
}
|
|
27
27
|
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
align-items: center;
|
|
42
42
|
justify-content: center;
|
|
43
43
|
border-radius: 50%;
|
|
44
|
-
background: rgba(13, 110, 253, 0.12);
|
|
44
|
+
background: rgba(var(--bs-primary-rgb, 13, 110, 253), 0.12);
|
|
45
45
|
color: var(--bs-primary, #0d6efd);
|
|
46
46
|
font-size: 1.5rem;
|
|
47
47
|
}
|
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
padding: 0.75rem 0.875rem;
|
|
72
72
|
border: 1px solid var(--bs-border-color, #dee2e6);
|
|
73
73
|
border-radius: 0.75rem;
|
|
74
|
-
background: #fff;
|
|
74
|
+
background: var(--bs-body-bg, #fff);
|
|
75
75
|
}
|
|
76
76
|
|
|
77
77
|
.attached-document-icon {
|
|
@@ -81,7 +81,7 @@
|
|
|
81
81
|
align-items: center;
|
|
82
82
|
justify-content: center;
|
|
83
83
|
border-radius: 0.65rem;
|
|
84
|
-
background: rgba(13, 110, 253, 0.1);
|
|
84
|
+
background: rgba(var(--bs-primary-rgb, 13, 110, 253), 0.1);
|
|
85
85
|
color: var(--bs-primary, #0d6efd);
|
|
86
86
|
flex-shrink: 0;
|
|
87
87
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["document-drop-zone.css"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"document-drop-zone.css","sourcesContent":[".attached-documents-panel {\n border: 1px solid var(--bs-border-color, #dee2e6);\n border-radius: 0.75rem;\n background: linear-gradient(180deg, rgba(13, 110, 253, 0.04), rgba(13, 110, 253, 0.01));\n padding: 1rem;\n}\n\n.document-drop-zone {\n position: relative;\n border: 2px dashed rgba(13, 110, 253, 0.35);\n border-radius: 1rem;\n background: rgba(248, 249, 250, 0.8);\n transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;\n}\n\n.document-drop-zone:hover {\n border-color: rgba(13, 110, 253, 0.55);\n background: rgba(248, 249, 250, 0.95);\n}\n\n.document-drop-zone--dragover {\n border-color: var(--bs-primary, #0d6efd);\n background: rgba(13, 110, 253, 0.08);\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.12);\n transform: translateY(-1px);\n}\n\n.document-drop-zone__body {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 0.75rem;\n padding: 1.5rem 1rem;\n text-align: center;\n}\n\n.document-drop-zone__icon {\n width: 3.5rem;\n height: 3.5rem;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-radius: 50%;\n background: rgba(13, 110, 253, 0.12);\n color: var(--bs-primary, #0d6efd);\n font-size: 1.5rem;\n}\n\n.document-drop-zone__title {\n font-weight: 600;\n}\n\n.document-drop-zone__actions {\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n gap: 0.75rem;\n}\n\n.attached-documents-list {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n}\n\n.attached-document-card,\n.pending-doc-row {\n display: flex;\n align-items: center;\n gap: 0.75rem;\n padding: 0.75rem 0.875rem;\n border: 1px solid var(--bs-border-color, #dee2e6);\n border-radius: 0.75rem;\n background: #fff;\n}\n\n.attached-document-icon {\n width: 2.25rem;\n height: 2.25rem;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-radius: 0.65rem;\n background: rgba(13, 110, 253, 0.1);\n color: var(--bs-primary, #0d6efd);\n flex-shrink: 0;\n}\n\n.attached-document-meta {\n min-width: 0;\n}\n\n.attached-document-name {\n font-weight: 500;\n word-break: break-word;\n}\n\n.attached-document-size {\n color: var(--bs-secondary-color, #6c757d);\n font-size: 0.875rem;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["document-drop-zone.css"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"document-drop-zone.css","sourcesContent":[".attached-documents-panel {\n border: 1px solid var(--bs-border-color, #dee2e6);\n border-radius: 0.75rem;\n background: linear-gradient(180deg, rgba(var(--bs-primary-rgb, 13, 110, 253), 0.04), rgba(var(--bs-primary-rgb, 13, 110, 253), 0.01));\n padding: 1rem;\n}\n\n.document-drop-zone {\n position: relative;\n border: 2px dashed rgba(var(--bs-primary-rgb, 13, 110, 253), 0.35);\n border-radius: 1rem;\n background: rgba(var(--bs-tertiary-bg-rgb, 248, 249, 250), 0.8);\n transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;\n}\n\n.document-drop-zone:hover {\n border-color: rgba(var(--bs-primary-rgb, 13, 110, 253), 0.55);\n background: rgba(var(--bs-tertiary-bg-rgb, 248, 249, 250), 0.95);\n}\n\n.document-drop-zone--dragover {\n border-color: var(--bs-primary, #0d6efd);\n background: rgba(var(--bs-primary-rgb, 13, 110, 253), 0.08);\n box-shadow: 0 0 0 0.2rem rgba(var(--bs-primary-rgb, 13, 110, 253), 0.12);\n transform: translateY(-1px);\n}\n\n.document-drop-zone__body {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 0.75rem;\n padding: 1.5rem 1rem;\n text-align: center;\n}\n\n.document-drop-zone__icon {\n width: 3.5rem;\n height: 3.5rem;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-radius: 50%;\n background: rgba(var(--bs-primary-rgb, 13, 110, 253), 0.12);\n color: var(--bs-primary, #0d6efd);\n font-size: 1.5rem;\n}\n\n.document-drop-zone__title {\n font-weight: 600;\n}\n\n.document-drop-zone__actions {\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n gap: 0.75rem;\n}\n\n.attached-documents-list {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n}\n\n.attached-document-card,\n.pending-doc-row {\n display: flex;\n align-items: center;\n gap: 0.75rem;\n padding: 0.75rem 0.875rem;\n border: 1px solid var(--bs-border-color, #dee2e6);\n border-radius: 0.75rem;\n background: var(--bs-body-bg, #fff);\n}\n\n.attached-document-icon {\n width: 2.25rem;\n height: 2.25rem;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-radius: 0.65rem;\n background: rgba(var(--bs-primary-rgb, 13, 110, 253), 0.1);\n color: var(--bs-primary, #0d6efd);\n flex-shrink: 0;\n}\n\n.attached-document-meta {\n min-width: 0;\n}\n\n.attached-document-name {\n font-weight: 500;\n word-break: break-word;\n}\n\n.attached-document-size {\n color: var(--bs-secondary-color, #6c757d);\n font-size: 0.875rem;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.attached-documents-panel{border:1px solid var(--bs-border-color,#dee2e6);border-radius:.75rem;background:linear-gradient(180deg,rgba(13,110,253,.04),rgba(13,110,253,.01));padding:1rem}.document-drop-zone{position:relative;border:2px dashed rgba(13,110,253,.35);border-radius:1rem;background:rgba(248,249,250,.8);transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease,transform .15s ease}.document-drop-zone:hover{border-color:rgba(13,110,253,.55);background:rgba(248,249,250,.95)}.document-drop-zone--dragover{border-color:var(--bs-primary,#0d6efd);background:rgba(13,110,253,.08);box-shadow:0 0 0 .2rem rgba(13,110,253,.12);transform:translateY(-1px)}.document-drop-zone__body{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem 1rem;text-align:center}.document-drop-zone__icon{width:3.5rem;height:3.5rem;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(13,110,253,.12);color:var(--bs-primary,#0d6efd);font-size:1.5rem}.document-drop-zone__title{font-weight:600}.document-drop-zone__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem}.attached-documents-list{display:flex;flex-direction:column;gap:.5rem}.attached-document-card,.pending-doc-row{display:flex;align-items:center;gap:.75rem;padding:.75rem .875rem;border:1px solid var(--bs-border-color,#dee2e6);border-radius:.75rem;background
|
|
1
|
+
.attached-documents-panel{border:1px solid var(--bs-border-color,#dee2e6);border-radius:.75rem;background:linear-gradient(180deg,rgba(var(--bs-primary-rgb,13,110,253),.04),rgba(var(--bs-primary-rgb,13,110,253),.01));padding:1rem}.document-drop-zone{position:relative;border:2px dashed rgba(var(--bs-primary-rgb,13,110,253),.35);border-radius:1rem;background:rgba(var(--bs-tertiary-bg-rgb,248,249,250),.8);transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease,transform .15s ease}.document-drop-zone:hover{border-color:rgba(var(--bs-primary-rgb,13,110,253),.55);background:rgba(var(--bs-tertiary-bg-rgb,248,249,250),.95)}.document-drop-zone--dragover{border-color:var(--bs-primary,#0d6efd);background:rgba(var(--bs-primary-rgb,13,110,253),.08);box-shadow:0 0 0 .2rem rgba(var(--bs-primary-rgb,13,110,253),.12);transform:translateY(-1px)}.document-drop-zone__body{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem 1rem;text-align:center}.document-drop-zone__icon{width:3.5rem;height:3.5rem;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(var(--bs-primary-rgb,13,110,253),.12);color:var(--bs-primary,#0d6efd);font-size:1.5rem}.document-drop-zone__title{font-weight:600}.document-drop-zone__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem}.attached-documents-list{display:flex;flex-direction:column;gap:.5rem}.attached-document-card,.pending-doc-row{display:flex;align-items:center;gap:.75rem;padding:.75rem .875rem;border:1px solid var(--bs-border-color,#dee2e6);border-radius:.75rem;background:var(--bs-body-bg,#fff)}.attached-document-icon{width:2.25rem;height:2.25rem;display:inline-flex;align-items:center;justify-content:center;border-radius:.65rem;background:rgba(var(--bs-primary-rgb,13,110,253),.1);color:var(--bs-primary,#0d6efd);flex-shrink:0}.attached-document-meta{min-width:0}.attached-document-name{font-weight:500;word-break:break-word}.attached-document-size{color:var(--bs-secondary-color,#6c757d);font-size:.875rem}
|
|
@@ -16,26 +16,54 @@
|
|
|
16
16
|
}
|
|
17
17
|
function initAutoGenerateTechnicalName(displayId, nameId) {
|
|
18
18
|
if (!displayId || !nameId) return;
|
|
19
|
-
|
|
19
|
+
function attach() {
|
|
20
20
|
var displayEl = document.getElementById(displayId);
|
|
21
21
|
var nameEl = document.getElementById(nameId);
|
|
22
22
|
if (!displayEl || !nameEl) return;
|
|
23
|
+
if (nameEl.dataset.techNameInitialized === 'true') return;
|
|
24
|
+
nameEl.dataset.techNameInitialized = 'true';
|
|
23
25
|
|
|
24
26
|
// Track whether the user has entered a non-empty value in the Name field.
|
|
25
27
|
var userEdited = nameEl.value.trim() !== '';
|
|
28
|
+
// Set while we synthesize input/change events on the name field so we can
|
|
29
|
+
// distinguish programmatic updates from real user typing.
|
|
30
|
+
var suppressUserEditedTracking = false;
|
|
26
31
|
|
|
27
32
|
// Resume auto-generation only when the Name field is empty again.
|
|
28
|
-
nameEl.addEventListener('input', function () {
|
|
33
|
+
nameEl.addEventListener('input', function (e) {
|
|
34
|
+
if (suppressUserEditedTracking || e && e.isTrusted === false) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
29
37
|
userEdited = nameEl.value.trim() !== '';
|
|
30
38
|
});
|
|
31
|
-
|
|
32
|
-
// Generate on keyup as requested
|
|
33
|
-
displayEl.addEventListener('keyup', function () {
|
|
39
|
+
function updateGeneratedValue() {
|
|
34
40
|
if (userEdited) return;
|
|
35
41
|
var generated = toTitleCaseNoSpaces(displayEl.value || '');
|
|
36
|
-
nameEl.value
|
|
37
|
-
|
|
38
|
-
|
|
42
|
+
if (nameEl.value === generated) {
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
suppressUserEditedTracking = true;
|
|
46
|
+
try {
|
|
47
|
+
nameEl.value = generated;
|
|
48
|
+
nameEl.dispatchEvent(new Event('input', {
|
|
49
|
+
bubbles: true
|
|
50
|
+
}));
|
|
51
|
+
nameEl.dispatchEvent(new Event('change', {
|
|
52
|
+
bubbles: true
|
|
53
|
+
}));
|
|
54
|
+
} finally {
|
|
55
|
+
suppressUserEditedTracking = false;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
displayEl.addEventListener('input', updateGeneratedValue);
|
|
59
|
+
displayEl.addEventListener('keyup', updateGeneratedValue);
|
|
60
|
+
displayEl.addEventListener('change', updateGeneratedValue);
|
|
61
|
+
}
|
|
62
|
+
if (document.readyState === 'loading') {
|
|
63
|
+
document.addEventListener('DOMContentLoaded', attach);
|
|
64
|
+
} else {
|
|
65
|
+
attach();
|
|
66
|
+
}
|
|
39
67
|
}
|
|
40
68
|
|
|
41
69
|
// Automatically initialize for any elements using the data attributes.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["technical-name-generator.js"],"names":["toTitleCaseNoSpaces","value","trim","split","filter","w","length","map","charAt","toUpperCase","slice","toLowerCase","join","initAutoGenerateTechnicalName","displayId","nameId","
|
|
1
|
+
{"version":3,"sources":["technical-name-generator.js"],"names":["toTitleCaseNoSpaces","value","trim","split","filter","w","length","map","charAt","toUpperCase","slice","toLowerCase","join","initAutoGenerateTechnicalName","displayId","nameId","attach","displayEl","document","getElementById","nameEl","dataset","techNameInitialized","userEdited","suppressUserEditedTracking","addEventListener","e","isTrusted","updateGeneratedValue","generated","dispatchEvent","Event","bubbles","readyState","autoEls","querySelectorAll","i","el","getAttribute","window"],"mappings":";;;;;AAAA,CAAC,YAAY;EACX;EACA,SAASA,mBAAmBA,CAACC,KAAK,EAAE;IAClC,OAAO,CAACA,KAAK,IAAI,EAAE,EAChBC,IAAI,CAAC;IACN;IAAA,CACCC,KAAK,CAAC,eAAe,CAAC,CACtBC,MAAM,CAAC,UAAUC,CAAC,EAAE;MAAE,OAAOA,CAAC,CAACC,MAAM,GAAG,CAAC;IAAE,CAAC,CAAC,CAC7CC,GAAG,CAAC,UAAUF,CAAC,EAAE;MAAE,OAAOA,CAAC,CAACG,MAAM,CAAC,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC,GAAGJ,CAAC,CAACK,KAAK,CAAC,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC;IAAE,CAAC,CAAC,CAClFC,IAAI,CAAC,EAAE,CAAC;EACb;EAEA,SAASC,6BAA6BA,CAACC,SAAS,EAAEC,MAAM,EAAE;IACxD,IAAI,CAACD,SAAS,IAAI,CAACC,MAAM,EAAE;IAE3B,SAASC,MAAMA,CAAA,EAAG;MAChB,IAAIC,SAAS,GAAGC,QAAQ,CAACC,cAAc,CAACL,SAAS,CAAC;MAClD,IAAIM,MAAM,GAAGF,QAAQ,CAACC,cAAc,CAACJ,MAAM,CAAC;MAC5C,IAAI,CAACE,SAAS,IAAI,CAACG,MAAM,EAAE;MAC3B,IAAIA,MAAM,CAACC,OAAO,CAACC,mBAAmB,KAAK,MAAM,EAAE;MAEnDF,MAAM,CAACC,OAAO,CAACC,mBAAmB,GAAG,MAAM;;MAE3C;MACA,IAAIC,UAAU,GAAGH,MAAM,CAACnB,KAAK,CAACC,IAAI,CAAC,CAAC,KAAK,EAAE;MAC3C;MACA;MACA,IAAIsB,0BAA0B,GAAG,KAAK;;MAEtC;MACAJ,MAAM,CAACK,gBAAgB,CAAC,OAAO,EAAE,UAAUC,CAAC,EAAE;QAC5C,IAAIF,0BAA0B,IAAKE,CAAC,IAAIA,CAAC,CAACC,SAAS,KAAK,KAAM,EAAE;UAC9D;QACF;QAEAJ,UAAU,GAAGH,MAAM,CAACnB,KAAK,CAACC,IAAI,CAAC,CAAC,KAAK,EAAE;MACzC,CAAC,CAAC;MAEF,SAAS0B,oBAAoBA,CAAA,EAAG;QAC9B,IAAIL,UAAU,EAAE;QAEhB,IAAIM,SAAS,GAAG7B,mBAAmB,CAACiB,SAAS,CAAChB,KAAK,IAAI,EAAE,CAAC;QAE1D,IAAImB,MAAM,CAACnB,KAAK,KAAK4B,SAAS,EAAE;UAC9B;QACF;QAEAL,0BAA0B,GAAG,IAAI;QACjC,IAAI;UACFJ,MAAM,CAACnB,KAAK,GAAG4B,SAAS;UACxBT,MAAM,CAACU,aAAa,CAAC,IAAIC,KAAK,CAAC,OAAO,EAAE;YAAEC,OAAO,EAAE;UAAK,CAAC,CAAC,CAAC;UAC3DZ,MAAM,CAACU,aAAa,CAAC,IAAIC,KAAK,CAAC,QAAQ,EAAE;YAAEC,OAAO,EAAE;UAAK,CAAC,CAAC,CAAC;QAC9D,CAAC,SAAS;UACRR,0BAA0B,GAAG,KAAK;QACpC;MACF;MAEAP,SAAS,CAACQ,gBAAgB,CAAC,OAAO,EAAEG,oBAAoB,CAAC;MACzDX,SAAS,CAACQ,gBAAgB,CAAC,OAAO,EAAEG,oBAAoB,CAAC;MACzDX,SAAS,CAACQ,gBAAgB,CAAC,QAAQ,EAAEG,oBAAoB,CAAC;IAC5D;IAEA,IAAIV,QAAQ,CAACe,UAAU,KAAK,SAAS,EAAE;MACrCf,QAAQ,CAACO,gBAAgB,CAAC,kBAAkB,EAAET,MAAM,CAAC;IACvD,CAAC,MAAM;MACLA,MAAM,CAAC,CAAC;IACV;EACF;;EAEA;EACAE,QAAQ,CAACO,gBAAgB,CAAC,kBAAkB,EAAE,YAAY;IACxD,IAAIS,OAAO,GAAGhB,QAAQ,CAACiB,gBAAgB,CAAC,uBAAuB,CAAC;IAChE,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,OAAO,CAAC5B,MAAM,EAAE8B,CAAC,EAAE,EAAE;MACvC,IAAIC,EAAE,GAAGH,OAAO,CAACE,CAAC,CAAC;MACnB,IAAItB,SAAS,GAAGuB,EAAE,CAACC,YAAY,CAAC,iBAAiB,CAAC;MAClD,IAAIvB,MAAM,GAAGsB,EAAE,CAACC,YAAY,CAAC,cAAc,CAAC;MAC5C,IAAIxB,SAAS,IAAIC,MAAM,EAAE;QACvB;QACAF,6BAA6B,CAACC,SAAS,EAAEC,MAAM,CAAC;MAClD;IACF;EACF,CAAC,CAAC;EAEFwB,MAAM,CAAC1B,6BAA6B,GAAGA,6BAA6B;AACtE,CAAC,EAAE,CAAC","file":"technical-name-generator.js","sourcesContent":["(function () {\n // Expose initializer globally so views can call it with specific field IDs.\n function toTitleCaseNoSpaces(value) {\n return (value || '')\n .trim()\n // split on whitespace or common separators or any non-alphanumeric\n .split(/[^A-Za-z0-9]+/)\n .filter(function (w) { return w.length > 0; })\n .map(function (w) { return w.charAt(0).toUpperCase() + w.slice(1).toLowerCase(); })\n .join('');\n }\n\n function initAutoGenerateTechnicalName(displayId, nameId) {\n if (!displayId || !nameId) return;\n\n function attach() {\n var displayEl = document.getElementById(displayId);\n var nameEl = document.getElementById(nameId);\n if (!displayEl || !nameEl) return;\n if (nameEl.dataset.techNameInitialized === 'true') return;\n\n nameEl.dataset.techNameInitialized = 'true';\n\n // Track whether the user has entered a non-empty value in the Name field.\n var userEdited = nameEl.value.trim() !== '';\n // Set while we synthesize input/change events on the name field so we can\n // distinguish programmatic updates from real user typing.\n var suppressUserEditedTracking = false;\n\n // Resume auto-generation only when the Name field is empty again.\n nameEl.addEventListener('input', function (e) {\n if (suppressUserEditedTracking || (e && e.isTrusted === false)) {\n return;\n }\n\n userEdited = nameEl.value.trim() !== '';\n });\n\n function updateGeneratedValue() {\n if (userEdited) return;\n\n var generated = toTitleCaseNoSpaces(displayEl.value || '');\n\n if (nameEl.value === generated) {\n return;\n }\n\n suppressUserEditedTracking = true;\n try {\n nameEl.value = generated;\n nameEl.dispatchEvent(new Event('input', { bubbles: true }));\n nameEl.dispatchEvent(new Event('change', { bubbles: true }));\n } finally {\n suppressUserEditedTracking = false;\n }\n }\n\n displayEl.addEventListener('input', updateGeneratedValue);\n displayEl.addEventListener('keyup', updateGeneratedValue);\n displayEl.addEventListener('change', updateGeneratedValue);\n }\n\n if (document.readyState === 'loading') {\n document.addEventListener('DOMContentLoaded', attach);\n } else {\n attach();\n }\n }\n\n // Automatically initialize for any elements using the data attributes.\n document.addEventListener('DOMContentLoaded', function () {\n var autoEls = document.querySelectorAll('[data-auto-tech-name]');\n for (var i = 0; i < autoEls.length; i++) {\n var el = autoEls[i];\n var displayId = el.getAttribute('data-display-id');\n var nameId = el.getAttribute('data-name-id');\n if (displayId && nameId) {\n // call initializer immediately (it will attach listeners)\n initAutoGenerateTechnicalName(displayId, nameId);\n }\n }\n });\n\n window.initAutoGenerateTechnicalName = initAutoGenerateTechnicalName;\n})();\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(){function
|
|
1
|
+
!function(){function e(e,t){function n(){var n=document.getElementById(e),a=document.getElementById(t);if(n&&a&&"true"!==a.dataset.techNameInitialized){a.dataset.techNameInitialized="true";var i=""!==a.value.trim(),d=!1;a.addEventListener("input",function(e){d||e&&!1===e.isTrusted||(i=""!==a.value.trim())}),n.addEventListener("input",u),n.addEventListener("keyup",u),n.addEventListener("change",u)}function u(){if(!i){var e=(n.value||""||"").trim().split(/[^A-Za-z0-9]+/).filter(function(e){return e.length>0}).map(function(e){return e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()}).join("");if(a.value!==e){d=!0;try{a.value=e,a.dispatchEvent(new Event("input",{bubbles:!0})),a.dispatchEvent(new Event("change",{bubbles:!0}))}finally{d=!1}}}}}e&&t&&("loading"===document.readyState?document.addEventListener("DOMContentLoaded",n):n())}document.addEventListener("DOMContentLoaded",function(){for(var t=document.querySelectorAll("[data-auto-tech-name]"),n=0;n<t.length;n++){var a=t[n],i=a.getAttribute("data-display-id"),d=a.getAttribute("data-name-id");i&&d&&e(i,d)}}),window.initAutoGenerateTechnicalName=e}();
|
|
2
2
|
//# sourceMappingURL=technical-name-generator.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["technical-name-generator.js"],"names":["initAutoGenerateTechnicalName","displayId","nameId","
|
|
1
|
+
{"version":3,"sources":["technical-name-generator.js"],"names":["initAutoGenerateTechnicalName","displayId","nameId","attach","displayEl","document","getElementById","nameEl","dataset","techNameInitialized","userEdited","value","trim","suppressUserEditedTracking","addEventListener","e","isTrusted","updateGeneratedValue","generated","split","filter","w","length","map","charAt","toUpperCase","slice","toLowerCase","join","dispatchEvent","Event","bubbles","readyState","autoEls","querySelectorAll","i","el","getAttribute","window"],"mappings":"CAAA,WAYE,SAASA,EAA8BC,EAAWC,GAGhD,SAASC,IACP,IAAIC,EAAYC,SAASC,eAAeL,GACpCM,EAASF,SAASC,eAAeJ,GACrC,GAAKE,GAAcG,GACwB,SAAvCA,EAAOC,QAAQC,oBAAnB,CAEAF,EAAOC,QAAQC,oBAAsB,OAGrC,IAAIC,EAAqC,KAAxBH,EAAOI,MAAMC,OAG1BC,GAA6B,EAGjCN,EAAOO,iBAAiB,QAAS,SAAUC,GACrCF,GAA+BE,IAAqB,IAAhBA,EAAEC,YAI1CN,EAAqC,KAAxBH,EAAOI,MAAMC,OAC5B,GAqBAR,EAAUU,iBAAiB,QAASG,GACpCb,EAAUU,iBAAiB,QAASG,GACpCb,EAAUU,iBAAiB,SAAUG,EAxCc,CAmBnD,SAASA,IACP,IAAIP,EAAJ,CAEA,IAAIQ,GAAgCd,EAAUO,OAAS,IAtC1C,IACdC,OAEAO,MAAM,iBACNC,OAAO,SAAUC,GAAK,OAAOA,EAAEC,OAAS,CAAG,GAC3CC,IAAI,SAAUF,GAAK,OAAOA,EAAEG,OAAO,GAAGC,cAAgBJ,EAAEK,MAAM,GAAGC,aAAe,GAChFC,KAAK,IAkCJ,GAAIrB,EAAOI,QAAUO,EAArB,CAIAL,GAA6B,EAC7B,IACEN,EAAOI,MAAQO,EACfX,EAAOsB,cAAc,IAAIC,MAAM,QAAS,CAAEC,SAAS,KACnDxB,EAAOsB,cAAc,IAAIC,MAAM,SAAU,CAAEC,SAAS,IACtD,CAAC,QACClB,GAA6B,CAC/B,CATA,CANgB,CAgBlB,CAKF,CA/CKZ,GAAcC,IAiDS,YAAxBG,SAAS2B,WACX3B,SAASS,iBAAiB,mBAAoBX,GAE9CA,IAEJ,CAGAE,SAASS,iBAAiB,mBAAoB,WAE5C,IADA,IAAImB,EAAU5B,SAAS6B,iBAAiB,yBAC/BC,EAAI,EAAGA,EAAIF,EAAQX,OAAQa,IAAK,CACvC,IAAIC,EAAKH,EAAQE,GACblC,EAAYmC,EAAGC,aAAa,mBAC5BnC,EAASkC,EAAGC,aAAa,gBACzBpC,GAAaC,GAEfF,EAA8BC,EAAWC,EAE7C,CACF,GAEAoC,OAAOtC,8BAAgCA,CACxC,CApFD","file":"technical-name-generator.min.js","sourcesContent":["(function () {\n // Expose initializer globally so views can call it with specific field IDs.\n function toTitleCaseNoSpaces(value) {\n return (value || '')\n .trim()\n // split on whitespace or common separators or any non-alphanumeric\n .split(/[^A-Za-z0-9]+/)\n .filter(function (w) { return w.length > 0; })\n .map(function (w) { return w.charAt(0).toUpperCase() + w.slice(1).toLowerCase(); })\n .join('');\n }\n\n function initAutoGenerateTechnicalName(displayId, nameId) {\n if (!displayId || !nameId) return;\n\n function attach() {\n var displayEl = document.getElementById(displayId);\n var nameEl = document.getElementById(nameId);\n if (!displayEl || !nameEl) return;\n if (nameEl.dataset.techNameInitialized === 'true') return;\n\n nameEl.dataset.techNameInitialized = 'true';\n\n // Track whether the user has entered a non-empty value in the Name field.\n var userEdited = nameEl.value.trim() !== '';\n // Set while we synthesize input/change events on the name field so we can\n // distinguish programmatic updates from real user typing.\n var suppressUserEditedTracking = false;\n\n // Resume auto-generation only when the Name field is empty again.\n nameEl.addEventListener('input', function (e) {\n if (suppressUserEditedTracking || (e && e.isTrusted === false)) {\n return;\n }\n\n userEdited = nameEl.value.trim() !== '';\n });\n\n function updateGeneratedValue() {\n if (userEdited) return;\n\n var generated = toTitleCaseNoSpaces(displayEl.value || '');\n\n if (nameEl.value === generated) {\n return;\n }\n\n suppressUserEditedTracking = true;\n try {\n nameEl.value = generated;\n nameEl.dispatchEvent(new Event('input', { bubbles: true }));\n nameEl.dispatchEvent(new Event('change', { bubbles: true }));\n } finally {\n suppressUserEditedTracking = false;\n }\n }\n\n displayEl.addEventListener('input', updateGeneratedValue);\n displayEl.addEventListener('keyup', updateGeneratedValue);\n displayEl.addEventListener('change', updateGeneratedValue);\n }\n\n if (document.readyState === 'loading') {\n document.addEventListener('DOMContentLoaded', attach);\n } else {\n attach();\n }\n }\n\n // Automatically initialize for any elements using the data attributes.\n document.addEventListener('DOMContentLoaded', function () {\n var autoEls = document.querySelectorAll('[data-auto-tech-name]');\n for (var i = 0; i < autoEls.length; i++) {\n var el = autoEls[i];\n var displayId = el.getAttribute('data-display-id');\n var nameId = el.getAttribute('data-name-id');\n if (displayId && nameId) {\n // call initializer immediately (it will attach listeners)\n initAutoGenerateTechnicalName(displayId, nameId);\n }\n }\n });\n\n window.initAutoGenerateTechnicalName = initAutoGenerateTechnicalName;\n})();\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@crestapps/ai-chat-ui",
|
|
3
|
-
"version": "1.0.0-preview.
|
|
3
|
+
"version": "1.0.0-preview.90",
|
|
4
4
|
"description": "Browser-ready JavaScript widgets and CSS for CrestApps AI chat sessions and chat interactions. Supports streaming responses, image generation, Chart.js interactive charts, document uploads, copy-to-clipboard, and feedback buttons.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "CrestApps",
|
|
@@ -13,6 +13,10 @@
|
|
|
13
13
|
"bugs": {
|
|
14
14
|
"url": "https://github.com/CrestApps/CrestApps.Core/issues"
|
|
15
15
|
},
|
|
16
|
+
"publishConfig": {
|
|
17
|
+
"access": "public",
|
|
18
|
+
"registry": "https://registry.npmjs.org/"
|
|
19
|
+
},
|
|
16
20
|
"keywords": [
|
|
17
21
|
"ai",
|
|
18
22
|
"chat",
|
|
@@ -35,6 +39,10 @@
|
|
|
35
39
|
"./ai-chat.min": "./dist/ai-chat.min.js",
|
|
36
40
|
"./ai-chat.js.map": "./dist/ai-chat.js.map",
|
|
37
41
|
"./ai-chat.min.js.map": "./dist/ai-chat.min.js.map",
|
|
42
|
+
"./ai-chat-widget": "./dist/ai-chat-widget.js",
|
|
43
|
+
"./ai-chat-widget.min": "./dist/ai-chat-widget.min.js",
|
|
44
|
+
"./ai-chat-widget.js.map": "./dist/ai-chat-widget.js.map",
|
|
45
|
+
"./ai-chat-widget.min.js.map": "./dist/ai-chat-widget.min.js.map",
|
|
38
46
|
"./chat-interaction": "./dist/chat-interaction.js",
|
|
39
47
|
"./chat-interaction.min": "./dist/chat-interaction.min.js",
|
|
40
48
|
"./chat-interaction.js.map": "./dist/chat-interaction.js.map",
|