@seed-design/css 1.2.16 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (183) hide show
  1. package/all.css +4956 -1923
  2. package/all.layered.css +5922 -2881
  3. package/all.layered.min.css +1 -1
  4. package/all.min.css +1 -1
  5. package/base.css +348 -33
  6. package/base.layered.css +348 -33
  7. package/base.layered.min.css +1 -1
  8. package/base.min.css +1 -1
  9. package/breakpoints/index.d.ts +7 -0
  10. package/breakpoints/index.mjs +17 -0
  11. package/package.json +6 -1
  12. package/recipes/accordion.css +268 -0
  13. package/recipes/accordion.d.ts +33 -0
  14. package/recipes/accordion.layered.css +308 -0
  15. package/recipes/accordion.layered.mjs +94 -0
  16. package/recipes/accordion.mjs +94 -0
  17. package/recipes/action-button.css +56 -4
  18. package/recipes/action-button.d.ts +16 -0
  19. package/recipes/action-button.layered.css +60 -4
  20. package/recipes/app-bar.css +0 -3
  21. package/recipes/app-bar.d.ts +0 -4
  22. package/recipes/app-bar.layered.css +0 -4
  23. package/recipes/app-bar.layered.mjs +1 -5
  24. package/recipes/app-bar.mjs +1 -5
  25. package/recipes/app-screen.css +3 -0
  26. package/recipes/app-screen.layered.css +4 -0
  27. package/recipes/attachment-input-item.css +275 -0
  28. package/recipes/attachment-input-item.d.ts +24 -0
  29. package/recipes/attachment-input-item.layered.css +288 -0
  30. package/recipes/attachment-input-item.layered.mjs +79 -0
  31. package/recipes/attachment-input-item.mjs +79 -0
  32. package/recipes/attachment-input-trigger.css +71 -0
  33. package/recipes/attachment-input-trigger.d.ts +21 -0
  34. package/recipes/attachment-input-trigger.layered.css +85 -0
  35. package/recipes/attachment-input-trigger.layered.mjs +48 -0
  36. package/recipes/attachment-input-trigger.mjs +48 -0
  37. package/recipes/attachment-input.css +55 -0
  38. package/recipes/attachment-input.d.ts +21 -0
  39. package/recipes/attachment-input.layered.css +64 -0
  40. package/recipes/attachment-input.layered.mjs +48 -0
  41. package/recipes/attachment-input.mjs +48 -0
  42. package/recipes/avatar.d.ts +9 -0
  43. package/recipes/badge.d.ts +10 -0
  44. package/recipes/bottom-sheet.css +62 -5
  45. package/recipes/bottom-sheet.layered.css +67 -5
  46. package/recipes/callout.d.ts +7 -0
  47. package/recipes/checkmark.d.ts +3 -0
  48. package/recipes/chip-tabs.css +8 -52
  49. package/recipes/chip-tabs.d.ts +1 -1
  50. package/recipes/chip-tabs.layered.css +8 -62
  51. package/recipes/chip-tabs.layered.mjs +1 -2
  52. package/recipes/chip-tabs.mjs +1 -2
  53. package/recipes/chip.d.ts +4 -0
  54. package/recipes/contextual-floating-button.d.ts +6 -0
  55. package/recipes/dialog.css +14 -11
  56. package/recipes/dialog.layered.css +4 -0
  57. package/recipes/footer.css +44 -0
  58. package/recipes/footer.d.ts +24 -0
  59. package/recipes/footer.layered.css +52 -0
  60. package/recipes/footer.layered.mjs +39 -0
  61. package/recipes/footer.mjs +39 -0
  62. package/recipes/help-bubble.css +29 -1
  63. package/recipes/help-bubble.layered.css +34 -1
  64. package/recipes/image-frame.css +0 -3
  65. package/recipes/image-frame.d.ts +0 -4
  66. package/recipes/image-frame.layered.css +0 -4
  67. package/recipes/image-frame.layered.mjs +1 -6
  68. package/recipes/image-frame.mjs +1 -6
  69. package/recipes/input-button.css +176 -20
  70. package/recipes/input-button.d.ts +8 -1
  71. package/recipes/input-button.layered.css +197 -21
  72. package/recipes/input-button.layered.mjs +10 -2
  73. package/recipes/input-button.mjs +10 -2
  74. package/recipes/layout.css +25 -0
  75. package/recipes/layout.d.ts +24 -0
  76. package/recipes/layout.layered.css +25 -0
  77. package/recipes/layout.layered.mjs +44 -0
  78. package/recipes/layout.mjs +44 -0
  79. package/recipes/list-item.css +72 -4
  80. package/recipes/list-item.layered.css +84 -4
  81. package/recipes/menu-item.css +174 -0
  82. package/recipes/menu-item.d.ts +35 -0
  83. package/recipes/menu-item.layered.css +200 -0
  84. package/recipes/menu-item.layered.mjs +57 -0
  85. package/recipes/menu-item.mjs +57 -0
  86. package/recipes/menu-sheet-item.d.ts +6 -0
  87. package/recipes/menu-sheet.css +19 -1
  88. package/recipes/menu-sheet.layered.css +22 -1
  89. package/recipes/menu.css +119 -0
  90. package/recipes/menu.d.ts +28 -0
  91. package/recipes/menu.layered.css +139 -0
  92. package/recipes/menu.layered.mjs +56 -0
  93. package/recipes/menu.mjs +56 -0
  94. package/recipes/notification-badge.d.ts +3 -0
  95. package/recipes/page-banner.d.ts +5 -0
  96. package/recipes/progress-circle.d.ts +7 -0
  97. package/recipes/{selectBoxCheckmark.css → select-box-checkmark.css} +6 -6
  98. package/recipes/{selectBoxCheckmark.layered.css → select-box-checkmark.layered.css} +6 -6
  99. package/recipes/{selectBoxCheckmark.layered.mjs → select-box-checkmark.layered.mjs} +4 -4
  100. package/recipes/{selectBoxCheckmark.mjs → select-box-checkmark.mjs} +4 -4
  101. package/recipes/side-navigation-inset.css +4 -0
  102. package/recipes/side-navigation-inset.d.ts +19 -0
  103. package/recipes/side-navigation-inset.layered.css +6 -0
  104. package/recipes/side-navigation-inset.layered.mjs +22 -0
  105. package/recipes/side-navigation-inset.mjs +22 -0
  106. package/recipes/side-navigation-menu-item.css +135 -0
  107. package/recipes/side-navigation-menu-item.d.ts +21 -0
  108. package/recipes/side-navigation-menu-item.layered.css +156 -0
  109. package/recipes/side-navigation-menu-item.layered.mjs +48 -0
  110. package/recipes/side-navigation-menu-item.mjs +48 -0
  111. package/recipes/side-navigation.css +115 -0
  112. package/recipes/side-navigation.d.ts +24 -0
  113. package/recipes/side-navigation.layered.css +132 -0
  114. package/recipes/side-navigation.layered.mjs +63 -0
  115. package/recipes/side-navigation.mjs +63 -0
  116. package/recipes/side-panel.css +327 -0
  117. package/recipes/side-panel.d.ts +24 -0
  118. package/recipes/side-panel.layered.css +361 -0
  119. package/recipes/side-panel.layered.mjs +72 -0
  120. package/recipes/side-panel.mjs +72 -0
  121. package/recipes/skeleton.css +36 -2
  122. package/recipes/skeleton.d.ts +8 -0
  123. package/recipes/skeleton.layered.css +40 -2
  124. package/recipes/text-input.css +323 -52
  125. package/recipes/text-input.d.ts +8 -1
  126. package/recipes/text-input.layered.css +385 -51
  127. package/recipes/text-input.layered.mjs +18 -1
  128. package/recipes/text-input.mjs +18 -1
  129. package/recipes/text.css +180 -0
  130. package/recipes/text.d.ts +59 -1
  131. package/recipes/text.layered.css +216 -0
  132. package/recipes/text.layered.mjs +37 -1
  133. package/recipes/text.mjs +37 -1
  134. package/recipes/toggle-button.d.ts +3 -0
  135. package/vars/color/bg.d.ts +3 -1
  136. package/vars/color/bg.mjs +2 -0
  137. package/vars/color/stroke.d.ts +2 -2
  138. package/vars/color/stroke.mjs +2 -2
  139. package/vars/component/accordion-item.d.ts +132 -0
  140. package/vars/component/accordion-item.mjs +126 -0
  141. package/vars/component/accordion.d.ts +22 -0
  142. package/vars/component/accordion.mjs +16 -0
  143. package/vars/component/attachment-input-dropzone.d.ts +32 -0
  144. package/vars/component/attachment-input-dropzone.mjs +30 -0
  145. package/vars/component/attachment-input-item-action-button.d.ts +37 -0
  146. package/vars/component/attachment-input-item-action-button.mjs +37 -0
  147. package/vars/component/attachment-input-item-remove-button.d.ts +28 -0
  148. package/vars/component/attachment-input-item-remove-button.mjs +28 -0
  149. package/vars/component/attachment-input-item.d.ts +103 -0
  150. package/vars/component/attachment-input-item.mjs +102 -0
  151. package/vars/component/attachment-input-trigger.d.ts +46 -0
  152. package/vars/component/attachment-input-trigger.mjs +46 -0
  153. package/vars/component/attachment-input.d.ts +14 -0
  154. package/vars/component/attachment-input.mjs +12 -0
  155. package/vars/component/chip-tablist.d.ts +0 -7
  156. package/vars/component/chip-tablist.mjs +0 -7
  157. package/vars/component/image-frame.d.ts +1 -22
  158. package/vars/component/image-frame.mjs +1 -9
  159. package/vars/component/index.d.ts +12 -1
  160. package/vars/component/index.mjs +12 -1
  161. package/vars/component/input-button.d.ts +90 -17
  162. package/vars/component/input-button.mjs +84 -17
  163. package/vars/component/menu-item.d.ts +129 -0
  164. package/vars/component/menu-item.mjs +117 -0
  165. package/vars/component/menu.d.ts +68 -0
  166. package/vars/component/menu.mjs +60 -0
  167. package/vars/component/side-panel-close-button.d.ts +23 -0
  168. package/vars/component/side-panel-close-button.mjs +23 -0
  169. package/vars/component/side-panel.d.ts +94 -0
  170. package/vars/component/side-panel.mjs +83 -0
  171. package/vars/component/text-input.d.ts +92 -24
  172. package/vars/component/text-input.mjs +76 -24
  173. package/vars/component/typography.d.ts +414 -0
  174. package/vars/component/typography.mjs +324 -0
  175. package/vars/font-size.d.ts +17 -1
  176. package/vars/font-size.mjs +9 -1
  177. package/vars/gradient.d.ts +0 -8
  178. package/vars/gradient.mjs +0 -2
  179. package/vars/line-height.d.ts +17 -1
  180. package/vars/line-height.mjs +9 -1
  181. package/vars/component/chip-tab.d.ts +0 -162
  182. package/vars/component/chip-tab.mjs +0 -162
  183. /package/recipes/{selectBoxCheckmark.d.ts → select-box-checkmark.d.ts} +0 -0
