@bigtablet/design-system 1.1.2 → 1.1.3

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