@seed-design/css 2.3.1 → 2.4.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.
@@ -0,0 +1,165 @@
1
+ import './date-picker.css';
2
+ import { createClassName, mergeVariants, splitVariantProps } from "./shared.mjs";
3
+
4
+ const datePickerSlotNames = [
5
+ [
6
+ "root",
7
+ "seed-date-picker__root"
8
+ ],
9
+ [
10
+ "header",
11
+ "seed-date-picker__header"
12
+ ],
13
+ [
14
+ "headerLabel",
15
+ "seed-date-picker__headerLabel"
16
+ ],
17
+ [
18
+ "headerChevron",
19
+ "seed-date-picker__headerChevron"
20
+ ],
21
+ [
22
+ "navigation",
23
+ "seed-date-picker__navigation"
24
+ ],
25
+ [
26
+ "navigationButton",
27
+ "seed-date-picker__navigationButton"
28
+ ],
29
+ [
30
+ "twoMonthHeader",
31
+ "seed-date-picker__twoMonthHeader"
32
+ ],
33
+ [
34
+ "twoMonthLabel",
35
+ "seed-date-picker__twoMonthLabel"
36
+ ],
37
+ [
38
+ "twoMonthNavigationButton",
39
+ "seed-date-picker__twoMonthNavigationButton"
40
+ ],
41
+ [
42
+ "weekdayRow",
43
+ "seed-date-picker__weekdayRow"
44
+ ],
45
+ [
46
+ "weekday",
47
+ "seed-date-picker__weekday"
48
+ ],
49
+ [
50
+ "months",
51
+ "seed-date-picker__months"
52
+ ],
53
+ [
54
+ "month",
55
+ "seed-date-picker__month"
56
+ ],
57
+ [
58
+ "monthLabel",
59
+ "seed-date-picker__monthLabel"
60
+ ],
61
+ [
62
+ "grid",
63
+ "seed-date-picker__grid"
64
+ ],
65
+ [
66
+ "weekRow",
67
+ "seed-date-picker__weekRow"
68
+ ],
69
+ [
70
+ "dateCell",
71
+ "seed-date-picker__dateCell"
72
+ ],
73
+ [
74
+ "dateButton",
75
+ "seed-date-picker__dateButton"
76
+ ],
77
+ [
78
+ "dateContent",
79
+ "seed-date-picker__dateContent"
80
+ ],
81
+ [
82
+ "emptyCell",
83
+ "seed-date-picker__emptyCell"
84
+ ],
85
+ [
86
+ "continuousScroll",
87
+ "seed-date-picker__continuousScroll"
88
+ ],
89
+ [
90
+ "continuousContent",
91
+ "seed-date-picker__continuousContent"
92
+ ],
93
+ [
94
+ "continuousSpacer",
95
+ "seed-date-picker__continuousSpacer"
96
+ ],
97
+ [
98
+ "wheelContainer",
99
+ "seed-date-picker__wheelContainer"
100
+ ],
101
+ [
102
+ "wheelView",
103
+ "seed-date-picker__wheelView"
104
+ ],
105
+ [
106
+ "wheelColumns",
107
+ "seed-date-picker__wheelColumns"
108
+ ],
109
+ [
110
+ "wheelSelectionIndicator",
111
+ "seed-date-picker__wheelSelectionIndicator"
112
+ ],
113
+ [
114
+ "wheelScrollFog",
115
+ "seed-date-picker__wheelScrollFog"
116
+ ],
117
+ [
118
+ "yearColumn",
119
+ "seed-date-picker__yearColumn"
120
+ ],
121
+ [
122
+ "monthColumn",
123
+ "seed-date-picker__monthColumn"
124
+ ],
125
+ [
126
+ "wheelItem",
127
+ "seed-date-picker__wheelItem"
128
+ ],
129
+ [
130
+ "liveRegion",
131
+ "seed-date-picker__liveRegion"
132
+ ]
133
+ ];
134
+
135
+ const defaultVariant = {
136
+ "visibleRange": "month"
137
+ };
138
+
139
+ const compoundVariants = [];
140
+
141
+ export const datePickerVariantMap = {
142
+ "visibleRange": [
143
+ "month",
144
+ "twoMonths",
145
+ "continuous",
146
+ "week"
147
+ ]
148
+ };
149
+
150
+ export const datePickerVariantKeys = Object.keys(datePickerVariantMap);
151
+
152
+ export function datePicker(props) {
153
+ return Object.fromEntries(
154
+ datePickerSlotNames.map(([slot, className]) => {
155
+ return [
156
+ slot,
157
+ createClassName(className, mergeVariants(defaultVariant, props), compoundVariants),
158
+ ];
159
+ }),
160
+ );
161
+ }
162
+
163
+ Object.assign(datePicker, { splitVariantProps: (props) => splitVariantProps(props, datePickerVariantMap) });
164
+
165
+ // @recipe(seed): date-picker
@@ -54,6 +54,7 @@
54
54
  }