@@ -5,10 +5,6 @@
5
5
  box-sizing: border-box;
6
6
  position: relative;
7
7
  isolation: isolate;
8
- height: var(--seed-dimension-x13);
9
- gap: var(--seed-dimension-x2_5);
10
- padding-left: var(--seed-dimension-x4);
11
- padding-right: var(--seed-dimension-x4);
12
8
  }
13
9
  .seed-input-button__button {
14
10
  position: absolute;
@@ -20,7 +16,6 @@
20
16
  cursor: pointer;
21
17
  border: none;
22
18
  padding: 0;
23
- border-radius: var(--seed-radius-r3);
24
19
  background-color: var(--seed-color-bg-transparent);
25
20
  box-shadow: inset 0 0 0 1px var(--seed-color-stroke-neutral-weak);
26
21
  transition: background-color var(--seed-duration-color-transition) var(--seed-timing-function-easing), outline-color var(--seed-duration-d3) var(--seed-timing-function-easing);
@@ -70,8 +65,6 @@
70
65
  border-color: var(--seed-color-stroke-critical-solid);
71
66
  }
72
67
  .seed-input-button__value {
73
- font-size: var(--seed-font-size-t5);
74
- line-height: var(--seed-line-height-t5);
75
68
  font-weight: var(--seed-font-weight-regular);
76
69
  color: var(--seed-color-fg-neutral);
77
70
  overflow: hidden;
@@ -87,8 +80,6 @@
87
80
  color: var(--seed-color-fg-neutral);
88
81
  }
