@uniai-fe/uds-primitives 0.1.13 → 0.2.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.
Files changed (114) hide show
  1. package/README.md +2 -2
  2. package/dist/styles.css +1112 -385
  3. package/package.json +12 -15
  4. package/src/components/button/index.scss +1 -0
  5. package/src/components/button/markup/{ButtonRounded.tsx → Rounded.tsx} +1 -1
  6. package/src/components/button/markup/{ButtonText.tsx → Text.tsx} +1 -1
  7. package/src/components/button/markup/index.ts +3 -3
  8. package/src/components/button/styles/button.scss +113 -229
  9. package/src/components/button/styles/round-button.scss +11 -14
  10. package/src/components/button/styles/text-button.scss +23 -23
  11. package/src/components/button/styles/variables.scss +145 -0
  12. package/src/components/dropdown/index.tsx +3 -3
  13. package/src/components/dropdown/markup/Template.tsx +57 -0
  14. package/src/components/dropdown/markup/foundation/Container.tsx +125 -0
  15. package/src/components/dropdown/markup/foundation/MenuItem.tsx +107 -0
  16. package/src/components/dropdown/markup/foundation/MenuList.tsx +27 -0
  17. package/src/components/dropdown/markup/foundation/Provider.tsx +46 -0
  18. package/src/components/dropdown/markup/foundation/Root.tsx +30 -0
  19. package/src/components/dropdown/markup/foundation/Trigger.tsx +34 -0
  20. package/src/components/dropdown/markup/foundation/index.tsx +25 -0
  21. package/src/components/dropdown/markup/index.tsx +8 -2
  22. package/src/components/dropdown/styles/dropdown.scss +166 -0
  23. package/src/components/dropdown/styles/index.scss +2 -0
  24. package/src/components/dropdown/styles/variables.scss +40 -0
  25. package/src/components/dropdown/types/base.ts +31 -0
  26. package/src/components/dropdown/types/index.ts +2 -4
  27. package/src/components/dropdown/types/props.ts +170 -0
  28. package/src/components/dropdown/utils/index.ts +1 -4
  29. package/src/components/dropdown/utils/refs.ts +20 -0
  30. package/src/components/form/index.scss +1 -0
  31. package/src/components/form/index.tsx +18 -2
  32. package/src/components/form/markup/form-field/Body.tsx +18 -0
  33. package/src/components/form/markup/form-field/Container.tsx +58 -0
  34. package/src/components/form/markup/form-field/Footer.tsx +21 -0
  35. package/src/components/form/markup/form-field/Header.tsx +39 -0
  36. package/src/components/form/markup/form-field/Template.tsx +56 -0
  37. package/src/components/form/markup/form-field/index.tsx +22 -0
  38. package/src/components/form/styles/form-field/layout.scss +67 -0
  39. package/src/components/form/styles/form-field/variables.scss +17 -0
  40. package/src/components/form/styles/index.scss +2 -0
  41. package/src/components/form/types/index.ts +1 -0
  42. package/src/components/form/types/props.ts +125 -0
  43. package/src/components/form/utils/form-field.ts +42 -0
  44. package/src/components/input/hooks/index.ts +1 -4
  45. package/src/components/input/hooks/useDigitField.ts +63 -0
  46. package/src/components/input/img/calendar/calendar.svg +7 -0
  47. package/src/components/input/img/calendar/chevron-down.svg +3 -0
  48. package/src/components/input/img/calendar/chevron-left.svg +3 -0
  49. package/src/components/input/img/calendar/chevron-right.svg +3 -0
  50. package/src/components/input/img/calendar/chevron-up.svg +3 -0
  51. package/src/components/input/index.tsx +2 -1
  52. package/src/components/input/markup/calendar/Base.tsx +329 -0
  53. package/src/components/input/markup/calendar/index.tsx +8 -0
  54. package/src/components/input/markup/{text/InputUtilityButton.tsx → foundation/Button.tsx} +5 -15
  55. package/src/components/input/markup/foundation/Input.tsx +245 -0
  56. package/src/components/input/markup/foundation/SideSlot.tsx +30 -0
  57. package/src/components/input/markup/foundation/StatusIcon.tsx +21 -0
  58. package/src/components/input/markup/foundation/Utility.tsx +103 -0
  59. package/src/components/input/markup/foundation/index.tsx +15 -0
  60. package/src/components/input/markup/index.tsx +11 -1
  61. package/src/components/input/markup/text/AuthCode.tsx +41 -59
  62. package/src/components/input/markup/text/Email.tsx +25 -115
  63. package/src/components/input/markup/text/Password.tsx +30 -39
  64. package/src/components/input/markup/text/Phone.tsx +35 -122
  65. package/src/components/input/markup/text/Search.tsx +17 -18
  66. package/src/components/input/markup/text/index.ts +15 -12
  67. package/src/components/input/styles/calendar.scss +110 -0
  68. package/src/components/input/styles/foundation.scss +345 -0
  69. package/src/components/input/styles/index.scss +4 -476
  70. package/src/components/input/styles/text.scss +89 -0
  71. package/src/components/input/styles/variables.scss +41 -0
  72. package/src/components/input/types/calendar.ts +208 -0
  73. package/src/components/input/types/foundation.ts +194 -0
  74. package/src/components/input/types/hooks.ts +43 -0
  75. package/src/components/input/types/index.ts +5 -87
  76. package/src/components/input/types/text.ts +203 -0
  77. package/src/components/input/types/verification.ts +23 -0
  78. package/src/components/input/utils/index.tsx +1 -0
  79. package/src/components/input/utils/verification.tsx +35 -0
  80. package/src/components/select/hooks/index.ts +43 -2
  81. package/src/components/select/img/chevron/primary/large.svg +3 -0
  82. package/src/components/select/img/chevron/primary/medium.svg +3 -0
  83. package/src/components/select/img/chevron/primary/small.svg +3 -0
  84. package/src/components/select/img/chevron/secondary/large.svg +3 -0
  85. package/src/components/select/img/chevron/secondary/medium.svg +3 -0
  86. package/src/components/select/img/chevron/secondary/small.svg +3 -0
  87. package/src/components/select/img/remove.svg +3 -0
  88. package/src/components/select/index.scss +2 -1
  89. package/src/components/select/index.tsx +5 -0
  90. package/src/components/select/markup/Default.tsx +154 -0
  91. package/src/components/select/markup/foundation/Base.tsx +90 -0
  92. package/src/components/select/markup/foundation/Container.tsx +30 -0
  93. package/src/components/select/markup/foundation/Icon.tsx +78 -0
  94. package/src/components/select/markup/foundation/Selected.tsx +34 -0
  95. package/src/components/select/markup/foundation/index.ts +2 -0
  96. package/src/components/select/markup/index.tsx +36 -2
  97. package/src/components/select/markup/multiple/Multiple.tsx +205 -0
  98. package/src/components/select/markup/multiple/SelectedChip.tsx +58 -0
  99. package/src/components/select/markup/multiple/index.ts +2 -0
  100. package/src/components/select/styles/select.scss +316 -0
  101. package/src/components/select/styles/variables.scss +91 -0
  102. package/src/components/select/types/base.ts +34 -0
  103. package/src/components/select/types/icon.ts +45 -0
  104. package/src/components/select/types/index.ts +6 -4
  105. package/src/components/select/types/multiple.ts +57 -0
  106. package/src/components/select/types/option.ts +43 -0
  107. package/src/components/select/types/props.ts +209 -0
  108. package/src/components/select/types/trigger.ts +196 -0
  109. package/src/index.scss +3 -2
  110. package/src/components/input/markup/text/Base.tsx +0 -454
  111. package/src/components/input/utils/index.ts +0 -60
  112. package/src/components/select/styles/index.scss +0 -0
  113. /package/src/components/button/markup/{ButtonDefault.tsx → Base.tsx} +0 -0
  114. /package/src/components/form/{Provider.tsx → markup/Provider.tsx} +0 -0
package/dist/styles.css CHANGED
@@ -11,123 +11,136 @@
11
11
  --theme-badge-line-height: var(--font-caption-medium-line-height, 1.5);
12
12
  --theme-badge-letter-spacing: var(--font-caption-medium-letter-spacing, 0);
13
13
  --theme-badge-dot-size: var(--spacing-gap-3, 8px);
14
- /* spacing */
15
- --theme-button-gap-1: var(--spacing-gap-1);
16
- --theme-button-gap-2: var(--spacing-gap-2);
17
- --theme-button-gap-3: var(--spacing-gap-3);
18
- --theme-button-padding-1: var(--spacing-padding-1);
19
- --theme-button-padding-2: var(--spacing-padding-2);
20
- --theme-button-padding-3: var(--spacing-padding-3);
21
- --theme-button-padding-4: var(--spacing-padding-4);
22
- --theme-button-padding-5: var(--spacing-padding-5);
23
- --theme-button-padding-6: var(--spacing-padding-6);
24
- --theme-button-padding-7: var(--spacing-padding-7);
25
- --theme-button-padding-9: var(--spacing-padding-9);
26
- --theme-button-min-width: var(--theme-size-small-2);
27
- --theme-button-text-padding-block: var(--spacing-padding-4, 8px);
28
- --theme-button-text-padding-inline-small: var(--spacing-padding-4, 8px);
29
- --theme-button-text-padding-inline-medium: var(--spacing-padding-5, 12px);
30
- --theme-button-text-padding-inline-large: var(--spacing-padding-5, 12px);
31
- --theme-button-text-min-height-small: var(--theme-size-small-1, 20px);
32
- --theme-button-text-min-height-medium: var(--theme-size-small-2, 24px);
33
- --theme-button-text-min-height-large: var(--theme-size-small-3, 32px);
34
- --theme-button-text-radius: var(--theme-radius-small, 4px);
35
- --theme-button-round-padding-inline-small: var(--spacing-padding-5, 12px);
36
- --theme-button-round-padding-inline-medium: var(--spacing-padding-6, 16px);
37
- --theme-button-round-padding-inline-large: var(--spacing-padding-7, 20px);
38
- --theme-button-round-padding-block: var(--spacing-padding-2, 4px);
39
- --theme-button-round-min-height-small: var(--theme-size-small-2, 24px);
40
- --theme-button-round-min-height-medium: var(--theme-size-small-3, 32px);
41
- --theme-button-round-min-height-large: var(--theme-size-medium-1, 40px);
42
- --theme-button-round-radius-small: var(--theme-radius-xlarge-2, 16px);
43
- --theme-button-round-radius-medium: var(--theme-radius-xlarge-2, 16px);
44
- --theme-button-round-radius-large: 30px;
45
- /* size/radius */
46
- --theme-button-size-small-1: var(--theme-size-small-1);
47
- --theme-button-size-small-2: var(--theme-size-small-2);
48
- --theme-button-size-small-3: var(--theme-size-small-3);
49
- --theme-button-size-medium-1: var(--theme-size-medium-1);
50
- --theme-button-size-medium-2: var(--theme-size-medium-2);
51
- --theme-button-size-medium-3: var(--theme-size-medium-3);
52
- --theme-button-radius-medium-1: var(--theme-radius-medium-1);
53
- --theme-button-radius-medium-3: var(--theme-radius-medium-3);
54
- --theme-button-radius-large-1: var(--theme-radius-large-1);
55
- --theme-button-radius-large-2: var(--theme-radius-large-2);
56
- --theme-button-radius-small: var(--theme-radius-small);
57
- --theme-button-radius-xlarge: var(--theme-radius-xlarge);
14
+ /* default button spacing (size 기반) */
15
+ --button-default-gap-small: var(--spacing-gap-1);
16
+ --button-default-gap-medium: var(--spacing-gap-2);
17
+ --button-default-gap-large: var(--spacing-gap-3);
18
+ --button-default-padding-inline-base: var(--spacing-padding-4);
19
+ --button-default-padding-inline-small: var(--spacing-padding-6);
20
+ --button-default-padding-inline-medium: var(--spacing-padding-7);
21
+ --button-default-padding-inline-large: var(--spacing-padding-9);
22
+ --button-default-padding-block-base: 0px;
23
+ --button-default-padding-block-small: 0px;
24
+ --button-default-padding-block-medium: 0px;
25
+ --button-default-padding-block-large: 0px;
26
+ /* default button sizing */
27
+ --button-default-width-min-base: var(--theme-size-small-2);
28
+ --button-default-height-small: var(--theme-size-small-3, 32px);
29
+ --button-default-height-medium: var(--theme-size-medium-1, 40px);
30
+ --button-default-height-large: var(--theme-size-medium-2, 48px);
31
+ --button-default-height-xlarge: var(--theme-size-medium-3, 56px);
32
+ --button-default-radius-small: var(--theme-radius-medium-3);
33
+ --button-default-radius-medium: var(--theme-radius-medium-3);
34
+ --button-default-radius-large: var(--theme-radius-large-1);
35
+ --button-default-radius-xlarge: var(--theme-radius-large-2);
36
+ /* text buttons */
37
+ --button-text-padding-block-base: var(--spacing-padding-4, 8px);
38
+ --button-text-padding-inline-small: var(--spacing-padding-4, 8px);
39
+ --button-text-padding-inline-medium: var(--spacing-padding-5, 12px);
40
+ --button-text-padding-inline-large: var(--spacing-padding-5, 12px);
41
+ --button-text-height-small: var(--theme-size-small-1, 20px);
42
+ --button-text-height-medium: var(--theme-size-small-2, 24px);
43
+ --button-text-height-large: var(--theme-size-small-3, 32px);
44
+ --button-text-radius-base: var(--theme-radius-small, 4px);
45
+ /* round buttons */
46
+ --button-round-padding-inline-small: var(--spacing-padding-5, 12px);
47
+ --button-round-padding-inline-medium: var(--spacing-padding-6, 16px);
48
+ --button-round-padding-inline-large: var(--spacing-padding-7, 20px);
49
+ --button-round-padding-block-base: var(--spacing-padding-2, 4px);
50
+ --button-round-height-small: var(--theme-size-small-2, 24px);
51
+ --button-round-height-medium: var(--theme-size-small-3, 32px);
52
+ --button-round-height-large: var(--theme-size-medium-1, 40px);
53
+ --button-round-radius-small: var(--theme-radius-xlarge-2, 16px);
54
+ --button-round-radius-medium: var(--theme-radius-xlarge-2, 16px);
55
+ --button-round-radius-large: 30px;
58
56
  /* typography */
