aizek-chatbot 1.0.12 → 1.0.13

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,1537 @@
1
+ @charset "UTF-8";
2
+
3
+ /* src/styles/index.scss */
4
+ .message-container {
5
+ display: flex;
6
+ flex-direction: column;
7
+ width: 100%;
8
+ }
9
+ .message-container.user {
10
+ align-items: flex-end;
11
+ }
12
+ .message-container.assistant {
13
+ align-items: flex-start;
14
+ }
15
+ .message-bubble {
16
+ max-width: 80%;
17
+ padding: 12px 16px;
18
+ margin-bottom: 8px;
19
+ word-wrap: break-word;
20
+ line-height: 1.4;
21
+ font-size: 14px;
22
+ position: relative;
23
+ }
24
+ .message-bubble.user {
25
+ border-radius: 18px 18px 4px 18px;
26
+ background:
27
+ linear-gradient(
28
+ 135deg,
29
+ #667eea 0%,
30
+ #764ba2 100%);
31
+ color: #ffffff;
32
+ margin-left: auto;
33
+ margin-right: 0;
34
+ }
35
+ .message-bubble.assistant {
36
+ border-radius: 18px 18px 18px 4px;
37
+ background: #f8fafc;
38
+ color: #334155;
39
+ border: 1px solid #e2e8f0;
40
+ margin-left: 0;
41
+ margin-right: auto;
42
+ }
43
+ .message-bubble .message-typing-indicator {
44
+ display: inline-flex;
45
+ align-items: center;
46
+ margin-left: 8px;
47
+ }
48
+ .message-time {
49
+ font-size: 11px;
50
+ opacity: 0.7;
51
+ margin-top: 4px;
52
+ }
53
+ .message-time.user {
54
+ text-align: right;
55
+ }
56
+ .message-time.assistant {
57
+ text-align: left;
58
+ }
59
+ .markdown-content {
60
+ line-height: 1.6;
61
+ margin-bottom: 6px;
62
+ }
63
+ .markdown-content p {
64
+ margin: 0 0 12px 0;
65
+ line-height: 1.6;
66
+ }
67
+ .markdown-content p:last-child {
68
+ margin-bottom: 0;
69
+ }
70
+ .markdown-content ul {
71
+ margin: 12px 0 16px 0;
72
+ padding-left: 0;
73
+ list-style: none;
74
+ }
75
+ .markdown-content li {
76
+ margin-bottom: 12px;
77
+ line-height: 1.6;
78
+ padding: 12px 16px;
79
+ border-radius: 12px;
80
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
81
+ position: relative;
82
+ transition: all 0.2s ease;
83
+ overflow: hidden;
84
+ }
85
+ .markdown-content li:hover {
86
+ transform: translateY(-1px);
87
+ box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
88
+ }
89
+ .markdown-content li::before {
90
+ content: "\2022";
91
+ font-weight: bold;
92
+ font-size: 18px;
93
+ position: absolute;
94
+ left: -8px;
95
+ top: 12px;
96
+ }
97
+ .markdown-content li::after {
98
+ content: "";
99
+ position: absolute;
100
+ top: 0;
101
+ left: 0;
102
+ width: 4px;
103
+ height: 100%;
104
+ border-radius: 0 2px 2px 0;
105
+ transition: all 0.2s ease;
106
+ }
107
+ .markdown-content li:hover::after {
108
+ width: 6px;
109
+ }
110
+ .markdown-content li strong {
111
+ display: block;
112
+ font-size: 15px;
113
+ margin-bottom: 4px;
114
+ }
115
+ .markdown-content li em {
116
+ display: block;
117
+ font-size: 13px;
118
+ opacity: 0.8;
119
+ margin-top: 4px;
120
+ }
121
+ .markdown-content strong {
122
+ font-weight: 600;
123
+ }
124
+ .markdown-content em {
125
+ font-style: italic;
126
+ opacity: 0.9;
127
+ }
128
+ .markdown-content code {
129
+ background: #f1f5f9;
130
+ padding: 2px 6px;
131
+ border-radius: 4px;
132
+ font-family:
133
+ "Monaco",
134
+ "Menlo",
135
+ "Ubuntu Mono",
136
+ monospace;
137
+ font-size: 13px;
138
+ }
139
+ .markdown-content pre {
140
+ background: #f8fafc;
141
+ padding: 12px;
142
+ border-radius: 8px;
143
+ overflow-x: auto;
144
+ margin: 8px 0;
145
+ border: 1px solid #e2e8f0;
146
+ }
147
+ .markdown-content pre code {
148
+ background: none;
149
+ padding: 0;
150
+ }
151
+ .markdown-content blockquote {
152
+ border-left: 3px solid #cbd5e1;
153
+ padding-left: 12px;
154
+ margin: 8px 0;
155
+ opacity: 0.8;
156
+ }
157
+ .markdown-content h1,
158
+ .markdown-content h2,
159
+ .markdown-content h3 {
160
+ margin: 16px 0 8px 0;
161
+ font-weight: 600;
162
+ }
163
+ .markdown-content h1 {
164
+ font-size: 18px;
165
+ }
166
+ .markdown-content h2 {
167
+ font-size: 16px;
168
+ }
169
+ .markdown-content h3 {
170
+ font-size: 15px;
171
+ }
172
+ .markdown-content table {
173
+ border-collapse: collapse;
174
+ width: 100%;
175
+ margin: 8px 0;
176
+ }
177
+ .markdown-content th,
178
+ .markdown-content td {
179
+ border: 1px solid #e2e8f0;
180
+ padding: 8px 12px;
181
+ text-align: left;
182
+ }
183
+ .markdown-content th {
184
+ background: #f8fafc;
185
+ font-weight: 600;
186
+ }
187
+ .message-bubble.user .markdown-content li {
188
+ background: rgba(255, 255, 255, 0.1);
189
+ border: 1px solid rgba(255, 255, 255, 0.2);
190
+ }
191
+ .message-bubble.user .markdown-content li::before {
192
+ color: #ffffff;
193
+ }
194
+ .message-bubble.user .markdown-content li::after {
195
+ background:
196
+ linear-gradient(
197
+ 135deg,
198
+ #ffffff,
199
+ rgba(255, 255, 255, 0.5));
200
+ }
201
+ .message-bubble.user .markdown-content li:hover::after {
202
+ background:
203
+ linear-gradient(
204
+ 135deg,
205
+ #ffffff,
206
+ #ffffff);
207
+ }
208
+ .message-bubble.user .markdown-content li strong {
209
+ color: #ffffff;
210
+ }
211
+ .message-bubble.user .markdown-content strong {
212
+ color: #ffffff;
213
+ }
214
+ .message-bubble.user .markdown-content code {
215
+ background: rgba(255, 255, 255, 0.2);
216
+ }
217
+ .message-bubble.user .markdown-content pre {
218
+ background: rgba(255, 255, 255, 0.1);
219
+ border: 1px solid rgba(255, 255, 255, 0.2);
220
+ }
221
+ .message-bubble.user .markdown-content blockquote {
222
+ border-left-color: rgba(255, 255, 255, 0.5);
223
+ }
224
+ .message-bubble.user .markdown-content table th,
225
+ .message-bubble.user .markdown-content table td {
226
+ border-color: rgba(255, 255, 255, 0.3);
227
+ }
228
+ .message-bubble.user .markdown-content table th {
229
+ background: rgba(255, 255, 255, 0.1);
230
+ }
231
+ .message-bubble.assistant .markdown-content li {
232
+ background: #ffffff;
233
+ border: 1px solid #e2e8f0;
234
+ }
235
+ .message-bubble.assistant .markdown-content li::before {
236
+ color: #667eea;
237
+ }
238
+ .message-bubble.assistant .markdown-content li::after {
239
+ background:
240
+ linear-gradient(
241
+ 135deg,
242
+ #667eea,
243
+ #764ba2);
244
+ }
245
+ .message-bubble.assistant .markdown-content li:hover::after {
246
+ background:
247
+ linear-gradient(
248
+ 135deg,
249
+ #667eea,
250
+ #764ba2);
251
+ }
252
+ .message-bubble.assistant .markdown-content li strong {
253
+ color: #1e293b;
254
+ }
255
+ .message-bubble.assistant .markdown-content strong {
256
+ color: #1e293b;
257
+ }
258
+ .message-bubble.assistant .markdown-content li strong:first-child {
259
+ color: #1e293b;
260
+ font-size: 16px;
261
+ font-weight: 700;
262
+ display: block;
263
+ margin-bottom: 8px;
264
+ }
265
+ .message-bubble.assistant .markdown-content li strong:not(:first-child) {
266
+ color: #059669;
267
+ font-size: 13px;
268
+ font-weight: 600;
269
+ margin-right: 8px;
270
+ }
271
+ .input-container {
272
+ display: flex;
273
+ align-items: flex-end;
274
+ gap: 12px;
275
+ padding: 16px;
276
+ background: #ffffff;
277
+ border-top: 1px solid #e2e8f0;
278
+ border-radius: 0 0 12px 12px;
279
+ }
280
+ .textarea {
281
+ flex: 1;
282
+ min-height: 44px;
283
+ max-height: 120px;
284
+ padding: 12px 16px;
285
+ border: 1px solid #e2e8f0;
286
+ border-radius: 22px;
287
+ font-size: 14px;
288
+ line-height: 1.4;
289
+ resize: none;
290
+ outline: none;
291
+ transition: border-color 0.2s ease, box-shadow 0.2s ease;
292
+ font-family: inherit;
293
+ background: #f8fafc;
294
+ color: #334155;
295
+ }
296
+ .textarea:disabled {
297
+ opacity: 0.6;
298
+ cursor: not-allowed;
299
+ }
300
+ .textarea:focus:not(:disabled) {
301
+ border-color: #3b82f6;
302
+ box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
303
+ }
304
+ .send-button {
305
+ width: 44px;
306
+ height: 44px;
307
+ border-radius: 50%;
308
+ border: none;
309
+ color: #ffffff;
310
+ cursor: pointer;
311
+ display: flex;
312
+ align-items: center;
313
+ justify-content: center;
314
+ transition: all 0.2s ease;
315
+ font-size: 16px;
316
+ }
317
+ .send-button:disabled {
318
+ background: #e2e8f0;
319
+ cursor: not-allowed;
320
+ }
321
+ .send-button:not(:disabled) {
322
+ background:
323
+ linear-gradient(
324
+ 135deg,
325
+ #667eea 0%,
326
+ #764ba2 100%);
327
+ }
328
+ .send-button:not(:disabled):hover {
329
+ transform: scale(1.05);
330
+ }
331
+ .header {
332
+ padding: 16px 20px;
333
+ color: #ffffff;
334
+ display: flex;
335
+ align-items: center;
336
+ gap: 12px;
337
+ }
338
+ .logo-container {
339
+ width: 40px;
340
+ height: 40px;
341
+ border-radius: 50%;
342
+ background: rgba(255, 255, 255, 0.2);
343
+ display: flex;
344
+ align-items: center;
345
+ justify-content: center;
346
+ font-size: 18px;
347
+ overflow: hidden;
348
+ }
349
+ .logo-image {
350
+ width: 100%;
351
+ height: 100%;
352
+ object-fit: cover;
353
+ border-radius: 50%;
354
+ }
355
+ .logo-text {
356
+ font-size: 16px;
357
+ font-weight: bold;
358
+ }
359
+ .company-name {
360
+ margin: 0;
361
+ font-size: 16px;
362
+ font-weight: 600;
363
+ }
364
+ .status-text {
365
+ margin: 0;
366
+ font-size: 12px;
367
+ opacity: 0.8;
368
+ }
369
+ .button-sizes.sm {
370
+ width: 50px;
371
+ height: 50px;
372
+ font-size: 20px;
373
+ }
374
+ .button-sizes.md {
375
+ width: 60px;
376
+ height: 60px;
377
+ font-size: 24px;
378
+ }
379
+ .button-sizes.lg {
380
+ width: 70px;
381
+ height: 70px;
382
+ font-size: 28px;
383
+ }
384
+ .floating-button {
385
+ position: fixed;
386
+ bottom: 20px;
387
+ border-radius: 50%;
388
+ border: none;
389
+ color: #ffffff;
390
+ cursor: pointer;
391
+ display: flex;
392
+ align-items: center;
393
+ justify-content: center;
394
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
395
+ transition: all 0.3s ease;
396
+ z-index: 1000;
397
+ }
398
+ .floating-button.bottom-left {
399
+ left: 20px;
400
+ }
401
+ .floating-button.bottom-right {
402
+ right: 20px;
403
+ }
404
+ .floating-button.is-open {
405
+ transform: scale(0.9);
406
+ }
407
+ .floating-button:hover {
408
+ box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);
409
+ }
410
+ .chat-container {
411
+ position: fixed;
412
+ bottom: 90px;
413
+ z-index: 9999999;
414
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
415
+ }
416
+ .chat-container.bottom-left {
417
+ left: 20px;
418
+ transform-origin: bottom left;
419
+ }
420
+ .chat-container.bottom-right {
421
+ right: 20px;
422
+ transform-origin: bottom right;
423
+ }
424
+ .chat-container.is-open {
425
+ transform: translateY(0) scale(1);
426
+ opacity: 1;
427
+ visibility: visible;
428
+ }
429
+ .chat-container:not(.is-open) {
430
+ transform: translateY(20px) scale(0.95);
431
+ opacity: 0;
432
+ visibility: hidden;
433
+ }
434
+ .overlay {
435
+ position: fixed;
436
+ top: 0;
437
+ left: 0;
438
+ right: 0;
439
+ bottom: 0;
440
+ background: rgba(0, 0, 0, 0.1);
441
+ z-index: 998;
442
+ transition: all 0.3s ease;
443
+ }
444
+ .overlay.is-open {
445
+ opacity: 1;
446
+ visibility: visible;
447
+ }
448
+ .overlay:not(.is-open) {
449
+ opacity: 0;
450
+ visibility: hidden;
451
+ }
452
+ .chatbot-container {
453
+ display: flex;
454
+ flex-direction: column;
455
+ height: 100%;
456
+ background: #ffffff;
457
+ border-radius: 12px;
458
+ box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
459
+ border: 1px solid #e2e8f0;
460
+ overflow: hidden;
461
+ }
462
+ .messages-container {
463
+ flex: 1;
464
+ overflow-y: auto;
465
+ padding: 16px;
466
+ display: flex;
467
+ flex-direction: column;
468
+ gap: 4px;
469
+ background: #f8fafc;
470
+ }
471
+ .empty-state {
472
+ display: flex;
473
+ flex-direction: column;
474
+ align-items: center;
475
+ justify-content: center;
476
+ height: 100%;
477
+ color: #64748b;
478
+ text-align: center;
479
+ padding: 40px 20px;
480
+ }
481
+ .empty-state .empty-state-icon {
482
+ font-size: 48px;
483
+ margin-bottom: 16px;
484
+ }
485
+ .empty-state .empty-state-title {
486
+ margin: 0 0 8px 0;
487
+ font-size: 18px;
488
+ }
489
+ .empty-state .empty-state-description {
490
+ margin: 0;
491
+ font-size: 14px;
492
+ opacity: 0.8;
493
+ }
494
+ @keyframes spin {
495
+ from {
496
+ transform: rotate(0deg);
497
+ }
498
+ to {
499
+ transform: rotate(360deg);
500
+ }
501
+ }
502
+ .loading-spinner {
503
+ width: 16px;
504
+ height: 16px;
505
+ border: 2px solid transparent;
506
+ border-top: 2px solid currentColor;
507
+ border-radius: 50%;
508
+ animation: spin 1s linear infinite;
509
+ }
510
+ @keyframes slideDown {
511
+ from {
512
+ opacity: 0;
513
+ transform: translateY(-10px);
514
+ }
515
+ to {
516
+ opacity: 1;
517
+ transform: translateY(0);
518
+ }
519
+ }
520
+ .alert-container {
521
+ border-radius: 12px;
522
+ padding: 14px 16px;
523
+ margin: 12px 16px;
524
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
525
+ color: #ffffff;
526
+ font-size: 13px;
527
+ display: flex;
528
+ align-items: flex-start;
529
+ gap: 12px;
530
+ position: relative;
531
+ animation: slideDown 0.3s ease ease-out;
532
+ }
533
+ .alert-container.error {
534
+ background:
535
+ linear-gradient(
536
+ 135deg,
537
+ #ef4444 0%,
538
+ #dc2626 100%);
539
+ border: 1px solid #dc2626;
540
+ box-shadow: 0 4px 12px rgba(239, 68, 68, 0.2);
541
+ }
542
+ .alert-container.warning {
543
+ background:
544
+ linear-gradient(
545
+ 135deg,
546
+ #f59e0b 0%,
547
+ #d97706 100%);
548
+ border: 1px solid #d97706;
549
+ box-shadow: 0 4px 12px rgba(245, 158, 11, 0.2);
550
+ }
551
+ .alert-container.success {
552
+ background:
553
+ linear-gradient(
554
+ 135deg,
555
+ #10b981 0%,
556
+ #059669 100%);
557
+ border: 1px solid #059669;
558
+ box-shadow: 0 4px 12px rgba(16, 185, 129, 0.2);
559
+ }
560
+ .alert-icon-container {
561
+ display: flex;
562
+ align-items: center;
563
+ justify-content: center;
564
+ width: 24px;
565
+ height: 24px;
566
+ flex-shrink: 0;
567
+ margin-top: 2px;
568
+ }
569
+ .alert-content {
570
+ flex: 1;
571
+ display: flex;
572
+ flex-direction: column;
573
+ gap: 8px;
574
+ }
575
+ .alert-title {
576
+ font-weight: 600;
577
+ font-size: 14px;
578
+ margin: 0;
579
+ line-height: 1.4;
580
+ }
581
+ .alert-message {
582
+ margin: 0;
583
+ line-height: 1.5;
584
+ opacity: 0.95;
585
+ }
586
+ .alert-list {
587
+ margin: 8px 0 0 0;
588
+ padding-left: 20px;
589
+ list-style: none;
590
+ }
591
+ .alert-list-item {
592
+ margin-bottom: 4px;
593
+ position: relative;
594
+ padding-left: 12px;
595
+ line-height: 1.4;
596
+ }
597
+ .alert-list-item li > span {
598
+ position: "absolute";
599
+ left: 0;
600
+ top: 2px;
601
+ font-weight: bold;
602
+ }
603
+ .alert-list-item li > code {
604
+ background: rgba(255, 255, 255, 0.2);
605
+ padding: 2px 6px;
606
+ border-radius: 4px;
607
+ font-size: 12px;
608
+ }
609
+ .alert-close-button {
610
+ position: absolute;
611
+ top: 12px;
612
+ right: 12px;
613
+ background: rgba(255, 255, 255, 0.2);
614
+ border: none;
615
+ border-radius: 6px;
616
+ width: 24px;
617
+ height: 24px;
618
+ display: flex;
619
+ align-items: center;
620
+ justify-content: center;
621
+ cursor: pointer;
622
+ color: #ffffff;
623
+ transition: all 0.2s ease;
624
+ padding: 0;
625
+ }
626
+ .alert-close-button:hover {
627
+ background: rgba(255, 255, 255, 0.3);
628
+ }
629
+ .ui-renderer {
630
+ display: flex;
631
+ flex-direction: column;
632
+ gap: 16px;
633
+ width: 100%;
634
+ }
635
+ .form-component {
636
+ width: 100%;
637
+ max-width: 500px;
638
+ border: 1px solid #e0e0e0;
639
+ border-radius: 12px;
640
+ padding: 24px;
641
+ background-color: #ffffff;
642
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
643
+ font-family:
644
+ -apple-system,
645
+ BlinkMacSystemFont,
646
+ "Segoe UI",
647
+ Roboto,
648
+ "Helvetica Neue",
649
+ Arial,
650
+ sans-serif;
651
+ }
652
+ .form-title {
653
+ font-weight: 600;
654
+ font-size: 16px;
655
+ margin-bottom: 20px;
656
+ color: #1a1a1a;
657
+ margin-top: 0;
658
+ }
659
+ .form-fields {
660
+ display: flex;
661
+ flex-direction: column;
662
+ gap: 20px;
663
+ }
664
+ .form-field {
665
+ display: flex;
666
+ flex-direction: column;
667
+ gap: 8px;
668
+ }
669
+ .form-label {
670
+ font-weight: 500;
671
+ font-size: 13px;
672
+ color: #475569;
673
+ display: flex;
674
+ align-items: center;
675
+ gap: 4px;
676
+ }
677
+ .form-label span {
678
+ color: #ef4444;
679
+ font-size: 12px;
680
+ }
681
+ .form-input,
682
+ .form-select {
683
+ border: 1px solid #d1d5db;
684
+ border-radius: 8px;
685
+ padding: 10px 12px;
686
+ font-size: 13px;
687
+ color: #1a1a1a;
688
+ background-color: #ffffff;
689
+ font-family: inherit;
690
+ outline: none;
691
+ transition: border-color 0.15s ease, box-shadow 0.15s ease;
692
+ cursor: pointer;
693
+ }
694
+ .form-input:focus,
695
+ .form-select:focus {
696
+ border-color: #3b82f6;
697
+ box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
698
+ }
699
+ .form-select {
700
+ cursor: pointer;
701
+ }
702
+ .form-submit-button {
703
+ margin-top: 24px;
704
+ display: inline-flex;
705
+ align-items: center;
706
+ justify-content: center;
707
+ border-radius: 8px;
708
+ padding: 12px 24px;
709
+ font-size: 13px;
710
+ font-weight: 500;
711
+ background-color: #3b82f6;
712
+ color: #ffffff;
713
+ border: none;
714
+ cursor: pointer;
715
+ transition: background-color 0.15s ease, transform 0.1s ease;
716
+ font-family: inherit;
717
+ }
718
+ .form-submit-button:hover {
719
+ background-color: #2563eb;
720
+ }
721
+ .form-submit-button:active {
722
+ transform: scale(0.98);
723
+ }
724
+ .buttons-component {
725
+ display: flex;
726
+ gap: 12px;
727
+ flex-wrap: wrap;
728
+ }
729
+ .button-component {
730
+ border-radius: 8px;
731
+ padding: 10px 20px;
732
+ font-size: 13px;
733
+ font-weight: 500;
734
+ border: 1px solid #e0e0e0;
735
+ background-color: #ffffff;
736
+ color: #475569;
737
+ cursor: pointer;
738
+ transition: all 0.15s ease;
739
+ font-family:
740
+ -apple-system,
741
+ BlinkMacSystemFont,
742
+ "Segoe UI",
743
+ Roboto,
744
+ "Helvetica Neue",
745
+ Arial,
746
+ sans-serif;
747
+ outline: none;
748
+ }
749
+ .button-component.primary {
750
+ background-color: #3b82f6;
751
+ color: #ffffff;
752
+ border-color: #3b82f6;
753
+ }
754
+ .button-component.primary:hover {
755
+ background-color: #2563eb;
756
+ border-color: #2563eb;
757
+ }
758
+ .button-component.secondary {
759
+ background-color: #f3f4f6;
760
+ color: #475569;
761
+ border-color: #d1d5db;
762
+ }
763
+ .button-component.secondary:hover {
764
+ background-color: #e5e7eb;
765
+ border-color: #9ca3af;
766
+ }
767
+ .button-component.danger {
768
+ background-color: #ef4444;
769
+ color: #ffffff;
770
+ border-color: #ef4444;
771
+ }
772
+ .button-component.danger:hover {
773
+ background-color: #dc2626;
774
+ border-color: #dc2626;
775
+ }
776
+ .button-component:not(.primary):not(.secondary):not(.danger):hover {
777
+ background-color: #f9fafb;
778
+ border-color: #d1d5db;
779
+ }
780
+ .button-component:active {
781
+ transform: scale(0.97);
782
+ }
783
+ .table-component {
784
+ border: 1px solid #e0e0e0;
785
+ border-radius: 12px;
786
+ overflow: hidden;
787
+ font-size: 13px;
788
+ background-color: #ffffff;
789
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
790
+ font-family:
791
+ -apple-system,
792
+ BlinkMacSystemFont,
793
+ "Segoe UI",
794
+ Roboto,
795
+ "Helvetica Neue",
796
+ Arial,
797
+ sans-serif;
798
+ }
799
+ .table-caption {
800
+ padding: 16px 20px;
801
+ font-weight: 600;
802
+ font-size: 14px;
803
+ border-bottom: 1px solid #e0e0e0;
804
+ background-color: #f8f9fa;
805
+ color: #1a1a1a;
806
+ }
807
+ .table-wrapper {
808
+ overflow-x: auto;
809
+ }
810
+ .table {
811
+ width: 100%;
812
+ border-collapse: collapse;
813
+ min-width: 100%;
814
+ }
815
+ .table-header {
816
+ background-color: #f8f9fa;
817
+ }
818
+ .table-th {
819
+ border-bottom: 2px solid #e0e0e0;
820
+ padding: 14px 20px;
821
+ text-align: left;
822
+ font-weight: 600;
823
+ font-size: 12px;
824
+ color: #4a5568;
825
+ text-transform: uppercase;
826
+ letter-spacing: 0.5px;
827
+ white-space: nowrap;
828
+ }
829
+ .table-tbody tr {
830
+ background-color: #ffffff;
831
+ transition: background-color 0.15s ease;
832
+ }
833
+ .table-tbody tr:nth-child(even) {
834
+ background-color: #fafbfc;
835
+ }
836
+ .table-tbody tr:hover {
837
+ background-color: #f0f4f8;
838
+ }
839
+ .table-td {
840
+ border-bottom: 1px solid #e8e8e8;
841
+ padding: 16px 20px;
842
+ font-size: 13px;
843
+ vertical-align: middle;
844
+ }
845
+ .table-td > span {
846
+ color: #a0a0a0;
847
+ font-style: italic;
848
+ }
849
+ .table-cell-image {
850
+ display: flex;
851
+ align-items: center;
852
+ }
853
+ .table-image {
854
+ width: 40px;
855
+ height: 40px;
856
+ border-radius: 8px;
857
+ object-fit: cover;
858
+ border: 1px solid #e0e0e0;
859
+ }
860
+ .table-cell-text {
861
+ color: #2d3748;
862
+ line-height: 1.5;
863
+ }
864
+ .table-empty {
865
+ padding: 40px;
866
+ text-align: center;
867
+ color: #9ca3af;
868
+ font-size: 13px;
869
+ }
870
+ .card-component {
871
+ border: 1px solid #e5e7eb;
872
+ border-radius: 16px;
873
+ padding: 16px;
874
+ background-color: #ffffff;
875
+ box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
876
+ overflow: hidden;
877
+ margin-bottom: 12px;
878
+ }
879
+ .card-content {
880
+ display: flex;
881
+ gap: 12px;
882
+ }
883
+ .card-image {
884
+ width: 64px;
885
+ height: 64px;
886
+ border-radius: 8px;
887
+ object-fit: cover;
888
+ flex-shrink: 0;
889
+ }
890
+ .card-info {
891
+ flex: 1;
892
+ min-width: 0;
893
+ }
894
+ .card-title {
895
+ font-weight: 600;
896
+ font-size: 14px;
897
+ margin-bottom: 8px;
898
+ overflow: hidden;
899
+ text-overflow: ellipsis;
900
+ white-space: nowrap;
901
+ }
902
+ .card-subtitle {
903
+ color: #64748b;
904
+ font-size: 12px;
905
+ margin-bottom: 4px;
906
+ margin: 0;
907
+ }
908
+ .card-status {
909
+ display: flex;
910
+ gap: 8px;
911
+ font-size: 12px;
912
+ margin-bottom: 4px;
913
+ }
914
+ .card-status-label {
915
+ color: #64748b;
916
+ font-weight: 500;
917
+ }
918
+ .card-status-value {
919
+ color: #475569;
920
+ }
921
+ .card-fields {
922
+ display: flex;
923
+ flex-direction: column;
924
+ gap: 4px;
925
+ }
926
+ .card-field {
927
+ display: flex;
928
+ gap: 8px;
929
+ font-size: 12px;
930
+ }
931
+ .card-field-label {
932
+ color: #64748b;
933
+ font-weight: 500;
934
+ }
935
+ .card-field-value {
936
+ color: #475569;
937
+ }
938
+ .card-description {
939
+ color: #64748b;
940
+ font-size: 12px;
941
+ margin-top: 8px;
942
+ margin: 0;
943
+ }
944
+ .card-list {
945
+ width: 100%;
946
+ }
947
+ .card-list-title {
948
+ font-weight: 600;
949
+ margin-bottom: 12px;
950
+ font-size: 14px;
951
+ color: #1a1a1a;
952
+ margin-top: 0;
953
+ }
954
+ .card-list-description {
955
+ color: #64748b;
956
+ margin-bottom: 12px;
957
+ font-size: 12px;
958
+ margin-top: 0;
959
+ }
960
+ .card-grid {
961
+ display: grid;
962
+ grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
963
+ gap: 12px;
964
+ }
965
+ .card-item {
966
+ font-size: 12px;
967
+ border: 1px solid #e0e0e0;
968
+ border-radius: 12px;
969
+ padding: 16px;
970
+ background-color: #ffffff;
971
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
972
+ overflow: hidden;
973
+ }
974
+ .card-item-content {
975
+ display: flex;
976
+ gap: 12px;
977
+ }
978
+ .card-item-image {
979
+ width: 64px;
980
+ height: 64px;
981
+ border-radius: 8px;
982
+ object-fit: cover;
983
+ flex-shrink: 0;
984
+ }
985
+ .card-item-info {
986
+ flex: 1;
987
+ min-width: 0;
988
+ }
989
+ .card-item-title {
990
+ font-weight: 600;
991
+ font-size: 14px;
992
+ margin-bottom: 4px;
993
+ overflow: hidden;
994
+ text-overflow: ellipsis;
995
+ white-space: nowrap;
996
+ color: #1a1a1a;
997
+ margin-top: 0;
998
+ }
999
+ .card-item-subtitle {
1000
+ color: #64748b;
1001
+ font-size: 12px;
1002
+ margin: 0;
1003
+ }
1004
+ .card-item-legacy {
1005
+ display: flex;
1006
+ justify-content: space-between;
1007
+ gap: 8px;
1008
+ font-size: 12px;
1009
+ }
1010
+ .card-item-legacy-label {
1011
+ color: #64748b;
1012
+ margin: 0;
1013
+ }
1014
+ .card-item-legacy-value {
1015
+ font-weight: 500;
1016
+ color: #1a1a1a;
1017
+ margin: 0;
1018
+ }
1019
+ .field-image {
1020
+ width: 24px;
1021
+ height: 24px;
1022
+ border-radius: 999px;
1023
+ object-fit: cover;
1024
+ }
1025
+ .field-link {
1026
+ text-decoration: underline;
1027
+ }
1028
+ .field-badge {
1029
+ display: inline-block;
1030
+ padding: 2px 6px;
1031
+ border-radius: 999px;
1032
+ font-size: 10px;
1033
+ font-weight: 500;
1034
+ }
1035
+ .field-badge.success {
1036
+ background-color: #e0fce5;
1037
+ color: #1a7f36;
1038
+ }
1039
+ .field-badge.warning {
1040
+ background-color: #fff7d6;
1041
+ color: #8a6a00;
1042
+ }
1043
+ .field-badge.danger {
1044
+ background-color: #ffe4e4;
1045
+ color: #b42318;
1046
+ }
1047
+ .field-badge:not(.success):not(.warning):not(.danger) {
1048
+ background-color: #f2f2f2;
1049
+ color: #333;
1050
+ }
1051
+ .field-list {
1052
+ margin: 0;
1053
+ padding-left: 16px;
1054
+ }
1055
+ .rui-btn {
1056
+ display: inline-flex;
1057
+ align-items: center;
1058
+ justify-content: center;
1059
+ border-radius: 12px;
1060
+ font-weight: 600;
1061
+ line-height: 1;
1062
+ transition:
1063
+ background-color 0.2s ease,
1064
+ color 0.2s ease,
1065
+ border-color 0.2s ease;
1066
+ outline: none;
1067
+ cursor: pointer;
1068
+ border: 1px solid transparent;
1069
+ }
1070
+ .rui-btn.sm {
1071
+ height: 36px;
1072
+ padding: 0 12px;
1073
+ font-size: 14px;
1074
+ }
1075
+ .rui-btn.md {
1076
+ height: 40px;
1077
+ padding: 0 16px;
1078
+ font-size: 16px;
1079
+ }
1080
+ .rui-btn.lg {
1081
+ height: 44px;
1082
+ padding: 0 20px;
1083
+ font-size: 18px;
1084
+ }
1085
+ .rui-btn.primary {
1086
+ background: #2563eb;
1087
+ color: #ffffff;
1088
+ border-color: transparent;
1089
+ }
1090
+ .rui-btn.primary:hover {
1091
+ background: #1d4ed8;
1092
+ }
1093
+ .rui-btn.outline {
1094
+ background: transparent;
1095
+ color: #2563eb;
1096
+ border-color: #2563eb;
1097
+ }
1098
+ .rui-btn.outline:hover {
1099
+ border-color: #1d4ed8;
1100
+ }
1101
+ .rui-btn.ghost {
1102
+ background: transparent;
1103
+ color: #2563eb;
1104
+ border-color: transparent;
1105
+ }
1106
+ .rui-btn.ghost:hover {
1107
+ background: rgba(37, 99, 235, 0.08);
1108
+ }
1109
+
1110
+ /* src/styles/uiRenderer.scss */
1111
+ .ui-renderer {
1112
+ display: flex;
1113
+ flex-direction: column;
1114
+ gap: 16px;
1115
+ width: 100%;
1116
+ }
1117
+ .form-component {
1118
+ width: 100%;
1119
+ max-width: 500px;
1120
+ border: 1px solid #e0e0e0;
1121
+ border-radius: 12px;
1122
+ padding: 24px;
1123
+ background-color: #ffffff;
1124
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
1125
+ font-family:
1126
+ -apple-system,
1127
+ BlinkMacSystemFont,
1128
+ "Segoe UI",
1129
+ Roboto,
1130
+ "Helvetica Neue",
1131
+ Arial,
1132
+ sans-serif;
1133
+ }
1134
+ .form-title {
1135
+ font-weight: 600;
1136
+ font-size: 16px;
1137
+ margin-bottom: 20px;
1138
+ color: #1a1a1a;
1139
+ margin-top: 0;
1140
+ }
1141
+ .form-fields {
1142
+ display: flex;
1143
+ flex-direction: column;
1144
+ gap: 20px;
1145
+ }
1146
+ .form-field {
1147
+ display: flex;
1148
+ flex-direction: column;
1149
+ gap: 8px;
1150
+ }
1151
+ .form-label {
1152
+ font-weight: 500;
1153
+ font-size: 13px;
1154
+ color: #475569;
1155
+ display: flex;
1156
+ align-items: center;
1157
+ gap: 4px;
1158
+ }
1159
+ .form-label span {
1160
+ color: #ef4444;
1161
+ font-size: 12px;
1162
+ }
1163
+ .form-input,
1164
+ .form-select {
1165
+ border: 1px solid #d1d5db;
1166
+ border-radius: 8px;
1167
+ padding: 10px 12px;
1168
+ font-size: 13px;
1169
+ color: #1a1a1a;
1170
+ background-color: #ffffff;
1171
+ font-family: inherit;
1172
+ outline: none;
1173
+ transition: border-color 0.15s ease, box-shadow 0.15s ease;
1174
+ cursor: pointer;
1175
+ }
1176
+ .form-input:focus,
1177
+ .form-select:focus {
1178
+ border-color: #3b82f6;
1179
+ box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
1180
+ }
1181
+ .form-select {
1182
+ cursor: pointer;
1183
+ }
1184
+ .form-submit-button {
1185
+ margin-top: 24px;
1186
+ display: inline-flex;
1187
+ align-items: center;
1188
+ justify-content: center;
1189
+ border-radius: 8px;
1190
+ padding: 12px 24px;
1191
+ font-size: 13px;
1192
+ font-weight: 500;
1193
+ background-color: #3b82f6;
1194
+ color: #ffffff;
1195
+ border: none;
1196
+ cursor: pointer;
1197
+ transition: background-color 0.15s ease, transform 0.1s ease;
1198
+ font-family: inherit;
1199
+ }
1200
+ .form-submit-button:hover {
1201
+ background-color: #2563eb;
1202
+ }
1203
+ .form-submit-button:active {
1204
+ transform: scale(0.98);
1205
+ }
1206
+ .buttons-component {
1207
+ display: flex;
1208
+ gap: 12px;
1209
+ flex-wrap: wrap;
1210
+ }
1211
+ .button-component {
1212
+ border-radius: 8px;
1213
+ padding: 10px 20px;
1214
+ font-size: 13px;
1215
+ font-weight: 500;
1216
+ border: 1px solid #e0e0e0;
1217
+ background-color: #ffffff;
1218
+ color: #475569;
1219
+ cursor: pointer;
1220
+ transition: all 0.15s ease;
1221
+ font-family:
1222
+ -apple-system,
1223
+ BlinkMacSystemFont,
1224
+ "Segoe UI",
1225
+ Roboto,
1226
+ "Helvetica Neue",
1227
+ Arial,
1228
+ sans-serif;
1229
+ outline: none;
1230
+ }
1231
+ .button-component.primary {
1232
+ background-color: #3b82f6;
1233
+ color: #ffffff;
1234
+ border-color: #3b82f6;
1235
+ }
1236
+ .button-component.primary:hover {
1237
+ background-color: #2563eb;
1238
+ border-color: #2563eb;
1239
+ }
1240
+ .button-component.secondary {
1241
+ background-color: #f3f4f6;
1242
+ color: #475569;
1243
+ border-color: #d1d5db;
1244
+ }
1245
+ .button-component.secondary:hover {
1246
+ background-color: #e5e7eb;
1247
+ border-color: #9ca3af;
1248
+ }
1249
+ .button-component.danger {
1250
+ background-color: #ef4444;
1251
+ color: #ffffff;
1252
+ border-color: #ef4444;
1253
+ }
1254
+ .button-component.danger:hover {
1255
+ background-color: #dc2626;
1256
+ border-color: #dc2626;
1257
+ }
1258
+ .button-component:not(.primary):not(.secondary):not(.danger):hover {
1259
+ background-color: #f9fafb;
1260
+ border-color: #d1d5db;
1261
+ }
1262
+ .button-component:active {
1263
+ transform: scale(0.97);
1264
+ }
1265
+ .table-component {
1266
+ border: 1px solid #e0e0e0;
1267
+ border-radius: 12px;
1268
+ overflow: hidden;
1269
+ font-size: 13px;
1270
+ background-color: #ffffff;
1271
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
1272
+ font-family:
1273
+ -apple-system,
1274
+ BlinkMacSystemFont,
1275
+ "Segoe UI",
1276
+ Roboto,
1277
+ "Helvetica Neue",
1278
+ Arial,
1279
+ sans-serif;
1280
+ }
1281
+ .table-caption {
1282
+ padding: 16px 20px;
1283
+ font-weight: 600;
1284
+ font-size: 14px;
1285
+ border-bottom: 1px solid #e0e0e0;
1286
+ background-color: #f8f9fa;
1287
+ color: #1a1a1a;
1288
+ }
1289
+ .table-wrapper {
1290
+ overflow-x: auto;
1291
+ }
1292
+ .table {
1293
+ width: 100%;
1294
+ border-collapse: collapse;
1295
+ min-width: 100%;
1296
+ }
1297
+ .table-header {
1298
+ background-color: #f8f9fa;
1299
+ }
1300
+ .table-th {
1301
+ border-bottom: 2px solid #e0e0e0;
1302
+ padding: 14px 20px;
1303
+ text-align: left;
1304
+ font-weight: 600;
1305
+ font-size: 12px;
1306
+ color: #4a5568;
1307
+ text-transform: uppercase;
1308
+ letter-spacing: 0.5px;
1309
+ white-space: nowrap;
1310
+ }
1311
+ .table-tbody tr {
1312
+ background-color: #ffffff;
1313
+ transition: background-color 0.15s ease;
1314
+ }
1315
+ .table-tbody tr:nth-child(even) {
1316
+ background-color: #fafbfc;
1317
+ }
1318
+ .table-tbody tr:hover {
1319
+ background-color: #f0f4f8;
1320
+ }
1321
+ .table-td {
1322
+ border-bottom: 1px solid #e8e8e8;
1323
+ padding: 16px 20px;
1324
+ font-size: 13px;
1325
+ vertical-align: middle;
1326
+ }
1327
+ .table-td > span {
1328
+ color: #a0a0a0;
1329
+ font-style: italic;
1330
+ }
1331
+ .table-cell-image {
1332
+ display: flex;
1333
+ align-items: center;
1334
+ }
1335
+ .table-image {
1336
+ width: 40px;
1337
+ height: 40px;
1338
+ border-radius: 8px;
1339
+ object-fit: cover;
1340
+ border: 1px solid #e0e0e0;
1341
+ }
1342
+ .table-cell-text {
1343
+ color: #2d3748;
1344
+ line-height: 1.5;
1345
+ }
1346
+ .table-empty {
1347
+ padding: 40px;
1348
+ text-align: center;
1349
+ color: #9ca3af;
1350
+ font-size: 13px;
1351
+ }
1352
+ .card-component {
1353
+ border: 1px solid #e5e7eb;
1354
+ border-radius: 16px;
1355
+ padding: 16px;
1356
+ background-color: #ffffff;
1357
+ box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
1358
+ overflow: hidden;
1359
+ margin-bottom: 12px;
1360
+ }
1361
+ .card-content {
1362
+ display: flex;
1363
+ gap: 12px;
1364
+ }
1365
+ .card-image {
1366
+ width: 64px;
1367
+ height: 64px;
1368
+ border-radius: 8px;
1369
+ object-fit: cover;
1370
+ flex-shrink: 0;
1371
+ }
1372
+ .card-info {
1373
+ flex: 1;
1374
+ min-width: 0;
1375
+ }
1376
+ .card-title {
1377
+ font-weight: 600;
1378
+ font-size: 14px;
1379
+ margin-bottom: 8px;
1380
+ overflow: hidden;
1381
+ text-overflow: ellipsis;
1382
+ white-space: nowrap;
1383
+ }
1384
+ .card-subtitle {
1385
+ color: #64748b;
1386
+ font-size: 12px;
1387
+ margin-bottom: 4px;
1388
+ margin: 0;
1389
+ }
1390
+ .card-status {
1391
+ display: flex;
1392
+ gap: 8px;
1393
+ font-size: 12px;
1394
+ margin-bottom: 4px;
1395
+ }
1396
+ .card-status-label {
1397
+ color: #64748b;
1398
+ font-weight: 500;
1399
+ }
1400
+ .card-status-value {
1401
+ color: #475569;
1402
+ }
1403
+ .card-fields {
1404
+ display: flex;
1405
+ flex-direction: column;
1406
+ gap: 4px;
1407
+ }
1408
+ .card-field {
1409
+ display: flex;
1410
+ gap: 8px;
1411
+ font-size: 12px;
1412
+ }
1413
+ .card-field-label {
1414
+ color: #64748b;
1415
+ font-weight: 500;
1416
+ }
1417
+ .card-field-value {
1418
+ color: #475569;
1419
+ }
1420
+ .card-description {
1421
+ color: #64748b;
1422
+ font-size: 12px;
1423
+ margin-top: 8px;
1424
+ margin: 0;
1425
+ }
1426
+ .card-list {
1427
+ width: 100%;
1428
+ }
1429
+ .card-list-title {
1430
+ font-weight: 600;
1431
+ margin-bottom: 12px;
1432
+ font-size: 14px;
1433
+ color: #1a1a1a;
1434
+ margin-top: 0;
1435
+ }
1436
+ .card-list-description {
1437
+ color: #64748b;
1438
+ margin-bottom: 12px;
1439
+ font-size: 12px;
1440
+ margin-top: 0;
1441
+ }
1442
+ .card-grid {
1443
+ display: grid;
1444
+ grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
1445
+ gap: 12px;
1446
+ }
1447
+ .card-item {
1448
+ font-size: 12px;
1449
+ border: 1px solid #e0e0e0;
1450
+ border-radius: 12px;
1451
+ padding: 16px;
1452
+ background-color: #ffffff;
1453
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
1454
+ overflow: hidden;
1455
+ }
1456
+ .card-item-content {
1457
+ display: flex;
1458
+ gap: 12px;
1459
+ }
1460
+ .card-item-image {
1461
+ width: 64px;
1462
+ height: 64px;
1463
+ border-radius: 8px;
1464
+ object-fit: cover;
1465
+ flex-shrink: 0;
1466
+ }
1467
+ .card-item-info {
1468
+ flex: 1;
1469
+ min-width: 0;
1470
+ }
1471
+ .card-item-title {
1472
+ font-weight: 600;
1473
+ font-size: 14px;
1474
+ margin-bottom: 4px;
1475
+ overflow: hidden;
1476
+ text-overflow: ellipsis;
1477
+ white-space: nowrap;
1478
+ color: #1a1a1a;
1479
+ margin-top: 0;
1480
+ }
1481
+ .card-item-subtitle {
1482
+ color: #64748b;
1483
+ font-size: 12px;
1484
+ margin: 0;
1485
+ }
1486
+ .card-item-legacy {
1487
+ display: flex;
1488
+ justify-content: space-between;
1489
+ gap: 8px;
1490
+ font-size: 12px;
1491
+ }
1492
+ .card-item-legacy-label {
1493
+ color: #64748b;
1494
+ margin: 0;
1495
+ }
1496
+ .card-item-legacy-value {
1497
+ font-weight: 500;
1498
+ color: #1a1a1a;
1499
+ margin: 0;
1500
+ }
1501
+ .field-image {
1502
+ width: 24px;
1503
+ height: 24px;
1504
+ border-radius: 999px;
1505
+ object-fit: cover;
1506
+ }
1507
+ .field-link {
1508
+ text-decoration: underline;
1509
+ }
1510
+ .field-badge {
1511
+ display: inline-block;
1512
+ padding: 2px 6px;
1513
+ border-radius: 999px;
1514
+ font-size: 10px;
1515
+ font-weight: 500;
1516
+ }
1517
+ .field-badge.success {
1518
+ background-color: #e0fce5;
1519
+ color: #1a7f36;
1520
+ }
1521
+ .field-badge.warning {
1522
+ background-color: #fff7d6;
1523
+ color: #8a6a00;
1524
+ }
1525
+ .field-badge.danger {
1526
+ background-color: #ffe4e4;
1527
+ color: #b42318;
1528
+ }
1529
+ .field-badge:not(.success):not(.warning):not(.danger) {
1530
+ background-color: #f2f2f2;
1531
+ color: #333;
1532
+ }
1533
+ .field-list {
1534
+ margin: 0;
1535
+ padding-left: 16px;
1536
+ }
1537
+ /*# sourceMappingURL=index.css.map */