@seed-design/css 2.5.0 → 2.6.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 (124) hide show
  1. package/all.css +700 -89
  2. package/all.layered.css +700 -89
  3. package/all.layered.min.css +1 -1
  4. package/all.min.css +1 -1
  5. package/base.css +15 -0
  6. package/base.layered.css +15 -0
  7. package/base.layered.min.css +1 -1
  8. package/base.min.css +1 -1
  9. package/breakpoints/index.mjs +5 -0
  10. package/package.json +6 -1
  11. package/recipes/accordion.css +1 -1
  12. package/recipes/accordion.layered.css +1 -1
  13. package/recipes/action-button.css +3 -13
  14. package/recipes/action-button.layered.css +4 -17
  15. package/recipes/attachment-input-item.css +15 -3
  16. package/recipes/attachment-input-item.layered.css +24 -8
  17. package/recipes/attachment-input-trigger.css +6 -1
  18. package/recipes/attachment-input-trigger.layered.css +10 -3
  19. package/recipes/bottom-sheet.css +7 -0
  20. package/recipes/bottom-sheet.layered.css +11 -2
  21. package/recipes/callout.css +43 -4
  22. package/recipes/callout.layered.css +57 -6
  23. package/recipes/checkmark.css +6 -1
  24. package/recipes/checkmark.layered.css +10 -3
  25. package/recipes/chip-tabs.css +6 -1
  26. package/recipes/chip-tabs.layered.css +10 -3
  27. package/recipes/chip.css +6 -3
  28. package/recipes/chip.layered.css +10 -5
  29. package/recipes/content-dialog.css +4 -1
  30. package/recipes/content-dialog.layered.css +5 -1
  31. package/recipes/contextual-floating-button.css +6 -1
  32. package/recipes/contextual-floating-button.layered.css +8 -1
  33. package/recipes/floating-action-button.css +6 -1
  34. package/recipes/floating-action-button.layered.css +8 -1
  35. package/recipes/help-bubble.css +8 -2
  36. package/recipes/help-bubble.layered.css +12 -4
  37. package/recipes/image-frame-reaction-button.css +6 -0
  38. package/recipes/image-frame-reaction-button.layered.css +8 -0
  39. package/recipes/input-button.css +6 -1
  40. package/recipes/input-button.layered.css +10 -3
  41. package/recipes/list-item.css +6 -0
  42. package/recipes/list-item.layered.css +6 -0
  43. package/recipes/menu-sheet.css +7 -1
  44. package/recipes/menu-sheet.layered.css +9 -1
  45. package/recipes/menu.css +1 -1
  46. package/recipes/menu.layered.css +1 -1
  47. package/recipes/page-banner.css +58 -4
  48. package/recipes/page-banner.layered.css +79 -8
  49. package/recipes/pagination-button.css +68 -0
  50. package/recipes/pagination-button.d.ts +19 -0
  51. package/recipes/pagination-button.layered.css +80 -0
  52. package/recipes/pagination-button.layered.mjs +22 -0
  53. package/recipes/pagination-button.mjs +22 -0
  54. package/recipes/pagination-page-item.css +99 -0
  55. package/recipes/pagination-page-item.d.ts +19 -0
  56. package/recipes/pagination-page-item.layered.css +118 -0
  57. package/recipes/pagination-page-item.layered.mjs +22 -0
  58. package/recipes/pagination-page-item.mjs +22 -0
  59. package/recipes/pull-to-refresh.css +1 -1
  60. package/recipes/pull-to-refresh.layered.css +1 -1
  61. package/recipes/quantity-picker.css +8 -2
  62. package/recipes/quantity-picker.layered.css +10 -2
  63. package/recipes/radiomark.css +6 -1
  64. package/recipes/radiomark.layered.css +10 -3
  65. package/recipes/reaction-button.css +4 -1
  66. package/recipes/reaction-button.layered.css +5 -1
  67. package/recipes/select-box.css +3 -3
  68. package/recipes/select-box.layered.css +3 -3
  69. package/recipes/select.css +1 -1
  70. package/recipes/select.layered.css +1 -1
  71. package/recipes/side-panel.css +6 -1
  72. package/recipes/side-panel.layered.css +12 -5
  73. package/recipes/snackbar.css +7 -1
  74. package/recipes/snackbar.layered.css +9 -1
  75. package/recipes/switchmark.css +4 -1
  76. package/recipes/switchmark.layered.css +5 -1
  77. package/recipes/tabs.css +4 -1
  78. package/recipes/tabs.layered.css +5 -1
  79. package/recipes/toggle-button.css +4 -1
  80. package/recipes/toggle-button.layered.css +5 -1
  81. package/recipes/wheel-picker-public.css +121 -0
  82. package/recipes/wheel-picker-public.d.ts +24 -0
  83. package/recipes/wheel-picker-public.layered.css +140 -0
  84. package/recipes/wheel-picker-public.layered.mjs +63 -0
  85. package/recipes/wheel-picker-public.mjs +63 -0
  86. package/recipes/wheel-picker.css +1 -1
  87. package/recipes/wheel-picker.layered.css +1 -1
  88. package/scale-feedback/index.d.ts +3 -0
  89. package/scale-feedback/index.mjs +33 -0
  90. package/vars/color/stroke.d.ts +3 -3
  91. package/vars/component/accordion-item.d.ts +1 -1
  92. package/vars/component/accordion-item.mjs +1 -1
  93. package/vars/component/action-button.d.ts +1 -23
  94. package/vars/component/action-button.mjs +1 -23
  95. package/vars/component/bottom-sheet.d.ts +1 -1
  96. package/vars/component/bottom-sheet.mjs +1 -1
  97. package/vars/component/callout-close-button.d.ts +81 -0
  98. package/vars/component/callout-close-button.mjs +63 -0
  99. package/vars/component/callout.d.ts +1 -2
  100. package/vars/component/callout.mjs +1 -2
  101. package/vars/component/checkbox.d.ts +3 -0
  102. package/vars/component/help-bubble.d.ts +4 -1
  103. package/vars/component/help-bubble.mjs +3 -1
  104. package/vars/component/index.d.ts +6 -1
  105. package/vars/component/index.mjs +6 -1
  106. package/vars/component/list-item.d.ts +2 -6
  107. package/vars/component/list-item.mjs +2 -5
  108. package/vars/component/page-banner-close-button.d.ts +133 -0
  109. package/vars/component/page-banner-close-button.mjs +99 -0
  110. package/vars/component/page-banner.d.ts +0 -1
  111. package/vars/component/page-banner.mjs +0 -1
  112. package/vars/component/pagination-button.d.ts +33 -0
  113. package/vars/component/pagination-button.mjs +33 -0
  114. package/vars/component/pagination-page-item.d.ts +54 -0
  115. package/vars/component/pagination-page-item.mjs +54 -0
  116. package/vars/component/radio.d.ts +3 -0
  117. package/vars/component/select-box.d.ts +2 -2
  118. package/vars/component/select-box.mjs +2 -2
  119. package/vars/component/snackbar.d.ts +1 -1
  120. package/vars/component/snackbar.mjs +1 -1
  121. package/vars/component/switch.d.ts +3 -0
  122. package/vars/component/switchmark.d.ts +2 -0
  123. package/vars/component/wheel-picker.d.ts +72 -0
  124. package/vars/component/wheel-picker.mjs +72 -0