89
82
  .seed-input-button__placeholder {
90
- font-size: var(--seed-font-size-t5);
91
- line-height: var(--seed-line-height-t5);
92
83
  font-weight: var(--seed-font-weight-regular);
93
84
  color: var(--seed-color-fg-placeholder);
94
85
  overflow: hidden;
@@ -104,33 +95,37 @@
104
95
  color: var(--seed-color-fg-placeholder);
105
96
  }
106
97
  .seed-input-button__prefixText {
107
- font-size: var(--seed-font-size-t5);
108
- line-height: var(--seed-line-height-t5);
109
98
  font-weight: var(--seed-font-weight-regular);
110
- color: var(--seed-color-fg-neutral-muted);
99
+ color: var(--seed-color-fg-neutral-subtle);
111
100
  pointer-events: none;
112
101
  }
102
+ .seed-input-button__prefixText[data-disabled] {
103
+ color: var(--seed-color-fg-disabled);
104
+ }
113
105
  .seed-input-button__prefixIcon {
114
- width: var(--seed-dimension-x5);
115
- height: var(--seed-dimension-x5);
116
106
  flex-shrink: 0;
117
107
  color: var(--seed-color-fg-neutral-muted);
118
108
  pointer-events: none;
119
109
  }
110
+ .seed-input-button__prefixIcon[data-disabled] {
111
+ color: var(--seed-color-fg-disabled);
112
+ }
120
113
  .seed-input-button__suffixText {
121
- font-size: var(--seed-font-size-t5);
122
- line-height: var(--seed-line-height-t5);
123
114
  font-weight: var(--seed-font-weight-regular);
124
- color: var(--seed-color-fg-neutral-muted);
115
+ color: var(--seed-color-fg-neutral-subtle);
125
116
  pointer-events: none;
126
117
  }
118
+ .seed-input-button__suffixText[data-disabled] {
119
+ color: var(--seed-color-fg-disabled);
120
+ }
127
121
  .seed-input-button__suffixIcon {
128
- width: var(--seed-dimension-x5);
129
- height: var(--seed-dimension-x5);
130
122
  flex-shrink: 0;
131
123
  color: var(--seed-color-fg-neutral-muted);
132
124
  pointer-events: none;
133
125
  }
