@seed-design/css 2.2.2 → 2.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/README.md +5 -0
  2. package/all.css +1283 -189
  3. package/all.layered.css +1283 -189
  4. package/all.layered.min.css +1 -1
  5. package/all.min.css +1 -1
  6. package/package.json +1 -1
  7. package/recipes/avatar.css +11 -1
  8. package/recipes/avatar.layered.css +9 -1
  9. package/recipes/bottom-sheet.css +3 -1
  10. package/recipes/bottom-sheet.layered.css +3 -1
  11. package/recipes/content-dialog.css +258 -0
  12. package/recipes/content-dialog.d.ts +24 -0
  13. package/recipes/content-dialog.layered.css +290 -0
  14. package/recipes/content-dialog.layered.mjs +71 -0
  15. package/recipes/content-dialog.mjs +71 -0
  16. package/recipes/image-frame.css +11 -1
  17. package/recipes/image-frame.layered.css +9 -1
  18. package/recipes/quantity-picker.css +230 -0
  19. package/recipes/quantity-picker.d.ts +24 -0
  20. package/recipes/quantity-picker.layered.css +273 -0
  21. package/recipes/quantity-picker.layered.mjs +72 -0
  22. package/recipes/quantity-picker.mjs +72 -0
  23. package/recipes/select-item.css +161 -0
  24. package/recipes/select-item.d.ts +28 -0
  25. package/recipes/select-item.layered.css +191 -0
  26. package/recipes/select-item.layered.mjs +60 -0
  27. package/recipes/select-item.mjs +60 -0
  28. package/recipes/select-trigger.css +208 -0
  29. package/recipes/select-trigger.d.ts +28 -0
  30. package/recipes/select-trigger.layered.css +227 -0
  31. package/recipes/select-trigger.layered.mjs +56 -0
  32. package/recipes/select-trigger.mjs +56 -0
  33. package/recipes/select.css +93 -0
  34. package/recipes/select.d.ts +28 -0
  35. package/recipes/select.layered.css +108 -0
  36. package/recipes/select.layered.mjs +56 -0
  37. package/recipes/select.mjs +56 -0
  38. package/vars/component/alert-dialog.d.ts +52 -0
  39. package/vars/component/alert-dialog.mjs +52 -0
  40. package/vars/component/dialog-close-button.d.ts +24 -0
  41. package/vars/component/dialog-close-button.mjs +24 -0
  42. package/vars/component/dialog.d.ts +50 -11
  43. package/vars/component/dialog.mjs +42 -11
  44. package/vars/component/index.d.ts +7 -0
  45. package/vars/component/index.mjs +7 -0
  46. package/vars/component/menu-sheet-item.d.ts +2 -6
  47. package/vars/component/menu-sheet-item.mjs +2 -6
  48. package/vars/component/quantity-picker-button.d.ts +78 -0
  49. package/vars/component/quantity-picker-button.mjs +78 -0
  50. package/vars/component/quantity-picker.d.ts +80 -0
  51. package/vars/component/quantity-picker.mjs +80 -0
  52. package/vars/component/select-item.d.ts +101 -0
  53. package/vars/component/select-item.mjs +95 -0
  54. package/vars/component/select-trigger.d.ts +127 -0
  55. package/vars/component/select-trigger.mjs +120 -0
  56. package/vars/component/select.d.ts +62 -0
  57. package/vars/component/select.mjs +54 -0