@@ -74,15 +74,22 @@
74
74
  line-height: var(--seed-line-height-t3);
75
75
  font-weight: var(--seed-font-weight-bold);
76
76
  border-radius: var(--seed-radius-r1);
77
- transition: outline-color var(--seed-duration-d3) var(--seed-timing-function-easing);
78
- outline: var(--seed-dimension-x0_5) solid transparent;
79
- outline-offset: calc(var(--seed-dimension-x0_5) * -1);
80
77
  background-color: #0000;
81
78
  border: none;
82
79
  align-items: center;
83
80
  display: flex;
84
81
  }
85
82
 
83
+ .seed-page-banner__button:is(:active, [data-active]) {
84
+ scale: var(--seed-feedback-scale);
85
+ }
86
+
87
+ .seed-page-banner__button {
88
+ transition: scale var(--seed-duration-pressed-scale) var(--seed-timing-function-pressed-scale), outline-color var(--seed-duration-d3) var(--seed-timing-function-easing);
89
+ outline: var(--seed-dimension-x0_5) solid transparent;
90
+ outline-offset: calc(var(--seed-dimension-x0_5) * -1);
91
+ }
92
+
86
93
  .seed-page-banner__button:is(:focus-visible, [data-focus-visible]) {
87
94
  outline: var(--seed-dimension-x0_5) solid var(--seed-color-stroke-focus-ring);
88
95
  outline-offset: calc(var(--seed-dimension-x0_5) * -1);
@@ -94,12 +101,10 @@
94
101
  margin: calc((var(--seed-dimension-x10) - var(--seed-dimension-x4)) * -.5);
95
102
  margin-left: calc((var(--seed-dimension-x10) - var(--seed-dimension-x4)) * -.5 + var(--seed-dimension-x2));
96
103
  --seed-suffix-icon-margin-left: initial;
104
+ background-color: var(--seed-color-bg-transparent);
97
105
  cursor: pointer;
98
- border-radius: var(--seed-radius-r1);
99
- transition: outline-color var(--seed-duration-d3) var(--seed-timing-function-easing);
100
- outline: var(--seed-dimension-x0_5) solid transparent;
101
- outline-offset: calc(var(--seed-dimension-x0_5) * -1);
102
- background-color: #0000;
106
+ border-radius: var(--seed-radius-r2);
107
+ --seed-suffix-icon-size: var(--seed-dimension-x4);
103
108
  border: none;
104
109
  flex-grow: 0;
105
110
  flex-shrink: 0;
@@ -110,11 +115,33 @@
110
115
  display: flex;
111
116
  }
112
117
 
