@seed-design/lynx-css 0.9.3 → 0.10.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 (50) hide show
  1. package/all.css +1026 -243
  2. package/all.min.css +1 -1
  3. package/base.css +156 -154
  4. package/base.min.css +1 -1
  5. package/package.json +1 -1
  6. package/recipes/manner-temp-badge.css +78 -0
  7. package/recipes/manner-temp-badge.d.ts +24 -0
  8. package/recipes/manner-temp-badge.mjs +51 -0
  9. package/recipes/manner-temp.css +52 -0
  10. package/recipes/manner-temp.d.ts +24 -0
  11. package/recipes/manner-temp.mjs +55 -0
  12. package/recipes/notification-badge-positioner.css +29 -0
  13. package/recipes/notification-badge-positioner.d.ts +26 -0
  14. package/recipes/notification-badge-positioner.mjs +51 -0
  15. package/recipes/notification-badge.css +33 -0
  16. package/recipes/notification-badge.d.ts +27 -0
  17. package/recipes/notification-badge.mjs +43 -0
  18. package/recipes/page-banner.css +357 -0
  19. package/recipes/page-banner.d.ts +36 -0
  20. package/recipes/page-banner.mjs +194 -0
  21. package/recipes/segmented-control.css +91 -0
  22. package/recipes/segmented-control.d.ts +36 -0
  23. package/recipes/segmented-control.mjs +75 -0
  24. package/recipes/select-box-checkmark.css +33 -0
  25. package/recipes/select-box-checkmark.d.ts +32 -0
  26. package/recipes/select-box-checkmark.mjs +63 -0
  27. package/recipes/select-box-group.css +10 -0
  28. package/recipes/select-box-group.d.ts +22 -0
  29. package/recipes/select-box-group.mjs +29 -0
  30. package/recipes/select-box.css +145 -0
  31. package/recipes/select-box.d.ts +40 -0
  32. package/recipes/select-box.mjs +108 -0
  33. package/vars/component/callout.d.ts +6 -2
  34. package/vars/component/callout.mjs +6 -2
  35. package/vars/component/image-frame-reaction-button.d.ts +26 -2
  36. package/vars/component/image-frame-reaction-button.mjs +26 -2
  37. package/vars/component/page-banner.d.ts +6 -2
  38. package/vars/component/page-banner.mjs +6 -2
  39. package/vars/component/scroll-fog.d.ts +69 -2
  40. package/vars/component/scroll-fog.mjs +69 -2
  41. package/vars/component/skeleton.d.ts +6 -2
  42. package/vars/component/skeleton.mjs +6 -2
  43. package/vars/component/top-navigation-icon-button.d.ts +10 -1
  44. package/vars/component/top-navigation-icon-button.mjs +10 -1
  45. package/vars/component/top-navigation-text-button.d.ts +10 -1
  46. package/vars/component/top-navigation-text-button.mjs +10 -1
  47. package/vars/component/top-navigation.d.ts +24 -5
  48. package/vars/component/top-navigation.mjs +23 -5
  49. package/vars/gradient.d.ts +2 -0
  50. package/vars/gradient.mjs +1 -0