126
+ .seed-input-button__suffixIcon[data-disabled] {
127
+ color: var(--seed-color-fg-disabled);
128
+ }
134
129
  .seed-input-button__clearButton {
135
130
  cursor: pointer;
136
131
  border: none;
@@ -146,6 +141,167 @@
146
141
  outline-offset: var(--seed-dimension-x0_5);
147
142
  }
148
143
  .seed-input-button__clearButton {
149
- --seed-icon-size: 22px;
150
144
  --seed-icon-color: var(--seed-color-fg-neutral-subtle);
145
+ }
146
+ .seed-input-button__root--size_large {
147
+ height: var(--seed-dimension-x13);
148
+ gap: var(--seed-dimension-x2_5);
149
+ padding-left: var(--seed-dimension-x4);
150
+ padding-right: var(--seed-dimension-x4);
151
+ }
152
+ .seed-input-button__button--size_large {
153
+ border-radius: var(--seed-radius-r3);
154
+ }
155
+ .seed-input-button__value--size_large {
156
+ font-size: var(--seed-font-size-t5);
157
+ line-height: var(--seed-line-height-t5);
158
+ }
159
+ .seed-input-button__placeholder--size_large {
160
+ font-size: var(--seed-font-size-t5);
161
+ line-height: var(--seed-line-height-t5);
162
+ }
163
+ .seed-input-button__prefixText--size_large {
164
+ font-size: var(--seed-font-size-t5);
165
+ line-height: var(--seed-line-height-t5);
166
+ }
167
+ .seed-input-button__prefixIcon--size_large {
168
+ width: var(--seed-dimension-x5);
169
+ height: var(--seed-dimension-x5);
170
+ }
171
+ .seed-input-button__suffixText--size_large {
172
+ font-size: var(--seed-font-size-t5);
173
+ line-height: var(--seed-line-height-t5);
174
+ }
175
+ .seed-input-button__suffixIcon--size_large {
176
+ width: var(--seed-dimension-x5);
177
+ height: var(--seed-dimension-x5);
178
+ }
179
+ .seed-input-button__clearButton--size_large {
180
+ --seed-icon-size: 22px;
181
+ }
182
+ .seed-input-button__root--size_medium {
183
+ height: var(--seed-dimension-x10);
184
+ gap: var(--seed-dimension-x2);
185
+ padding-left: var(--seed-dimension-x3_5);
186
+ padding-right: var(--seed-dimension-x3_5);
187
+ }
188
+ .seed-input-button__button--size_medium {
189
+ border-radius: var(--seed-radius-r2);
190
+ }
191
+ .seed-input-button__value--size_medium {
192
+ font-size: var(--seed-font-size-t4);
193
+ line-height: var(--seed-line-height-t4);
194
+ }
195
+ .seed-input-button__placeholder--size_medium {
196
+ font-size: var(--seed-font-size-t4);
197
+ line-height: var(--seed-line-height-t4);
198
+ }
199
+ .seed-input-button__prefixText--size_medium {
200
+ font-size: var(--seed-font-size-t4);
201
+ line-height: var(--seed-line-height-t4);
202
+ }
203
+ .seed-input-button__prefixIcon--size_medium {
204
+ width: var(--seed-dimension-x4);
205
+ height: var(--seed-dimension-x4);
206
+ }
207
+ .seed-input-button__suffixText--size_medium {
208
+ font-size: var(--seed-font-size-t4);
209
+ line-height: var(--seed-line-height-t4);
210
+ }
211
+ .seed-input-button__suffixIcon--size_medium {
212
+ width: var(--seed-dimension-x4);
213
+ height: var(--seed-dimension-x4);
214
+ }
215
+ .seed-input-button__clearButton--size_medium {
216
+ --seed-icon-size: var(--seed-dimension-x4_5);
217
+ }
218
+ .seed-input-button__root--size_responsive {
219
+ height: var(--seed-dimension-x13);
220
+ gap: var(--seed-dimension-x2_5);
221
+ padding-left: var(--seed-dimension-x4);
222
+ padding-right: var(--seed-dimension-x4);
223
+ }
224
+ @media (min-width: 1280px) {
225
+ .seed-input-button__root--size_responsive {
226
+ height: var(--seed-dimension-x10);
227
+ gap: var(--seed-dimension-x2);
228
+ padding-left: var(--seed-dimension-x3_5);
229
+ padding-right: var(--seed-dimension-x3_5);
230
+ }
231
+ }
232
+ .seed-input-button__button--size_responsive {
233
+ border-radius: var(--seed-radius-r3);
234
+ }
235
+ @media (min-width: 1280px) {
236
+ .seed-input-button__button--size_responsive {
237
+ border-radius: var(--seed-radius-r2);
238
+ }
239
+ }
240
+ .seed-input-button__value--size_responsive {
241
+ font-size: var(--seed-font-size-t5);
242
+ line-height: var(--seed-line-height-t5);
243
+ }
244
+ @media (min-width: 1280px) {
245
+ .seed-input-button__value--size_responsive {
246
+ font-size: var(--seed-font-size-t4);
247
+ line-height: var(--seed-line-height-t4);
248
+ }
249
+ }
250
+ .seed-input-button__placeholder--size_responsive {
251
+ font-size: var(--seed-font-size-t5);
252
+ line-height: var(--seed-line-height-t5);
253
+ }
254
+ @media (min-width: 1280px) {
255
+ .seed-input-button__placeholder--size_responsive {
256
+ font-size: var(--seed-font-size-t4);
257
+ line-height: var(--seed-line-height-t4);
258
+ }
259
+ }
260
+ .seed-input-button__prefixText--size_responsive {
261
+ font-size: var(--seed-font-size-t5);
262
+ line-height: var(--seed-line-height-t5);
263
+ }
264
+ @media (min-width: 1280px) {
265
+ .seed-input-button__prefixText--size_responsive {
266
+ font-size: var(--seed-font-size-t4);
267
+ line-height: var(--seed-line-height-t4);
268
+ }
269
+ }
270
+ .seed-input-button__prefixIcon--size_responsive {
271
+ width: var(--seed-dimension-x5);
272
+ height: var(--seed-dimension-x5);
273
+ }
274
+ @media (min-width: 1280px) {
275
+ .seed-input-button__prefixIcon--size_responsive {
276
+ width: var(--seed-dimension-x4);
277
+ height: var(--seed-dimension-x4);
278
+ }
279
+ }
280
+ .seed-input-button__suffixText--size_responsive {
281
+ font-size: var(--seed-font-size-t5);
282
+ line-height: var(--seed-line-height-t5);
283
+ }
284
+ @media (min-width: 1280px) {
285
+ .seed-input-button__suffixText--size_responsive {
286
+ font-size: var(--seed-font-size-t4);
287
+ line-height: var(--seed-line-height-t4);
288
+ }
289
+ }
290
+ .seed-input-button__suffixIcon--size_responsive {
291
+ width: var(--seed-dimension-x5);
292
+ height: var(--seed-dimension-x5);
293
+ }
294
+ @media (min-width: 1280px) {
295
+ .seed-input-button__suffixIcon--size_responsive {
296
+ width: var(--seed-dimension-x4);
297
+ height: var(--seed-dimension-x4);
298
+ }
299
+ }
300
+ .seed-input-button__clearButton--size_responsive {
301
+ --seed-icon-size: 22px;
302
+ }
303
+ @media (min-width: 1280px) {
304
+ .seed-input-button__clearButton--size_responsive {
305
+ --seed-icon-size: var(--seed-dimension-x4_5);
306
+ }
151
307
  }