118
+ .seed-page-banner__closeButton:is(:active, [data-active]) {
119
+ scale: var(--seed-feedback-scale);
120
+ }
121
+
122
+ .seed-page-banner__closeButton {
123
+ transition: background-color var(--seed-duration-color-transition) var(--seed-timing-function-easing), scale var(--seed-duration-pressed-scale) var(--seed-timing-function-pressed-scale), outline-color var(--seed-duration-d3) var(--seed-timing-function-easing);
124
+ outline: var(--seed-dimension-x0_5) solid transparent;
125
+ outline-offset: calc(var(--seed-dimension-x0_5) * -1);
126
+ }
127
+
113
128
  .seed-page-banner__closeButton:is(:focus-visible, [data-focus-visible]) {
114
129
  outline: var(--seed-dimension-x0_5) solid var(--seed-color-stroke-focus-ring);
115
130
  outline-offset: calc(var(--seed-dimension-x0_5) * -1);
116
131
  }
117
132
 
133
+ @media (hover: hover) and (pointer: fine) {
134
+ .seed-page-banner__closeButton:is(:hover, [data-hover]) {
135
+ background-color: var(--seed-color-bg-transparent-pressed);
136
+ }
137
+ }
138
+
139
+ @media not all and (hover: hover) and (pointer: fine) {
140
+ .seed-page-banner__closeButton:is(:active, [data-active]) {
141
+ background-color: var(--seed-color-bg-transparent-pressed);
142
+ }
143
+ }
144
+
118
145
  .seed-page-banner__root--tone_neutral-variant_weak {
119
146
  background-color: var(--seed-color-bg-neutral-weak);
120
147
  --seed-prefix-icon-color: var(--seed-color-fg-neutral);
@@ -137,6 +164,10 @@
137
164
  color: var(--seed-color-fg-neutral);
138
165
  }
139
166
 
167
+ .seed-page-banner__closeButton--tone_neutral-variant_weak {
168
+ --seed-suffix-icon-color: var(--seed-color-fg-neutral);
169
+ }
170
+
140
171
  .seed-page-banner__root--tone_neutral-variant_solid {
141
172
  background-color: var(--seed-color-bg-neutral-inverted);
142
173
  --seed-prefix-icon-color: var(--seed-color-fg-neutral-inverted);
@@ -159,6 +190,10 @@
159
190
  color: var(--seed-color-fg-neutral-inverted);
160
191
  }
161
192
 
193
+ .seed-page-banner__closeButton--tone_neutral-variant_solid {
194
+ --seed-suffix-icon-color: var(--seed-color-fg-neutral-inverted);
195
+ }
196
+
162
197
  .seed-page-banner__root--tone_informative-variant_weak {
163
198
  background-color: var(--seed-color-bg-informative-weak);
164
199
  --seed-prefix-icon-color: var(--seed-color-fg-informative-contrast);
@@ -181,6 +216,10 @@
181
216
  color: var(--seed-color-fg-informative-contrast);
182
217
  }
183
218
 
219
+ .seed-page-banner__closeButton--tone_informative-variant_weak {
220
+ --seed-suffix-icon-color: var(--seed-color-fg-informative-contrast);
221
+ }
222
+
184
223
  .seed-page-banner__root--tone_informative-variant_solid {
185
224
  background-color: var(--seed-color-bg-informative-solid);
186
225
  --seed-prefix-icon-color: var(--seed-color-palette-static-white);
@@ -203,6 +242,10 @@
203
242
  color: var(--seed-color-palette-static-white);
204
243
  }
205
244
 
245
+ .seed-page-banner__closeButton--tone_informative-variant_solid {
246
+ --seed-suffix-icon-color: var(--seed-color-palette-static-white);
247
+ }
248
+
206
249
  .seed-page-banner__root--tone_positive-variant_weak {
207
250
  background-color: var(--seed-color-bg-positive-weak);
208
251
  --seed-prefix-icon-color: var(--seed-color-fg-positive-contrast);
@@ -225,6 +268,10 @@
225
268
  color: var(--seed-color-fg-positive-contrast);
226
269
  }
227
270
 
271
+ .seed-page-banner__closeButton--tone_positive-variant_weak {
272
+ --seed-suffix-icon-color: var(--seed-color-fg-positive-contrast);
273
+ }
274
+
228
275
  .seed-page-banner__root--tone_positive-variant_solid {
229
276
  background-color: var(--seed-color-bg-positive-solid);
230
277
  --seed-prefix-icon-color: var(--seed-color-palette-static-white);
@@ -247,6 +294,10 @@
247
294
  color: var(--seed-color-palette-static-white);
248
295
  }
249
296
 
297
+ .seed-page-banner__closeButton--tone_positive-variant_solid {
298
+ --seed-suffix-icon-color: var(--seed-color-palette-static-white);
299
+ }
300
+
250
301
  .seed-page-banner__root--tone_warning-variant_weak {
251
302
  background-color: var(--seed-color-bg-warning-weak);
252
303
  --seed-prefix-icon-color: var(--seed-color-fg-warning-contrast);
@@ -269,6 +320,10 @@
269
320
  color: var(--seed-color-fg-warning-contrast);
270
321
  }