59
- --theme-button-font-body-medium-family: var(--font-body-medium-family);
60
- --theme-button-font-body-medium-size: var(--font-body-medium-size);
61
- --theme-button-font-body-medium-weight: var(--font-body-medium-weight);
62
- --theme-button-font-body-medium-line-height: var(
57
+ --button-default-font-body-medium-family: var(--font-body-medium-family);
58
+ --button-default-font-body-medium-size: var(--font-body-medium-size);
59
+ --button-default-font-body-medium-weight: var(--font-body-medium-weight);
60
+ --button-default-font-body-medium-line-height: var(
63
61
  --font-body-medium-line-height
64
62
  );
65
- --theme-button-font-body-medium-letter-spacing: var(
63
+ --button-default-font-body-medium-letter-spacing: var(
66
64
  --font-body-medium-letter-spacing
67
65
  );
68
- --theme-button-font-label-medium-size: var(--font-label-medium-size);
69
- --theme-button-font-label-medium-weight: var(--font-label-medium-weight);
70
- --theme-button-font-label-medium-line-height: var(
66
+ --button-default-font-label-medium-size: var(--font-label-medium-size);
67
+ --button-default-font-label-medium-weight: var(--font-label-medium-weight);
68
+ --button-default-font-label-medium-line-height: var(
71
69
  --font-label-medium-line-height
72
70
  );
73
- --theme-button-font-label-medium-letter-spacing: var(
71
+ --button-default-font-label-medium-letter-spacing: var(
74
72
  --font-label-medium-letter-spacing
75
73
  );
76
- --theme-button-font-label-large-size: var(--font-label-large-size);
77
- --theme-button-font-label-large-weight: var(--font-label-large-weight);
78
- --theme-button-font-label-large-line-height: var(
74
+ --button-default-font-label-large-size: var(--font-label-large-size);
75
+ --button-default-font-label-large-weight: var(--font-label-large-weight);
76
+ --button-default-font-label-large-line-height: var(
79
77
  --font-label-large-line-height
80
78
  );
81
- --theme-button-font-label-large-letter-spacing: var(
79
+ --button-default-font-label-large-letter-spacing: var(
82
80
  --font-label-large-letter-spacing
83
81
  );
84
- --theme-button-font-body-large-size: var(--font-body-large-size);
85
- --theme-button-font-body-large-weight: var(--font-body-large-weight);
86
- --theme-button-font-body-large-line-height: var(
82
+ --button-default-font-body-large-size: var(--font-body-large-size);
83
+ --button-default-font-body-large-weight: var(--font-body-large-weight);
84
+ --button-default-font-body-large-line-height: var(
87
85
  --font-body-large-line-height
88
86
  );
89
- --theme-button-font-body-large-letter-spacing: var(
87
+ --button-default-font-body-large-letter-spacing: var(
90
88
  --font-body-large-letter-spacing
91
89
  );
92
- --theme-button-font-weight: 400;
93
- /* colors */
94
- --theme-button-color-neutral-base: var(--color-neutral-20);
95
- --theme-button-color-common-100: var(--color-common-100);
96
- --theme-button-color-primary-default: var(--color-primary-default);
97
- --theme-button-color-primary-strong: var(--color-primary-strong);
98
- --theme-button-color-primary-heavy: var(--color-primary-heavy);
99
- --theme-button-color-secondary-default: var(--color-secondary-default);
100
- --theme-button-color-secondary-strong: var(--color-secondary-strong);
101
- --theme-button-color-secondary-heavy: var(--color-secondary-heavy);
102
- --theme-button-color-tertiary-default: var(--color-tertiary-default);
103
- --theme-button-color-tertiary-strong: var(--color-tertiary-strong);
104
- --theme-button-color-tertiary-heavy: var(--color-tertiary-heavy);
105
- --theme-button-color-blue-90: var(--color-blue-90);
106
- --theme-button-color-blue-50: var(--color-blue-50);
107
- --theme-button-color-blue-45: var(--color-blue-45);
108
- --theme-button-overlay-solid-tertiary-bg: var(--color-surface-strong);
109
- /* Confirm dialog cancel 버튼을 위한 solid tertiary 색상 정의 */
110
- --theme-button-tertiary-solid-bg: var(--color-surface-neutral);
111
- --theme-button-tertiary-solid-hover-bg: var(--color-surface-strong);
112
- --theme-button-tertiary-solid-pressed-bg: var(--color-surface-strong);
113
- --theme-button-tertiary-solid-foreground: var(--color-label-neutral);
114
- --theme-button-secondary-solid-bg: var(--color-blue-95, #e5eeff);
115
- --theme-button-secondary-solid-hover-bg: #dbe9ff;
116
- --theme-button-secondary-solid-pressed-bg: #ccdeff;
117
- --theme-button-color-cool-gray-90: var(--color-cool-gray-90);
118
- --theme-button-color-cool-gray-95: var(--color-cool-gray-95);
119
- --theme-button-color-cool-gray-10: var(--color-cool-gray-10);
120
- --theme-button-color-bg-surface-standard: var(--color-surface-standard);
121
- --theme-button-color-bg-alternative-cool-gray: var(
122
- --color-bg-alternative-cool-gray
90
+ --button-default-font-weight: 400;
91
+ /* default button colors (priority 기반) */
92
+ --button-default-neutral-foreground: var(--color-neutral-20);
93
+ --button-default-neutral-disabled-bg: var(--color-surface-standard);
94
+ --button-default-neutral-disabled-foreground: var(--color-label-disabled);
95
+ --button-default-primary-solid-bg: var(--color-primary-default);
96
+ --button-default-primary-solid-hover-bg: var(--color-blue-50);
97
+ --button-default-primary-solid-active-bg: var(--color-blue-45);
98
+ --button-default-primary-solid-foreground: var(--color-common-100);
99
+ --button-default-primary-outline-border: var(--color-primary-default);
100
+ --button-default-primary-outline-foreground: var(--color-primary-default);
101
+ --button-default-primary-outline-hover-bg: var(--color-primary-default);
102
+ --button-default-primary-outline-hover-foreground: var(--color-common-100);
103
+ --button-default-primary-overlay-outlined-bg: var(--color-blue-90);
104
+ --button-default-secondary-solid-bg: var(--color-blue-95, #e5eeff);
105
+ --button-default-secondary-solid-hover-bg: #dbe9ff;
106
+ --button-default-secondary-solid-active-bg: #ccdeff;
107
+ --button-default-secondary-solid-foreground: var(--color-primary-default);
108
+ --button-default-secondary-outline-border: var(--color-cool-gray-90);
109
+ --button-default-secondary-outline-foreground: var(--color-primary-default);
110
+ --button-default-secondary-outline-hover-bg: var(--color-blue-90);
111
+ --button-default-secondary-outline-hover-foreground: var(
112
+ --color-primary-heavy
113
+ );
114
+ --button-default-secondary-overlay-outlined-bg: var(--color-cool-gray-95);
115
+ --button-default-tertiary-solid-bg: var(--color-surface-neutral);
116
+ --button-default-tertiary-solid-hover-bg: var(--color-surface-strong);
117
+ --button-default-tertiary-solid-active-bg: var(--color-surface-strong);
118
+ --button-default-tertiary-solid-foreground: var(--color-label-neutral);
119
+ --button-default-tertiary-outline-border: var(--color-cool-gray-90);
120
+ --button-default-tertiary-outline-foreground: var(--color-cool-gray-10);
121
+ --button-default-tertiary-outline-hover-bg: var(--color-cool-gray-95);
122
+ --button-default-tertiary-outline-hover-foreground: var(--color-neutral-20);
123
+ --button-default-tertiary-overlay-outlined-bg: var(--color-cool-gray-95);
124
+ --button-default-tertiary-overlay-solid-bg: var(--color-surface-strong);
125
+ /* text button colors */
126
+ --button-text-secondary-foreground: var(--color-primary-default);
127
+ --button-text-secondary-hover-bg: var(
128
+ --color-bg-alternative-cool-gray,
129
+ var(--color-cool-gray-95)
130
+ );
131
+ --button-text-secondary-pressed-bg: var(
132
+ --color-secondary-strong,
133
+ var(--color-blue-90)
134
+ );
135
+ --button-text-tertiary-foreground: var(--color-cool-gray-10);
136
+ --button-text-tertiary-hover-bg: var(
137
+ --color-bg-alternative-cool-gray,
138
+ var(--color-cool-gray-95)
139
+ );
140
+ --button-text-tertiary-pressed-bg: var(
141
+ --color-surface-strong,
142
+ var(--color-cool-gray-20)
123
143
  );
124
- --theme-button-color-bg-surface-strong: var(--color-surface-strong);
125
- --theme-button-color-label-disabled: var(--color-label-disabled);
126
- /* overlays */
127
- --theme-button-overlay-solid-secondary-bg: var(--color-blue-90);
128
- --theme-button-overlay-outlined-primary-bg: var(--color-blue-90);
129
- --theme-button-overlay-outlined-secondary-bg: var(--color-cool-gray-95);
130
- --theme-button-overlay-outlined-tertiary-bg: var(--color-cool-gray-95);
131
144
  --theme-checkbox-frame-size-medium: 20px;
132
145
  --theme-checkbox-frame-size-large: 24px;
133
146
  --theme-checkbox-indicator-size-medium: 16px;
@@ -177,35 +190,169 @@
177
190
  --drawer-handle-bg: var(--color-border-standard-cool-gray);
178
191
  --drawer-close-size: 36px;
179
192
  --drawer-drag-offset: 0px;
180
- --theme-input-height-small: var(--theme-size-medium-1);
181
- --theme-input-height-medium: var(--theme-size-medium-2);
182
- --theme-input-height-large: var(--theme-size-medium-3);
183
- --theme-input-height-tertiary: calc(var(--theme-size-medium-2) + 24px);
184
- --theme-input-padding-x: var(--spacing-padding-6);
185
- --theme-input-padding-y: var(--spacing-padding-4);
186
- --theme-input-gap: var(--spacing-gap-4);
187
- --theme-input-radius-default: var(--theme-radius-large-1);
188
- --theme-input-radius-tertiary: var(--theme-radius-large-2);
189
- --theme-input-label-color: var(--color-label-standard);
190
- --theme-input-helper-color: var(--color-label-neutral);
191
- --theme-input-helper-success-color: var(--color-success);
192
- --theme-input-helper-error-color: var(--color-error);
193
- --theme-input-helper-disabled-color: var(--color-label-disabled);
194
- --theme-input-label-accent-color: var(--color-primary-default);
195
- --theme-input-label-error-color: var(--color-error);
196
- --theme-input-placeholder-color: var(--color-label-alternative);
197
- --theme-input-text-color: var(--color-label-strong);
198
- --theme-input-border-color: var(--color-border-standard-cool-gray);
199
- --theme-input-border-width-default: 1px;
200
- --theme-input-border-width-emphasis: 1.4px;
201
- --theme-input-border-active: #99bdff;
202
- --theme-input-border-success: #99bdff;
203
- --theme-input-border-error: rgba(218, 29, 11, 0.44);
204
- --theme-input-border-disabled: var(--color-border-standard-cool-gray);
205
- --theme-input-border-underline-disabled: var(--color-border-assistive);
206
- --theme-input-surface: var(--color-common-100);
207
- --theme-input-surface-muted: var(--color-neutral-99);
208
- --theme-input-surface-disabled: var(--color-neutral-95);
193
+ --dropdown-panel-background: var(--color-common-100);
194
+ --dropdown-panel-border-color: var(--color-border-standard-cool-gray);
195
+ --dropdown-panel-radius: var(--theme-radius-large-1);
196
+ --dropdown-panel-shadow: 0px 4px 22px rgba(19, 22, 32, 0.12);
197
+ --dropdown-panel-padding: var(--spacing-padding-3);
198
+ --dropdown-panel-gap: var(--spacing-gap-2);
199
+ --dropdown-panel-max-height: 32rem;
200
+ --dropdown-option-radius: var(--theme-radius-medium-1);
201
+ --dropdown-option-gap-inline: var(--spacing-gap-3);
202
+ --dropdown-option-padding-inline: var(--spacing-padding-6);
203
+ --dropdown-option-padding-block: var(--spacing-padding-2);
204
+ --dropdown-option-color: var(--color-label-standard);
205
+ --dropdown-option-color-hover: var(--color-label-strong);
206
+ --dropdown-option-color-selected: var(--color-primary-default);
207
+ --dropdown-option-color-disabled: var(--color-label-disabled);
208
+ --dropdown-option-bg-hover: var(--color-surface-standard);
209
+ --dropdown-option-bg-selected: var(--color-surface-static-blue);
210
+ --dropdown-option-bg-disabled: transparent;
211
+ --dropdown-text-small-size: 15px;
212
+ --dropdown-text-small-line-height: 24px;
213
+ --dropdown-text-small-letter-spacing: 0;
214
+ --dropdown-text-medium-size: 16px;
215
+ --dropdown-text-medium-line-height: 24px;
216
+ --dropdown-text-medium-letter-spacing: 0;
217
+ --dropdown-text-large-size: 19px;
218
+ --dropdown-text-large-line-height: 26px;
219
+ --dropdown-text-large-letter-spacing: 0;
220
+ --dropdown-text-weight: 400;
221
+ --dropdown-text-weight-selected: 600;
222
+ --dropdown-description-color: var(--color-label-neutral);
223
+ --dropdown-description-size: 14px;
224
+ --dropdown-description-line-height: 22px;
225
+ --dropdown-option-height-small: var(--theme-size-medium-1, 40px);
226
+ --dropdown-option-height-medium: var(--theme-size-medium-2, 48px);
227
+ --dropdown-option-height-large: var(--theme-size-medium-3, 56px);
228
+ /* Input sizing tokens; Button 변수 규칙과 동일한 prefix 패턴을 맞춘다. */
229
+ --input-default-height-small: var(--theme-size-medium-1);
230
+ --input-default-height-medium: var(--theme-size-medium-2);
231
+ --input-default-height-large: var(--theme-size-medium-3);
232
+ --input-tertiary-height-base: calc(var(--theme-size-medium-2) + 24px);
233
+ --input-default-padding-inline: var(--spacing-padding-6);
234
+ --input-default-padding-block: var(--spacing-padding-4);
235
+ --input-default-gap: var(--spacing-gap-4);
236
+ --input-default-radius-base: var(--theme-radius-large-1);
237
+ --input-tertiary-radius-base: var(--theme-radius-large-2);
238
+ /* Label/helper colors */
239
+ --input-label-color: var(--color-label-standard);
240
+ --input-label-accent-color: var(--color-primary-default);
241
+ --input-label-error-color: var(--color-error);
242
+ --input-helper-color: var(--color-label-neutral);
243
+ --input-helper-success-color: var(--color-success);
244
+ --input-helper-error-color: var(--color-error);
245
+ --input-helper-disabled-color: var(--color-label-disabled);
246
+ /* Text & placeholder colors */
247
+ --input-text-color: var(--color-label-strong);
248
+ --input-placeholder-color: var(--color-label-alternative);
249
+ /* Border tokens */
250
+ --input-border-color: var(--color-border-standard-cool-gray);
251
+ --input-border-width-default: 1px;
252
+ --input-border-width-emphasis: 1.4px;
253
+ --input-border-active-color: var(--color-blue-80);
254
+ --input-border-success-color: var(--color-blue-80);
255
+ /* error는 Figma 44% alpha */
256
+ --input-border-error-color: rgba(218, 29, 11, 0.44);
257
+ --input-border-disabled-color: var(--color-border-standard-cool-gray);
258
+ --input-border-underline-disabled-color: var(--color-border-assistive);
259
+ /* Surface tokens */
260
+ --input-surface-color: var(--color-common-100);
261
+ --input-surface-muted-color: var(--color-neutral-99);
262
+ --input-surface-disabled-color: var(--color-neutral-95);
263
+ --select-primary-height-small: var(--input-default-height-small);
264
+ --select-primary-height-medium: var(--input-default-height-medium);
265
+ --select-primary-height-large: var(--input-default-height-large);
266
+ --select-primary-radius-small: var(--input-default-radius-base);
267
+ --select-primary-radius-medium: var(--input-default-radius-base);
268
+ --select-primary-radius-large: var(--input-default-radius-base);
269
+ --select-primary-padding-inline: var(--input-default-padding-inline);
270
+ --select-primary-padding-block: var(--input-default-padding-block);
271
+ --select-primary-gap-inline: var(--input-default-gap);
272
+ --select-primary-border-width-default: var(--input-border-width-default);
273
+ --select-primary-border-width-focus: var(--input-border-width-emphasis);
274
+ --select-secondary-radius: var(--theme-radius-medium-1);
275
+ --select-secondary-padding-inline: var(--spacing-padding-4);
276
+ --select-secondary-padding-block: var(--spacing-padding-2);
277
+ --select-secondary-gap: var(--spacing-gap-2);
278
+ --select-secondary-underline-width-default: 1px;
279
+ --select-secondary-underline-width-focus: 1.4px;
280
+ --select-text-small-size: 15px;
281
+ --select-text-small-line-height: 1.4;
282
+ --select-text-small-letter-spacing: 0.2px;
283
+ --select-text-small-weight: 400;
284
+ --select-text-medium-size: var(--font-body-medium-size);
285
+ --select-text-medium-line-height: var(--font-body-medium-line-height);
286
+ --select-text-medium-letter-spacing: 0;
287
+ --select-text-medium-weight: 400;
288
+ --select-text-large-size: var(--font-body-large-size);
289
+ --select-text-large-line-height: var(--font-body-large-line-height);
290
+ --select-text-large-letter-spacing: 0;
291
+ --select-text-large-weight: 400;
292
+ --select-icon-size-small: 1.6rem;
293
+ --select-icon-size-medium: 2rem;
294
+ --select-icon-size-large: 2rem;
295
+ --select-primary-color-placeholder: var(--input-placeholder-color);
296
+ --select-primary-color-text: var(--color-label-alternative);
297
+ --select-primary-color-text-focused: var(--color-label-strong);
298
+ --select-primary-color-text-disabled: var(--color-label-disabled);
299
+ --select-primary-color-border: var(--input-border-color);
300
+ --select-primary-color-border-focused: var(--input-border-active-color);
301
+ --select-primary-color-border-disabled: var(--input-border-disabled-color);
302
+ --select-color-border-secondary: var(--input-border-color);
303
+ --select-color-border-secondary-hover: var(--input-border-active-color);
304
+ --select-color-border-secondary-focused: var(--input-border-active-color);
305
+ --select-color-border-secondary-disabled: var(
306
+ --input-border-underline-disabled-color
307
+ );
308
+ --select-primary-color-surface-disabled: var(--input-surface-disabled-color);
309
+ --select-secondary-color-text: var(--color-label-standard);
310
+ --select-secondary-color-placeholder: var(--color-label-alternative);
311
+ --select-color-surface-secondary: transparent;
312
+ --select-color-surface-secondary-hover: var(--color-surface-static-cool-gray);
313
+ --select-color-surface-secondary-active: var(--color-surface-standard);
314
+ --select-color-surface-secondary-disabled: var(--color-surface-neutral);
315
+ --select-icon-color-default: var(--color-cool-gray-75);
316
+ --select-icon-color-focused: var(--color-cool-gray-20);
317
+ --select-icon-color-disabled: var(--color-cool-gray-85);
318
+ /* Multi select chip */
319
+ --select-multiple-chip-gap: var(--spacing-gap-2);
320
+ --select-multiple-chip-padding-inline: var(--spacing-padding-4);
321
+ --select-multiple-chip-padding-block: 0px;
322
+ --select-multiple-chip-radius: var(--theme-radius-medium-2);
323
+ --select-multiple-chip-font-size: var(--font-body-small-size);
324
+ --select-multiple-chip-line-height: var(--font-body-small-line-height);
325
+ --select-multiple-chip-font-weight: 400;
326
+ --select-multiple-chip-height: 29px;
327
+ --select-multiple-chip-color: var(--color-primary-default);
328
+ --select-multiple-chip-suffix-color: var(--color-label-alternative);
329
+ --select-multiple-chip-surface: var(--color-surface-static-blue);
330
+ --select-multiple-chip-border-color: transparent;
331
+ --select-multiple-chip-remove-color: var(--color-label-strong);
332
+ --select-multiple-chip-remove-hover-color: var(--color-label-strong);
333
+ --select-multiple-chip-summary-color: var(--color-label-standard);
334
+ --select-multiple-chip-summary-surface: var(--color-surface-standard);
335
+ --select-multiple-chip-summary-border-color: transparent;
336
+ --select-multiple-chip-summary-padding-inline: var(--spacing-padding-4);
337
+ --select-multiple-chip-summary-padding-block: var(--spacing-padding-2);
338
+ --select-multiple-chip-summary-radius: var(--theme-radius-medium-1);
339
+ --select-multiple-chip-summary-font-size: var(--font-body-medium-size);
340
+ --select-multiple-chip-summary-line-height: var(
341
+ --font-body-medium-line-height
342
+ );
343
+ --select-multiple-chip-summary-font-weight: 400;
344
+ --form-field-width: auto;
345
+ --form-field-flex: 0 0 auto;
346
+ --form-field-gap-x: var(--spacing-gap-5, 12px);
347
+ --form-field-gap-y: var(--spacing-gap-3, 6px);
348
+ --form-field-label-font-size: var(--font-label-small-size);
349
+ --form-field-label-font-weight: 400;
350
+ --form-field-label-line-height: var(--font-label-small-line-height);
351
+ --form-field-label-color: var(--color-label-standard);
352
+ --form-field-helper-font-size: var(--font-caption-medium-size);
353
+ --form-field-helper-font-weight: 400;
354
+ --form-field-helper-line-height: var(--font-caption-medium-line-height);
355
+ --form-field-helper-color: var(--color-label-neutral);
209
356
  --theme-navigation-height: 86px;
210
357
  --theme-navigation-padding-inline: 32px;
211
358
  --theme-navigation-padding-block-start: 8px;
@@ -485,34 +632,37 @@
485
632
  --badge-dot-color: var(--color-red-55, #f43625);
486
633
  }
487
634
 
488
- /* 버튼 전용 토큰은 theme root에서 한 번만 정의한다. */
635
+ /* 버튼 전용 토큰은 theme root에서 한 번만 정의하며, size 기반 규칙(--button-{type}-{property}-{size})을 따른다. */
489
636
 
490
637
 
638
+ /* 버튼 변수 로딩 */
639
+ /* 버튼 관련 CSS 변수는 variables.scss에서 주입된다. */
640
+ /* priority 토큰은 --button-default-{priority}-* 컬러 변수와 연결된다. */
491
641
  /* Primitives 버튼 공통 스타일 */
492
642
  .button {
493
643
  display: flex;
494
644
  align-items: center;
495
645
  justify-content: center;
496
- gap: var(--theme-button-gap-2, var(--spacing-gap-2, 8px));
646
+ gap: var(--button-default-gap-medium, var(--spacing-gap-2, 8px));
497
647
  width: fit-content;
498
- min-width: var(--theme-button-min-width, var(--theme-size-small-2, 24px));
648
+ min-width: var(--button-default-width-min-base, var(--theme-size-small-2, 24px));
499
649
  min-height: var(--button-min-height, auto);
500
- padding-inline: var(--button-padding-inline, var(--theme-button-padding-4, var(--spacing-padding-4, 16px)));
501
- padding-block: var(--button-padding-block, var(--theme-button-padding-2, var(--spacing-padding-2, 4px)));
502
- border-radius: var(--button-border-radius, var(--theme-button-radius-medium-1, var(--theme-radius-medium-1, 8px)));
650
+ padding-inline: var(--button-padding-inline, var(--button-default-padding-inline-base, var(--spacing-padding-4, 16px)));
651
+ padding-block: 0;
652
+ border-radius: var(--button-border-radius, var(--button-default-radius-medium, var(--theme-radius-medium-1, 8px)));
503
653
  border: 1px solid transparent;
504
654
  background-color: transparent;
505
- color: var(--theme-button-color-neutral-base, var(--color-neutral-20));
655
+ color: var(--button-default-neutral-foreground, var(--color-neutral-20));
506
656
  box-shadow: none;
507
657
  filter: none;
508
658
  cursor: pointer;
509
659
  }
510
660
  .button span {
511
- font-family: var(--font-caption-medium-family, var(--theme-button-font-body-medium-family, var(--font-body-medium-family, "Pretendard")));
512
- font-size: var(--font-caption-medium-size, var(--theme-button-font-body-medium-size, var(--font-body-medium-size, 16px)));
513
- font-weight: var(--font-caption-medium-weight, var(--theme-button-font-weight, 400));
514
- line-height: var(--font-caption-medium-line-height, var(--theme-button-font-body-medium-line-height, var(--font-body-medium-line-height, 24px)));
515
- letter-spacing: var(--font-caption-medium-letter-spacing, var(--theme-button-font-body-medium-letter-spacing, var(--font-body-medium-letter-spacing, 0px)));
661
+ font-family: var(--font-caption-medium-family, var(--button-default-font-body-medium-family, var(--font-body-medium-family, "Pretendard")));
662
+ font-size: var(--font-caption-medium-size, var(--button-default-font-body-medium-size, var(--font-body-medium-size, 16px)));
663
+ font-weight: var(--font-caption-medium-weight, var(--button-default-font-weight, 400));
664
+ line-height: var(--font-caption-medium-line-height, var(--button-default-font-body-medium-line-height, var(--font-body-medium-line-height, 24px)));
665
+ letter-spacing: var(--font-caption-medium-letter-spacing, var(--button-default-font-body-medium-letter-spacing, var(--font-body-medium-letter-spacing, 0px)));
516
666
  }
517
667
  .button .button-icon,
518
668
  .button .button-label,
@@ -527,312 +677,312 @@
527
677
  }
528
678
  .button:not(.button-fill-solid):not(.button-fill-outlined) {
529
679
  background-color: transparent;
530
- border-color: var(--theme-button-color-cool-gray-90, var(--color-cool-gray-90));
531
- color: var(--theme-button-color-cool-gray-10, var(--color-cool-gray-10));
680
+ border-color: var(--button-default-tertiary-outline-border, var(--color-cool-gray-90));
681
+ color: var(--button-default-tertiary-outline-foreground, var(--color-cool-gray-10));
532
682
  }
533
683
  .button:not(.button-fill-solid):not(.button-fill-outlined):hover:not(:disabled):not([aria-disabled=true]), .button:not(.button-fill-solid):not(.button-fill-outlined)[data-user-action=hover]:not(:disabled):not([aria-disabled=true]) {
534
- background-color: var(--theme-button-color-cool-gray-95, var(--color-cool-gray-95));
535
- border-color: var(--theme-button-color-cool-gray-90, var(--color-cool-gray-90));
684
+ background-color: var(--button-default-tertiary-outline-hover-bg, var(--color-cool-gray-95));
685
+ border-color: var(--button-default-tertiary-outline-border, var(--color-cool-gray-90));
536
686
  }
537
687
  .button:not(.button-fill-solid):not(.button-fill-outlined):active:not(:disabled):not([aria-disabled=true]), .button:not(.button-fill-solid):not(.button-fill-outlined)[data-user-action=pressed]:not(:disabled):not([aria-disabled=true]) {
538
- background-color: var(--theme-button-tertiary-solid-bg, var(--color-surface-neutral));
539
- border-color: var(--theme-button-color-cool-gray-90, var(--color-cool-gray-90));
688
+ background-color: var(--button-default-tertiary-solid-bg, var(--color-surface-neutral));
689
+ border-color: var(--button-default-tertiary-outline-border, var(--color-cool-gray-90));
540
690
  }
541
691
  .button:where([aria-busy=true]) {
542
692
  pointer-events: none;
543
693
  cursor: progress;
544
694
  }
545
695
  .button:where(.button-fill-solid.button-priority-primary) {
546
- background-color: var(--theme-button-color-primary-default, var(--color-primary-default));
547
- border-color: var(--theme-button-color-primary-default, var(--color-primary-default));
548
- color: var(--theme-button-color-common-100, var(--color-common-100));
696
+ background-color: var(--button-default-primary-solid-bg, var(--color-primary-default));
697
+ border-color: var(--button-default-primary-solid-bg, var(--color-primary-default));
698
+ color: var(--button-default-primary-solid-foreground, var(--color-common-100));
549
699
  }
550
700
  .button:where(.button-fill-solid.button-priority-primary):disabled, .button:where(.button-fill-solid.button-priority-primary)[aria-disabled=true] {
551
- background-color: var(--theme-button-color-bg-surface-standard, var(--color-surface-standard));
552
- border-color: var(--theme-button-color-bg-surface-standard, var(--color-surface-standard));
553
- color: var(--theme-button-color-label-disabled, var(--color-label-disabled));
701
+ background-color: var(--button-default-neutral-disabled-bg, var(--color-surface-standard));
702
+ border-color: var(--button-default-neutral-disabled-bg, var(--color-surface-standard));
703
+ color: var(--button-default-neutral-disabled-foreground, var(--color-label-disabled));
554
704
  }
555
705
  .button:where(.button-fill-solid.button-priority-primary):hover:not(:disabled):not([aria-disabled=true]), .button:where(.button-fill-solid.button-priority-primary)[data-user-action=hover]:not(:disabled):not([aria-disabled=true]) {
556
- background-color: var(--theme-button-color-blue-50, var(--color-blue-50));
557
- border-color: var(--theme-button-color-blue-50, var(--color-blue-50));
706
+ background-color: var(--button-default-primary-solid-hover-bg, var(--color-blue-50));
707
+ border-color: var(--button-default-primary-solid-hover-bg, var(--color-blue-50));
558
708
  }
559
709
  .button:where(.button-fill-solid.button-priority-primary):active:not(:disabled):not([aria-disabled=true]), .button:where(.button-fill-solid.button-priority-primary)[data-user-action=pressed]:not(:disabled):not([aria-disabled=true]) {
560
- background-color: var(--theme-button-color-blue-45, var(--color-blue-45));
561
- border-color: var(--theme-button-color-blue-45, var(--color-blue-45));
710
+ background-color: var(--button-default-primary-solid-active-bg, var(--color-blue-45));
711
+ border-color: var(--button-default-primary-solid-active-bg, var(--color-blue-45));
562
712
  }
563
713
  .button:where(.button-fill-outlined.button-priority-primary) {
564
714
  background-color: transparent;
565
- color: var(--theme-button-color-primary-default, var(--color-primary-default));
566
- border-color: var(--theme-button-color-primary-default, var(--color-primary-default));
715
+ color: var(--button-default-primary-outline-foreground, var(--color-primary-default));
716
+ border-color: var(--button-default-primary-outline-border, var(--color-primary-default));
567
717
  }
568
718
  .button:where(.button-fill-outlined.button-priority-primary):disabled, .button:where(.button-fill-outlined.button-priority-primary)[aria-disabled=true] {
569
- background-color: var(--theme-button-color-bg-surface-standard, var(--color-surface-standard));
570
- border-color: var(--theme-button-color-bg-surface-standard, var(--color-surface-standard));
571
- color: var(--theme-button-color-label-disabled, var(--color-label-disabled));
719
+ background-color: var(--button-default-neutral-disabled-bg, var(--color-surface-standard));
720
+ border-color: var(--button-default-neutral-disabled-bg, var(--color-surface-standard));
721
+ color: var(--button-default-neutral-disabled-foreground, var(--color-label-disabled));
572
722
  }
573
723
  .button:where(.button-fill-outlined.button-priority-primary):hover:not(:disabled):not([aria-disabled=true]), .button:where(.button-fill-outlined.button-priority-primary)[data-user-action=hover]:not(:disabled):not([aria-disabled=true]) {
574
- background-color: var(--theme-button-color-primary-default, var(--color-primary-default));
575
- border-color: var(--theme-button-color-primary-default, var(--color-primary-default));
724
+ background-color: var(--button-default-primary-outline-hover-bg, var(--color-primary-default));
725
+ border-color: var(--button-default-primary-outline-border, var(--color-primary-default));
576
726
  }
577
727
  .button:where(.button-fill-outlined.button-priority-primary):active:not(:disabled):not([aria-disabled=true]), .button:where(.button-fill-outlined.button-priority-primary)[data-user-action=pressed]:not(:disabled):not([aria-disabled=true]) {
578
- background-color: var(--theme-button-color-primary-default, var(--color-primary-default));
579
- border-color: var(--theme-button-color-primary-default, var(--color-primary-default));
728
+ background-color: var(--button-default-primary-solid-bg, var(--color-primary-default));
729
+ border-color: var(--button-default-primary-outline-border, var(--color-primary-default));
580
730
  }
581
731
  .button:where(.button-fill-solid.button-priority-secondary) {
582
- background-color: var(--theme-button-secondary-solid-bg, var(--color-blue-95, #e5eeff));
583
- border-color: var(--theme-button-secondary-solid-bg, var(--color-blue-95, #e5eeff));
584
- color: var(--theme-button-color-primary-default, var(--color-primary-default));
732
+ background-color: var(--button-default-secondary-solid-bg, var(--color-blue-95, #e5eeff));
733
+ border-color: var(--button-default-secondary-solid-bg, var(--color-blue-95, #e5eeff));
734
+ color: var(--button-default-secondary-solid-foreground, var(--color-primary-default));
585
735
  }
586
736
  .button:where(.button-fill-solid.button-priority-secondary):disabled, .button:where(.button-fill-solid.button-priority-secondary)[aria-disabled=true] {
587
- background-color: var(--theme-button-color-bg-surface-standard, var(--color-surface-standard));
588
- border-color: var(--theme-button-color-bg-surface-standard, var(--color-surface-standard));
589
- color: var(--theme-button-color-label-disabled, var(--color-label-disabled));
737
+ background-color: var(--button-default-neutral-disabled-bg, var(--color-surface-standard));
738
+ border-color: var(--button-default-neutral-disabled-bg, var(--color-surface-standard));
739
+ color: var(--button-default-neutral-disabled-foreground, var(--color-label-disabled));
590
740
  }
591
741
  .button:where(.button-fill-solid.button-priority-secondary):hover:not(:disabled):not([aria-disabled=true]), .button:where(.button-fill-solid.button-priority-secondary)[data-user-action=hover]:not(:disabled):not([aria-disabled=true]) {
592
- background-color: var(--theme-button-secondary-solid-hover-bg, #dbe9ff);
593
- border-color: var(--theme-button-secondary-solid-hover-bg, #dbe9ff);
742
+ background-color: var(--button-default-secondary-solid-hover-bg, #dbe9ff);
743
+ border-color: var(--button-default-secondary-solid-hover-bg, #dbe9ff);
594
744
  }
595
745
  .button:where(.button-fill-solid.button-priority-secondary):active:not(:disabled):not([aria-disabled=true]), .button:where(.button-fill-solid.button-priority-secondary)[data-user-action=pressed]:not(:disabled):not([aria-disabled=true]) {
596
- background-color: var(--theme-button-secondary-solid-pressed-bg, #ccdeff);
597
- border-color: var(--theme-button-secondary-solid-pressed-bg, #ccdeff);
746
+ background-color: var(--button-default-secondary-solid-active-bg, #ccdeff);
747
+ border-color: var(--button-default-secondary-solid-active-bg, #ccdeff);
598
748
  }
599
749
  .button:where(.button-fill-outlined.button-priority-secondary) {
600
750
  background-color: transparent;
601
- color: var(--theme-button-color-primary-default, var(--color-primary-default));
602
- border-color: var(--theme-button-color-cool-gray-90, var(--color-cool-gray-90));
751
+ color: var(--button-default-secondary-outline-foreground, var(--color-primary-default));
752
+ border-color: var(--button-default-secondary-outline-border, var(--color-cool-gray-90));
603
753
  }
604
754
  .button:where(.button-fill-outlined.button-priority-secondary):disabled, .button:where(.button-fill-outlined.button-priority-secondary)[aria-disabled=true] {
605
- background-color: var(--theme-button-color-bg-surface-standard, var(--color-surface-standard));
606
- border-color: var(--theme-button-color-bg-surface-standard, var(--color-surface-standard));
607
- color: var(--theme-button-color-label-disabled, var(--color-label-disabled));
755
+ background-color: var(--button-default-neutral-disabled-bg, var(--color-surface-standard));
756
+ border-color: var(--button-default-neutral-disabled-bg, var(--color-surface-standard));
757
+ color: var(--button-default-neutral-disabled-foreground, var(--color-label-disabled));
608
758
  }
609
759
  .button:where(.button-fill-outlined.button-priority-secondary):hover:not(:disabled):not([aria-disabled=true]), .button:where(.button-fill-outlined.button-priority-secondary)[data-user-action=hover]:not(:disabled):not([aria-disabled=true]) {
610
- background-color: var(--theme-button-color-blue-90, var(--color-blue-90));
611
- border-color: var(--theme-button-color-cool-gray-90, var(--color-cool-gray-90));
760
+ background-color: var(--button-default-secondary-outline-hover-bg, var(--color-blue-90));
761
+ border-color: var(--button-default-secondary-outline-border, var(--color-cool-gray-90));
612
762
  }
613
763
  .button:where(.button-fill-outlined.button-priority-secondary):active:not(:disabled):not([aria-disabled=true]), .button:where(.button-fill-outlined.button-priority-secondary)[data-user-action=pressed]:not(:disabled):not([aria-disabled=true]) {
614
- background-color: var(--theme-button-secondary-solid-bg, var(--color-blue-95, #e5eeff));
615
- border-color: var(--theme-button-color-cool-gray-90, var(--color-cool-gray-90));
764
+ background-color: var(--button-default-secondary-solid-bg, var(--color-blue-95, #e5eeff));
765
+ border-color: var(--button-default-secondary-outline-border, var(--color-cool-gray-90));
616
766
  }
617
767
  .button:where(.button-fill-solid.button-priority-tertiary) {
618
- background-color: var(--theme-button-tertiary-solid-bg, var(--color-surface-neutral));
619
- border-color: var(--theme-button-tertiary-solid-bg, var(--color-surface-neutral));
620
- color: var(--theme-button-tertiary-solid-foreground, var(--color-label-neutral));
768
+ background-color: var(--button-default-tertiary-solid-bg, var(--color-surface-neutral));
769
+ border-color: var(--button-default-tertiary-solid-bg, var(--color-surface-neutral));
770
+ color: var(--button-default-tertiary-solid-foreground, var(--color-label-neutral));
621
771
  }
622
772
  .button:where(.button-fill-solid.button-priority-tertiary):disabled, .button:where(.button-fill-solid.button-priority-tertiary)[aria-disabled=true] {
623
- background-color: var(--theme-button-color-bg-surface-standard, var(--color-surface-standard));
624
- border-color: var(--theme-button-color-bg-surface-standard, var(--color-surface-standard));
625
- color: var(--theme-button-color-label-disabled, var(--color-label-disabled));
773
+ background-color: var(--button-default-neutral-disabled-bg, var(--color-surface-standard));
774
+ border-color: var(--button-default-neutral-disabled-bg, var(--color-surface-standard));
775
+ color: var(--button-default-neutral-disabled-foreground, var(--color-label-disabled));
626
776
  }
627
777
  .button:where(.button-fill-solid.button-priority-tertiary):hover:not(:disabled):not([aria-disabled=true]), .button:where(.button-fill-solid.button-priority-tertiary)[data-user-action=hover]:not(:disabled):not([aria-disabled=true]) {
628
- background-color: var(--theme-button-tertiary-solid-hover-bg, var(--color-surface-static-cool-gray));
629
- border-color: var(--theme-button-tertiary-solid-hover-bg, var(--color-surface-static-cool-gray));
778
+ background-color: var(--button-default-tertiary-solid-hover-bg, var(--color-surface-static-cool-gray));
779
+ border-color: var(--button-default-tertiary-solid-hover-bg, var(--color-surface-static-cool-gray));
630
780
  }
631
781
  .button:where(.button-fill-solid.button-priority-tertiary):active:not(:disabled):not([aria-disabled=true]), .button:where(.button-fill-solid.button-priority-tertiary)[data-user-action=pressed]:not(:disabled):not([aria-disabled=true]) {
632
- background-color: var(--theme-button-tertiary-solid-pressed-bg, var(--color-surface-strong));
633
- border-color: var(--theme-button-tertiary-solid-pressed-bg, var(--color-surface-strong));
782
+ background-color: var(--button-default-tertiary-solid-active-bg, var(--color-surface-strong));
783
+ border-color: var(--button-default-tertiary-solid-active-bg, var(--color-surface-strong));
634
784
  }
635
785
  .button:where(.button-fill-outlined.button-priority-tertiary) {
636
786
  background-color: transparent;
637
- color: var(--theme-button-color-cool-gray-10, var(--color-cool-gray-10));
638
- border-color: var(--theme-button-color-cool-gray-90, var(--color-cool-gray-90));
787
+ color: var(--button-default-tertiary-outline-foreground, var(--color-cool-gray-10));
788
+ border-color: var(--button-default-tertiary-outline-border, var(--color-cool-gray-90));
639
789
  }
640
790
  .button:where(.button-fill-outlined.button-priority-tertiary):disabled, .button:where(.button-fill-outlined.button-priority-tertiary)[aria-disabled=true] {
641
- background-color: var(--theme-button-color-bg-surface-standard, var(--color-surface-standard));
642
- border-color: var(--theme-button-color-bg-surface-standard, var(--color-surface-standard));
643
- color: var(--theme-button-color-label-disabled, var(--color-label-disabled));
791
+ background-color: var(--button-default-neutral-disabled-bg, var(--color-surface-standard));
792
+ border-color: var(--button-default-neutral-disabled-bg, var(--color-surface-standard));
793
+ color: var(--button-default-neutral-disabled-foreground, var(--color-label-disabled));
644
794
  }
645
795
  .button:where(.button-fill-outlined.button-priority-tertiary):hover:not(:disabled):not([aria-disabled=true]), .button:where(.button-fill-outlined.button-priority-tertiary)[data-user-action=hover]:not(:disabled):not([aria-disabled=true]) {
646
- background-color: var(--theme-button-color-cool-gray-95, var(--color-cool-gray-95));
647
- border-color: var(--theme-button-color-cool-gray-90, var(--color-cool-gray-90));
796
+ background-color: var(--button-default-tertiary-outline-hover-bg, var(--color-cool-gray-95));
797
+ border-color: var(--button-default-tertiary-outline-border, var(--color-cool-gray-90));
648
798
  }
649
799
  .button:where(.button-fill-outlined.button-priority-tertiary):active:not(:disabled):not([aria-disabled=true]), .button:where(.button-fill-outlined.button-priority-tertiary)[data-user-action=pressed]:not(:disabled):not([aria-disabled=true]) {
650
- background-color: var(--theme-button-tertiary-solid-bg, var(--color-surface-neutral));
651
- border-color: var(--theme-button-color-cool-gray-90, var(--color-cool-gray-90));
800
+ background-color: var(--button-default-tertiary-solid-bg, var(--color-surface-neutral));
801
+ border-color: var(--button-default-tertiary-outline-border, var(--color-cool-gray-90));
652
802
  }
653
803
  .button:where(.button-size-small) {
654
- padding-inline: var(--theme-button-padding-6, var(--spacing-padding-6, 24px));
655
- gap: var(--theme-button-gap-2, var(--spacing-gap-2, 8px));
656
- padding-block: var(--theme-button-padding-2, var(--spacing-padding-2, 4px));
657
- min-height: var(--theme-button-size-small-3, var(--theme-size-small-3, 32px));
658
- border-radius: var(--theme-button-radius-medium-3, var(--theme-radius-medium-3, 8px));
804
+ padding-inline: var(--button-default-padding-inline-small, var(--spacing-padding-6, 24px));
805
+ gap: var(--button-default-gap-medium, var(--spacing-gap-2, 8px));
806
+ padding-block: 0;
807
+ min-height: var(--button-default-height-small, var(--theme-size-small-3, 32px));
808
+ border-radius: var(--button-default-radius-small, var(--theme-radius-medium-3, 8px));
659
809
  }
660
810
  .button:where(.button-size-small) span {
661
- font-size: var(--theme-button-font-label-medium-size, var(--font-label-medium-size, 14px));
662
- font-weight: var(--theme-button-font-weight, 400);
663
- line-height: var(--theme-button-font-label-medium-line-height, var(--font-label-medium-line-height, 1.5em));
664
- letter-spacing: var(--theme-button-font-label-medium-letter-spacing, var(--font-label-medium-letter-spacing, 0px));
811
+ font-size: var(--button-default-font-label-medium-size, var(--font-label-medium-size, 14px));
812
+ font-weight: var(--button-default-font-weight, 400);
813
+ line-height: var(--button-default-font-label-medium-line-height, var(--font-label-medium-line-height, 1.5em));
814
+ letter-spacing: var(--button-default-font-label-medium-letter-spacing, var(--font-label-medium-letter-spacing, 0px));
665
815
  }
666
816
  .button:where(.button-size-medium) {
667
- padding-inline: var(--theme-button-padding-7, var(--spacing-padding-7, 20px));
668
- gap: var(--theme-button-gap-2, var(--spacing-gap-2, 8px));
669
- padding-block: var(--theme-button-padding-5, var(--spacing-padding-5, 12px));
670
- min-height: var(--theme-button-size-medium-1, var(--theme-size-medium-1, 40px));
671
- border-radius: var(--theme-button-radius-medium-3, var(--theme-radius-medium-3, 8px));
817
+ padding-inline: var(--button-default-padding-inline-medium, var(--spacing-padding-7, 20px));
818
+ gap: var(--button-default-gap-medium, var(--spacing-gap-2, 8px));
819
+ padding-block: 0;
820
+ min-height: var(--button-default-height-medium, var(--theme-size-medium-1, 40px));
821
+ border-radius: var(--button-default-radius-small, var(--theme-radius-medium-3, 8px));
672
822
  }
673
823
  .button:where(.button-size-medium) span {
674
- font-size: var(--theme-button-font-label-large-size, var(--font-label-large-size, 16px));
675
- font-weight: var(--theme-button-font-weight, 400);
676
- line-height: var(--theme-button-font-label-large-line-height, var(--font-label-large-line-height, 1.5em));
677
- letter-spacing: var(--theme-button-font-label-large-letter-spacing, var(--font-label-large-letter-spacing, 0px));
824
+ font-size: var(--button-default-font-label-large-size, var(--font-label-large-size, 16px));
825
+ font-weight: var(--button-default-font-weight, 400);
826
+ line-height: var(--button-default-font-label-large-line-height, var(--font-label-large-line-height, 1.5em));
827
+ letter-spacing: var(--button-default-font-label-large-letter-spacing, var(--font-label-large-letter-spacing, 0px));
678
828
  }
679
829
  .button:where(.button-size-large) {
680
- padding-inline: var(--theme-button-padding-9, var(--spacing-padding-9, 28px));
681
- gap: var(--theme-button-gap-3, var(--spacing-gap-3, 12px));
682
- padding-block: var(--theme-button-padding-5, var(--spacing-padding-5, 12px));
683
- min-height: var(--theme-button-size-medium-2, var(--theme-size-medium-2, 48px));
684
- border-radius: var(--theme-button-radius-large-1, var(--theme-radius-large-1, 12px));
830
+ padding-inline: var(--button-default-padding-inline-large, var(--spacing-padding-9, 28px));
831
+ gap: var(--button-default-gap-large, var(--spacing-gap-3, 12px));
832
+ padding-block: 0;
833
+ min-height: var(--button-default-height-large, var(--theme-size-medium-2, 48px));
834
+ border-radius: var(--button-default-radius-large, var(--theme-radius-large-1, 12px));
685
835
  }
686
836
  .button:where(.button-size-large) span {
687
- font-size: var(--theme-button-font-body-medium-size, var(--font-body-medium-size, 17px));
688
- font-weight: var(--theme-button-font-weight, 400);
689
- line-height: var(--theme-button-font-body-medium-line-height, var(--font-body-medium-line-height, 1.5em));
690
- letter-spacing: var(--theme-button-font-body-medium-letter-spacing, var(--font-body-medium-letter-spacing, 0px));
837
+ font-size: var(--button-default-font-body-medium-size, var(--font-body-medium-size, 17px));
838
+ font-weight: var(--button-default-font-weight, 400);
839
+ line-height: var(--button-default-font-body-medium-line-height, var(--font-body-medium-line-height, 1.5em));
840
+ letter-spacing: var(--button-default-font-body-medium-letter-spacing, var(--font-body-medium-letter-spacing, 0px));
691
841
  }
692
842
  .button:where(.button-size-xlarge) {
693
- padding-inline: var(--theme-button-padding-9, var(--spacing-padding-9, 28px));
694
- gap: var(--theme-button-gap-3, var(--spacing-gap-3, 12px));
695
- padding-block: var(--theme-button-padding-5, var(--spacing-padding-5, 12px));
696
- min-height: var(--theme-button-size-medium-3, var(--theme-size-medium-3, 56px));
697
- border-radius: var(--theme-button-radius-large-2, var(--theme-radius-large-2, 16px));
843
+ padding-inline: var(--button-default-padding-inline-large, var(--spacing-padding-9, 28px));
844
+ gap: var(--button-default-gap-large, var(--spacing-gap-3, 12px));
845
+ padding-block: 0;
846
+ min-height: var(--button-default-height-xlarge, var(--theme-size-medium-3, 56px));
847
+ border-radius: var(--button-default-radius-xlarge, var(--theme-radius-large-2, 16px));
698
848
  }
699
849
  .button:where(.button-size-xlarge) span {
700
- font-size: var(--theme-button-font-body-large-size, var(--font-body-large-size, 19px));
701
- font-weight: var(--theme-button-font-weight, 400);
702
- line-height: var(--theme-button-font-body-large-line-height, var(--font-body-large-line-height, 1.5em));
703
- letter-spacing: var(--theme-button-font-body-large-letter-spacing, var(--font-body-large-letter-spacing, 0px));
850
+ font-size: var(--button-default-font-body-large-size, var(--font-body-large-size, 19px));
851
+ font-weight: var(--button-default-font-weight, 400);
852
+ line-height: var(--button-default-font-body-large-line-height, var(--font-body-large-line-height, 1.5em));
853
+ letter-spacing: var(--button-default-font-body-large-letter-spacing, var(--font-body-large-letter-spacing, 0px));
704
854
  }
705
855
  .button:where(.button-fill-outlined) {
706
856
  box-shadow: none;
707
857
  }
708
858
  .button :where(.button-fill-solid.button-priority-secondary):hover:not(:disabled):not([aria-disabled=true]), .button :where(.button-fill-solid.button-priority-secondary)[data-user-action=hover]:not(:disabled):not([aria-disabled=true]) {
709
- background-color: var(--theme-button-secondary-solid-hover-bg, #dbe9ff);
710
- border-color: var(--theme-button-secondary-solid-hover-bg, #dbe9ff);
859
+ background-color: var(--button-default-secondary-solid-hover-bg, #dbe9ff);
860
+ border-color: var(--button-default-secondary-solid-hover-bg, #dbe9ff);
711
861
  box-shadow: none;
712
862
  }
713
863
  .button :where(.button-fill-solid.button-priority-secondary):active:not(:disabled):not([aria-disabled=true]), .button :where(.button-fill-solid.button-priority-secondary)[data-user-action=pressed]:not(:disabled):not([aria-disabled=true]) {
714
- background-color: var(--theme-button-secondary-solid-pressed-bg, #ccdeff);
715
- border-color: var(--theme-button-secondary-solid-pressed-bg, #ccdeff);
864
+ background-color: var(--button-default-secondary-solid-active-bg, #ccdeff);
865
+ border-color: var(--button-default-secondary-solid-active-bg, #ccdeff);
716
866
  box-shadow: none;
717
867
  }
718
868
  .button:where(.button-fill-solid.button-priority-tertiary):hover:not(:disabled):not([aria-disabled=true]), .button:where(.button-fill-solid.button-priority-tertiary)[data-user-action=hover]:not(:disabled):not([aria-disabled=true]) {
719
- background-color: var(--color-border-strong, var(--color-surface-strong));
720
- border-color: var(--theme-button-tertiary-solid-bg, var(--color-surface-neutral));
869
+ background-color: var(--button-default-tertiary-overlay-solid-bg, var(--color-surface-strong));
870
+ border-color: var(--button-default-tertiary-solid-bg, var(--color-surface-neutral));
721
871
  box-shadow: inset 0 0 0 999px rgba(255, 255, 255, 0.68);
722
872
  }
723
873
  .button:where(.button-fill-solid.button-priority-tertiary):active:not(:disabled):not([aria-disabled=true]), .button:where(.button-fill-solid.button-priority-tertiary)[data-user-action=pressed]:not(:disabled):not([aria-disabled=true]) {
724
- background-color: var(--color-border-strong, var(--color-surface-strong));
725
- border-color: var(--theme-button-tertiary-solid-bg, var(--color-surface-neutral));
874
+ background-color: var(--button-default-tertiary-overlay-solid-bg, var(--color-surface-strong));
875
+ border-color: var(--button-default-tertiary-solid-bg, var(--color-surface-neutral));
726
876
  box-shadow: inset 0 0 0 999px rgba(255, 255, 255, 0.48);
727
877
  }
728
878
  .button:where(.button-fill-outlined.button-priority-primary):hover:not(:disabled):not([aria-disabled=true]), .button:where(.button-fill-outlined.button-priority-primary)[data-user-action=hover]:not(:disabled):not([aria-disabled=true]) {
729
- background-color: var(--theme-button-overlay-outlined-primary-bg, var(--color-blue-90));
730
- border-color: var(--theme-button-color-primary-default, var(--color-primary-default));
879
+ background-color: var(--button-default-primary-overlay-outlined-bg, var(--color-blue-90));
880
+ border-color: var(--button-default-primary-outline-border, var(--color-primary-default));
731
881
  box-shadow: inset 0 0 0 999px rgba(255, 255, 255, 0.68);
732
882
  }
733
883
  .button:where(.button-fill-outlined.button-priority-primary):active:not(:disabled):not([aria-disabled=true]), .button:where(.button-fill-outlined.button-priority-primary)[data-user-action=pressed]:not(:disabled):not([aria-disabled=true]) {
734
- background-color: var(--theme-button-overlay-outlined-primary-bg, var(--color-blue-90));
735
- border-color: var(--theme-button-color-primary-default, var(--color-primary-default));
884
+ background-color: var(--button-default-primary-overlay-outlined-bg, var(--color-blue-90));
885
+ border-color: var(--button-default-primary-outline-border, var(--color-primary-default));
736
886
  box-shadow: inset 0 0 0 999px rgba(255, 255, 255, 0.28);
737
887
  }
738
888
  .button:where(.button-fill-outlined.button-priority-secondary):hover:not(:disabled):not([aria-disabled=true]), .button:where(.button-fill-outlined.button-priority-secondary)[data-user-action=hover]:not(:disabled):not([aria-disabled=true]) {
739
- background-color: var(--theme-button-overlay-outlined-secondary-bg, var(--color-cool-gray-95));
740
- border-color: var(--theme-button-color-cool-gray-90, var(--color-cool-gray-90));
889
+ background-color: var(--button-default-secondary-overlay-outlined-bg, var(--color-cool-gray-95));
890
+ border-color: var(--button-default-secondary-outline-border, var(--color-cool-gray-90));
741
891
  box-shadow: inset 0 0 0 999px rgba(255, 255, 255, 0.68);
742
892
  }
743
893
  .button:where(.button-fill-outlined.button-priority-secondary):active:not(:disabled):not([aria-disabled=true]), .button:where(.button-fill-outlined.button-priority-secondary)[data-user-action=pressed]:not(:disabled):not([aria-disabled=true]) {
744
- background-color: var(--theme-button-overlay-outlined-secondary-bg, var(--color-cool-gray-95));
745
- border-color: var(--theme-button-color-cool-gray-90, var(--color-cool-gray-90));
894
+ background-color: var(--button-default-secondary-overlay-outlined-bg, var(--color-cool-gray-95));
895
+ border-color: var(--button-default-secondary-outline-border, var(--color-cool-gray-90));
746
896
  box-shadow: inset 0 0 0 999px rgba(255, 255, 255, 0.28);
747
897
  }
748
898
  .button:where(.button-fill-outlined.button-priority-tertiary):hover:not(:disabled):not([aria-disabled=true]), .button:where(.button-fill-outlined.button-priority-tertiary)[data-user-action=hover]:not(:disabled):not([aria-disabled=true]) {
749
- background-color: var(--theme-button-overlay-outlined-tertiary-bg, var(--color-cool-gray-95));
750
- border-color: var(--theme-button-color-cool-gray-90, var(--color-cool-gray-90));
899
+ background-color: var(--button-default-tertiary-overlay-outlined-bg, var(--color-cool-gray-95));
900
+ border-color: var(--button-default-tertiary-outline-border, var(--color-cool-gray-90));
751
901
  box-shadow: inset 0 0 0 999px rgba(255, 255, 255, 0.68);
752
902
  }
753
903
  .button:where(.button-fill-outlined.button-priority-tertiary):active:not(:disabled):not([aria-disabled=true]), .button:where(.button-fill-outlined.button-priority-tertiary)[data-user-action=pressed]:not(:disabled):not([aria-disabled=true]) {
754
- background-color: var(--theme-button-overlay-outlined-tertiary-bg, var(--color-cool-gray-95));
755
- border-color: var(--theme-button-color-cool-gray-90, var(--color-cool-gray-90));
904
+ background-color: var(--button-default-tertiary-overlay-outlined-bg, var(--color-cool-gray-95));
905
+ border-color: var(--button-default-tertiary-outline-border, var(--color-cool-gray-90));
756
906
  box-shadow: inset 0 0 0 999px rgba(255, 255, 255, 0.28);
757
907
  }
758
908
  .button:where(:disabled), .button:where([aria-disabled=true]) {
759
- background-color: var(--theme-button-color-bg-surface-standard, var(--color-surface-standard));
760
- border-color: var(--theme-button-color-bg-surface-standard, var(--color-surface-standard));
761
- color: var(--theme-button-color-label-disabled, var(--color-label-disabled));
909
+ background-color: var(--button-default-neutral-disabled-bg, var(--color-surface-standard));
910
+ border-color: var(--button-default-neutral-disabled-bg, var(--color-surface-standard));
911
+ color: var(--button-default-neutral-disabled-foreground, var(--color-label-disabled));
762
912
  cursor: not-allowed;
763
913
  }
764
914
  .button:where(.button-icon-left) .button-label {
765
- margin-left: var(--theme-button-gap-1, var(--spacing-gap-1, 4px));
915
+ margin-left: var(--button-default-gap-small, var(--spacing-gap-1, 4px));
766
916
  }
767
917
  .button:where(.button-icon-right) .button-label {
768
- margin-right: var(--theme-button-gap-1, var(--spacing-gap-1, 4px));
918
+ margin-right: var(--button-default-gap-small, var(--spacing-gap-1, 4px));
769
919
  }
770
920
 
771
921
  .button:where(.button-template-text) {
772
922
  min-width: auto;
773
923
  border-color: transparent;
774
924
  background-color: transparent;
775
- padding-block: var(--theme-button-text-padding-block, var(--spacing-padding-4, 8px));
776
- padding-inline: var(--theme-button-text-padding-inline-small, var(--spacing-padding-4, 8px));
925
+ padding-block: var(--button-text-padding-block-base, var(--spacing-padding-4, 8px));
926
+ padding-inline: var(--button-text-padding-inline-small, var(--spacing-padding-4, 8px));
777
927
  border-width: 0;
778
928
  gap: var(--spacing-gap-1, 4px);
779
- border-radius: var(--theme-button-text-radius, var(--theme-radius-small, 4px));
929
+ border-radius: var(--button-text-radius-base, var(--theme-radius-small, 4px));
780
930
  }
781
931
  .button:where(.button-template-text-size-small) {
782
- min-height: var(--theme-button-text-min-height-small, var(--theme-size-small-1, 20px));
783
- padding-inline: var(--theme-button-text-padding-inline-small, var(--spacing-padding-4, 8px));
932
+ min-height: var(--button-text-height-small, var(--theme-size-small-1, 20px));
933
+ padding-inline: var(--button-text-padding-inline-small, var(--spacing-padding-4, 8px));
784
934
  }
785
935
  .button:where(.button-template-text-size-medium) {
786
- min-height: var(--theme-button-text-min-height-medium, var(--theme-size-small-2, 24px));
787
- padding-inline: var(--theme-button-text-padding-inline-medium, var(--spacing-padding-5, 12px));
936
+ min-height: var(--button-text-height-medium, var(--theme-size-small-2, 24px));
937
+ padding-inline: var(--button-text-padding-inline-medium, var(--spacing-padding-5, 12px));
788
938
  }
789
939
  .button:where(.button-template-text-size-large) {
790
- min-height: var(--theme-button-text-min-height-large, var(--theme-size-small-3, 32px));
791
- padding-inline: var(--theme-button-text-padding-inline-large, var(--spacing-padding-5, 12px));
940
+ min-height: var(--button-text-height-large, var(--theme-size-small-3, 32px));
941
+ padding-inline: var(--button-text-padding-inline-large, var(--spacing-padding-5, 12px));
792
942
  }
793
943
  .button:where(.button-template-text:disabled) {
794
944
  background-color: transparent;
795
945
  border-color: transparent;
796
946
  }
797
947
  .button:where(.button-template-text.button-priority-secondary) {
798
- color: var(--theme-button-color-primary-default, var(--color-primary-default));
948
+ color: var(--button-text-secondary-foreground, var(--color-primary-default));
799
949
  }
800
950
  .button:where(.button-template-text.button-priority-secondary):hover:not(:disabled), .button:where(.button-template-text.button-priority-secondary)[data-user-action=hover]:not(:disabled) {
801
- background-color: var(--color-bg-alternative-cool-gray, var(--color-cool-gray-95));
951
+ background-color: var(--button-text-secondary-hover-bg, var(--color-bg-alternative-cool-gray, var(--color-cool-gray-95)));
802
952
  }
803
953
  .button:where(.button-template-text.button-priority-secondary):active:not(:disabled), .button:where(.button-template-text.button-priority-secondary)[data-user-action=pressed]:not(:disabled) {
804
- background-color: var(--color-secondary-strong, var(--color-blue-90));
954
+ background-color: var(--button-text-secondary-pressed-bg, var(--color-secondary-strong, var(--color-blue-90)));
805
955
  }
806
956
  .button:where(.button-template-text.button-priority-tertiary) {
807
- color: var(--theme-button-color-cool-gray-10, var(--color-cool-gray-10));
957
+ color: var(--button-text-tertiary-foreground, var(--color-cool-gray-10));
808
958
  }
809
959
  .button:where(.button-template-text.button-priority-tertiary):hover:not(:disabled), .button:where(.button-template-text.button-priority-tertiary)[data-user-action=hover]:not(:disabled) {
810
- background-color: var(--color-bg-alternative-cool-gray, var(--color-cool-gray-95));
960
+ background-color: var(--button-text-tertiary-hover-bg, var(--color-bg-alternative-cool-gray, var(--color-cool-gray-95)));
811
961
  }
812
962
  .button:where(.button-template-text.button-priority-tertiary):active:not(:disabled), .button:where(.button-template-text.button-priority-tertiary)[data-user-action=pressed]:not(:disabled) {
813
- background-color: var(--color-surface-strong, var(--color-cool-gray-20));
963
+ background-color: var(--button-text-tertiary-pressed-bg, var(--color-surface-strong, var(--color-cool-gray-20)));
814
964
  }
815
965
 
816
966
  .button:where(.button-template-round) {
817
967
  min-width: auto;
818
- padding-block: var(--theme-button-round-padding-block, var(--spacing-padding-2, 4px));
819
- padding-inline: var(--theme-button-round-padding-inline-medium, var(--spacing-padding-6, 16px));
968
+ padding-block: var(--button-round-padding-block-base, var(--spacing-padding-2, 4px));
969
+ padding-inline: var(--button-round-padding-inline-medium, var(--spacing-padding-6, 16px));
820
970
  gap: var(--spacing-gap-2, 8px);
821
971
  }
822
972
  .button:where(.button-template-round-size-small) {
823
- min-height: var(--theme-button-round-min-height-small, var(--theme-size-small-2, 24px));
824
- padding-inline: var(--theme-button-round-padding-inline-small, var(--spacing-padding-5, 12px));
825
- border-radius: var(--theme-button-round-radius-small, var(--theme-radius-xlarge-2, 16px));
973
+ min-height: var(--button-round-height-small, var(--theme-size-small-2, 24px));
974
+ padding-inline: var(--button-round-padding-inline-small, var(--spacing-padding-5, 12px));
975
+ border-radius: var(--button-round-radius-small, var(--theme-radius-xlarge-2, 16px));
826
976
  }
827
977
  .button:where(.button-template-round-size-medium) {
828
- min-height: var(--theme-button-round-min-height-medium, var(--theme-size-small-3, 32px));
829
- padding-inline: var(--theme-button-round-padding-inline-medium, var(--spacing-padding-6, 16px));
830
- border-radius: var(--theme-button-round-radius-medium, var(--theme-radius-xlarge-2, 16px));
978
+ min-height: var(--button-round-height-medium, var(--theme-size-small-3, 32px));
979
+ padding-inline: var(--button-round-padding-inline-medium, var(--spacing-padding-6, 16px));
980
+ border-radius: var(--button-round-radius-medium, var(--theme-radius-xlarge-2, 16px));
831
981
  }
832
982
  .button:where(.button-template-round-size-large) {
833
- min-height: var(--theme-button-round-min-height-large, var(--theme-size-medium-1, 40px));
834
- padding-inline: var(--theme-button-round-padding-inline-large, var(--spacing-padding-7, 20px));
835
- border-radius: var(--theme-button-round-radius-large, 30px);
983
+ min-height: var(--button-round-height-large, var(--theme-size-medium-1, 40px));
984
+ padding-inline: var(--button-round-padding-inline-large, var(--spacing-padding-7, 20px));
985
+ border-radius: var(--button-round-radius-large, 30px);
836
986
  }
837
987
 
838
988
 
@@ -1303,6 +1453,152 @@ figure.chip {
1303
1453
 
1304
1454
 
1305
1455
 
1456
+ .dropdown-panel {
1457
+ display: flex;
1458
+ flex-direction: column;
1459
+ gap: var(--dropdown-panel-gap);
1460
+ padding: var(--dropdown-panel-padding);
1461
+ border-radius: var(--dropdown-panel-radius);
1462
+ border: 1px solid var(--dropdown-panel-border-color);
1463
+ background-color: var(--dropdown-panel-background);
1464
+ box-shadow: var(--dropdown-panel-shadow);
1465
+ max-height: var(--dropdown-panel-max-height);
1466
+ overflow-y: auto;
1467
+ }
1468
+
1469
+ .dropdown-panel-small {
1470
+ --dropdown-option-height-current: var(--dropdown-option-height-small);
1471
+ --dropdown-text-size-current: var(--dropdown-text-small-size);
1472
+ --dropdown-text-line-height-current: var(--dropdown-text-small-line-height);
1473
+ --dropdown-text-letter-spacing-current: var(
1474
+ --dropdown-text-small-letter-spacing
1475
+ );
1476
+ }
1477
+
1478
+ .dropdown-panel-medium {
1479
+ --dropdown-option-height-current: var(--dropdown-option-height-medium);
1480
+ --dropdown-text-size-current: var(--dropdown-text-medium-size);
1481
+ --dropdown-text-line-height-current: var(--dropdown-text-medium-line-height);
1482
+ --dropdown-text-letter-spacing-current: var(
1483
+ --dropdown-text-medium-letter-spacing
1484
+ );
1485
+ }
1486
+
1487
+ .dropdown-panel-large {
1488
+ --dropdown-option-height-current: var(--dropdown-option-height-large);
1489
+ --dropdown-text-size-current: var(--dropdown-text-large-size);
1490
+ --dropdown-text-line-height-current: var(--dropdown-text-large-line-height);
1491
+ --dropdown-text-letter-spacing-current: var(
1492
+ --dropdown-text-large-letter-spacing
1493
+ );
1494
+ }
1495
+
1496
+ .dropdown-menu-list {
1497
+ display: flex;
1498
+ flex-direction: column;
1499
+ gap: var(--dropdown-panel-gap);
1500
+ list-style: none;
1501
+ padding: 0;
1502
+ margin: 0;
1503
+ }
1504
+
1505
+ .dropdown-menu-item {
1506
+ width: 100%;
1507
+ }
1508
+
1509
+ .dropdown-menu-item-trigger {
1510
+ display: flex;
1511
+ align-items: center;
1512
+ gap: var(--dropdown-option-gap-inline);
1513
+ width: 100%;
1514
+ min-height: var(--dropdown-option-height-current, var(--dropdown-option-height-medium));
1515
+ padding: var(--dropdown-option-padding-block) var(--dropdown-option-padding-inline);
1516
+ border-radius: var(--dropdown-option-radius);
1517
+ background-color: transparent;
1518
+ color: var(--dropdown-option-color);
1519
+ cursor: pointer;
1520
+ font-size: var(--dropdown-option-font-size, var(--dropdown-text-medium-size));
1521
+ font-weight: var(--dropdown-option-font-weight, var(--dropdown-text-weight));
1522
+ line-height: var(--dropdown-option-line-height, var(--dropdown-text-medium-line-height));
1523
+ }
1524
+ .dropdown-menu-item-trigger[data-state=selected] {
1525
+ background-color: var(--dropdown-option-bg-selected);
1526
+ color: var(--dropdown-option-color-selected);
1527
+ }
1528
+ .dropdown-menu-item-trigger[data-highlighted], .dropdown-menu-item-trigger:hover {
1529
+ background-color: var(--dropdown-option-bg-hover);
1530
+ color: var(--dropdown-option-color-hover);
1531
+ }
1532
+ .dropdown-menu-item-trigger[data-state=selected]:hover {
1533
+ background-color: var(--dropdown-option-bg-selected);
1534
+ color: var(--dropdown-option-color-selected);
1535
+ }
1536
+ .dropdown-menu-item-trigger[data-disabled], .dropdown-menu-item-trigger:disabled {
1537
+ color: var(--dropdown-option-color-disabled);
1538
+ cursor: not-allowed;
1539
+ background-color: var(--dropdown-option-bg-disabled);
1540
+ }
1541
+ .dropdown-menu-item-trigger[data-disabled] .dropdown-menu-item-label, .dropdown-menu-item-trigger:disabled .dropdown-menu-item-label {
1542
+ color: var(--dropdown-option-color-disabled);
1543
+ }
1544
+ .dropdown-menu-item-trigger[data-disabled] .dropdown-menu-item-description, .dropdown-menu-item-trigger:disabled .dropdown-menu-item-description {
1545
+ color: var(--dropdown-option-color-disabled);
1546
+ }
1547
+
1548
+ .dropdown-menu-item-left,
1549
+ .dropdown-menu-item-right {
1550
+ display: inline-flex;
1551
+ align-items: center;
1552
+ color: inherit;
1553
+ }
1554
+
1555
+ .dropdown-menu-item-body {
1556
+ display: flex;
1557
+ flex-direction: column;
1558
+ gap: 0.2rem;
1559
+ flex: 1 1 auto;
1560
+ min-width: 0;
1561
+ }
1562
+
1563
+ .dropdown-menu-item-label {
1564
+ display: inline-flex;
1565
+ align-items: center;
1566
+ min-width: 0;
1567
+ color: inherit;
1568
+ font-size: var(--dropdown-text-size-current, var(--dropdown-text-medium-size));
1569
+ line-height: var(--dropdown-text-line-height-current, var(--dropdown-text-medium-line-height));
1570
+ letter-spacing: var(--dropdown-text-letter-spacing-current, var(--dropdown-text-medium-letter-spacing));
1571
+ font-weight: var(--dropdown-text-weight);
1572
+ overflow: hidden;
1573
+ text-overflow: ellipsis;
1574
+ white-space: nowrap;
1575
+ }
1576
+
1577
+ .dropdown-menu-item-description {
1578
+ font-size: var(--dropdown-description-size);
1579
+ line-height: var(--dropdown-description-line-height);
1580
+ color: var(--dropdown-description-color);
1581
+ overflow: hidden;
1582
+ text-overflow: ellipsis;
1583
+ white-space: nowrap;
1584
+ }
1585
+
1586
+ .dropdown-menu-item-trigger[data-state=selected] .dropdown-menu-item-label {
1587
+ font-weight: var(--dropdown-text-weight-selected);
1588
+ }
1589
+
1590
+ .dropdown-menu-item-trigger[data-multiple=true] {
1591
+ align-items: center;
1592
+ }
1593
+
1594
+ .dropdown-menu-item-checkbox {
1595
+ width: var(--theme-checkbox-frame-size-medium);
1596
+ height: var(--theme-checkbox-frame-size-medium);
1597
+ padding: 0;
1598
+ }
1599
+
1600
+
1601
+
1306
1602
  .input {
1307
1603
  display: flex;
1308
1604
  flex-direction: column;
@@ -1314,7 +1610,7 @@ figure.chip {
1314
1610
  }
1315
1611
 
1316
1612
  .input-label {
1317
- color: var(--theme-input-label-color);
1613
+ color: var(--input-label-color);
1318
1614
  font-size: var(--font-label-small-size);
1319
1615
  line-height: var(--font-label-small-line-height);
1320
1616
  font-weight: var(--font-label-small-weight);
@@ -1341,60 +1637,60 @@ figure.chip {
1341
1637
  display: flex;
1342
1638
  align-items: center;
1343
1639
  width: 100%;
1344
- gap: var(--theme-input-gap);
1345
- border-radius: var(--theme-input-radius-default);
1346
- border: var(--theme-input-border-width-default) solid var(--theme-input-border-color);
1347
- background-color: var(--theme-input-surface);
1348
- padding: var(--theme-input-padding-y) var(--theme-input-padding-x);
1349
- min-height: var(--theme-input-height-medium);
1640
+ gap: var(--input-default-gap);
1641
+ border-radius: var(--input-default-radius-base);
1642
+ border: var(--input-border-width-default) solid var(--input-border-color);
1643
+ background-color: var(--input-surface-color);
1644
+ padding: var(--input-default-padding-block) var(--input-default-padding-inline);
1645
+ min-height: var(--input-default-height-medium);
1350
1646
  transition: border-color 0.15s ease, background-color 0.15s ease;
1351
1647
  box-sizing: border-box;
1352
1648
  outline: none;
1353
1649
  box-shadow: none;
1354
1650
  }
1355
1651
  .input-field[data-size=small] {
1356
- min-height: var(--theme-input-height-small);
1652
+ min-height: var(--input-default-height-small);
1357
1653
  }
1358
1654
  .input-field[data-size=large] {
1359
- min-height: var(--theme-input-height-large);
1655
+ min-height: var(--input-default-height-large);
1360
1656
  }
1361
1657
  .input-field[data-priority=secondary] {
1362
1658
  border: none;
1363
- border-bottom: var(--theme-input-border-width-default) solid var(--theme-input-border-color);
1659
+ border-bottom: var(--input-border-width-default) solid var(--input-border-color);
1364
1660
  border-radius: 0;
1365
1661
  padding-inline: 0;
1366
1662
  padding-block: var(--spacing-padding-4);
1367
1663
  background-color: transparent;
1368
1664
  }
1369
1665
  .input-field[data-priority=secondary][data-state=active], .input-field[data-priority=secondary][data-state=focused] {
1370
- border-bottom-color: var(--theme-input-border-active);
1371
- border-bottom-width: var(--theme-input-border-width-emphasis);
1666
+ border-bottom-color: var(--input-border-active-color);
1667
+ border-bottom-width: var(--input-border-width-emphasis);
1372
1668
  }
1373
1669
  .input-field[data-priority=secondary][data-state=success] {
1374
- border-bottom-color: var(--theme-input-border-success);
1375
- border-bottom-width: var(--theme-input-border-width-emphasis);
1670
+ border-bottom-color: var(--input-border-success-color);
1671
+ border-bottom-width: var(--input-border-width-emphasis);
1376
1672
  }
1377
1673
  .input-field[data-priority=secondary][data-state=error] {
1378
- border-bottom-color: var(--theme-input-border-error);
1379
- border-bottom-width: var(--theme-input-border-width-emphasis);
1674
+ border-bottom-color: var(--input-border-error-color);
1675
+ border-bottom-width: var(--input-border-width-emphasis);
1380
1676
  }
1381
1677
  .input-field[data-priority=secondary][data-state=disabled] {
1382
- border-bottom-color: var(--theme-input-border-underline-disabled);
1383
- border-bottom-width: var(--theme-input-border-width-default);
1678
+ border-bottom-color: var(--input-border-underline-disabled-color);
1679
+ border-bottom-width: var(--input-border-width-default);
1384
1680
  }
1385
1681
  .input-field[data-priority=tertiary] {
1386
- border-radius: var(--theme-input-radius-tertiary);
1387
- background-color: var(--theme-input-surface);
1388
- min-height: var(--theme-input-height-tertiary);
1682
+ border-radius: var(--input-tertiary-radius-base);
1683
+ background-color: var(--input-surface-color);
1684
+ min-height: var(--input-tertiary-height-base);
1389
1685
  row-gap: var(--spacing-gap-1);
1390
- column-gap: var(--theme-input-gap);
1686
+ column-gap: var(--input-default-gap);
1391
1687
  flex-wrap: wrap;
1392
1688
  align-items: center;
1393
1689
  }
1394
- .input-field[data-priority=tertiary] .input-field__control {
1690
+ .input-field[data-priority=tertiary] .input-field-control {
1395
1691
  display: grid;
1396
1692
  grid-template-columns: auto minmax(0, 1fr);
1397
- column-gap: var(--theme-input-gap);
1693
+ column-gap: var(--input-default-gap);
1398
1694
  row-gap: var(--spacing-gap-1);
1399
1695
  align-items: center;
1400
1696
  flex: 1 1 auto;
@@ -1410,26 +1706,26 @@ figure.chip {
1410
1706
  width: auto;
1411
1707
  flex: 1 1 auto;
1412
1708
  }
1413
- .input-field[data-priority=tertiary] .input-field__utilities {
1709
+ .input-field[data-priority=tertiary] .input-field-utilities {
1414
1710
  align-self: center;
1415
1711
  margin-left: 0;
1416
1712
  }
1417
1713
  .input-field:not([data-priority=secondary])[data-state=active], .input-field:not([data-priority=secondary])[data-state=focused] {
1418
- border-color: var(--theme-input-border-active);
1419
- border-width: var(--theme-input-border-width-emphasis);
1714
+ border-color: var(--input-border-active-color);
1715
+ border-width: var(--input-border-width-emphasis);
1420
1716
  }
1421
1717
  .input-field:not([data-priority=secondary])[data-state=success] {
1422
- border-color: var(--theme-input-border-success);
1423
- border-width: var(--theme-input-border-width-emphasis);
1718
+ border-color: var(--input-border-success-color);
1719
+ border-width: var(--input-border-width-emphasis);
1424
1720
  }
1425
1721
  .input-field:not([data-priority=secondary])[data-state=error] {
1426
- border-color: var(--theme-input-border-error);
1427
- border-width: var(--theme-input-border-width-emphasis);
1722
+ border-color: var(--input-border-error-color);
1723
+ border-width: var(--input-border-width-emphasis);
1428
1724
  }
1429
1725
  .input-field:not([data-priority=secondary])[data-state=disabled] {
1430
- border-color: var(--theme-input-border-disabled);
1431
- border-width: var(--theme-input-border-width-default);
1432
- background-color: var(--theme-input-surface-disabled);
1726
+ border-color: var(--input-border-disabled-color);
1727
+ border-width: var(--input-border-width-default);
1728
+ background-color: var(--input-surface-disabled-color); /* disabled 배경 토큰 */
1433
1729
  }
1434
1730
 
1435
1731
  .input-element {
@@ -1437,18 +1733,18 @@ figure.chip {
1437
1733
  width: 100%;
1438
1734
  border: none;
1439
1735
  background: transparent;
1440
- color: var(--theme-input-text-color);
1441
- caret-color: var(--theme-input-text-color);
1736
+ color: var(--input-text-color);
1737
+ caret-color: var(--input-text-color);
1442
1738
  font-size: var(--font-body-medium-size);
1443
1739
  line-height: var(--font-body-medium-line-height);
1444
- font-weight: var(--font-body-medium-weight);
1740
+ font-weight: 400;
1445
1741
  letter-spacing: 0px;
1446
1742
  outline: none;
1447
1743
  box-shadow: none;
1448
1744
  min-width: 0;
1449
1745
  }
1450
1746
  .input-element::placeholder {
1451
- color: var(--theme-input-placeholder-color);
1747
+ color: var(--input-placeholder-color);
1452
1748
  }
1453
1749
  .input-element:disabled {
1454
1750
  color: var(--color-label-disabled);
@@ -1461,22 +1757,22 @@ figure.chip {
1461
1757
  box-shadow: none;
1462
1758
  }
1463
1759
 
1464
- .input-field__control {
1760
+ .input-field-control {
1465
1761
  display: flex;
1466
1762
  align-items: center;
1467
- gap: var(--theme-input-gap);
1763
+ gap: var(--input-default-gap);
1468
1764
  flex: 1 1 auto;
1469
1765
  min-width: 0;
1470
1766
  }
1471
1767
 
1472
- .input-field__utilities {
1768
+ .input-field-utilities {
1473
1769
  display: flex;
1474
1770
  align-items: center;
1475
1771
  gap: var(--spacing-gap-2, 8px);
1476
1772
  flex-shrink: 0;
1477
1773
  margin-left: var(--spacing-gap-3, 12px);
1478
1774
  }
1479
- .input-field__utilities .input-affix {
1775
+ .input-field-utilities .input-affix {
1480
1776
  margin-left: 0;
1481
1777
  }
1482
1778
 
@@ -1485,7 +1781,7 @@ figure.chip {
1485
1781
  flex-basis: 100%;
1486
1782
  font-size: var(--font-label-small-size);
1487
1783
  line-height: var(--font-label-small-line-height);
1488
- color: var(--theme-input-label-color);
1784
+ color: var(--input-label-color);
1489
1785
  }
1490
1786
 
1491
1787
  .input-field[data-priority=secondary] .input-element {
@@ -1497,15 +1793,15 @@ figure.chip {
1497
1793
  }
1498
1794
 
1499
1795
  .input-helper-text {
1500
- color: var(--theme-input-helper-color);
1796
+ color: var(--input-helper-color);
1501
1797
  font-size: var(--font-label-small-size);
1502
1798
  line-height: var(--font-label-small-line-height);
1503
1799
  }
1504
1800
  [data-state=error] .input-helper-text {
1505
- color: var(--theme-input-border-error);
1801
+ color: var(--input-border-error-color);
1506
1802
  }
1507
1803
  [data-state=disabled] .input-helper-text {
1508
- color: var(--theme-input-helper-disabled-color);
1804
+ color: var(--input-helper-disabled-color);
1509
1805
  }
1510
1806
 
1511
1807
  .input-affix {
@@ -1513,43 +1809,43 @@ figure.chip {
1513
1809
  align-items: center;
1514
1810
  justify-content: center;
1515
1811
  min-width: 20px;
1516
- color: var(--theme-input-helper-color);
1812
+ color: var(--input-helper-color);
1517
1813
  }
1518
- .input-affix--left {
1814
+ .input-affix-left {
1519
1815
  order: -1;
1520
1816
  margin-right: var(--spacing-gap-3);
1521
1817
  }
1522
- .input-affix--right, .input-affix--clear, .input-affix--status {
1818
+ .input-affix-right, .input-affix-clear, .input-affix-status {
1523
1819
  margin-left: var(--spacing-gap-3);
1524
1820
  }
1525
- .input-affix--clear, .input-affix--status {
1526
- color: var(--theme-input-text-color);
1821
+ .input-affix-clear, .input-affix-status {
1822
+ color: var(--input-text-color);
1527
1823
  }
1528
- .input-affix--status[data-state=error] {
1824
+ .input-affix-status[data-state=error] {
1529
1825
  color: var(--color-error);
1530
1826
  }
1531
- .input-affix--status[data-state=success] {
1827
+ .input-affix-status[data-state=success] {
1532
1828
  color: var(--color-primary-default);
1533
1829
  }
1534
1830
 
1535
1831
  .input-field[data-priority=secondary] {
1536
- border-bottom-width: var(--theme-input-border-width-default);
1832
+ border-bottom-width: var(--input-border-width-default);
1537
1833
  }
1538
1834
  .input-field[data-priority=secondary][data-state=active], .input-field[data-priority=secondary][data-state=focused] {
1539
- border-bottom-color: var(--theme-input-border-active);
1540
- border-bottom-width: var(--theme-input-border-width-emphasis);
1835
+ border-bottom-color: var(--input-border-active-color);
1836
+ border-bottom-width: var(--input-border-width-emphasis);
1541
1837
  }
1542
1838
  .input-field[data-priority=secondary][data-state=success] {
1543
- border-bottom-color: var(--theme-input-border-success);
1544
- border-bottom-width: var(--theme-input-border-width-emphasis);
1839
+ border-bottom-color: var(--input-border-success-color);
1840
+ border-bottom-width: var(--input-border-width-emphasis);
1545
1841
  }
1546
1842
  .input-field[data-priority=secondary][data-state=error] {
1547
- border-bottom-color: var(--theme-input-border-error);
1548
- border-bottom-width: var(--theme-input-border-width-emphasis);
1843
+ border-bottom-color: var(--input-border-error-color);
1844
+ border-bottom-width: var(--input-border-width-emphasis);
1549
1845
  }
1550
1846
  .input-field[data-priority=secondary][data-state=disabled] {
1551
- border-bottom-color: var(--theme-input-border-underline-disabled);
1552
- border-bottom-width: var(--theme-input-border-width-default);
1847
+ border-bottom-color: var(--input-border-underline-disabled-color);
1848
+ border-bottom-width: var(--input-border-width-default);
1553
1849
  }
1554
1850
 
1555
1851
  .input[data-state=active] .input-label,
@@ -1558,35 +1854,42 @@ figure.chip {
1558
1854
  .input[data-state=focused] .input-inline-label,
1559
1855
  .input[data-state=success] .input-label,
1560
1856
  .input[data-state=success] .input-inline-label {
1561
- color: var(--theme-input-label-accent-color);
1857
+ color: var(--input-label-accent-color);
1562
1858
  }
1563
1859
 
1564
1860
  .input[data-state=error] .input-label,
1565
1861
  .input[data-state=error] .input-inline-label {
1566
- color: var(--theme-input-label-error-color);
1862
+ color: var(--input-label-error-color);
1567
1863
  }
1568
1864
  .input[data-state=error] .input-helper-text {
1569
- color: var(--theme-input-label-error-color);
1865
+ color: var(--input-label-error-color);
1570
1866
  }
1571
1867
 
1572
1868
  .input[data-state=disabled] .input-label,
1573
1869
  .input[data-state=disabled] .input-inline-label,
1574
1870
  .input[data-state=disabled] .input-helper-text,
1575
1871
  .input[data-state=disabled] .input-affix {
1576
- color: var(--theme-input-helper-disabled-color);
1872
+ color: var(--input-helper-disabled-color);
1577
1873
  }
1578
1874
  .input[data-state=disabled] .input-field {
1579
- border-color: var(--theme-input-border-color);
1580
- background-color: var(--theme-input-surface-disabled);
1875
+ border-color: var(--input-border-color);
1876
+ background-color: var(--input-surface-disabled-color);
1581
1877
  }
1582
1878
  .input[data-state=disabled] .input-field[data-priority=secondary] {
1583
1879
  background-color: transparent;
1584
1880
  }
1585
1881
 
1882
+ .input-side {
1883
+ display: flex;
1884
+ align-items: center;
1885
+ }
1886
+
1586
1887
  .input-password-toggle {
1888
+ width: 24px;
1889
+ height: 24px;
1587
1890
  border: none;
1588
1891
  background: transparent;
1589
- color: var(--theme-input-label-accent-color);
1892
+ color: var(--input-label-accent-color);
1590
1893
  font-size: var(--font-label-small-size);
1591
1894
  line-height: var(--font-label-small-line-height);
1592
1895
  font-weight: var(--font-label-small-weight);
@@ -1594,7 +1897,7 @@ figure.chip {
1594
1897
  cursor: pointer;
1595
1898
  }
1596
1899
  .input-password-toggle:disabled {
1597
- color: var(--theme-input-helper-disabled-color);
1900
+ color: var(--input-helper-disabled-color);
1598
1901
  cursor: not-allowed;
1599
1902
  }
1600
1903
 
@@ -1604,52 +1907,40 @@ figure.chip {
1604
1907
  }
1605
1908
 
1606
1909
  .one-time-code {
1910
+ width: 100%;
1607
1911
  display: flex;
1608
1912
  flex-direction: column;
1609
1913
  gap: var(--spacing-gap-2);
1610
1914
  }
1611
1915
 
1612
- .one-time-code__label {
1916
+ .one-time-code-label {
1613
1917
  font-size: var(--font-label-small-size);
1614
- color: var(--theme-input-label-color);
1918
+ color: var(--input-label-color);
1615
1919
  }
1616
1920
 
1617
- .one-time-code__fields {
1921
+ .one-time-code-fields {
1618
1922
  display: flex;
1619
1923
  gap: var(--spacing-gap-3);
1620
1924
  }
1621
1925
 
1622
- .one-time-code__input {
1623
- width: 44px;
1624
- height: 56px;
1625
- border-radius: var(--theme-input-radius-default);
1626
- border: var(--theme-input-border-width-default) solid var(--theme-input-border-color);
1627
- text-align: center;
1628
- font-size: var(--font-heading-medium-size);
1629
- font-weight: var(--font-heading-medium-weight);
1630
- color: var(--theme-input-text-color);
1631
- }
1632
- .one-time-code__input:focus {
1633
- outline: none;
1634
- border-color: var(--theme-input-border-active);
1635
- border-width: var(--theme-input-border-width-emphasis);
1926
+ .one-time-code-input {
1927
+ width: 100%;
1636
1928
  }
1637
1929
 
1638
- .one-time-code__helper {
1930
+ .one-time-code-helper {
1639
1931
  font-size: var(--font-label-small-size);
1640
- color: var(--theme-input-helper-color);
1932
+ color: var(--input-helper-color);
1641
1933
  }
1642
1934
 
1643
1935
  .email-verification,
1644
1936
  .phone-verification {
1937
+ width: 100%;
1645
1938
  display: flex;
1646
1939
  flex-direction: column;
1647
1940
  gap: var(--spacing-gap-4);
1648
1941
  }
1649
1942
 
1650
- .auth-code-input__actions,
1651
- .email-verification__code-actions,
1652
- .phone-verification__code-actions {
1943
+ .auth-code-input-actions {
1653
1944
  display: flex;
1654
1945
  align-items: center;
1655
1946
  justify-content: flex-end;
@@ -1657,9 +1948,7 @@ figure.chip {
1657
1948
  min-width: 0;
1658
1949
  }
1659
1950
 
1660
- .auth-code-input__countdown,
1661
- .email-verification__countdown,
1662
- .phone-verification__countdown {
1951
+ .auth-code-input-countdown {
1663
1952
  display: flex;
1664
1953
  align-items: center;
1665
1954
  font-weight: 500;
@@ -1683,6 +1972,444 @@ figure.chip {
1683
1972
  font-weight: var(--font-body-xxsmall-weight);
1684
1973
  }
1685
1974
 
1975
+ .input-calendar {
1976
+ display: flex;
1977
+ flex-direction: column;
1978
+ gap: var(--spacing-gap-6, 20px);
1979
+ width: 100%;
1980
+ }
1981
+ .input-calendar[data-disabled=true] {
1982
+ opacity: 0.6;
1983
+ }
1984
+
1985
+ .input-calendar-container {
1986
+ background-color: var(--color-common-100, #fff);
1987
+ border-radius: var(--theme-radius-large-3, 16px);
1988
+ box-shadow: 0 4px 20px rgba(0, 0, 0, 0.16), 0 0 2px rgba(0, 0, 0, 0.12);
1989
+ padding: var(--spacing-padding-10, 32px) var(--spacing-padding-6, 16px) var(--spacing-padding-6, 16px);
1990
+ display: flex;
1991
+ flex-direction: column;
1992
+ gap: var(--spacing-gap-5, 16px);
1993
+ }
1994
+
1995
+ .input-calendar-root {
1996
+ width: 100%;
1997
+ }
1998
+
1999
+ .input-calendar-panel {
2000
+ width: 100%;
2001
+ border-radius: var(--theme-radius-large-1, 12px);
2002
+ background-color: transparent;
2003
+ }
2004
+
2005
+ .input-calendar-header {
2006
+ display: flex;
2007
+ align-items: center;
2008
+ justify-content: space-between;
2009
+ padding-inline: var(--spacing-padding-6, 16px);
2010
+ margin-bottom: var(--spacing-gap-4, 12px);
2011
+ }
2012
+
2013
+ .input-calendar-header-control {
2014
+ width: 24px;
2015
+ height: 24px;
2016
+ display: inline-flex;
2017
+ align-items: center;
2018
+ justify-content: center;
2019
+ border-radius: 999px;
2020
+ background: transparent;
2021
+ color: var(--color-label-strong, #18191b);
2022
+ }
2023
+
2024
+ .input-calendar-header-level {
2025
+ font-size: var(--font-heading-small-size, 19px);
2026
+ font-weight: var(--font-heading-small-weight, 600);
2027
+ }
2028
+
2029
+ .input-calendar-weekdays {
2030
+ display: grid;
2031
+ grid-template-columns: repeat(7, minmax(0, 1fr));
2032
+ padding-bottom: var(--spacing-padding-2, 4px);
2033
+ }
2034
+
2035
+ .input-calendar-weekday {
2036
+ text-transform: none;
2037
+ font-size: var(--font-heading-xxsmall-size, 15px);
2038
+ color: var(--color-label-alternative, #afb1b6);
2039
+ text-align: center;
2040
+ }
2041
+
2042
+ .input-calendar-day {
2043
+ width: 44px;
2044
+ height: 44px;
2045
+ border-radius: var(--theme-radius-large-1, 12px);
2046
+ justify-self: center;
2047
+ font-size: var(--font-body-medium-size, 17px);
2048
+ color: var(--color-label-strong, #3d3f43);
2049
+ }
2050
+
2051
+ .input-calendar-footer {
2052
+ display: flex;
2053
+ flex-direction: column;
2054
+ gap: var(--spacing-gap-4, 12px);
2055
+ width: 100%;
2056
+ }
2057
+
2058
+ .input-calendar-footer-actions {
2059
+ display: flex;
2060
+ align-items: center;
2061
+ justify-content: space-between;
2062
+ gap: var(--spacing-gap-3, 8px);
2063
+ }
2064
+
2065
+ .input-calendar-action-button {
2066
+ width: 100%;
2067
+ }
2068
+
2069
+ .input-calendar-footer-actions > :first-child {
2070
+ flex: 1 1 auto;
2071
+ }
2072
+
2073
+ .input-calendar-footer-actions > :last-child {
2074
+ flex: 1 1 auto;
2075
+ justify-content: flex-end;
2076
+ }
2077
+
2078
+ .input-calendar-apply {
2079
+ width: 100%;
2080
+ }
2081
+
2082
+ /* Select tokens mapped to Input primary tokens for visual parity */
2083
+
2084
+
2085
+ .select {
2086
+ display: flex;
2087
+ width: 100%;
2088
+ flex-direction: column;
2089
+ gap: var(--spacing-gap-2);
2090
+ }
2091
+
2092
+ .select-block {
2093
+ width: 100%;
2094
+ }
2095
+
2096
+ .select-button {
2097
+ --select-icon-fill: var(--select-icon-color-default);
2098
+ display: flex;
2099
+ width: 100%;
2100
+ align-items: center;
2101
+ gap: var(--select-primary-gap-inline);
2102
+ min-height: var(--select-primary-height-medium);
2103
+ padding: var(--select-primary-padding-block) var(--select-primary-padding-inline);
2104
+ border: var(--select-primary-border-width-default) solid var(--select-primary-color-border);
2105
+ border-radius: var(--select-primary-radius-medium);
2106
+ background-color: var(--input-surface-color);
2107
+ cursor: pointer;
2108
+ transition: border-color 150ms ease, background-color 150ms ease, color 150ms ease;
2109
+ text-align: left;
2110
+ }
2111
+ .select-button[data-size=small] {
2112
+ min-height: var(--select-primary-height-small);
2113
+ border-radius: var(--select-primary-radius-small);
2114
+ }
2115
+ .select-button[data-size=large] {
2116
+ min-height: var(--select-primary-height-large);
2117
+ border-radius: var(--select-primary-radius-large);
2118
+ }
2119
+ .select-button[data-multiple=true] {
2120
+ align-items: center;
2121
+ flex-wrap: nowrap;
2122
+ overflow: hidden;
2123
+ }
2124
+ .select-button[data-priority=secondary] {
2125
+ width: fit-content;
2126
+ max-width: 100%;
2127
+ min-height: auto;
2128
+ border: none;
2129
+ border-radius: var(--select-secondary-radius);
2130
+ padding: var(--select-secondary-padding-block) var(--select-secondary-padding-inline);
2131
+ background-color: transparent;
2132
+ gap: var(--select-secondary-gap);
2133
+ position: relative;
2134
+ --select-icon-fill: currentColor;
2135
+ transition: background-color 150ms ease, color 150ms ease;
2136
+ }
2137
+ .select-button[data-priority=secondary]:hover:not([data-state=disabled]) {
2138
+ background-color: var(--select-color-surface-secondary-hover);
2139
+ }
2140
+ .select-button[data-priority=secondary]:active:not([data-state=disabled]) {
2141
+ background-color: var(--select-color-surface-secondary-active);
2142
+ }
2143
+ .select-button[data-priority=secondary][data-state=focused], .select-button[data-priority=secondary][data-open=true] {
2144
+ background-color: var(--select-color-surface-secondary-hover);
2145
+ }
2146
+ .select-button[data-priority=secondary][data-state=focused]::after, .select-button[data-priority=secondary][data-open=true]::after {
2147
+ height: var(--select-secondary-underline-width-focus);
2148
+ background-color: var(--select-color-border-secondary-focused);
2149
+ }
2150
+ .select-button[data-priority=secondary][data-state=disabled], .select-button[data-priority=secondary]:disabled {
2151
+ color: var(--color-label-disabled);
2152
+ cursor: not-allowed;
2153
+ }
2154
+ .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 {
2155
+ border-color: var(--select-primary-color-border-focused);
2156
+ border-width: var(--select-primary-border-width-focus);
2157
+ --select-icon-fill: var(--select-icon-color-focused);
2158
+ }
2159
+ .select-button:not([data-priority=secondary])[data-state=disabled], .select-button:not([data-priority=secondary]):disabled {
2160
+ border-color: var(--select-primary-color-border-disabled);
2161
+ background-color: var(--select-primary-color-surface-disabled);
2162
+ cursor: not-allowed;
2163
+ --select-icon-fill: var(--select-icon-color-disabled);
2164
+ }
2165
+ .select-button[data-priority=secondary][data-state=disabled], .select-button[data-priority=secondary]:disabled {
2166
+ border-color: transparent;
2167
+ background-color: var(--select-color-surface-secondary-disabled);
2168
+ }
2169
+ .select-button[data-priority=secondary][data-state=disabled]::after, .select-button[data-priority=secondary]:disabled::after {
2170
+ background-color: var(--select-color-border-secondary-disabled);
2171
+ height: var(--select-secondary-underline-width-default);
2172
+ }
2173
+
2174
+ .select-value {
2175
+ flex: 1 1 auto;
2176
+ min-width: 0;
2177
+ display: flex;
2178
+ flex-direction: column;
2179
+ gap: var(--spacing-gap-2);
2180
+ }
2181
+
2182
+ .select-label {
2183
+ flex: 1 1 auto;
2184
+ min-width: 0;
2185
+ font-family: var(--font-body-medium-family);
2186
+ font-size: var(--select-text-medium-size);
2187
+ font-weight: var(--select-text-medium-weight);
2188
+ line-height: var(--select-text-medium-line-height);
2189
+ letter-spacing: var(--select-text-medium-letter-spacing);
2190
+ color: var(--select-primary-color-text);
2191
+ overflow: hidden;
2192
+ text-overflow: ellipsis;
2193
+ white-space: nowrap;
2194
+ }
2195
+ .select-button[data-priority=secondary] .select-label {
2196
+ color: var(--select-secondary-color-text);
2197
+ }
2198
+ .select-button[data-state=focused] .select-label, .select-button[data-open=true] .select-label {
2199
+ color: var(--select-primary-color-text-focused);
2200
+ }
2201
+ .select-button[data-state=disabled] .select-label {
2202
+ color: var(--select-primary-color-text-disabled);
2203
+ }
2204
+ .select-button[data-priority=secondary][data-state=disabled] .select-label {
2205
+ color: var(--color-label-disabled);
2206
+ }
2207
+
2208
+ .select-label-placeholder {
2209
+ color: var(--select-primary-color-placeholder);
2210
+ }
2211
+ .select-button[data-priority=secondary] .select-label-placeholder {
2212
+ color: var(--select-secondary-color-placeholder);
2213
+ }
2214
+
2215
+ .select-button[data-size=small] .select-label {
2216
+ font-size: var(--select-text-small-size);
2217
+ line-height: var(--select-text-small-line-height);
2218
+ letter-spacing: var(--select-text-small-letter-spacing);
2219
+ font-weight: var(--select-text-small-weight);
2220
+ }
2221
+
2222
+ .select-button[data-size=large] .select-label {
2223
+ font-size: var(--select-text-large-size);
2224
+ line-height: var(--select-text-large-line-height);
2225
+ letter-spacing: var(--select-text-large-letter-spacing);
2226
+ font-weight: var(--select-text-large-weight);
2227
+ }
2228
+
2229
+ .select-button[data-priority=secondary][data-size=large] .select-label {
2230
+ font-weight: 600;
2231
+ }
2232
+
2233
+ .select-tags {
2234
+ display: flex;
2235
+ flex-wrap: nowrap;
2236
+ gap: var(--select-multiple-chip-gap);
2237
+ align-items: center;
2238
+ min-width: 0;
2239
+ flex: 1 1 auto;
2240
+ }
2241
+
2242
+ .select-tag {
2243
+ display: flex;
2244
+ align-items: center;
2245
+ gap: var(--select-multiple-chip-gap);
2246
+ padding: var(--select-multiple-chip-padding-block) var(--select-multiple-chip-padding-inline);
2247
+ border-radius: var(--select-multiple-chip-radius);
2248
+ border: 1px solid var(--select-multiple-chip-border-color, var(--color-border-standard-cool-gray));
2249
+ background-color: var(--select-multiple-chip-surface);
2250
+ color: var(--select-multiple-chip-color);
2251
+ font-size: var(--select-multiple-chip-font-size);
2252
+ line-height: var(--select-multiple-chip-line-height);
2253
+ font-weight: var(--select-multiple-chip-font-weight);
2254
+ white-space: nowrap;
2255
+ min-height: var(--select-multiple-chip-height);
2256
+ }
2257
+ .select-tag:focus-within {
2258
+ border-color: var(--select-color-border-secondary-focused);
2259
+ }
2260
+ .select-tag[data-removable=true] {
2261
+ padding-right: var(--spacing-padding-2);
2262
+ }
2263
+
2264
+ .select-tag[data-kind=summary],
2265
+ .select-tag-summary {
2266
+ background-color: var(--select-multiple-chip-summary-surface);
2267
+ border-color: var(--select-multiple-chip-summary-border-color);
2268
+ color: var(--select-multiple-chip-summary-color);
2269
+ padding: var(--select-multiple-chip-summary-padding-block) var(--select-multiple-chip-summary-padding-inline);
2270
+ border-radius: var(--select-multiple-chip-summary-radius);
2271
+ font-size: var(--select-multiple-chip-summary-font-size);
2272
+ line-height: var(--select-multiple-chip-summary-line-height);
2273
+ font-weight: var(--select-multiple-chip-summary-font-weight);
2274
+ min-height: auto;
2275
+ }
2276
+
2277
+ .select-tag-label {
2278
+ display: flex;
2279
+ align-items: center;
2280
+ gap: var(--spacing-gap-1);
2281
+ min-width: 0;
2282
+ }
2283
+
2284
+ .select-tag-suffix {
2285
+ color: var(--select-multiple-chip-suffix-color);
2286
+ font-size: inherit;
2287
+ line-height: inherit;
2288
+ }
2289
+
2290
+ .select-tag-remove {
2291
+ display: flex;
2292
+ align-items: center;
2293
+ justify-content: center;
2294
+ width: var(--select-icon-size-small);
2295
+ height: var(--select-icon-size-small);
2296
+ border: none;
2297
+ background-color: transparent;
2298
+ padding: 0;
2299
+ cursor: pointer;
2300
+ color: var(--select-multiple-chip-remove-color);
2301
+ flex-shrink: 0;
2302
+ border-radius: 9999px;
2303
+ transition: color 150ms ease;
2304
+ }
2305
+ .select-tag-remove:focus-visible {
2306
+ outline: 0.2rem solid var(--color-border-strong);
2307
+ outline-offset: 0.1rem;
2308
+ }
2309
+ .select-tag-remove:hover {
2310
+ color: var(--select-multiple-chip-remove-hover-color);
2311
+ }
2312
+ .select-tag-remove svg {
2313
+ width: 100%;
2314
+ height: 100%;
2315
+ }
2316
+ .select-tag-remove svg path {
2317
+ fill: currentColor;
2318
+ }
2319
+
2320
+ .select-icon {
2321
+ flex-shrink: 0;
2322
+ width: var(--select-icon-size-medium);
2323
+ height: var(--select-icon-size-medium);
2324
+ display: flex;
2325
+ align-items: center;
2326
+ justify-content: center;
2327
+ margin-left: auto;
2328
+ }
2329
+ .select-icon[data-size=small] {
2330
+ width: var(--select-icon-size-small);
2331
+ height: var(--select-icon-size-small);
2332
+ }
2333
+ .select-icon[data-size=large] {
2334
+ width: var(--select-icon-size-large);
2335
+ height: var(--select-icon-size-large);
2336
+ }
2337
+ [data-open=true] .select-icon {
2338
+ transform: rotate(180deg);
2339
+ }
2340
+ .select-icon svg {
2341
+ display: block;
2342
+ width: 100%;
2343
+ height: 100%;
2344
+ }
2345
+ .select-icon svg path {
2346
+ fill: var(--select-icon-fill);
2347
+ }
2348
+
2349
+
2350
+
2351
+ .form-field-container {
2352
+ display: block;
2353
+ width: var(--form-field-width);
2354
+ flex: var(--form-field-flex);
2355
+ }
2356
+ .form-field-container[data-width=auto] {
2357
+ --form-field-width: auto;
2358
+ --form-field-flex: 0 0 auto;
2359
+ }
2360
+ .form-field-container[data-width=fill] {
2361
+ --form-field-width: auto;
2362
+ --form-field-flex: 1 1 0%;
2363
+ }
2364
+ .form-field-container[data-width=full] {
2365
+ --form-field-width: 100%;
2366
+ --form-field-flex: 0 0 100%;
2367
+ }
2368
+ .form-field-container[data-width=fit] {
2369
+ --form-field-width: fit-content;
2370
+ --form-field-flex: 0 0 auto;
2371
+ }
2372
+ .form-field-container[data-width=custom] {
2373
+ --form-field-flex: 0 0 auto;
2374
+ }
2375
+
2376
+ .form-field-header {
2377
+ margin-bottom: var(--form-field-gap-y);
2378
+ }
2379
+
2380
+ .form-field-label {
2381
+ display: flex;
2382
+ align-items: center;
2383
+ gap: var(--spacing-gap-1);
2384
+ font-size: var(--form-field-label-font-size);
2385
+ font-weight: var(--form-field-label-font-weight);
2386
+ line-height: var(--form-field-label-line-height);
2387
+ }
2388
+ .form-field-label span {
2389
+ color: var(--form-field-label-color);
2390
+ }
2391
+
2392
+ .form-field-required {
2393
+ color: var(--color-feedback-error);
2394
+ }
2395
+
2396
+ .form-field-body {
2397
+ display: flex;
2398
+ flex-wrap: wrap;
2399
+ gap: var(--form-field-gap-x);
2400
+ width: 100%;
2401
+ }
2402
+
2403
+ .form-field-footer {
2404
+ margin-top: var(--form-field-gap-y);
2405
+ font-size: var(--form-field-helper-font-size);
2406
+ line-height: var(--form-field-helper-line-height);
2407
+ }
2408
+ .form-field-footer p,
2409
+ .form-field-footer span {
2410
+ color: var(--form-field-helper-color);
2411
+ }
2412
+
1686
2413
 
1687
2414
 
1688
2415
  .bottom-navigation {