@bigtablet/design-system 1.1.3 → 1.2.2

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/client.css DELETED
@@ -1,943 +0,0 @@
1
- /* src/ui/general/button/style.scss */
2
- .btn {
3
- display: flex;
4
- align-items: center;
5
- justify-content: center;
6
- border: none;
7
- cursor: pointer;
8
- transition: 0.2s ease-out;
9
- font-weight: 500;
10
- border-radius: 8px;
11
- }
12
- .btn:disabled {
13
- cursor: not-allowed;
14
- opacity: 0.5;
15
- }
16
- .btn--primary {
17
- display: flex;
18
- align-items: center;
19
- justify-content: center;
20
- border: none;
21
- cursor: pointer;
22
- transition: 0.2s ease-out;
23
- font-weight: 500;
24
- border-radius: 8px;
25
- }
26
- .btn--primary:disabled {
27
- cursor: not-allowed;
28
- opacity: 0.5;
29
- }
30
- .btn--primary {
31
- background: #000000;
32
- color: #ffffff;
33
- }
34
- .btn--primary:hover:not(:disabled) {
35
- background: #333333;
36
- }
37
- .btn--primary:active:not(:disabled) {
38
- transform: scale(0.98);
39
- }
40
- .btn--secondary {
41
- display: flex;
42
- align-items: center;
43
- justify-content: center;
44
- border: none;
45
- cursor: pointer;
46
- transition: 0.2s ease-out;
47
- font-weight: 500;
48
- border-radius: 8px;
49
- }
50
- .btn--secondary:disabled {
51
- cursor: not-allowed;
52
- opacity: 0.5;
53
- }
54
- .btn--secondary {
55
- background: transparent;
56
- border: 1px solid #e5e5e5;
57
- color: #1a1a1a;
58
- }
59
- .btn--secondary:hover:not(:disabled) {
60
- background: #fafafa;
61
- }
62
- .btn--secondary:active:not(:disabled) {
63
- transform: scale(0.98);
64
- }
65
- .btn--ghost {
66
- display: flex;
67
- align-items: center;
68
- justify-content: center;
69
- border: none;
70
- cursor: pointer;
71
- transition: 0.2s ease-out;
72
- font-weight: 500;
73
- border-radius: 8px;
74
- }
75
- .btn--ghost:disabled {
76
- cursor: not-allowed;
77
- opacity: 0.5;
78
- }
79
- .btn--ghost {
80
- background: transparent;
81
- color: #1a1a1a;
82
- }
83
- .btn--ghost:hover:not(:disabled) {
84
- background: rgba(0, 0, 0, 0.05);
85
- }
86
- .btn--ghost:active:not(:disabled) {
87
- transform: scale(0.95);
88
- }
89
- .btn--sm {
90
- padding: 0.5rem 1rem;
91
- font-size: 0.875rem;
92
- line-height: 1.5;
93
- }
94
- .btn--md {
95
- padding: 0.75rem 1.25rem;
96
- font-size: 0.9375rem;
97
- line-height: 1.5;
98
- }
99
- .btn--lg {
100
- padding: 1rem 1.5rem;
101
- font-size: 1rem;
102
- line-height: 1.5;
103
- }
104
-
105
- /* src/ui/general/select/style.scss */
106
- .select {
107
- position: relative;
108
- display: inline-flex;
109
- flex-direction: column;
110
- width: 100%;
111
- gap: 0.25rem;
112
- font-family: "Pretendard", sans-serif;
113
- }
114
- .select__label {
115
- font-size: 0.875rem;
116
- line-height: 1.5;
117
- font-weight: 500;
118
- color: #1a1a1a;
119
- }
120
- .select__control--outline {
121
- width: 100%;
122
- display: inline-flex;
123
- align-items: center;
124
- justify-content: space-between;
125
- gap: 0.5rem;
126
- cursor: pointer;
127
- color: #1a1a1a;
128
- background: #ffffff;
129
- border-radius: 8px;
130
- transition:
131
- border-color 0.2s ease-out,
132
- box-shadow 0.2s ease-out,
133
- background 0.2s ease-out;
134
- font-size: 0.9375rem;
135
- line-height: 1.5;
136
- }
137
- .select__control--outline:disabled,
138
- .select__control--outline.is-disabled {
139
- cursor: not-allowed;
140
- opacity: 0.7;
141
- background: #fafafa;
142
- color: #999999;
143
- }
144
- .select__control--outline {
145
- border: 1px solid #e5e5e5;
146
- }
147
- .select__control--outline:hover:not(.is-disabled) {
148
- border-color: rgba(0, 0, 0, 0.08);
149
- }
150
- .select__control--outline.is-open {
151
- border-color: #000000;
152
- box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.15);
153
- }
154
- .select__control--filled {
155
- width: 100%;
156
- display: inline-flex;
157
- align-items: center;
158
- justify-content: space-between;
159
- gap: 0.5rem;
160
- cursor: pointer;
161
- color: #1a1a1a;
162
- background: #ffffff;
163
- border-radius: 8px;
164
- transition:
165
- border-color 0.2s ease-out,
166
- box-shadow 0.2s ease-out,
167
- background 0.2s ease-out;
168
- font-size: 0.9375rem;
169
- line-height: 1.5;
170
- }
171
- .select__control--filled:disabled,
172
- .select__control--filled.is-disabled {
173
- cursor: not-allowed;
174
- opacity: 0.7;
175
- background: #fafafa;
176
- color: #999999;
177
- }
178
- .select__control--filled {
179
- background: #fafafa;
180
- border: 1px solid transparent;
181
- }
182
- .select__control--filled:hover:not(.is-disabled) {
183
- background: rgb(253.5, 253.5, 253.5);
184
- }
185
- .select__control--filled.is-open {
186
- background: #ffffff;
187
- border-color: #000000;
188
- box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.15);
189
- }
190
- .select__control--ghost {
191
- width: 100%;
192
- display: inline-flex;
193
- align-items: center;
194
- justify-content: space-between;
195
- gap: 0.5rem;
196
- cursor: pointer;
197
- color: #1a1a1a;
198
- background: #ffffff;
199
- border-radius: 8px;
200
- transition:
201
- border-color 0.2s ease-out,
202
- box-shadow 0.2s ease-out,
203
- background 0.2s ease-out;
204
- font-size: 0.9375rem;
205
- line-height: 1.5;
206
- }
207
- .select__control--ghost:disabled,
208
- .select__control--ghost.is-disabled {
209
- cursor: not-allowed;
210
- opacity: 0.7;
211
- background: #fafafa;
212
- color: #999999;
213
- }
214
- .select__control--ghost {
215
- background: transparent;
216
- border: 1px solid transparent;
217
- }
218
- .select__control--ghost:hover:not(.is-disabled) {
219
- background: rgba(0, 0, 0, 0.03);
220
- }
221
- .select__control--ghost.is-open {
222
- background: #ffffff;
223
- border-color: #000000;
224
- box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.15);
225
- }
226
- .select__control--sm {
227
- padding: 0.5rem 1rem;
228
- font-size: 0.875rem;
229
- line-height: 1.5;
230
- }
231
- .select__control--md {
232
- padding: 0.75rem 1.25rem;
233
- font-size: 0.9375rem;
234
- line-height: 1.5;
235
- }
236
- .select__control--lg {
237
- padding: 1rem 1.5rem;
238
- font-size: 1rem;
239
- line-height: 1.5;
240
- }
241
- .select__control .select__value {
242
- flex: 1 1 auto;
243
- min-width: 0;
244
- overflow: hidden;
245
- text-overflow: ellipsis;
246
- white-space: nowrap;
247
- font-size: 0.9375rem;
248
- font-weight: 400;
249
- line-height: 1.5;
250
- }
251
- .select__control .select__placeholder {
252
- flex: 1 1 auto;
253
- min-width: 0;
254
- overflow: hidden;
255
- text-overflow: ellipsis;
256
- white-space: nowrap;
257
- font-size: 0.9375rem;
258
- font-weight: 400;
259
- line-height: 1.5;
260
- color: #999999;
261
- }
262
- .select__control .select__icon {
263
- display: inline-flex;
264
- align-items: center;
265
- justify-content: center;
266
- color: #666666;
267
- }
268
- .select__list {
269
- position: absolute;
270
- z-index: 10000;
271
- top: calc(100% + 0.25rem);
272
- left: 0;
273
- width: 100%;
274
- min-width: 100%;
275
- box-sizing: border-box;
276
- background: #ffffff;
277
- border: 1px solid #e5e5e5;
278
- border-radius: 8px;
279
- box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08), 0 2px 4px rgba(0, 0, 0, 0.04);
280
- max-height: 18rem;
281
- overflow-y: auto;
282
- overflow-x: hidden;
283
- padding: 0.25rem 0;
284
- }
285
- .select__option {
286
- width: 100%;
287
- box-sizing: border-box;
288
- display: grid;
289
- grid-template-columns: 1fr auto;
290
- align-items: center;
291
- gap: 0.5rem;
292
- padding: 0.5rem 1rem;
293
- cursor: pointer;
294
- color: #1a1a1a;
295
- background: transparent;
296
- font-size: 0.9375rem;
297
- font-weight: 400;
298
- line-height: 1.5;
299
- }
300
- .select__option > span:first-child {
301
- min-width: 0;
302
- overflow: hidden;
303
- text-overflow: ellipsis;
304
- white-space: nowrap;
305
- }
306
- .select__option:hover,
307
- .select__option.is-active {
308
- background: #fafafa;
309
- }
310
- .select__option.is-selected {
311
- font-weight: 500;
312
- }
313
- .select__option.is-disabled {
314
- cursor: not-allowed;
315
- color: #999999;
316
- }
317
-
318
- /* src/ui/feedback/alert/style.scss */
319
- .alert {
320
- position: relative;
321
- display: grid;
322
- grid-template-columns: auto 1fr auto;
323
- align-items: start;
324
- gap: 0.75rem;
325
- padding: 0.75rem 1rem;
326
- border-radius: 8px;
327
- border: 1px solid #e5e5e5;
328
- background: #ffffff;
329
- }
330
- .alert::before {
331
- content: "";
332
- position: absolute;
333
- inset: 0 auto 0 0;
334
- width: 4px;
335
- border-top-left-radius: inherit;
336
- border-bottom-left-radius: inherit;
337
- background: #3b82f6;
338
- }
339
- .alert__icon {
340
- margin-top: 2px;
341
- color: #666666;
342
- display: inline-grid;
343
- place-items: center;
344
- }
345
- .alert__content {
346
- min-width: 0;
347
- }
348
- .alert__title {
349
- font-size: 1rem;
350
- line-height: 1.5;
351
- font-weight: 600;
352
- color: #1a1a1a;
353
- margin-bottom: 0.25rem;
354
- }
355
- .alert__desc {
356
- font-size: 0.9375rem;
357
- font-weight: 400;
358
- line-height: 1.5;
359
- color: #666666;
360
- }
361
- .alert__close {
362
- align-self: start;
363
- display: inline-grid;
364
- place-items: center;
365
- margin-left: 0.75rem;
366
- width: 28px;
367
- height: 28px;
368
- padding: 0;
369
- border: 0;
370
- border-radius: 6px;
371
- background: transparent;
372
- color: #666666;
373
- line-height: 1;
374
- cursor: pointer;
375
- transition:
376
- background 0.15s ease,
377
- color 0.15s ease,
378
- transform 0.05s ease;
379
- }
380
- .alert__close:hover {
381
- background: rgba(0, 0, 0, 0.05);
382
- color: #1a1a1a;
383
- }
384
- .alert__close:active {
385
- transform: translateY(0.5px);
386
- }
387
- .alert__close:focus-visible {
388
- outline: 2px solid rgba(0, 0, 0, 0.2);
389
- outline-offset: 2px;
390
- }
391
- .alert--info {
392
- background: rgb(243.24, 247.5, 254.46);
393
- border-color: rgb(200.12, 220, 252.48);
394
- }
395
- .alert--info::before {
396
- background: #3b82f6;
397
- }
398
- .alert--info .alert__icon {
399
- color: #3b82f6;
400
- }
401
- .alert--success {
402
- background: rgb(240.66, 250.8, 247.44);
403
- border-color: rgb(188.08, 235.4, 219.72);
404
- }
405
- .alert--success::before {
406
- background: #10b981;
407
- }
408
- .alert--success .alert__icon {
409
- color: #10b981;
410
- }
411
- .alert--warning {
412
- background: rgb(254.2, 247.24, 235.48);
413
- border-color: rgb(251.8, 223.96, 176.92);
414
- }
415
- .alert--warning::before {
416
- background: #f59e0b;
417
- }
418
- .alert--warning .alert__icon {
419
- color: #f59e0b;
420
- }
421
- .alert--error {
422
- background: rgb(254.04, 243.78, 243.78);
423
- border-color: rgb(250.52, 202.64, 202.64);
424
- }
425
- .alert--error::before {
426
- background: #ef4444;
427
- }
428
- .alert--error .alert__icon {
429
- color: #ef4444;
430
- }
431
-
432
- /* src/ui/form/checkbox/style.scss */
433
- .checkbox {
434
- display: inline-flex;
435
- align-items: center;
436
- gap: 0.5rem;
437
- cursor: pointer;
438
- user-select: none;
439
- }
440
- .checkbox__input {
441
- position: absolute;
442
- opacity: 0;
443
- pointer-events: none;
444
- }
445
- .checkbox__box {
446
- width: 1.125rem;
447
- height: 1.125rem;
448
- border: 1px solid #e5e5e5;
449
- border-radius: 6px;
450
- background: #ffffff;
451
- transition:
452
- background 0.2s ease-out,
453
- border-color 0.2s ease-out,
454
- box-shadow 0.2s ease-out;
455
- }
456
- .checkbox__label {
457
- font-size: 0.9375rem;
458
- line-height: 1.5;
459
- color: #1a1a1a;
460
- }
461
- .checkbox--sm .checkbox__box {
462
- width: 1rem;
463
- height: 1rem;
464
- }
465
- .checkbox--sm .checkbox__label {
466
- font-size: 0.875rem;
467
- line-height: 1.5;
468
- }
469
- .checkbox--md .checkbox__box {
470
- width: 1.125rem;
471
- height: 1.125rem;
472
- }
473
- .checkbox--lg .checkbox__box {
474
- width: 1.25rem;
475
- height: 1.25rem;
476
- }
477
- .checkbox--lg .checkbox__label {
478
- font-size: 1rem;
479
- line-height: 1.5;
480
- }
481
- .checkbox:has(.checkbox__input:focus-visible) .checkbox__box {
482
- box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.15);
483
- border-color: #000000;
484
- }
485
- .checkbox:has(.checkbox__input:checked) .checkbox__box,
486
- .checkbox:has(.checkbox__input:indeterminate) .checkbox__box {
487
- background: #000000;
488
- border-color: #000000;
489
- }
490
- .checkbox:has(.checkbox__input:checked) .checkbox__box::after,
491
- .checkbox:has(.checkbox__input:indeterminate) .checkbox__box::after {
492
- content: "";
493
- display: block;
494
- width: 100%;
495
- height: 100%;
496
- background: #ffffff;
497
- clip-path: polygon(14% 52%, 0 66%, 40% 100%, 100% 24%, 86% 10%, 38% 70%);
498
- }
499
- .checkbox:has(.checkbox__input:indeterminate) .checkbox__box::after {
500
- clip-path: inset(40% 15% 40% 15%);
501
- }
502
- .checkbox:has(.checkbox__input:disabled) {
503
- opacity: 0.6;
504
- cursor: not-allowed;
505
- }
506
-
507
- /* src/ui/form/file/style.scss */
508
- .file {
509
- position: relative;
510
- display: inline-flex;
511
- align-items: center;
512
- }
513
- .file__input {
514
- position: absolute;
515
- inset: 0;
516
- opacity: 0;
517
- cursor: pointer;
518
- }
519
- .file__label {
520
- border: 1px solid #e5e5e5;
521
- border-radius: 8px;
522
- background: #ffffff;
523
- padding: 0.5rem 1rem;
524
- color: #1a1a1a;
525
- transition: background 0.2s ease-out, border-color 0.2s ease-out;
526
- font-size: 0.9375rem;
527
- line-height: 1.5;
528
- }
529
- .file:hover .file__label {
530
- border-color: rgba(0, 0, 0, 0.08);
531
- }
532
- .file:has(.file__input:focus-visible) .file__label {
533
- box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.15);
534
- border-color: #000000;
535
- }
536
-
537
- /* src/ui/form/radio/style.scss */
538
- .radio {
539
- display: inline-flex;
540
- align-items: center;
541
- gap: 0.5rem;
542
- cursor: pointer;
543
- }
544
- .radio__input {
545
- position: absolute;
546
- opacity: 0;
547
- pointer-events: none;
548
- }
549
- .radio__dot {
550
- width: 1.125rem;
551
- height: 1.125rem;
552
- border: 1px solid #e5e5e5;
553
- border-radius: 9999px;
554
- background: #ffffff;
555
- transition:
556
- background 0.2s ease-out,
557
- border-color 0.2s ease-out,
558
- box-shadow 0.2s ease-out;
559
- }
560
- .radio__label {
561
- font-size: 0.9375rem;
562
- line-height: 1.5;
563
- color: #1a1a1a;
564
- }
565
- .radio--sm .radio__dot {
566
- width: 1rem;
567
- height: 1rem;
568
- }
569
- .radio--sm .radio__label {
570
- font-size: 0.875rem;
571
- line-height: 1.5;
572
- }
573
- .radio--lg .radio__dot {
574
- width: 1.25rem;
575
- height: 1.25rem;
576
- }
577
- .radio--lg .radio__label {
578
- font-size: 1rem;
579
- line-height: 1.5;
580
- }
581
- .radio:has(.radio__input:focus-visible) .radio__dot {
582
- box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.15);
583
- border-color: #000000;
584
- }
585
- .radio:has(.radio__input:checked) .radio__dot {
586
- border-color: #000000;
587
- }
588
- .radio:has(.radio__input:checked) .radio__dot::after {
589
- content: "";
590
- display: block;
591
- width: 60%;
592
- height: 60%;
593
- margin: 20%;
594
- background: #000000;
595
- border-radius: 9999px;
596
- }
597
- .radio:has(.radio__input:disabled) {
598
- opacity: 0.6;
599
- cursor: not-allowed;
600
- }
601
-
602
- /* src/ui/form/switch/style.scss */
603
- .switch {
604
- position: relative;
605
- display: inline-flex;
606
- align-items: center;
607
- border-radius: 9999px;
608
- background: #e5e5e5;
609
- transition: background 0.2s ease-out;
610
- cursor: pointer;
611
- width: 40px;
612
- height: 22px;
613
- padding: 2px;
614
- }
615
- .switch__thumb {
616
- width: 18px;
617
- height: 18px;
618
- background: #ffffff;
619
- border-radius: 9999px;
620
- transition: transform 0.2s ease-out;
621
- transform: translateX(0);
622
- }
623
- .switch.is-on {
624
- background: #000000;
625
- }
626
- .switch.is-on .switch__thumb {
627
- transform: translateX(18px);
628
- }
629
- .switch--sm {
630
- width: 34px;
631
- height: 18px;
632
- }
633
- .switch--sm .switch__thumb {
634
- width: 14px;
635
- height: 14px;
636
- }
637
- .switch--sm.is-on .switch__thumb {
638
- transform: translateX(16px);
639
- }
640
- .switch--lg {
641
- width: 48px;
642
- height: 26px;
643
- }
644
- .switch--lg .switch__thumb {
645
- width: 22px;
646
- height: 22px;
647
- }
648
- .switch--lg.is-on .switch__thumb {
649
- transform: translateX(22px);
650
- }
651
- .switch.is-disabled {
652
- opacity: 0.6;
653
- cursor: not-allowed;
654
- }
655
-
656
- /* src/ui/form/textfield/style.scss */
657
- .tf__label {
658
- margin-bottom: 0.75rem;
659
- color: #1a1a1a;
660
- font-size: 0.875rem;
661
- line-height: 1.5;
662
- font-weight: 500;
663
- }
664
- .tf__wrapper {
665
- position: relative;
666
- display: inline-flex;
667
- width: 100%;
668
- align-items: center;
669
- gap: 0.75rem;
670
- }
671
- .tf__input--outline {
672
- width: 100%;
673
- border-radius: 8px;
674
- transition:
675
- border-color 0.2s ease-out,
676
- box-shadow 0.2s ease-out,
677
- background 0.2s ease-out;
678
- font-size: 0.9375rem;
679
- line-height: 1.5;
680
- color: #1a1a1a;
681
- background: #ffffff;
682
- }
683
- .tf__input--outline::placeholder {
684
- color: #999999;
685
- }
686
- .tf__input--outline:disabled {
687
- cursor: not-allowed;
688
- background: #fafafa;
689
- color: #999999;
690
- opacity: 0.7;
691
- }
692
- .tf__input--outline {
693
- border: 1px solid #e5e5e5;
694
- }
695
- .tf__input--outline:hover:not(:disabled) {
696
- border-color: rgba(0, 0, 0, 0.08);
697
- }
698
- .tf__input--outline:focus-visible {
699
- outline: none;
700
- border-color: #000000;
701
- box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.15);
702
- }
703
- .tf__input--filled {
704
- width: 100%;
705
- border-radius: 8px;
706
- transition:
707
- border-color 0.2s ease-out,
708
- box-shadow 0.2s ease-out,
709
- background 0.2s ease-out;
710
- font-size: 0.9375rem;
711
- line-height: 1.5;
712
- color: #1a1a1a;
713
- background: #ffffff;
714
- }
715
- .tf__input--filled::placeholder {
716
- color: #999999;
717
- }
718
- .tf__input--filled:disabled {
719
- cursor: not-allowed;
720
- background: #fafafa;
721
- color: #999999;
722
- opacity: 0.7;
723
- }
724
- .tf__input--filled {
725
- background: #fafafa;
726
- border: 1px solid transparent;
727
- }
728
- .tf__input--filled:hover:not(:disabled) {
729
- background: rgb(253.5, 253.5, 253.5);
730
- }
731
- .tf__input--filled:focus-visible {
732
- outline: none;
733
- border-color: #000000;
734
- background: #ffffff;
735
- box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.15);
736
- }
737
- .tf__input--ghost {
738
- width: 100%;
739
- border-radius: 8px;
740
- transition:
741
- border-color 0.2s ease-out,
742
- box-shadow 0.2s ease-out,
743
- background 0.2s ease-out;
744
- font-size: 0.9375rem;
745
- line-height: 1.5;
746
- color: #1a1a1a;
747
- background: #ffffff;
748
- }
749
- .tf__input--ghost::placeholder {
750
- color: #999999;
751
- }
752
- .tf__input--ghost:disabled {
753
- cursor: not-allowed;
754
- background: #fafafa;
755
- color: #999999;
756
- opacity: 0.7;
757
- }
758
- .tf__input--ghost {
759
- background: transparent;
760
- border: 1px solid transparent;
761
- }
762
- .tf__input--ghost:hover:not(:disabled) {
763
- background: rgba(0, 0, 0, 0.03);
764
- }
765
- .tf__input--ghost:focus-visible {
766
- outline: none;
767
- border-color: #000000;
768
- background: #ffffff;
769
- box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.15);
770
- }
771
- .tf__input--sm {
772
- padding: 0.5rem 1rem;
773
- font-size: 0.875rem;
774
- line-height: 1.5;
775
- }
776
- .tf__input--md {
777
- padding: 0.75rem 1.25rem;
778
- font-size: 0.9375rem;
779
- line-height: 1.5;
780
- }
781
- .tf__input--lg {
782
- padding: 1rem 1.5rem;
783
- font-size: 1rem;
784
- line-height: 1.5;
785
- }
786
- .tf__input--with-left {
787
- padding-left: calc(1.25rem + 1.25rem);
788
- }
789
- .tf__input--with-right {
790
- padding-right: calc(1.25rem + 1.25rem);
791
- }
792
- .tf__input--error {
793
- border-color: #ef4444 !important;
794
- box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.15) !important;
795
- }
796
- .tf__input--success {
797
- border-color: #10b981 !important;
798
- box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.15) !important;
799
- }
800
- .tf__icon {
801
- position: absolute;
802
- display: inline-flex;
803
- align-items: center;
804
- justify-content: center;
805
- width: 1.25rem;
806
- height: 1.25rem;
807
- color: #666666;
808
- }
809
- .tf__icon--left {
810
- left: 0.75rem;
811
- }
812
- .tf__icon--right {
813
- right: 0.75rem;
814
- }
815
- .tf__helper {
816
- margin-top: 0.25rem;
817
- font-size: 0.875rem;
818
- line-height: 1.5;
819
- color: #666666;
820
- }
821
- .tf__helper--error {
822
- color: #ef4444;
823
- }
824
-
825
- /* src/ui/navigation/pagination/style.scss */
826
- .pagination {
827
- display: inline-flex;
828
- align-items: center;
829
- gap: 0.5rem;
830
- }
831
- .pagination__item {
832
- border: 1px solid #e5e5e5;
833
- background: #ffffff;
834
- color: #1a1a1a;
835
- border-radius: 6px;
836
- padding: 0.25rem 0.5rem;
837
- cursor: pointer;
838
- font-size: 0.875rem;
839
- line-height: 1.5;
840
- }
841
- .pagination__item.is-active {
842
- background: #000000;
843
- color: #ffffff;
844
- border-color: #000000;
845
- }
846
- .pagination__item:disabled {
847
- opacity: 0.5;
848
- cursor: not-allowed;
849
- }
850
- .pagination__item:focus-visible {
851
- box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.15);
852
- border-color: #000000;
853
- }
854
- .pagination__ellipsis {
855
- padding: 0 0.25rem;
856
- color: #999999;
857
- }
858
-
859
- /* src/ui/navigation/sidebar/style.scss */
860
- .sidebar {
861
- height: 100%;
862
- background: #ffffff;
863
- border-right: 1px solid #e5e5e5;
864
- display: flex;
865
- flex-direction: column;
866
- gap: 0.5rem;
867
- padding: 0.5rem;
868
- }
869
- .sidebar__toggle {
870
- align-self: flex-end;
871
- width: 24px;
872
- height: 24px;
873
- border-radius: 6px;
874
- border: 1px solid #e5e5e5;
875
- background: #ffffff;
876
- }
877
- .sidebar__nav {
878
- display: grid;
879
- gap: 0.25rem;
880
- }
881
- .sidebar__item {
882
- display: grid;
883
- grid-template-columns: 24px 1fr;
884
- align-items: center;
885
- gap: 0.5rem;
886
- padding: 0.5rem;
887
- border-radius: 8px;
888
- color: #1a1a1a;
889
- background: transparent;
890
- border: 1px solid transparent;
891
- font-size: 0.9375rem;
892
- line-height: 1.5;
893
- cursor: pointer;
894
- transition: background 0.2s ease, color 0.2s ease;
895
- }
896
- .sidebar__item:hover {
897
- background: #fafafa;
898
- }
899
- .sidebar__item.is-active {
900
- background: rgb(25.5, 25.5, 25.5);
901
- border-color: rgb(76.5, 76.5, 76.5);
902
- color: #ffffff;
903
- }
904
- .sidebar__item.is-active .sidebar__icon {
905
- color: #ffffff;
906
- }
907
- .sidebar__icon {
908
- display: inline-grid;
909
- place-items: center;
910
- color: #666666;
911
- transition: color 0.2s ease;
912
- }
913
- .sidebar.is-collapsed .sidebar__item {
914
- grid-template-columns: 1fr;
915
- place-items: center;
916
- }
917
-
918
- /* src/ui/overlay/modal/style.scss */
919
- .modal {
920
- position: fixed;
921
- inset: 0;
922
- background: rgba(0, 0, 0, 0.5);
923
- display: grid;
924
- place-items: center;
925
- z-index: 10000;
926
- }
927
- .modal__panel {
928
- background: #ffffff;
929
- border-radius: 12px;
930
- box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12), 0 4px 8px rgba(0, 0, 0, 0.06);
931
- max-width: calc(100% - 32px);
932
- }
933
- .modal__header {
934
- padding: 1rem;
935
- font-size: 1.25rem;
936
- font-weight: 600;
937
- line-height: 1.3;
938
- color: #1a1a1a;
939
- border-bottom: 1px solid #e5e5e5;
940
- }
941
- .modal__body {
942
- padding: 1rem;
943
- }