271
322
 
323
+ .seed-page-banner__closeButton--tone_warning-variant_weak {
324
+ --seed-suffix-icon-color: var(--seed-color-fg-warning-contrast);
325
+ }
326
+
272
327
  .seed-page-banner__root--tone_warning-variant_solid {
273
328
  background-color: var(--seed-color-bg-warning-solid);
274
329
  --seed-prefix-icon-color: var(--seed-color-palette-static-black-alpha-900);
@@ -291,6 +346,10 @@
291
346
  color: var(--seed-color-palette-static-black-alpha-900);
292
347
  }
293
348
 
349
+ .seed-page-banner__closeButton--tone_warning-variant_solid {
350
+ --seed-suffix-icon-color: var(--seed-color-palette-static-black-alpha-900);
351
+ }
352
+
294
353
  .seed-page-banner__root--tone_critical-variant_weak {
295
354
  background-color: var(--seed-color-bg-critical-weak);
296
355
  --seed-prefix-icon-color: var(--seed-color-fg-critical-contrast);
@@ -313,6 +372,10 @@
313
372
  color: var(--seed-color-fg-critical-contrast);
314
373
  }
315
374
 
375
+ .seed-page-banner__closeButton--tone_critical-variant_weak {
376
+ --seed-suffix-icon-color: var(--seed-color-fg-critical-contrast);
377
+ }
378
+
316
379
  .seed-page-banner__root--tone_critical-variant_solid {
317
380
  background-color: var(--seed-color-bg-critical-solid);
318
381
  --seed-prefix-icon-color: var(--seed-color-palette-static-white);
@@ -335,6 +398,10 @@
335
398
  color: var(--seed-color-palette-static-white);
336
399
  }
337
400
 
401
+ .seed-page-banner__closeButton--tone_critical-variant_solid {
402
+ --seed-suffix-icon-color: var(--seed-color-palette-static-white);
403
+ }
404
+
338
405
  .seed-page-banner__root--tone_magic-variant_weak {
339
406
  background-image: linear-gradient(88deg, var(--seed-gradient-glow-magic));
340
407
  --seed-prefix-icon-color: var(--seed-color-fg-neutral);
@@ -356,4 +423,8 @@
356
423
  .seed-page-banner__title--tone_magic-variant_weak, .seed-page-banner__description--tone_magic-variant_weak, .seed-page-banner__button--tone_magic-variant_weak {
357
424
  color: var(--seed-color-fg-neutral);
358
425
  }
426
+
427
+ .seed-page-banner__closeButton--tone_magic-variant_weak {
428
+ --seed-suffix-icon-color: var(--seed-color-fg-neutral);
429
+ }
359
430
  }
