@uniai-fe/uds-primitives 0.3.0 → 0.3.1

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/styles.css CHANGED
@@ -204,6 +204,10 @@
204
204
  --theme-chip-font-family: var(--font-body-medium-family, "Pretendard");
205
205
  --theme-chip-font-size: var(--font-body-xsmall-size, 13px);
206
206
  --theme-chip-font-weight: var(--font-body-xsmall-weight, 400);
207
+ --divider-width: 1px;
208
+ --divider-height: 12px;
209
+ --divider-color: var(--color-border-standard-cool-gray, #e4e5e7);
210
+ --divider-margin: var(--spacing-gap-4, 8px);
207
211
  --drawer-overlay-bg: rgba(0, 0, 0, 0.44);
208
212
  --drawer-surface-bg: var(--color-surface-static-white);
209
213
  --drawer-radius-large: var(--theme-radius-large-2);
@@ -260,17 +264,45 @@
260
264
  --dropdown-option-height-small: var(--theme-size-medium-1, 40px);
261
265
  --dropdown-option-height-medium: var(--theme-size-medium-2, 48px);
262
266
  --dropdown-option-height-large: var(--theme-size-medium-3, 56px);
263
- --tooltip-message-background: var(--color-cool-gray-20);
264
- --tooltip-message-foreground: var(--color-common-100);
265
- --tooltip-message-radius: var(--theme-radius-medium-3);
266
- --tooltip-message-padding-inline: var(--spacing-padding-5);
267
- --tooltip-message-padding-block: var(--spacing-padding-4);
268
- --tooltip-message-font-size: var(--font-caption-large-size);
269
- --tooltip-message-line-height: var(--font-caption-large-line-height);
270
- --tooltip-message-letter-spacing: var(--font-caption-large-letter-spacing);
271
- --tooltip-message-font-weight: 400;
272
- --tooltip-trigger-icon-size: 16px;
273
- --tooltip-trigger-icon-color: var(--color-label-alternative);
267
+ --form-field-width: auto;
268
+ --form-field-flex: 0 0 auto;
269
+ --form-field-gap-x: var(--spacing-gap-5, 12px);
270
+ --form-field-gap-y: var(--spacing-gap-3, 6px);
271
+ --form-field-label-font-size: var(--font-label-small-size);
272
+ --form-field-label-font-weight: 400;
273
+ --form-field-label-line-height: var(--font-label-small-line-height);
274
+ --form-field-label-color: var(--color-label-standard);
275
+ --form-field-helper-font-size: var(--font-caption-medium-size);
276
+ --form-field-helper-font-weight: 400;
277
+ --form-field-helper-line-height: var(--font-caption-medium-line-height);
278
+ --form-field-helper-color: var(--color-label-neutral);
279
+ --info-box-background-color: color-mix(
280
+ in srgb,
281
+ var(--color-feedback-information) 9%,
282
+ var(--color-common-100)
283
+ );
284
+ --info-box-border-color: color-mix(
285
+ in srgb,
286
+ var(--color-feedback-information) 24%,
287
+ var(--color-common-100)
288
+ );
289
+ --info-box-icon-color: var(--color-feedback-information);
290
+ --info-box-heading-color: var(--color-feedback-information);
291
+ --info-box-body-color: var(--color-label-strong);
292
+ --info-box-radius: var(--theme-radius-120x120);
293
+ --info-box-padding-block: var(--spacing-padding-6);
294
+ --info-box-padding-inline: var(--spacing-padding-6);
295
+ --info-box-gap-icon: var(--spacing-gap-4);
296
+ --info-box-gap-contents: var(--spacing-gap-3);
297
+ --info-box-icon-size: 24px;
298
+ --info-box-heading-font-size: var(--font-heading-xsmall-size);
299
+ --info-box-heading-line-height: var(--font-heading-xsmall-line-height);
300
+ --info-box-heading-letter-spacing: var(--font-heading-xsmall-letter-spacing);
301
+ --info-box-heading-font-weight: var(--font-heading-xsmall-weight);
302
+ --info-box-body-font-size: var(--font-body-small-size);
303
+ --info-box-body-line-height: var(--font-body-small-line-height);
304
+ --info-box-body-letter-spacing: var(--font-body-small-letter-spacing);
305
+ --info-box-body-font-weight: var(--font-body-small-weight);
274
306
  /* Layout presets */
275
307
  --input-width: 100%;
276
308
  --input-flex: 0 1 auto;
@@ -320,6 +352,46 @@
320
352
  --input-surface-color: var(--color-common-100);
321
353
  --input-surface-muted-color: var(--color-neutral-99);
322
354
  --input-surface-disabled-color: var(--color-neutral-95);
355
+ --theme-navigation-height: 86px;
356
+ --theme-navigation-padding-inline: 32px;
357
+ --theme-navigation-padding-block-start: 8px;
358
+ --theme-navigation-padding-block-end: 20px;
359
+ --theme-navigation-item-gap: 2px;
360
+ --theme-navigation-icon-size: 24px;
361
+ --theme-navigation-label-font-size: 12px;
362
+ --theme-navigation-label-line-height: 1.4;
363
+ --theme-navigation-label-font-weight: 500;
364
+ --theme-navigation-label-letter-spacing: -0.12px;
365
+ --theme-navigation-bg: var(--color-common-100, #ffffff);
366
+ --theme-navigation-border: var(--color-border-assistive, #e4e5e7);
367
+ --theme-navigation-shadow: 0 -4px 16px rgba(0, 0, 0, 0.04);
368
+ --theme-navigation-color: var(--color-label-strong, #3d3f43);
369
+ --theme-navigation-color-active: var(--color-primary-default, #0061ff);
370
+ --theme-navigation-color-disabled: var(--color-label-disabled, #c5c6cc);
371
+ --theme-radio-frame-size-medium: 20px;
372
+ --theme-radio-frame-size-large: 24px;
373
+ --theme-radio-indicator-size-medium: 16px;
374
+ --theme-radio-indicator-size-large: 20px;
375
+ --theme-radio-indicator-border-width: 1.4px;
376
+ --theme-radio-indicator-border-width-selected-medium: 4px;
377
+ --theme-radio-indicator-border-width-selected-large: 6px;
378
+ --theme-radio-border-color: var(--color-border-assistive);
379
+ --theme-radio-border-selected: var(--color-primary-default);
380
+ --theme-radio-surface-selected: var(--color-primary-default);
381
+ --theme-radio-surface-disabled: var(--color-border-assistive);
382
+ --theme-radio-border-disabled: var(--color-border-assistive);
383
+ --theme-radio-disabled-selected-fill: var(--color-primary-default);
384
+ --theme-radio-label-color: var(--color-label-strong);
385
+ --theme-radio-label-disabled: var(--color-label-disabled);
386
+ --theme-radio-helper-color: var(--color-label-neutral);
387
+ --theme-radio-helper-disabled: var(--color-label-disabled);
388
+ --theme-radio-card-background: var(--color-common-100);
389
+ --theme-radio-card-title-color: var(--color-label-strong);
390
+ --theme-radio-card-description-color: var(--color-label-neutral);
391
+ --theme-radio-card-badge-background: var(--color-surface-static-blue);
392
+ --theme-radio-card-badge-color: var(--color-primary-default);
393
+ --theme-radio-focus-ring: rgba(2, 84, 255, 0.32);
394
+ --theme-radio-disabled-selected-opacity: 0.28;
323
395
  /* layout presets */
324
396
  --select-width: 100%;
325
397
  --select-flex: 0 1 auto;
@@ -430,58 +502,6 @@
430
502
  --font-body-medium-line-height
431
503
  );
432
504
  --select-multiple-chip-summary-font-weight: 400;
433
- --form-field-width: auto;
434
- --form-field-flex: 0 0 auto;
435
- --form-field-gap-x: var(--spacing-gap-5, 12px);
436
- --form-field-gap-y: var(--spacing-gap-3, 6px);
437
- --form-field-label-font-size: var(--font-label-small-size);
438
- --form-field-label-font-weight: 400;
439
- --form-field-label-line-height: var(--font-label-small-line-height);
440
- --form-field-label-color: var(--color-label-standard);
441
- --form-field-helper-font-size: var(--font-caption-medium-size);
442
- --form-field-helper-font-weight: 400;
443
- --form-field-helper-line-height: var(--font-caption-medium-line-height);
444
- --form-field-helper-color: var(--color-label-neutral);
445
- --theme-navigation-height: 86px;
446
- --theme-navigation-padding-inline: 32px;
447
- --theme-navigation-padding-block-start: 8px;
448
- --theme-navigation-padding-block-end: 20px;
449
- --theme-navigation-item-gap: 2px;
450
- --theme-navigation-icon-size: 24px;
451
- --theme-navigation-label-font-size: 12px;
452
- --theme-navigation-label-line-height: 1.4;
453
- --theme-navigation-label-font-weight: 500;
454
- --theme-navigation-label-letter-spacing: -0.12px;
455
- --theme-navigation-bg: var(--color-common-100, #ffffff);
456
- --theme-navigation-border: var(--color-border-assistive, #e4e5e7);
457
- --theme-navigation-shadow: 0 -4px 16px rgba(0, 0, 0, 0.04);
458
- --theme-navigation-color: var(--color-label-strong, #3d3f43);
459
- --theme-navigation-color-active: var(--color-primary-default, #0061ff);
460
- --theme-navigation-color-disabled: var(--color-label-disabled, #c5c6cc);
461
- --theme-radio-frame-size-medium: 20px;
462
- --theme-radio-frame-size-large: 24px;
463
- --theme-radio-indicator-size-medium: 16px;
464
- --theme-radio-indicator-size-large: 20px;
465
- --theme-radio-indicator-border-width: 1.4px;
466
- --theme-radio-indicator-border-width-selected-medium: 4px;
467
- --theme-radio-indicator-border-width-selected-large: 6px;
468
- --theme-radio-border-color: var(--color-border-assistive);
469
- --theme-radio-border-selected: var(--color-primary-default);
470
- --theme-radio-surface-selected: var(--color-primary-default);
471
- --theme-radio-surface-disabled: var(--color-border-assistive);
472
- --theme-radio-border-disabled: var(--color-border-assistive);
473
- --theme-radio-disabled-selected-fill: var(--color-primary-default);
474
- --theme-radio-label-color: var(--color-label-strong);
475
- --theme-radio-label-disabled: var(--color-label-disabled);
476
- --theme-radio-helper-color: var(--color-label-neutral);
477
- --theme-radio-helper-disabled: var(--color-label-disabled);
478
- --theme-radio-card-background: var(--color-common-100);
479
- --theme-radio-card-title-color: var(--color-label-strong);
480
- --theme-radio-card-description-color: var(--color-label-neutral);
481
- --theme-radio-card-badge-background: var(--color-surface-static-blue);
482
- --theme-radio-card-badge-color: var(--color-primary-default);
483
- --theme-radio-focus-ring: rgba(2, 84, 255, 0.32);
484
- --theme-radio-disabled-selected-opacity: 0.28;
485
505
  --table-border-color: var(--color-border-standard-cool-gray);
486
506
  --table-line-head-background-color: var(--color-surface-static-cool-gray);
487
507
  --table-grid-head-background-color: var(
@@ -504,10 +524,17 @@
504
524
  --table-td-text-size: 15px;
505
525
  --table-td-text-weight: var(--font-body-xsmall-weight);
506
526
  --table-td-text-line-height: var(--font-body-xsmall-line-height);
507
- --divider-width: 1px;
508
- --divider-height: 12px;
509
- --divider-color: var(--color-border-standard-cool-gray, #e4e5e7);
510
- --divider-margin: var(--spacing-gap-4, 8px);
527
+ --tooltip-message-background: var(--color-cool-gray-20);
528
+ --tooltip-message-foreground: var(--color-common-100);
529
+ --tooltip-message-radius: var(--theme-radius-medium-3);
530
+ --tooltip-message-padding-inline: var(--spacing-padding-5);
531
+ --tooltip-message-padding-block: var(--spacing-padding-4);
532
+ --tooltip-message-font-size: var(--font-caption-large-size);
533
+ --tooltip-message-line-height: var(--font-caption-large-line-height);
534
+ --tooltip-message-letter-spacing: var(--font-caption-large-letter-spacing);
535
+ --tooltip-message-font-weight: 400;
536
+ --tooltip-trigger-icon-size: 16px;
537
+ --tooltip-trigger-icon-color: var(--color-label-alternative);
511
538
  }
512
539
 
513
540
  @keyframes alternate-loading-spin {
@@ -1675,6 +1702,19 @@ figure.chip {
1675
1702
  height: 100%;
1676
1703
  }
1677
1704
 
1705
+ /* Divider 토큰도 전역 :root 범위에 선언한다. */
1706
+
1707
+
1708
+ .divider {
1709
+ width: var(--divider-width);
1710
+ height: var(--divider-height);
1711
+ background-color: var(--divider-color);
1712
+ margin: 0 var(--divider-margin);
1713
+ vertical-align: middle;
1714
+ align-self: center;
1715
+ font-size: 0;
1716
+ }
1717
+
1678
1718
 
1679
1719
 
1680
1720
  .drawer-overlay {
@@ -2023,81 +2063,131 @@ figure.chip {
2023
2063
  padding: 0;
2024
2064
  }
2025
2065
 
2026
- .pop-over-content {
2027
- position: relative;
2028
- z-index: 50;
2029
- outline: none;
2066
+
2067
+
2068
+ .form-field-container {
2069
+ display: block;
2070
+ width: var(--form-field-width);
2071
+ flex: var(--form-field-flex);
2072
+ }
2073
+ .form-field-container[data-width=auto] {
2074
+ --form-field-width: auto;
2075
+ --form-field-flex: 0 0 auto;
2076
+ }
2077
+ .form-field-container[data-width=fill] {
2078
+ --form-field-width: auto;
2079
+ --form-field-flex: 1 1 0%;
2080
+ }
2081
+ .form-field-container[data-width=full] {
2082
+ --form-field-width: 100%;
2083
+ --form-field-flex: 0 0 100%;
2084
+ }
2085
+ .form-field-container[data-width=fit] {
2086
+ --form-field-width: fit-content;
2087
+ --form-field-flex: 0 0 auto;
2088
+ }
2089
+ .form-field-container[data-width=custom] {
2090
+ --form-field-flex: 0 0 auto;
2030
2091
  }
2031
2092
 
2032
- .pop-over-content {
2033
- width: fit-content;
2034
- max-width: min(100vw - 24px, max-content);
2035
- box-sizing: border-box;
2036
- background-color: var(--color-common-100);
2037
- border-radius: var(--theme-radius-large-2);
2038
- overflow: hidden;
2039
- box-shadow: 0 4px 20px rgba(0, 0, 0, 0.16), 0 0 2px rgba(0, 0, 0, 0.12);
2093
+ .form-field-header {
2094
+ margin-bottom: var(--form-field-gap-y);
2040
2095
  }
2041
2096
 
2042
- .pop-over-content[data-width=match] {
2043
- width: var(--radix-popover-trigger-width);
2097
+ .form-field-required {
2098
+ color: var(--color-feedback-error);
2044
2099
  }
2045
2100
 
2046
- .pop-over-content[data-width=fit-content] {
2047
- width: fit-content;
2101
+ .form-field-label {
2102
+ display: flex;
2103
+ align-items: center;
2104
+ gap: var(--spacing-gap-1);
2105
+ font-size: var(--form-field-label-font-size);
2106
+ font-weight: var(--form-field-label-font-weight);
2107
+ line-height: var(--form-field-label-line-height);
2108
+ }
2109
+ .form-field-label span:not(.form-field-required) {
2110
+ color: var(--form-field-label-color);
2048
2111
  }
2049
2112
 
2050
- .pop-over-content[data-width=max-content] {
2051
- width: max-content;
2113
+ .form-field-body {
2114
+ display: flex;
2115
+ flex-wrap: wrap;
2116
+ gap: var(--form-field-gap-x);
2117
+ width: 100%;
2052
2118
  }
2053
2119
 
2120
+ .form-field-footer {
2121
+ margin-top: var(--form-field-gap-y);
2122
+ font-size: var(--form-field-helper-font-size);
2123
+ line-height: var(--form-field-helper-line-height);
2124
+ }
2125
+ .form-field-footer p,
2126
+ .form-field-footer span {
2127
+ color: var(--form-field-helper-color);
2128
+ }
2054
2129
 
2055
2130
 
2056
- .tooltip-trigger {
2057
- display: inline-flex;
2058
- align-items: center;
2059
- justify-content: center;
2131
+
2132
+ .info-box {
2133
+ display: flex;
2134
+ align-items: flex-start;
2135
+ gap: var(--info-box-gap-icon);
2136
+ width: 100%;
2137
+ box-sizing: border-box;
2138
+ margin: 0;
2139
+ padding: var(--info-box-padding-block) var(--info-box-padding-inline);
2140
+ border: 1px solid var(--info-box-border-color);
2141
+ border-radius: var(--info-box-radius);
2142
+ background-color: var(--info-box-background-color);
2060
2143
  }
2061
2144
 
2062
- .tooltip-template-trigger {
2145
+ .info-box:where([data-state=info]) {
2146
+ --info-box-icon-color: var(--color-feedback-information);
2147
+ --info-box-heading-color: var(--color-feedback-information);
2148
+ }
2149
+
2150
+ .info-box-icon {
2063
2151
  display: inline-flex;
2064
- width: var(--tooltip-trigger-icon-size);
2065
- height: var(--tooltip-trigger-icon-size);
2066
2152
  align-items: center;
2067
2153
  justify-content: center;
2068
- padding: 0;
2069
- border: 0;
2070
- background-color: transparent;
2071
- color: var(--tooltip-trigger-icon-color);
2072
- cursor: pointer;
2154
+ margin: 0;
2155
+ width: var(--info-box-icon-size);
2156
+ height: var(--info-box-icon-size);
2157
+ color: var(--info-box-icon-color);
2158
+ flex-shrink: 0;
2073
2159
  }
2074
2160
 
2075
- .tooltip-template-trigger svg {
2161
+ .info-box-icon svg {
2162
+ display: block;
2076
2163
  width: 100%;
2077
2164
  height: 100%;
2078
- display: block;
2079
2165
  }
2080
2166
 
2081
- .tooltip-message {
2082
- max-width: min(20rem, 100vw - 1.5rem);
2083
- box-sizing: border-box;
2084
- border-radius: var(--tooltip-message-radius);
2085
- background-color: var(--tooltip-message-background);
2086
- padding: var(--tooltip-message-padding-block) var(--tooltip-message-padding-inline);
2167
+ .info-box-content {
2168
+ display: flex;
2169
+ flex: 1;
2170
+ min-width: 0;
2171
+ flex-direction: column;
2172
+ gap: var(--info-box-gap-contents);
2087
2173
  }
2088
2174
 
2089
- .tooltip-message-text {
2090
- display: block;
2091
- color: var(--tooltip-message-foreground);
2092
- font-size: var(--tooltip-message-font-size);
2093
- line-height: var(--tooltip-message-line-height);
2094
- letter-spacing: var(--tooltip-message-letter-spacing);
2095
- font-weight: var(--tooltip-message-font-weight);
2096
- white-space: normal;
2175
+ .info-box-heading {
2176
+ margin: 0;
2177
+ color: var(--info-box-heading-color);
2178
+ font-size: var(--info-box-heading-font-size);
2179
+ line-height: var(--info-box-heading-line-height);
2180
+ letter-spacing: var(--info-box-heading-letter-spacing);
2181
+ font-weight: var(--info-box-heading-font-weight);
2097
2182
  }
2098
2183
 
2099
- .tooltip-message-arrow {
2100
- fill: var(--tooltip-message-background);
2184
+ .info-box-body {
2185
+ margin: 0;
2186
+ color: var(--info-box-body-color);
2187
+ font-size: var(--info-box-body-font-size);
2188
+ line-height: var(--info-box-body-line-height);
2189
+ letter-spacing: var(--info-box-body-letter-spacing);
2190
+ font-weight: var(--info-box-body-font-weight);
2101
2191
  }
2102
2192
 
2103
2193
 
@@ -2658,988 +2748,952 @@ figure.chip {
2658
2748
  cursor: pointer;
2659
2749
  }
2660
2750
 
2661
- /* Select tokens mapped to Input primary tokens for visual parity */
2662
2751
 
2663
2752
 
2664
- .select {
2753
+ .bottom-navigation {
2754
+ width: 100%;
2755
+ position: relative;
2756
+ z-index: 10;
2757
+ background-color: var(--theme-navigation-bg);
2758
+ border-top: 1px solid var(--theme-navigation-border);
2759
+ box-shadow: var(--theme-navigation-shadow, 0 -4px 16px rgba(0, 0, 0, 0.04));
2760
+ padding-inline: var(--theme-navigation-padding-inline);
2761
+ padding-block-start: var(--theme-navigation-padding-block-start);
2762
+ padding-block-end: max(var(--theme-navigation-padding-block-end), env(safe-area-inset-bottom, 0px));
2763
+ min-height: var(--theme-navigation-height);
2764
+ }
2765
+
2766
+ .bottom-navigation[data-fixed=true] {
2767
+ position: fixed;
2768
+ inset-inline: 0;
2769
+ bottom: 0;
2770
+ z-index: 20;
2771
+ }
2772
+
2773
+ .bottom-navigation-list {
2665
2774
  display: flex;
2666
- width: var(--select-width);
2667
- flex: var(--select-flex);
2668
- flex-direction: column;
2669
- gap: var(--spacing-gap-2);
2670
- min-width: 0;
2775
+ align-items: flex-start;
2776
+ justify-content: space-between;
2777
+ gap: 0;
2778
+ padding: 0;
2779
+ margin: 0;
2780
+ list-style: none;
2671
2781
  }
2672
2782
 
2673
- .select[data-width=auto] {
2674
- --select-width: auto;
2675
- --select-flex: 0 1 auto;
2783
+ .bottom-navigation-item {
2784
+ flex: 1;
2785
+ min-width: 0;
2786
+ display: flex;
2787
+ justify-content: center;
2676
2788
  }
2677
2789
 
2678
- .select[data-width=fill] {
2679
- --select-width: auto;
2680
- --select-flex: 1 1 0%;
2790
+ .bottom-navigation-trigger {
2791
+ display: inline-flex;
2792
+ flex-direction: column;
2793
+ align-items: center;
2794
+ gap: var(--theme-navigation-item-gap);
2795
+ min-width: 0;
2796
+ padding: 0;
2797
+ border: none;
2798
+ background: none;
2799
+ appearance: none;
2800
+ text-decoration: none;
2801
+ color: var(--theme-navigation-color);
2802
+ font: inherit;
2803
+ cursor: pointer;
2804
+ -webkit-tap-highlight-color: transparent;
2805
+ transition: color 0.16s ease;
2681
2806
  }
2682
2807
 
2683
- .select[data-width=full],
2684
- .select-block {
2685
- --select-width: 100%;
2686
- --select-flex: 0 0 100%;
2808
+ .bottom-navigation-trigger[data-active=true] {
2809
+ color: var(--theme-navigation-color-active);
2687
2810
  }
2688
2811
 
2689
- .select[data-width=fit] {
2690
- --select-width: fit-content;
2691
- --select-flex: 0 0 auto;
2812
+ .bottom-navigation-trigger[data-disabled=true],
2813
+ .bottom-navigation-trigger:disabled {
2814
+ color: var(--theme-navigation-color-disabled);
2815
+ cursor: default;
2816
+ pointer-events: none;
2692
2817
  }
2693
2818
 
2694
- .select[data-width=custom] {
2695
- --select-flex: 0 0 auto;
2819
+ .bottom-navigation-trigger:focus-visible {
2820
+ outline: none;
2821
+ border-radius: var(--theme-radius-large-1, 12px);
2822
+ box-shadow: 0 0 0 2px var(--color-primary-focus, rgba(0, 97, 255, 0.2));
2696
2823
  }
2697
2824
 
2698
- .select-button {
2699
- --select-icon-fill: var(--select-icon-color-default);
2700
- display: flex;
2701
- width: 100%;
2825
+ .navigation-item-icon {
2826
+ display: inline-flex;
2702
2827
  align-items: center;
2703
- gap: var(--select-primary-gap-inline);
2704
- min-height: var(--select-primary-height-medium);
2705
- padding: var(--select-primary-padding-block) var(--select-primary-padding-inline);
2706
- border: var(--select-primary-border-width-default) solid var(--select-primary-color-border);
2707
- border-radius: var(--select-primary-radius-medium);
2708
- background-color: var(--input-surface-color);
2709
- cursor: pointer;
2710
- transition: border-color 150ms ease, background-color 150ms ease, color 150ms ease;
2711
- text-align: left;
2828
+ justify-content: center;
2829
+ width: var(--theme-navigation-icon-size);
2830
+ height: var(--theme-navigation-icon-size);
2831
+ color: currentColor;
2712
2832
  }
2713
- .select-button[data-size=small] {
2714
- min-height: var(--select-primary-height-small);
2715
- border-radius: var(--select-primary-radius-small);
2833
+ .navigation-item-icon svg {
2834
+ display: block;
2835
+ width: 100%;
2836
+ height: 100%;
2716
2837
  }
2717
- .select-button[data-size=large] {
2718
- min-height: var(--select-primary-height-large);
2719
- border-radius: var(--select-primary-radius-large);
2838
+ .navigation-item-icon {
2839
+ /* SVG fill/stroke를 currentColor로 맞춰 selected 컬러만 제어한다. */
2720
2840
  }
2721
- .select-button[data-multiple=true] {
2722
- align-items: center;
2723
- flex-wrap: nowrap;
2724
- overflow: hidden;
2841
+ .navigation-item-icon svg [fill]:not([fill=none]) {
2842
+ fill: currentColor;
2725
2843
  }
2726
- .select-button[data-priority=secondary] {
2727
- width: fit-content;
2844
+ .navigation-item-icon svg [stroke]:not([stroke=none]) {
2845
+ stroke: currentColor;
2846
+ }
2847
+
2848
+ .navigation-item-label {
2849
+ display: block;
2850
+ font-size: var(--theme-navigation-label-font-size);
2851
+ font-weight: var(--theme-navigation-label-font-weight);
2852
+ line-height: var(--theme-navigation-label-line-height);
2853
+ letter-spacing: var(--theme-navigation-label-letter-spacing);
2854
+ color: currentColor;
2855
+ text-align: center;
2856
+ white-space: nowrap;
2857
+ overflow: hidden;
2858
+ text-overflow: ellipsis;
2728
2859
  max-width: 100%;
2729
- min-height: auto;
2730
- border: none;
2731
- border-radius: var(--select-secondary-radius);
2732
- padding: var(--select-secondary-padding-block) var(--select-secondary-padding-inline);
2733
- background-color: transparent;
2734
- gap: var(--select-secondary-gap);
2735
- position: relative;
2736
- --select-icon-fill: currentColor;
2737
- transition: background-color 150ms ease, color 150ms ease;
2738
2860
  }
2739
- .select-button[data-priority=secondary]:hover:not([data-state=disabled]) {
2740
- background-color: var(--select-color-surface-secondary-hover);
2861
+
2862
+ /* Pagination native 구현 스타일 */
2863
+ .pagination {
2864
+ --pagination-gap: var(--spacing-gap-2, 8px);
2865
+ --pagination-number-height: var(--theme-size-small-2, 24px);
2866
+ --pagination-number-min-width: var(--theme-size-small-2, 24px);
2867
+ --pagination-number-radius: var(--theme-radius-medium-1, 6px);
2868
+ --pagination-color-active-bg: var(--color-cool-gray-10, #18191b);
2869
+ --pagination-color-active-label: var(--color-common-100, #ffffff);
2870
+ --pagination-color-inactive-label: var(--color-label-alternative, #afb1b6);
2871
+ --pagination-dot-size: 8px;
2872
+ --pagination-dot-bg: var(--color-cool-gray-85, #d2d3d7);
2873
+ --pagination-dot-active-bg: var(--color-primary-default, #0061ff);
2874
+ --pagination-dot-active-bg-secondary: var(
2875
+ --color-surface-heavy,
2876
+ #313235
2877
+ );
2878
+ --pagination-carousel-height: 8px;
2879
+ --pagination-carousel-dot-width: 8px;
2880
+ --pagination-carousel-active-width: 20px;
2881
+ --pagination-count-bg: var(--color-cool-gray-10, #18191b);
2882
+ --pagination-count-divider: var(--color-common-100, #ffffff);
2883
+ --pagination-count-total: var(--color-label-alternative, #afb1b6);
2884
+ display: inline-flex;
2885
+ gap: var(--pagination-gap);
2886
+ align-items: center;
2887
+ padding: 0;
2888
+ margin: 0;
2889
+ list-style: none;
2741
2890
  }
2742
- .select-button[data-priority=secondary]:active:not([data-state=disabled]) {
2743
- background-color: var(--select-color-surface-secondary-active);
2891
+
2892
+ .pagination[data-interactive=false] .pagination-button,
2893
+ .pagination-button:disabled {
2894
+ cursor: default;
2744
2895
  }
2745
- .select-button[data-priority=secondary][data-state=focused], .select-button[data-priority=secondary][data-open=true] {
2746
- background-color: var(--select-color-surface-secondary-hover);
2896
+
2897
+ .pagination-item {
2898
+ list-style: none;
2747
2899
  }
2748
- .select-button[data-priority=secondary][data-state=focused]::after, .select-button[data-priority=secondary][data-open=true]::after {
2749
- height: var(--select-secondary-underline-width-focus);
2750
- background-color: var(--select-color-border-secondary-focused);
2900
+
2901
+ .pagination-button {
2902
+ appearance: none;
2903
+ border: none;
2904
+ background: transparent;
2905
+ padding: 0;
2906
+ margin: 0;
2907
+ display: inline-flex;
2908
+ align-items: center;
2909
+ justify-content: center;
2910
+ cursor: pointer;
2911
+ color: inherit;
2912
+ font: inherit;
2913
+ transition: background-color 0.16s ease, color 0.16s ease, opacity 0.16s ease;
2751
2914
  }
2752
- .select-button[data-priority=secondary][data-state=disabled], .select-button[data-priority=secondary]:disabled {
2753
- color: var(--color-label-disabled);
2754
- cursor: not-allowed;
2915
+
2916
+ .pagination--variant-list {
2917
+ gap: var(--spacing-gap-1, 4px);
2755
2918
  }
2756
- .select-button[data-priority=table] {
2757
- border-radius: var(--select-table-radius);
2758
- border-color: var(--select-table-border-default-color);
2759
- background-color: var(--select-table-surface-color);
2760
- --select-icon-fill: var(--select-table-icon-color-default);
2919
+
2920
+ .pagination--variant-list .pagination-button {
2921
+ min-width: var(--pagination-number-min-width);
2922
+ height: var(--pagination-number-height);
2923
+ padding-inline: var(--spacing-padding-2, 8px);
2924
+ border-radius: var(--pagination-number-radius);
2925
+ background-color: transparent;
2926
+ color: var(--pagination-color-inactive-label);
2927
+ font-size: var(--font-label-medium-size, 12px);
2928
+ font-weight: var(--font-label-medium-weight, 400);
2929
+ line-height: var(--font-label-medium-line-height, 1.5);
2761
2930
  }
2762
- .select-button:not([data-priority=secondary])[data-state=focused], .select-button:not([data-priority=secondary])[data-open=true], .select-button:not([data-priority=secondary]):focus-visible {
2763
- border-color: var(--select-primary-color-border-focused);
2764
- border-width: var(--select-primary-border-width-focus);
2765
- --select-icon-fill: var(--select-icon-color-focused);
2931
+
2932
+ .pagination[data-interactive=true] .pagination--variant-list .pagination-button:not([data-active=true]):hover {
2933
+ background-color: var(--color-bg-alternative-cool-gray, #f0f1f5);
2934
+ color: var(--color-label-strong, #5b5c60);
2766
2935
  }
2767
- .select-button[data-priority=table][data-state=focused], .select-button[data-priority=table][data-open=true], .select-button[data-priority=table]:focus-visible {
2768
- border-color: var(--select-table-border-focus-color);
2769
- border-width: var(--select-primary-border-width-focus);
2770
- --select-icon-fill: var(--select-table-icon-color-focused);
2771
- }
2772
- .select-button:not([data-priority=secondary])[data-state=disabled], .select-button:not([data-priority=secondary]):disabled {
2773
- border-color: var(--select-primary-color-border-disabled);
2774
- background-color: var(--select-primary-color-surface-disabled);
2775
- cursor: not-allowed;
2776
- --select-icon-fill: var(--select-icon-color-disabled);
2777
- }
2778
- .select-button[data-priority=secondary][data-state=disabled], .select-button[data-priority=secondary]:disabled {
2779
- border-color: transparent;
2780
- background-color: var(--select-color-surface-secondary-disabled);
2781
- }
2782
- .select-button[data-priority=secondary][data-state=disabled]::after, .select-button[data-priority=secondary]:disabled::after {
2783
- background-color: var(--select-color-border-secondary-disabled);
2784
- height: var(--select-secondary-underline-width-default);
2785
- }
2786
- .select-button[data-priority=table][data-state=disabled], .select-button[data-priority=table]:disabled {
2787
- border-color: var(--select-table-border-disabled-color);
2788
- background-color: var(--select-table-surface-disabled-color);
2789
- cursor: not-allowed;
2790
- --select-icon-fill: var(--select-table-icon-color-disabled);
2936
+
2937
+ .pagination--variant-list .pagination-button[data-active=true] {
2938
+ background-color: var(--pagination-color-active-bg);
2939
+ color: var(--pagination-color-active-label);
2791
2940
  }
2792
2941
 
2793
- .select-value {
2794
- flex: 1 1 auto;
2795
- min-width: 0;
2796
- display: flex;
2797
- flex-direction: column;
2798
- gap: var(--spacing-gap-2);
2942
+ .pagination-number {
2943
+ min-width: 1ch;
2944
+ text-align: center;
2799
2945
  }
2800
2946
 
2801
- .select-label {
2802
- flex: 1 1 auto;
2803
- min-width: 0;
2804
- font-family: var(--font-body-medium-family);
2805
- font-size: var(--select-text-medium-size);
2806
- font-weight: var(--select-text-medium-weight);
2807
- line-height: var(--select-text-medium-line-height);
2808
- letter-spacing: var(--select-text-medium-letter-spacing);
2809
- color: var(--select-primary-color-text);
2810
- overflow: hidden;
2811
- text-overflow: ellipsis;
2812
- white-space: nowrap;
2813
- }
2814
- .select-button[data-priority=secondary] .select-label {
2815
- color: var(--select-secondary-color-text);
2816
- }
2817
- .select-button[data-priority=table] .select-label {
2818
- color: var(--select-table-color-text);
2819
- }
2820
- .select-button[data-state=focused] .select-label, .select-button[data-open=true] .select-label {
2821
- color: var(--select-primary-color-text-focused);
2822
- }
2823
- .select-button[data-state=disabled] .select-label {
2824
- color: var(--select-primary-color-text-disabled);
2825
- }
2826
- .select-button[data-priority=secondary][data-state=disabled] .select-label {
2827
- color: var(--color-label-disabled);
2947
+ .pagination--variant-carousel {
2948
+ gap: 5px;
2949
+ min-height: var(--pagination-carousel-height);
2950
+ align-items: center;
2828
2951
  }
2829
2952
 
2830
- .select-label-placeholder {
2831
- color: var(--select-primary-color-placeholder);
2953
+ .pagination--variant-carousel[data-priority=secondary] {
2954
+ --pagination-dot-active-bg: var(
2955
+ --pagination-dot-active-bg-secondary,
2956
+ var(--color-secondary-strong, #ccdeff)
2957
+ );
2832
2958
  }
2833
- .select-button[data-priority=secondary] .select-label-placeholder {
2834
- color: var(--select-secondary-color-placeholder);
2959
+
2960
+ .pagination--variant-carousel .pagination-button {
2961
+ width: auto;
2962
+ height: var(--pagination-carousel-height);
2963
+ padding: 0;
2835
2964
  }
2836
- .select-button[data-priority=table] .select-label-placeholder {
2837
- color: var(--select-table-color-placeholder);
2965
+
2966
+ .pagination--variant-carousel .pagination-dot {
2967
+ display: inline-flex;
2968
+ width: var(--pagination-carousel-dot-width);
2969
+ height: var(--pagination-carousel-height);
2970
+ border-radius: calc(var(--pagination-carousel-height) / 2);
2971
+ background-color: var(--pagination-dot-bg);
2972
+ transition: width 0.16s ease, background-color 0.16s ease;
2838
2973
  }
2839
2974
 
2840
- .select-button[data-size=small] .select-label {
2841
- font-size: var(--select-text-small-size);
2842
- line-height: var(--select-text-small-line-height);
2843
- letter-spacing: var(--select-text-small-letter-spacing);
2844
- font-weight: var(--select-text-small-weight);
2975
+ .pagination--variant-carousel .pagination-button[data-active=true] .pagination-dot {
2976
+ width: var(--pagination-carousel-active-width);
2977
+ background-color: var(--pagination-dot-active-bg);
2845
2978
  }
2846
2979
 
2847
- .select-button[data-priority=table][data-size=small] .select-label {
2848
- font-size: var(--select-table-text-small-size);
2849
- line-height: var(--select-table-text-small-line-height);
2850
- font-weight: var(--select-table-text-small-weight);
2980
+ .pagination--variant-count {
2981
+ gap: 0;
2851
2982
  }
2852
2983
 
2853
- .select-button[data-size=large] .select-label {
2854
- font-size: var(--select-text-large-size);
2855
- line-height: var(--select-text-large-line-height);
2856
- letter-spacing: var(--select-text-large-letter-spacing);
2857
- font-weight: var(--select-text-large-weight);
2984
+ .pagination--variant-count .pagination-button {
2985
+ border-radius: var(--theme-radius-large-2, 16px);
2986
+ padding-inline: var(--spacing-padding-4, 16px);
2987
+ background-color: var(--pagination-count-bg);
2988
+ color: var(--pagination-color-active-label);
2989
+ font-weight: var(--font-label-medium-weight, 400);
2990
+ line-height: 1.5;
2858
2991
  }
2859
2992
 
2860
- .select-button[data-priority=table][data-size=medium] .select-label {
2861
- font-size: var(--select-table-text-medium-size);
2862
- line-height: var(--select-table-text-medium-line-height);
2863
- font-weight: var(--select-table-text-medium-weight);
2993
+ .pagination--variant-count.pagination--count-size-small .pagination-button {
2994
+ height: var(--theme-size-small-2, 24px);
2995
+ font-size: var(--font-label-medium-size, 12px);
2864
2996
  }
2865
2997
 
2866
- .select-button[data-priority=table][data-size=large] .select-label {
2867
- font-size: var(--select-table-text-large-size);
2868
- line-height: var(--select-table-text-large-line-height);
2869
- font-weight: var(--select-table-text-large-weight);
2998
+ .pagination--variant-count.pagination--count-size-xsmall .pagination-button {
2999
+ height: var(--theme-size-small-1, 20px);
3000
+ font-size: var(--font-label-small-size, 11px);
2870
3001
  }
2871
3002
 
2872
- .select-button[data-priority=secondary][data-size=large] .select-label {
2873
- font-weight: 600;
3003
+ .pagination-count-current {
3004
+ color: var(--pagination-color-active-label);
2874
3005
  }
2875
3006
 
2876
- .select-tags {
2877
- display: flex;
2878
- flex-wrap: nowrap;
2879
- gap: var(--select-multiple-chip-gap);
2880
- align-items: center;
2881
- min-width: 0;
2882
- flex: 1 1 auto;
3007
+ .pagination-count-divider {
3008
+ margin-inline: var(--spacing-gap-1, 4px);
3009
+ color: var(--pagination-count-divider);
2883
3010
  }
2884
3011
 
2885
- .select-tag {
2886
- display: flex;
2887
- align-items: center;
2888
- gap: var(--select-multiple-chip-gap);
2889
- padding: var(--select-multiple-chip-padding-block) var(--select-multiple-chip-padding-inline);
2890
- border-radius: var(--select-multiple-chip-radius);
2891
- border: 1px solid var(--select-multiple-chip-border-color, var(--color-border-standard-cool-gray));
2892
- background-color: var(--select-multiple-chip-surface);
2893
- color: var(--select-multiple-chip-color);
2894
- font-size: var(--select-multiple-chip-font-size);
2895
- line-height: var(--select-multiple-chip-line-height);
2896
- font-weight: var(--select-multiple-chip-font-weight);
2897
- white-space: nowrap;
2898
- min-height: var(--select-multiple-chip-height);
3012
+ .pagination-count-total {
3013
+ color: var(--pagination-count-total);
2899
3014
  }
2900
- .select-tag:focus-within {
2901
- border-color: var(--select-color-border-secondary-focused);
3015
+
3016
+ .pop-over-content {
3017
+ position: relative;
3018
+ z-index: 50;
3019
+ outline: none;
2902
3020
  }
2903
- .select-tag[data-removable=true] {
2904
- padding-right: var(--spacing-padding-2);
3021
+
3022
+ .pop-over-content {
3023
+ width: fit-content;
3024
+ max-width: min(100vw - 24px, max-content);
3025
+ box-sizing: border-box;
3026
+ background-color: var(--color-common-100);
3027
+ border-radius: var(--theme-radius-large-2);
3028
+ overflow: hidden;
3029
+ box-shadow: 0 4px 20px rgba(0, 0, 0, 0.16), 0 0 2px rgba(0, 0, 0, 0.12);
2905
3030
  }
2906
3031
 
2907
- .select-tag[data-kind=summary],
2908
- .select-tag-summary {
2909
- background-color: var(--select-multiple-chip-summary-surface);
2910
- border-color: var(--select-multiple-chip-summary-border-color);
2911
- color: var(--select-multiple-chip-summary-color);
2912
- padding: var(--select-multiple-chip-summary-padding-block) var(--select-multiple-chip-summary-padding-inline);
2913
- border-radius: var(--select-multiple-chip-summary-radius);
2914
- font-size: var(--select-multiple-chip-summary-font-size);
2915
- line-height: var(--select-multiple-chip-summary-line-height);
2916
- font-weight: var(--select-multiple-chip-summary-font-weight);
2917
- min-height: auto;
3032
+ .pop-over-content[data-width=match] {
3033
+ width: var(--radix-popover-trigger-width);
2918
3034
  }
2919
3035
 
2920
- .select-tag-label {
2921
- display: flex;
2922
- align-items: center;
2923
- gap: var(--spacing-gap-1);
2924
- min-width: 0;
3036
+ .pop-over-content[data-width=fit-content] {
3037
+ width: fit-content;
2925
3038
  }
2926
3039
 
2927
- .select-tag-suffix {
2928
- color: var(--select-multiple-chip-suffix-color);
2929
- font-size: inherit;
2930
- line-height: inherit;
3040
+ .pop-over-content[data-width=max-content] {
3041
+ width: max-content;
2931
3042
  }
2932
3043
 
2933
- .select-tag-remove {
2934
- display: flex;
3044
+
3045
+
3046
+ .radio {
3047
+ display: inline-flex;
2935
3048
  align-items: center;
2936
3049
  justify-content: center;
2937
- width: var(--select-icon-size-small);
2938
- height: var(--select-icon-size-small);
3050
+ inline-size: var(--theme-radio-frame-size-medium);
3051
+ block-size: var(--theme-radio-frame-size-medium);
2939
3052
  border: none;
2940
3053
  background-color: transparent;
3054
+ border-radius: 0;
2941
3055
  padding: 0;
2942
3056
  cursor: pointer;
2943
- color: var(--select-multiple-chip-remove-color);
2944
- flex-shrink: 0;
2945
- border-radius: 9999px;
2946
- transition: color 150ms ease;
3057
+ transition: box-shadow 0.15s ease, transform 0.15s ease;
2947
3058
  }
2948
- .select-tag-remove:focus-visible {
2949
- outline: 0.2rem solid var(--color-border-strong);
2950
- outline-offset: 0.1rem;
3059
+ .radio[data-size=large] {
3060
+ inline-size: var(--theme-radio-frame-size-large);
3061
+ block-size: var(--theme-radio-frame-size-large);
2951
3062
  }
2952
- .select-tag-remove:hover {
2953
- color: var(--select-multiple-chip-remove-hover-color);
3063
+ .radio[data-disabled=true] {
3064
+ cursor: not-allowed;
3065
+ opacity: 0.6;
2954
3066
  }
2955
- .select-tag-remove svg {
2956
- width: 100%;
2957
- height: 100%;
3067
+
3068
+ .radio:focus-visible {
3069
+ box-shadow: 0 0 0 2px var(--theme-radio-focus-ring);
2958
3070
  }
2959
- .select-tag-remove svg path {
2960
- fill: currentColor;
3071
+
3072
+ .radio-indicator {
3073
+ inline-size: var(--theme-radio-indicator-size-medium);
3074
+ block-size: var(--theme-radio-indicator-size-medium);
3075
+ border-radius: 9999px;
3076
+ border: var(--theme-radio-indicator-border-width) solid var(--theme-radio-border-color);
3077
+ transition: border-color 0.15s ease;
2961
3078
  }
2962
3079
 
2963
- .select-icon {
2964
- flex-shrink: 0;
2965
- width: var(--select-icon-size-medium);
2966
- height: var(--select-icon-size-medium);
2967
- display: flex;
2968
- align-items: center;
2969
- justify-content: center;
2970
- margin-left: auto;
3080
+ .radio[data-state=checked] .radio-indicator,
3081
+ .radio[data-size=medium][data-state=checked] .radio-indicator {
3082
+ border-width: var(--theme-radio-indicator-border-width-selected-medium);
2971
3083
  }
2972
- .select-icon[data-size=small] {
2973
- width: var(--select-icon-size-small);
2974
- height: var(--select-icon-size-small);
3084
+
3085
+ .radio[data-size=large] .radio-indicator {
3086
+ inline-size: var(--theme-radio-indicator-size-large);
3087
+ block-size: var(--theme-radio-indicator-size-large);
2975
3088
  }
2976
- .select-icon[data-size=large] {
2977
- width: var(--select-icon-size-large);
2978
- height: var(--select-icon-size-large);
2979
- }
2980
- [data-open=true] .select-icon {
2981
- transform: rotate(180deg);
2982
- }
2983
- .select-icon svg {
2984
- display: block;
2985
- width: 100%;
2986
- height: 100%;
2987
- }
2988
- .select-icon svg path {
2989
- fill: var(--select-icon-fill);
3089
+ .radio[data-size=large][data-state=checked] .radio-indicator {
3090
+ border-width: var(--theme-radio-indicator-border-width-selected-large);
2990
3091
  }
2991
3092
 
2992
-
2993
-
2994
- .form-field-container {
2995
- display: block;
2996
- width: var(--form-field-width);
2997
- flex: var(--form-field-flex);
2998
- }
2999
- .form-field-container[data-width=auto] {
3000
- --form-field-width: auto;
3001
- --form-field-flex: 0 0 auto;
3002
- }
3003
- .form-field-container[data-width=fill] {
3004
- --form-field-width: auto;
3005
- --form-field-flex: 1 1 0%;
3006
- }
3007
- .form-field-container[data-width=full] {
3008
- --form-field-width: 100%;
3009
- --form-field-flex: 0 0 100%;
3010
- }
3011
- .form-field-container[data-width=fit] {
3012
- --form-field-width: fit-content;
3013
- --form-field-flex: 0 0 auto;
3014
- }
3015
- .form-field-container[data-width=custom] {
3016
- --form-field-flex: 0 0 auto;
3093
+ .radio[data-state=checked] .radio-indicator {
3094
+ border-color: var(--theme-radio-border-selected);
3017
3095
  }
3018
3096
 
3019
- .form-field-header {
3020
- margin-bottom: var(--form-field-gap-y);
3097
+ .radio[data-disabled=true] .radio-indicator {
3098
+ border-color: var(--theme-radio-border-disabled);
3099
+ background-color: var(--theme-radio-surface-disabled);
3100
+ opacity: 1;
3021
3101
  }
3022
3102
 
3023
- .form-field-required {
3024
- color: var(--color-feedback-error);
3103
+ .radio[data-disabled=true][data-state=checked] .radio-indicator {
3104
+ border-color: var(--theme-radio-disabled-selected-fill);
3105
+ opacity: var(--theme-radio-disabled-selected-opacity);
3025
3106
  }
3026
3107
 
3027
- .form-field-label {
3108
+ .radio-field {
3028
3109
  display: flex;
3029
- align-items: center;
3110
+ flex-direction: column;
3030
3111
  gap: var(--spacing-gap-1);
3031
- font-size: var(--form-field-label-font-size);
3032
- font-weight: var(--form-field-label-font-weight);
3033
- line-height: var(--form-field-label-line-height);
3112
+ color: var(--theme-radio-label-color);
3034
3113
  }
3035
- .form-field-label span:not(.form-field-required) {
3036
- color: var(--form-field-label-color);
3114
+
3115
+ .radio-field[data-disabled=true] {
3116
+ color: var(--theme-radio-label-disabled);
3037
3117
  }
3038
3118
 
3039
- .form-field-body {
3040
- display: flex;
3041
- flex-wrap: wrap;
3042
- gap: var(--form-field-gap-x);
3043
- width: 100%;
3119
+ .radio-label-wrapper {
3120
+ display: inline-flex;
3121
+ align-items: center;
3122
+ gap: var(--spacing-gap-2);
3123
+ cursor: pointer;
3044
3124
  }
3045
3125
 
3046
- .form-field-footer {
3047
- margin-top: var(--form-field-gap-y);
3048
- font-size: var(--form-field-helper-font-size);
3049
- line-height: var(--form-field-helper-line-height);
3126
+ .radio-label-wrapper[data-disabled=true] {
3127
+ cursor: not-allowed;
3050
3128
  }
3051
- .form-field-footer p,
3052
- .form-field-footer span {
3053
- color: var(--form-field-helper-color);
3129
+
3130
+ .radio-label-text {
3131
+ font-weight: var(--font-body-medium-weight);
3132
+ user-select: none;
3054
3133
  }
3055
3134
 
3135
+ .radio-field[data-size=medium] .radio-label-text {
3136
+ font-size: var(--font-body-xsmall-size);
3137
+ line-height: var(--font-body-xsmall-line-height);
3138
+ }
3056
3139
 
3140
+ .radio-field[data-size=large] .radio-label-text {
3141
+ font-size: var(--font-body-medium-size);
3142
+ line-height: var(--font-body-medium-line-height);
3143
+ }
3057
3144
 
3058
- .bottom-navigation {
3059
- width: 100%;
3060
- position: relative;
3061
- z-index: 10;
3062
- background-color: var(--theme-navigation-bg);
3063
- border-top: 1px solid var(--theme-navigation-border);
3064
- box-shadow: var(--theme-navigation-shadow, 0 -4px 16px rgba(0, 0, 0, 0.04));
3065
- padding-inline: var(--theme-navigation-padding-inline);
3066
- padding-block-start: var(--theme-navigation-padding-block-start);
3067
- padding-block-end: max(var(--theme-navigation-padding-block-end), env(safe-area-inset-bottom, 0px));
3068
- min-height: var(--theme-navigation-height);
3145
+ .radio-helper {
3146
+ margin: 0;
3147
+ font-size: var(--font-caption-large-size);
3148
+ line-height: var(--font-caption-large-line-height);
3149
+ color: var(--theme-radio-helper-color);
3150
+ user-select: none;
3069
3151
  }
3070
3152
 
3071
- .bottom-navigation[data-fixed=true] {
3072
- position: fixed;
3073
- inset-inline: 0;
3074
- bottom: 0;
3075
- z-index: 20;
3153
+ .radio-field[data-disabled=true] .radio-helper {
3154
+ color: var(--theme-radio-helper-disabled);
3076
3155
  }
3077
3156
 
3078
- .bottom-navigation-list {
3157
+ .radio-card-group {
3079
3158
  display: flex;
3080
- align-items: flex-start;
3159
+ flex-direction: column;
3160
+ gap: var(--spacing-gap-3);
3161
+ }
3162
+
3163
+ .radio-card {
3164
+ display: flex;
3165
+ align-items: center;
3081
3166
  justify-content: space-between;
3082
- gap: 0;
3083
- padding: 0;
3084
- margin: 0;
3085
- list-style: none;
3167
+ inline-size: 100%;
3168
+ gap: var(--spacing-gap-3);
3169
+ padding: 16px 24px;
3170
+ background-color: var(--theme-radio-card-background);
3171
+ transition: background-color 0.15s ease;
3172
+ cursor: pointer;
3173
+ }
3174
+ .radio-card[data-disabled=true] {
3175
+ cursor: not-allowed;
3176
+ opacity: 0.7;
3086
3177
  }
3087
3178
 
3088
- .bottom-navigation-item {
3089
- flex: 1;
3090
- min-width: 0;
3179
+ .radio-card-content {
3091
3180
  display: flex;
3092
- justify-content: center;
3181
+ flex-direction: column;
3182
+ gap: var(--spacing-gap-1);
3183
+ min-inline-size: 0;
3093
3184
  }
3094
3185
 
3095
- .bottom-navigation-trigger {
3186
+ .radio-card-title-row {
3096
3187
  display: inline-flex;
3097
- flex-direction: column;
3098
3188
  align-items: center;
3099
- gap: var(--theme-navigation-item-gap);
3100
- min-width: 0;
3101
- padding: 0;
3102
- border: none;
3103
- background: none;
3104
- appearance: none;
3105
- text-decoration: none;
3106
- color: var(--theme-navigation-color);
3107
- font: inherit;
3108
- cursor: pointer;
3109
- -webkit-tap-highlight-color: transparent;
3110
- transition: color 0.16s ease;
3189
+ gap: var(--spacing-gap-1);
3190
+ min-inline-size: 0;
3111
3191
  }
3112
3192
 
3113
- .bottom-navigation-trigger[data-active=true] {
3114
- color: var(--theme-navigation-color-active);
3193
+ .radio-card-title {
3194
+ font-size: var(--font-heading-small-size);
3195
+ line-height: var(--font-heading-small-line-height);
3196
+ font-weight: var(--font-heading-small-weight);
3197
+ letter-spacing: 0.2px;
3198
+ color: var(--theme-radio-card-title-color);
3199
+ white-space: nowrap;
3115
3200
  }
3116
3201
 
3117
- .bottom-navigation-trigger[data-disabled=true],
3118
- .bottom-navigation-trigger:disabled {
3119
- color: var(--theme-navigation-color-disabled);
3120
- cursor: default;
3121
- pointer-events: none;
3202
+ .radio-card-badge {
3203
+ display: none;
3204
+ align-items: center;
3205
+ justify-content: center;
3206
+ padding: 4px 6px;
3207
+ font-size: var(--font-caption-medium-size);
3208
+ line-height: var(--font-caption-medium-line-height);
3209
+ border-radius: 6px;
3210
+ background-color: var(--theme-radio-card-badge-background);
3211
+ color: var(--theme-radio-card-badge-color);
3122
3212
  }
3123
3213
 
3124
- .bottom-navigation-trigger:focus-visible {
3125
- outline: none;
3126
- border-radius: var(--theme-radius-large-1, 12px);
3127
- box-shadow: 0 0 0 2px var(--color-primary-focus, rgba(0, 97, 255, 0.2));
3214
+ .radio-card[data-state=checked] .radio-card-title {
3215
+ color: var(--theme-radio-card-badge-color);
3216
+ }
3217
+ .radio-card[data-state=checked] .radio-card-badge {
3218
+ display: inline-flex;
3128
3219
  }
3129
3220
 
3130
- .navigation-item-icon {
3221
+ .radio-card-description {
3222
+ margin: 0;
3223
+ font-size: var(--font-body-small-size);
3224
+ line-height: var(--font-body-small-line-height);
3225
+ color: var(--theme-radio-card-description-color);
3226
+ }
3227
+
3228
+ .radio-card-indicator-wrapper {
3131
3229
  display: inline-flex;
3132
3230
  align-items: center;
3133
3231
  justify-content: center;
3134
- width: var(--theme-navigation-icon-size);
3135
- height: var(--theme-navigation-icon-size);
3136
- color: currentColor;
3137
- }
3138
- .navigation-item-icon svg {
3139
- display: block;
3140
- width: 100%;
3141
- height: 100%;
3232
+ flex-shrink: 0;
3142
3233
  }
3143
- .navigation-item-icon {
3144
- /* SVG fill/stroke를 currentColor로 맞춰 selected 컬러만 제어한다. */
3234
+
3235
+ .radio-card-indicator {
3236
+ inline-size: var(--theme-radio-indicator-size-medium);
3237
+ block-size: var(--theme-radio-indicator-size-medium);
3238
+ border-radius: 9999px;
3239
+ border: var(--theme-radio-indicator-border-width) solid var(--theme-radio-border-color);
3240
+ transition: border-color 0.15s ease;
3145
3241
  }
3146
- .navigation-item-icon svg [fill]:not([fill=none]) {
3147
- fill: currentColor;
3242
+
3243
+ .radio-card[data-size=large] .radio-card-indicator {
3244
+ inline-size: var(--theme-radio-indicator-size-large);
3245
+ block-size: var(--theme-radio-indicator-size-large);
3148
3246
  }
3149
- .navigation-item-icon svg [stroke]:not([stroke=none]) {
3150
- stroke: currentColor;
3247
+
3248
+ .radio-card[data-state=checked] .radio-card-indicator {
3249
+ border-color: var(--theme-radio-border-selected);
3250
+ border-width: var(--theme-radio-indicator-border-width-selected-medium);
3151
3251
  }
3152
3252
 
3153
- .navigation-item-label {
3154
- display: block;
3155
- font-size: var(--theme-navigation-label-font-size);
3156
- font-weight: var(--theme-navigation-label-font-weight);
3157
- line-height: var(--theme-navigation-label-line-height);
3158
- letter-spacing: var(--theme-navigation-label-letter-spacing);
3159
- color: currentColor;
3160
- text-align: center;
3161
- white-space: nowrap;
3162
- overflow: hidden;
3163
- text-overflow: ellipsis;
3164
- max-width: 100%;
3253
+ .radio-card[data-size=large][data-state=checked] .radio-card-indicator {
3254
+ border-width: var(--theme-radio-indicator-border-width-selected-large);
3165
3255
  }
3166
3256
 
3167
- /* Pagination native 구현 스타일 */
3168
- .pagination {
3169
- --pagination-gap: var(--spacing-gap-2, 8px);
3170
- --pagination-number-height: var(--theme-size-small-2, 24px);
3171
- --pagination-number-min-width: var(--theme-size-small-2, 24px);
3172
- --pagination-number-radius: var(--theme-radius-medium-1, 6px);
3173
- --pagination-color-active-bg: var(--color-cool-gray-10, #18191b);
3174
- --pagination-color-active-label: var(--color-common-100, #ffffff);
3175
- --pagination-color-inactive-label: var(--color-label-alternative, #afb1b6);
3176
- --pagination-dot-size: 8px;
3177
- --pagination-dot-bg: var(--color-cool-gray-85, #d2d3d7);
3178
- --pagination-dot-active-bg: var(--color-primary-default, #0061ff);
3179
- --pagination-dot-active-bg-secondary: var(
3180
- --color-surface-heavy,
3181
- #313235
3182
- );
3183
- --pagination-carousel-height: 8px;
3184
- --pagination-carousel-dot-width: 8px;
3185
- --pagination-carousel-active-width: 20px;
3186
- --pagination-count-bg: var(--color-cool-gray-10, #18191b);
3187
- --pagination-count-divider: var(--color-common-100, #ffffff);
3188
- --pagination-count-total: var(--color-label-alternative, #afb1b6);
3189
- display: inline-flex;
3190
- gap: var(--pagination-gap);
3191
- align-items: center;
3192
- padding: 0;
3193
- margin: 0;
3194
- list-style: none;
3195
- }
3196
-
3197
- .pagination[data-interactive=false] .pagination-button,
3198
- .pagination-button:disabled {
3199
- cursor: default;
3257
+ .segmented-control {
3258
+ --segmented-height: 34px;
3259
+ --segmented-padding: 2px;
3260
+ --segmented-radius: 16px;
3261
+ --segmented-bg: var(--color-bg-alternative-cool-gray, #f2f2f3);
3262
+ --segmented-indicator-bg: var(--color-common-100, #ffffff);
3263
+ --segmented-indicator-shadow: 2px 2px 4px rgba(0, 0, 0, 0.02);
3264
+ --segmented-label-color: var(--color-label-neutral, #797e86);
3265
+ --segmented-label-active-color: var(--color-label-strong, #181a1b);
3266
+ --segmented-disabled-opacity: 0.4;
3267
+ --segmented-gap: 2px;
3268
+ --segmented-item-padding-x: 22px;
3269
+ --segmented-item-padding-y: 4px;
3270
+ --segmented-item-font-size: var(--font-heading-xxsmall-size, 15px);
3271
+ --segmented-item-font-weight: var(--font-heading-xxsmall-weight, 500);
3272
+ --segmented-item-line-height: var(--font-heading-xxsmall-line-height, 1.5);
3273
+ position: relative;
3274
+ display: block;
3275
+ box-sizing: border-box;
3276
+ padding: var(--segmented-padding);
3277
+ border-radius: var(--segmented-radius);
3278
+ background: var(--segmented-bg);
3279
+ width: fit-content;
3280
+ min-height: var(--segmented-height);
3281
+ isolation: isolate;
3282
+ overflow: hidden;
3200
3283
  }
3201
3284
 
3202
- .pagination-item {
3203
- list-style: none;
3285
+ .segmented-control:where([data-keep-selected=true]) {
3286
+ --segmented-disabled-opacity: 0.3;
3204
3287
  }
3205
3288
 
3206
- .pagination-button {
3207
- appearance: none;
3208
- border: none;
3209
- background: transparent;
3210
- padding: 0;
3289
+ .segmented-control-indicator {
3290
+ position: absolute;
3291
+ top: var(--segmented-padding);
3292
+ bottom: var(--segmented-padding);
3293
+ left: 0;
3294
+ width: 0px;
3295
+ height: calc(100% - var(--segmented-padding) * 2);
3211
3296
  margin: 0;
3212
- display: inline-flex;
3213
- align-items: center;
3214
- justify-content: center;
3215
- cursor: pointer;
3216
- color: inherit;
3217
- font: inherit;
3218
- transition: background-color 0.16s ease, color 0.16s ease, opacity 0.16s ease;
3219
- }
3220
-
3221
- .pagination--variant-list {
3222
- gap: var(--spacing-gap-1, 4px);
3223
- }
3224
-
3225
- .pagination--variant-list .pagination-button {
3226
- min-width: var(--pagination-number-min-width);
3227
- height: var(--pagination-number-height);
3228
- padding-inline: var(--spacing-padding-2, 8px);
3229
- border-radius: var(--pagination-number-radius);
3230
- background-color: transparent;
3231
- color: var(--pagination-color-inactive-label);
3232
- font-size: var(--font-label-medium-size, 12px);
3233
- font-weight: var(--font-label-medium-weight, 400);
3234
- line-height: var(--font-label-medium-line-height, 1.5);
3297
+ border-radius: calc(var(--segmented-radius) - var(--segmented-padding));
3298
+ background: var(--segmented-indicator-bg);
3299
+ box-shadow: var(--segmented-indicator-shadow);
3300
+ transition: transform 0.2s ease, width 0.2s ease, opacity 0.2s ease;
3301
+ pointer-events: none;
3302
+ z-index: 0;
3235
3303
  }
3236
3304
 
3237
- .pagination[data-interactive=true] .pagination--variant-list .pagination-button:not([data-active=true]):hover {
3238
- background-color: var(--color-bg-alternative-cool-gray, #f0f1f5);
3239
- color: var(--color-label-strong, #5b5c60);
3305
+ .segmented-control-indicator[data-visible=false] {
3306
+ opacity: 0;
3240
3307
  }
3241
3308
 
3242
- .pagination--variant-list .pagination-button[data-active=true] {
3243
- background-color: var(--pagination-color-active-bg);
3244
- color: var(--pagination-color-active-label);
3309
+ .segmented-control-list {
3310
+ display: flex;
3311
+ column-gap: var(--segmented-gap);
3312
+ row-gap: 0;
3313
+ margin: 0;
3314
+ padding: 0;
3315
+ list-style: none;
3316
+ position: relative;
3317
+ z-index: 1;
3245
3318
  }
3246
3319
 
3247
- .pagination-number {
3248
- min-width: 1ch;
3249
- text-align: center;
3320
+ .segmented-control-item {
3321
+ list-style: none;
3322
+ margin: 0;
3323
+ padding: 0;
3250
3324
  }
3251
3325
 
3252
- .pagination--variant-carousel {
3253
- gap: 5px;
3254
- min-height: var(--pagination-carousel-height);
3326
+ .segmented-control-button {
3327
+ position: relative;
3328
+ z-index: 1;
3329
+ display: flex;
3255
3330
  align-items: center;
3331
+ justify-content: center;
3332
+ width: 100%;
3333
+ border: none;
3334
+ background: transparent;
3335
+ cursor: pointer;
3336
+ min-width: 0;
3337
+ border-radius: calc(var(--segmented-radius) - var(--segmented-padding));
3338
+ padding: var(--segmented-item-padding-y) var(--segmented-item-padding-x);
3339
+ transition: color 0.2s ease;
3256
3340
  }
3257
3341
 
3258
- .pagination--variant-carousel[data-priority=secondary] {
3259
- --pagination-dot-active-bg: var(
3260
- --pagination-dot-active-bg-secondary,
3261
- var(--color-secondary-strong, #ccdeff)
3262
- );
3342
+ .segmented-control-button:where([data-disabled=true]) {
3343
+ cursor: not-allowed;
3344
+ opacity: var(--segmented-disabled-opacity);
3263
3345
  }
3264
3346
 
3265
- .pagination--variant-carousel .pagination-button {
3266
- width: auto;
3267
- height: var(--pagination-carousel-height);
3268
- padding: 0;
3347
+ .segmented-control-button:where(:focus-visible) {
3348
+ outline: 2px solid var(--color-focus-ring, var(--color-primary-default));
3349
+ outline-offset: 2px;
3269
3350
  }
3270
3351
 
3271
- .pagination--variant-carousel .pagination-dot {
3272
- display: inline-flex;
3273
- width: var(--pagination-carousel-dot-width);
3274
- height: var(--pagination-carousel-height);
3275
- border-radius: calc(var(--pagination-carousel-height) / 2);
3276
- background-color: var(--pagination-dot-bg);
3277
- transition: width 0.16s ease, background-color 0.16s ease;
3352
+ .segmented-control-button-label {
3353
+ display: flex;
3354
+ align-items: center;
3355
+ justify-content: center;
3356
+ font-size: var(--segmented-item-font-size);
3357
+ font-weight: var(--segmented-item-font-weight);
3358
+ line-height: var(--segmented-item-line-height);
3359
+ letter-spacing: 0.2px;
3360
+ color: var(--segmented-label-color);
3361
+ transition: color 0.2s ease;
3278
3362
  }
3279
3363
 
3280
- .pagination--variant-carousel .pagination-button[data-active=true] .pagination-dot {
3281
- width: var(--pagination-carousel-active-width);
3282
- background-color: var(--pagination-dot-active-bg);
3364
+ .segmented-control-button:where([data-state=on]) .segmented-control-button-label {
3365
+ color: var(--segmented-label-active-color);
3283
3366
  }
3284
3367
 
3285
- .pagination--variant-count {
3286
- gap: 0;
3287
- }
3368
+ /* Select tokens mapped to Input primary tokens for visual parity */
3288
3369
 
3289
- .pagination--variant-count .pagination-button {
3290
- border-radius: var(--theme-radius-large-2, 16px);
3291
- padding-inline: var(--spacing-padding-4, 16px);
3292
- background-color: var(--pagination-count-bg);
3293
- color: var(--pagination-color-active-label);
3294
- font-weight: var(--font-label-medium-weight, 400);
3295
- line-height: 1.5;
3296
- }
3297
3370
 
3298
- .pagination--variant-count.pagination--count-size-small .pagination-button {
3299
- height: var(--theme-size-small-2, 24px);
3300
- font-size: var(--font-label-medium-size, 12px);
3371
+ .select {
3372
+ display: flex;
3373
+ width: var(--select-width);
3374
+ flex: var(--select-flex);
3375
+ flex-direction: column;
3376
+ gap: var(--spacing-gap-2);
3377
+ min-width: 0;
3301
3378
  }
3302
3379
 
3303
- .pagination--variant-count.pagination--count-size-xsmall .pagination-button {
3304
- height: var(--theme-size-small-1, 20px);
3305
- font-size: var(--font-label-small-size, 11px);
3380
+ .select[data-width=auto] {
3381
+ --select-width: auto;
3382
+ --select-flex: 0 1 auto;
3306
3383
  }
3307
3384
 
3308
- .pagination-count-current {
3309
- color: var(--pagination-color-active-label);
3385
+ .select[data-width=fill] {
3386
+ --select-width: auto;
3387
+ --select-flex: 1 1 0%;
3310
3388
  }
3311
3389
 
3312
- .pagination-count-divider {
3313
- margin-inline: var(--spacing-gap-1, 4px);
3314
- color: var(--pagination-count-divider);
3390
+ .select[data-width=full],
3391
+ .select-block {
3392
+ --select-width: 100%;
3393
+ --select-flex: 0 0 100%;
3315
3394
  }
3316
3395
 
3317
- .pagination-count-total {
3318
- color: var(--pagination-count-total);
3396
+ .select[data-width=fit] {
3397
+ --select-width: fit-content;
3398
+ --select-flex: 0 0 auto;
3319
3399
  }
3320
3400
 
3401
+ .select[data-width=custom] {
3402
+ --select-flex: 0 0 auto;
3403
+ }
3321
3404
 
3322
-
3323
- .radio {
3324
- display: inline-flex;
3405
+ .select-button {
3406
+ --select-icon-fill: var(--select-icon-color-default);
3407
+ display: flex;
3408
+ width: 100%;
3325
3409
  align-items: center;
3326
- justify-content: center;
3327
- inline-size: var(--theme-radio-frame-size-medium);
3328
- block-size: var(--theme-radio-frame-size-medium);
3329
- border: none;
3330
- background-color: transparent;
3331
- border-radius: 0;
3332
- padding: 0;
3410
+ gap: var(--select-primary-gap-inline);
3411
+ min-height: var(--select-primary-height-medium);
3412
+ padding: var(--select-primary-padding-block) var(--select-primary-padding-inline);
3413
+ border: var(--select-primary-border-width-default) solid var(--select-primary-color-border);
3414
+ border-radius: var(--select-primary-radius-medium);
3415
+ background-color: var(--input-surface-color);
3333
3416
  cursor: pointer;
3334
- transition: box-shadow 0.15s ease, transform 0.15s ease;
3335
- }
3336
- .radio[data-size=large] {
3337
- inline-size: var(--theme-radio-frame-size-large);
3338
- block-size: var(--theme-radio-frame-size-large);
3417
+ transition: border-color 150ms ease, background-color 150ms ease, color 150ms ease;
3418
+ text-align: left;
3339
3419
  }
3340
- .radio[data-disabled=true] {
3341
- cursor: not-allowed;
3342
- opacity: 0.6;
3343
- }
3344
-
3345
- .radio:focus-visible {
3346
- box-shadow: 0 0 0 2px var(--theme-radio-focus-ring);
3347
- }
3348
-
3349
- .radio-indicator {
3350
- inline-size: var(--theme-radio-indicator-size-medium);
3351
- block-size: var(--theme-radio-indicator-size-medium);
3352
- border-radius: 9999px;
3353
- border: var(--theme-radio-indicator-border-width) solid var(--theme-radio-border-color);
3354
- transition: border-color 0.15s ease;
3355
- }
3356
-
3357
- .radio[data-state=checked] .radio-indicator,
3358
- .radio[data-size=medium][data-state=checked] .radio-indicator {
3359
- border-width: var(--theme-radio-indicator-border-width-selected-medium);
3360
- }
3361
-
3362
- .radio[data-size=large] .radio-indicator {
3363
- inline-size: var(--theme-radio-indicator-size-large);
3364
- block-size: var(--theme-radio-indicator-size-large);
3420
+ .select-button[data-size=small] {
3421
+ min-height: var(--select-primary-height-small);
3422
+ border-radius: var(--select-primary-radius-small);
3365
3423
  }
3366
- .radio[data-size=large][data-state=checked] .radio-indicator {
3367
- border-width: var(--theme-radio-indicator-border-width-selected-large);
3424
+ .select-button[data-size=large] {
3425
+ min-height: var(--select-primary-height-large);
3426
+ border-radius: var(--select-primary-radius-large);
3368
3427
  }
3369
-
3370
- .radio[data-state=checked] .radio-indicator {
3371
- border-color: var(--theme-radio-border-selected);
3428
+ .select-button[data-multiple=true] {
3429
+ align-items: center;
3430
+ flex-wrap: nowrap;
3431
+ overflow: hidden;
3372
3432
  }
3373
-
3374
- .radio[data-disabled=true] .radio-indicator {
3375
- border-color: var(--theme-radio-border-disabled);
3376
- background-color: var(--theme-radio-surface-disabled);
3377
- opacity: 1;
3433
+ .select-button[data-priority=secondary] {
3434
+ width: fit-content;
3435
+ max-width: 100%;
3436
+ min-height: auto;
3437
+ border: none;
3438
+ border-radius: var(--select-secondary-radius);
3439
+ padding: var(--select-secondary-padding-block) var(--select-secondary-padding-inline);
3440
+ background-color: transparent;
3441
+ gap: var(--select-secondary-gap);
3442
+ position: relative;
3443
+ --select-icon-fill: currentColor;
3444
+ transition: background-color 150ms ease, color 150ms ease;
3378
3445
  }
3379
-
3380
- .radio[data-disabled=true][data-state=checked] .radio-indicator {
3381
- border-color: var(--theme-radio-disabled-selected-fill);
3382
- opacity: var(--theme-radio-disabled-selected-opacity);
3446
+ .select-button[data-priority=secondary]:hover:not([data-state=disabled]) {
3447
+ background-color: var(--select-color-surface-secondary-hover);
3383
3448
  }
3384
-
3385
- .radio-field {
3386
- display: flex;
3387
- flex-direction: column;
3388
- gap: var(--spacing-gap-1);
3389
- color: var(--theme-radio-label-color);
3449
+ .select-button[data-priority=secondary]:active:not([data-state=disabled]) {
3450
+ background-color: var(--select-color-surface-secondary-active);
3390
3451
  }
3391
-
3392
- .radio-field[data-disabled=true] {
3393
- color: var(--theme-radio-label-disabled);
3452
+ .select-button[data-priority=secondary][data-state=focused], .select-button[data-priority=secondary][data-open=true] {
3453
+ background-color: var(--select-color-surface-secondary-hover);
3394
3454
  }
3395
-
3396
- .radio-label-wrapper {
3397
- display: inline-flex;
3398
- align-items: center;
3399
- gap: var(--spacing-gap-2);
3400
- cursor: pointer;
3455
+ .select-button[data-priority=secondary][data-state=focused]::after, .select-button[data-priority=secondary][data-open=true]::after {
3456
+ height: var(--select-secondary-underline-width-focus);
3457
+ background-color: var(--select-color-border-secondary-focused);
3401
3458
  }
3402
-
3403
- .radio-label-wrapper[data-disabled=true] {
3459
+ .select-button[data-priority=secondary][data-state=disabled], .select-button[data-priority=secondary]:disabled {
3460
+ color: var(--color-label-disabled);
3404
3461
  cursor: not-allowed;
3405
3462
  }
3406
-
3407
- .radio-label-text {
3408
- font-weight: var(--font-body-medium-weight);
3409
- user-select: none;
3410
- }
3411
-
3412
- .radio-field[data-size=medium] .radio-label-text {
3413
- font-size: var(--font-body-xsmall-size);
3414
- line-height: var(--font-body-xsmall-line-height);
3463
+ .select-button[data-priority=table] {
3464
+ border-radius: var(--select-table-radius);
3465
+ border-color: var(--select-table-border-default-color);
3466
+ background-color: var(--select-table-surface-color);
3467
+ --select-icon-fill: var(--select-table-icon-color-default);
3415
3468
  }
3416
-
3417
- .radio-field[data-size=large] .radio-label-text {
3418
- font-size: var(--font-body-medium-size);
3419
- line-height: var(--font-body-medium-line-height);
3469
+ .select-button:not([data-priority=secondary])[data-state=focused], .select-button:not([data-priority=secondary])[data-open=true], .select-button:not([data-priority=secondary]):focus-visible {
3470
+ border-color: var(--select-primary-color-border-focused);
3471
+ border-width: var(--select-primary-border-width-focus);
3472
+ --select-icon-fill: var(--select-icon-color-focused);
3420
3473
  }
3421
-
3422
- .radio-helper {
3423
- margin: 0;
3424
- font-size: var(--font-caption-large-size);
3425
- line-height: var(--font-caption-large-line-height);
3426
- color: var(--theme-radio-helper-color);
3427
- user-select: none;
3474
+ .select-button[data-priority=table][data-state=focused], .select-button[data-priority=table][data-open=true], .select-button[data-priority=table]:focus-visible {
3475
+ border-color: var(--select-table-border-focus-color);
3476
+ border-width: var(--select-primary-border-width-focus);
3477
+ --select-icon-fill: var(--select-table-icon-color-focused);
3428
3478
  }
3429
-
3430
- .radio-field[data-disabled=true] .radio-helper {
3431
- color: var(--theme-radio-helper-disabled);
3479
+ .select-button:not([data-priority=secondary])[data-state=disabled], .select-button:not([data-priority=secondary]):disabled {
3480
+ border-color: var(--select-primary-color-border-disabled);
3481
+ background-color: var(--select-primary-color-surface-disabled);
3482
+ cursor: not-allowed;
3483
+ --select-icon-fill: var(--select-icon-color-disabled);
3432
3484
  }
3433
-
3434
- .radio-card-group {
3435
- display: flex;
3436
- flex-direction: column;
3437
- gap: var(--spacing-gap-3);
3485
+ .select-button[data-priority=secondary][data-state=disabled], .select-button[data-priority=secondary]:disabled {
3486
+ border-color: transparent;
3487
+ background-color: var(--select-color-surface-secondary-disabled);
3438
3488
  }
3439
-
3440
- .radio-card {
3441
- display: flex;
3442
- align-items: center;
3443
- justify-content: space-between;
3444
- inline-size: 100%;
3445
- gap: var(--spacing-gap-3);
3446
- padding: 16px 24px;
3447
- background-color: var(--theme-radio-card-background);
3448
- transition: background-color 0.15s ease;
3449
- cursor: pointer;
3489
+ .select-button[data-priority=secondary][data-state=disabled]::after, .select-button[data-priority=secondary]:disabled::after {
3490
+ background-color: var(--select-color-border-secondary-disabled);
3491
+ height: var(--select-secondary-underline-width-default);
3450
3492
  }
3451
- .radio-card[data-disabled=true] {
3493
+ .select-button[data-priority=table][data-state=disabled], .select-button[data-priority=table]:disabled {
3494
+ border-color: var(--select-table-border-disabled-color);
3495
+ background-color: var(--select-table-surface-disabled-color);
3452
3496
  cursor: not-allowed;
3453
- opacity: 0.7;
3497
+ --select-icon-fill: var(--select-table-icon-color-disabled);
3454
3498
  }
3455
3499
 
3456
- .radio-card-content {
3500
+ .select-value {
3501
+ flex: 1 1 auto;
3502
+ min-width: 0;
3457
3503
  display: flex;
3458
3504
  flex-direction: column;
3459
- gap: var(--spacing-gap-1);
3460
- min-inline-size: 0;
3461
- }
3462
-
3463
- .radio-card-title-row {
3464
- display: inline-flex;
3465
- align-items: center;
3466
- gap: var(--spacing-gap-1);
3467
- min-inline-size: 0;
3505
+ gap: var(--spacing-gap-2);
3468
3506
  }
3469
3507
 
3470
- .radio-card-title {
3471
- font-size: var(--font-heading-small-size);
3472
- line-height: var(--font-heading-small-line-height);
3473
- font-weight: var(--font-heading-small-weight);
3474
- letter-spacing: 0.2px;
3475
- color: var(--theme-radio-card-title-color);
3508
+ .select-label {
3509
+ flex: 1 1 auto;
3510
+ min-width: 0;
3511
+ font-family: var(--font-body-medium-family);
3512
+ font-size: var(--select-text-medium-size);
3513
+ font-weight: var(--select-text-medium-weight);
3514
+ line-height: var(--select-text-medium-line-height);
3515
+ letter-spacing: var(--select-text-medium-letter-spacing);
3516
+ color: var(--select-primary-color-text);
3517
+ overflow: hidden;
3518
+ text-overflow: ellipsis;
3476
3519
  white-space: nowrap;
3477
3520
  }
3478
-
3479
- .radio-card-badge {
3480
- display: none;
3481
- align-items: center;
3482
- justify-content: center;
3483
- padding: 4px 6px;
3484
- font-size: var(--font-caption-medium-size);
3485
- line-height: var(--font-caption-medium-line-height);
3486
- border-radius: 6px;
3487
- background-color: var(--theme-radio-card-badge-background);
3488
- color: var(--theme-radio-card-badge-color);
3521
+ .select-button[data-priority=secondary] .select-label {
3522
+ color: var(--select-secondary-color-text);
3489
3523
  }
3490
-
3491
- .radio-card[data-state=checked] .radio-card-title {
3492
- color: var(--theme-radio-card-badge-color);
3524
+ .select-button[data-priority=table] .select-label {
3525
+ color: var(--select-table-color-text);
3493
3526
  }
3494
- .radio-card[data-state=checked] .radio-card-badge {
3495
- display: inline-flex;
3527
+ .select-button[data-state=focused] .select-label, .select-button[data-open=true] .select-label {
3528
+ color: var(--select-primary-color-text-focused);
3496
3529
  }
3497
-
3498
- .radio-card-description {
3499
- margin: 0;
3500
- font-size: var(--font-body-small-size);
3501
- line-height: var(--font-body-small-line-height);
3502
- color: var(--theme-radio-card-description-color);
3530
+ .select-button[data-state=disabled] .select-label {
3531
+ color: var(--select-primary-color-text-disabled);
3503
3532
  }
3504
-
3505
- .radio-card-indicator-wrapper {
3506
- display: inline-flex;
3507
- align-items: center;
3508
- justify-content: center;
3509
- flex-shrink: 0;
3533
+ .select-button[data-priority=secondary][data-state=disabled] .select-label {
3534
+ color: var(--color-label-disabled);
3510
3535
  }
3511
3536
 
3512
- .radio-card-indicator {
3513
- inline-size: var(--theme-radio-indicator-size-medium);
3514
- block-size: var(--theme-radio-indicator-size-medium);
3515
- border-radius: 9999px;
3516
- border: var(--theme-radio-indicator-border-width) solid var(--theme-radio-border-color);
3517
- transition: border-color 0.15s ease;
3537
+ .select-label-placeholder {
3538
+ color: var(--select-primary-color-placeholder);
3539
+ }
3540
+ .select-button[data-priority=secondary] .select-label-placeholder {
3541
+ color: var(--select-secondary-color-placeholder);
3542
+ }
3543
+ .select-button[data-priority=table] .select-label-placeholder {
3544
+ color: var(--select-table-color-placeholder);
3518
3545
  }
3519
3546
 
3520
- .radio-card[data-size=large] .radio-card-indicator {
3521
- inline-size: var(--theme-radio-indicator-size-large);
3522
- block-size: var(--theme-radio-indicator-size-large);
3547
+ .select-button[data-size=small] .select-label {
3548
+ font-size: var(--select-text-small-size);
3549
+ line-height: var(--select-text-small-line-height);
3550
+ letter-spacing: var(--select-text-small-letter-spacing);
3551
+ font-weight: var(--select-text-small-weight);
3523
3552
  }
3524
3553
 
3525
- .radio-card[data-state=checked] .radio-card-indicator {
3526
- border-color: var(--theme-radio-border-selected);
3527
- border-width: var(--theme-radio-indicator-border-width-selected-medium);
3554
+ .select-button[data-priority=table][data-size=small] .select-label {
3555
+ font-size: var(--select-table-text-small-size);
3556
+ line-height: var(--select-table-text-small-line-height);
3557
+ font-weight: var(--select-table-text-small-weight);
3528
3558
  }
3529
3559
 
3530
- .radio-card[data-size=large][data-state=checked] .radio-card-indicator {
3531
- border-width: var(--theme-radio-indicator-border-width-selected-large);
3560
+ .select-button[data-size=large] .select-label {
3561
+ font-size: var(--select-text-large-size);
3562
+ line-height: var(--select-text-large-line-height);
3563
+ letter-spacing: var(--select-text-large-letter-spacing);
3564
+ font-weight: var(--select-text-large-weight);
3532
3565
  }
3533
3566
 
3534
- .segmented-control {
3535
- --segmented-height: 34px;
3536
- --segmented-padding: 2px;
3537
- --segmented-radius: 16px;
3538
- --segmented-bg: var(--color-bg-alternative-cool-gray, #f2f2f3);
3539
- --segmented-indicator-bg: var(--color-common-100, #ffffff);
3540
- --segmented-indicator-shadow: 2px 2px 4px rgba(0, 0, 0, 0.02);
3541
- --segmented-label-color: var(--color-label-neutral, #797e86);
3542
- --segmented-label-active-color: var(--color-label-strong, #181a1b);
3543
- --segmented-disabled-opacity: 0.4;
3544
- --segmented-gap: 2px;
3545
- --segmented-item-padding-x: 22px;
3546
- --segmented-item-padding-y: 4px;
3547
- --segmented-item-font-size: var(--font-heading-xxsmall-size, 15px);
3548
- --segmented-item-font-weight: var(--font-heading-xxsmall-weight, 500);
3549
- --segmented-item-line-height: var(--font-heading-xxsmall-line-height, 1.5);
3550
- position: relative;
3551
- display: block;
3552
- box-sizing: border-box;
3553
- padding: var(--segmented-padding);
3554
- border-radius: var(--segmented-radius);
3555
- background: var(--segmented-bg);
3556
- width: fit-content;
3557
- min-height: var(--segmented-height);
3558
- isolation: isolate;
3559
- overflow: hidden;
3567
+ .select-button[data-priority=table][data-size=medium] .select-label {
3568
+ font-size: var(--select-table-text-medium-size);
3569
+ line-height: var(--select-table-text-medium-line-height);
3570
+ font-weight: var(--select-table-text-medium-weight);
3560
3571
  }
3561
3572
 
3562
- .segmented-control:where([data-keep-selected=true]) {
3563
- --segmented-disabled-opacity: 0.3;
3573
+ .select-button[data-priority=table][data-size=large] .select-label {
3574
+ font-size: var(--select-table-text-large-size);
3575
+ line-height: var(--select-table-text-large-line-height);
3576
+ font-weight: var(--select-table-text-large-weight);
3564
3577
  }
3565
3578
 
3566
- .segmented-control-indicator {
3567
- position: absolute;
3568
- top: var(--segmented-padding);
3569
- bottom: var(--segmented-padding);
3570
- left: 0;
3571
- width: 0px;
3572
- height: calc(100% - var(--segmented-padding) * 2);
3573
- margin: 0;
3574
- border-radius: calc(var(--segmented-radius) - var(--segmented-padding));
3575
- background: var(--segmented-indicator-bg);
3576
- box-shadow: var(--segmented-indicator-shadow);
3577
- transition: transform 0.2s ease, width 0.2s ease, opacity 0.2s ease;
3578
- pointer-events: none;
3579
- z-index: 0;
3579
+ .select-button[data-priority=secondary][data-size=large] .select-label {
3580
+ font-weight: 600;
3580
3581
  }
3581
3582
 
3582
- .segmented-control-indicator[data-visible=false] {
3583
- opacity: 0;
3583
+ .select-tags {
3584
+ display: flex;
3585
+ flex-wrap: nowrap;
3586
+ gap: var(--select-multiple-chip-gap);
3587
+ align-items: center;
3588
+ min-width: 0;
3589
+ flex: 1 1 auto;
3584
3590
  }
3585
3591
 
3586
- .segmented-control-list {
3592
+ .select-tag {
3587
3593
  display: flex;
3588
- column-gap: var(--segmented-gap);
3589
- row-gap: 0;
3590
- margin: 0;
3591
- padding: 0;
3592
- list-style: none;
3593
- position: relative;
3594
- z-index: 1;
3594
+ align-items: center;
3595
+ gap: var(--select-multiple-chip-gap);
3596
+ padding: var(--select-multiple-chip-padding-block) var(--select-multiple-chip-padding-inline);
3597
+ border-radius: var(--select-multiple-chip-radius);
3598
+ border: 1px solid var(--select-multiple-chip-border-color, var(--color-border-standard-cool-gray));
3599
+ background-color: var(--select-multiple-chip-surface);
3600
+ color: var(--select-multiple-chip-color);
3601
+ font-size: var(--select-multiple-chip-font-size);
3602
+ line-height: var(--select-multiple-chip-line-height);
3603
+ font-weight: var(--select-multiple-chip-font-weight);
3604
+ white-space: nowrap;
3605
+ min-height: var(--select-multiple-chip-height);
3606
+ }
3607
+ .select-tag:focus-within {
3608
+ border-color: var(--select-color-border-secondary-focused);
3609
+ }
3610
+ .select-tag[data-removable=true] {
3611
+ padding-right: var(--spacing-padding-2);
3595
3612
  }
3596
3613
 
3597
- .segmented-control-item {
3598
- list-style: none;
3599
- margin: 0;
3600
- padding: 0;
3614
+ .select-tag[data-kind=summary],
3615
+ .select-tag-summary {
3616
+ background-color: var(--select-multiple-chip-summary-surface);
3617
+ border-color: var(--select-multiple-chip-summary-border-color);
3618
+ color: var(--select-multiple-chip-summary-color);
3619
+ padding: var(--select-multiple-chip-summary-padding-block) var(--select-multiple-chip-summary-padding-inline);
3620
+ border-radius: var(--select-multiple-chip-summary-radius);
3621
+ font-size: var(--select-multiple-chip-summary-font-size);
3622
+ line-height: var(--select-multiple-chip-summary-line-height);
3623
+ font-weight: var(--select-multiple-chip-summary-font-weight);
3624
+ min-height: auto;
3601
3625
  }
3602
3626
 
3603
- .segmented-control-button {
3604
- position: relative;
3605
- z-index: 1;
3627
+ .select-tag-label {
3606
3628
  display: flex;
3607
3629
  align-items: center;
3608
- justify-content: center;
3609
- width: 100%;
3610
- border: none;
3611
- background: transparent;
3612
- cursor: pointer;
3630
+ gap: var(--spacing-gap-1);
3613
3631
  min-width: 0;
3614
- border-radius: calc(var(--segmented-radius) - var(--segmented-padding));
3615
- padding: var(--segmented-item-padding-y) var(--segmented-item-padding-x);
3616
- transition: color 0.2s ease;
3617
3632
  }
3618
3633
 
3619
- .segmented-control-button:where([data-disabled=true]) {
3620
- cursor: not-allowed;
3621
- opacity: var(--segmented-disabled-opacity);
3634
+ .select-tag-suffix {
3635
+ color: var(--select-multiple-chip-suffix-color);
3636
+ font-size: inherit;
3637
+ line-height: inherit;
3622
3638
  }
3623
3639
 
3624
- .segmented-control-button:where(:focus-visible) {
3625
- outline: 2px solid var(--color-focus-ring, var(--color-primary-default));
3626
- outline-offset: 2px;
3640
+ .select-tag-remove {
3641
+ display: flex;
3642
+ align-items: center;
3643
+ justify-content: center;
3644
+ width: var(--select-icon-size-small);
3645
+ height: var(--select-icon-size-small);
3646
+ border: none;
3647
+ background-color: transparent;
3648
+ padding: 0;
3649
+ cursor: pointer;
3650
+ color: var(--select-multiple-chip-remove-color);
3651
+ flex-shrink: 0;
3652
+ border-radius: 9999px;
3653
+ transition: color 150ms ease;
3654
+ }
3655
+ .select-tag-remove:focus-visible {
3656
+ outline: 0.2rem solid var(--color-border-strong);
3657
+ outline-offset: 0.1rem;
3658
+ }
3659
+ .select-tag-remove:hover {
3660
+ color: var(--select-multiple-chip-remove-hover-color);
3661
+ }
3662
+ .select-tag-remove svg {
3663
+ width: 100%;
3664
+ height: 100%;
3665
+ }
3666
+ .select-tag-remove svg path {
3667
+ fill: currentColor;
3627
3668
  }
3628
3669
 
3629
- .segmented-control-button-label {
3670
+ .select-icon {
3671
+ flex-shrink: 0;
3672
+ width: var(--select-icon-size-medium);
3673
+ height: var(--select-icon-size-medium);
3630
3674
  display: flex;
3631
3675
  align-items: center;
3632
3676
  justify-content: center;
3633
- font-size: var(--segmented-item-font-size);
3634
- font-weight: var(--segmented-item-font-weight);
3635
- line-height: var(--segmented-item-line-height);
3636
- letter-spacing: 0.2px;
3637
- color: var(--segmented-label-color);
3638
- transition: color 0.2s ease;
3677
+ margin-left: auto;
3639
3678
  }
3640
-
3641
- .segmented-control-button:where([data-state=on]) .segmented-control-button-label {
3642
- color: var(--segmented-label-active-color);
3679
+ .select-icon[data-size=small] {
3680
+ width: var(--select-icon-size-small);
3681
+ height: var(--select-icon-size-small);
3682
+ }
3683
+ .select-icon[data-size=large] {
3684
+ width: var(--select-icon-size-large);
3685
+ height: var(--select-icon-size-large);
3686
+ }
3687
+ [data-open=true] .select-icon {
3688
+ transform: rotate(180deg);
3689
+ }
3690
+ .select-icon svg {
3691
+ display: block;
3692
+ width: 100%;
3693
+ height: 100%;
3694
+ }
3695
+ .select-icon svg path {
3696
+ fill: var(--select-icon-fill);
3643
3697
  }
3644
3698
 
3645
3699
  .tab-root {
@@ -3977,22 +4031,52 @@ figure.chip {
3977
4031
  line-height: inherit;
3978
4032
  }
3979
4033
 
3980
- .table-cell-content[data-align-x=left],
3981
- .table-cell-content[data-align=left] {
4034
+ .table-cell-content[data-align-x=left] {
3982
4035
  justify-content: flex-start;
3983
- text-align: left;
3984
4036
  }
3985
4037
 
3986
- .table-cell-content[data-align-x=center],
3987
- .table-cell-content[data-align=center] {
4038
+ .table-cell-content[data-align-x=center] {
3988
4039
  justify-content: center;
3989
- text-align: center;
3990
4040
  }
3991
4041
 
3992
- .table-cell-content[data-align-x=right],
3993
- .table-cell-content[data-align=right] {
4042
+ .table-cell-content[data-align-x=right] {
3994
4043
  justify-content: flex-end;
3995
- text-align: right;
4044
+ }
4045
+
4046
+ .table-cell-content[data-align-x=normal] {
4047
+ justify-content: normal;
4048
+ }
4049
+
4050
+ .table-cell-content[data-align-x=start] {
4051
+ justify-content: start;
4052
+ }
4053
+
4054
+ .table-cell-content[data-align-x=end] {
4055
+ justify-content: end;
4056
+ }
4057
+
4058
+ .table-cell-content[data-align-x=flex-start] {
4059
+ justify-content: flex-start;
4060
+ }
4061
+
4062
+ .table-cell-content[data-align-x=flex-end] {
4063
+ justify-content: flex-end;
4064
+ }
4065
+
4066
+ .table-cell-content[data-align-x=space-between] {
4067
+ justify-content: space-between;
4068
+ }
4069
+
4070
+ .table-cell-content[data-align-x=space-around] {
4071
+ justify-content: space-around;
4072
+ }
4073
+
4074
+ .table-cell-content[data-align-x=space-evenly] {
4075
+ justify-content: space-evenly;
4076
+ }
4077
+
4078
+ .table-cell-content[data-align-x=stretch] {
4079
+ justify-content: stretch;
3996
4080
  }
3997
4081
 
3998
4082
  .table-cell-content[data-align-y=top] {
@@ -4007,6 +4091,42 @@ figure.chip {
4007
4091
  align-items: flex-end;
4008
4092
  }
4009
4093
 
4094
+ .table-cell-content[data-align-y=normal] {
4095
+ align-items: normal;
4096
+ }
4097
+
4098
+ .table-cell-content[data-align-y=stretch] {
4099
+ align-items: stretch;
4100
+ }
4101
+
4102
+ .table-cell-content[data-align-y=start] {
4103
+ align-items: start;
4104
+ }
4105
+
4106
+ .table-cell-content[data-align-y=end] {
4107
+ align-items: end;
4108
+ }
4109
+
4110
+ .table-cell-content[data-align-y=flex-start] {
4111
+ align-items: flex-start;
4112
+ }
4113
+
4114
+ .table-cell-content[data-align-y=flex-end] {
4115
+ align-items: flex-end;
4116
+ }
4117
+
4118
+ .table-cell-content[data-align-y=self-start] {
4119
+ align-items: self-start;
4120
+ }
4121
+
4122
+ .table-cell-content[data-align-y=self-end] {
4123
+ align-items: self-end;
4124
+ }
4125
+
4126
+ .table-cell-content[data-align-y=baseline] {
4127
+ align-items: baseline;
4128
+ }
4129
+
4010
4130
  .table-cell.table-head-cell .table-cell-text {
4011
4131
  color: var(--table-th-text-color);
4012
4132
  font-size: var(--table-th-text-size);
@@ -4046,15 +4166,51 @@ figure.chip {
4046
4166
  line-height: var(--table-td-text-line-height);
4047
4167
  }
4048
4168
 
4049
- /* Divider 토큰도 전역 :root 범위에 선언한다. */
4050
4169
 
4051
4170
 
4052
- .divider {
4053
- width: var(--divider-width);
4054
- height: var(--divider-height);
4055
- background-color: var(--divider-color);
4056
- margin: 0 var(--divider-margin);
4057
- vertical-align: middle;
4058
- align-self: center;
4059
- font-size: 0;
4171
+ .tooltip-trigger {
4172
+ display: inline-flex;
4173
+ align-items: center;
4174
+ justify-content: center;
4175
+ }
4176
+
4177
+ .tooltip-template-trigger {
4178
+ display: inline-flex;
4179
+ width: var(--tooltip-trigger-icon-size);
4180
+ height: var(--tooltip-trigger-icon-size);
4181
+ align-items: center;
4182
+ justify-content: center;
4183
+ padding: 0;
4184
+ border: 0;
4185
+ background-color: transparent;
4186
+ color: var(--tooltip-trigger-icon-color);
4187
+ cursor: pointer;
4188
+ }
4189
+
4190
+ .tooltip-template-trigger svg {
4191
+ width: 100%;
4192
+ height: 100%;
4193
+ display: block;
4194
+ }
4195
+
4196
+ .tooltip-message {
4197
+ max-width: min(20rem, 100vw - 1.5rem);
4198
+ box-sizing: border-box;
4199
+ border-radius: var(--tooltip-message-radius);
4200
+ background-color: var(--tooltip-message-background);
4201
+ padding: var(--tooltip-message-padding-block) var(--tooltip-message-padding-inline);
4202
+ }
4203
+
4204
+ .tooltip-message-text {
4205
+ display: block;
4206
+ color: var(--tooltip-message-foreground);
4207
+ font-size: var(--tooltip-message-font-size);
4208
+ line-height: var(--tooltip-message-line-height);
4209
+ letter-spacing: var(--tooltip-message-letter-spacing);
4210
+ font-weight: var(--tooltip-message-font-weight);
4211
+ white-space: normal;
4212
+ }
4213
+
4214
+ .tooltip-message-arrow {
4215
+ fill: var(--tooltip-message-background);
4060
4216
  }