@seed-design/css 1.0.6 → 1.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 (69) hide show
  1. package/all.css +885 -514
  2. package/all.min.css +1 -1
  3. package/base.css +32 -0
  4. package/base.min.css +1 -1
  5. package/package.json +1 -1
  6. package/recipes/action-button.css +8 -1
  7. package/recipes/app-screen.css +16 -0
  8. package/recipes/app-screen.d.ts +4 -0
  9. package/recipes/app-screen.mjs +6 -1
  10. package/recipes/article.css +0 -3
  11. package/recipes/bottom-sheet-handle.css +24 -0
  12. package/recipes/bottom-sheet-handle.d.ts +21 -0
  13. package/recipes/bottom-sheet-handle.mjs +36 -0
  14. package/recipes/bottom-sheet.css +55 -32
  15. package/recipes/callout.css +2 -0
  16. package/recipes/field-label.css +29 -0
  17. package/recipes/field-label.d.ts +24 -0
  18. package/recipes/field-label.mjs +47 -0
  19. package/recipes/field.css +63 -0
  20. package/recipes/field.d.ts +21 -0
  21. package/recipes/field.mjs +60 -0
  22. package/recipes/input-button.css +98 -0
  23. package/recipes/input-button.d.ts +21 -0
  24. package/recipes/input-button.mjs +64 -0
  25. package/recipes/list-item.css +1 -1
  26. package/recipes/page-banner.css +6 -1
  27. package/recipes/page-banner.d.ts +1 -1
  28. package/recipes/page-banner.mjs +6 -2
  29. package/recipes/slider-marker.css +42 -0
  30. package/recipes/slider-marker.d.ts +22 -0
  31. package/recipes/slider-marker.mjs +30 -0
  32. package/recipes/slider-tick.css +19 -0
  33. package/recipes/slider-tick.d.ts +22 -0
  34. package/recipes/slider-tick.mjs +29 -0
  35. package/recipes/slider.css +174 -0
  36. package/recipes/slider.d.ts +21 -0
  37. package/recipes/slider.mjs +68 -0
  38. package/recipes/text-input.css +156 -0
  39. package/recipes/text-input.d.ts +24 -0
  40. package/recipes/text-input.mjs +59 -0
  41. package/vars/component/bottom-sheet-handle.d.ts +24 -0
  42. package/vars/component/bottom-sheet-handle.mjs +24 -0
  43. package/vars/component/bottom-sheet.d.ts +2 -2
  44. package/vars/component/bottom-sheet.mjs +2 -2
  45. package/vars/component/field-label.d.ts +25 -0
  46. package/vars/component/field-label.mjs +25 -0
  47. package/vars/component/field.d.ts +72 -0
  48. package/vars/component/field.mjs +72 -0
  49. package/vars/component/index.d.ts +8 -1
  50. package/vars/component/index.mjs +8 -1
  51. package/vars/component/input-button.d.ts +78 -0
  52. package/vars/component/input-button.mjs +78 -0
  53. package/vars/component/list-item.d.ts +1 -1
  54. package/vars/component/list-item.mjs +1 -1
  55. package/vars/component/page-banner.d.ts +1 -1
  56. package/vars/component/page-banner.mjs +1 -1
  57. package/vars/component/slider-thumb.d.ts +25 -0
  58. package/vars/component/slider-thumb.mjs +25 -0
  59. package/vars/component/slider-tick.d.ts +23 -0
  60. package/vars/component/slider-tick.mjs +23 -0
  61. package/vars/component/slider.d.ts +74 -0
  62. package/vars/component/slider.mjs +74 -0
  63. package/vars/component/text-input.d.ts +162 -0
  64. package/vars/component/text-input.mjs +162 -0
  65. package/recipes/text-field.css +0 -379
  66. package/recipes/text-field.d.ts +0 -24
  67. package/recipes/text-field.mjs +0 -104
  68. package/vars/component/text-field.d.ts +0 -294
  69. package/vars/component/text-field.mjs +0 -294