55
55
  .seed-quantity-picker__valueDisplay {
56
56
  display: grid;
57
+ flex-grow: 1;
57
58
  flex-shrink: 0;
58
59
  align-items: center;
59
60
  justify-content: center;
@@ -123,6 +124,9 @@
123
124
  .seed-quantity-picker__incrementIcon:is(:disabled, [disabled], [data-disabled]) {
124
125
  color: var(--seed-color-fg-disabled);
125
126
  }
127
+ .seed-quantity-picker__root--layout_fill {
128
+ flex-grow: 1;
129
+ }
126
130
  .seed-quantity-picker__root--size_small {
127
131
  height: var(--seed-dimension-x9);
128
132
  border-radius: var(--seed-radius-r2);
@@ -1,5 +1,9 @@
1
1
  declare interface QuantityPickerVariant {
2
2
  /**
3
+ * @default "hug"
4
+ */
5
+ layout: "hug" | "fill";
6
+ /**
3
7
  * @default "medium"
4
8
  */
5
9
  size: "small" | "medium" | "large";
@@ -67,6 +67,7 @@
67
67
  box-sizing: border-box;
68
68
  font-weight: var(--seed-font-weight-medium);
69
69
  color: var(--seed-color-fg-neutral);
70
+ flex-grow: 1;
70
71
  flex-shrink: 0;
71
72
  justify-content: center;
72
73
  align-items: center;
@@ -145,6 +146,10 @@
145
146
  color: var(--seed-color-fg-disabled);
146
147
  }
147
148
 
149
+ .seed-quantity-picker__root--layout_fill {
150
+ flex-grow: 1;
151
+ }
152
+
148
153
  .seed-quantity-picker__root--size_small {
149
154
  height: var(--seed-dimension-x9);
150
155
  border-radius: var(--seed-radius-r2);
@@ -41,12 +41,17 @@ const quantityPickerSlotNames = [
41
41
  ];
42
42
 
43
43
  const defaultVariant = {
44
+ "layout": "hug",
44
45
  "size": "medium"
45
46
  };
46
47
 
47
48
  const compoundVariants = [];
48
49
 
49
50
  export const quantityPickerVariantMap = {
51
+ "layout": [
52
+ "hug",
53
+ "fill"
54
+ ],
50
55
  "size": [
51
56
  "small",
52
57
  "medium",
@@ -41,12 +41,17 @@ const quantityPickerSlotNames = [
41
41
  ];
42
42
 
43
43
  const defaultVariant = {
44
+ "layout": "hug",
44
45
  "size": "medium"
45
46
  };
46
47
 
47
48
  const compoundVariants = [];
48
49
 
49
50
  export const quantityPickerVariantMap = {
51
+ "layout": [
52
+ "hug",
53
+ "fill"
54
+ ],
50
55
  "size": [
51
56
  "small",
52
57
  "medium",
@@ -0,0 +1,44 @@
1
+ .seed-time-picker__root {
2
+ width: 100%;
3
+ height: 220px;
4
+ --seed-wheel-picker-selected-item-color: var(--seed-color-fg-neutral);
5
+ --seed-wheel-picker-selection-indicator-corner-radius: var(--seed-radius-r2);
6
+ }
7
+ .seed-time-picker__scrollFog {}
8
+ .seed-time-picker__columns {}
9
+ .seed-time-picker__selectionIndicator {
10
+ border-radius: var(--seed-radius-r2);
11
+ background-color: var(--seed-color-bg-neutral-weak);
12
+ }
13
+ .seed-time-picker__periodColumn {
14
+ flex: 0 0 auto;
15
+ outline: none;
16
+ }
17
+ .seed-time-picker__periodColumn[data-disabled] {
18
+ --seed-wheel-picker-selected-item-color: var(--seed-color-fg-disabled);
19
+ }
20
+ .seed-time-picker__hourColumn {
21
+ flex: 0 0 auto;
22
+ outline: none;
23
+ }
24
+ .seed-time-picker__hourColumn[data-disabled] {
25
+ --seed-wheel-picker-selected-item-color: var(--seed-color-fg-disabled);
26
+ }
27
+ .seed-time-picker__hourColumn {
28
+ --seed-wheel-picker-item-justify-content: flex-end;
29
+ }
30
+ .seed-time-picker__minuteColumn {
31
+ flex: 0 0 auto;
32
+ outline: none;
33
+ }
34
+ .seed-time-picker__minuteColumn[data-disabled] {
35
+ --seed-wheel-picker-selected-item-color: var(--seed-color-fg-disabled);
36
+ }
37
+ .seed-time-picker__item {
38
+ --seed-wheel-picker-item-color: var(--seed-color-fg-disabled);
39
+ padding-inline: var(--seed-dimension-x4);
40
+ font-size: var(--seed-font-size-t10-static);
41
+ line-height: var(--seed-line-height-t10-static);
42
+ font-weight: var(--seed-font-weight-medium);
43
+ font-variant-numeric: tabular-nums;
44
+ }
@@ -0,0 +1,21 @@
1
+ declare interface TimePickerVariant {
2
+
3
+ }
4
+
5
+ declare type TimePickerVariantMap = {
6
+ [key in keyof TimePickerVariant]: Array<TimePickerVariant[key]>;
7
+ };
8
+
9
+ export declare type TimePickerVariantProps = Partial<TimePickerVariant>;
10
+
11
+ export declare type TimePickerSlotName = "root" | "scrollFog" | "columns" | "selectionIndicator" | "periodColumn" | "hourColumn" | "minuteColumn" | "item";
12
+
13
+ export declare const timePickerVariantMap: TimePickerVariantMap;
14
+
15
+ export declare const timePicker: ((
16
+ props?: TimePickerVariantProps,
17
+ ) => Record<TimePickerSlotName, string>) & {
18
+ splitVariantProps: <T extends TimePickerVariantProps>(
19
+ props: T,
20
+ ) => [TimePickerVariantProps, Omit<T, keyof TimePickerVariantProps>];
21
+ }
@@ -0,0 +1,53 @@
1
+ @layer seed-components {
2
+ .seed-time-picker__root {
3
+ --seed-wheel-picker-selected-item-color: var(--seed-color-fg-neutral);
4
+ --seed-wheel-picker-selection-indicator-corner-radius: var(--seed-radius-r2);
5
+ width: 100%;
6
+ height: 220px;
7
+ }
8
+
9
+ .seed-time-picker__selectionIndicator {
10
+ border-radius: var(--seed-radius-r2);
11
+ background-color: var(--seed-color-bg-neutral-weak);
12
+ }
13
+
14
+ .seed-time-picker__periodColumn {
15
+ outline: none;
16
+ flex: none;
17
+ }
18
+
19
+ .seed-time-picker__periodColumn[data-disabled] {
20
+ --seed-wheel-picker-selected-item-color: var(--seed-color-fg-disabled);
21
+ }
22
+
23
+ .seed-time-picker__hourColumn {
24
+ outline: none;
25
+ flex: none;
26
+ }
27
+
28
+ .seed-time-picker__hourColumn[data-disabled] {
29
+ --seed-wheel-picker-selected-item-color: var(--seed-color-fg-disabled);
30
+ }
31
+
32
+ .seed-time-picker__hourColumn {
33
+ --seed-wheel-picker-item-justify-content: flex-end;
34
+ }
35
+
36
+ .seed-time-picker__minuteColumn {
37
+ outline: none;
38
+ flex: none;
39
+ }
40
+
41
+ .seed-time-picker__minuteColumn[data-disabled] {
42
+ --seed-wheel-picker-selected-item-color: var(--seed-color-fg-disabled);
43
+ }
44
+
45
+ .seed-time-picker__item {
46
+ --seed-wheel-picker-item-color: var(--seed-color-fg-disabled);
47
+ padding-inline: var(--seed-dimension-x4);
48
+ font-size: var(--seed-font-size-t10-static);
49
+ line-height: var(--seed-line-height-t10-static);
50
+ font-weight: var(--seed-font-weight-medium);
51
+ font-variant-numeric: tabular-nums;
52
+ }
53
+ }
@@ -0,0 +1,60 @@
1
+ import './time-picker.layered.css';
2
+ import { createClassName, mergeVariants, splitVariantProps } from "./shared.mjs";
3
+
4
+ const timePickerSlotNames = [
5
+ [
6
+ "root",
7
+ "seed-time-picker__root"
8
+ ],
9
+ [
10
+ "scrollFog",
11
+ "seed-time-picker__scrollFog"
12
+ ],
13
+ [
14
+ "columns",
15
+ "seed-time-picker__columns"
16
+ ],
17
+ [
18
+ "selectionIndicator",
19
+ "seed-time-picker__selectionIndicator"
20
+ ],
21
+ [
22
+ "periodColumn",
23
+ "seed-time-picker__periodColumn"
24
+ ],
25
+ [
26
+ "hourColumn",
27
+ "seed-time-picker__hourColumn"
28
+ ],
29
+ [
30
+ "minuteColumn",
31
+ "seed-time-picker__minuteColumn"
32
+ ],
33
+ [
34
+ "item",
35
+ "seed-time-picker__item"
36
+ ]
37
+ ];
38
+
39
+ const defaultVariant = {};
40
+
41
+ const compoundVariants = [];
42
+
43
+ export const timePickerVariantMap = {};
44
+
45
+ export const timePickerVariantKeys = Object.keys(timePickerVariantMap);
46
+
47
+ export function timePicker(props) {
48
+ return Object.fromEntries(
49
+ timePickerSlotNames.map(([slot, className]) => {
50
+ return [
51
+ slot,
52
+ createClassName(className, mergeVariants(defaultVariant, props), compoundVariants),
53
+ ];
54
+ }),
55
+ );
56
+ }
57
+
58
+ Object.assign(timePicker, { splitVariantProps: (props) => splitVariantProps(props, timePickerVariantMap) });
59
+
60
+ // @recipe(seed): time-picker
@@ -0,0 +1,60 @@
1
+ import './time-picker.css';
2
+ import { createClassName, mergeVariants, splitVariantProps } from "./shared.mjs";
3
+
4
+ const timePickerSlotNames = [
5
+ [
6
+ "root",
7
+ "seed-time-picker__root"
8
+ ],
9
+ [
10
+ "scrollFog",
11
+ "seed-time-picker__scrollFog"
12
+ ],
13
+ [
14
+ "columns",
15
+ "seed-time-picker__columns"
16
+ ],
17
+ [
18
+ "selectionIndicator",
19
+ "seed-time-picker__selectionIndicator"
20
+ ],
21
+ [
22
+ "periodColumn",
23
+ "seed-time-picker__periodColumn"
24
+ ],
25
+ [
26
+ "hourColumn",
27
+ "seed-time-picker__hourColumn"
28
+ ],
29
+ [
30
+ "minuteColumn",
31
+ "seed-time-picker__minuteColumn"
32
+ ],
33
+ [
34
+ "item",
35
+ "seed-time-picker__item"
36
+ ]
37
+ ];
38
+
39
+ const defaultVariant = {};
40
+
41
+ const compoundVariants = [];
42
+
43
+ export const timePickerVariantMap = {};
44
+
45
+ export const timePickerVariantKeys = Object.keys(timePickerVariantMap);
46
+
47
+ export function timePicker(props) {
48
+ return Object.fromEntries(
49
+ timePickerSlotNames.map(([slot, className]) => {
50
+ return [
51
+ slot,
52
+ createClassName(className, mergeVariants(defaultVariant, props), compoundVariants),
53
+ ];
54
+ }),
55
+ );
56
+ }
57
+
58
+ Object.assign(timePicker, { splitVariantProps: (props) => splitVariantProps(props, timePickerVariantMap) });
59
+
60
+ // @recipe(seed): time-picker
@@ -0,0 +1,85 @@
1
+ .seed-wheel-picker__root {
2
+ position: relative;
3
+ height: var(--seed-wheel-picker-viewport-size);
4
+ overflow: hidden;
5
+ }
6
+ .seed-wheel-picker__scrollFog {
7
+ position: relative;
8
+ z-index: 1;
9
+ height: 100%;
10
+ overflow: hidden;
11
+ }
12
+ .seed-wheel-picker__columns {
13
+ display: flex;
14
+ height: 100%;
15
+ justify-content: center;
16
+ }
17
+ .seed-wheel-picker__column {
18
+ box-sizing: border-box;
19
+ width: max-content;
20
+ height: 100%;
21
+ overflow-x: hidden;
22
+ overflow-y: auto;
23
+ overscroll-behavior-x: none;
24
+ overscroll-behavior-y: contain;
25
+ scroll-snap-type: y mandatory;
26
+ scrollbar-width: none;
27
+ -ms-overflow-style: none;
28
+ outline: none;
29
+ touch-action: pan-y;
30
+ cursor: grab;
31
+ padding-block: var(--seed-wheel-picker-center-offset);
32
+ }
33
+ .seed-wheel-picker__column[data-disabled] {
34
+ overflow-y: hidden;
35
+ cursor: default;
36
+ }
37
+ .seed-wheel-picker__column[data-readonly] {
38
+ cursor: default;
39
+ }
40
+ .seed-wheel-picker__column[data-wheel-picker-dragging] {
41
+ cursor: grabbing;
42
+ scroll-snap-type: none;
43
+ }
44
+ .seed-wheel-picker__column[data-wheel-picker-scrolling] {
45
+ scroll-snap-type: none;
46
+ }
47
+ .seed-wheel-picker__column::-webkit-scrollbar {
48
+ display: none;
49
+ }
50
+ .seed-wheel-picker__column :is([aria-selected=true], [data-selected]) {
51
+ outline: var(--seed-dimension-x0_5) solid transparent;
52
+ outline-offset: calc(var(--seed-dimension-x0_5) * -1);
53
+ border-radius: var(--seed-wheel-picker-selection-indicator-corner-radius, 0);
54
+ transition: outline-color var(--seed-duration-d3) var(--seed-timing-function-easing);
55
+ }
56
+ .seed-wheel-picker__column.seed-wheel-picker__column:is(:focus-visible, [data-focus-visible]):not([data-wheel-picker-pointer-focus]) :is([aria-selected=true], [data-selected]) {
57
+ outline: var(--seed-dimension-x0_5) solid var(--seed-color-stroke-focus-ring);
58
+ outline-offset: calc(var(--seed-dimension-x0_5) * -1);
59
+ }
60
+ .seed-wheel-picker__item {
61
+ display: flex;
62
+ height: var(--seed-wheel-picker-item-size);
63
+ min-height: var(--seed-wheel-picker-item-size);
64
+ align-items: center;
65
+ justify-content: var(--seed-wheel-picker-item-justify-content, center);
66
+ color: var(--seed-wheel-picker-item-color);
67
+ scroll-snap-align: center;
68
+ user-select: none;
69
+ }
70
+ .seed-wheel-picker__item[data-wheel-picker-indicator-overlap] {
71
+ color: transparent;
72
+ background-image: linear-gradient(to bottom, var(--seed-wheel-picker-item-color) 0%, var(--seed-wheel-picker-item-color) var(--seed-wheel-picker-indicator-overlap-start), var(--seed-wheel-picker-selected-item-color) var(--seed-wheel-picker-indicator-overlap-start), var(--seed-wheel-picker-selected-item-color) var(--seed-wheel-picker-indicator-overlap-end), var(--seed-wheel-picker-item-color) var(--seed-wheel-picker-indicator-overlap-end), var(--seed-wheel-picker-item-color) 100%);
73
+ background-clip: text;
74
+ -webkit-background-clip: text;
75
+ -webkit-text-fill-color: transparent;
76
+ }
77
+ .seed-wheel-picker__selectionIndicator {
78
+ position: absolute;
79
+ z-index: 0;
80
+ inset-inline: 0;
81
+ top: 50%;
82
+ height: var(--seed-wheel-picker-item-size);
83
+ transform: translateY(-50%);
84
+ pointer-events: none;
85
+ }
@@ -0,0 +1,21 @@
1
+ declare interface WheelPickerVariant {
2
+
3
+ }
4
+
5
+ declare type WheelPickerVariantMap = {
6
+ [key in keyof WheelPickerVariant]: Array<WheelPickerVariant[key]>;
7
+ };
8
+
9
+ export declare type WheelPickerVariantProps = Partial<WheelPickerVariant>;
10
+
11
+ export declare type WheelPickerSlotName = "root" | "scrollFog" | "columns" | "column" | "item" | "selectionIndicator";
12
+
13
+ export declare const wheelPickerVariantMap: WheelPickerVariantMap;
14
+
15
+ export declare const wheelPicker: ((
16
+ props?: WheelPickerVariantProps,
17
+ ) => Record<WheelPickerSlotName, string>) & {
18
+ splitVariantProps: <T extends WheelPickerVariantProps>(
19
+ props: T,
20
+ ) => [WheelPickerVariantProps, Omit<T, keyof WheelPickerVariantProps>];
21
+ }
@@ -0,0 +1,99 @@
1
+ @layer seed-components {
2
+ .seed-wheel-picker__root {
3
+ height: var(--seed-wheel-picker-viewport-size);
4
+ position: relative;
5
+ overflow: hidden;
6
+ }
7
+
8
+ .seed-wheel-picker__scrollFog {
9
+ z-index: 1;
10
+ height: 100%;
11
+ position: relative;
12
+ overflow: hidden;
13
+ }
14
+
15
+ .seed-wheel-picker__columns {
16
+ justify-content: center;
17
+ height: 100%;
18
+ display: flex;
19
+ }
20
+
21
+ .seed-wheel-picker__column {
22
+ box-sizing: border-box;
23
+ overscroll-behavior-x: none;
24
+ overscroll-behavior-y: contain;
25
+ scroll-snap-type: y mandatory;
26
+ scrollbar-width: none;
27
+ -ms-overflow-style: none;
28
+ touch-action: pan-y;
29
+ cursor: grab;
30
+ width: max-content;
31
+ height: 100%;
32
+ padding-block: var(--seed-wheel-picker-center-offset);
33
+ outline: none;
34
+ overflow: hidden auto;
35
+ }
36
+
37
+ .seed-wheel-picker__column[data-disabled] {
38
+ cursor: default;
39
+ overflow-y: hidden;
40
+ }
41
+
42
+ .seed-wheel-picker__column[data-readonly] {
43
+ cursor: default;
44
+ }
45
+
46
+ .seed-wheel-picker__column[data-wheel-picker-dragging] {
47
+ cursor: grabbing;
48
+ scroll-snap-type: none;
49
+ }
50
+
51
+ .seed-wheel-picker__column[data-wheel-picker-scrolling] {
52
+ scroll-snap-type: none;
53
+ }
54
+
55
+ .seed-wheel-picker__column::-webkit-scrollbar {
56
+ display: none;
57
+ }
58
+
59
+ .seed-wheel-picker__column :is([aria-selected="true"], [data-selected]) {
60
+ outline: var(--seed-dimension-x0_5) solid transparent;
61
+ outline-offset: calc(var(--seed-dimension-x0_5) * -1);
62
+ border-radius: var(--seed-wheel-picker-selection-indicator-corner-radius, 0);
63
+ transition: outline-color var(--seed-duration-d3) var(--seed-timing-function-easing);
64
+ }
65
+
66
+ .seed-wheel-picker__column.seed-wheel-picker__column:is(:focus-visible, [data-focus-visible]):not([data-wheel-picker-pointer-focus]) :is([aria-selected="true"], [data-selected]) {
67
+ outline: var(--seed-dimension-x0_5) solid var(--seed-color-stroke-focus-ring);
68
+ outline-offset: calc(var(--seed-dimension-x0_5) * -1);
69
+ }
70
+
71
+ .seed-wheel-picker__item {
72
+ height: var(--seed-wheel-picker-item-size);
73
+ min-height: var(--seed-wheel-picker-item-size);
74
+ align-items: center;
75
+ justify-content: var(--seed-wheel-picker-item-justify-content, center);
76
+ color: var(--seed-wheel-picker-item-color);
77
+ scroll-snap-align: center;
78
+ user-select: none;
79
+ display: flex;
80
+ }
81
+
82
+ .seed-wheel-picker__item[data-wheel-picker-indicator-overlap] {
83
+ color: #0000;
84
+ background-image: linear-gradient(to bottom, var(--seed-wheel-picker-item-color) 0%, var(--seed-wheel-picker-item-color) var(--seed-wheel-picker-indicator-overlap-start), var(--seed-wheel-picker-selected-item-color) var(--seed-wheel-picker-indicator-overlap-start), var(--seed-wheel-picker-selected-item-color) var(--seed-wheel-picker-indicator-overlap-end), var(--seed-wheel-picker-item-color) var(--seed-wheel-picker-indicator-overlap-end), var(--seed-wheel-picker-item-color) 100%);
85
+ -webkit-text-fill-color: transparent;
86
+ -webkit-background-clip: text;
87
+ background-clip: text;
88
+ }
89
+
90
+ .seed-wheel-picker__selectionIndicator {
91
+ z-index: 0;
92
+ inset-inline: 0;
93
+ height: var(--seed-wheel-picker-item-size);
94
+ pointer-events: none;
95
+ position: absolute;
96
+ top: 50%;
97
+ transform: translateY(-50%);
98
+ }
99
+ }