@@ -1,5 +1,12 @@
1
1
  declare interface InputButtonVariant {
2
-
2
+ /**
3
+ * - `large`: 뷰포트 너비와 관계없이 사용할 수 있습니다.
4
+ * - `medium`: Breakpoint `lg` 이상(데스크톱)에서만 사용하고, 모바일에서는 사용하지 않습니다. 정밀한 선택이 가능한 마우스 입력 환경에서 사이즈를 더 작게 만들고자 할 때 사용합니다.
5
+ * - `responsive`: 뷰포트 너비에 따라 적용되는 사이즈가 달라집니다. Breakpoint `lg` 미만에서는 `large`, `lg` 이상에서는 `medium`으로 적용됩니다.
6
+ *
7
+ * @default "large"
8
+ */
9
+ size: "large" | "medium" | "responsive";
3
10
  }
4
11
 
5
12
  declare type InputButtonVariantMap = {
@@ -2,12 +2,8 @@
2
2
  .seed-input-button__root {
3
3
  box-sizing: border-box;
4
4
  isolation: isolate;
5
- width: 100%;
6
- height: var(--seed-dimension-x13);
7
5
  align-items: center;
8
- gap: var(--seed-dimension-x2_5);
9
- padding-left: var(--seed-dimension-x4);
10
- padding-right: var(--seed-dimension-x4);
6
+ width: 100%;
11
7
  display: flex;
12
8
  position: relative;
13
9
  }
@@ -15,7 +11,6 @@
15
11
  .seed-input-button__button {
16
12
  z-index: -1;
17
13
  cursor: pointer;
18
- border-radius: var(--seed-radius-r3);
19
14
  background-color: var(--seed-color-bg-transparent);
20
15
  box-shadow: inset 0 0 0 1px var(--seed-color-stroke-neutral-weak);
21
16
  transition: background-color var(--seed-duration-color-transition) var(--seed-timing-function-easing), outline-color var(--seed-duration-d3) var(--seed-timing-function-easing);
@@ -73,8 +68,6 @@
73
68
  }
74
69
 
75
70
  .seed-input-button__value {
76
- font-size: var(--seed-font-size-t5);
77
- line-height: var(--seed-line-height-t5);
78
71
  font-weight: var(--seed-font-weight-regular);
79
72
  color: var(--seed-color-fg-neutral);
80
73
  text-overflow: ellipsis;
@@ -93,8 +86,6 @@
93
86
  }
94
87
 
95
88
  .seed-input-button__placeholder {
96
- font-size: var(--seed-font-size-t5);
97
- line-height: var(--seed-line-height-t5);
98
89
  font-weight: var(--seed-font-weight-regular);
99
90
  color: var(--seed-color-fg-placeholder);
100
91
  text-overflow: ellipsis;
@@ -113,37 +104,45 @@
113
104
  }
114
105
 
115
106
  .seed-input-button__prefixText {
116
- font-size: var(--seed-font-size-t5);
117
- line-height: var(--seed-line-height-t5);
118
107
  font-weight: var(--seed-font-weight-regular);
119
- color: var(--seed-color-fg-neutral-muted);
108
+ color: var(--seed-color-fg-neutral-subtle);
120
109
  pointer-events: none;
121
110
  }
122
111
 
112
+ .seed-input-button__prefixText[data-disabled] {
113
+ color: var(--seed-color-fg-disabled);
114
+ }
115
+
123
116
  .seed-input-button__prefixIcon {
124
- width: var(--seed-dimension-x5);
125
- height: var(--seed-dimension-x5);
126
117
  color: var(--seed-color-fg-neutral-muted);
127
118
  pointer-events: none;
128
119
  flex-shrink: 0;
129
120
  }
130
121
 
122
+ .seed-input-button__prefixIcon[data-disabled] {
123
+ color: var(--seed-color-fg-disabled);
124
+ }
125
+
131
126
  .seed-input-button__suffixText {
132
- font-size: var(--seed-font-size-t5);
133
- line-height: var(--seed-line-height-t5);
134
127
  font-weight: var(--seed-font-weight-regular);
135
- color: var(--seed-color-fg-neutral-muted);
128
+ color: var(--seed-color-fg-neutral-subtle);
136
129
  pointer-events: none;
137
130
  }
138
131
 
132
+ .seed-input-button__suffixText[data-disabled] {
133
+ color: var(--seed-color-fg-disabled);
134
+ }
135
+
139
136
  .seed-input-button__suffixIcon {
140
- width: var(--seed-dimension-x5);
141
- height: var(--seed-dimension-x5);
142
137
  color: var(--seed-color-fg-neutral-muted);
143
138
  pointer-events: none;
144
139
  flex-shrink: 0;
145
140
  }
146
141
 
142
+ .seed-input-button__suffixIcon[data-disabled] {
143
+ color: var(--seed-color-fg-disabled);
144
+ }
145
+
147
146
  .seed-input-button__clearButton {
148
147
  cursor: pointer;
149
148
  border-radius: var(--seed-radius-full);
@@ -161,7 +160,184 @@
161
160
  }
162
161
 
163
162
  .seed-input-button__clearButton {
164
- --seed-icon-size: 22px;
165
163
  --seed-icon-color: var(--seed-color-fg-neutral-subtle);
166
164
  }
165
+
166
+ .seed-input-button__root--size_large {
167
+ height: var(--seed-dimension-x13);
168
+ gap: var(--seed-dimension-x2_5);
169
+ padding-left: var(--seed-dimension-x4);
170
+ padding-right: var(--seed-dimension-x4);
171
+ }
172
+
173
+ .seed-input-button__button--size_large {
174
+ border-radius: var(--seed-radius-r3);
175
+ }
176
+
177
+ .seed-input-button__value--size_large, .seed-input-button__placeholder--size_large, .seed-input-button__prefixText--size_large {
178
+ font-size: var(--seed-font-size-t5);
179
+ line-height: var(--seed-line-height-t5);
180
+ }
181
+
182
+ .seed-input-button__prefixIcon--size_large {
183
+ width: var(--seed-dimension-x5);
184
+ height: var(--seed-dimension-x5);
185
+ }
186
+
187
+ .seed-input-button__suffixText--size_large {
188
+ font-size: var(--seed-font-size-t5);
189
+ line-height: var(--seed-line-height-t5);
190
+ }
191
+
192
+ .seed-input-button__suffixIcon--size_large {
193
+ width: var(--seed-dimension-x5);
194
+ height: var(--seed-dimension-x5);
195
+ }
196
+
197
+ .seed-input-button__clearButton--size_large {
198
+ --seed-icon-size: 22px;
199
+ }
200
+
201
+ .seed-input-button__root--size_medium {
202
+ height: var(--seed-dimension-x10);
203
+ gap: var(--seed-dimension-x2);
204
+ padding-left: var(--seed-dimension-x3_5);
205
+ padding-right: var(--seed-dimension-x3_5);
206
+ }
207
+
208
+ .seed-input-button__button--size_medium {
209
+ border-radius: var(--seed-radius-r2);
210
+ }
211
+
212
+ .seed-input-button__value--size_medium, .seed-input-button__placeholder--size_medium, .seed-input-button__prefixText--size_medium {
213
+ font-size: var(--seed-font-size-t4);
214
+ line-height: var(--seed-line-height-t4);
215
+ }
216
+
217
+ .seed-input-button__prefixIcon--size_medium {
218
+ width: var(--seed-dimension-x4);
219
+ height: var(--seed-dimension-x4);
220
+ }
221
+
222
+ .seed-input-button__suffixText--size_medium {
223
+ font-size: var(--seed-font-size-t4);
224
+ line-height: var(--seed-line-height-t4);
225
+ }
226
+
227
+ .seed-input-button__suffixIcon--size_medium {
228
+ width: var(--seed-dimension-x4);
229
+ height: var(--seed-dimension-x4);
230
+ }
231
+
232
+ .seed-input-button__clearButton--size_medium {
233
+ --seed-icon-size: var(--seed-dimension-x4_5);
234
+ }
235
+
236
+ .seed-input-button__root--size_responsive {
237
+ height: var(--seed-dimension-x13);
238
+ gap: var(--seed-dimension-x2_5);
239
+ padding-left: var(--seed-dimension-x4);
240
+ padding-right: var(--seed-dimension-x4);
241
+ }
242
+
243
+ @media (width >= 1280px) {
244
+ .seed-input-button__root--size_responsive {
245
+ height: var(--seed-dimension-x10);
246
+ gap: var(--seed-dimension-x2);
247
+ padding-left: var(--seed-dimension-x3_5);
248
+ padding-right: var(--seed-dimension-x3_5);
249
+ }
250
+ }
251
+
252
+ .seed-input-button__button--size_responsive {
253
+ border-radius: var(--seed-radius-r3);
254
+ }
255
+
256
+ @media (width >= 1280px) {
257
+ .seed-input-button__button--size_responsive {
258
+ border-radius: var(--seed-radius-r2);
259
+ }
260
+ }
261
+
262
+ .seed-input-button__value--size_responsive {
263
+ font-size: var(--seed-font-size-t5);
264
+ line-height: var(--seed-line-height-t5);
265
+ }
266
+
267
+ @media (width >= 1280px) {
268
+ .seed-input-button__value--size_responsive {
269
+ font-size: var(--seed-font-size-t4);
270
+ line-height: var(--seed-line-height-t4);
271
+ }
272
+ }
273
+
274
+ .seed-input-button__placeholder--size_responsive {
275
+ font-size: var(--seed-font-size-t5);
276
+ line-height: var(--seed-line-height-t5);
277
+ }
278
+
279
+ @media (width >= 1280px) {
280
+ .seed-input-button__placeholder--size_responsive {
281
+ font-size: var(--seed-font-size-t4);
282
+ line-height: var(--seed-line-height-t4);
283
+ }
284
+ }
285
+
286
+ .seed-input-button__prefixText--size_responsive {
287
+ font-size: var(--seed-font-size-t5);
288
+ line-height: var(--seed-line-height-t5);
289
+ }
290
+
291
+ @media (width >= 1280px) {
292
+ .seed-input-button__prefixText--size_responsive {
293
+ font-size: var(--seed-font-size-t4);
294
+ line-height: var(--seed-line-height-t4);
295
+ }
296
+ }
297
+
298
+ .seed-input-button__prefixIcon--size_responsive {
299
+ width: var(--seed-dimension-x5);
300
+ height: var(--seed-dimension-x5);
301
+ }
302
+
303
+ @media (width >= 1280px) {
304
+ .seed-input-button__prefixIcon--size_responsive {
305
+ width: var(--seed-dimension-x4);
306
+ height: var(--seed-dimension-x4);
307
+ }
308
+ }
309
+
310
+ .seed-input-button__suffixText--size_responsive {
311
+ font-size: var(--seed-font-size-t5);
312
+ line-height: var(--seed-line-height-t5);
313
+ }
314
+
315
+ @media (width >= 1280px) {
316
+ .seed-input-button__suffixText--size_responsive {
317
+ font-size: var(--seed-font-size-t4);
318
+ line-height: var(--seed-line-height-t4);
319
+ }
320
+ }
321
+
322
+ .seed-input-button__suffixIcon--size_responsive {
323
+ width: var(--seed-dimension-x5);
324
+ height: var(--seed-dimension-x5);
325
+ }
326
+
327
+ @media (width >= 1280px) {
328
+ .seed-input-button__suffixIcon--size_responsive {
329
+ width: var(--seed-dimension-x4);
330
+ height: var(--seed-dimension-x4);
331
+ }
332
+ }
333
+
334
+ .seed-input-button__clearButton--size_responsive {
335
+ --seed-icon-size: 22px;
336
+ }
337
+
338
+ @media (width >= 1280px) {
339
+ .seed-input-button__clearButton--size_responsive {
340
+ --seed-icon-size: var(--seed-dimension-x4_5);
341
+ }
342
+ }
167
343
  }