@@ -1,379 +0,0 @@
1
- .seed-text-field__root {
2
- display: flex;
3
- flex-direction: column;
4
- width: 100%;
5
- }
6
- .seed-text-field__header {}
7
- .seed-text-field__label {
8
- color: var(--seed-color-fg-neutral);
9
- font-weight: var(--seed-font-weight-bold);
10
- }
11
- .seed-text-field__indicator {
12
- color: var(--seed-color-fg-neutral);
13
- font-weight: var(--seed-font-weight-regular);
14
- }
15
- .seed-text-field__field {
16
- display: flex;
17
- align-items: center;
18
- border-style: solid;
19
- border-width: 1px;
20
- border-color: var(--seed-color-stroke-neutral-weak);
21
- overflow: hidden;
22
- }
23
- .seed-text-field__field:not(:is([data-readonly])):is(:focus, [data-focus]) {
24
- border-color: var(--seed-color-stroke-neutral-contrast);
25
- }
26
- .seed-text-field__field:is(:invalid, [data-invalid]) {
27
- background-color: var(--seed-color-bg-critical-weak);
28
- border-color: var(--seed-color-stroke-critical-weak);
29
- }
30
- .seed-text-field__field:is(:invalid, [data-invalid]):is(:focus, [data-focus]) {
31
- background-color: #00000000;
32
- }
33
- .seed-text-field__field:is(:disabled, [disabled], [data-disabled]) {
34
- background-color: var(--seed-color-bg-disabled);
35
- }
36
- .seed-text-field__field:is([data-readonly]) {
37
- background-color: var(--seed-color-bg-disabled);
38
- }
39
- .seed-text-field__prefixText {
40
- color: var(--seed-color-fg-neutral);
41
- }
42
- .seed-text-field__prefixText:is(:disabled, [disabled], [data-disabled]) {
43
- color: var(--seed-color-fg-disabled);
44
- }
45
- .seed-text-field__prefixIcon {
46
- color: var(--seed-color-fg-neutral);
47
- flex-shrink: 0;
48
- }
49
- .seed-text-field__prefixIcon:is(:disabled, [disabled], [data-disabled]) {
50
- color: var(--seed-color-fg-disabled);
51
- }
52
- .seed-text-field__suffixText {
53
- color: var(--seed-color-fg-neutral);
54
- }
55
- .seed-text-field__suffixText:is(:disabled, [disabled], [data-disabled]) {
56
- color: var(--seed-color-fg-disabled);
57
- }
58
- .seed-text-field__suffixIcon {
59
- color: var(--seed-color-fg-neutral);
60
- flex-shrink: 0;
61
- }
62
- .seed-text-field__suffixIcon:is(:disabled, [disabled], [data-disabled]) {
63
- color: var(--seed-color-fg-disabled);
64
- }
65
- .seed-text-field__value {
66
- box-sizing: border-box;
67
- font: inherit;
68
- background: none;
69
- border: none;
70
- outline: none;
71
- resize: none;
72
- height: 100%;
73
- flex-grow: 1;
74
- color: var(--seed-color-fg-neutral);
75
- }
76
- .seed-text-field__value:is(input) {
77
- padding-inline: 0;
78
- width: 0;
79
- }
80
- .seed-text-field__value:is(textarea) {
81
- padding-inline: 0;
82
- min-height: 90px;
83
- width: 100%;
84
- }
85
- .seed-text-field__value::placeholder {
86
- color: var(--seed-color-fg-placeholder);
87
- }
88
- .seed-text-field__value:is(:disabled, [disabled], [data-disabled]) {
89
- color: var(--seed-color-fg-disabled);
90
- }
91
- .seed-text-field__value:is(:disabled, [disabled], [data-disabled])::placeholder {
92
- color: var(--seed-color-fg-disabled);
93
- }
94
- .seed-text-field__footer {
95
- display: flex;
96
- align-items: flex-start;
97
- justify-content: space-between;
98
- }
99
- .seed-text-field__description {
100
- font-weight: var(--seed-font-weight-regular);
101
- color: var(--seed-color-fg-neutral-subtle);
102
- }
103
- .seed-text-field__errorMessage {
104
- display: flex;
105
- flex-direction: row;
106
- align-items: center;
107
- color: var(--seed-color-fg-critical);
108
- }
109
- .seed-text-field__errorIcon {
110
- flex: none;
111
- flex-shrink: 0;
112
- }
113
- .seed-text-field__characterCountArea {
114
- display: flex;
115
- flex: none;
116
- margin-inline-start: auto;
117
- }
118
- .seed-text-field__characterCount {
119
- color: var(--seed-color-fg-neutral);
120
- font-weight: var(--seed-font-weight-regular);
121
- }
122
- .seed-text-field__characterCount[data-empty] {
123
- color: var(--seed-color-fg-neutral-subtle);
124
- }
125
- .seed-text-field__maxCharacterCount {
126
- color: var(--seed-color-fg-neutral-subtle);
127
- font-weight: var(--seed-font-weight-regular);
128
- }
129
- .seed-text-field__header--size_xlarge {
130
- padding-bottom: var(--seed-dimension-x3);
131
- gap: var(--seed-dimension-x1_5);
132
- }
133
- .seed-text-field__label--size_xlarge {
134
- font-size: var(--seed-font-size-t5);
135
- line-height: var(--seed-line-height-t5);
136
- }
137
- .seed-text-field__indicator--size_xlarge {
138
- font-size: var(--seed-font-size-t5);
139
- line-height: var(--seed-line-height-t5);
140
- }
141
- .seed-text-field__field--size_xlarge {
142
- min-height: 56px;
143
- border-radius: var(--seed-radius-r2_5);
144
- gap: var(--seed-dimension-x2);
145
- }
146
- .seed-text-field__value--size_xlarge {
147
- padding-block: var(--seed-dimension-x3);
148
- }
149
- .seed-text-field__value--size_xlarge:first-child {
150
- padding-inline-start: var(--seed-dimension-x4);
151
- }
152
- .seed-text-field__value--size_xlarge:last-child {
153
- padding-inline-end: var(--seed-dimension-x4);
154
- }
155
- .seed-text-field__value--size_xlarge {
156
- font-size: var(--seed-font-size-t6);
157
- line-height: var(--seed-line-height-t6);
158
- }
159
- .seed-text-field__prefixText--size_xlarge {
160
- font-size: var(--seed-font-size-t6);
161
- line-height: var(--seed-line-height-t6);
162
- }
163
- .seed-text-field__prefixText--size_xlarge:first-child {
164
- margin-inline-start: var(--seed-dimension-x4);
165
- }
166
- .seed-text-field__prefixIcon--size_xlarge {
167
- width: var(--seed-dimension-x5);
168
- height: var(--seed-dimension-x5);
169
- }
170
- .seed-text-field__prefixIcon--size_xlarge:first-child {
171
- margin-inline-start: var(--seed-dimension-x4);
172
- }
173
- .seed-text-field__suffixText--size_xlarge {
174
- font-size: var(--seed-font-size-t6);
175
- line-height: var(--seed-line-height-t6);
176
- }
177
- .seed-text-field__suffixText--size_xlarge:last-child {
178
- margin-inline-end: var(--seed-dimension-x4);
179
- }
180
- .seed-text-field__suffixIcon--size_xlarge {
181
- width: var(--seed-dimension-x5);
182
- height: var(--seed-dimension-x5);
183
- }
184
- .seed-text-field__suffixIcon--size_xlarge:last-child {
185
- margin-inline-end: var(--seed-dimension-x4);
186
- }
187
- .seed-text-field__footer--size_xlarge {
188
- gap: var(--seed-dimension-x3_5);
189
- padding-top: var(--seed-dimension-x2);
190
- min-height: 20px;
191
- }
192
- .seed-text-field__description--size_xlarge {
193
- font-size: var(--seed-font-size-t4);
194
- line-height: var(--seed-line-height-t4);
195
- }
196
- .seed-text-field__errorMessage--size_xlarge {
197
- font-size: var(--seed-font-size-t4);
198
- line-height: var(--seed-line-height-t4);
199
- }
200
- .seed-text-field__errorIcon--size_xlarge {
201
- width: var(--seed-dimension-x4);
202
- height: var(--seed-dimension-x4);
203
- margin-right: var(--seed-dimension-x1);
204
- }
205
- .seed-text-field__characterCount--size_xlarge {
206
- font-size: var(--seed-font-size-t2);
207
- line-height: var(--seed-line-height-t2);
208
- }
209
- .seed-text-field__maxCharacterCount--size_xlarge {
210
- font-size: var(--seed-font-size-t2);
211
- line-height: var(--seed-line-height-t2);
212
- }
213
- .seed-text-field__header--size_large {
214
- padding-bottom: var(--seed-dimension-x3);
215
- gap: var(--seed-dimension-x1_5);
216
- }
217
- .seed-text-field__label--size_large {
218
- font-size: var(--seed-font-size-t5);
219
- line-height: var(--seed-line-height-t5);
220
- }
221
- .seed-text-field__indicator--size_large {
222
- font-size: var(--seed-font-size-t5);
223
- line-height: var(--seed-line-height-t5);
224
- }
225
- .seed-text-field__field--size_large {
226
- min-height: 52px;
227
- border-radius: var(--seed-radius-r2_5);
228
- gap: var(--seed-dimension-x2);
229
- }
230
- .seed-text-field__value--size_large {
231
- padding-block: var(--seed-dimension-x3);
232
- }
233
- .seed-text-field__value--size_large:first-child {
234
- padding-inline-start: var(--seed-dimension-x4);
235
- }
236
- .seed-text-field__value--size_large:last-child {
237
- padding-inline-end: var(--seed-dimension-x4);
238
- }
239
- .seed-text-field__value--size_large {
240
- font-size: var(--seed-font-size-t5);
241
- line-height: var(--seed-line-height-t5);
242
- }
243
- .seed-text-field__prefixText--size_large {
244
- font-size: var(--seed-font-size-t5);
245
- line-height: var(--seed-line-height-t5);
246
- }
247
- .seed-text-field__prefixText--size_large:first-child {
248
- margin-inline-start: var(--seed-dimension-x4);
249
- }
250
- .seed-text-field__prefixIcon--size_large {
251
- width: var(--seed-dimension-x5);
252
- height: var(--seed-dimension-x5);
253
- }
254
- .seed-text-field__prefixIcon--size_large:first-child {
255
- margin-inline-start: var(--seed-dimension-x4);
256
- }
257
- .seed-text-field__suffixText--size_large {
258
- font-size: var(--seed-font-size-t5);
259
- line-height: var(--seed-line-height-t5);
260
- }
261
- .seed-text-field__suffixText--size_large:last-child {
262
- margin-inline-end: var(--seed-dimension-x4);
263
- }
264
- .seed-text-field__suffixIcon--size_large {
265
- width: var(--seed-dimension-x5);
266
- height: var(--seed-dimension-x5);
267
- }
268
- .seed-text-field__suffixIcon--size_large:last-child {
269
- margin-inline-end: var(--seed-dimension-x4);
270
- }
271
- .seed-text-field__footer--size_large {
272
- gap: var(--seed-dimension-x3_5);
273
- padding-top: var(--seed-dimension-x2);
274
- min-height: 20px;
275
- }
276
- .seed-text-field__description--size_large {
277
- font-size: var(--seed-font-size-t4);
278
- line-height: var(--seed-line-height-t4);
279
- }
280
- .seed-text-field__errorMessage--size_large {
281
- font-size: var(--seed-font-size-t4);
282
- line-height: var(--seed-line-height-t4);
283
- }
284
- .seed-text-field__errorIcon--size_large {
285
- width: var(--seed-dimension-x4);
286
- height: var(--seed-dimension-x4);
287
- margin-right: var(--seed-dimension-x1);
288
- }
289
- .seed-text-field__characterCount--size_large {
290
- font-size: var(--seed-font-size-t2);
291
- line-height: var(--seed-line-height-t2);
292
- }
293
- .seed-text-field__maxCharacterCount--size_large {
294
- font-size: var(--seed-font-size-t2);
295
- line-height: var(--seed-line-height-t2);
296
- }
297
- .seed-text-field__header--size_medium {
298
- padding-bottom: var(--seed-dimension-x3);
299
- }
300
- .seed-text-field__label--size_medium {
301
- font-size: var(--seed-font-size-t4);
302
- line-height: var(--seed-line-height-t4);
303
- }
304
- .seed-text-field__indicator--size_medium {
305
- font-size: var(--seed-font-size-t4);
306
- line-height: var(--seed-line-height-t4);
307
- }
308
- .seed-text-field__field--size_medium {
309
- min-height: 40px;
310
- border-radius: var(--seed-radius-r2);
311
- gap: var(--seed-dimension-x1_5);
312
- }
313
- .seed-text-field__value--size_medium {
314
- padding-block: var(--seed-dimension-x2_5);
315
- }
316
- .seed-text-field__value--size_medium:first-child {
317
- padding-inline-start: var(--seed-dimension-x3_5);
318
- }
319
- .seed-text-field__value--size_medium:last-child {
320
- padding-inline-end: var(--seed-dimension-x3_5);
321
- }
322
- .seed-text-field__value--size_medium {
323
- font-size: var(--seed-font-size-t4);
324
- line-height: var(--seed-line-height-t4);
325
- }
326
- .seed-text-field__prefixText--size_medium {
327
- font-size: var(--seed-font-size-t4);
328
- line-height: var(--seed-line-height-t4);
329
- }
330
- .seed-text-field__prefixText--size_medium:first-child {
331
- margin-inline-start: var(--seed-dimension-x3_5);
332
- }
333
- .seed-text-field__prefixIcon--size_medium {
334
- width: var(--seed-dimension-x4);
335
- height: var(--seed-dimension-x4);
336
- }
337
- .seed-text-field__prefixIcon--size_medium:first-child {
338
- margin-inline-start: var(--seed-dimension-x3_5);
339
- }
340
- .seed-text-field__suffixText--size_medium {
341
- font-size: var(--seed-font-size-t4);
342
- line-height: var(--seed-line-height-t4);
343
- }
344
- .seed-text-field__suffixText--size_medium:last-child {
345
- margin-inline-end: var(--seed-dimension-x3_5);
346
- }
347
- .seed-text-field__suffixIcon--size_medium {
348
- width: var(--seed-dimension-x4);
349
- height: var(--seed-dimension-x4);
350
- }
351
- .seed-text-field__suffixIcon--size_medium:last-child {
352
- margin-inline-end: var(--seed-dimension-x3_5);
353
- }
354
- .seed-text-field__footer--size_medium {
355
- gap: var(--seed-dimension-x3_5);
356
- padding-top: var(--seed-dimension-x2);
357
- min-height: var(--seed-dimension-x4);
358
- }
359
- .seed-text-field__description--size_medium {
360
- font-size: var(--seed-font-size-t2);
361
- line-height: var(--seed-line-height-t2);
362
- }
363
- .seed-text-field__errorMessage--size_medium {
364
- font-size: var(--seed-font-size-t2);
365
- line-height: var(--seed-line-height-t2);
366
- }
367
- .seed-text-field__errorIcon--size_medium {
368
- width: var(--seed-dimension-x3_5);
369
- height: var(--seed-dimension-x3_5);
370
- margin-right: var(--seed-dimension-x1);
371
- }
372
- .seed-text-field__characterCount--size_medium {
373
- font-size: var(--seed-font-size-t2);
374
- line-height: var(--seed-line-height-t2);
375
- }
376
- .seed-text-field__maxCharacterCount--size_medium {
377
- font-size: var(--seed-font-size-t2);
378
- line-height: var(--seed-line-height-t2);
379
- }
@@ -1,24 +0,0 @@
1
- declare interface TextFieldVariant {
2
- /**
3
- * @default "medium"
4
- */
5
- size: "xlarge" | "large" | "medium";
6
- }
7
-
8
- declare type TextFieldVariantMap = {
9
- [key in keyof TextFieldVariant]: Array<TextFieldVariant[key]>;
10
- };
11
-
12
- export declare type TextFieldVariantProps = Partial<TextFieldVariant>;
13
-
14
- export declare type TextFieldSlotName = "root" | "header" | "label" | "indicator" | "field" | "value" | "prefixText" | "prefixIcon" | "suffixText" | "suffixIcon" | "footer" | "description" | "errorMessage" | "errorIcon" | "characterCountArea" | "characterCount" | "maxCharacterCount";
15
-
16
- export declare const textFieldVariantMap: TextFieldVariantMap;
17
-
18
- export declare const textField: ((
19
- props?: TextFieldVariantProps,
20
- ) => Record<TextFieldSlotName, string>) & {
21
- splitVariantProps: <T extends TextFieldVariantProps>(
22
- props: T,
23
- ) => [TextFieldVariantProps, Omit<T, keyof TextFieldVariantProps>];
24
- }
@@ -1,104 +0,0 @@
1
- import './text-field.css';
2
- import { createClassName, mergeVariants, splitVariantProps } from "./shared.mjs";
3
-
4
- const textFieldSlotNames = [
5
- [
6
- "root",
7
- "seed-text-field__root"
8
- ],
9
- [
10
- "header",
11
- "seed-text-field__header"
12
- ],
13
- [
14
- "label",
15
- "seed-text-field__label"
16
- ],
17
- [
18
- "indicator",
19
- "seed-text-field__indicator"
20
- ],
21
- [
22
- "field",
23
- "seed-text-field__field"
24
- ],
25
- [
26
- "value",
27
- "seed-text-field__value"
28
- ],
29
- [
30
- "prefixText",
31
- "seed-text-field__prefixText"
32
- ],
33
- [
34
- "prefixIcon",
35
- "seed-text-field__prefixIcon"
36
- ],
37
- [
38
- "suffixText",
39
- "seed-text-field__suffixText"
40
- ],
41
- [
42
- "suffixIcon",
43
- "seed-text-field__suffixIcon"
44
- ],
45
- [
46
- "footer",
47
- "seed-text-field__footer"
48
- ],
49
- [
50
- "description",
51
- "seed-text-field__description"
52
- ],
53
- [
54
- "errorMessage",
55
- "seed-text-field__errorMessage"
56
- ],
57
- [
58
- "errorIcon",
59
- "seed-text-field__errorIcon"
60
- ],
61
- [
62
- "characterCountArea",
63
- "seed-text-field__characterCountArea"
64
- ],
65
- [
66
- "characterCount",
67
- "seed-text-field__characterCount"
68
- ],
69
- [
70
- "maxCharacterCount",
71
- "seed-text-field__maxCharacterCount"
72
- ]
73
- ];
74
-
75
- const defaultVariant = {
76
- "size": "medium"
77
- };
78
-
79
- const compoundVariants = [];
80
-
81
- export const textFieldVariantMap = {
82
- "size": [
83
- "xlarge",
84
- "large",
85
- "medium"
86
- ]
87
- };
88
-
89
- export const textFieldVariantKeys = Object.keys(textFieldVariantMap);
90
-
91
- export function textField(props) {
92
- return Object.fromEntries(
93
- textFieldSlotNames.map(([slot, className]) => {
94
- return [
95
- slot,
96
- createClassName(className, mergeVariants(defaultVariant, props), compoundVariants),
97
- ];
98
- }),
99
- );
100
- }
101
-
102
- Object.assign(textField, { splitVariantProps: (props) => splitVariantProps(props, textFieldVariantMap) });
103
-
104
- // @recipe(seed): text-field