@@ -0,0 +1,273 @@
1
+ @layer seed-components {
2
+ .seed-quantity-picker__root {
3
+ box-sizing: border-box;
4
+ background-color: var(--seed-color-bg-layer-default);
5
+ width: fit-content;
6
+ box-shadow: inset 0 0 0 1px var(--seed-color-stroke-neutral-weak);
7
+ align-items: center;
8
+ display: inline-flex;
9
+ }
10
+
11
+ .seed-quantity-picker__root:is(:invalid, [data-invalid]) {
12
+ box-shadow: inset 0 0 0 2px var(--seed-color-stroke-critical-solid);
13
+ }
14
+
15
+ .seed-quantity-picker__decrementButton {
16
+ box-sizing: border-box;
17
+ cursor: pointer;
18
+ background-color: var(--seed-color-bg-transparent);
19
+ transition: background-color var(--seed-duration-color-transition) var(--seed-timing-function-easing), outline-color var(--seed-duration-d3) var(--seed-timing-function-easing);
20
+ outline: var(--seed-dimension-x0_5) solid transparent;
21
+ outline-offset: var(--seed-dimension-x0_5);
22
+ border: none;
23
+ flex-shrink: 0;
24
+ justify-content: center;
25
+ align-items: center;
26
+ padding: 0;
27
+ display: inline-flex;
28
+ }
29
+
30
+ .seed-quantity-picker__decrementButton:is(:focus-visible, [data-focus-visible]) {
31
+ outline: var(--seed-dimension-x0_5) solid var(--seed-color-stroke-focus-ring);
32
+ outline-offset: var(--seed-dimension-x0_5);
33
+ }
34
+
35
+ @media (hover: hover) and (pointer: fine) {
36
+ .seed-quantity-picker__decrementButton:not(:is(:disabled, [disabled], [data-disabled])):is(:hover, [data-hover]) {
37
+ background-color: var(--seed-color-bg-transparent-pressed);
38
+ }
39
+ }
40
+
41
+ @media not all and (hover: hover) and (pointer: fine) {
42
+ .seed-quantity-picker__decrementButton:not(:is(:disabled, [disabled], [data-disabled])):is(:active, [data-active]) {
43
+ background-color: var(--seed-color-bg-transparent-pressed);
44
+ }
45
+ }
46
+
47
+ .seed-quantity-picker__decrementButton:is(:disabled, [disabled], [data-disabled]) {
48
+ cursor: not-allowed;
49
+ }
50
+
51
+ .seed-quantity-picker__decrementButton[data-loading] {
52
+ background-color: var(--seed-color-bg-transparent-pressed);
53
+ }
54
+
55
+ .seed-quantity-picker__decrementIcon {
56
+ color: var(--seed-color-fg-neutral);
57
+ --track-color: var(--seed-color-palette-gray-500);
58
+ --range-color: var(--seed-color-fg-neutral);
59
+ flex-shrink: 0;
60
+ }
61
+
62
+ .seed-quantity-picker__decrementIcon:is(:disabled, [disabled], [data-disabled]) {
63
+ color: var(--seed-color-fg-disabled);
64
+ }
65
+
66
+ .seed-quantity-picker__valueDisplay {
67
+ box-sizing: border-box;
68
+ font-weight: var(--seed-font-weight-medium);
69
+ color: var(--seed-color-fg-neutral);
70
+ flex-shrink: 0;
71
+ justify-content: center;
72
+ align-items: center;
73
+ display: grid;
74
+ }
75
+
76
+ .seed-quantity-picker__valueDisplay:is(:disabled, [disabled], [data-disabled]) {
77
+ color: var(--seed-color-fg-disabled);
78
+ }
79
+
80
+ .seed-quantity-picker__valueDisplayPlaceholder {
81
+ visibility: hidden;
82
+ font-variant-numeric: tabular-nums;
83
+ grid-area: 1 / 1;
84
+ }
85
+
86
+ .seed-quantity-picker__valueDisplayText {
87
+ text-align: center;
88
+ font-variant-numeric: tabular-nums;
89
+ grid-area: 1 / 1;
90
+ }
91
+
92
+ .seed-quantity-picker__divider {
93
+ background-color: var(--seed-color-stroke-neutral-subtle);
94
+ flex-shrink: 0;
95
+ }
96
+
97
+ .seed-quantity-picker__incrementButton {
98
+ box-sizing: border-box;
99
+ cursor: pointer;
100
+ background-color: var(--seed-color-bg-transparent);
101
+ transition: background-color var(--seed-duration-color-transition) var(--seed-timing-function-easing), outline-color var(--seed-duration-d3) var(--seed-timing-function-easing);
102
+ outline: var(--seed-dimension-x0_5) solid transparent;
103
+ outline-offset: var(--seed-dimension-x0_5);
104
+ border: none;
105
+ flex-shrink: 0;
106
+ justify-content: center;
107
+ align-items: center;
108
+ padding: 0;
109
+ display: inline-flex;
110
+ }
111
+
112
+ .seed-quantity-picker__incrementButton:is(:focus-visible, [data-focus-visible]) {
113
+ outline: var(--seed-dimension-x0_5) solid var(--seed-color-stroke-focus-ring);
114
+ outline-offset: var(--seed-dimension-x0_5);
115
+ }
116
+
117
+ @media (hover: hover) and (pointer: fine) {
118
+ .seed-quantity-picker__incrementButton:not(:is(:disabled, [disabled], [data-disabled])):is(:hover, [data-hover]) {
119
+ background-color: var(--seed-color-bg-transparent-pressed);
120
+ }
121
+ }
122
+
123
+ @media not all and (hover: hover) and (pointer: fine) {
124
+ .seed-quantity-picker__incrementButton:not(:is(:disabled, [disabled], [data-disabled])):is(:active, [data-active]) {
125
+ background-color: var(--seed-color-bg-transparent-pressed);
126
+ }
127
+ }
128
+
129
+ .seed-quantity-picker__incrementButton:is(:disabled, [disabled], [data-disabled]) {
130
+ cursor: not-allowed;
131
+ }
132
+
133
+ .seed-quantity-picker__incrementButton[data-loading] {
134
+ background-color: var(--seed-color-bg-transparent-pressed);
135
+ }
136
+
137
+ .seed-quantity-picker__incrementIcon {
138
+ color: var(--seed-color-fg-neutral);
139
+ --track-color: var(--seed-color-palette-gray-500);
140
+ --range-color: var(--seed-color-fg-neutral);
141
+ flex-shrink: 0;
142
+ }
143
+
144
+ .seed-quantity-picker__incrementIcon:is(:disabled, [disabled], [data-disabled]) {
145
+ color: var(--seed-color-fg-disabled);
146
+ }
147
+
148
+ .seed-quantity-picker__root--size_small {
149
+ height: var(--seed-dimension-x9);
150
+ border-radius: var(--seed-radius-r2);
151
+ }
152
+
153
+ .seed-quantity-picker__decrementButton--size_small {
154
+ width: var(--seed-dimension-x9);
155
+ height: var(--seed-dimension-x9);
156
+ border-radius: var(--seed-radius-r2);
157
+ }
158
+
159
+ .seed-quantity-picker__decrementIcon--size_small {
160
+ --size: 16px;
161
+ --thickness: 2px;
162
+ width: 16px;
163
+ height: 16px;
164
+ }
165
+
166
+ .seed-quantity-picker__valueDisplay--size_small {
167
+ padding-inline: var(--seed-dimension-x2);
168
+ font-size: var(--seed-font-size-t5);
169
+ line-height: var(--seed-line-height-t5);
170
+ }
171
+
172
+ .seed-quantity-picker__divider--size_small {
173
+ width: 1px;
174
+ height: var(--seed-dimension-x4);
175
+ }
176
+
177
+ .seed-quantity-picker__incrementButton--size_small {
178
+ width: var(--seed-dimension-x9);
179
+ height: var(--seed-dimension-x9);
180
+ border-radius: var(--seed-radius-r2);
181
+ }
182
+
183
+ .seed-quantity-picker__incrementIcon--size_small {
184
+ --size: 16px;
185
+ --thickness: 2px;
186
+ width: 16px;
187
+ height: 16px;
188
+ }
189
+
190
+ .seed-quantity-picker__root--size_medium {
191
+ height: var(--seed-dimension-x10);
192
+ border-radius: var(--seed-radius-r2);
193
+ }
194
+
195
+ .seed-quantity-picker__decrementButton--size_medium {
196
+ width: var(--seed-dimension-x10);
197
+ height: var(--seed-dimension-x10);
198
+ border-radius: var(--seed-radius-r2);
199
+ }
200
+
201
+ .seed-quantity-picker__decrementIcon--size_medium {
202
+ --size: 18px;
203
+ --thickness: 2px;
204
+ width: 18px;
205
+ height: 18px;
206
+ }
207
+
208
+ .seed-quantity-picker__valueDisplay--size_medium {
209
+ padding-inline: var(--seed-dimension-x2);
210
+ font-size: var(--seed-font-size-t5);
211
+ line-height: var(--seed-line-height-t5);
212
+ }
213
+
214
+ .seed-quantity-picker__divider--size_medium {
215
+ width: 1px;
216
+ height: var(--seed-dimension-x4);
217
+ }
218
+
219
+ .seed-quantity-picker__incrementButton--size_medium {
220
+ width: var(--seed-dimension-x10);
221
+ height: var(--seed-dimension-x10);
222
+ border-radius: var(--seed-radius-r2);
223
+ }
224
+
225
+ .seed-quantity-picker__incrementIcon--size_medium {
226
+ --size: 18px;
227
+ --thickness: 2px;
228
+ width: 18px;
229
+ height: 18px;
230
+ }
231
+
232
+ .seed-quantity-picker__root--size_large {
233
+ height: var(--seed-dimension-x13);
234
+ border-radius: var(--seed-radius-r3);
235
+ }
236
+
237
+ .seed-quantity-picker__decrementButton--size_large {
238
+ width: var(--seed-dimension-x13);
239
+ height: var(--seed-dimension-x13);
240
+ border-radius: var(--seed-radius-r3);
241
+ }
242
+
243
+ .seed-quantity-picker__decrementIcon--size_large {
244
+ --size: 22px;
245
+ --thickness: 2px;
246
+ width: 22px;
247
+ height: 22px;
248
+ }
249
+
250
+ .seed-quantity-picker__valueDisplay--size_large {
251
+ padding-inline: var(--seed-dimension-x2);
252
+ font-size: var(--seed-font-size-t6);
253
+ line-height: var(--seed-line-height-t6);
254
+ }
255
+
256
+ .seed-quantity-picker__divider--size_large {
257
+ width: 1px;
258
+ height: var(--seed-dimension-x4);
259
+ }
260
+
261
+ .seed-quantity-picker__incrementButton--size_large {
262
+ width: var(--seed-dimension-x13);
263
+ height: var(--seed-dimension-x13);
264
+ border-radius: var(--seed-radius-r3);
265
+ }
266
+
267
+ .seed-quantity-picker__incrementIcon--size_large {
268
+ --size: 22px;
269
+ --thickness: 2px;
270
+ width: 22px;
271
+ height: 22px;
272
+ }
273
+ }
@@ -0,0 +1,72 @@
1
+ import './quantity-picker.layered.css';
2
+ import { createClassName, mergeVariants, splitVariantProps } from "./shared.mjs";
3
+
4
+ const quantityPickerSlotNames = [
5
+ [
6
+ "root",
7
+ "seed-quantity-picker__root"
8
+ ],
9
+ [
10
+ "decrementButton",
11
+ "seed-quantity-picker__decrementButton"
12
+ ],
13
+ [
14
+ "decrementIcon",
15
+ "seed-quantity-picker__decrementIcon"
16
+ ],
17
+ [
18
+ "valueDisplay",
19
+ "seed-quantity-picker__valueDisplay"
20
+ ],
21
+ [
22
+ "valueDisplayPlaceholder",
23
+ "seed-quantity-picker__valueDisplayPlaceholder"
24
+ ],
25
+ [
26
+ "valueDisplayText",
27
+ "seed-quantity-picker__valueDisplayText"
28
+ ],
29
+ [
30
+ "divider",
31
+ "seed-quantity-picker__divider"
32
+ ],
33
+ [
34
+ "incrementButton",
35
+ "seed-quantity-picker__incrementButton"
36
+ ],
37
+ [
38
+ "incrementIcon",
39
+ "seed-quantity-picker__incrementIcon"
40
+ ]
41
+ ];
42
+
43
+ const defaultVariant = {
44
+ "size": "medium"
45
+ };
46
+
47
+ const compoundVariants = [];
48
+
49
+ export const quantityPickerVariantMap = {
50
+ "size": [
51
+ "small",
52
+ "medium",
53
+ "large"
54
+ ]
55
+ };
56
+
57
+ export const quantityPickerVariantKeys = Object.keys(quantityPickerVariantMap);
58
+
59
+ export function quantityPicker(props) {
60
+ return Object.fromEntries(
61
+ quantityPickerSlotNames.map(([slot, className]) => {
62
+ return [
63
+ slot,
64
+ createClassName(className, mergeVariants(defaultVariant, props), compoundVariants),
65
+ ];
66
+ }),
67
+ );
68
+ }
69
+
70
+ Object.assign(quantityPicker, { splitVariantProps: (props) => splitVariantProps(props, quantityPickerVariantMap) });
71
+
72
+ // @recipe(seed): quantity-picker
@@ -0,0 +1,72 @@
1
+ import './quantity-picker.css';
2
+ import { createClassName, mergeVariants, splitVariantProps } from "./shared.mjs";
3
+
4
+ const quantityPickerSlotNames = [
5
+ [
6
+ "root",
7
+ "seed-quantity-picker__root"
8
+ ],
9
+ [
10
+ "decrementButton",
11
+ "seed-quantity-picker__decrementButton"
12
+ ],
13
+ [
14
+ "decrementIcon",
15
+ "seed-quantity-picker__decrementIcon"
16
+ ],
17
+ [
18
+ "valueDisplay",
19
+ "seed-quantity-picker__valueDisplay"
20
+ ],
21
+ [
22
+ "valueDisplayPlaceholder",
23
+ "seed-quantity-picker__valueDisplayPlaceholder"
24
+ ],
25
+ [
26
+ "valueDisplayText",
27
+ "seed-quantity-picker__valueDisplayText"
28
+ ],
29
+ [
30
+ "divider",
31
+ "seed-quantity-picker__divider"
32
+ ],
33
+ [
34
+ "incrementButton",
35
+ "seed-quantity-picker__incrementButton"
36
+ ],
37
+ [
38
+ "incrementIcon",
39
+ "seed-quantity-picker__incrementIcon"
40
+ ]
41
+ ];
42
+
43
+ const defaultVariant = {
44
+ "size": "medium"
45
+ };
46
+
47
+ const compoundVariants = [];
48
+
49
+ export const quantityPickerVariantMap = {
50
+ "size": [
51
+ "small",
52
+ "medium",
53
+ "large"
54
+ ]
55
+ };
56
+
57
+ export const quantityPickerVariantKeys = Object.keys(quantityPickerVariantMap);
58
+
59
+ export function quantityPicker(props) {
60
+ return Object.fromEntries(
61
+ quantityPickerSlotNames.map(([slot, className]) => {
62
+ return [
63
+ slot,
64
+ createClassName(className, mergeVariants(defaultVariant, props), compoundVariants),
65
+ ];
66
+ }),
67
+ );
68
+ }
69
+
70
+ Object.assign(quantityPicker, { splitVariantProps: (props) => splitVariantProps(props, quantityPickerVariantMap) });
71
+
72
+ // @recipe(seed): quantity-picker
@@ -0,0 +1,161 @@
1
+ .seed-select-item__root {
2
+ position: relative;
3
+ scroll-margin-block: var(--seed-dimension-x2);
4
+ display: flex;
5
+ align-items: center;
6
+ padding-inline: var(--seed-dimension-x4);
7
+ outline: none;
8
+ cursor: default;
9
+ user-select: none;
10
+ background: none;
11
+ border: none;
12
+ font-family: inherit;
13
+ color: inherit;
14
+ text-decoration: none;
15
+ margin: 0;
16
+ text-align: start;
17
+ isolation: isolate;
18
+ }
19
+ .seed-select-item__root::before {
20
+ content: "";
21
+ position: absolute;
22
+ inset: 0;
23
+ z-index: -1;
24
+ border-radius: var(--seed-radius-r3);
25
+ transition: background-color var(--seed-duration-color-transition) var(--seed-timing-function-easing), inset-inline var(--seed-duration-d3) var(--seed-timing-function-easing);
26
+ }
27
+ .seed-select-item__root:not(:is(:disabled, [disabled], [data-disabled])):is(:active, [data-active])::before {
28
+ background-color: var(--seed-color-bg-transparent-pressed);
29
+ inset-inline: var(--seed-dimension-x2);
30
+ }
31
+ .seed-select-item__root:not(:is(:disabled, [disabled], [data-disabled]))[data-highlighted]::before {
32
+ background-color: var(--seed-color-bg-transparent-pressed);
33
+ inset-inline: var(--seed-dimension-x2);
34
+ }
35
+ .seed-select-item__root:is(:disabled, [disabled], [data-disabled]) {
36
+ cursor: not-allowed;
37
+ }
38
+ .seed-select-item__prefixIcon {
39
+ flex-shrink: 0;
40
+ color: var(--seed-color-fg-neutral);
41
+ }
42
+ .seed-select-item__prefixIcon:is(:disabled, [disabled], [data-disabled]) {
43
+ color: var(--seed-color-fg-disabled);
44
+ }
45
+ .seed-select-item__body {
46
+ display: flex;
47
+ flex-direction: column;
48
+ flex-grow: 1;
49
+ gap: var(--seed-dimension-x0_5);
50
+ }
51
+ .seed-select-item__label {
52
+ font-weight: var(--seed-font-weight-regular);
53
+ color: var(--seed-color-fg-neutral);
54
+ }
55
+ .seed-select-item__label:is(:disabled, [disabled], [data-disabled]) {
56
+ color: var(--seed-color-fg-disabled);
57
+ }
58
+ .seed-select-item__description {
59
+ font-weight: var(--seed-font-weight-regular);
60
+ color: var(--seed-color-fg-neutral-subtle);
61
+ }
62
+ .seed-select-item__description:is(:disabled, [disabled], [data-disabled]) {
63
+ color: var(--seed-color-fg-disabled);
64
+ }
65
+ .seed-select-item__indicator {
66
+ flex-shrink: 0;
67
+ color: var(--seed-color-fg-neutral);
68
+ }
69
+ .seed-select-item__indicator:is(:disabled, [disabled], [data-disabled]) {
70
+ color: var(--seed-color-fg-disabled);
71
+ }
72
+ .seed-select-item__root--size_large {
73
+ padding-block: var(--seed-dimension-x3);
74
+ gap: var(--seed-dimension-x3);
75
+ }
76
+ .seed-select-item__prefixIcon--size_large {
77
+ width: 22px;
78
+ height: 22px;
79
+ }
80
+ .seed-select-item__label--size_large {
81
+ font-size: var(--seed-font-size-t5);
82
+ line-height: var(--seed-line-height-t5);
83
+ }
84
+ .seed-select-item__description--size_large {
85
+ font-size: var(--seed-font-size-t3);
86
+ line-height: var(--seed-line-height-t3);
87
+ }
88
+ .seed-select-item__indicator--size_large {
89
+ width: var(--seed-dimension-x3_5);
90
+ height: var(--seed-dimension-x3_5);
91
+ }
92
+ .seed-select-item__root--size_medium {
93
+ padding-block: var(--seed-dimension-x2_5);
94
+ gap: var(--seed-dimension-x2);
95
+ }
96
+ .seed-select-item__prefixIcon--size_medium {
97
+ width: var(--seed-dimension-x4_5);
98
+ height: var(--seed-dimension-x4_5);
99
+ }
100
+ .seed-select-item__label--size_medium {
101
+ font-size: var(--seed-font-size-t4);
102
+ line-height: var(--seed-line-height-t4);
103
+ }
104
+ .seed-select-item__description--size_medium {
105
+ font-size: var(--seed-font-size-t2);
106
+ line-height: var(--seed-line-height-t2);
107
+ }
108
+ .seed-select-item__indicator--size_medium {
109
+ width: var(--seed-dimension-x3);
110
+ height: var(--seed-dimension-x3);
111
+ }
112
+ .seed-select-item__root--size_responsive {
113
+ padding-block: var(--seed-dimension-x3);
114
+ gap: var(--seed-dimension-x3);
115
+ }
116
+ @media (min-width: 1280px) {
117
+ .seed-select-item__root--size_responsive {
118
+ padding-block: var(--seed-dimension-x2_5);
119
+ gap: var(--seed-dimension-x2);
120
+ }
121
+ }
122
+ .seed-select-item__prefixIcon--size_responsive {
123
+ width: 22px;
124
+ height: 22px;
125
+ }
126
+ @media (min-width: 1280px) {
127
+ .seed-select-item__prefixIcon--size_responsive {
128
+ width: var(--seed-dimension-x4_5);
129
+ height: var(--seed-dimension-x4_5);
130
+ }
131
+ }
132
+ .seed-select-item__label--size_responsive {
133
+ font-size: var(--seed-font-size-t5);
134
+ line-height: var(--seed-line-height-t5);
135
+ }
136
+ @media (min-width: 1280px) {
137
+ .seed-select-item__label--size_responsive {
138
+ font-size: var(--seed-font-size-t4);
139
+ line-height: var(--seed-line-height-t4);
140
+ }
141
+ }
142
+ .seed-select-item__description--size_responsive {
143
+ font-size: var(--seed-font-size-t3);
144
+ line-height: var(--seed-line-height-t3);
145
+ }
146
+ @media (min-width: 1280px) {
147
+ .seed-select-item__description--size_responsive {
148
+ font-size: var(--seed-font-size-t2);
149
+ line-height: var(--seed-line-height-t2);
150
+ }
151
+ }
152
+ .seed-select-item__indicator--size_responsive {
153
+ width: var(--seed-dimension-x3_5);
154
+ height: var(--seed-dimension-x3_5);
155
+ }
156
+ @media (min-width: 1280px) {
157
+ .seed-select-item__indicator--size_responsive {
158
+ width: var(--seed-dimension-x3);
159
+ height: var(--seed-dimension-x3);
160
+ }
161
+ }
@@ -0,0 +1,28 @@
1
+ declare interface SelectItemVariant {
2
+ /**
3
+ * - `large`: 뷰포트 너비와 관계없이 사용할 수 있습니다.
4
+ * - `medium`: Breakpoint `lg` 이상(데스크톱)에서만 사용하고, 모바일에서는 사용하지 않습니다. 정밀한 선택이 가능한 마우스 입력 환경에서 사이즈를 더 작게 만들고자 할 때 사용합니다.
5
+ * - `responsive`: 뷰포트 너비에 따라 적용되는 사이즈가 달라집니다. Breakpoint `lg` 미만에서는 `large`, `lg` 이상에서는 `medium`으로 적용됩니다.
6
+ *
7
+ * @default "large"
8
+ */
9
+ size: "large" | "medium" | "responsive";
10
+ }
11
+
12
+ declare type SelectItemVariantMap = {
13
+ [key in keyof SelectItemVariant]: Array<SelectItemVariant[key]>;
14
+ };
15
+
16
+ export declare type SelectItemVariantProps = Partial<SelectItemVariant>;
17
+
18
+ export declare type SelectItemSlotName = "root" | "prefixIcon" | "body" | "label" | "description" | "indicator";
19
+
20
+ export declare const selectItemVariantMap: SelectItemVariantMap;
21
+
22
+ export declare const selectItem: ((
23
+ props?: SelectItemVariantProps,
24
+ ) => Record<SelectItemSlotName, string>) & {
25
+ splitVariantProps: <T extends SelectItemVariantProps>(
26
+ props: T,
27
+ ) => [SelectItemVariantProps, Omit<T, keyof SelectItemVariantProps>];
28
+ }