@@ -0,0 +1,357 @@
1
+ .seed-page-banner__root {
2
+ display: flex;
3
+ flex-direction: row;
4
+ align-items: flex-start;
5
+ width: 100%;
6
+ min-height: var(--seed-dimension-x10);
7
+ padding-left: var(--seed-dimension-x4);
8
+ padding-right: var(--seed-dimension-x4);
9
+ padding-top: var(--seed-dimension-x2_5);
10
+ padding-bottom: var(--seed-dimension-x2_5)
11
+ }
12
+ .seed-page-banner__content {
13
+ display: flex;
14
+ flex-direction: row;
15
+ flex-wrap: wrap;
16
+ align-items: center;
17
+ justify-content: space-between;
18
+ flex-grow: 1;
19
+ flex-shrink: 1;
20
+ gap: var(--seed-dimension-x1_5)
21
+ }
22
+ .seed-page-banner__body {
23
+ flex-grow: 1;
24
+ flex-shrink: 1;
25
+ line-height: var(--seed-line-height-t4)
26
+ }
27
+ .seed-page-banner__title {
28
+ flex-shrink: 0;
29
+ font-size: var(--seed-font-size-t4);
30
+ line-height: var(--seed-line-height-t4);
31
+ font-weight: var(--seed-font-weight-bold)
32
+ }
33
+ .seed-page-banner__description {
34
+ font-size: var(--seed-font-size-t4);
35
+ line-height: var(--seed-line-height-t4);
36
+ font-weight: var(--seed-font-weight-medium)
37
+ }
38
+ .seed-page-banner__button {
39
+ display: flex;
40
+ flex-direction: row;
41
+ align-items: center;
42
+ margin-top: calc((var(--seed-dimension-x10) - var(--seed-line-height-t3)) * 0.5 * -1);
43
+ margin-right: calc((var(--seed-dimension-x10) - var(--seed-line-height-t3)) * 0.5 * -1);
44
+ margin-bottom: calc((var(--seed-dimension-x10) - var(--seed-line-height-t3)) * 0.5 * -1);
45
+ margin-left: calc((var(--seed-dimension-x10) - var(--seed-line-height-t3)) * 0.5 * -1);
46
+ padding-top: calc((var(--seed-dimension-x10) - var(--seed-line-height-t3)) * 0.5);
47
+ padding-right: calc((var(--seed-dimension-x10) - var(--seed-line-height-t3)) * 0.5);
48
+ padding-bottom: calc((var(--seed-dimension-x10) - var(--seed-line-height-t3)) * 0.5);
49
+ padding-left: calc((var(--seed-dimension-x10) - var(--seed-line-height-t3)) * 0.5);
50
+ font-size: var(--seed-font-size-t3);
51
+ line-height: var(--seed-line-height-t3);
52
+ font-weight: var(--seed-font-weight-bold);
53
+ border-radius: var(--seed-radius-r1)
54
+ }
55
+ .seed-page-banner__closeButton {
56
+ flex-grow: 0;
57
+ flex-shrink: 0;
58
+ display: flex;
59
+ flex-direction: row;
60
+ justify-content: center;
61
+ align-items: center;
62
+ align-self: center;
63
+ width: var(--seed-dimension-x10);
64
+ height: var(--seed-dimension-x10);
65
+ margin-top: calc((var(--seed-dimension-x10) - var(--seed-dimension-x4)) * -0.5);
66
+ margin-right: calc((var(--seed-dimension-x10) - var(--seed-dimension-x4)) * -0.5);
67
+ margin-bottom: calc((var(--seed-dimension-x10) - var(--seed-dimension-x4)) * -0.5);
68
+ margin-left: calc((var(--seed-dimension-x10) - var(--seed-dimension-x4)) * -0.5 + var(--seed-dimension-x2));
69
+ border-radius: var(--seed-radius-r2);
70
+ background-color: var(--seed-color-bg-transparent)
71
+ }
72
+ .seed-page-banner__prefixIcon {
73
+ flex-shrink: 0;
74
+ width: var(--seed-dimension-x4);
75
+ height: var(--seed-dimension-x4);
76
+ margin-top: calc((var(--seed-dimension-x10) - var(--seed-dimension-x4)) * 0.5 - var(--seed-dimension-x2_5));
77
+ margin-right: var(--seed-dimension-x2)
78
+ }
79
+ .seed-page-banner__suffixIcon {
80
+ flex-shrink: 0;
81
+ align-self: center;
82
+ width: var(--seed-dimension-x4);
83
+ height: var(--seed-dimension-x4);
84
+ margin-left: var(--seed-dimension-x2)
85
+ }
86
+ .seed-page-banner__closeButtonIcon {
87
+ flex-shrink: 0;
88
+ width: var(--seed-dimension-x4);
89
+ height: var(--seed-dimension-x4)
90
+ }
91
+ .seed-page-banner__closeButton--closeButtonPressed_true {
92
+ background-color: var(--seed-color-bg-transparent-pressed)
93
+ }
94
+ .seed-page-banner__root--tone_neutral-variant_weak {
95
+ background-color: var(--seed-color-bg-neutral-weak)
96
+ }
97
+ .seed-page-banner__title--tone_neutral-variant_weak {
98
+ color: var(--seed-color-fg-neutral)
99
+ }
100
+ .seed-page-banner__description--tone_neutral-variant_weak {
101
+ color: var(--seed-color-fg-neutral)
102
+ }
103
+ .seed-page-banner__button--tone_neutral-variant_weak {
104
+ color: var(--seed-color-fg-neutral)
105
+ }
106
+ .seed-page-banner__prefixIcon--tone_neutral-variant_weak {
107
+ color: var(--seed-color-fg-neutral)
108
+ }
109
+ .seed-page-banner__suffixIcon--tone_neutral-variant_weak {
110
+ color: var(--seed-color-fg-neutral)
111
+ }
112
+ .seed-page-banner__closeButtonIcon--tone_neutral-variant_weak {
113
+ color: var(--seed-color-fg-neutral)
114
+ }
115
+ .seed-page-banner__root--tone_neutral-variant_solid {
116
+ background-color: var(--seed-color-bg-neutral-inverted)
117
+ }
118
+ .seed-page-banner__title--tone_neutral-variant_solid {
119
+ color: var(--seed-color-fg-neutral-inverted)
120
+ }
121
+ .seed-page-banner__description--tone_neutral-variant_solid {
122
+ color: var(--seed-color-fg-neutral-inverted)
123
+ }
124
+ .seed-page-banner__button--tone_neutral-variant_solid {
125
+ color: var(--seed-color-fg-neutral-inverted)
126
+ }
127
+ .seed-page-banner__prefixIcon--tone_neutral-variant_solid {
128
+ color: var(--seed-color-fg-neutral-inverted)
129
+ }
130
+ .seed-page-banner__suffixIcon--tone_neutral-variant_solid {
131
+ color: var(--seed-color-fg-neutral-inverted)
132
+ }
133
+ .seed-page-banner__closeButtonIcon--tone_neutral-variant_solid {
134
+ color: var(--seed-color-fg-neutral-inverted)
135
+ }
136
+ .seed-page-banner__root--tone_informative-variant_weak {
137
+ background-color: var(--seed-color-bg-informative-weak)
138
+ }
139
+ .seed-page-banner__title--tone_informative-variant_weak {
140
+ color: var(--seed-color-fg-informative-contrast)
141
+ }
142
+ .seed-page-banner__description--tone_informative-variant_weak {
143
+ color: var(--seed-color-fg-informative-contrast)
144
+ }
145
+ .seed-page-banner__button--tone_informative-variant_weak {
146
+ color: var(--seed-color-fg-informative-contrast)
147
+ }
148
+ .seed-page-banner__prefixIcon--tone_informative-variant_weak {
149
+ color: var(--seed-color-fg-informative-contrast)
150
+ }
151
+ .seed-page-banner__suffixIcon--tone_informative-variant_weak {
152
+ color: var(--seed-color-fg-informative-contrast)
153
+ }
154
+ .seed-page-banner__closeButtonIcon--tone_informative-variant_weak {
155
+ color: var(--seed-color-fg-informative-contrast)
156
+ }
157
+ .seed-page-banner__root--tone_informative-variant_solid {
158
+ background-color: var(--seed-color-bg-informative-solid)
159
+ }
160
+ .seed-page-banner__title--tone_informative-variant_solid {
161
+ color: var(--seed-color-palette-static-white)
162
+ }
163
+ .seed-page-banner__description--tone_informative-variant_solid {
164
+ color: var(--seed-color-palette-static-white)
165
+ }
166
+ .seed-page-banner__button--tone_informative-variant_solid {
167
+ color: var(--seed-color-palette-static-white)
168
+ }
169
+ .seed-page-banner__prefixIcon--tone_informative-variant_solid {
170
+ color: var(--seed-color-palette-static-white)
171
+ }
172
+ .seed-page-banner__suffixIcon--tone_informative-variant_solid {
173
+ color: var(--seed-color-palette-static-white)
174
+ }
175
+ .seed-page-banner__closeButtonIcon--tone_informative-variant_solid {
176
+ color: var(--seed-color-palette-static-white)
177
+ }
178
+ .seed-page-banner__root--tone_positive-variant_weak {
179
+ background-color: var(--seed-color-bg-positive-weak)
180
+ }
181
+ .seed-page-banner__title--tone_positive-variant_weak {
182
+ color: var(--seed-color-fg-positive-contrast)
183
+ }
184
+ .seed-page-banner__description--tone_positive-variant_weak {
185
+ color: var(--seed-color-fg-positive-contrast)
186
+ }
187
+ .seed-page-banner__button--tone_positive-variant_weak {
188
+ color: var(--seed-color-fg-positive-contrast)
189
+ }
190
+ .seed-page-banner__prefixIcon--tone_positive-variant_weak {
191
+ color: var(--seed-color-fg-positive-contrast)
192
+ }
193
+ .seed-page-banner__suffixIcon--tone_positive-variant_weak {
194
+ color: var(--seed-color-fg-positive-contrast)
195
+ }
196
+ .seed-page-banner__closeButtonIcon--tone_positive-variant_weak {
197
+ color: var(--seed-color-fg-positive-contrast)
198
+ }
199
+ .seed-page-banner__root--tone_positive-variant_solid {
200
+ background-color: var(--seed-color-bg-positive-solid)
201
+ }
202
+ .seed-page-banner__title--tone_positive-variant_solid {
203
+ color: var(--seed-color-palette-static-white)
204
+ }
205
+ .seed-page-banner__description--tone_positive-variant_solid {
206
+ color: var(--seed-color-palette-static-white)
207
+ }
208
+ .seed-page-banner__button--tone_positive-variant_solid {
209
+ color: var(--seed-color-palette-static-white)
210
+ }
211
+ .seed-page-banner__prefixIcon--tone_positive-variant_solid {
212
+ color: var(--seed-color-palette-static-white)
213
+ }
214
+ .seed-page-banner__suffixIcon--tone_positive-variant_solid {
215
+ color: var(--seed-color-palette-static-white)
216
+ }
217
+ .seed-page-banner__closeButtonIcon--tone_positive-variant_solid {
218
+ color: var(--seed-color-palette-static-white)
219
+ }
220
+ .seed-page-banner__root--tone_warning-variant_weak {
221
+ background-color: var(--seed-color-bg-warning-weak)
222
+ }
223
+ .seed-page-banner__title--tone_warning-variant_weak {
224
+ color: var(--seed-color-fg-warning-contrast)
225
+ }
226
+ .seed-page-banner__description--tone_warning-variant_weak {
227
+ color: var(--seed-color-fg-warning-contrast)
228
+ }
229
+ .seed-page-banner__button--tone_warning-variant_weak {
230
+ color: var(--seed-color-fg-warning-contrast)
231
+ }
232
+ .seed-page-banner__prefixIcon--tone_warning-variant_weak {
233
+ color: var(--seed-color-fg-warning-contrast)
234
+ }
235
+ .seed-page-banner__suffixIcon--tone_warning-variant_weak {
236
+ color: var(--seed-color-fg-warning-contrast)
237
+ }
238
+ .seed-page-banner__closeButtonIcon--tone_warning-variant_weak {
239
+ color: var(--seed-color-fg-warning-contrast)
240
+ }
241
+ .seed-page-banner__root--tone_warning-variant_solid {
242
+ background-color: var(--seed-color-bg-warning-solid)
243
+ }
244
+ .seed-page-banner__title--tone_warning-variant_solid {
245
+ color: var(--seed-color-palette-static-black-alpha-900)
246
+ }
247
+ .seed-page-banner__description--tone_warning-variant_solid {
248
+ color: var(--seed-color-palette-static-black-alpha-900)
249
+ }
250
+ .seed-page-banner__button--tone_warning-variant_solid {
251
+ color: var(--seed-color-palette-static-black-alpha-900)
252
+ }
253
+ .seed-page-banner__prefixIcon--tone_warning-variant_solid {
254
+ color: var(--seed-color-palette-static-black-alpha-900)
255
+ }
256
+ .seed-page-banner__suffixIcon--tone_warning-variant_solid {
257
+ color: var(--seed-color-palette-static-black-alpha-900)
258
+ }
259
+ .seed-page-banner__closeButtonIcon--tone_warning-variant_solid {
260
+ color: var(--seed-color-palette-static-black-alpha-900)
261
+ }
262
+ .seed-page-banner__root--tone_critical-variant_weak {
263
+ background-color: var(--seed-color-bg-critical-weak)
264
+ }
265
+ .seed-page-banner__title--tone_critical-variant_weak {
266
+ color: var(--seed-color-fg-critical-contrast)
267
+ }
268
+ .seed-page-banner__description--tone_critical-variant_weak {
269
+ color: var(--seed-color-fg-critical-contrast)
270
+ }
271
+ .seed-page-banner__button--tone_critical-variant_weak {
272
+ color: var(--seed-color-fg-critical-contrast)
273
+ }
274
+ .seed-page-banner__prefixIcon--tone_critical-variant_weak {
275
+ color: var(--seed-color-fg-critical-contrast)
276
+ }
277
+ .seed-page-banner__suffixIcon--tone_critical-variant_weak {
278
+ color: var(--seed-color-fg-critical-contrast)
279
+ }
280
+ .seed-page-banner__closeButtonIcon--tone_critical-variant_weak {
281
+ color: var(--seed-color-fg-critical-contrast)
282
+ }
283
+ .seed-page-banner__root--tone_critical-variant_solid {
284
+ background-color: var(--seed-color-bg-critical-solid)
285
+ }
286
+ .seed-page-banner__title--tone_critical-variant_solid {
287
+ color: var(--seed-color-palette-static-white)
288
+ }
289
+ .seed-page-banner__description--tone_critical-variant_solid {
290
+ color: var(--seed-color-palette-static-white)
291
+ }
292
+ .seed-page-banner__button--tone_critical-variant_solid {
293
+ color: var(--seed-color-palette-static-white)
294
+ }
295
+ .seed-page-banner__prefixIcon--tone_critical-variant_solid {
296
+ color: var(--seed-color-palette-static-white)
297
+ }
298
+ .seed-page-banner__suffixIcon--tone_critical-variant_solid {
299
+ color: var(--seed-color-palette-static-white)
300
+ }
301
+ .seed-page-banner__closeButtonIcon--tone_critical-variant_solid {
302
+ color: var(--seed-color-palette-static-white)
303
+ }
304
+ .seed-page-banner__root--tone_magic-variant_weak {
305
+ background-image: linear-gradient(88deg, var(--seed-gradient-glow-magic))
306
+ }
307
+ .seed-page-banner__title--tone_magic-variant_weak {
308
+ color: var(--seed-color-fg-neutral)
309
+ }
310
+ .seed-page-banner__description--tone_magic-variant_weak {
311
+ color: var(--seed-color-fg-neutral)
312
+ }
313
+ .seed-page-banner__button--tone_magic-variant_weak {
314
+ color: var(--seed-color-fg-neutral)
315
+ }
316
+ .seed-page-banner__prefixIcon--tone_magic-variant_weak {
317
+ color: var(--seed-color-fg-neutral)
318
+ }
319
+ .seed-page-banner__suffixIcon--tone_magic-variant_weak {
320
+ color: var(--seed-color-fg-neutral)
321
+ }
322
+ .seed-page-banner__closeButtonIcon--tone_magic-variant_weak {
323
+ color: var(--seed-color-fg-neutral)
324
+ }
325
+ .seed-page-banner__root--tone_neutral-variant_weak-pressed_true {
326
+ background-color: var(--seed-color-bg-neutral-weak-pressed)
327
+ }
328
+ .seed-page-banner__root--tone_neutral-variant_solid-pressed_true {
329
+ background-color: var(--seed-color-bg-neutral-inverted-pressed)
330
+ }
331
+ .seed-page-banner__root--tone_informative-variant_weak-pressed_true {
332
+ background-color: var(--seed-color-bg-informative-weak-pressed)
333
+ }
334
+ .seed-page-banner__root--tone_informative-variant_solid-pressed_true {
335
+ background-color: var(--seed-color-bg-informative-solid-pressed)
336
+ }
337
+ .seed-page-banner__root--tone_positive-variant_weak-pressed_true {
338
+ background-color: var(--seed-color-bg-positive-weak-pressed)
339
+ }
340
+ .seed-page-banner__root--tone_positive-variant_solid-pressed_true {
341
+ background-color: var(--seed-color-bg-positive-solid-pressed)
342
+ }
343
+ .seed-page-banner__root--tone_warning-variant_weak-pressed_true {
344
+ background-color: var(--seed-color-bg-warning-weak-pressed)
345
+ }
346
+ .seed-page-banner__root--tone_warning-variant_solid-pressed_true {
347
+ background-color: var(--seed-color-bg-warning-solid-pressed)
348
+ }
349
+ .seed-page-banner__root--tone_critical-variant_weak-pressed_true {
350
+ background-color: var(--seed-color-bg-critical-weak-pressed)
351
+ }
352
+ .seed-page-banner__root--tone_critical-variant_solid-pressed_true {
353
+ background-color: var(--seed-color-bg-critical-solid-pressed)
354
+ }
355
+ .seed-page-banner__root--tone_magic-variant_weak-pressed_true {
356
+ background-image: linear-gradient(88deg, var(--seed-gradient-glow-magic-pressed))
357
+ }
@@ -0,0 +1,36 @@
1
+ declare interface PageBannerVariant {
2
+ /**
3
+ * @default "neutral"
4
+ */
5
+ tone: "neutral" | "informative" | "positive" | "warning" | "critical" | "magic";
6
+ /**
7
+ * @default "weak"
8
+ */
9
+ variant: "weak" | "solid";
10
+ /**
11
+ * @default false
12
+ */
13
+ pressed: boolean;
14
+ /**
15
+ * @default false
16
+ */
17
+ closeButtonPressed: boolean;
18
+ }
19
+
20
+ declare type PageBannerVariantMap = {
21
+ [key in keyof PageBannerVariant]: Array<PageBannerVariant[key]>;
22
+ };
23
+
24
+ export declare type PageBannerVariantProps = Partial<PageBannerVariant>;
25
+
26
+ export declare type PageBannerSlotName = "root" | "content" | "body" | "title" | "description" | "button" | "closeButton" | "prefixIcon" | "suffixIcon" | "closeButtonIcon";
27
+
28
+ export declare const pageBannerVariantMap: PageBannerVariantMap;
29
+
30
+ export declare const pageBanner: ((
31
+ props?: PageBannerVariantProps,
32
+ ) => Record<PageBannerSlotName, string>) & {
33
+ splitVariantProps: <T extends PageBannerVariantProps>(
34
+ props: T,
35
+ ) => [PageBannerVariantProps, Omit<T, keyof PageBannerVariantProps>];
36
+ }
@@ -0,0 +1,194 @@
1
+ import './page-banner.css';
2
+ import { createClassName, mergeVariants, splitVariantProps } from "./shared.mjs";
3
+
4
+ const pageBannerSlotNames = [
5
+ [
6
+ "root",
7
+ "seed-page-banner__root"
8
+ ],
9
+ [
10
+ "content",
11
+ "seed-page-banner__content"
12
+ ],
13
+ [
14
+ "body",
15
+ "seed-page-banner__body"
16
+ ],
17
+ [
18
+ "title",
19
+ "seed-page-banner__title"
20
+ ],
21
+ [
22
+ "description",
23
+ "seed-page-banner__description"
24
+ ],
25
+ [
26
+ "button",
27
+ "seed-page-banner__button"
28
+ ],
29
+ [
30
+ "closeButton",
31
+ "seed-page-banner__closeButton"
32
+ ],
33
+ [
34
+ "prefixIcon",
35
+ "seed-page-banner__prefixIcon"
36
+ ],
37
+ [
38
+ "suffixIcon",
39
+ "seed-page-banner__suffixIcon"
40
+ ],
41
+ [
42
+ "closeButtonIcon",
43
+ "seed-page-banner__closeButtonIcon"
44
+ ]
45
+ ];
46
+
47
+ const defaultVariant = {
48
+ "tone": "neutral",
49
+ "variant": "weak",
50
+ "pressed": false,
51
+ "closeButtonPressed": false
52
+ };
53
+
54
+ const compoundVariants = [
55
+ {
56
+ "tone": "neutral",
57
+ "variant": "weak"
58
+ },
59
+ {
60
+ "tone": "neutral",
61
+ "variant": "solid"
62
+ },
63
+ {
64
+ "tone": "informative",
65
+ "variant": "weak"
66
+ },
67
+ {
68
+ "tone": "informative",
69
+ "variant": "solid"
70
+ },
71
+ {
72
+ "tone": "positive",
73
+ "variant": "weak"
74
+ },
75
+ {
76
+ "tone": "positive",
77
+ "variant": "solid"
78
+ },
79
+ {
80
+ "tone": "warning",
81
+ "variant": "weak"
82
+ },
83
+ {
84
+ "tone": "warning",
85
+ "variant": "solid"
86
+ },
87
+ {
88
+ "tone": "critical",
89
+ "variant": "weak"
90
+ },
91
+ {
92
+ "tone": "critical",
93
+ "variant": "solid"
94
+ },
95
+ {
96
+ "tone": "magic",
97
+ "variant": "weak"
98
+ },
99
+ {
100
+ "tone": "neutral",
101
+ "variant": "weak",
102
+ "pressed": true
103
+ },
104
+ {
105
+ "tone": "neutral",
106
+ "variant": "solid",
107
+ "pressed": true
108
+ },
109
+ {
110
+ "tone": "informative",
111
+ "variant": "weak",
112
+ "pressed": true
113
+ },
114
+ {
115
+ "tone": "informative",
116
+ "variant": "solid",
117
+ "pressed": true
118
+ },
119
+ {
120
+ "tone": "positive",
121
+ "variant": "weak",
122
+ "pressed": true
123
+ },
124
+ {
125
+ "tone": "positive",
126
+ "variant": "solid",
127
+ "pressed": true
128
+ },
129
+ {
130
+ "tone": "warning",
131
+ "variant": "weak",
132
+ "pressed": true
133
+ },
134
+ {
135
+ "tone": "warning",
136
+ "variant": "solid",
137
+ "pressed": true
138
+ },
139
+ {
140
+ "tone": "critical",
141
+ "variant": "weak",
142
+ "pressed": true
143
+ },
144
+ {
145
+ "tone": "critical",
146
+ "variant": "solid",
147
+ "pressed": true
148
+ },
149
+ {
150
+ "tone": "magic",
151
+ "variant": "weak",
152
+ "pressed": true
153
+ }
154
+ ];
155
+
156
+ export const pageBannerVariantMap = {
157
+ "tone": [
158
+ "neutral",
159
+ "informative",
160
+ "positive",
161
+ "warning",
162
+ "critical",
163
+ "magic"
164
+ ],
165
+ "variant": [
166
+ "weak",
167
+ "solid"
168
+ ],
169
+ "pressed": [
170
+ true,
171
+ false
172
+ ],
173
+ "closeButtonPressed": [
174
+ true,
175
+ false
176
+ ]
177
+ };
178
+
179
+ export const pageBannerVariantKeys = Object.keys(pageBannerVariantMap);
180
+
181
+ export function pageBanner(props) {
182
+ return Object.fromEntries(
183
+ pageBannerSlotNames.map(([slot, className]) => {
184
+ return [
185
+ slot,
186
+ createClassName(className, mergeVariants(defaultVariant, props), compoundVariants),
187
+ ];
188
+ }),
189
+ );
190
+ }
191
+
192
+ Object.assign(pageBanner, { splitVariantProps: (props) => splitVariantProps(props, pageBannerVariantMap) });
193
+
194
+ // @recipe(seed): page-banner
@@ -0,0 +1,91 @@
1
+ .seed-segmented-control__root {
2
+ display: grid;
3
+ grid-auto-flow: column;
4
+ grid-auto-columns: 1fr;
5
+ grid-auto-rows: 1fr;
6
+ position: relative;
7
+ align-items: stretch;
8
+ width: max-content;
9
+ max-width: 100%;
10
+ padding: var(--seed-dimension-x1);
11
+ border-radius: var(--seed-radius-full);
12
+ background-color: var(--seed-color-bg-neutral-weak-alpha)
13
+ }
14
+ .seed-segmented-control__indicator {
15
+ position: absolute;
16
+ top: var(--seed-dimension-x1);
17
+ bottom: var(--seed-dimension-x1);
18
+ left: var(--seed-dimension-x1);
19
+ z-index: 0;
20
+ width: calc((100% - var(--seed-dimension-x1) * 2) / var(--segment-count, 1));
21
+ border-radius: var(--seed-radius-full);
22
+ background-color: var(--seed-color-palette-gray-00);
23
+ box-shadow: inset 0 0 0 1px var(--seed-color-stroke-neutral-muted);
24
+ transform: translateX(calc(var(--segment-index, 0) * 100%));
25
+ transition-property: transform, opacity;
26
+ transition-duration: var(--seed-duration-d4);
27
+ transition-timing-function: var(--seed-timing-function-easing)
28
+ }
29
+ .seed-segmented-control__item {
30
+ display: flex;
31
+ flex-direction: row;
32
+ position: relative;
33
+ z-index: 1;
34
+ align-items: center;
35
+ justify-content: center;
36
+ min-width: 86px;
37
+ min-height: 34px;
38
+ height: 100%;
39
+ gap: var(--seed-dimension-x1_5);
40
+ padding-left: var(--seed-dimension-x6);
41
+ padding-right: var(--seed-dimension-x6);
42
+ padding-top: var(--seed-dimension-x1_5);
43
+ padding-bottom: var(--seed-dimension-x1_5);
44
+ border-radius: var(--seed-radius-full)
45
+ }
46
+ .seed-segmented-control__itemBackground {
47
+ position: absolute;
48
+ top: 0;
49
+ right: 0;
50
+ bottom: 0;
51
+ left: 0;
52
+ border-radius: var(--seed-radius-full);
53
+ opacity: 0;
54
+ transition-property: opacity;
55
+ transition-duration: var(--seed-duration-color-transition);
56
+ transition-timing-function: var(--seed-timing-function-easing)
57
+ }
58
+ .seed-segmented-control__label {
59
+ color: var(--seed-color-fg-neutral-subtle);
60
+ font-weight: var(--seed-font-weight-bold);
61
+ font-size: var(--seed-font-size-t5);
62
+ line-height: var(--seed-line-height-t5);
63
+ text-align: center;
64
+ transition-property: color;
65
+ transition-duration: var(--seed-duration-color-transition);
66
+ transition-timing-function: var(--seed-timing-function-easing)
67
+ }
68
+ .seed-segmented-control__itemBackground--selected_true {
69
+ background-color: var(--seed-color-palette-gray-100);
70
+ box-shadow: inset 0 0 0 1px var(--seed-color-stroke-neutral-muted)
71
+ }
72
+ .seed-segmented-control__label--selected_true {
73
+ color: var(--seed-color-fg-neutral)
74
+ }
75
+ .seed-segmented-control__itemBackground--selected_false {
76
+ background-color: var(--seed-color-bg-neutral-weak-pressed);
77
+ box-shadow: inset 0 0 0 1px var(--seed-color-stroke-neutral-muted)
78
+ }
79
+ .seed-segmented-control__label--disabled_true {
80
+ color: var(--seed-color-fg-disabled)
81
+ }
82
+ .seed-segmented-control__itemBackground--pressed_true {
83
+ opacity: 1
84
+ }
85
+ .seed-segmented-control__indicator--hasSelection_false {
86
+ opacity: 0
87
+ }
88
+ .seed-segmented-control__item--selected_true-disabled_true {
89
+ background-color: var(--seed-color-bg-disabled);
90
+ box-shadow: inset 0 0 0 1px var(--seed-color-stroke-neutral-muted)
91
+ }