@anakin824/prdg-chat-ui 0.1.0

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/index.css ADDED
@@ -0,0 +1,1346 @@
1
+ @charset "UTF-8";
2
+
3
+ /* src/chat/styles/variables.css */
4
+ [data-chat-root] {
5
+ --chat-primary: #0a84ff;
6
+ --chat-bubble-sent: #0a84ff;
7
+ --chat-bubble-received: #2c2c2e;
8
+ --chat-text-on-sent: #ffffff;
9
+ --chat-text-on-received: #f5f5f7;
10
+ --chat-radius: 18px;
11
+ --chat-font-family:
12
+ system-ui,
13
+ -apple-system,
14
+ sans-serif;
15
+ --chat-surface: #1c1c1e;
16
+ --chat-border: #3a3a3c;
17
+ --chat-muted-fill: rgba(0, 0, 0, 0.2);
18
+ --chat-composer-shadow: 0 2px 16px rgba(0, 0, 0, 0.35);
19
+ font-family: var(--chat-font-family);
20
+ color: var(--chat-text-on-received);
21
+ }
22
+
23
+ /* scss-module:G:prdg-chatwebsrcchatcomponentschat.module.css\#scss-module-data */
24
+ .chat__list {
25
+ display: flex;
26
+ flex-direction: column;
27
+ gap: 2px;
28
+ max-height: 360px;
29
+ overflow-y: auto;
30
+ padding: 8px;
31
+ background: var(--chat-surface);
32
+ border-radius: var(--chat-radius);
33
+ border: 1px solid var(--chat-border);
34
+ }
35
+ .chat__row {
36
+ padding: 10px 12px;
37
+ border-radius: 10px;
38
+ cursor: pointer;
39
+ text-align: left;
40
+ background: transparent;
41
+ border: none;
42
+ color: inherit;
43
+ font: inherit;
44
+ }
45
+ .chat__row:hover {
46
+ background: rgba(255, 255, 255, 0.06);
47
+ }
48
+ .chat__rowActive {
49
+ background: rgba(10, 132, 255, 0.2);
50
+ }
51
+ .chat__thread {
52
+ display: flex;
53
+ flex-direction: column;
54
+ gap: 4px;
55
+ padding: 8px;
56
+ max-height: 320px;
57
+ overflow-y: auto;
58
+ overflow-anchor: none;
59
+ background: var(--chat-surface);
60
+ border-radius: var(--chat-radius);
61
+ border: 1px solid var(--chat-border);
62
+ }
63
+ .chat__threadFlex {
64
+ display: flex;
65
+ flex-direction: column;
66
+ gap: 6px;
67
+ padding: 12px 16px;
68
+ overflow-y: auto;
69
+ overflow-anchor: none;
70
+ flex: 1;
71
+ min-height: 0;
72
+ border: none;
73
+ border-radius: 0;
74
+ background: transparent;
75
+ }
76
+ .chat__bubbleRow {
77
+ display: flex;
78
+ width: 100%;
79
+ }
80
+ .chat__bubbleRowOwn {
81
+ justify-content: flex-end;
82
+ }
83
+ .chat__bubbleRowOther {
84
+ justify-content: flex-start;
85
+ }
86
+ .chat__bubble {
87
+ max-width: min(72%, 420px);
88
+ padding: 6px 10px;
89
+ border-radius: var(--chat-radius);
90
+ word-break: break-word;
91
+ font-size: 14px;
92
+ line-height: 1.4;
93
+ }
94
+ .chat__bubbleOwn {
95
+ background: var(--chat-bubble-sent);
96
+ color: var(--chat-text-on-sent);
97
+ border-bottom-right-radius: 3px;
98
+ }
99
+ .chat__bubbleOther {
100
+ background: var(--chat-bubble-received);
101
+ color: var(--chat-text-on-received);
102
+ border-bottom-left-radius: 3px;
103
+ }
104
+ .chat__meta {
105
+ display: flex;
106
+ align-items: center;
107
+ gap: 3px;
108
+ font-size: 10px;
109
+ opacity: 0.62;
110
+ margin-top: 3px;
111
+ }
112
+ .chat__bubbleRowCompact {
113
+ margin-top: -4px;
114
+ }
115
+ .chat__olderSentinel {
116
+ display: flex;
117
+ justify-content: center;
118
+ align-items: center;
119
+ min-height: 28px;
120
+ flex-shrink: 0;
121
+ }
122
+ .chat__olderHint {
123
+ width: 32px;
124
+ height: 2px;
125
+ border-radius: 99px;
126
+ background: rgba(255, 255, 255, 0.1);
127
+ }
128
+ .chat__olderSpinner {
129
+ display: flex;
130
+ gap: 5px;
131
+ align-items: center;
132
+ padding: 4px 0;
133
+ }
134
+ .chat__olderDot {
135
+ display: inline-block;
136
+ width: 6px;
137
+ height: 6px;
138
+ border-radius: 50%;
139
+ background: currentColor;
140
+ opacity: 0.45;
141
+ animation: chat__chatBounce 1.2s infinite;
142
+ }
143
+ .chat__olderDot:nth-child(2) {
144
+ animation-delay: 0.2s;
145
+ }
146
+ .chat__olderDot:nth-child(3) {
147
+ animation-delay: 0.4s;
148
+ }
149
+ .chat__bubbleRowAnimateIn {
150
+ animation: chat__msgFadeSlideIn 0.18s ease-out both;
151
+ }
152
+ @keyframes chat__msgFadeSlideIn {
153
+ from {
154
+ opacity: 0;
155
+ transform: translateY(6px);
156
+ }
157
+ to {
158
+ opacity: 1;
159
+ transform: translateY(0);
160
+ }
161
+ }
162
+ .chat__bubbleFailed {
163
+ opacity: 0.75;
164
+ outline: 1px solid rgba(239, 68, 68, 0.45);
165
+ }
166
+ .chat__statusSending {
167
+ display: inline-flex;
168
+ align-items: center;
169
+ }
170
+ .chat__statusSpinner {
171
+ animation: chat__chatSpin 1.2s linear infinite;
172
+ }
173
+ @keyframes chat__chatSpin {
174
+ from {
175
+ transform: rotate(0deg);
176
+ }
177
+ to {
178
+ transform: rotate(360deg);
179
+ }
180
+ }
181
+ .chat__statusFailed {
182
+ display: inline-flex;
183
+ align-items: center;
184
+ justify-content: center;
185
+ width: 14px;
186
+ height: 14px;
187
+ border-radius: 50%;
188
+ background: #ef4444;
189
+ color: #fff;
190
+ font-size: 9px;
191
+ font-weight: 800;
192
+ line-height: 1;
193
+ opacity: 1;
194
+ cursor: default;
195
+ }
196
+ .chat__inputRow {
197
+ display: flex;
198
+ gap: 8px;
199
+ align-items: flex-end;
200
+ margin-top: 8px;
201
+ }
202
+ .chat__composer {
203
+ display: flex;
204
+ align-items: center;
205
+ gap: 2px;
206
+ padding: 4px 4px 4px 4px;
207
+ background: var(--chat-surface);
208
+ border: 1px solid var(--chat-border);
209
+ border-radius: 10px;
210
+ box-shadow: var(--chat-composer-shadow, 0 1px 2px rgba(15, 23, 42, 0.04), 0 2px 8px rgba(15, 23, 42, 0.05));
211
+ transition: border-color 0.15s ease, box-shadow 0.15s ease;
212
+ }
213
+ .chat__composer:focus-within {
214
+ border-color: color-mix(in srgb, var(--chat-primary) 55%, var(--chat-border));
215
+ box-shadow:
216
+ 0 1px 2px rgba(15, 23, 42, 0.04),
217
+ 0 2px 8px rgba(15, 23, 42, 0.05),
218
+ 0 0 0 2px color-mix(in srgb, var(--chat-primary) 15%, transparent);
219
+ }
220
+ .chat__toolBtn {
221
+ flex-shrink: 0;
222
+ width: 30px;
223
+ height: 30px;
224
+ border: none;
225
+ border-radius: 7px;
226
+ background: transparent;
227
+ color: var(--chat-text-on-received);
228
+ opacity: 0.55;
229
+ cursor: pointer;
230
+ display: flex;
231
+ align-items: center;
232
+ justify-content: center;
233
+ transition:
234
+ opacity 0.12s ease,
235
+ background 0.12s ease,
236
+ transform 0.1s ease;
237
+ }
238
+ .chat__toolBtn:hover {
239
+ opacity: 0.85;
240
+ background: var(--chat-muted-fill);
241
+ }
242
+ .chat__toolBtn:active {
243
+ transform: scale(0.93);
244
+ }
245
+ .chat__toolBtnRecording {
246
+ opacity: 1;
247
+ color: #dc2626;
248
+ background: color-mix(in srgb, #dc2626 12%, transparent);
249
+ }
250
+ .chat__toolBtnRecording:hover {
251
+ background: color-mix(in srgb, #dc2626 20%, transparent);
252
+ }
253
+ .chat__composerDivider {
254
+ width: 1px;
255
+ align-self: center;
256
+ min-height: 18px;
257
+ max-height: 28px;
258
+ background: var(--chat-border);
259
+ flex-shrink: 0;
260
+ margin: 0 2px;
261
+ opacity: 0.6;
262
+ }
263
+ .chat__textareaGrow {
264
+ display: grid;
265
+ flex: 1;
266
+ min-width: 0;
267
+ max-height: min(300px, 42vh);
268
+ overflow-y: auto;
269
+ scrollbar-width: thin;
270
+ }
271
+ .chat__textareaMirror,
272
+ .chat__textarea {
273
+ grid-area: 1/1;
274
+ padding: 8px 6px;
275
+ font: inherit;
276
+ font-size: 14px;
277
+ line-height: 1.5;
278
+ letter-spacing: -0.01em;
279
+ white-space: pre-wrap;
280
+ word-break: break-word;
281
+ box-sizing: border-box;
282
+ min-height: 37px;
283
+ }
284
+ .chat__textareaMirror {
285
+ visibility: hidden;
286
+ pointer-events: none;
287
+ -webkit-user-select: none;
288
+ -moz-user-select: none;
289
+ user-select: none;
290
+ }
291
+ .chat__textarea {
292
+ resize: none;
293
+ border: none;
294
+ border-radius: 6px;
295
+ background: transparent;
296
+ color: inherit;
297
+ overflow: hidden;
298
+ width: 100%;
299
+ }
300
+ .chat__textarea::-moz-placeholder {
301
+ color: color-mix(in srgb, var(--chat-text-on-received) 40%, transparent);
302
+ }
303
+ .chat__textarea::placeholder {
304
+ color: color-mix(in srgb, var(--chat-text-on-received) 40%, transparent);
305
+ }
306
+ .chat__textarea:focus {
307
+ outline: none;
308
+ }
309
+ .chat__sendBtn {
310
+ flex-shrink: 0;
311
+ display: inline-flex;
312
+ align-items: center;
313
+ justify-content: center;
314
+ width: 32px;
315
+ height: 32px;
316
+ padding: 0;
317
+ border-radius: 8px;
318
+ border: none;
319
+ background: var(--chat-primary);
320
+ color: var(--chat-text-on-sent);
321
+ font-size: 0;
322
+ cursor: pointer;
323
+ transition:
324
+ filter 0.13s ease,
325
+ transform 0.1s ease,
326
+ opacity 0.13s ease;
327
+ }
328
+ .chat__sendBtn:hover:not(:disabled) {
329
+ filter: brightness(1.08);
330
+ }
331
+ .chat__sendBtn:active:not(:disabled) {
332
+ transform: scale(0.96);
333
+ }
334
+ .chat__sendBtn:disabled {
335
+ opacity: 0.35;
336
+ cursor: not-allowed;
337
+ filter: none;
338
+ }
339
+ .chat__sendBtnIcon {
340
+ display: flex;
341
+ align-items: center;
342
+ justify-content: center;
343
+ }
344
+ .chat__iconBtn {
345
+ border-radius: 50%;
346
+ width: 40px;
347
+ height: 40px;
348
+ border: 1px solid var(--chat-border);
349
+ background: var(--chat-muted-fill);
350
+ color: inherit;
351
+ cursor: pointer;
352
+ display: flex;
353
+ align-items: center;
354
+ justify-content: center;
355
+ }
356
+ .chat__mediaThumb {
357
+ width: 100%;
358
+ height: 100%;
359
+ -o-object-fit: cover;
360
+ object-fit: cover;
361
+ display: block;
362
+ cursor: pointer;
363
+ }
364
+ .chat__imageWrap {
365
+ position: relative;
366
+ display: block;
367
+ width: 220px;
368
+ height: 160px;
369
+ flex-shrink: 0;
370
+ border-radius: 12px;
371
+ overflow: hidden;
372
+ line-height: 0;
373
+ background: color-mix(in srgb, var(--chat-muted-fill) 90%, var(--chat-border));
374
+ }
375
+ .chat__imageBtn {
376
+ padding: 0;
377
+ margin: 0;
378
+ border: none;
379
+ background: none;
380
+ cursor: pointer;
381
+ display: block;
382
+ width: 100%;
383
+ height: 100%;
384
+ }
385
+ .chat__imageSkeletonFill {
386
+ position: absolute;
387
+ inset: 0;
388
+ border-radius: inherit;
389
+ background:
390
+ linear-gradient(
391
+ 90deg,
392
+ color-mix(in srgb, var(--chat-text-on-received) 6%, transparent) 25%,
393
+ color-mix(in srgb, var(--chat-text-on-received) 12%, transparent) 50%,
394
+ color-mix(in srgb, var(--chat-text-on-received) 6%, transparent) 75%);
395
+ background-size: 200% 100%;
396
+ animation: chat__skeletonShimmer 1.4s ease-in-out infinite;
397
+ }
398
+ .chat__imageSkeletonOverlay {
399
+ position: absolute;
400
+ inset: 0;
401
+ z-index: 1;
402
+ pointer-events: none;
403
+ border-radius: inherit;
404
+ background:
405
+ linear-gradient(
406
+ 90deg,
407
+ color-mix(in srgb, var(--chat-text-on-received) 6%, transparent) 25%,
408
+ color-mix(in srgb, var(--chat-text-on-received) 12%, transparent) 50%,
409
+ color-mix(in srgb, var(--chat-text-on-received) 6%, transparent) 75%);
410
+ background-size: 200% 100%;
411
+ animation: chat__skeletonShimmer 1.4s ease-in-out infinite;
412
+ }
413
+ @keyframes chat__skeletonShimmer {
414
+ 0% {
415
+ background-position: 200% 0;
416
+ }
417
+ 100% {
418
+ background-position: -200% 0;
419
+ }
420
+ }
421
+ .chat__videoWrap {
422
+ position: relative;
423
+ width: 220px;
424
+ height: 160px;
425
+ flex-shrink: 0;
426
+ border-radius: 12px;
427
+ overflow: hidden;
428
+ background: #0a0a0a;
429
+ }
430
+ .chat__videoPoster {
431
+ width: 100%;
432
+ height: 100%;
433
+ -o-object-fit: cover;
434
+ object-fit: cover;
435
+ display: block;
436
+ }
437
+ .chat__videoWrap video {
438
+ width: 100%;
439
+ height: 100%;
440
+ display: block;
441
+ -o-object-fit: contain;
442
+ object-fit: contain;
443
+ background: #000;
444
+ }
445
+ .chat__playOverlay {
446
+ position: absolute;
447
+ inset: 0;
448
+ display: flex;
449
+ align-items: center;
450
+ justify-content: center;
451
+ background: rgba(0, 0, 0, 0.35);
452
+ border: none;
453
+ cursor: pointer;
454
+ color: #fff;
455
+ font-size: 32px;
456
+ }
457
+ .chat__voiceWrap {
458
+ min-width: 200px;
459
+ max-width: 260px;
460
+ }
461
+ .chat__voiceBar {
462
+ height: 40px;
463
+ margin-top: 4px;
464
+ }
465
+ .chat__fileChip {
466
+ display: inline-flex;
467
+ align-items: center;
468
+ gap: 8px;
469
+ padding: 8px 10px;
470
+ border-radius: 10px;
471
+ background: rgba(0, 0, 0, 0.2);
472
+ font-size: 13px;
473
+ }
474
+ .chat__widgetFab {
475
+ position: fixed;
476
+ z-index: 9999;
477
+ width: 56px;
478
+ height: 56px;
479
+ border-radius: 50%;
480
+ border: none;
481
+ background: var(--chat-primary);
482
+ color: var(--chat-text-on-sent);
483
+ font-size: 24px;
484
+ cursor: pointer;
485
+ box-shadow: 0 4px 20px rgba(0, 0, 0, 0.35);
486
+ }
487
+ .chat__fabBr {
488
+ bottom: 24px;
489
+ right: 24px;
490
+ left: auto;
491
+ top: auto;
492
+ }
493
+ .chat__fabBl {
494
+ bottom: 24px;
495
+ left: 24px;
496
+ right: auto;
497
+ top: auto;
498
+ }
499
+ .chat__widgetPanel {
500
+ position: fixed;
501
+ z-index: 9998;
502
+ width: 380px;
503
+ max-width: calc(100vw - 24px);
504
+ height: 520px;
505
+ max-height: calc(100vh - 100px);
506
+ display: flex;
507
+ flex-direction: column;
508
+ background: var(--chat-surface);
509
+ border-radius: 16px;
510
+ border: 1px solid var(--chat-border);
511
+ box-shadow: 0 12px 48px rgba(0, 0, 0, 0.45);
512
+ overflow: hidden;
513
+ }
514
+ .chat__panelBr {
515
+ bottom: 96px;
516
+ right: 24px;
517
+ left: auto;
518
+ top: auto;
519
+ }
520
+ .chat__panelBl {
521
+ bottom: 96px;
522
+ left: 24px;
523
+ right: auto;
524
+ top: auto;
525
+ }
526
+ .chat__widgetHeader {
527
+ padding: 12px 14px;
528
+ border-bottom: 1px solid var(--chat-border);
529
+ font-weight: 600;
530
+ }
531
+ .chat__widgetBody {
532
+ flex: 1;
533
+ display: flex;
534
+ flex-direction: column;
535
+ min-height: 0;
536
+ }
537
+ .chat__chatPanelInner {
538
+ flex: 1;
539
+ display: flex;
540
+ flex-direction: column;
541
+ min-height: 0;
542
+ overflow: hidden;
543
+ }
544
+ .chat__panelToolbar {
545
+ display: flex;
546
+ justify-content: flex-end;
547
+ padding: 4px 0 8px;
548
+ flex-shrink: 0;
549
+ }
550
+ .chat__refreshBtn {
551
+ font-size: 12px;
552
+ padding: 4px 10px;
553
+ border-radius: 8px;
554
+ border: 1px solid var(--chat-border);
555
+ background: transparent;
556
+ color: inherit;
557
+ cursor: pointer;
558
+ }
559
+ .chat__refreshBtn:hover {
560
+ background: rgba(255, 255, 255, 0.06);
561
+ }
562
+ .chat__chatPanelThread {
563
+ flex: 1;
564
+ min-height: 0;
565
+ display: flex;
566
+ flex-direction: column;
567
+ }
568
+ .chat__typing {
569
+ font-size: 12px;
570
+ opacity: 0.7;
571
+ padding: 4px 8px;
572
+ }
573
+ .chat__typingIndicator {
574
+ display: flex;
575
+ align-items: center;
576
+ gap: 5px;
577
+ font-size: 11px;
578
+ opacity: 0.72;
579
+ padding: 2px 8px 4px;
580
+ min-height: 18px;
581
+ }
582
+ .chat__typingDots {
583
+ display: inline-flex;
584
+ gap: 3px;
585
+ align-items: center;
586
+ }
587
+ .chat__typingDots span {
588
+ display: inline-block;
589
+ width: 5px;
590
+ height: 5px;
591
+ border-radius: 50%;
592
+ background: currentColor;
593
+ animation: chat__chatBounce 1.2s infinite;
594
+ }
595
+ .chat__typingDots span:nth-child(2) {
596
+ animation-delay: 0.2s;
597
+ }
598
+ .chat__typingDots span:nth-child(3) {
599
+ animation-delay: 0.4s;
600
+ }
601
+ @keyframes chat__chatBounce {
602
+ 0%, 60%, 100% {
603
+ transform: translateY(0);
604
+ opacity: 0.5;
605
+ }
606
+ 30% {
607
+ transform: translateY(-4px);
608
+ opacity: 1;
609
+ }
610
+ }
611
+ .chat__bubbleDeleted {
612
+ background: rgba(255, 255, 255, 0.06);
613
+ color: inherit;
614
+ opacity: 0.55;
615
+ border-bottom-right-radius: 4px;
616
+ }
617
+ .chat__editedLabel {
618
+ opacity: 0.6;
619
+ }
620
+ .chat__modalBackdrop {
621
+ position: fixed;
622
+ inset: 0;
623
+ z-index: 10000;
624
+ background: rgba(15, 23, 42, 0.45);
625
+ backdrop-filter: blur(2px);
626
+ display: flex;
627
+ align-items: center;
628
+ justify-content: center;
629
+ padding: 20px;
630
+ }
631
+ .chat__modalCard {
632
+ width: 100%;
633
+ max-width: 420px;
634
+ max-height: min(560px, 92vh);
635
+ display: flex;
636
+ flex-direction: column;
637
+ background: var(--chat-surface);
638
+ border: 1px solid var(--chat-border);
639
+ border-radius: 12px;
640
+ box-shadow:
641
+ 0 0 0 1px rgba(15, 23, 42, 0.04),
642
+ 0 12px 40px rgba(15, 23, 42, 0.12),
643
+ 0 24px 64px rgba(15, 23, 42, 0.08);
644
+ overflow: hidden;
645
+ }
646
+ .chat__modalHeader {
647
+ display: flex;
648
+ align-items: center;
649
+ justify-content: space-between;
650
+ padding: 16px 18px 14px;
651
+ border-bottom: 1px solid var(--chat-border);
652
+ }
653
+ .chat__modalTitle {
654
+ margin: 0;
655
+ font-size: 15px;
656
+ font-weight: 600;
657
+ letter-spacing: -0.02em;
658
+ color: inherit;
659
+ }
660
+ .chat__modalClose {
661
+ border: none;
662
+ background: transparent;
663
+ color: color-mix(in srgb, var(--chat-text-on-received) 55%, transparent);
664
+ cursor: pointer;
665
+ padding: 6px;
666
+ border-radius: 8px;
667
+ display: flex;
668
+ align-items: center;
669
+ justify-content: center;
670
+ line-height: 0;
671
+ transition: background 0.15s ease, color 0.15s ease;
672
+ }
673
+ .chat__modalClose:hover {
674
+ background: color-mix(in srgb, var(--chat-text-on-received) 8%, transparent);
675
+ color: var(--chat-text-on-received);
676
+ }
677
+ .chat__modalBody {
678
+ display: flex;
679
+ flex-direction: column;
680
+ flex: 1;
681
+ min-height: 0;
682
+ min-width: 0;
683
+ padding: 0 16px 16px;
684
+ box-sizing: border-box;
685
+ }
686
+ .chat__modalPanel {
687
+ display: flex;
688
+ flex-direction: column;
689
+ flex: 1;
690
+ min-height: 0;
691
+ min-width: 0;
692
+ width: 100%;
693
+ }
694
+ .chat__segmentWrap {
695
+ display: flex;
696
+ gap: 0;
697
+ margin: 14px 0 0;
698
+ padding: 3px;
699
+ border-radius: 9px;
700
+ background: color-mix(in srgb, var(--chat-text-on-received) 7%, transparent);
701
+ border: 1px solid color-mix(in srgb, var(--chat-border) 80%, transparent);
702
+ width: 100%;
703
+ box-sizing: border-box;
704
+ }
705
+ .chat__segment,
706
+ .chat__segmentActive {
707
+ flex: 1;
708
+ padding: 8px 12px;
709
+ border-radius: 7px;
710
+ border: none;
711
+ background: transparent;
712
+ color: color-mix(in srgb, var(--chat-text-on-received) 72%, transparent);
713
+ font: inherit;
714
+ font-size: 13px;
715
+ font-weight: 500;
716
+ cursor: pointer;
717
+ transition:
718
+ background 0.15s ease,
719
+ color 0.15s ease,
720
+ box-shadow 0.15s ease;
721
+ }
722
+ .chat__segment:hover {
723
+ color: var(--chat-text-on-received);
724
+ }
725
+ .chat__segmentActive {
726
+ background: var(--chat-surface);
727
+ color: var(--chat-text-on-received);
728
+ box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
729
+ }
730
+ .chat__modalLabel {
731
+ display: block;
732
+ margin: 14px 0 0;
733
+ font-size: 11px;
734
+ font-weight: 600;
735
+ letter-spacing: 0.04em;
736
+ text-transform: uppercase;
737
+ color: color-mix(in srgb, var(--chat-text-on-received) 52%, transparent);
738
+ }
739
+ .chat__modalSearch {
740
+ display: block;
741
+ width: 100%;
742
+ max-width: 100%;
743
+ box-sizing: border-box;
744
+ margin: 6px 0 0;
745
+ padding: 8px 12px;
746
+ min-height: 38px;
747
+ line-height: 1.4;
748
+ border-radius: 8px;
749
+ border: 1px solid var(--chat-border);
750
+ background: var(--chat-surface);
751
+ color: inherit;
752
+ font: inherit;
753
+ font-size: 14px;
754
+ transition: border-color 0.15s ease, box-shadow 0.15s ease;
755
+ -webkit-appearance: none;
756
+ -moz-appearance: none;
757
+ appearance: none;
758
+ }
759
+ .chat__modalSearch::-webkit-search-cancel-button {
760
+ -webkit-appearance: none;
761
+ appearance: none;
762
+ }
763
+ .chat__modalSearch::-moz-placeholder {
764
+ color: color-mix(in srgb, var(--chat-text-on-received) 42%, transparent);
765
+ }
766
+ .chat__modalSearch::placeholder {
767
+ color: color-mix(in srgb, var(--chat-text-on-received) 42%, transparent);
768
+ }
769
+ .chat__modalSearch:focus {
770
+ outline: none;
771
+ border-color: color-mix(in srgb, var(--chat-primary) 55%, var(--chat-border));
772
+ box-shadow: 0 0 0 3px color-mix(in srgb, var(--chat-primary) 18%, transparent);
773
+ }
774
+ .chat__modalList {
775
+ flex: 1;
776
+ min-height: 180px;
777
+ max-height: 260px;
778
+ overflow-y: auto;
779
+ padding: 8px 10px 10px;
780
+ margin: 8px 0 0;
781
+ width: 100%;
782
+ box-sizing: border-box;
783
+ border-radius: 8px;
784
+ border: 1px solid color-mix(in srgb, var(--chat-border) 85%, transparent);
785
+ background: color-mix(in srgb, var(--chat-muted-fill) 35%, transparent);
786
+ scrollbar-gutter: stable;
787
+ scrollbar-width: thin;
788
+ }
789
+ .chat__modalList::-webkit-scrollbar {
790
+ width: 8px;
791
+ }
792
+ .chat__modalList::-webkit-scrollbar-thumb {
793
+ border-radius: 4px;
794
+ background: color-mix(in srgb, var(--chat-text-on-received) 22%, transparent);
795
+ }
796
+ .chat__modalList::-webkit-scrollbar-track {
797
+ background: transparent;
798
+ }
799
+ .chat__modalRow {
800
+ display: flex;
801
+ flex-direction: column;
802
+ align-items: flex-start;
803
+ width: 100%;
804
+ padding: 0;
805
+ margin-bottom: 2px;
806
+ border: none;
807
+ border-radius: 8px;
808
+ background: transparent;
809
+ color: inherit;
810
+ font: inherit;
811
+ text-align: left;
812
+ cursor: pointer;
813
+ }
814
+ .chat__modalRowHoriz {
815
+ flex-direction: row;
816
+ align-items: center;
817
+ gap: 12px;
818
+ padding: 8px 10px;
819
+ }
820
+ .chat__modalRowHoriz:hover:not(:disabled) {
821
+ background: color-mix(in srgb, var(--chat-primary) 8%, transparent);
822
+ }
823
+ .chat__modalRowHorizSelected {
824
+ background: color-mix(in srgb, var(--chat-primary) 10%, transparent);
825
+ }
826
+ .chat__modalRow:disabled {
827
+ opacity: 0.5;
828
+ cursor: not-allowed;
829
+ }
830
+ .chat__modalRowInner {
831
+ display: flex;
832
+ flex-direction: column;
833
+ align-items: flex-start;
834
+ gap: 2px;
835
+ min-width: 0;
836
+ flex: 1;
837
+ }
838
+ .chat__modalAvatar {
839
+ flex-shrink: 0;
840
+ width: 38px;
841
+ height: 38px;
842
+ border-radius: 50%;
843
+ display: flex;
844
+ align-items: center;
845
+ justify-content: center;
846
+ font-size: 12px;
847
+ font-weight: 600;
848
+ letter-spacing: 0.02em;
849
+ background: color-mix(in srgb, var(--chat-primary) 16%, var(--chat-muted-fill));
850
+ color: color-mix(in srgb, var(--chat-primary) 95%, var(--chat-text-on-received));
851
+ border: 1px solid color-mix(in srgb, var(--chat-primary) 22%, transparent);
852
+ }
853
+ .chat__modalCheckbox {
854
+ flex-shrink: 0;
855
+ width: 20px;
856
+ height: 20px;
857
+ border-radius: 5px;
858
+ border: 2px solid color-mix(in srgb, var(--chat-text-on-received) 28%, var(--chat-border));
859
+ display: flex;
860
+ align-items: center;
861
+ justify-content: center;
862
+ transition: border-color 0.15s ease, background 0.15s ease;
863
+ }
864
+ .chat__modalCheckboxOn {
865
+ background: var(--chat-primary);
866
+ border-color: var(--chat-primary);
867
+ color: var(--chat-text-on-sent);
868
+ }
869
+ .chat__modalName {
870
+ font-weight: 600;
871
+ font-size: 14px;
872
+ letter-spacing: -0.01em;
873
+ }
874
+ .chat__modalMeta {
875
+ font-size: 12px;
876
+ color: color-mix(in srgb, var(--chat-text-on-received) 58%, transparent);
877
+ }
878
+ .chat__modalEmpty {
879
+ padding: 28px 16px;
880
+ text-align: center;
881
+ font-size: 13px;
882
+ color: color-mix(in srgb, var(--chat-text-on-received) 55%, transparent);
883
+ }
884
+ .chat__modalError {
885
+ margin: 10px 0 0;
886
+ padding: 10px 12px;
887
+ border-radius: 8px;
888
+ background: rgba(220, 38, 38, 0.09);
889
+ border: 1px solid rgba(220, 38, 38, 0.2);
890
+ font-size: 13px;
891
+ color: #b91c1c;
892
+ width: 100%;
893
+ box-sizing: border-box;
894
+ }
895
+ .chat__modalPrimary {
896
+ margin: 14px 0 0;
897
+ width: 100%;
898
+ align-self: stretch;
899
+ min-height: 44px;
900
+ padding: 0 18px;
901
+ border-radius: 8px;
902
+ border: none;
903
+ background: var(--chat-primary);
904
+ color: var(--chat-text-on-sent);
905
+ font: inherit;
906
+ font-size: 14px;
907
+ font-weight: 600;
908
+ letter-spacing: 0.01em;
909
+ cursor: pointer;
910
+ box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
911
+ transition: filter 0.15s ease, opacity 0.15s ease;
912
+ }
913
+ .chat__modalPrimary:hover:not(:disabled) {
914
+ filter: brightness(1.05);
915
+ }
916
+ .chat__modalPrimary:disabled {
917
+ opacity: 0.45;
918
+ cursor: not-allowed;
919
+ filter: none;
920
+ }
921
+ .chat__chipRow {
922
+ display: flex;
923
+ flex-wrap: wrap;
924
+ gap: 8px;
925
+ padding: 10px 0 0;
926
+ }
927
+ .chat__chip {
928
+ border: 1px solid var(--chat-border);
929
+ border-radius: 999px;
930
+ padding: 5px 12px 5px 10px;
931
+ font-size: 12px;
932
+ font-weight: 500;
933
+ background: color-mix(in srgb, var(--chat-muted-fill) 80%, transparent);
934
+ color: inherit;
935
+ cursor: pointer;
936
+ transition: background 0.15s ease, border-color 0.15s ease;
937
+ }
938
+ .chat__chip:hover {
939
+ background: color-mix(in srgb, var(--chat-primary) 10%, var(--chat-muted-fill));
940
+ border-color: color-mix(in srgb, var(--chat-primary) 35%, var(--chat-border));
941
+ }
942
+ .chat__chipRemove {
943
+ margin-left: 4px;
944
+ opacity: 0.65;
945
+ font-size: 14px;
946
+ line-height: 1;
947
+ }
948
+ .chat__inputWrap {
949
+ position: relative;
950
+ flex: 1;
951
+ min-width: 0;
952
+ display: flex;
953
+ flex-direction: column;
954
+ }
955
+ .chat__mentionPopover {
956
+ position: absolute;
957
+ bottom: 100%;
958
+ left: 0;
959
+ right: 0;
960
+ margin-bottom: 4px;
961
+ max-height: 180px;
962
+ overflow-y: auto;
963
+ z-index: 5;
964
+ background: var(--chat-surface);
965
+ border: 1px solid var(--chat-border);
966
+ border-radius: 12px;
967
+ box-shadow: 0 4px 24px rgba(0, 0, 0, 0.35);
968
+ }
969
+ .chat__mentionRow {
970
+ display: block;
971
+ width: 100%;
972
+ padding: 8px 12px;
973
+ border: none;
974
+ background: transparent;
975
+ color: inherit;
976
+ font: inherit;
977
+ text-align: left;
978
+ cursor: pointer;
979
+ }
980
+ .chat__mentionRow:hover,
981
+ .chat__mentionRowActive {
982
+ background: rgba(10, 132, 255, 0.2);
983
+ }
984
+ .chat__panelToolbarInner {
985
+ display: flex;
986
+ justify-content: space-between;
987
+ align-items: center;
988
+ gap: 8px;
989
+ width: 100%;
990
+ }
991
+
992
+ /* scss-module:G:prdg-chatwebsrcchatcomponentsstandalone-chat.module.css\#scss-module-data */
993
+ .standalone-chat__root {
994
+ flex: 1;
995
+ min-height: 0;
996
+ display: flex;
997
+ flex-direction: column;
998
+ overflow: hidden;
999
+ background: #f4f4f5;
1000
+ color: #111827;
1001
+ box-sizing: border-box;
1002
+ }
1003
+ .standalone-chat__shell {
1004
+ display: flex;
1005
+ flex: 1;
1006
+ min-height: 0;
1007
+ max-width: 1400px;
1008
+ width: 100%;
1009
+ margin: 0 auto;
1010
+ background: #ffffff;
1011
+ box-shadow: 0 0 0 1px #e5e7eb;
1012
+ }
1013
+ .standalone-chat__sidebar {
1014
+ position: relative;
1015
+ width: min(360px, 34vw);
1016
+ min-width: 280px;
1017
+ border-right: 1px solid #e5e7eb;
1018
+ display: flex;
1019
+ flex-direction: column;
1020
+ min-height: 0;
1021
+ background: #fafafa;
1022
+ }
1023
+ .standalone-chat__sidebarHeader {
1024
+ display: flex;
1025
+ align-items: center;
1026
+ justify-content: space-between;
1027
+ padding: 20px 18px 12px;
1028
+ gap: 12px;
1029
+ }
1030
+ .standalone-chat__sidebarTitle {
1031
+ margin: 0;
1032
+ font-size: 1.35rem;
1033
+ font-weight: 700;
1034
+ letter-spacing: -0.02em;
1035
+ color: #111827;
1036
+ }
1037
+ .standalone-chat__iconSquare {
1038
+ width: 38px;
1039
+ height: 38px;
1040
+ border-radius: 10px;
1041
+ border: 1px solid #e5e7eb;
1042
+ background: #fff;
1043
+ cursor: pointer;
1044
+ display: flex;
1045
+ align-items: center;
1046
+ justify-content: center;
1047
+ font-size: 18px;
1048
+ color: #6366f1;
1049
+ }
1050
+ .standalone-chat__searchWrap {
1051
+ padding: 0 16px 12px;
1052
+ position: relative;
1053
+ }
1054
+ .standalone-chat__searchInput {
1055
+ width: 100%;
1056
+ box-sizing: border-box;
1057
+ padding: 10px 36px 10px 14px;
1058
+ border-radius: 12px;
1059
+ border: 1px solid #e5e7eb;
1060
+ background: #fff;
1061
+ font: inherit;
1062
+ font-size: 14px;
1063
+ color: #111827;
1064
+ }
1065
+ .standalone-chat__searchInput::-moz-placeholder {
1066
+ color: #9ca3af;
1067
+ }
1068
+ .standalone-chat__searchInput::placeholder {
1069
+ color: #9ca3af;
1070
+ }
1071
+ .standalone-chat__searchIcon {
1072
+ position: absolute;
1073
+ right: 28px;
1074
+ top: 50%;
1075
+ transform: translateY(-50%);
1076
+ opacity: 0.45;
1077
+ pointer-events: none;
1078
+ font-size: 14px;
1079
+ }
1080
+ .standalone-chat__tabs {
1081
+ display: flex;
1082
+ gap: 4px;
1083
+ padding: 0 16px 12px;
1084
+ border-bottom: 1px solid #e5e7eb;
1085
+ }
1086
+ .standalone-chat__tab {
1087
+ flex: 1;
1088
+ padding: 10px 8px;
1089
+ border: none;
1090
+ background: transparent;
1091
+ font: inherit;
1092
+ font-size: 13px;
1093
+ font-weight: 600;
1094
+ color: #6b7280;
1095
+ cursor: pointer;
1096
+ border-radius: 8px 8px 0 0;
1097
+ position: relative;
1098
+ }
1099
+ .standalone-chat__tabActive {
1100
+ color: #7c3aed;
1101
+ }
1102
+ .standalone-chat__tabActive::after {
1103
+ content: "";
1104
+ position: absolute;
1105
+ left: 8px;
1106
+ right: 8px;
1107
+ bottom: -12px;
1108
+ height: 2px;
1109
+ background: #7c3aed;
1110
+ border-radius: 2px;
1111
+ }
1112
+ .standalone-chat__listScroll {
1113
+ flex: 1;
1114
+ overflow-y: auto;
1115
+ padding: 8px 12px 80px;
1116
+ min-height: 0;
1117
+ }
1118
+ .standalone-chat__sectionLabel {
1119
+ font-size: 11px;
1120
+ font-weight: 700;
1121
+ letter-spacing: 0.06em;
1122
+ color: #9ca3af;
1123
+ padding: 12px 8px 8px;
1124
+ }
1125
+ .standalone-chat__convRow {
1126
+ display: flex;
1127
+ align-items: center;
1128
+ gap: 10px;
1129
+ width: 100%;
1130
+ padding: 8px 10px;
1131
+ margin-bottom: 2px;
1132
+ border: none;
1133
+ border-radius: 10px;
1134
+ background: transparent;
1135
+ cursor: pointer;
1136
+ text-align: left;
1137
+ font: inherit;
1138
+ color: inherit;
1139
+ box-sizing: border-box;
1140
+ }
1141
+ .standalone-chat__convRow:hover {
1142
+ background: #f3f4f6;
1143
+ }
1144
+ .standalone-chat__convRowActive {
1145
+ background: #ede9fe;
1146
+ box-shadow: inset 0 0 0 1px #ddd6fe;
1147
+ }
1148
+ .standalone-chat__avatar {
1149
+ width: 38px;
1150
+ height: 38px;
1151
+ border-radius: 50%;
1152
+ background:
1153
+ linear-gradient(
1154
+ 145deg,
1155
+ #ede9fe,
1156
+ #ddd6fe);
1157
+ flex-shrink: 0;
1158
+ position: relative;
1159
+ display: flex;
1160
+ align-items: center;
1161
+ justify-content: center;
1162
+ }
1163
+ .standalone-chat__avatarInitials {
1164
+ font-size: 12px;
1165
+ font-weight: 700;
1166
+ color: #6d28d9;
1167
+ letter-spacing: 0.02em;
1168
+ line-height: 1;
1169
+ }
1170
+ .standalone-chat__avatarDot {
1171
+ position: absolute;
1172
+ bottom: 1px;
1173
+ right: 1px;
1174
+ width: 9px;
1175
+ height: 9px;
1176
+ border-radius: 50%;
1177
+ background: #22c55e;
1178
+ border: 2px solid #fff;
1179
+ }
1180
+ .standalone-chat__convBody {
1181
+ flex: 1;
1182
+ min-width: 0;
1183
+ display: flex;
1184
+ flex-direction: column;
1185
+ gap: 2px;
1186
+ }
1187
+ .standalone-chat__convTopLine {
1188
+ display: flex;
1189
+ align-items: baseline;
1190
+ justify-content: space-between;
1191
+ gap: 6px;
1192
+ min-width: 0;
1193
+ }
1194
+ .standalone-chat__convName {
1195
+ font-weight: 600;
1196
+ font-size: 13.5px;
1197
+ color: #111827;
1198
+ white-space: nowrap;
1199
+ overflow: hidden;
1200
+ text-overflow: ellipsis;
1201
+ flex: 1;
1202
+ min-width: 0;
1203
+ }
1204
+ .standalone-chat__convPreview {
1205
+ font-size: 12px;
1206
+ color: #6b7280;
1207
+ white-space: nowrap;
1208
+ overflow: hidden;
1209
+ text-overflow: ellipsis;
1210
+ line-height: 1.3;
1211
+ }
1212
+ .standalone-chat__convTime {
1213
+ font-size: 11px;
1214
+ color: #9ca3af;
1215
+ flex-shrink: 0;
1216
+ white-space: nowrap;
1217
+ }
1218
+ .standalone-chat__fab {
1219
+ position: absolute;
1220
+ bottom: 18px;
1221
+ right: 18px;
1222
+ width: 44px;
1223
+ height: 44px;
1224
+ border-radius: 50%;
1225
+ border: none;
1226
+ background: #0ea5e9;
1227
+ color: #fff;
1228
+ font-size: 22px;
1229
+ line-height: 1;
1230
+ cursor: pointer;
1231
+ box-shadow: 0 4px 14px rgba(14, 165, 233, 0.45);
1232
+ display: flex;
1233
+ align-items: center;
1234
+ justify-content: center;
1235
+ }
1236
+ .standalone-chat__sidebarFooter {
1237
+ position: relative;
1238
+ flex-shrink: 0;
1239
+ min-height: 1px;
1240
+ }
1241
+ .standalone-chat__main {
1242
+ flex: 1;
1243
+ min-width: 0;
1244
+ display: flex;
1245
+ flex-direction: column;
1246
+ min-height: 0;
1247
+ overflow: hidden;
1248
+ background: #fff;
1249
+ }
1250
+ .standalone-chat__mainHeader {
1251
+ display: flex;
1252
+ align-items: center;
1253
+ justify-content: space-between;
1254
+ padding: 10px 16px;
1255
+ border-bottom: 1px solid #e5e7eb;
1256
+ gap: 12px;
1257
+ flex-shrink: 0;
1258
+ }
1259
+ .standalone-chat__mainHeaderLeft {
1260
+ display: flex;
1261
+ align-items: center;
1262
+ gap: 14px;
1263
+ min-width: 0;
1264
+ }
1265
+ .standalone-chat__mainAvatar {
1266
+ width: 40px;
1267
+ height: 40px;
1268
+ border-radius: 50%;
1269
+ background:
1270
+ linear-gradient(
1271
+ 145deg,
1272
+ #e5e7eb,
1273
+ #d1d5db);
1274
+ flex-shrink: 0;
1275
+ position: relative;
1276
+ }
1277
+ .standalone-chat__mainTitle {
1278
+ font-size: 15px;
1279
+ font-weight: 600;
1280
+ color: #111827;
1281
+ white-space: nowrap;
1282
+ overflow: hidden;
1283
+ text-overflow: ellipsis;
1284
+ }
1285
+ .standalone-chat__mainStatus {
1286
+ font-size: 12px;
1287
+ color: #22c55e;
1288
+ font-weight: 500;
1289
+ margin-top: 2px;
1290
+ }
1291
+ .standalone-chat__mainActions {
1292
+ display: flex;
1293
+ gap: 8px;
1294
+ flex-shrink: 0;
1295
+ }
1296
+ .standalone-chat__actionBtn {
1297
+ width: 36px;
1298
+ height: 36px;
1299
+ border-radius: 10px;
1300
+ border: 1px solid #e5e7eb;
1301
+ background: #fff;
1302
+ cursor: pointer;
1303
+ font-size: 18px;
1304
+ display: flex;
1305
+ align-items: center;
1306
+ justify-content: center;
1307
+ color: #4b5563;
1308
+ }
1309
+ .standalone-chat__actionBtn:hover {
1310
+ background: #f9fafb;
1311
+ }
1312
+ .standalone-chat__threadArea {
1313
+ flex: 1;
1314
+ min-height: 0;
1315
+ display: flex;
1316
+ flex-direction: column;
1317
+ overflow: hidden;
1318
+ background:
1319
+ linear-gradient(
1320
+ 180deg,
1321
+ #fafafa 0%,
1322
+ #ffffff 40%);
1323
+ }
1324
+ .standalone-chat__emptyMain {
1325
+ flex: 1;
1326
+ display: flex;
1327
+ align-items: center;
1328
+ justify-content: center;
1329
+ color: #9ca3af;
1330
+ font-size: 15px;
1331
+ padding: 32px;
1332
+ text-align: center;
1333
+ }
1334
+ .standalone-chat__inputArea {
1335
+ padding: 8px 14px 10px;
1336
+ border-top: 1px solid #e5e7eb;
1337
+ background: #fff;
1338
+ flex-shrink: 0;
1339
+ }
1340
+ .standalone-chat__callsEmpty {
1341
+ padding: 48px 24px;
1342
+ text-align: center;
1343
+ color: #6b7280;
1344
+ font-size: 14px;
1345
+ }
1346
+ /*# sourceMappingURL=index.css.map */