@@ -40,11 +40,19 @@ const inputButtonSlotNames = [
40
40
  ]
41
41
  ];
42
42
 
43
- const defaultVariant = {};
43
+ const defaultVariant = {
44
+ "size": "large"
45
+ };
44
46
 
45
47
  const compoundVariants = [];
46
48
 
47
- export const inputButtonVariantMap = {};
49
+ export const inputButtonVariantMap = {
50
+ "size": [
51
+ "large",
52
+ "medium",
53
+ "responsive"
54
+ ]
55
+ };
48
56
 
49
57
  export const inputButtonVariantKeys = Object.keys(inputButtonVariantMap);
50
58
 
@@ -40,11 +40,19 @@ const inputButtonSlotNames = [
40
40
  ]
41
41
  ];
42
42
 
43
- const defaultVariant = {};
43
+ const defaultVariant = {
44
+ "size": "large"
45
+ };
44
46
 
45
47
  const compoundVariants = [];
46
48
 
47
- export const inputButtonVariantMap = {};
49
+ export const inputButtonVariantMap = {
50
+ "size": [
51
+ "large",
52
+ "medium",
53
+ "responsive"
54
+ ]
55
+ };
48
56
 
49
57
  export const inputButtonVariantKeys = Object.keys(inputButtonVariantMap);
