@jokkoo/sdk-react 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,846 @@
1
+ /* src/styles/tokens.css */
2
+ .jokkoo-widget {
3
+ --jk-color-primary: #1c1c1c;
4
+ --jk-color-background: #ffffff;
5
+ --jk-color-surface: #f5f6f8;
6
+ --jk-color-border: #e4e4e8;
7
+ --jk-color-text: #1c1c1c;
8
+ --jk-color-text-secondary: #8a8a9a;
9
+ --jk-color-on-primary: #ffffff;
10
+ --jk-color-user-bubble: #1c1c1c;
11
+ --jk-color-agent-bubble: #f5f6f8;
12
+ --jk-color-status-blue-bg: #dbeafe;
13
+ --jk-color-status-blue-text: #3b82f6;
14
+ --jk-color-status-green-bg: #d1fae5;
15
+ --jk-color-status-green-text: #10b981;
16
+ --jk-color-resolved-bg: rgba(76, 175, 80, 0.08);
17
+ --jk-color-resolved-text: #4caf50;
18
+ --jk-color-header: #1c1c1c;
19
+ --jk-color-header-text: #ffffff;
20
+ --jk-color-unread: #ef4444;
21
+ --jk-font-family:
22
+ "Montserrat",
23
+ system-ui,
24
+ -apple-system,
25
+ sans-serif;
26
+ --jk-radius-panel: 20px;
27
+ --jk-radius-bubble: 20px;
28
+ --jk-radius-card: 16px;
29
+ --jk-radius-badge: 8px;
30
+ --jk-radius-input: 16px;
31
+ --jk-z-floating: 2147483000;
32
+ --jk-z-panel: 2147483001;
33
+ box-sizing: border-box;
34
+ font-family: var(--jk-font-family);
35
+ color: var(--jk-color-text);
36
+ -webkit-font-smoothing: antialiased;
37
+ }
38
+ .jokkoo-widget *,
39
+ .jokkoo-widget *::before,
40
+ .jokkoo-widget *::after {
41
+ box-sizing: border-box;
42
+ }
43
+ .jokkoo-widget button {
44
+ font-family: inherit;
45
+ cursor: pointer;
46
+ border: none;
47
+ background: none;
48
+ padding: 0;
49
+ }
50
+ .jokkoo-widget button:disabled {
51
+ cursor: default;
52
+ opacity: 0.5;
53
+ }
54
+ .jokkoo-widget textarea {
55
+ font-family: inherit;
56
+ }
57
+
58
+ /* src/styles/panel.css */
59
+ .jokkoo-widget .jk-floating-btn {
60
+ position: fixed;
61
+ z-index: var(--jk-z-floating);
62
+ display: inline-flex;
63
+ align-items: center;
64
+ gap: 12px;
65
+ padding: 4px 16px 4px 4px;
66
+ border-radius: 9999px;
67
+ background: var(--jk-color-primary);
68
+ color: var(--jk-color-on-primary);
69
+ box-shadow: 0 8px 24px rgba(28, 28, 28, 0.22);
70
+ transition: transform 0.2s ease, box-shadow 0.2s ease;
71
+ }
72
+ .jokkoo-widget .jk-floating-btn:hover {
73
+ transform: translateY(-1px);
74
+ box-shadow: 0 10px 28px rgba(28, 28, 28, 0.28);
75
+ }
76
+ .jokkoo-widget .jk-floating-btn--bottom-right {
77
+ right: 24px;
78
+ bottom: 24px;
79
+ }
80
+ .jokkoo-widget .jk-floating-btn--bottom-left {
81
+ left: 24px;
82
+ bottom: 24px;
83
+ }
84
+ .jokkoo-widget .jk-floating-btn__icon {
85
+ width: 44px;
86
+ height: 44px;
87
+ border-radius: 22px;
88
+ display: flex;
89
+ align-items: center;
90
+ justify-content: center;
91
+ background: rgba(255, 255, 255, 0.15);
92
+ flex-shrink: 0;
93
+ }
94
+ .jokkoo-widget .jk-floating-btn__label {
95
+ font-size: 14px;
96
+ font-weight: 600;
97
+ line-height: 20px;
98
+ white-space: nowrap;
99
+ padding-right: 4px;
100
+ }
101
+ .jokkoo-widget .jk-floating-btn__badge {
102
+ position: absolute;
103
+ top: -2px;
104
+ right: -2px;
105
+ min-width: 20px;
106
+ height: 20px;
107
+ border-radius: 10px;
108
+ background: var(--jk-color-unread);
109
+ color: #fff;
110
+ font-size: 11px;
111
+ font-weight: 700;
112
+ display: flex;
113
+ align-items: center;
114
+ justify-content: center;
115
+ padding: 0 4px;
116
+ border: 2px solid var(--jk-color-background);
117
+ }
118
+ .jokkoo-widget .jk-panel {
119
+ position: fixed;
120
+ z-index: var(--jk-z-panel);
121
+ right: 24px;
122
+ bottom: 24px;
123
+ width: 393px;
124
+ max-width: calc(100vw - 32px);
125
+ height: min(700px, 90vh);
126
+ background: var(--jk-color-background);
127
+ border-radius: var(--jk-radius-panel);
128
+ box-shadow: 0 16px 48px rgba(28, 28, 28, 0.2);
129
+ display: flex;
130
+ flex-direction: column;
131
+ overflow: hidden;
132
+ animation: jk-panel-enter 0.28s ease;
133
+ }
134
+ .jokkoo-widget .jk-panel--expanded {
135
+ right: 0;
136
+ bottom: 0;
137
+ width: 100vw;
138
+ max-width: 100vw;
139
+ height: 100vh;
140
+ border-radius: 0;
141
+ }
142
+ @keyframes jk-panel-enter {
143
+ from {
144
+ opacity: 0;
145
+ transform: translateY(16px) scale(0.98);
146
+ }
147
+ to {
148
+ opacity: 1;
149
+ transform: translateY(0) scale(1);
150
+ }
151
+ }
152
+ .jokkoo-widget .jk-panel-header {
153
+ display: flex;
154
+ align-items: center;
155
+ justify-content: flex-end;
156
+ gap: 8px;
157
+ padding: 12px 16px 0;
158
+ flex-shrink: 0;
159
+ }
160
+ .jokkoo-widget .jk-panel-header--dark {
161
+ background: var(--jk-color-header);
162
+ padding-bottom: 12px;
163
+ }
164
+ .jokkoo-widget .jk-icon-btn {
165
+ width: 32px;
166
+ height: 32px;
167
+ border-radius: 16px;
168
+ display: flex;
169
+ align-items: center;
170
+ justify-content: center;
171
+ background: var(--jk-color-surface);
172
+ color: var(--jk-color-text);
173
+ transition: background 0.15s ease;
174
+ }
175
+ .jokkoo-widget .jk-icon-btn:hover {
176
+ background: var(--jk-color-border);
177
+ }
178
+ .jokkoo-widget .jk-icon-btn--dark {
179
+ background: var(--jk-color-header-button, #404040);
180
+ color: var(--jk-color-header-text);
181
+ }
182
+ .jokkoo-widget .jk-icon-btn--dark:hover {
183
+ background: #505050;
184
+ }
185
+ .jokkoo-widget .jk-panel-body {
186
+ flex: 1;
187
+ min-height: 0;
188
+ display: flex;
189
+ flex-direction: column;
190
+ }
191
+
192
+ /* src/styles/list.css */
193
+ .jokkoo-widget .jk-request-list {
194
+ display: flex;
195
+ flex-direction: column;
196
+ height: 100%;
197
+ background: var(--jk-color-background);
198
+ }
199
+ .jokkoo-widget .jk-request-list__header {
200
+ padding: 8px 24px 0;
201
+ flex-shrink: 0;
202
+ }
203
+ .jokkoo-widget .jk-request-list__title {
204
+ margin: 0;
205
+ font-size: 24px;
206
+ font-weight: 600;
207
+ letter-spacing: -1px;
208
+ line-height: 1.2;
209
+ color: var(--jk-color-text);
210
+ }
211
+ .jokkoo-widget .jk-request-list__subtitle {
212
+ margin: 4px 0 0;
213
+ font-size: 12px;
214
+ color: var(--jk-color-text-secondary);
215
+ line-height: 16px;
216
+ }
217
+ .jokkoo-widget .jk-request-list__section {
218
+ margin: 24px 0 8px;
219
+ font-size: 12px;
220
+ color: var(--jk-color-text-secondary);
221
+ line-height: 16px;
222
+ }
223
+ .jokkoo-widget .jk-request-list__items {
224
+ flex: 1;
225
+ overflow-y: auto;
226
+ padding: 0 24px 16px;
227
+ display: flex;
228
+ flex-direction: column;
229
+ gap: 12px;
230
+ }
231
+ .jokkoo-widget .jk-request-list__footer {
232
+ padding: 8px 24px 24px;
233
+ display: flex;
234
+ justify-content: flex-end;
235
+ flex-shrink: 0;
236
+ }
237
+ .jokkoo-widget .jk-request-card {
238
+ display: flex;
239
+ align-items: center;
240
+ gap: 12px;
241
+ padding: 9px 16px;
242
+ border: 1px solid var(--jk-color-border);
243
+ border-radius: var(--jk-radius-card);
244
+ background: var(--jk-color-background);
245
+ box-shadow: 0 2px 5px rgba(0, 0, 0, 0.04);
246
+ text-align: left;
247
+ width: 100%;
248
+ transition: border-color 0.15s ease, box-shadow 0.15s ease;
249
+ }
250
+ .jokkoo-widget .jk-request-card:hover {
251
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
252
+ }
253
+ .jokkoo-widget .jk-request-card--unread {
254
+ border-color: var(--jk-color-unread);
255
+ box-shadow: 0 2px 5px rgba(0, 0, 0, 0.06);
256
+ }
257
+ .jokkoo-widget .jk-request-card__content {
258
+ flex: 1;
259
+ min-width: 0;
260
+ }
261
+ .jokkoo-widget .jk-request-card__row {
262
+ display: flex;
263
+ align-items: center;
264
+ justify-content: space-between;
265
+ gap: 8px;
266
+ }
267
+ .jokkoo-widget .jk-request-card__title {
268
+ margin: 0;
269
+ font-size: 14px;
270
+ font-weight: 600;
271
+ line-height: 20px;
272
+ color: var(--jk-color-text);
273
+ overflow: hidden;
274
+ text-overflow: ellipsis;
275
+ white-space: nowrap;
276
+ }
277
+ .jokkoo-widget .jk-request-card__preview {
278
+ margin: 6px 0 0;
279
+ font-size: 12px;
280
+ line-height: 16px;
281
+ color: var(--jk-color-text-secondary);
282
+ overflow: hidden;
283
+ text-overflow: ellipsis;
284
+ white-space: nowrap;
285
+ }
286
+ .jokkoo-widget .jk-request-card__preview--unread {
287
+ color: var(--jk-color-text);
288
+ font-weight: 600;
289
+ }
290
+ .jokkoo-widget .jk-request-card__time {
291
+ display: flex;
292
+ align-items: center;
293
+ gap: 4px;
294
+ margin-top: 8px;
295
+ font-size: 12px;
296
+ font-weight: 500;
297
+ color: var(--jk-color-text-secondary);
298
+ line-height: 16px;
299
+ }
300
+ .jokkoo-widget .jk-empty {
301
+ display: flex;
302
+ flex-direction: column;
303
+ align-items: center;
304
+ justify-content: center;
305
+ padding-top: 80px;
306
+ gap: 8px;
307
+ color: var(--jk-color-text-secondary);
308
+ font-size: 12px;
309
+ text-align: center;
310
+ }
311
+ .jokkoo-widget .jk-empty__retry {
312
+ color: var(--jk-color-primary);
313
+ font-size: 14px;
314
+ font-weight: 600;
315
+ }
316
+ .jokkoo-widget .jk-spinner {
317
+ width: 24px;
318
+ height: 24px;
319
+ border: 2px solid var(--jk-color-border);
320
+ border-top-color: var(--jk-color-primary);
321
+ border-radius: 50%;
322
+ animation: jk-spin 0.7s linear infinite;
323
+ }
324
+ @keyframes jk-spin {
325
+ to {
326
+ transform: rotate(360deg);
327
+ }
328
+ }
329
+
330
+ /* src/styles/avatar.css */
331
+ .jokkoo-widget .jk-avatar {
332
+ position: relative;
333
+ flex-shrink: 0;
334
+ }
335
+ .jokkoo-widget .jk-avatar__circle {
336
+ display: flex;
337
+ align-items: center;
338
+ justify-content: center;
339
+ border-radius: 50%;
340
+ background: var(--jk-color-primary);
341
+ color: var(--jk-color-on-primary);
342
+ font-weight: 800;
343
+ overflow: hidden;
344
+ }
345
+ .jokkoo-widget .jk-avatar__img {
346
+ width: 100%;
347
+ height: 100%;
348
+ object-fit: cover;
349
+ }
350
+ .jokkoo-widget .jk-avatar__unread {
351
+ position: absolute;
352
+ top: 0;
353
+ right: 0;
354
+ border-radius: 50%;
355
+ background: var(--jk-color-unread);
356
+ border: 2px solid var(--jk-color-background);
357
+ }
358
+ .jokkoo-widget .jk-status-badge {
359
+ display: inline-flex;
360
+ align-items: center;
361
+ padding: 2px 8px;
362
+ border-radius: var(--jk-radius-badge);
363
+ font-size: 11px;
364
+ font-weight: 600;
365
+ line-height: 16px;
366
+ white-space: nowrap;
367
+ flex-shrink: 0;
368
+ }
369
+ .jokkoo-widget .jk-status-badge--new,
370
+ .jokkoo-widget .jk-status-badge--in-progress {
371
+ background: var(--jk-color-status-blue-bg);
372
+ color: var(--jk-color-status-blue-text);
373
+ }
374
+ .jokkoo-widget .jk-status-badge--resolved,
375
+ .jokkoo-widget .jk-status-badge--ended {
376
+ background: var(--jk-color-status-green-bg);
377
+ color: var(--jk-color-status-green-text);
378
+ }
379
+
380
+ /* src/styles/conversation.css */
381
+ .jokkoo-widget .jk-conversation {
382
+ display: flex;
383
+ flex-direction: column;
384
+ height: 100%;
385
+ background: var(--jk-color-background);
386
+ }
387
+ .jokkoo-widget .jk-conversation-header {
388
+ display: flex;
389
+ align-items: center;
390
+ gap: 12px;
391
+ padding: 12px 16px 16px;
392
+ background: var(--jk-color-header);
393
+ color: var(--jk-color-header-text);
394
+ flex-shrink: 0;
395
+ }
396
+ .jokkoo-widget .jk-conversation-header__title {
397
+ flex: 1;
398
+ margin: 0;
399
+ font-size: 18px;
400
+ font-weight: 600;
401
+ line-height: 24px;
402
+ overflow: hidden;
403
+ text-overflow: ellipsis;
404
+ white-space: nowrap;
405
+ }
406
+ .jokkoo-widget .jk-conversation-header .jk-status-badge {
407
+ margin-left: auto;
408
+ }
409
+ .jokkoo-widget .jk-messages {
410
+ flex: 1;
411
+ overflow-y: auto;
412
+ padding: 16px 20px;
413
+ display: flex;
414
+ flex-direction: column;
415
+ gap: 12px;
416
+ min-height: 0;
417
+ }
418
+ .jokkoo-widget .jk-messages--new {
419
+ justify-content: flex-end;
420
+ }
421
+ .jokkoo-widget .jk-bubble-row {
422
+ display: flex;
423
+ flex-direction: column;
424
+ max-width: 78%;
425
+ }
426
+ .jokkoo-widget .jk-bubble-row--user {
427
+ align-self: flex-end;
428
+ align-items: flex-end;
429
+ }
430
+ .jokkoo-widget .jk-bubble-row--agent {
431
+ align-self: flex-start;
432
+ flex-direction: row;
433
+ align-items: flex-start;
434
+ gap: 8px;
435
+ max-width: 100%;
436
+ }
437
+ .jokkoo-widget .jk-bubble-row__agent-body {
438
+ display: flex;
439
+ flex-direction: column;
440
+ max-width: 78%;
441
+ }
442
+ .jokkoo-widget .jk-bubble-row__agent-name {
443
+ font-size: 10.4px;
444
+ font-weight: 600;
445
+ color: var(--jk-color-text-secondary);
446
+ margin-bottom: 4px;
447
+ line-height: 16px;
448
+ }
449
+ .jokkoo-widget .jk-bubble {
450
+ padding: 12px 16px;
451
+ border-radius: var(--jk-radius-bubble);
452
+ font-size: 12px;
453
+ line-height: 16px;
454
+ word-break: break-word;
455
+ }
456
+ .jokkoo-widget .jk-bubble--user {
457
+ background: var(--jk-color-user-bubble);
458
+ color: var(--jk-color-on-primary);
459
+ border-bottom-right-radius: 4px;
460
+ }
461
+ .jokkoo-widget .jk-bubble--agent {
462
+ background: var(--jk-color-agent-bubble);
463
+ color: var(--jk-color-text);
464
+ border-bottom-left-radius: 4px;
465
+ }
466
+ .jokkoo-widget .jk-bubble--welcome {
467
+ background: transparent;
468
+ padding: 0;
469
+ font-size: 14px;
470
+ line-height: 20px;
471
+ color: var(--jk-color-text);
472
+ }
473
+ .jokkoo-widget .jk-bubble__time {
474
+ margin-top: 3px;
475
+ font-size: 10px;
476
+ color: var(--jk-color-text-secondary);
477
+ line-height: 15px;
478
+ }
479
+ .jokkoo-widget .jk-activity {
480
+ align-self: stretch;
481
+ text-align: center;
482
+ padding: 8px 16px;
483
+ color: var(--jk-color-text-secondary);
484
+ font-size: 12px;
485
+ line-height: 18px;
486
+ }
487
+ .jokkoo-widget .jk-activity__time {
488
+ margin-top: 3px;
489
+ font-size: 10px;
490
+ opacity: 0.8;
491
+ }
492
+ .jokkoo-widget .jk-input-bar {
493
+ border-top: 1px solid var(--jk-color-border);
494
+ padding: 16px;
495
+ background: var(--jk-color-background);
496
+ flex-shrink: 0;
497
+ }
498
+ .jokkoo-widget .jk-input-shell {
499
+ display: flex;
500
+ align-items: flex-end;
501
+ gap: 4px;
502
+ border: 1px solid var(--jk-color-border);
503
+ border-radius: var(--jk-radius-input);
504
+ padding: 9px;
505
+ min-height: 54px;
506
+ }
507
+ .jokkoo-widget .jk-input-shell__field {
508
+ flex: 1;
509
+ display: flex;
510
+ flex-direction: column;
511
+ }
512
+ .jokkoo-widget .jk-input-shell textarea {
513
+ width: 100%;
514
+ border: none;
515
+ outline: none;
516
+ resize: none;
517
+ background: transparent;
518
+ color: var(--jk-color-text);
519
+ font-size: 13.6px;
520
+ line-height: 18px;
521
+ min-height: 36px;
522
+ max-height: 120px;
523
+ padding: 8px;
524
+ }
525
+ .jokkoo-widget .jk-input-shell__counter {
526
+ font-size: 12px;
527
+ color: var(--jk-color-text-secondary);
528
+ text-align: right;
529
+ padding: 0 8px;
530
+ }
531
+ .jokkoo-widget .jk-input-shell__counter--error {
532
+ color: #ef4444;
533
+ }
534
+ .jokkoo-widget .jk-input-shell__icon {
535
+ width: 36px;
536
+ height: 36px;
537
+ display: flex;
538
+ align-items: center;
539
+ justify-content: center;
540
+ color: var(--jk-color-text-secondary);
541
+ flex-shrink: 0;
542
+ }
543
+ .jokkoo-widget .jk-resolved-banner {
544
+ margin: 8px 16px 16px;
545
+ padding: 16px;
546
+ border: 1px solid var(--jk-color-border);
547
+ border-radius: var(--jk-radius-card);
548
+ background: var(--jk-color-resolved-bg);
549
+ display: flex;
550
+ flex-direction: column;
551
+ gap: 16px;
552
+ }
553
+ .jokkoo-widget .jk-resolved-banner__row {
554
+ display: flex;
555
+ align-items: center;
556
+ gap: 10px;
557
+ color: var(--jk-color-resolved-text);
558
+ font-size: 12px;
559
+ line-height: 18px;
560
+ }
561
+ .jokkoo-widget .jk-resolved-banner__icon {
562
+ width: 28px;
563
+ height: 28px;
564
+ border-radius: 14px;
565
+ background: var(--jk-color-status-green-bg);
566
+ display: flex;
567
+ align-items: center;
568
+ justify-content: center;
569
+ flex-shrink: 0;
570
+ }
571
+ .jokkoo-widget .jk-resolved-banner__cta {
572
+ display: inline-flex;
573
+ align-items: center;
574
+ justify-content: center;
575
+ gap: 8px;
576
+ align-self: center;
577
+ padding: 10px 16px;
578
+ border: 1px solid var(--jk-color-border);
579
+ border-radius: var(--jk-radius-badge);
580
+ font-size: 12px;
581
+ font-weight: 600;
582
+ color: var(--jk-color-text);
583
+ }
584
+ .jokkoo-widget .jk-new-msg-indicator {
585
+ position: absolute;
586
+ right: 16px;
587
+ width: 44px;
588
+ height: 44px;
589
+ border-radius: 22px;
590
+ background: var(--jk-color-primary);
591
+ color: var(--jk-color-on-primary);
592
+ display: flex;
593
+ align-items: center;
594
+ justify-content: center;
595
+ box-shadow: 0 2px 6px rgba(0, 0, 0, 0.18);
596
+ z-index: 2;
597
+ }
598
+ .jokkoo-widget .jk-new-msg-indicator__badge {
599
+ position: absolute;
600
+ top: -2px;
601
+ right: -2px;
602
+ min-width: 20px;
603
+ height: 20px;
604
+ border-radius: 10px;
605
+ background: var(--jk-color-unread);
606
+ border: 2px solid var(--jk-color-background);
607
+ color: #fff;
608
+ font-size: 10px;
609
+ font-weight: 700;
610
+ display: flex;
611
+ align-items: center;
612
+ justify-content: center;
613
+ padding: 0 4px;
614
+ }
615
+ .jokkoo-widget .jk-satisfaction {
616
+ padding: 16px;
617
+ }
618
+ .jokkoo-widget .jk-satisfaction__card {
619
+ border: 1px solid var(--jk-color-border);
620
+ border-radius: var(--jk-radius-card);
621
+ padding: 16px;
622
+ display: flex;
623
+ flex-direction: column;
624
+ gap: 8px;
625
+ text-align: center;
626
+ }
627
+ .jokkoo-widget .jk-satisfaction__title {
628
+ margin: 0;
629
+ font-size: 14px;
630
+ font-weight: 600;
631
+ color: var(--jk-color-text);
632
+ }
633
+ .jokkoo-widget .jk-satisfaction__desc {
634
+ margin: 0;
635
+ font-size: 12px;
636
+ color: var(--jk-color-text-secondary);
637
+ }
638
+ .jokkoo-widget .jk-satisfaction__row {
639
+ display: flex;
640
+ justify-content: space-between;
641
+ margin-top: 4px;
642
+ }
643
+ .jokkoo-widget .jk-satisfaction__btn {
644
+ flex: 1;
645
+ font-size: 28px;
646
+ line-height: 34px;
647
+ padding: 8px 0;
648
+ transition: transform 0.15s ease;
649
+ }
650
+ .jokkoo-widget .jk-satisfaction__btn--selected {
651
+ transform: scale(1.1);
652
+ }
653
+ .jokkoo-widget .jk-pending-list {
654
+ display: flex;
655
+ flex-direction: column;
656
+ gap: 8px;
657
+ margin-bottom: 8px;
658
+ }
659
+ .jokkoo-widget .jk-pending-item {
660
+ display: flex;
661
+ align-items: center;
662
+ gap: 10px;
663
+ padding: 10px;
664
+ border: 1px solid var(--jk-color-border);
665
+ border-radius: var(--jk-radius-bubble);
666
+ }
667
+ .jokkoo-widget .jk-pending-item__thumb {
668
+ width: 52px;
669
+ height: 52px;
670
+ border-radius: 12px;
671
+ object-fit: cover;
672
+ background: var(--jk-color-surface);
673
+ display: flex;
674
+ align-items: center;
675
+ justify-content: center;
676
+ flex-shrink: 0;
677
+ overflow: hidden;
678
+ }
679
+ .jokkoo-widget .jk-pending-item__thumb img {
680
+ width: 100%;
681
+ height: 100%;
682
+ object-fit: cover;
683
+ }
684
+ .jokkoo-widget .jk-pending-item__details {
685
+ flex: 1;
686
+ min-width: 0;
687
+ }
688
+ .jokkoo-widget .jk-pending-item__name {
689
+ font-size: 12px;
690
+ font-weight: 600;
691
+ overflow: hidden;
692
+ text-overflow: ellipsis;
693
+ white-space: nowrap;
694
+ }
695
+ .jokkoo-widget .jk-pending-item__status {
696
+ font-size: 12px;
697
+ margin-top: 2px;
698
+ color: var(--jk-color-text-secondary);
699
+ }
700
+ .jokkoo-widget .jk-pending-item__status--error {
701
+ color: #ef4444;
702
+ }
703
+ .jokkoo-widget .jk-pending-item__status--ready {
704
+ color: var(--jk-color-primary);
705
+ }
706
+ .jokkoo-widget .jk-pending-item__progress {
707
+ height: 4px;
708
+ border-radius: 999px;
709
+ background: var(--jk-color-border);
710
+ margin-top: 6px;
711
+ overflow: hidden;
712
+ }
713
+ .jokkoo-widget .jk-pending-item__progress-fill {
714
+ height: 100%;
715
+ background: var(--jk-color-primary);
716
+ border-radius: 999px;
717
+ }
718
+ .jokkoo-widget .jk-pending-item__actions {
719
+ display: flex;
720
+ flex-direction: column;
721
+ align-items: flex-end;
722
+ gap: 8px;
723
+ font-size: 12px;
724
+ }
725
+ .jokkoo-widget .jk-attachments {
726
+ display: flex;
727
+ flex-wrap: wrap;
728
+ gap: 8px;
729
+ margin-top: 8px;
730
+ }
731
+ .jokkoo-widget .jk-attachments__img {
732
+ width: 180px;
733
+ height: 140px;
734
+ border-radius: var(--jk-radius-bubble);
735
+ object-fit: cover;
736
+ }
737
+ .jokkoo-widget .jk-attachments__doc {
738
+ border: 1px solid var(--jk-color-border);
739
+ border-radius: var(--jk-radius-bubble);
740
+ padding: 10px 12px;
741
+ max-width: 220px;
742
+ background: var(--jk-color-background);
743
+ text-align: left;
744
+ }
745
+ .jokkoo-widget .jk-attachments__doc-name {
746
+ margin-top: 4px;
747
+ font-size: 12px;
748
+ color: var(--jk-color-text-secondary);
749
+ overflow: hidden;
750
+ text-overflow: ellipsis;
751
+ white-space: nowrap;
752
+ }
753
+ .jokkoo-widget .jk-voice-player {
754
+ display: flex;
755
+ align-items: center;
756
+ gap: 8px;
757
+ width: 220px;
758
+ }
759
+ .jokkoo-widget .jk-voice-player__btn {
760
+ width: 36px;
761
+ height: 36px;
762
+ border-radius: 18px;
763
+ display: flex;
764
+ align-items: center;
765
+ justify-content: center;
766
+ flex-shrink: 0;
767
+ }
768
+ .jokkoo-widget .jk-voice-player__content {
769
+ flex: 1;
770
+ display: flex;
771
+ flex-direction: column;
772
+ gap: 2px;
773
+ }
774
+ .jokkoo-widget .jk-voice-player__duration {
775
+ font-size: 11px;
776
+ line-height: 14px;
777
+ }
778
+ .jokkoo-widget .jk-waveform {
779
+ display: flex;
780
+ align-items: center;
781
+ gap: 1.5px;
782
+ flex: 1;
783
+ }
784
+ .jokkoo-widget .jk-waveform__bar {
785
+ flex: 1;
786
+ min-width: 2px;
787
+ border-radius: 999px;
788
+ }
789
+ .jokkoo-widget .jk-voice-overlay {
790
+ border-top: 1px solid var(--jk-color-border);
791
+ padding: 10px 16px;
792
+ background: var(--jk-color-background);
793
+ }
794
+ .jokkoo-widget .jk-voice-overlay__panel {
795
+ display: flex;
796
+ align-items: center;
797
+ gap: 8px;
798
+ min-height: 52px;
799
+ padding: 8px;
800
+ border: 1px solid var(--jk-color-border);
801
+ border-radius: var(--jk-radius-bubble);
802
+ background: var(--jk-color-surface);
803
+ }
804
+ .jokkoo-widget .jk-voice-overlay__rec {
805
+ display: flex;
806
+ align-items: center;
807
+ gap: 6px;
808
+ min-width: 52px;
809
+ font-size: 13px;
810
+ font-weight: 600;
811
+ font-variant-numeric: tabular-nums;
812
+ }
813
+ .jokkoo-widget .jk-voice-overlay__dot {
814
+ width: 8px;
815
+ height: 8px;
816
+ border-radius: 4px;
817
+ background: #ef4444;
818
+ animation: jk-pulse 1.3s ease infinite;
819
+ }
820
+ @keyframes jk-pulse {
821
+ 0%, 100% {
822
+ opacity: 1;
823
+ }
824
+ 50% {
825
+ opacity: 0.35;
826
+ }
827
+ }
828
+ .jokkoo-widget .jk-voice-overlay__uploading {
829
+ flex: 1;
830
+ display: flex;
831
+ align-items: center;
832
+ justify-content: center;
833
+ gap: 8px;
834
+ font-size: 12px;
835
+ color: var(--jk-color-text-secondary);
836
+ }
837
+ .jokkoo-widget .jk-conversation__body {
838
+ position: relative;
839
+ flex: 1;
840
+ display: flex;
841
+ flex-direction: column;
842
+ min-height: 0;
843
+ }
844
+
845
+ /* src/styles/index.css */
846
+ /*# sourceMappingURL=index.css.map */