@@ -0,0 +1,68 @@
1
+ .seed-pagination-button {
2
+ display: inline-flex;
3
+ position: relative;
4
+ box-sizing: border-box;
5
+ align-items: center;
6
+ justify-content: center;
7
+ cursor: pointer;
8
+ border: none;
9
+ padding: 0;
10
+ text-transform: none;
11
+ white-space: nowrap;
12
+ vertical-align: middle;
13
+ -webkit-font-smoothing: antialiased;
14
+ -moz-osx-font-smoothing: grayscale;
15
+ text-decoration: none;
16
+ flex-shrink: 0;
17
+ font-family: inherit;
18
+ width: var(--seed-dimension-x10);
19
+ height: var(--seed-dimension-x10);
20
+ border-radius: var(--seed-radius-r2);
21
+ background: transparent;
22
+ isolation: isolate;
23
+ }
24
+ .seed-pagination-button::before {
25
+ content: "";
26
+ position: absolute;
27
+ inset: 0;
28
+ z-index: -1;
29
+ border-radius: inherit;
30
+ background-color: var(--seed-color-bg-transparent);
31
+ transition: background-color var(--seed-duration-color-transition) var(--seed-timing-function-easing);
32
+ }
33
+ .seed-pagination-button {
34
+ --seed-icon-size: var(--seed-dimension-x4);
35
+ --seed-icon-color: var(--seed-color-fg-neutral);
36
+ outline: var(--seed-dimension-x0_5) solid transparent;
37
+ outline-offset: var(--seed-dimension-x0_5);
38
+ }
39
+ .seed-pagination-button:is(:focus-visible, [data-focus-visible]) {
40
+ outline: var(--seed-dimension-x0_5) solid var(--seed-color-stroke-focus-ring);
41
+ outline-offset: var(--seed-dimension-x0_5);
42
+ }
43
+ .seed-pagination-button {
44
+ scale: 1;
45
+ }
46
+ @media (hover: hover) and (pointer: fine) {
47
+ .seed-pagination-button:is(:hover, [data-hover]):not(:is(:disabled, [disabled], [data-disabled]))::before {
48
+ background-color: var(--seed-color-bg-transparent-pressed);
49
+ }
50
+ }
51
+ @media not all and (hover: hover) and (pointer: fine) {
52
+ .seed-pagination-button:is(:active, [data-active]):not(:is(:disabled, [disabled], [data-disabled]))::before {
53
+ background-color: var(--seed-color-bg-transparent-pressed);
54
+ }
55
+ }
56
+ .seed-pagination-button:not(:is(:disabled, [disabled], [data-disabled])):is(:active, [data-active]) {
57
+ scale: var(--seed-scale-s97);
58
+ }
59
+ .seed-pagination-button:is(:disabled, [disabled], [data-disabled]) {
60
+ cursor: not-allowed;
61
+ --seed-icon-color: var(--seed-color-fg-disabled);
62
+ }
63
+ .seed-pagination-button:is(:disabled, [disabled], [data-disabled])::before {
64
+ background-color: var(--seed-color-bg-transparent);
65
+ }
66
+ .seed-pagination-button {
67
+ transition: scale var(--seed-duration-pressed-scale) var(--seed-timing-function-pressed-scale), outline-color var(--seed-duration-d3) var(--seed-timing-function-easing);
68
+ }
@@ -0,0 +1,19 @@
1
+ declare interface PaginationButtonVariant {
2
+
3
+ }
4
+
5
+ declare type PaginationButtonVariantMap = {
6
+ [key in keyof PaginationButtonVariant]: Array<PaginationButtonVariant[key]>;
7
+ };
8
+
9
+ export declare type PaginationButtonVariantProps = Partial<PaginationButtonVariant>;
10
+
11
+ export declare const paginationButtonVariantMap: PaginationButtonVariantMap;
12
+
13
+ export declare const paginationButton: ((
14
+ props?: PaginationButtonVariantProps,
15
+ ) => string) & {
16
+ splitVariantProps: <T extends PaginationButtonVariantProps>(
17
+ props: T,
18
+ ) => [PaginationButtonVariantProps, Omit<T, keyof PaginationButtonVariantProps>];
19
+ }
@@ -0,0 +1,80 @@
1
+ @layer seed-components {
2
+ .seed-pagination-button {
3
+ box-sizing: border-box;
4
+ cursor: pointer;
5
+ text-transform: none;
6
+ white-space: nowrap;
7
+ vertical-align: middle;
8
+ -webkit-font-smoothing: antialiased;
9
+ -moz-osx-font-smoothing: grayscale;
10
+ width: var(--seed-dimension-x10);
11
+ height: var(--seed-dimension-x10);
12
+ border-radius: var(--seed-radius-r2);
13
+ isolation: isolate;
14
+ background: none;
15
+ border: none;
16
+ flex-shrink: 0;
17
+ justify-content: center;
18
+ align-items: center;
19
+ padding: 0;
20
+ font-family: inherit;
21
+ text-decoration: none;
22
+ display: inline-flex;
23
+ position: relative;
24
+ }
25
+
26
+ .seed-pagination-button:before {
27
+ content: "";
28
+ z-index: -1;
29
+ border-radius: inherit;
30
+ background-color: var(--seed-color-bg-transparent);
31
+ transition: background-color var(--seed-duration-color-transition) var(--seed-timing-function-easing);
32
+ position: absolute;
33
+ inset: 0;
34
+ }
35
+
36
+ .seed-pagination-button {
37
+ --seed-icon-size: var(--seed-dimension-x4);
38
+ --seed-icon-color: var(--seed-color-fg-neutral);
39
+ outline: var(--seed-dimension-x0_5) solid transparent;
40
+ outline-offset: var(--seed-dimension-x0_5);
41
+ }
42
+
43
+ .seed-pagination-button:is(:focus-visible, [data-focus-visible]) {
44
+ outline: var(--seed-dimension-x0_5) solid var(--seed-color-stroke-focus-ring);
45
+ outline-offset: var(--seed-dimension-x0_5);
46
+ }
47
+
48
+ .seed-pagination-button {
49
+ scale: 1;
50
+ }
51
+
52
+ @media (hover: hover) and (pointer: fine) {
53
+ .seed-pagination-button:is(:hover, [data-hover]):not(:is(:disabled, [disabled], [data-disabled])):before {
54
+ background-color: var(--seed-color-bg-transparent-pressed);
55
+ }
56
+ }
57
+
58
+ @media not all and (hover: hover) and (pointer: fine) {
59
+ .seed-pagination-button:is(:active, [data-active]):not(:is(:disabled, [disabled], [data-disabled])):before {
60
+ background-color: var(--seed-color-bg-transparent-pressed);
61
+ }
62
+ }
63
+
64
+ .seed-pagination-button:not(:is(:disabled, [disabled], [data-disabled])):is(:active, [data-active]) {
65
+ scale: var(--seed-scale-s97);
66
+ }
67
+
68
+ .seed-pagination-button:is(:disabled, [disabled], [data-disabled]) {
69
+ cursor: not-allowed;
70
+ --seed-icon-color: var(--seed-color-fg-disabled);
71
+ }
72
+
73
+ .seed-pagination-button:is(:disabled, [disabled], [data-disabled]):before {
74
+ background-color: var(--seed-color-bg-transparent);
75
+ }
76
+
77
+ .seed-pagination-button {
78
+ transition: scale var(--seed-duration-pressed-scale) var(--seed-timing-function-pressed-scale), outline-color var(--seed-duration-d3) var(--seed-timing-function-easing);
79
+ }
80
+ }
@@ -0,0 +1,22 @@
1
+ import './pagination-button.layered.css';
2
+ import { createClassName, mergeVariants, splitVariantProps } from "./shared.mjs";
3
+
4
+ const defaultVariant = {};
5
+
6
+ const compoundVariants = [];
7
+
8
+ export const paginationButtonVariantMap = {};
9
+
10
+ export const paginationButtonVariantKeys = Object.keys(paginationButtonVariantMap);
11
+
12
+ export function paginationButton(props) {
13
+ return createClassName(
14
+ "seed-pagination-button",
15
+ mergeVariants(defaultVariant, props),
16
+ compoundVariants,
17
+ );
18
+ }
19
+
20
+ Object.assign(paginationButton, { splitVariantProps: (props) => splitVariantProps(props, paginationButtonVariantMap) });
21
+
22
+ // @recipe(seed): pagination-button
@@ -0,0 +1,22 @@
1
+ import './pagination-button.css';
2
+ import { createClassName, mergeVariants, splitVariantProps } from "./shared.mjs";
3
+
4
+ const defaultVariant = {};
5
+
6
+ const compoundVariants = [];
7
+
8
+ export const paginationButtonVariantMap = {};
9
+
10
+ export const paginationButtonVariantKeys = Object.keys(paginationButtonVariantMap);
11
+
12
+ export function paginationButton(props) {
13
+ return createClassName(
14
+ "seed-pagination-button",
15
+ mergeVariants(defaultVariant, props),
16
+ compoundVariants,
17
+ );
18
+ }
19
+
20
+ Object.assign(paginationButton, { splitVariantProps: (props) => splitVariantProps(props, paginationButtonVariantMap) });
21
+
22
+ // @recipe(seed): pagination-button
@@ -0,0 +1,99 @@
1
+ .seed-pagination-page-item {
2
+ display: inline-flex;
3
+ position: relative;
4
+ box-sizing: border-box;
5
+ align-items: center;
6
+ justify-content: center;
7
+ cursor: pointer;
8
+ border: none;
9
+ padding: 0;
10
+ text-transform: none;
11
+ white-space: nowrap;
12
+ vertical-align: middle;
13
+ -webkit-font-smoothing: antialiased;
14
+ -moz-osx-font-smoothing: grayscale;
15
+ text-decoration: none;
16
+ flex-shrink: 0;
17
+ font-family: inherit;
18
+ width: var(--seed-dimension-x10);
19
+ height: var(--seed-dimension-x10);
20
+ border-radius: var(--seed-radius-r2);
21
+ background: transparent;
22
+ isolation: isolate;
23
+ color: var(--seed-color-fg-neutral);
24
+ font-size: var(--seed-font-size-t4);
25
+ line-height: var(--seed-line-height-t4);
26
+ font-weight: var(--seed-font-weight-bold);
27
+ }
28
+ .seed-pagination-page-item::before {
29
+ content: "";
30
+ position: absolute;
31
+ inset: 0;
32
+ z-index: -1;
33
+ border-radius: inherit;
34
+ background-color: var(--seed-color-bg-transparent);
35
+ }
36
+ .seed-pagination-page-item > [data-pagination-page-item-label] {
37
+ display: block;
38
+ min-width: 0;
39
+ max-width: 100%;
40
+ overflow: hidden;
41
+ text-overflow: ellipsis;
42
+ white-space: nowrap;
43
+ }
44
+ .seed-pagination-page-item {
45
+ outline: var(--seed-dimension-x0_5) solid transparent;
46
+ outline-offset: var(--seed-dimension-x0_5);
47
+ }
48
+ .seed-pagination-page-item:is(:focus-visible, [data-focus-visible]) {
49
+ outline: var(--seed-dimension-x0_5) solid var(--seed-color-stroke-focus-ring);
50
+ outline-offset: var(--seed-dimension-x0_5);
51
+ }
52
+ .seed-pagination-page-item {
53
+ scale: 1;
54
+ }
55
+ @media (hover: hover) and (pointer: fine) {
56
+ .seed-pagination-page-item:is(:hover, [data-hover]):not(:is(:disabled, [disabled], [data-disabled]))::before {
57
+ background-color: var(--seed-color-bg-transparent-pressed);
58
+ }
59
+ }
60
+ @media not all and (hover: hover) and (pointer: fine) {
61
+ .seed-pagination-page-item:is(:active, [data-active]):not(:is(:disabled, [disabled], [data-disabled]))::before {
62
+ background-color: var(--seed-color-bg-transparent-pressed);
63
+ }
64
+ }
65
+ .seed-pagination-page-item:not(:is(:disabled, [disabled], [data-disabled])):is(:active, [data-active]) {
66
+ scale: var(--seed-scale-s97);
67
+ }
68
+ .seed-pagination-page-item:is([aria-selected=true], [data-selected]) {
69
+ color: var(--seed-color-fg-neutral-inverted);
70
+ }
71
+ .seed-pagination-page-item:is([aria-selected=true], [data-selected])::before {
72
+ background-color: var(--seed-color-bg-neutral-inverted);
73
+ }
74
+ @media (hover: hover) and (pointer: fine) {
75
+ .seed-pagination-page-item:is([aria-selected=true], [data-selected]):is(:hover, [data-hover]):not(:is(:disabled, [disabled], [data-disabled]))::before {
76
+ background-color: var(--seed-color-bg-neutral-inverted-pressed);
77
+ }
78
+ }
79
+ @media not all and (hover: hover) and (pointer: fine) {
80
+ .seed-pagination-page-item:is([aria-selected=true], [data-selected]):is(:active, [data-active]):not(:is(:disabled, [disabled], [data-disabled]))::before {
81
+ background-color: var(--seed-color-bg-neutral-inverted-pressed);
82
+ }
83
+ }
84
+ .seed-pagination-page-item:is(:disabled, [disabled], [data-disabled]) {
85
+ cursor: not-allowed;
86
+ color: var(--seed-color-fg-disabled);
87
+ }
88
+ .seed-pagination-page-item:is(:disabled, [disabled], [data-disabled])::before {
89
+ background-color: var(--seed-color-bg-transparent);
90
+ }
91
+ .seed-pagination-page-item:is([aria-selected=true], [data-selected]):is(:disabled, [disabled], [data-disabled]) {
92
+ color: var(--seed-color-fg-disabled);
93
+ }
94
+ .seed-pagination-page-item:is([aria-selected=true], [data-selected]):is(:disabled, [disabled], [data-disabled])::before {
95
+ background-color: var(--seed-color-bg-disabled);
96
+ }
97
+ .seed-pagination-page-item {
98
+ transition: scale var(--seed-duration-pressed-scale) var(--seed-timing-function-pressed-scale), outline-color var(--seed-duration-d3) var(--seed-timing-function-easing);
99
+ }
@@ -0,0 +1,19 @@
1
+ declare interface PaginationPageItemVariant {
2
+
3
+ }
4
+
5
+ declare type PaginationPageItemVariantMap = {
6
+ [key in keyof PaginationPageItemVariant]: Array<PaginationPageItemVariant[key]>;
7
+ };
8
+
9
+ export declare type PaginationPageItemVariantProps = Partial<PaginationPageItemVariant>;
10
+
11
+ export declare const paginationPageItemVariantMap: PaginationPageItemVariantMap;
12
+
13
+ export declare const paginationPageItem: ((
14
+ props?: PaginationPageItemVariantProps,
15
+ ) => string) & {
16
+ splitVariantProps: <T extends PaginationPageItemVariantProps>(
17
+ props: T,
18
+ ) => [PaginationPageItemVariantProps, Omit<T, keyof PaginationPageItemVariantProps>];
19
+ }
@@ -0,0 +1,118 @@
1
+ @layer seed-components {
2
+ .seed-pagination-page-item {
3
+ box-sizing: border-box;
4
+ cursor: pointer;
5
+ text-transform: none;
6
+ white-space: nowrap;
7
+ vertical-align: middle;
8
+ -webkit-font-smoothing: antialiased;
9
+ -moz-osx-font-smoothing: grayscale;
10
+ width: var(--seed-dimension-x10);
11
+ height: var(--seed-dimension-x10);
12
+ border-radius: var(--seed-radius-r2);
13
+ isolation: isolate;
14
+ color: var(--seed-color-fg-neutral);
15
+ font-family: inherit;
16
+ font-size: var(--seed-font-size-t4);
17
+ line-height: var(--seed-line-height-t4);
18
+ font-weight: var(--seed-font-weight-bold);
19
+ background: none;
20
+ border: none;
21
+ flex-shrink: 0;
22
+ justify-content: center;
23
+ align-items: center;
24
+ padding: 0;
25
+ text-decoration: none;
26
+ display: inline-flex;
27
+ position: relative;
28
+ }
29
+
30
+ .seed-pagination-page-item:before {
31
+ content: "";
32
+ z-index: -1;
33
+ border-radius: inherit;
34
+ background-color: var(--seed-color-bg-transparent);
35
+ position: absolute;
36
+ inset: 0;
37
+ }
38
+
39
+ .seed-pagination-page-item > [data-pagination-page-item-label] {
40
+ text-overflow: ellipsis;
41
+ white-space: nowrap;
42
+ min-width: 0;
43
+ max-width: 100%;
44
+ display: block;
45
+ overflow: hidden;
46
+ }
47
+
48
+ .seed-pagination-page-item {
49
+ outline: var(--seed-dimension-x0_5) solid transparent;
50
+ outline-offset: var(--seed-dimension-x0_5);
51
+ }
52
+
53
+ .seed-pagination-page-item:is(:focus-visible, [data-focus-visible]) {
54
+ outline: var(--seed-dimension-x0_5) solid var(--seed-color-stroke-focus-ring);
55
+ outline-offset: var(--seed-dimension-x0_5);
56
+ }
57
+
58
+ .seed-pagination-page-item {
59
+ scale: 1;
60
+ }
61
+
62
+ @media (hover: hover) and (pointer: fine) {
63
+ .seed-pagination-page-item:is(:hover, [data-hover]):not(:is(:disabled, [disabled], [data-disabled])):before {
64
+ background-color: var(--seed-color-bg-transparent-pressed);
65
+ }
66
+ }
67
+
68
+ @media not all and (hover: hover) and (pointer: fine) {
69
+ .seed-pagination-page-item:is(:active, [data-active]):not(:is(:disabled, [disabled], [data-disabled])):before {
70
+ background-color: var(--seed-color-bg-transparent-pressed);
71
+ }
72
+ }
73
+
74
+ .seed-pagination-page-item:not(:is(:disabled, [disabled], [data-disabled])):is(:active, [data-active]) {
75
+ scale: var(--seed-scale-s97);
76
+ }
77
+
78
+ .seed-pagination-page-item:is([aria-selected="true"], [data-selected]) {
79
+ color: var(--seed-color-fg-neutral-inverted);
80
+ }
81
+
82
+ .seed-pagination-page-item:is([aria-selected="true"], [data-selected]):before {
83
+ background-color: var(--seed-color-bg-neutral-inverted);
84
+ }
85
+
86
+ @media (hover: hover) and (pointer: fine) {
87
+ .seed-pagination-page-item:is([aria-selected="true"], [data-selected]):is(:hover, [data-hover]):not(:is(:disabled, [disabled], [data-disabled])):before {
88
+ background-color: var(--seed-color-bg-neutral-inverted-pressed);
89
+ }
90
+ }
91
+
92
+ @media not all and (hover: hover) and (pointer: fine) {
93
+ .seed-pagination-page-item:is([aria-selected="true"], [data-selected]):is(:active, [data-active]):not(:is(:disabled, [disabled], [data-disabled])):before {
94
+ background-color: var(--seed-color-bg-neutral-inverted-pressed);
95
+ }
96
+ }
97
+
98
+ .seed-pagination-page-item:is(:disabled, [disabled], [data-disabled]) {
99
+ cursor: not-allowed;
100
+ color: var(--seed-color-fg-disabled);
101
+ }
102
+
103
+ .seed-pagination-page-item:is(:disabled, [disabled], [data-disabled]):before {
104
+ background-color: var(--seed-color-bg-transparent);
105
+ }
106
+
107
+ .seed-pagination-page-item:is([aria-selected="true"], [data-selected]):is(:disabled, [disabled], [data-disabled]) {
108
+ color: var(--seed-color-fg-disabled);
109
+ }
110
+
111
+ .seed-pagination-page-item:is([aria-selected="true"], [data-selected]):is(:disabled, [disabled], [data-disabled]):before {
112
+ background-color: var(--seed-color-bg-disabled);
113
+ }
114
+
115
+ .seed-pagination-page-item {
116
+ transition: scale var(--seed-duration-pressed-scale) var(--seed-timing-function-pressed-scale), outline-color var(--seed-duration-d3) var(--seed-timing-function-easing);
117
+ }
118
+ }
@@ -0,0 +1,22 @@
1
+ import './pagination-page-item.layered.css';
2
+ import { createClassName, mergeVariants, splitVariantProps } from "./shared.mjs";
3
+
4
+ const defaultVariant = {};
5
+
6
+ const compoundVariants = [];
7
+
8
+ export const paginationPageItemVariantMap = {};
9
+
10
+ export const paginationPageItemVariantKeys = Object.keys(paginationPageItemVariantMap);
11
+
12
+ export function paginationPageItem(props) {
13
+ return createClassName(
14
+ "seed-pagination-page-item",
15
+ mergeVariants(defaultVariant, props),
16
+ compoundVariants,
17
+ );
18
+ }
19
+
20
+ Object.assign(paginationPageItem, { splitVariantProps: (props) => splitVariantProps(props, paginationPageItemVariantMap) });
21
+
22
+ // @recipe(seed): pagination-page-item
@@ -0,0 +1,22 @@
1
+ import './pagination-page-item.css';
2
+ import { createClassName, mergeVariants, splitVariantProps } from "./shared.mjs";
3
+
4
+ const defaultVariant = {};
5
+
6
+ const compoundVariants = [];
7
+
8
+ export const paginationPageItemVariantMap = {};
9
+
10
+ export const paginationPageItemVariantKeys = Object.keys(paginationPageItemVariantMap);
11
+
12
+ export function paginationPageItem(props) {
13
+ return createClassName(
14
+ "seed-pagination-page-item",
15
+ mergeVariants(defaultVariant, props),
16
+ compoundVariants,
17
+ );
18
+ }
19
+
20
+ Object.assign(paginationPageItem, { splitVariantProps: (props) => splitVariantProps(props, paginationPageItemVariantMap) });
21
+
22
+ // @recipe(seed): pagination-page-item