50
58
 
@@ -0,0 +1,25 @@
1
+ .seed-layout__root {
2
+ display: flex;
3
+ height: 100vh;
4
+ overflow-y: auto
5
+ }
6
+ .seed-layout__content {
7
+ width: 100%;
8
+ margin-left: auto;
9
+ margin-right: auto
10
+ }
11
+ @media (min-width: 768px) {
12
+ .seed-layout__content--density_low {
13
+ max-width: 720px
14
+ }
15
+ }
16
+ @media (min-width: 768px) {
17
+ .seed-layout__content--density_medium {
18
+ max-width: 720px
19
+ }
20
+ }
21
+ @media (min-width: 1280px) {
22
+ .seed-layout__content--density_medium {
23
+ max-width: 1040px
24
+ }
25
+ }
@@ -0,0 +1,24 @@
1
+ declare interface LayoutVariant {
2
+ /**
3
+ * @default "medium"
4
+ */
5
+ density: "low" | "medium" | "high";
6
+ }
7
+
8
+ declare type LayoutVariantMap = {
9
+ [key in keyof LayoutVariant]: Array<LayoutVariant[key]>;
10
+ };
11
+
12
+ export declare type LayoutVariantProps = Partial<LayoutVariant>;
13
+
14
+ export declare type LayoutSlotName = "root" | "content";
15
+
16
+ export declare const layoutVariantMap: LayoutVariantMap;
17
+
18
+ export declare const layout: ((
19
+ props?: LayoutVariantProps,
20
+ ) => Record<LayoutSlotName, string>) & {
21
+ splitVariantProps: <T extends LayoutVariantProps>(
22
+ props: T,
23
+ ) => [LayoutVariantProps, Omit<T, keyof LayoutVariantProps>];
24
+ }
@@ -0,0 +1,25 @@
1
+ @layer seed-components {
2
+ .seed-layout__root {
3
+ height: 100vh;
4
+ display: flex;
5
+ overflow-y: auto;
6
+ }
7
+
8
+ .seed-layout__content {
9
+ width: 100%;
10
+ margin-left: auto;
11
+ margin-right: auto;
12
+ }
13
+
14
+ @media (width >= 768px) {
15
+ .seed-layout__content--density_low, .seed-layout__content--density_medium {
16
+ max-width: 720px;
17
+ }
18
+ }
19
+
20
+ @media (width >= 1280px) {
21
+ .seed-layout__content--density_medium {
22
+ max-width: 1040px;
23
+ }
24
+ }
25
+ }
@@ -0,0 +1,44 @@
1
+ import './layout.layered.css';
2
+ import { createClassName, mergeVariants, splitVariantProps } from "./shared.mjs";
3
+
4
+ const layoutSlotNames = [
5
+ [
6
+ "root",
7
+ "seed-layout__root"
8
+ ],
9
+ [
10
+ "content",
11
+ "seed-layout__content"
12
+ ]
13
+ ];
14
+
15
+ const defaultVariant = {
16
+ "density": "medium"
17
+ };
18
+
19
+ const compoundVariants = [];
20
+
21
+ export const layoutVariantMap = {
22
+ "density": [
23
+ "low",
24
+ "medium",
25
+ "high"
26
+ ]
27
+ };
28
+
29
+ export const layoutVariantKeys = Object.keys(layoutVariantMap);
30
+
31
+ export function layout(props) {
32
+ return Object.fromEntries(
33
+ layoutSlotNames.map(([slot, className]) => {
34
+ return [
35
+ slot,
36
+ createClassName(className, mergeVariants(defaultVariant, props), compoundVariants),
37
+ ];
38
+ }),
39
+ );
40
+ }
41
+
42
+ Object.assign(layout, { splitVariantProps: (props) => splitVariantProps(props, layoutVariantMap) });
43
+
44
+ // @recipe(seed): layout