@bigtablet/design-system 1.24.2 → 1.25.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 CHANGED
@@ -1,56 +1,4 @@
1
- /* src/ui/display/card/style.scss */
2
- @keyframes skeleton_loading {
3
- 0% {
4
- background-position: 100% 0;
5
- }
6
- 100% {
7
- background-position: 0 0;
8
- }
9
- }
10
- .card {
11
- background: #FFFFFF;
12
- border-radius: 12px;
13
- }
14
- .card_bordered {
15
- border: 1px solid #E5E5E5;
16
- }
17
- .card_shadow_none {
18
- box-shadow: none;
19
- }
20
- .card_shadow_sm {
21
- box-shadow: 0 1px 1px -1px rgba(0, 0, 0, 0.2), 0 3px 3px 0px rgba(0, 0, 0, 0.12);
22
- }
23
- .card_shadow_md {
24
- box-shadow: 0 2px 2px -2px rgba(0, 0, 0, 0.2), 0 6px 6px 0px rgba(0, 0, 0, 0.12);
25
- }
26
- .card_shadow_lg {
27
- box-shadow: 0 3px 3px -3px rgba(0, 0, 0, 0.2), 0 9px 9px 0px rgba(0, 0, 0, 0.12);
28
- }
29
- .card_p_none {
30
- padding: 0;
31
- }
32
- .card_p_sm {
33
- padding: 8px;
34
- }
35
- .card_p_md {
36
- padding: 16px;
37
- }
38
- .card_p_lg {
39
- padding: 24px;
40
- }
41
- .card_title {
42
- font-size: 20px;
43
- font-weight: 400;
44
- line-height: 28px;
45
- letter-spacing: 0px;
46
- margin-bottom: 12px;
47
- color: #121212;
48
- }
49
- .card_body {
50
- width: 100%;
51
- }
52
-
53
- /* src/ui/feedback/alert/style.scss */
1
+ /* src/ui/alert/style.scss */
54
2
  @keyframes skeleton_loading {
55
3
  0% {
56
4
  background-position: 100% 0;
@@ -131,7 +79,7 @@
131
79
  }
132
80
  .alert_button {
133
81
  min-width: 80px;
134
- padding: 10px 24px;
82
+ padding: 12px 24px;
135
83
  border-radius: 6px;
136
84
  font-weight: 500;
137
85
  cursor: pointer;
@@ -152,7 +100,7 @@
152
100
  }
153
101
  .alert_button:disabled {
154
102
  cursor: not-allowed;
155
- opacity: 0.6;
103
+ opacity: 0.38;
156
104
  }
157
105
  .alert_button_cancel {
158
106
  background: #FFFFFF;
@@ -211,7 +159,7 @@
211
159
  border-color: rgb(236.5881773399, 39.8118226601, 39.8118226601);
212
160
  }
213
161
 
214
- /* src/ui/feedback/spinner/style.scss */
162
+ /* src/ui/button/style.scss */
215
163
  @keyframes skeleton_loading {
216
164
  0% {
217
165
  background-position: 100% 0;
@@ -220,164 +168,167 @@
220
168
  background-position: 0 0;
221
169
  }
222
170
  }
223
- @keyframes spinner_spin {
224
- to {
225
- transform: rotate(360deg);
226
- }
171
+ .button {
172
+ position: relative;
173
+ display: inline-flex;
174
+ align-items: center;
175
+ justify-content: center;
176
+ border: none;
177
+ border-radius: 9999px;
178
+ cursor: pointer;
179
+ overflow: hidden;
180
+ white-space: nowrap;
181
+ font-size: 14px;
182
+ font-weight: 500;
183
+ line-height: 20px;
184
+ letter-spacing: 0px;
185
+ transition:
186
+ background 0.2s ease-in-out,
187
+ color 0.2s ease-in-out,
188
+ border-color 0.2s ease-in-out;
227
189
  }
228
- .spinner {
229
- display: inline-block;
230
- box-sizing: border-box;
231
- border-radius: 50%;
232
- border: 2px solid #E5E5E5;
233
- border-top-color: #121212;
234
- animation: spinner_spin 0.8s linear infinite;
190
+ .button::before {
191
+ content: "";
192
+ position: absolute;
193
+ inset: 0;
194
+ border-radius: inherit;
195
+ transition: background 0.2s ease-in-out;
196
+ pointer-events: none;
235
197
  }
236
-
237
- /* src/ui/feedback/toast/style.scss */
238
- @keyframes skeleton_loading {
239
- 0% {
240
- background-position: 100% 0;
241
- }
242
- 100% {
243
- background-position: 0 0;
244
- }
198
+ .button:disabled {
199
+ cursor: not-allowed;
245
200
  }
246
- @keyframes toast_slide_in {
247
- from {
248
- opacity: 0;
249
- transform: translateX(calc(100% + 16px));
250
- }
251
- to {
252
- opacity: 1;
253
- transform: translateX(0);
254
- }
201
+ .button_size_sm {
202
+ min-height: 36px;
203
+ padding: 6px 12px;
204
+ gap: 4px;
255
205
  }
256
- @keyframes toast_slide_out {
257
- from {
258
- opacity: 1;
259
- transform: translateX(0);
260
- }
261
- to {
262
- opacity: 0;
263
- transform: translateX(calc(100% + 16px));
264
- }
206
+ .button_size_md {
207
+ min-height: 40px;
208
+ padding: 8px 16px;
209
+ gap: 6px;
265
210
  }
266
- @keyframes toast_progress {
267
- from {
268
- width: 100%;
269
- }
270
- to {
271
- width: 0%;
272
- }
211
+ .button_size_xl {
212
+ min-height: 56px;
213
+ padding: 16px 24px;
214
+ gap: 6px;
273
215
  }
274
- .toast_container {
275
- position: fixed;
276
- top: 16px;
277
- right: 16px;
278
- z-index: 200;
279
- display: flex;
280
- flex-direction: column;
281
- gap: 8px;
282
- pointer-events: none;
283
- width: 360px;
284
- max-width: calc(100vw - 32px);
216
+ .button_variant_filled {
217
+ background: #121212;
218
+ color: #FFFFFF;
285
219
  }
286
- .toast_item {
287
- pointer-events: auto;
288
- position: relative;
289
- overflow: hidden;
290
- display: flex;
291
- align-items: flex-start;
292
- gap: 8px;
293
- padding: 12px 12px 16px;
294
- background: #FFFFFF;
220
+ .button_variant_filled:hover:not(:disabled)::before {
221
+ background: rgba(255, 255, 255, 0.05);
222
+ }
223
+ .button_variant_filled:focus-visible:not(:disabled)::before {
224
+ background: rgba(255, 255, 255, 0.08);
225
+ }
226
+ .button_variant_filled:active:not(:disabled)::before {
227
+ background: rgba(255, 255, 255, 0.12);
228
+ }
229
+ .button_variant_filled:disabled {
230
+ background: rgba(26, 26, 26, 0.12);
231
+ color: #121212;
232
+ opacity: 0.38;
233
+ }
234
+ .button_variant_tonal {
235
+ background: rgba(0, 0, 0, 0.05);
236
+ color: #121212;
237
+ }
238
+ .button_variant_tonal:hover:not(:disabled)::before {
239
+ background: rgba(0, 0, 0, 0.05);
240
+ }
241
+ .button_variant_tonal:focus-visible:not(:disabled)::before {
242
+ background: rgba(0, 0, 0, 0.08);
243
+ }
244
+ .button_variant_tonal:active:not(:disabled)::before {
245
+ background: rgba(26, 26, 26, 0.12);
246
+ }
247
+ .button_variant_tonal:disabled {
248
+ background: rgba(26, 26, 26, 0.12);
249
+ color: #121212;
250
+ opacity: 0.38;
251
+ }
252
+ .button_variant_outline {
253
+ background: transparent;
295
254
  border: 1px solid #E5E5E5;
296
- border-radius: 12px;
297
- box-shadow: 0 2px 2px -2px rgba(0, 0, 0, 0.2), 0 6px 6px 0px rgba(0, 0, 0, 0.12);
298
- font-family: "Pretendard", sans-serif;
299
- font-size: 14px;
300
- font-weight: 500;
301
255
  color: #121212;
302
- line-height: 24px;
303
- animation: toast_slide_in 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards;
304
256
  }
305
- .toast_item_exiting {
306
- animation: toast_slide_out 0.26s ease-in forwards;
257
+ .button_variant_outline:hover:not(:disabled)::before {
258
+ background: rgba(0, 0, 0, 0.05);
307
259
  }
308
- .toast_icon {
309
- flex-shrink: 0;
310
- margin-top: 1px;
311
- display: flex;
260
+ .button_variant_outline:focus-visible:not(:disabled)::before {
261
+ background: rgba(0, 0, 0, 0.08);
312
262
  }
313
- .toast_icon_success {
314
- color: #10B981;
263
+ .button_variant_outline:active:not(:disabled)::before {
264
+ background: rgba(26, 26, 26, 0.12);
315
265
  }
316
- .toast_icon_error {
317
- color: #EF4444;
266
+ .button_variant_outline:disabled {
267
+ border-color: #E5E5E5;
268
+ color: #121212;
269
+ opacity: 0.38;
318
270
  }
319
- .toast_icon_warning {
320
- color: #F59E0B;
271
+ .button_variant_text {
272
+ background: transparent;
273
+ color: #121212;
321
274
  }
322
- .toast_icon_info {
323
- color: #3B82F6;
275
+ .button_variant_text:hover:not(:disabled)::before {
276
+ background: rgba(0, 0, 0, 0.05);
324
277
  }
325
- .toast_icon_default {
326
- color: #666666;
278
+ .button_variant_text:focus-visible:not(:disabled)::before {
279
+ background: rgba(0, 0, 0, 0.08);
327
280
  }
328
- .toast_message {
329
- flex: 1;
330
- word-break: break-word;
281
+ .button_variant_text:active:not(:disabled)::before {
282
+ background: rgba(26, 26, 26, 0.12);
331
283
  }
332
- .toast_close {
333
- flex-shrink: 0;
334
- display: flex;
335
- align-items: center;
336
- justify-content: center;
337
- width: 20px;
338
- height: 20px;
339
- margin-top: 1px;
340
- padding: 0;
341
- border: none;
342
- background: none;
343
- cursor: pointer;
344
- color: #888888;
284
+ .button_variant_text:disabled {
285
+ color: #121212;
286
+ opacity: 0.38;
287
+ }
288
+ .button_radius_none {
289
+ border-radius: 0px;
290
+ }
291
+ .button_radius_xs {
292
+ border-radius: 4px;
293
+ }
294
+ .button_radius_sm {
345
295
  border-radius: 6px;
346
- transition: color 0.1s ease-in-out, background-color 0.1s ease-in-out;
347
296
  }
348
- .toast_close:hover {
349
- color: #121212;
350
- background-color: #F4F4F4;
297
+ .button_radius_md {
298
+ border-radius: 8px;
351
299
  }
352
- .toast_close:focus-visible {
353
- outline: none;
354
- box-shadow: 0 0 0 3px rgba(18, 18, 18, 0.15);
300
+ .button_radius_lg {
301
+ border-radius: 12px;
355
302
  }
356
- .toast_progress {
357
- position: absolute;
358
- bottom: 0;
359
- left: 0;
360
- height: 3px;
361
- border-radius: 0 0 0 12px;
362
- animation: toast_progress var(--toast-duration, 3000ms) linear forwards;
303
+ .button_radius_xl {
304
+ border-radius: 16px;
363
305
  }
364
- .toast_progress_success {
365
- background: #10B981;
306
+ .button_radius_full {
307
+ border-radius: 9999px;
366
308
  }
367
- .toast_progress_error {
368
- background: #EF4444;
309
+ .button_icon {
310
+ display: inline-flex;
311
+ align-items: center;
312
+ justify-content: center;
313
+ width: 24px;
314
+ height: 24px;
315
+ flex-shrink: 0;
369
316
  }
370
- .toast_progress_warning {
371
- background: #F59E0B;
317
+ .button_icon svg {
318
+ width: 100%;
319
+ height: 100%;
372
320
  }
373
- .toast_progress_info {
374
- background: #3B82F6;
321
+ .button_label {
322
+ position: relative;
323
+ white-space: normal;
324
+ word-break: break-word;
325
+ text-align: center;
375
326
  }
376
- .toast_progress_default {
377
- background: #666666;
327
+ .button_full_width {
328
+ width: 100%;
378
329
  }
379
330
 
380
- /* src/ui/feedback/top-loading/style.scss */
331
+ /* src/ui/card/style.scss */
381
332
  @keyframes skeleton_loading {
382
333
  0% {
383
334
  background-position: 100% 0;
@@ -386,34 +337,50 @@
386
337
  background-position: 0 0;
387
338
  }
388
339
  }
389
- .top_loading {
390
- position: fixed;
391
- top: 0;
392
- left: 0;
393
- right: 0;
394
- z-index: 500;
395
- overflow: hidden;
396
- background-color: transparent;
397
- }
398
- .top_loading_bar {
399
- height: 100%;
400
- background-color: #121212;
401
- transition: width 0.2s ease-in-out;
340
+ .card {
341
+ background: #FFFFFF;
342
+ border-radius: 12px;
402
343
  }
403
- .top_loading_indeterminate {
404
- width: 30%;
405
- animation: top_loading_indeterminate 1.5s ease-in-out infinite;
344
+ .card_bordered {
345
+ border: 1px solid #E5E5E5;
406
346
  }
407
- @keyframes top_loading_indeterminate {
408
- 0% {
409
- transform: translateX(-100%);
410
- }
411
- 100% {
412
- transform: translateX(400%);
413
- }
347
+ .card_shadow_none {
348
+ box-shadow: none;
349
+ }
350
+ .card_shadow_sm {
351
+ box-shadow: 0 1px 1px -1px rgba(0, 0, 0, 0.2), 0 3px 3px 0px rgba(0, 0, 0, 0.12);
352
+ }
353
+ .card_shadow_md {
354
+ box-shadow: 0 2px 2px -2px rgba(0, 0, 0, 0.2), 0 6px 6px 0px rgba(0, 0, 0, 0.12);
355
+ }
356
+ .card_shadow_lg {
357
+ box-shadow: 0 3px 3px -3px rgba(0, 0, 0, 0.2), 0 9px 9px 0px rgba(0, 0, 0, 0.12);
358
+ }
359
+ .card_p_none {
360
+ padding: 0;
361
+ }
362
+ .card_p_sm {
363
+ padding: 8px;
364
+ }
365
+ .card_p_md {
366
+ padding: 16px;
367
+ }
368
+ .card_p_lg {
369
+ padding: 24px;
370
+ }
371
+ .card_title {
372
+ font-size: 20px;
373
+ font-weight: 400;
374
+ line-height: 28px;
375
+ letter-spacing: 0px;
376
+ margin-bottom: 12px;
377
+ color: #121212;
378
+ }
379
+ .card_body {
380
+ width: 100%;
414
381
  }
415
382
 
416
- /* src/ui/form/checkbox/style.scss */
383
+ /* src/ui/checkbox/style.scss */
417
384
  @keyframes skeleton_loading {
418
385
  0% {
419
386
  background-position: 100% 0;
@@ -425,10 +392,9 @@
425
392
  .checkbox {
426
393
  display: inline-flex;
427
394
  align-items: center;
428
- gap: 8px;
429
395
  cursor: pointer;
430
396
  user-select: none;
431
- position: relative;
397
+ padding: 4px;
432
398
  }
433
399
  .checkbox_input {
434
400
  position: absolute;
@@ -439,107 +405,205 @@
439
405
  clip-path: inset(50%);
440
406
  white-space: nowrap;
441
407
  }
442
- .checkbox_box {
443
- width: 1.125rem;
444
- height: 1.125rem;
408
+ .checkbox_state_layer {
409
+ display: inline-flex;
410
+ align-items: center;
411
+ justify-content: center;
412
+ padding: 8px;
413
+ border-radius: 9999px;
414
+ transition: background 0.2s ease-in-out;
415
+ }
416
+ .checkbox_icon {
417
+ width: 24px;
418
+ height: 24px;
445
419
  box-sizing: border-box;
446
- border: 1px solid #E5E5E5;
447
- border-radius: 6px;
448
- background: #FFFFFF;
449
- transition:
450
- background 0.2s ease-in-out,
451
- border-color 0.2s ease-in-out,
452
- box-shadow 0.2s ease-in-out;
453
- display: inline-block;
420
+ border: 2px solid #121212;
421
+ border-radius: 4px;
422
+ background: transparent;
454
423
  position: relative;
424
+ transition: background 0.2s ease-in-out, border-color 0.2s ease-in-out;
455
425
  }
456
426
  .checkbox_label {
457
- font-size: 15px;
427
+ font-size: 14px;
458
428
  font-weight: 400;
459
- line-height: 22.5px;
429
+ line-height: 20px;
460
430
  letter-spacing: 0px;
461
431
  color: #121212;
432
+ margin-left: 4px;
462
433
  }
463
- .checkbox_size_sm .checkbox_box {
464
- width: 1rem;
465
- height: 1rem;
466
- }
467
- .checkbox_size_sm .checkbox_label {
468
- font-size: 12px;
469
- font-weight: 400;
470
- line-height: 16px;
471
- letter-spacing: 0px;
472
- }
473
- .checkbox_size_md .checkbox_box {
474
- width: 1.125rem;
475
- height: 1.125rem;
434
+ .checkbox:hover .checkbox_state_layer {
435
+ background: rgba(0, 0, 0, 0.05);
476
436
  }
477
- .checkbox_size_lg .checkbox_box {
478
- width: 1.25rem;
479
- height: 1.25rem;
437
+ .checkbox_input:focus-visible ~ .checkbox_state_layer {
438
+ background: rgba(0, 0, 0, 0.08);
480
439
  }
481
- .checkbox_size_lg .checkbox_label {
482
- font-size: 16px;
483
- font-weight: 400;
484
- line-height: 24px;
485
- letter-spacing: 0px;
440
+ .checkbox:active .checkbox_state_layer {
441
+ background: rgba(26, 26, 26, 0.12);
486
442
  }
487
- .checkbox_input:focus-visible + .checkbox_box {
488
- box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.08);
489
- border-color: #121212;
443
+ .checkbox_input:disabled ~ .checkbox_state_layer {
444
+ opacity: 0.38;
490
445
  }
491
- .checkbox_input:disabled + .checkbox_box,
492
446
  .checkbox_input:disabled ~ .checkbox_label {
493
- opacity: 0.6;
494
- cursor: not-allowed;
495
- }
496
- .checkbox_input:disabled:not(:checked):not(:indeterminate) + .checkbox_box::before,
497
- .checkbox_input:disabled:not(:checked):not(:indeterminate) + .checkbox_box::after {
498
- content: "";
499
- position: absolute;
500
- left: 50%;
501
- top: 50%;
502
- width: 0.7rem;
503
- height: 2px;
504
- background: rgba(26, 26, 26, 0.38);
505
- border-radius: 9999px;
447
+ opacity: 0.38;
506
448
  }
507
- .checkbox_input:disabled:not(:checked):not(:indeterminate) + .checkbox_box::before {
508
- transform: translate(-50%, -50%) rotate(45deg);
449
+ .checkbox_input:disabled {
450
+ cursor: not-allowed;
509
451
  }
510
- .checkbox_input:disabled:not(:checked):not(:indeterminate) + .checkbox_box::after {
511
- transform: translate(-50%, -50%) rotate(-45deg);
452
+ .checkbox:has(.checkbox_input:disabled) {
453
+ cursor: not-allowed;
512
454
  }
513
- .checkbox_input:checked + .checkbox_box,
514
- .checkbox_input:indeterminate + .checkbox_box {
455
+ .checkbox_input:checked ~ .checkbox_state_layer .checkbox_icon,
456
+ .checkbox_input:indeterminate ~ .checkbox_state_layer .checkbox_icon {
515
457
  background: #121212;
516
458
  border-color: #121212;
517
459
  }
518
- .checkbox_input:checked + .checkbox_box::after {
460
+ .checkbox_input:checked ~ .checkbox_state_layer .checkbox_icon::after {
519
461
  content: "";
520
462
  position: absolute;
521
463
  left: 50%;
522
- top: 50%;
523
- width: 0.28rem;
524
- height: 0.55rem;
464
+ top: 45%;
465
+ width: 6px;
466
+ height: 11px;
525
467
  border: 2px solid #FFFFFF;
526
468
  border-top: 0;
527
469
  border-left: 0;
528
- transform: translate(-50%, -58%) rotate(45deg);
470
+ transform: translate(-50%, -50%) rotate(45deg);
529
471
  }
530
- .checkbox_input:indeterminate + .checkbox_box::after {
472
+ .checkbox_input:indeterminate ~ .checkbox_state_layer .checkbox_icon::after {
531
473
  content: "";
532
474
  position: absolute;
533
475
  left: 50%;
534
476
  top: 50%;
535
- width: 0.65rem;
477
+ width: 12px;
536
478
  height: 2px;
537
479
  background: #FFFFFF;
538
480
  transform: translate(-50%, -50%);
481
+ border: none;
482
+ border-radius: 1px;
483
+ }
484
+ .checkbox_error .checkbox_icon {
485
+ border-color: #EF4444;
486
+ }
487
+ .checkbox_error .checkbox_input:checked ~ .checkbox_state_layer .checkbox_icon,
488
+ .checkbox_error .checkbox_input:indeterminate ~ .checkbox_state_layer .checkbox_icon {
489
+ background: #EF4444;
490
+ border-color: #EF4444;
491
+ }
492
+
493
+ /* src/ui/chip/style.scss */
494
+ @keyframes skeleton_loading {
495
+ 0% {
496
+ background-position: 100% 0;
497
+ }
498
+ 100% {
499
+ background-position: 0 0;
500
+ }
501
+ }
502
+ .chip {
503
+ display: inline-flex;
504
+ align-items: center;
505
+ height: 32px;
539
506
  border-radius: 9999px;
507
+ border: 1px solid #E5E5E5;
508
+ overflow: hidden;
509
+ transition: border-color 0.2s ease-in-out;
510
+ }
511
+ .chip_content {
512
+ display: inline-flex;
513
+ align-items: center;
514
+ gap: 4px;
515
+ border: none;
516
+ background: transparent;
517
+ cursor: pointer;
518
+ padding: 6px 12px;
519
+ font-size: 14px;
520
+ font-weight: 500;
521
+ line-height: 20px;
522
+ letter-spacing: 0px;
523
+ color: #121212;
524
+ position: relative;
525
+ overflow: hidden;
526
+ }
527
+ .chip_content::before {
528
+ content: "";
529
+ position: absolute;
530
+ inset: 0;
531
+ border-radius: inherit;
532
+ transition: background 0.2s ease-in-out;
533
+ pointer-events: none;
534
+ }
535
+ .chip_content:hover:not(:disabled)::before {
536
+ background: rgba(0, 0, 0, 0.05);
537
+ }
538
+ .chip_content:focus-visible:not(:disabled)::before {
539
+ background: rgba(0, 0, 0, 0.08);
540
+ }
541
+ .chip_content:active:not(:disabled)::before {
542
+ background: rgba(26, 26, 26, 0.12);
543
+ }
544
+ .chip_content:disabled {
545
+ cursor: not-allowed;
546
+ }
547
+ .chip_has_leading .chip_content {
548
+ padding-left: 8px;
549
+ }
550
+ .chip_has_trailing .chip_content {
551
+ padding-right: 8px;
552
+ }
553
+ .chip_trailing {
554
+ display: inline-flex;
555
+ align-items: center;
556
+ justify-content: center;
557
+ border: none;
558
+ background: transparent;
559
+ cursor: pointer;
560
+ padding: 6px 8px 6px 0;
561
+ color: #121212;
562
+ position: relative;
563
+ overflow: hidden;
564
+ }
565
+ .chip_trailing::before {
566
+ content: "";
567
+ position: absolute;
568
+ inset: 0;
569
+ border-radius: inherit;
570
+ transition: background 0.2s ease-in-out;
571
+ pointer-events: none;
572
+ }
573
+ .chip_trailing:hover:not(:disabled)::before {
574
+ background: rgba(0, 0, 0, 0.05);
575
+ }
576
+ .chip_trailing:focus-visible:not(:disabled)::before {
577
+ background: rgba(0, 0, 0, 0.08);
578
+ }
579
+ .chip_trailing:active:not(:disabled)::before {
580
+ background: rgba(26, 26, 26, 0.12);
581
+ }
582
+ .chip_trailing:disabled {
583
+ cursor: not-allowed;
584
+ }
585
+ .chip_icon {
586
+ display: inline-flex;
587
+ width: 20px;
588
+ height: 20px;
589
+ flex-shrink: 0;
590
+ }
591
+ .chip_icon svg {
592
+ width: 100%;
593
+ height: 100%;
594
+ }
595
+ .chip_label {
596
+ white-space: nowrap;
597
+ }
598
+ .chip_disabled {
599
+ opacity: 0.38;
600
+ pointer-events: none;
601
+ }
602
+ .chip_disabled button {
603
+ cursor: not-allowed;
540
604
  }
541
605
 
542
- /* src/ui/form/date-picker/style.scss */
606
+ /* src/ui/date-picker/style.scss */
543
607
  @keyframes skeleton_loading {
544
608
  0% {
545
609
  background-position: 100% 0;
@@ -604,7 +668,7 @@
604
668
  .date_picker select option {
605
669
  color: #121212;
606
670
  }
607
- @media (max-width: 480px) {
671
+ @media (max-width: 599px) {
608
672
  .date_picker select {
609
673
  flex: 1;
610
674
  min-width: 0;
@@ -625,7 +689,7 @@
625
689
  display: flex;
626
690
  gap: 8px;
627
691
  }
628
- @media (max-width: 480px) {
692
+ @media (max-width: 599px) {
629
693
  .date_picker_fields {
630
694
  gap: 4px;
631
695
  }
@@ -655,7 +719,7 @@
655
719
  border: 0;
656
720
  }
657
721
 
658
- /* src/ui/form/file/style.scss */
722
+ /* src/ui/divider/style.scss */
659
723
  @keyframes skeleton_loading {
660
724
  0% {
661
725
  background-position: 100% 0;
@@ -664,66 +728,20 @@
664
728
  background-position: 0 0;
665
729
  }
666
730
  }
667
- .file_input {
668
- position: relative;
669
- display: inline-flex;
670
- flex-direction: column;
671
- align-items: flex-start;
672
- cursor: pointer;
673
- }
674
- .file_input:hover .file_input_label {
675
- border-color: rgba(0, 0, 0, 0.08);
676
- cursor: pointer;
677
- }
678
- .file_input_control {
679
- position: absolute;
680
- inset: 0;
681
- opacity: 0;
682
- cursor: pointer;
683
- }
684
- .file_input_label {
685
- border: 1px solid #E5E5E5;
686
- border-radius: 8px;
687
- background: #FFFFFF;
688
- padding: 8px 16px;
689
- font-size: 15px;
690
- font-weight: 400;
691
- line-height: 22.5px;
692
- letter-spacing: 0px;
693
- color: #121212;
694
- transition:
695
- background 0.2s ease-in-out,
696
- border-color 0.2s ease-in-out,
697
- box-shadow 0.2s ease-in-out;
698
- }
699
- .file_input_control:focus-visible + .file_input_label {
700
- box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.08);
701
- border-color: #121212;
702
- }
703
- .file_input_helper {
704
- display: block;
705
- margin-top: 4px;
706
- font-size: 12px;
707
- font-weight: 400;
708
- line-height: 16px;
709
- letter-spacing: 0px;
710
- color: #666666;
711
- }
712
- .file_input_disabled {
713
- cursor: not-allowed;
714
- }
715
- .file_input_disabled .file_input_control {
716
- cursor: not-allowed;
731
+ .divider {
732
+ border: none;
733
+ margin: 0;
734
+ width: 100%;
735
+ background: #E5E5E5;
717
736
  }
718
- .file_input_disabled .file_input_label {
719
- opacity: 0.6;
720
- cursor: not-allowed;
737
+ .divider_weight_standard {
738
+ height: 1px;
721
739
  }
722
- .file_input_disabled:hover .file_input_label {
723
- border-color: #E5E5E5;
740
+ .divider_weight_heavy {
741
+ height: 2px;
724
742
  }
725
743
 
726
- /* src/ui/form/radio/style.scss */
744
+ /* src/ui/fab/style.scss */
727
745
  @keyframes skeleton_loading {
728
746
  0% {
729
747
  background-position: 100% 0;
@@ -732,159 +750,81 @@
732
750
  background-position: 0 0;
733
751
  }
734
752
  }
735
- .radio {
753
+ .fab {
736
754
  position: relative;
737
755
  display: inline-flex;
738
756
  align-items: center;
739
- gap: 8px;
740
- cursor: pointer;
741
- user-select: none;
742
- }
743
- .radio_input {
744
- position: absolute;
745
- inset: 0;
746
- opacity: 0;
747
- cursor: pointer;
748
- margin: 0;
749
- }
750
- .radio_dot {
751
- width: 16px;
752
- height: 16px;
753
- box-sizing: border-box;
754
- border: 1px solid #E5E5E5;
757
+ justify-content: center;
758
+ border: none;
759
+ width: 56px;
760
+ height: 56px;
761
+ padding: 16px;
755
762
  border-radius: 9999px;
756
- background: #FFFFFF;
757
- transition:
758
- background 0.2s ease-in-out,
759
- border-color 0.2s ease-in-out,
760
- box-shadow 0.2s ease-in-out;
761
- position: relative;
762
- display: inline-block;
763
- }
764
- .radio_label {
765
- font-size: 15px;
766
- font-weight: 400;
767
- line-height: 22.5px;
768
- letter-spacing: 0px;
769
- color: #121212;
770
- }
771
- .radio_size_sm .radio_dot {
772
- width: 1rem;
773
- height: 1rem;
774
- }
775
- .radio_size_sm .radio_label {
776
- font-size: 12px;
777
- font-weight: 400;
778
- line-height: 16px;
779
- letter-spacing: 0px;
780
- }
781
- .radio_size_md .radio_dot {
782
- width: 1.125rem;
783
- height: 1.125rem;
784
- }
785
- .radio_size_lg .radio_dot {
786
- width: 1.25rem;
787
- height: 1.25rem;
788
- }
789
- .radio_size_lg .radio_label {
790
- font-size: 16px;
791
- font-weight: 400;
792
- line-height: 24px;
793
- letter-spacing: 0px;
794
- }
795
- .radio_input:focus-visible + .radio_dot {
796
- box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.08);
797
- border-color: #121212;
798
- }
799
- .radio_input:checked + .radio_dot {
800
- border-color: #121212;
763
+ cursor: pointer;
764
+ overflow: hidden;
765
+ transition: background 0.2s ease-in-out, color 0.2s ease-in-out;
801
766
  }
802
- .radio_input:checked + .radio_dot::after {
767
+ .fab::before {
803
768
  content: "";
804
769
  position: absolute;
805
- left: 50%;
806
- top: 50%;
807
- width: 60%;
808
- height: 60%;
809
- transform: translate(-50%, -50%);
810
- background: #121212;
811
- border-radius: 9999px;
770
+ inset: 0;
771
+ border-radius: inherit;
772
+ transition: background 0.2s ease-in-out;
773
+ pointer-events: none;
812
774
  }
813
- .radio_input:disabled + .radio_dot,
814
- .radio_input:disabled ~ .radio_label {
815
- opacity: 0.6;
775
+ .fab:disabled {
816
776
  cursor: not-allowed;
817
777
  }
818
-
819
- /* src/ui/form/switch/style.scss */
820
- @keyframes skeleton_loading {
821
- 0% {
822
- background-position: 100% 0;
823
- }
824
- 100% {
825
- background-position: 0 0;
826
- }
827
- }
828
- .switch {
829
- position: relative;
830
- display: inline-flex;
831
- align-items: center;
832
- width: 40px;
833
- height: 22px;
834
- padding: 2px;
835
- border-radius: 9999px;
836
- background: #E5E5E5;
837
- transition: background 0.2s ease-in-out;
838
- cursor: pointer;
778
+ .fab_variant_primary {
779
+ background: #121212;
780
+ color: #FFFFFF;
839
781
  }
840
- .switch_thumb {
841
- width: 18px;
842
- height: 18px;
843
- background: #FFFFFF;
844
- border-radius: 9999px;
845
- transition: transform 0.2s ease-in-out;
846
- transform: translateX(0);
782
+ .fab_variant_primary:hover:not(:disabled)::before {
783
+ background: rgba(255, 255, 255, 0.05);
847
784
  }
848
- .switch_on {
849
- background: #121212;
785
+ .fab_variant_primary:focus-visible:not(:disabled)::before {
786
+ background: rgba(255, 255, 255, 0.08);
850
787
  }
851
- .switch_on .switch_thumb {
852
- transform: translateX(18px);
788
+ .fab_variant_primary:active:not(:disabled)::before {
789
+ background: rgba(255, 255, 255, 0.12);
853
790
  }
854
- .switch_size_sm {
855
- width: 34px;
856
- height: 18px;
857
- padding: 2px;
791
+ .fab_variant_primary:disabled {
792
+ background: rgba(26, 26, 26, 0.12);
793
+ color: #121212;
794
+ opacity: 0.38;
858
795
  }
859
- .switch_size_sm .switch_thumb {
860
- width: 14px;
861
- height: 14px;
796
+ .fab_variant_additive {
797
+ background: rgba(0, 0, 0, 0.05);
798
+ color: #121212;
862
799
  }
863
- .switch_size_sm.switch_on .switch_thumb {
864
- transform: translateX(16px);
800
+ .fab_variant_additive:hover:not(:disabled)::before {
801
+ background: rgba(0, 0, 0, 0.05);
865
802
  }
866
- .switch_size_md {
867
- width: 40px;
868
- height: 22px;
803
+ .fab_variant_additive:focus-visible:not(:disabled)::before {
804
+ background: rgba(0, 0, 0, 0.08);
869
805
  }
870
- .switch_size_lg {
871
- width: 48px;
872
- height: 26px;
873
- padding: 2px;
806
+ .fab_variant_additive:active:not(:disabled)::before {
807
+ background: rgba(26, 26, 26, 0.12);
874
808
  }
875
- .switch_size_lg .switch_thumb {
876
- width: 22px;
877
- height: 22px;
809
+ .fab_variant_additive:disabled {
810
+ background: rgba(26, 26, 26, 0.12);
811
+ color: #121212;
812
+ opacity: 0.38;
878
813
  }
879
- .switch_size_lg.switch_on .switch_thumb {
880
- transform: translateX(22px);
814
+ .fab_icon {
815
+ display: inline-flex;
816
+ align-items: center;
817
+ justify-content: center;
818
+ width: 24px;
819
+ height: 24px;
820
+ flex-shrink: 0;
881
821
  }
882
- .switch_disabled {
883
- opacity: 0.6;
884
- cursor: not-allowed;
822
+ .fab_icon svg {
823
+ width: 100%;
824
+ height: 100%;
885
825
  }
886
826
 
887
- /* src/ui/form/textfield/style.scss */
827
+ /* src/ui/file/style.scss */
888
828
  @keyframes skeleton_loading {
889
829
  0% {
890
830
  background-position: 100% 0;
@@ -893,154 +833,79 @@
893
833
  background-position: 0 0;
894
834
  }
895
835
  }
896
- .text_field {
897
- display: flex;
898
- flex-direction: column;
899
- }
900
- .text_field_full_width {
901
- width: 100%;
902
- }
903
- .text_field_label {
904
- margin-bottom: 4px;
905
- color: #121212;
906
- font-size: 12px;
907
- font-weight: 400;
908
- line-height: 16px;
909
- letter-spacing: 0px;
910
- font-weight: 500;
911
- }
912
- .text_field_wrap {
836
+ .file_input {
913
837
  position: relative;
914
838
  display: inline-flex;
915
- width: 100%;
916
- align-items: center;
917
- }
918
- .text_field_helper {
919
- margin-top: 4px;
920
- font-size: 12px;
921
- font-weight: 400;
922
- line-height: 16px;
923
- letter-spacing: 0px;
924
- color: #666666;
925
- }
926
- .text_field_helper_error {
927
- color: #EF4444;
839
+ flex-direction: column;
840
+ align-items: flex-start;
841
+ cursor: pointer;
928
842
  }
929
- .text_field_helper_success {
930
- color: #10B981;
843
+ .file_input:hover .file_input_label {
844
+ border-color: #B3B3B3;
845
+ cursor: pointer;
931
846
  }
932
- .text_field_icon {
847
+ .file_input_control {
933
848
  position: absolute;
934
- display: inline-flex;
935
- align-items: center;
936
- justify-content: center;
937
- width: 1.25rem;
938
- height: 1.25rem;
939
- color: #666666;
940
- }
941
- .text_field_icon_left {
942
- left: 12px;
943
- }
944
- .text_field_icon_right {
945
- right: 12px;
849
+ inset: 0;
850
+ opacity: 0;
851
+ cursor: pointer;
946
852
  }
947
- .text_field_input {
948
- width: 100%;
853
+ .file_input_label {
854
+ border: 1px solid #E5E5E5;
949
855
  border-radius: 8px;
950
- transition:
951
- border-color 0.2s ease-in-out,
952
- box-shadow 0.2s ease-in-out,
953
- background 0.2s ease-in-out;
856
+ background: #FFFFFF;
857
+ padding: 8px 16px;
954
858
  font-size: 15px;
955
859
  font-weight: 400;
956
860
  line-height: 22.5px;
957
861
  letter-spacing: 0px;
958
862
  color: #121212;
959
- background: #FFFFFF;
960
- }
961
- .text_field_input::placeholder {
962
- color: #888888;
963
- }
964
- .text_field_input:disabled {
965
- cursor: not-allowed;
966
- background: #F4F4F4;
967
- color: #888888;
968
- opacity: 0.7;
969
- }
970
- .text_field_variant_outline {
971
- border: 1px solid #E5E5E5;
972
- }
973
- .text_field_variant_outline:hover:not(:disabled) {
974
- border-color: rgba(0, 0, 0, 0.08);
975
- }
976
- .text_field_variant_outline:focus-visible {
977
- outline: none;
978
- border-color: #121212;
979
- box-shadow: 0 0 0 3px rgba(18, 18, 18, 0.15);
980
- }
981
- .text_field_variant_filled {
982
- background: #F4F4F4;
983
- border: 1px solid transparent;
984
- }
985
- .text_field_variant_filled:hover:not(:disabled) {
986
- background: rgb(251.7, 251.7, 251.7);
863
+ transition:
864
+ background 0.2s ease-in-out,
865
+ border-color 0.2s ease-in-out,
866
+ box-shadow 0.2s ease-in-out;
987
867
  }
988
- .text_field_variant_filled:focus-visible {
989
- outline: none;
990
- border-color: #121212;
991
- background: #FFFFFF;
868
+ .file_input_control:focus-visible + .file_input_label {
992
869
  box-shadow: 0 0 0 3px rgba(18, 18, 18, 0.15);
993
- }
994
- .text_field_variant_ghost {
995
- background: transparent;
996
- border: 1px solid transparent;
997
- }
998
- .text_field_variant_ghost:hover:not(:disabled) {
999
- background: rgba(0, 0, 0, 0.05);
1000
- }
1001
- .text_field_variant_ghost:focus-visible {
1002
- outline: none;
1003
870
  border-color: #121212;
1004
- background: #FFFFFF;
1005
- box-shadow: 0 0 0 3px rgba(18, 18, 18, 0.15);
1006
871
  }
1007
- .text_field_size_sm {
1008
- padding: 8px 16px;
872
+ .file_input_helper {
873
+ display: block;
874
+ margin-top: 4px;
1009
875
  font-size: 12px;
1010
876
  font-weight: 400;
1011
877
  line-height: 16px;
1012
878
  letter-spacing: 0px;
879
+ color: #666666;
1013
880
  }
1014
- .text_field_size_md {
1015
- padding: 12px 20px;
1016
- font-size: 15px;
1017
- font-weight: 400;
1018
- line-height: 22.5px;
1019
- letter-spacing: 0px;
881
+ .file_input_preview {
882
+ display: flex;
883
+ flex-wrap: wrap;
884
+ gap: 8px;
885
+ margin-top: 8px;
1020
886
  }
1021
- .text_field_size_lg {
1022
- padding: 16px 24px;
1023
- font-size: 16px;
1024
- font-weight: 400;
1025
- line-height: 24px;
1026
- letter-spacing: 0px;
887
+ .file_input_preview_img {
888
+ width: 64px;
889
+ height: 64px;
890
+ object-fit: cover;
891
+ border-radius: 8px;
892
+ border: 1px solid #E5E5E5;
1027
893
  }
1028
- .text_field_with_left {
1029
- padding-left: calc(20px + 1.25rem);
894
+ .file_input_disabled {
895
+ cursor: not-allowed;
1030
896
  }
1031
- .text_field_with_right {
1032
- padding-right: calc(20px + 1.25rem);
897
+ .file_input_disabled .file_input_control {
898
+ cursor: not-allowed;
1033
899
  }
1034
- .text_field_error {
1035
- border-color: #EF4444 !important;
1036
- box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.15) !important;
900
+ .file_input_disabled .file_input_label {
901
+ opacity: 0.38;
902
+ cursor: not-allowed;
1037
903
  }
1038
- .text_field_success {
1039
- border-color: #10B981 !important;
1040
- box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.15) !important;
904
+ .file_input_disabled:hover .file_input_label {
905
+ border-color: #E5E5E5;
1041
906
  }
1042
907
 
1043
- /* src/ui/general/button/style.scss */
908
+ /* src/ui/icon-button/style.scss */
1044
909
  @keyframes skeleton_loading {
1045
910
  0% {
1046
911
  background-position: 100% 0;
@@ -1049,92 +914,132 @@
1049
914
  background-position: 0 0;
1050
915
  }
1051
916
  }
1052
- .button {
917
+ .icon_button {
918
+ position: relative;
1053
919
  display: inline-flex;
1054
920
  align-items: center;
1055
921
  justify-content: center;
1056
- gap: 8px;
1057
- border-radius: 8px;
1058
922
  border: none;
923
+ border-radius: 9999px;
1059
924
  cursor: pointer;
1060
- font-weight: 500;
925
+ overflow: hidden;
926
+ background: transparent;
927
+ padding: 0;
1061
928
  transition:
1062
929
  background 0.2s ease-in-out,
1063
930
  color 0.2s ease-in-out,
1064
- box-shadow 0.2s ease-in-out,
1065
- transform 0.2s ease-in-out;
931
+ border-color 0.2s ease-in-out;
1066
932
  }
1067
- .button:disabled {
933
+ .icon_button::before {
934
+ content: "";
935
+ position: absolute;
936
+ inset: 0;
937
+ border-radius: inherit;
938
+ transition: background 0.2s ease-in-out;
939
+ pointer-events: none;
940
+ }
941
+ .icon_button:disabled {
1068
942
  cursor: not-allowed;
1069
- opacity: 0.6;
1070
943
  }
1071
- .button_size_sm {
1072
- padding: 8px 16px;
1073
- font-size: 12px;
1074
- font-weight: 400;
1075
- line-height: 16px;
1076
- letter-spacing: 0px;
944
+ .icon_button_size_sm {
945
+ width: 40px;
946
+ height: 40px;
1077
947
  }
1078
- .button_size_md {
1079
- padding: 12px 20px;
1080
- font-size: 15px;
1081
- font-weight: 400;
1082
- line-height: 22.5px;
1083
- letter-spacing: 0px;
948
+ .icon_button_size_md {
949
+ width: 48px;
950
+ height: 48px;
1084
951
  }
1085
- .button_size_lg {
1086
- padding: 16px 24px;
1087
- font-size: 16px;
1088
- font-weight: 400;
1089
- line-height: 24px;
1090
- letter-spacing: 0px;
952
+ .icon_button_variant_standard {
953
+ background: transparent;
954
+ color: #121212;
955
+ }
956
+ .icon_button_variant_standard:hover:not(:disabled)::before {
957
+ background: rgba(0, 0, 0, 0.05);
958
+ }
959
+ .icon_button_variant_standard:focus-visible:not(:disabled)::before {
960
+ background: rgba(0, 0, 0, 0.08);
1091
961
  }
1092
- .button_variant_primary {
962
+ .icon_button_variant_standard:active:not(:disabled)::before {
963
+ background: rgba(26, 26, 26, 0.12);
964
+ }
965
+ .icon_button_variant_standard:disabled {
966
+ opacity: 0.38;
967
+ }
968
+ .icon_button_variant_filled {
1093
969
  background: #121212;
1094
970
  color: #FFFFFF;
1095
971
  }
1096
- .button_variant_primary:hover:not(:disabled) {
1097
- background: #999999;
972
+ .icon_button_variant_filled:hover:not(:disabled)::before {
973
+ background: rgba(255, 255, 255, 0.05);
1098
974
  }
1099
- .button_variant_primary:active:not(:disabled) {
1100
- transform: scale(0.98);
975
+ .icon_button_variant_filled:focus-visible:not(:disabled)::before {
976
+ background: rgba(255, 255, 255, 0.08);
1101
977
  }
1102
- .button_variant_secondary {
1103
- background: transparent;
1104
- border: 1px solid #E5E5E5;
978
+ .icon_button_variant_filled:active:not(:disabled)::before {
979
+ background: rgba(255, 255, 255, 0.12);
980
+ }
981
+ .icon_button_variant_filled:disabled {
982
+ background: rgba(26, 26, 26, 0.12);
1105
983
  color: #121212;
984
+ opacity: 0.38;
1106
985
  }
1107
- .button_variant_secondary:hover:not(:disabled) {
1108
- background: #F4F4F4;
986
+ .icon_button_variant_tonal {
987
+ background: rgba(0, 0, 0, 0.05);
988
+ color: #121212;
1109
989
  }
1110
- .button_variant_secondary:active:not(:disabled) {
1111
- transform: scale(0.98);
990
+ .icon_button_variant_tonal:hover:not(:disabled)::before {
991
+ background: rgba(0, 0, 0, 0.05);
992
+ }
993
+ .icon_button_variant_tonal:focus-visible:not(:disabled)::before {
994
+ background: rgba(0, 0, 0, 0.08);
1112
995
  }
1113
- .button_variant_ghost {
996
+ .icon_button_variant_tonal:active:not(:disabled)::before {
997
+ background: rgba(26, 26, 26, 0.12);
998
+ }
999
+ .icon_button_variant_tonal:disabled {
1000
+ background: rgba(26, 26, 26, 0.12);
1001
+ color: #121212;
1002
+ opacity: 0.38;
1003
+ }
1004
+ .icon_button_variant_outlined {
1114
1005
  background: transparent;
1006
+ border: 1px solid #E5E5E5;
1115
1007
  color: #121212;
1116
1008
  }
1117
- .button_variant_ghost:hover:not(:disabled) {
1009
+ .icon_button_variant_outlined:hover:not(:disabled)::before {
1118
1010
  background: rgba(0, 0, 0, 0.05);
1119
1011
  }
1120
- .button_variant_ghost:active:not(:disabled) {
1121
- transform: scale(0.96);
1012
+ .icon_button_variant_outlined:focus-visible:not(:disabled)::before {
1013
+ background: rgba(0, 0, 0, 0.08);
1122
1014
  }
1123
- .button_variant_danger {
1124
- background: #EF4444;
1125
- color: #FFFFFF;
1015
+ .icon_button_variant_outlined:active:not(:disabled)::before {
1016
+ background: rgba(26, 26, 26, 0.12);
1126
1017
  }
1127
- .button_variant_danger:hover:not(:disabled) {
1128
- background: rgb(235.7842364532, 30.4157635468, 30.4157635468);
1018
+ .icon_button_variant_outlined:disabled {
1019
+ border-color: #E5E5E5;
1020
+ color: #121212;
1021
+ opacity: 0.38;
1129
1022
  }
1130
- .button_variant_danger:active:not(:disabled) {
1131
- transform: scale(0.98);
1023
+ .icon_button_icon {
1024
+ display: inline-flex;
1025
+ align-items: center;
1026
+ justify-content: center;
1027
+ flex-shrink: 0;
1132
1028
  }
1133
- .button_full_width {
1029
+ .icon_button_icon svg {
1134
1030
  width: 100%;
1031
+ height: 100%;
1032
+ }
1033
+ .icon_button_size_sm .icon_button_icon {
1034
+ width: 20px;
1035
+ height: 20px;
1036
+ }
1037
+ .icon_button_size_md .icon_button_icon {
1038
+ width: 24px;
1039
+ height: 24px;
1135
1040
  }
1136
1041
 
1137
- /* src/ui/general/select/style.scss */
1042
+ /* src/ui/linear-progress/style.scss */
1138
1043
  @keyframes skeleton_loading {
1139
1044
  0% {
1140
1045
  background-position: 100% 0;
@@ -1143,193 +1048,168 @@
1143
1048
  background-position: 0 0;
1144
1049
  }
1145
1050
  }
1146
- .select {
1051
+ .linear_progress {
1147
1052
  position: relative;
1148
- display: inline-flex;
1149
- flex-direction: column;
1150
1053
  width: 100%;
1151
- gap: 4px;
1152
- font-family: "Pretendard", sans-serif;
1153
- }
1154
- .select_label {
1155
- font-size: 12px;
1156
- font-weight: 400;
1157
- line-height: 16px;
1158
- letter-spacing: 0px;
1159
- font-weight: 500;
1160
- color: #121212;
1054
+ height: 2px;
1055
+ background: #E5E5E5;
1056
+ overflow: hidden;
1161
1057
  }
1162
- .select_control {
1163
- width: 100%;
1164
- display: inline-flex;
1165
- align-items: center;
1166
- justify-content: space-between;
1167
- gap: 8px;
1168
- cursor: pointer;
1169
- color: #121212;
1170
- background: #FFFFFF;
1171
- border-radius: 8px;
1172
- transition:
1173
- border-color 0.2s ease-in-out,
1174
- box-shadow 0.2s ease-in-out,
1175
- background 0.2s ease-in-out;
1176
- font-size: 15px;
1177
- font-weight: 400;
1178
- line-height: 22.5px;
1179
- letter-spacing: 0px;
1058
+ .linear_progress_indicator {
1059
+ position: absolute;
1060
+ top: 0;
1061
+ left: 0;
1062
+ height: 100%;
1063
+ background: #121212;
1064
+ border-radius: 9999px;
1065
+ transition: width 0.2s ease-in-out;
1180
1066
  }
1181
- .select_control:disabled,
1182
- .select_control.is_disabled {
1183
- cursor: not-allowed;
1184
- opacity: 0.7;
1185
- background: #F4F4F4;
1186
- color: #888888;
1067
+
1068
+ /* src/ui/list-item/style.scss */
1069
+ @keyframes skeleton_loading {
1070
+ 0% {
1071
+ background-position: 100% 0;
1072
+ }
1073
+ 100% {
1074
+ background-position: 0 0;
1075
+ }
1187
1076
  }
1188
- .select_variant_outline {
1077
+ .list_item {
1078
+ position: relative;
1079
+ display: flex;
1080
+ flex-direction: column;
1081
+ align-items: stretch;
1082
+ min-height: 52px;
1189
1083
  border: 1px solid #E5E5E5;
1084
+ border-radius: 12px;
1085
+ overflow: hidden;
1086
+ background: #FFFFFF;
1190
1087
  }
1191
- .select_variant_outline:hover:not(.is_disabled) {
1192
- border-color: rgba(0, 0, 0, 0.08);
1088
+ .list_item_state_layer {
1089
+ display: flex;
1090
+ gap: 4px;
1091
+ align-items: flex-start;
1092
+ min-height: 52px;
1093
+ padding-left: 16px;
1094
+ position: relative;
1193
1095
  }
1194
- .select_variant_outline.is_open {
1195
- border-color: #121212;
1196
- box-shadow: 0 0 0 3px rgba(18, 18, 18, 0.15);
1096
+ .list_item_align_middle > .list_item_state_layer {
1097
+ align-items: center;
1197
1098
  }
1198
- .select_variant_filled {
1199
- background: #F4F4F4;
1200
- border: 1px solid transparent;
1099
+ .list_item_interactive {
1100
+ cursor: pointer;
1201
1101
  }
1202
- .select_variant_filled:hover:not(.is_disabled) {
1203
- background: rgb(251.7, 251.7, 251.7);
1102
+ .list_item_interactive .list_item_state_layer::before {
1103
+ content: "";
1104
+ position: absolute;
1105
+ inset: 0;
1106
+ transition: background 0.2s ease-in-out;
1107
+ pointer-events: none;
1204
1108
  }
1205
- .select_variant_filled.is_open {
1206
- background: #FFFFFF;
1207
- border-color: #121212;
1208
- box-shadow: 0 0 0 3px rgba(18, 18, 18, 0.15);
1109
+ .list_item_interactive:hover .list_item_state_layer::before {
1110
+ background: rgba(0, 0, 0, 0.05);
1209
1111
  }
1210
- .select_variant_ghost {
1211
- background: transparent;
1212
- border: 1px solid transparent;
1112
+ .list_item_interactive:focus-visible .list_item_state_layer::before {
1113
+ background: rgba(0, 0, 0, 0.08);
1213
1114
  }
1214
- .select_variant_ghost:hover:not(.is_disabled) {
1215
- background: rgba(0, 0, 0, 0.05);
1115
+ .list_item_interactive:active .list_item_state_layer::before {
1116
+ background: rgba(26, 26, 26, 0.12);
1216
1117
  }
1217
- .select_variant_ghost.is_open {
1218
- background: #FFFFFF;
1219
- border-color: #121212;
1220
- box-shadow: 0 0 0 3px rgba(18, 18, 18, 0.15);
1118
+ .list_item_content {
1119
+ flex: 1;
1120
+ display: flex;
1121
+ flex-direction: column;
1122
+ gap: 2px;
1123
+ min-width: 0;
1124
+ padding: 12px 0;
1221
1125
  }
1222
- .select_size_sm {
1223
- padding: 8px 16px;
1126
+ .list_item_overline {
1127
+ font-family: "Pretendard", sans-serif;
1224
1128
  font-size: 12px;
1225
1129
  font-weight: 400;
1226
1130
  line-height: 16px;
1227
- letter-spacing: 0px;
1228
- }
1229
- .select_size_md {
1230
- padding: 12px 20px;
1231
- font-size: 15px;
1232
- font-weight: 400;
1233
- line-height: 22.5px;
1234
- letter-spacing: 0px;
1131
+ letter-spacing: 0.32px;
1132
+ color: #888888;
1235
1133
  }
1236
- .select_size_lg {
1237
- padding: 16px 24px;
1238
- font-size: 16px;
1239
- font-weight: 400;
1240
- line-height: 24px;
1241
- letter-spacing: 0px;
1134
+ .list_item_label {
1135
+ font-family: "Pretendard", sans-serif;
1136
+ font-size: 14px;
1137
+ font-weight: 500;
1138
+ line-height: 20px;
1139
+ color: #121212;
1242
1140
  }
1243
- .select_value {
1244
- flex: 1 1 auto;
1245
- min-width: 0;
1246
- overflow: hidden;
1247
- text-overflow: ellipsis;
1248
- white-space: nowrap;
1249
- text-align: start;
1250
- font-size: 15px;
1141
+ .list_item_supporting {
1142
+ font-family: "Pretendard", sans-serif;
1143
+ font-size: 14px;
1251
1144
  font-weight: 400;
1252
- line-height: 22.5px;
1253
- letter-spacing: 0px;
1145
+ line-height: 20px;
1146
+ color: #666666;
1254
1147
  }
1255
- .select_placeholder {
1256
- flex: 1 1 auto;
1257
- min-width: 0;
1258
- overflow: hidden;
1259
- text-overflow: ellipsis;
1260
- white-space: nowrap;
1261
- text-align: start;
1262
- font-size: 15px;
1148
+ .list_item_metadata {
1149
+ font-family: "Pretendard", sans-serif;
1150
+ font-size: 14px;
1263
1151
  font-weight: 400;
1264
- line-height: 22.5px;
1265
- letter-spacing: 0px;
1266
- color: #888888;
1152
+ line-height: 20px;
1153
+ color: #666666;
1154
+ margin-top: 8px;
1267
1155
  }
1268
- .select_icon {
1269
- display: inline-flex;
1156
+ .list_item_leading {
1157
+ display: flex;
1270
1158
  align-items: center;
1271
1159
  justify-content: center;
1272
- color: #666666;
1160
+ flex-shrink: 0;
1161
+ padding: 4px;
1273
1162
  }
1274
- .select_list {
1275
- position: absolute;
1276
- z-index: 1000;
1277
- top: 100%;
1278
- left: 0;
1279
- width: 100%;
1280
- min-width: 100%;
1281
- box-sizing: border-box;
1282
- margin-top: 4px;
1283
- background: #FFFFFF;
1284
- border: 1px solid #E5E5E5;
1285
- border-radius: 8px;
1286
- box-shadow: 0 2px 2px -2px rgba(0, 0, 0, 0.2), 0 6px 6px 0px rgba(0, 0, 0, 0.12);
1287
- max-height: 18rem;
1288
- overflow-y: auto;
1289
- overflow-x: hidden;
1290
- padding: 4px 0;
1163
+ .list_item_trailing {
1164
+ display: flex;
1165
+ align-items: flex-start;
1166
+ justify-content: flex-end;
1167
+ flex-shrink: 0;
1291
1168
  }
1292
- .select_list_up {
1293
- top: auto;
1294
- bottom: 100%;
1295
- margin-top: 0;
1296
- margin-bottom: 4px;
1169
+ .list_item_disabled {
1170
+ opacity: 0.38;
1171
+ pointer-events: none;
1297
1172
  }
1298
- .select_option {
1299
- width: 100%;
1300
- box-sizing: border-box;
1301
- display: grid;
1302
- grid-template-columns: 1fr auto;
1303
- align-items: center;
1304
- gap: 8px;
1305
- padding: 8px 16px;
1306
- cursor: pointer;
1307
- color: #121212;
1308
- background: transparent;
1309
- font-size: 15px;
1310
- font-weight: 400;
1311
- line-height: 22.5px;
1312
- letter-spacing: 0px;
1173
+
1174
+ /* src/ui/modal/style.scss */
1175
+ @keyframes skeleton_loading {
1176
+ 0% {
1177
+ background-position: 100% 0;
1178
+ }
1179
+ 100% {
1180
+ background-position: 0 0;
1181
+ }
1313
1182
  }
1314
- .select_option > span:first-child {
1315
- min-width: 0;
1316
- overflow: hidden;
1317
- text-overflow: ellipsis;
1318
- white-space: nowrap;
1183
+ .modal {
1184
+ position: fixed;
1185
+ inset: 0;
1186
+ display: grid;
1187
+ place-items: center;
1188
+ background: rgba(0, 0, 0, 0.5);
1189
+ z-index: 100;
1319
1190
  }
1320
- .select_option:hover,
1321
- .select_option.is_active {
1322
- background: #F4F4F4;
1191
+ .modal_panel {
1192
+ background: #FFFFFF;
1193
+ border-radius: 12px;
1194
+ box-shadow: 0 3px 3px -3px rgba(0, 0, 0, 0.2), 0 9px 9px 0px rgba(0, 0, 0, 0.12);
1195
+ max-width: calc(100% - 64px);
1196
+ overflow: visible;
1323
1197
  }
1324
- .select_option.is_selected {
1325
- font-weight: 500;
1198
+ .modal_header {
1199
+ padding: 16px;
1200
+ border-bottom: 1px solid #E5E5E5;
1201
+ color: #121212;
1202
+ font-size: 20px;
1203
+ font-weight: 400;
1204
+ line-height: 28px;
1205
+ letter-spacing: 0px;
1326
1206
  }
1327
- .select_option.is_disabled {
1328
- cursor: not-allowed;
1329
- color: #888888;
1207
+ .modal_body {
1208
+ padding: 16px;
1209
+ overflow: visible;
1330
1210
  }
1331
1211
 
1332
- /* src/ui/navigation/pagination/style.scss */
1212
+ /* src/ui/pagination/style.scss */
1333
1213
  @keyframes skeleton_loading {
1334
1214
  0% {
1335
1215
  background-position: 100% 0;
@@ -1366,13 +1246,16 @@
1366
1246
  cursor: not-allowed;
1367
1247
  }
1368
1248
  .pagination_item:focus-visible {
1369
- box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.08);
1249
+ box-shadow: 0 0 0 3px rgba(18, 18, 18, 0.15);
1370
1250
  border-color: #121212;
1371
1251
  }
1372
1252
  .pagination_pages {
1373
1253
  display: flex;
1374
1254
  align-items: center;
1375
1255
  gap: 6px;
1256
+ list-style: none;
1257
+ padding: 0;
1258
+ margin: 0;
1376
1259
  }
1377
1260
  .pagination_page_button {
1378
1261
  border: 0;
@@ -1392,7 +1275,7 @@
1392
1275
  color: #121212;
1393
1276
  }
1394
1277
  .pagination_page_button:focus-visible {
1395
- box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.08);
1278
+ box-shadow: 0 0 0 3px rgba(18, 18, 18, 0.15);
1396
1279
  }
1397
1280
  .pagination_active {
1398
1281
  color: #121212;
@@ -1408,7 +1291,7 @@
1408
1291
  color: #888888;
1409
1292
  }
1410
1293
 
1411
- /* src/ui/overlay/modal/style.scss */
1294
+ /* src/ui/radio/style.scss */
1412
1295
  @keyframes skeleton_loading {
1413
1296
  0% {
1414
1297
  background-position: 100% 0;
@@ -1417,31 +1300,803 @@
1417
1300
  background-position: 0 0;
1418
1301
  }
1419
1302
  }
1420
- .modal {
1421
- position: fixed;
1422
- inset: 0;
1423
- display: grid;
1424
- place-items: center;
1425
- background: rgba(0, 0, 0, 0.5);
1426
- z-index: 100;
1303
+ .radio {
1304
+ position: relative;
1305
+ display: inline-flex;
1306
+ align-items: center;
1307
+ gap: 8px;
1308
+ cursor: pointer;
1309
+ user-select: none;
1427
1310
  }
1428
- .modal_panel {
1311
+ .radio_input {
1312
+ position: absolute;
1313
+ width: 1px;
1314
+ height: 1px;
1315
+ overflow: hidden;
1316
+ clip: rect(0 0 0 0);
1317
+ clip-path: inset(50%);
1318
+ white-space: nowrap;
1319
+ }
1320
+ .radio_state_layer {
1321
+ display: inline-flex;
1322
+ align-items: center;
1323
+ justify-content: center;
1324
+ padding: 8px;
1325
+ border-radius: 9999px;
1326
+ transition: background 0.2s ease-in-out;
1327
+ }
1328
+ .radio_dot {
1329
+ width: 16px;
1330
+ height: 16px;
1331
+ box-sizing: border-box;
1332
+ border: 1px solid #E5E5E5;
1333
+ border-radius: 9999px;
1429
1334
  background: #FFFFFF;
1430
- border-radius: 12px;
1431
- box-shadow: 0 3px 3px -3px rgba(0, 0, 0, 0.2), 0 9px 9px 0px rgba(0, 0, 0, 0.12);
1432
- max-width: calc(100% - 32px);
1433
- overflow: visible;
1335
+ transition: background 0.2s ease-in-out, border-color 0.2s ease-in-out;
1336
+ position: relative;
1337
+ display: inline-block;
1434
1338
  }
1435
- .modal_header {
1436
- padding: 16px;
1437
- border-bottom: 1px solid #E5E5E5;
1339
+ .radio_label {
1340
+ font-size: 15px;
1341
+ font-weight: 400;
1342
+ line-height: 22.5px;
1343
+ letter-spacing: 0px;
1438
1344
  color: #121212;
1439
- font-size: 20px;
1345
+ }
1346
+ .radio_size_sm .radio_dot {
1347
+ width: 1rem;
1348
+ height: 1rem;
1349
+ }
1350
+ .radio_size_sm .radio_label {
1351
+ font-size: 12px;
1440
1352
  font-weight: 400;
1441
- line-height: 28px;
1353
+ line-height: 16px;
1442
1354
  letter-spacing: 0px;
1443
1355
  }
1444
- .modal_body {
1445
- padding: 16px;
1446
- overflow: visible;
1356
+ .radio_size_md .radio_dot {
1357
+ width: 1.125rem;
1358
+ height: 1.125rem;
1359
+ }
1360
+ .radio_size_lg .radio_dot {
1361
+ width: 1.25rem;
1362
+ height: 1.25rem;
1363
+ }
1364
+ .radio_size_lg .radio_label {
1365
+ font-size: 16px;
1366
+ font-weight: 400;
1367
+ line-height: 24px;
1368
+ letter-spacing: 0px;
1369
+ }
1370
+ .radio:hover .radio_state_layer {
1371
+ background: rgba(0, 0, 0, 0.05);
1372
+ }
1373
+ .radio_input:focus-visible ~ .radio_state_layer {
1374
+ background: rgba(0, 0, 0, 0.08);
1375
+ }
1376
+ .radio:active .radio_state_layer {
1377
+ background: rgba(26, 26, 26, 0.12);
1378
+ }
1379
+ .radio_input:disabled ~ .radio_state_layer {
1380
+ opacity: 0.38;
1381
+ }
1382
+ .radio_input:disabled ~ .radio_label {
1383
+ opacity: 0.38;
1384
+ }
1385
+ .radio:has(.radio_input:disabled) {
1386
+ cursor: not-allowed;
1387
+ }
1388
+ .radio_input:checked ~ .radio_state_layer .radio_dot {
1389
+ border-color: #121212;
1390
+ }
1391
+ .radio_input:checked ~ .radio_state_layer .radio_dot::after {
1392
+ content: "";
1393
+ position: absolute;
1394
+ left: 50%;
1395
+ top: 50%;
1396
+ width: 60%;
1397
+ height: 60%;
1398
+ transform: translate(-50%, -50%);
1399
+ background: #121212;
1400
+ border-radius: 9999px;
1401
+ }
1402
+
1403
+ /* src/ui/select/style.scss */
1404
+ @keyframes skeleton_loading {
1405
+ 0% {
1406
+ background-position: 100% 0;
1407
+ }
1408
+ 100% {
1409
+ background-position: 0 0;
1410
+ }
1411
+ }
1412
+ .select {
1413
+ position: relative;
1414
+ display: inline-flex;
1415
+ flex-direction: column;
1416
+ width: 100%;
1417
+ gap: 4px;
1418
+ font-family: "Pretendard", sans-serif;
1419
+ }
1420
+ .select_label {
1421
+ font-size: 12px;
1422
+ font-weight: 400;
1423
+ line-height: 16px;
1424
+ letter-spacing: 0px;
1425
+ font-weight: 500;
1426
+ color: #121212;
1427
+ }
1428
+ .select_control {
1429
+ width: 100%;
1430
+ display: inline-flex;
1431
+ align-items: center;
1432
+ justify-content: space-between;
1433
+ gap: 8px;
1434
+ cursor: pointer;
1435
+ color: #121212;
1436
+ background: #FFFFFF;
1437
+ border-radius: 8px;
1438
+ transition:
1439
+ border-color 0.2s ease-in-out,
1440
+ box-shadow 0.2s ease-in-out,
1441
+ background 0.2s ease-in-out;
1442
+ font-size: 15px;
1443
+ font-weight: 400;
1444
+ line-height: 22.5px;
1445
+ letter-spacing: 0px;
1446
+ }
1447
+ .select_control:disabled,
1448
+ .select_control.is_disabled {
1449
+ cursor: not-allowed;
1450
+ opacity: 0.38;
1451
+ background: #F4F4F4;
1452
+ color: #888888;
1453
+ }
1454
+ .select_variant_outline {
1455
+ border: 1px solid #E5E5E5;
1456
+ }
1457
+ .select_variant_outline:hover:not(.is_disabled) {
1458
+ border-color: rgba(0, 0, 0, 0.08);
1459
+ }
1460
+ .select_variant_outline.is_open {
1461
+ border-color: #121212;
1462
+ box-shadow: 0 0 0 3px rgba(18, 18, 18, 0.15);
1463
+ }
1464
+ .select_variant_filled {
1465
+ background: #F4F4F4;
1466
+ border: 1px solid transparent;
1467
+ }
1468
+ .select_variant_filled:hover:not(.is_disabled) {
1469
+ background: rgb(251.7, 251.7, 251.7);
1470
+ }
1471
+ .select_variant_filled.is_open {
1472
+ background: #FFFFFF;
1473
+ border-color: #121212;
1474
+ box-shadow: 0 0 0 3px rgba(18, 18, 18, 0.15);
1475
+ }
1476
+ .select_variant_ghost {
1477
+ background: transparent;
1478
+ border: 1px solid transparent;
1479
+ }
1480
+ .select_variant_ghost:hover:not(.is_disabled) {
1481
+ background: rgba(0, 0, 0, 0.05);
1482
+ }
1483
+ .select_variant_ghost.is_open {
1484
+ background: #FFFFFF;
1485
+ border-color: #121212;
1486
+ box-shadow: 0 0 0 3px rgba(18, 18, 18, 0.15);
1487
+ }
1488
+ .select_size_sm {
1489
+ padding: 8px 16px;
1490
+ font-size: 12px;
1491
+ font-weight: 400;
1492
+ line-height: 16px;
1493
+ letter-spacing: 0px;
1494
+ }
1495
+ .select_size_md {
1496
+ padding: 12px 20px;
1497
+ font-size: 15px;
1498
+ font-weight: 400;
1499
+ line-height: 22.5px;
1500
+ letter-spacing: 0px;
1501
+ }
1502
+ .select_size_lg {
1503
+ padding: 16px 24px;
1504
+ font-size: 16px;
1505
+ font-weight: 400;
1506
+ line-height: 24px;
1507
+ letter-spacing: 0px;
1508
+ }
1509
+ .select_value {
1510
+ flex: 1 1 auto;
1511
+ min-width: 0;
1512
+ overflow: hidden;
1513
+ text-overflow: ellipsis;
1514
+ white-space: nowrap;
1515
+ text-align: start;
1516
+ font-size: 15px;
1517
+ font-weight: 400;
1518
+ line-height: 22.5px;
1519
+ letter-spacing: 0px;
1520
+ }
1521
+ .select_placeholder {
1522
+ flex: 1 1 auto;
1523
+ min-width: 0;
1524
+ overflow: hidden;
1525
+ text-overflow: ellipsis;
1526
+ white-space: nowrap;
1527
+ text-align: start;
1528
+ font-size: 15px;
1529
+ font-weight: 400;
1530
+ line-height: 22.5px;
1531
+ letter-spacing: 0px;
1532
+ color: #888888;
1533
+ }
1534
+ .select_icon {
1535
+ display: inline-flex;
1536
+ align-items: center;
1537
+ justify-content: center;
1538
+ color: #666666;
1539
+ }
1540
+ .select_list {
1541
+ position: absolute;
1542
+ z-index: 1000;
1543
+ top: 100%;
1544
+ left: 0;
1545
+ width: 100%;
1546
+ min-width: 100%;
1547
+ box-sizing: border-box;
1548
+ margin-top: 4px;
1549
+ background: #FFFFFF;
1550
+ border: 1px solid #E5E5E5;
1551
+ border-radius: 8px;
1552
+ box-shadow: 0 2px 2px -2px rgba(0, 0, 0, 0.2), 0 6px 6px 0px rgba(0, 0, 0, 0.12);
1553
+ max-height: 18rem;
1554
+ overflow-y: auto;
1555
+ overflow-x: hidden;
1556
+ padding: 4px 0;
1557
+ }
1558
+ .select_list_up {
1559
+ top: auto;
1560
+ bottom: 100%;
1561
+ margin-top: 0;
1562
+ margin-bottom: 4px;
1563
+ }
1564
+ .select_option {
1565
+ width: 100%;
1566
+ box-sizing: border-box;
1567
+ display: grid;
1568
+ grid-template-columns: 1fr auto;
1569
+ align-items: center;
1570
+ gap: 8px;
1571
+ padding: 8px 16px;
1572
+ cursor: pointer;
1573
+ color: #121212;
1574
+ background: transparent;
1575
+ font-size: 15px;
1576
+ font-weight: 400;
1577
+ line-height: 22.5px;
1578
+ letter-spacing: 0px;
1579
+ }
1580
+ .select_option > span:first-child {
1581
+ min-width: 0;
1582
+ overflow: hidden;
1583
+ text-overflow: ellipsis;
1584
+ white-space: nowrap;
1585
+ }
1586
+ .select_option:hover,
1587
+ .select_option.is_active {
1588
+ background: #F4F4F4;
1589
+ }
1590
+ .select_option.is_selected {
1591
+ font-weight: 500;
1592
+ }
1593
+ .select_option.is_disabled {
1594
+ cursor: not-allowed;
1595
+ color: #888888;
1596
+ }
1597
+
1598
+ /* src/ui/spinner/style.scss */
1599
+ @keyframes skeleton_loading {
1600
+ 0% {
1601
+ background-position: 100% 0;
1602
+ }
1603
+ 100% {
1604
+ background-position: 0 0;
1605
+ }
1606
+ }
1607
+ @keyframes spinner_spin {
1608
+ to {
1609
+ transform: rotate(360deg);
1610
+ }
1611
+ }
1612
+ .spinner {
1613
+ display: inline-block;
1614
+ box-sizing: border-box;
1615
+ border-radius: 9999px;
1616
+ border: 2px solid #E5E5E5;
1617
+ border-top-color: #121212;
1618
+ animation: spinner_spin 0.6s cubic-bezier(0.25, 1, 0.5, 1) linear infinite;
1619
+ }
1620
+
1621
+ /* src/ui/switch/style.scss */
1622
+ @keyframes skeleton_loading {
1623
+ 0% {
1624
+ background-position: 100% 0;
1625
+ }
1626
+ 100% {
1627
+ background-position: 0 0;
1628
+ }
1629
+ }
1630
+ .switch {
1631
+ position: relative;
1632
+ display: inline-flex;
1633
+ align-items: center;
1634
+ box-sizing: border-box;
1635
+ width: 40px;
1636
+ height: 24px;
1637
+ padding: 2px;
1638
+ border: 2px solid #E5E5E5;
1639
+ border-radius: 9999px;
1640
+ background: #F4F4F4;
1641
+ transition: background 0.2s ease-in-out, border-color 0.2s ease-in-out;
1642
+ cursor: pointer;
1643
+ }
1644
+ .switch_thumb {
1645
+ position: relative;
1646
+ width: 16px;
1647
+ height: 16px;
1648
+ background: #888888;
1649
+ border-radius: 9999px;
1650
+ transition:
1651
+ transform 0.2s ease-in-out,
1652
+ width 0.2s ease-in-out,
1653
+ height 0.2s ease-in-out,
1654
+ background 0.2s ease-in-out;
1655
+ transform: translateX(0);
1656
+ }
1657
+ .switch_on {
1658
+ background: #121212;
1659
+ border-color: #121212;
1660
+ }
1661
+ .switch_on .switch_thumb {
1662
+ width: 20px;
1663
+ height: 20px;
1664
+ background: #FFFFFF;
1665
+ transform: translateX(14px);
1666
+ }
1667
+ .switch:not(:disabled):hover {
1668
+ opacity: 0.88;
1669
+ }
1670
+ .switch:focus-visible {
1671
+ outline: none;
1672
+ box-shadow: 0 0 0 3px rgba(18, 18, 18, 0.15);
1673
+ }
1674
+ .switch:not(:disabled):active .switch_thumb {
1675
+ width: 20px;
1676
+ height: 20px;
1677
+ }
1678
+ .switch_on:not(:disabled):active .switch_thumb {
1679
+ transform: translateX(12px);
1680
+ }
1681
+ .switch_size_sm {
1682
+ width: 34px;
1683
+ height: 20px;
1684
+ padding: 2px;
1685
+ }
1686
+ .switch_size_sm .switch_thumb {
1687
+ width: 12px;
1688
+ height: 12px;
1689
+ }
1690
+ .switch_size_sm.switch_on .switch_thumb {
1691
+ width: 16px;
1692
+ height: 16px;
1693
+ transform: translateX(12px);
1694
+ }
1695
+ .switch_size_sm:not(:disabled):active .switch_thumb {
1696
+ width: 16px;
1697
+ height: 16px;
1698
+ }
1699
+ .switch_size_sm.switch_on:not(:disabled):active .switch_thumb {
1700
+ transform: translateX(10px);
1701
+ }
1702
+ .switch_size_md {
1703
+ width: 40px;
1704
+ height: 24px;
1705
+ }
1706
+ .switch_size_lg {
1707
+ width: 48px;
1708
+ height: 28px;
1709
+ padding: 2px;
1710
+ }
1711
+ .switch_size_lg .switch_thumb {
1712
+ width: 20px;
1713
+ height: 20px;
1714
+ }
1715
+ .switch_size_lg.switch_on .switch_thumb {
1716
+ width: 24px;
1717
+ height: 24px;
1718
+ transform: translateX(18px);
1719
+ }
1720
+ .switch_size_lg:not(:disabled):active .switch_thumb {
1721
+ width: 24px;
1722
+ height: 24px;
1723
+ }
1724
+ .switch_size_lg.switch_on:not(:disabled):active .switch_thumb {
1725
+ transform: translateX(16px);
1726
+ }
1727
+ .switch_disabled {
1728
+ opacity: 0.38;
1729
+ cursor: not-allowed;
1730
+ }
1731
+
1732
+ /* src/ui/textfield/style.scss */
1733
+ @keyframes skeleton_loading {
1734
+ 0% {
1735
+ background-position: 100% 0;
1736
+ }
1737
+ 100% {
1738
+ background-position: 0 0;
1739
+ }
1740
+ }
1741
+ .text_field {
1742
+ display: flex;
1743
+ flex-direction: column;
1744
+ align-items: flex-start;
1745
+ }
1746
+ .text_field_full_width {
1747
+ width: 100%;
1748
+ }
1749
+ .text_field_container {
1750
+ position: relative;
1751
+ display: flex;
1752
+ align-items: center;
1753
+ gap: 4px;
1754
+ width: 100%;
1755
+ min-height: 52px;
1756
+ padding: 4px 0;
1757
+ border: 1px solid #E5E5E5;
1758
+ border-radius: 12px;
1759
+ background: #FFFFFF;
1760
+ transition: border-color 0.2s ease-in-out;
1761
+ }
1762
+ .text_field_container:hover {
1763
+ border-color: #B3B3B3;
1764
+ }
1765
+ .text_field_container:focus-within {
1766
+ border-color: #121212;
1767
+ }
1768
+ .text_field_label {
1769
+ position: absolute;
1770
+ top: -8px;
1771
+ left: 16px;
1772
+ padding: 0 4px;
1773
+ background: #FFFFFF;
1774
+ font-family: "Pretendard", sans-serif;
1775
+ font-size: 12px;
1776
+ font-weight: 400;
1777
+ line-height: 16px;
1778
+ letter-spacing: 0.32px;
1779
+ color: #121212;
1780
+ white-space: nowrap;
1781
+ pointer-events: none;
1782
+ transition: color 0.2s ease-in-out;
1783
+ }
1784
+ .text_field_input_wrap {
1785
+ flex: 1;
1786
+ display: flex;
1787
+ align-items: center;
1788
+ min-width: 0;
1789
+ padding: 12px 16px;
1790
+ }
1791
+ .text_field_icon + .text_field_input_wrap {
1792
+ padding-left: 0;
1793
+ }
1794
+ .text_field_input_wrap:has(+ .text_field_icon) {
1795
+ padding-right: 0;
1796
+ }
1797
+ .text_field_input {
1798
+ width: 100%;
1799
+ border: none;
1800
+ outline: none;
1801
+ background: transparent;
1802
+ font-family: "Pretendard", sans-serif;
1803
+ font-size: 14px;
1804
+ font-weight: 400;
1805
+ line-height: 20px;
1806
+ color: #121212;
1807
+ }
1808
+ .text_field_input::placeholder {
1809
+ color: #888888;
1810
+ }
1811
+ .text_field_input:disabled {
1812
+ cursor: not-allowed;
1813
+ color: rgba(26, 26, 26, 0.38);
1814
+ }
1815
+ .text_field_icon {
1816
+ display: inline-flex;
1817
+ align-items: center;
1818
+ justify-content: center;
1819
+ flex-shrink: 0;
1820
+ width: 40px;
1821
+ height: 40px;
1822
+ border-radius: 9999px;
1823
+ color: #121212;
1824
+ }
1825
+ .text_field_icon svg {
1826
+ width: 20px;
1827
+ height: 20px;
1828
+ }
1829
+ .text_field_helper {
1830
+ padding: 4px 16px 0;
1831
+ font-family: "Pretendard", sans-serif;
1832
+ font-size: 12px;
1833
+ font-weight: 400;
1834
+ line-height: 16px;
1835
+ color: #888888;
1836
+ transition: color 0.2s ease-in-out;
1837
+ }
1838
+ .text_field_error .text_field_container {
1839
+ border-color: #EF4444;
1840
+ }
1841
+ .text_field_error .text_field_container:hover,
1842
+ .text_field_error .text_field_container:focus-within {
1843
+ border-color: #EF4444;
1844
+ }
1845
+ .text_field_error .text_field_label {
1846
+ color: #EF4444;
1847
+ }
1848
+ .text_field_error .text_field_helper {
1849
+ color: #EF4444;
1850
+ }
1851
+ .text_field_disabled .text_field_container {
1852
+ border-color: rgba(26, 26, 26, 0.12);
1853
+ }
1854
+ .text_field_disabled .text_field_container:hover {
1855
+ border-color: rgba(26, 26, 26, 0.12);
1856
+ }
1857
+ .text_field_disabled .text_field_container > *:not(.text_field_label) {
1858
+ opacity: 0.38;
1859
+ }
1860
+ .text_field_disabled .text_field_label {
1861
+ color: rgba(26, 26, 26, 0.38);
1862
+ }
1863
+ .text_field_disabled .text_field_helper {
1864
+ opacity: 0.38;
1865
+ }
1866
+
1867
+ /* src/ui/toast/style.scss */
1868
+ @keyframes skeleton_loading {
1869
+ 0% {
1870
+ background-position: 100% 0;
1871
+ }
1872
+ 100% {
1873
+ background-position: 0 0;
1874
+ }
1875
+ }
1876
+ @keyframes toast_slide_in {
1877
+ from {
1878
+ opacity: 0;
1879
+ transform: translateX(calc(100% + 16px));
1880
+ }
1881
+ to {
1882
+ opacity: 1;
1883
+ transform: translateX(0);
1884
+ }
1885
+ }
1886
+ @keyframes toast_slide_out {
1887
+ from {
1888
+ opacity: 1;
1889
+ transform: translateX(0);
1890
+ }
1891
+ to {
1892
+ opacity: 0;
1893
+ transform: translateX(calc(100% + 16px));
1894
+ }
1895
+ }
1896
+ @keyframes toast_slide_in_mobile {
1897
+ from {
1898
+ opacity: 0;
1899
+ transform: translateY(calc(100% + 16px));
1900
+ }
1901
+ to {
1902
+ opacity: 1;
1903
+ transform: translateY(0);
1904
+ }
1905
+ }
1906
+ @keyframes toast_slide_out_mobile {
1907
+ from {
1908
+ opacity: 1;
1909
+ transform: translateY(0);
1910
+ }
1911
+ to {
1912
+ opacity: 0;
1913
+ transform: translateY(calc(100% + 16px));
1914
+ }
1915
+ }
1916
+ @keyframes toast_progress {
1917
+ from {
1918
+ width: 100%;
1919
+ }
1920
+ to {
1921
+ width: 0%;
1922
+ }
1923
+ }
1924
+ .toast_container {
1925
+ position: fixed;
1926
+ top: 16px;
1927
+ right: 16px;
1928
+ z-index: 200;
1929
+ display: flex;
1930
+ flex-direction: column;
1931
+ gap: 8px;
1932
+ pointer-events: none;
1933
+ width: 360px;
1934
+ max-width: calc(100vw - 32px);
1935
+ }
1936
+ @media (max-width: 599px) {
1937
+ .toast_container {
1938
+ top: auto;
1939
+ bottom: 16px;
1940
+ left: 16px;
1941
+ right: 16px;
1942
+ width: auto;
1943
+ }
1944
+ }
1945
+ .toast_item {
1946
+ pointer-events: auto;
1947
+ position: relative;
1948
+ overflow: hidden;
1949
+ display: flex;
1950
+ align-items: flex-start;
1951
+ gap: 8px;
1952
+ padding: 12px 12px 16px;
1953
+ background: #FFFFFF;
1954
+ border: 1px solid #E5E5E5;
1955
+ border-radius: 12px;
1956
+ box-shadow: 0 2px 2px -2px rgba(0, 0, 0, 0.2), 0 6px 6px 0px rgba(0, 0, 0, 0.12);
1957
+ font-family: "Pretendard", sans-serif;
1958
+ font-size: 14px;
1959
+ font-weight: 500;
1960
+ color: #121212;
1961
+ line-height: 24px;
1962
+ animation: toast_slide_in 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards;
1963
+ }
1964
+ .toast_item_exiting {
1965
+ animation: toast_slide_out 0.26s ease-in forwards;
1966
+ }
1967
+ @media (max-width: 599px) {
1968
+ .toast_item {
1969
+ padding: 8px 12px 12px;
1970
+ font-size: 13px;
1971
+ line-height: 20px;
1972
+ border-radius: 8px;
1973
+ box-shadow: 0 1px 1px -1px rgba(0, 0, 0, 0.2), 0 3px 3px 0px rgba(0, 0, 0, 0.12);
1974
+ animation-name: toast_slide_in_mobile;
1975
+ }
1976
+ .toast_item_exiting {
1977
+ animation-name: toast_slide_out_mobile;
1978
+ }
1979
+ }
1980
+ .toast_icon {
1981
+ flex-shrink: 0;
1982
+ margin-top: 1px;
1983
+ display: flex;
1984
+ }
1985
+ .toast_icon_success {
1986
+ color: #10B981;
1987
+ }
1988
+ .toast_icon_error {
1989
+ color: #EF4444;
1990
+ }
1991
+ .toast_icon_warning {
1992
+ color: #F59E0B;
1993
+ }
1994
+ .toast_icon_info {
1995
+ color: #3B82F6;
1996
+ }
1997
+ .toast_icon_default {
1998
+ color: #666666;
1999
+ }
2000
+ @media (max-width: 599px) {
2001
+ .toast_icon {
2002
+ margin-top: 0;
2003
+ }
2004
+ .toast_icon svg {
2005
+ width: 16px;
2006
+ height: 16px;
2007
+ }
2008
+ }
2009
+ .toast_message {
2010
+ flex: 1;
2011
+ word-break: break-word;
2012
+ }
2013
+ .toast_close {
2014
+ flex-shrink: 0;
2015
+ display: flex;
2016
+ align-items: center;
2017
+ justify-content: center;
2018
+ width: 20px;
2019
+ height: 20px;
2020
+ margin-top: 1px;
2021
+ padding: 0;
2022
+ border: none;
2023
+ background: none;
2024
+ cursor: pointer;
2025
+ color: #888888;
2026
+ border-radius: 6px;
2027
+ transition: color 0.1s ease-in-out, background-color 0.1s ease-in-out;
2028
+ }
2029
+ .toast_close:hover {
2030
+ color: #121212;
2031
+ background-color: #F4F4F4;
2032
+ }
2033
+ .toast_close:focus-visible {
2034
+ outline: none;
2035
+ box-shadow: 0 0 0 3px rgba(18, 18, 18, 0.15);
2036
+ }
2037
+ @media (max-width: 599px) {
2038
+ .toast_close {
2039
+ width: 18px;
2040
+ height: 18px;
2041
+ margin-top: 0;
2042
+ }
2043
+ }
2044
+ .toast_progress {
2045
+ position: absolute;
2046
+ bottom: 0;
2047
+ left: 0;
2048
+ height: 3px;
2049
+ border-radius: 0 0 0 12px;
2050
+ animation: toast_progress var(--toast-duration, 3000ms) linear forwards;
2051
+ }
2052
+ .toast_progress_success {
2053
+ background: #10B981;
2054
+ }
2055
+ .toast_progress_error {
2056
+ background: #EF4444;
2057
+ }
2058
+ .toast_progress_warning {
2059
+ background: #F59E0B;
2060
+ }
2061
+ .toast_progress_info {
2062
+ background: #3B82F6;
2063
+ }
2064
+ .toast_progress_default {
2065
+ background: #666666;
2066
+ }
2067
+
2068
+ /* src/ui/top-loading/style.scss */
2069
+ @keyframes skeleton_loading {
2070
+ 0% {
2071
+ background-position: 100% 0;
2072
+ }
2073
+ 100% {
2074
+ background-position: 0 0;
2075
+ }
2076
+ }
2077
+ .top_loading {
2078
+ position: fixed;
2079
+ top: 0;
2080
+ left: 0;
2081
+ right: 0;
2082
+ z-index: 500;
2083
+ overflow: hidden;
2084
+ background-color: transparent;
2085
+ }
2086
+ .top_loading_bar {
2087
+ height: 100%;
2088
+ background-color: #121212;
2089
+ transition: width 0.2s ease-in-out;
2090
+ }
2091
+ .top_loading_indeterminate {
2092
+ width: 30%;
2093
+ animation: top_loading_indeterminate 1.5s ease-in-out infinite;
2094
+ }
2095
+ @keyframes top_loading_indeterminate {
2096
+ 0% {
2097
+ transform: translateX(-100%);
2098
+ }
2099
+ 100% {
2100
+ transform: translateX(400%);
2101
+ }
1447
2102
  }