@seed-design/lynx-css 0.14.1 → 1.0.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 (107) hide show
  1. package/all.css +936 -275
  2. package/all.min.css +1 -1
  3. package/base.css +10 -0
  4. package/base.min.css +1 -1
  5. package/package.json +2 -2
  6. package/recipes/alert-dialog.css +11 -0
  7. package/recipes/alert-dialog.d.ts +1 -1
  8. package/recipes/alert-dialog.mjs +8 -0
  9. package/recipes/app-bar.css +7 -3
  10. package/recipes/attachment-input-item.css +7 -0
  11. package/recipes/attachment-input.css +2 -1
  12. package/recipes/avatar-stack.css +69 -0
  13. package/recipes/avatar-stack.d.ts +24 -0
  14. package/recipes/avatar-stack.mjs +55 -0
  15. package/recipes/avatar.css +257 -0
  16. package/recipes/avatar.d.ts +28 -0
  17. package/recipes/avatar.mjs +82 -0
  18. package/recipes/badge.css +1 -9
  19. package/recipes/badge.d.ts +0 -4
  20. package/recipes/badge.mjs +1 -14
  21. package/recipes/bottom-sheet.css +33 -2
  22. package/recipes/bottom-sheet.d.ts +5 -1
  23. package/recipes/bottom-sheet.mjs +28 -2
  24. package/recipes/callout.css +1 -8
  25. package/recipes/checkbox.css +7 -1
  26. package/recipes/checkmark.css +17 -26
  27. package/recipes/checkmark.d.ts +1 -5
  28. package/recipes/checkmark.mjs +7 -60
  29. package/recipes/content-placeholder.css +29 -0
  30. package/recipes/content-placeholder.d.ts +21 -0
  31. package/recipes/content-placeholder.mjs +44 -0
  32. package/recipes/dialog.css +4 -2
  33. package/recipes/{input-button.css → field-button.css} +49 -49
  34. package/recipes/field-button.d.ts +40 -0
  35. package/recipes/{input-button.mjs → field-button.mjs} +20 -20
  36. package/recipes/floating-action-button.css +15 -8
  37. package/recipes/image-frame-icon.css +8 -0
  38. package/recipes/image-frame-icon.d.ts +19 -0
  39. package/recipes/image-frame-icon.mjs +22 -0
  40. package/recipes/image-frame-indicator.css +17 -0
  41. package/recipes/image-frame-indicator.d.ts +21 -0
  42. package/recipes/image-frame-indicator.mjs +36 -0
  43. package/recipes/image-frame-reaction-button.css +20 -0
  44. package/recipes/image-frame-reaction-button.d.ts +21 -0
  45. package/recipes/image-frame-reaction-button.mjs +40 -0
  46. package/recipes/image-frame.css +87 -0
  47. package/recipes/image-frame.d.ts +32 -0
  48. package/recipes/image-frame.mjs +72 -0
  49. package/recipes/list-item.css +0 -4
  50. package/recipes/list-item.d.ts +1 -1
  51. package/recipes/list-item.mjs +0 -4
  52. package/recipes/menu-sheet-item.css +5 -1
  53. package/recipes/menu-sheet.css +5 -0
  54. package/recipes/menu-sheet.d.ts +1 -1
  55. package/recipes/menu-sheet.mjs +4 -0
  56. package/recipes/menu.css +1 -13
  57. package/recipes/menu.d.ts +1 -1
  58. package/recipes/menu.mjs +0 -4
  59. package/recipes/page-banner.css +4 -4
  60. package/recipes/progress-circle.css +38 -4
  61. package/recipes/progress-circle.d.ts +1 -1
  62. package/recipes/progress-circle.mjs +1 -0
  63. package/recipes/pull-to-refresh.css +14 -0
  64. package/recipes/pull-to-refresh.d.ts +21 -0
  65. package/recipes/pull-to-refresh.mjs +40 -0
  66. package/recipes/reaction-button.css +0 -6
  67. package/recipes/reaction-button.d.ts +0 -4
  68. package/recipes/reaction-button.mjs +0 -11
  69. package/recipes/scroll-fog.css +4 -17
  70. package/recipes/scroll-fog.d.ts +1 -1
  71. package/recipes/scroll-fog.mjs +0 -8
  72. package/recipes/segmented-control.css +24 -14
  73. package/recipes/segmented-control.d.ts +4 -4
  74. package/recipes/segmented-control.mjs +8 -8
  75. package/recipes/select-box-checkmark.css +4 -7
  76. package/recipes/select-box.css +10 -4
  77. package/recipes/select-item.css +13 -2
  78. package/recipes/select-item.d.ts +1 -1
  79. package/recipes/select-item.mjs +4 -0
  80. package/recipes/select-trigger.css +13 -2
  81. package/recipes/select-trigger.d.ts +1 -1
  82. package/recipes/select-trigger.mjs +4 -0
  83. package/recipes/select.css +1 -13
  84. package/recipes/select.d.ts +1 -1
  85. package/recipes/select.mjs +0 -4
  86. package/recipes/slider-marker.css +2 -2
  87. package/recipes/slider-tick.css +1 -1
  88. package/recipes/slider.css +2 -5
  89. package/recipes/tabs.css +11 -11
  90. package/recipes/wheel-picker.css +151 -0
  91. package/recipes/wheel-picker.d.ts +32 -0
  92. package/recipes/wheel-picker.mjs +90 -0
  93. package/vars/component/alert-dialog.d.ts +2 -0
  94. package/vars/component/bottom-sheet.d.ts +3 -0
  95. package/vars/component/bottom-sheet.mjs +1 -0
  96. package/vars/component/dialog.d.ts +6 -2
  97. package/vars/component/help-bubble.d.ts +2 -1
  98. package/vars/component/menu-sheet.d.ts +5 -0
  99. package/vars/component/menu-sheet.mjs +1 -0
  100. package/vars/component/menu.d.ts +2 -1
  101. package/vars/component/page-banner-close-button.d.ts +4 -4
  102. package/vars/component/page-banner-close-button.mjs +4 -4
  103. package/vars/component/popover.d.ts +4 -4
  104. package/vars/component/select.d.ts +2 -1
  105. package/vars/component/side-panel.d.ts +10 -7
  106. package/vars/component/snackbar.d.ts +1 -0
  107. package/recipes/input-button.d.ts +0 -40
package/recipes/menu.css CHANGED
@@ -1,17 +1,5 @@
1
1
  .seed-menu__positioner {
2
- position: absolute;
3
- top: 0;
4
- left: 0;
5
- width: 100%;
6
- height: 100%;
7
- z-index: 0
8
- }
9
- .seed-menu__backdrop {
10
- position: absolute;
11
- top: 0;
12
- right: 0;
13
- bottom: 0;
14
- left: 0
2
+ z-index: 99
15
3
  }
16
4
  .seed-menu__content {
17
5
  position: absolute;
package/recipes/menu.d.ts CHANGED
@@ -19,7 +19,7 @@ declare type MenuVariantMap = {
19
19
 
20
20
  export declare type MenuVariantProps = Partial<MenuVariant>;
21
21
 
22
- export declare type MenuSlotName = "positioner" | "backdrop" | "content" | "scrollArea" | "scrollContent" | "group" | "groupLabel" | "separator";
22
+ export declare type MenuSlotName = "positioner" | "content" | "scrollArea" | "scrollContent" | "group" | "groupLabel" | "separator";
23
23
 
24
24
  export declare const menuVariantMap: MenuVariantMap;
25
25
 
package/recipes/menu.mjs CHANGED
@@ -6,10 +6,6 @@ const menuSlotNames = [
6
6
  "positioner",
7
7
  "seed-menu__positioner"
8
8
  ],
9
- [
10
- "backdrop",
11
- "seed-menu__backdrop"
12
- ],
13
9
  [
14
10
  "content",
15
11
  "seed-menu__content"
@@ -218,7 +218,7 @@
218
218
  color: var(--seed-color-fg-on-informative-solid);
219
219
  }
220
220
  .seed-page-banner__closeButtonIcon--tone_informative-variant_solid {
221
- color: var(--seed-color-palette-static-white);
221
+ color: var(--seed-color-fg-on-informative-solid);
222
222
  }
223
223
  .seed-page-banner__root--tone_positive-variant_weak {
224
224
  background-color: var(--seed-color-bg-positive-weak);
@@ -260,7 +260,7 @@
260
260
  color: var(--seed-color-fg-on-positive-solid);
261
261
  }
262
262
  .seed-page-banner__closeButtonIcon--tone_positive-variant_solid {
263
- color: var(--seed-color-palette-static-white);
263
+ color: var(--seed-color-fg-on-positive-solid);
264
264
  }
265
265
  .seed-page-banner__root--tone_warning-variant_weak {
266
266
  background-color: var(--seed-color-bg-warning-weak);
@@ -302,7 +302,7 @@
302
302
  color: var(--seed-color-fg-on-warning-solid);
303
303
  }
304
304
  .seed-page-banner__closeButtonIcon--tone_warning-variant_solid {
305
- color: var(--seed-color-palette-static-black-alpha-900);
305
+ color: var(--seed-color-fg-on-warning-solid);
306
306
  }
307
307
  .seed-page-banner__root--tone_critical-variant_weak {
308
308
  background-color: var(--seed-color-bg-critical-weak);
@@ -344,7 +344,7 @@
344
344
  color: var(--seed-color-fg-on-critical-solid);
345
345
  }
346
346
  .seed-page-banner__closeButtonIcon--tone_critical-variant_solid {
347
- color: var(--seed-color-palette-static-white);
347
+ color: var(--seed-color-fg-on-critical-solid);
348
348
  }
349
349
  .seed-page-banner__root--tone_magic-variant_weak {
350
350
  background-image: linear-gradient(88deg, var(--seed-gradient-glow-magic));
@@ -36,21 +36,55 @@
36
36
  clip-path: path("M7 0 A7 7 0 1 1 7 14 A7 7 0 1 1 7 0 Z M7 2 A5 5 0 1 0 7 12 A5 5 0 1 0 7 2 Z");
37
37
  }
38
38
 
39
+ .seed-progress-circle__track {
40
+ position: absolute;
41
+ top: 0;
42
+ left: 0;
43
+ width: 100%;
44
+ height: 100%;
45
+ }
46
+
39
47
  .seed-progress-circle__cap {
40
48
  position: absolute;
41
49
  border-radius: 50%;
42
50
  z-index: 1;
43
51
  }
44
52
 
45
- .seed-progress-circle__root--tone_neutral {
53
+ .seed-progress-circle__spinner,
54
+ .seed-progress-circle__indeterminate-range,
55
+ .seed-progress-circle__half,
56
+ .seed-progress-circle__semicircle--first,
57
+ .seed-progress-circle__semicircle--second {
58
+ position: absolute;
59
+ top: 0;
60
+ left: 0;
61
+ width: 100%;
62
+ height: 100%;
63
+ }
64
+
65
+ .seed-progress-circle__range.seed-progress-circle__indeterminate-range {
66
+ background-color: transparent;
67
+ }
68
+
69
+ .seed-progress-circle__half--first,
70
+ .seed-progress-circle__semicircle--second {
71
+ clip-path: inset(0 0 0 50%);
72
+ }
73
+
74
+ .seed-progress-circle__half--second,
75
+ .seed-progress-circle__semicircle--first {
76
+ clip-path: inset(0 50% 0 0);
77
+ }
78
+
79
+ .seed-progress-circle__track--tone_neutral {
46
80
  background-color: var(--seed-color-palette-gray-200);
47
81
  }
48
82
 
49
- .seed-progress-circle__root--tone_brand {
83
+ .seed-progress-circle__track--tone_brand {
50
84
  background-color: var(--seed-color-palette-carrot-200);
51
85
  }
52
86
 
53
- .seed-progress-circle__root--tone_staticWhite {
87
+ .seed-progress-circle__track--tone_staticWhite {
54
88
  background-color: var(--seed-color-palette-static-white-alpha-300);
55
89
  }
56
90
 
@@ -70,7 +104,7 @@
70
104
  }
71
105
 
72
106
  /* inherit: inherits --track-color / --range-color from parent (e.g. action-button) */
73
- .seed-progress-circle__root--tone_inherit {
107
+ .seed-progress-circle__track--tone_inherit {
74
108
  background-color: var(--track-color);
75
109
  }
76
110
 
@@ -17,7 +17,7 @@ declare type ProgressCircleVariantMap = {
17
17
 
18
18
  export declare type ProgressCircleVariantProps = Partial<ProgressCircleVariant>;
19
19
 
20
- export declare type ProgressCircleSlotName = "root" | "range" | "cap";
20
+ export declare type ProgressCircleSlotName = "root" | "track" | "range" | "cap";
21
21
 
22
22
  export declare const progressCircleVariantMap: ProgressCircleVariantMap;
23
23
 
@@ -4,6 +4,7 @@ import { createClassName, mergeVariants, splitVariantProps } from "./shared.mjs"
4
4
 
5
5
  const progressCircleSlotNames = [
6
6
  ["root", "seed-progress-circle__root"],
7
+ ["track", "seed-progress-circle__track"],
7
8
  ["range", "seed-progress-circle__range"],
8
9
  ["cap", "seed-progress-circle__cap"],
9
10
  ];
@@ -0,0 +1,14 @@
1
+ .seed-pull-to-refresh__root {
2
+ height: 100%
3
+ }
4
+ .seed-pull-to-refresh__indicator {
5
+ display: flex;
6
+ align-items: center;
7
+ justify-content: center;
8
+ padding-top: var(--seed-dimension-x8);
9
+ padding-bottom: var(--seed-dimension-x8)
10
+ }
11
+ .seed-pull-to-refresh__content {
12
+ height: 100%;
13
+ width: 100%
14
+ }
@@ -0,0 +1,21 @@
1
+ declare interface PullToRefreshVariant {
2
+
3
+ }
4
+
5
+ declare type PullToRefreshVariantMap = {
6
+ [key in keyof PullToRefreshVariant]: Array<PullToRefreshVariant[key]>;
7
+ };
8
+
9
+ export declare type PullToRefreshVariantProps = Partial<PullToRefreshVariant>;
10
+
11
+ export declare type PullToRefreshSlotName = "root" | "indicator" | "content";
12
+
13
+ export declare const pullToRefreshVariantMap: PullToRefreshVariantMap;
14
+
15
+ export declare const pullToRefresh: ((
16
+ props?: PullToRefreshVariantProps,
17
+ ) => Record<PullToRefreshSlotName, string>) & {
18
+ splitVariantProps: <T extends PullToRefreshVariantProps>(
19
+ props: T,
20
+ ) => [PullToRefreshVariantProps, Omit<T, keyof PullToRefreshVariantProps>];
21
+ }
@@ -0,0 +1,40 @@
1
+ import './pull-to-refresh.css';
2
+ import { createClassName, mergeVariants, splitVariantProps } from "./shared.mjs";
3
+
4
+ const pullToRefreshSlotNames = [
5
+ [
6
+ "root",
7
+ "seed-pull-to-refresh__root"
8
+ ],
9
+ [
10
+ "indicator",
11
+ "seed-pull-to-refresh__indicator"
12
+ ],
13
+ [
14
+ "content",
15
+ "seed-pull-to-refresh__content"
16
+ ]
17
+ ];
18
+
19
+ const defaultVariant = {};
20
+
21
+ const compoundVariants = [];
22
+
23
+ export const pullToRefreshVariantMap = {};
24
+
25
+ export const pullToRefreshVariantKeys = Object.keys(pullToRefreshVariantMap);
26
+
27
+ export function pullToRefresh(props) {
28
+ return Object.fromEntries(
29
+ pullToRefreshSlotNames.map(([slot, className]) => {
30
+ return [
31
+ slot,
32
+ createClassName(className, mergeVariants(defaultVariant, props), compoundVariants),
33
+ ];
34
+ }),
35
+ );
36
+ }
37
+
38
+ Object.assign(pullToRefresh, { splitVariantProps: (props) => splitVariantProps(props, pullToRefreshVariantMap) });
39
+
40
+ // @recipe(seed): pull-to-refresh
@@ -101,9 +101,6 @@
101
101
  .seed-reaction-button__prefixIcon--selected_true {
102
102
  color: var(--seed-color-fg-brand)
103
103
  }
104
- .seed-reaction-button__root--pressed_true {
105
- background: var(--seed-color-bg-transparent-pressed)
106
- }
107
104
  .seed-reaction-button__root--disabled_true {
108
105
  background: var(--seed-color-bg-disabled);
109
106
  box-shadow: inset 0 0 0 0px var(--seed-color-stroke-neutral-muted)
@@ -123,9 +120,6 @@
123
120
  .seed-reaction-button__content--loading_true {
124
121
  opacity: 0
125
122
  }
126
- .seed-reaction-button__root--selected_true-pressed_true-disabled_false-loading_false {
127
- background: var(--seed-color-bg-transparent-pressed)
128
- }
129
123
  .seed-reaction-button__root--selected_false-disabled_false-loading_false:active {
130
124
  background: var(--seed-color-bg-transparent-pressed)
131
125
  }
@@ -7,10 +7,6 @@ declare interface ReactionButtonVariant {
7
7
  * @default false
8
8
  */
9
9
  selected: boolean;
10
- /**
11
- * @default false
12
- */
13
- pressed: boolean;
14
10
  /**
15
11
  * @default false
16
12
  */
@@ -31,18 +31,11 @@ const reactionButtonSlotNames = [
31
31
  const defaultVariant = {
32
32
  "size": "small",
33
33
  "selected": false,
34
- "pressed": false,
35
34
  "disabled": false,
36
35
  "loading": false
37
36
  };
38
37
 
39
38
  const compoundVariants = [
40
- {
41
- "selected": true,
42
- "pressed": true,
43
- "disabled": false,
44
- "loading": false
45
- },
46
39
  {
47
40
  "selected": false,
48
41
  "disabled": false,
@@ -68,10 +61,6 @@ export const reactionButtonVariantMap = {
68
61
  true,
69
62
  false
70
63
  ],
71
- "pressed": [
72
- true,
73
- false
74
- ],
75
64
  "disabled": [
76
65
  true,
77
66
  false
@@ -5,8 +5,7 @@
5
5
  mask-image: linear-gradient(#000000ff, #000000ff);
6
6
  mask-position: top left;
7
7
  mask-repeat: no-repeat;
8
- mask-size: 100% 100%;
9
- pointer-events: none
8
+ mask-size: 100% 100%
10
9
  }
11
10
  .seed-scroll-fog__bottomMask {
12
11
  width: 100%;
@@ -14,8 +13,7 @@
14
13
  mask-image: linear-gradient(#000000ff, #000000ff);
15
14
  mask-position: top left;
16
15
  mask-repeat: no-repeat;
17
- mask-size: 100% 100%;
18
- pointer-events: none
16
+ mask-size: 100% 100%
19
17
  }
20
18
  .seed-scroll-fog__leftMask {
21
19
  width: 100%;
@@ -23,8 +21,7 @@
23
21
  mask-image: linear-gradient(#000000ff, #000000ff);
24
22
  mask-position: top left;
25
23
  mask-repeat: no-repeat;
26
- mask-size: 100% 100%;
27
- pointer-events: none
24
+ mask-size: 100% 100%
28
25
  }
29
26
  .seed-scroll-fog__rightMask {
30
27
  width: 100%;
@@ -32,17 +29,7 @@
32
29
  mask-image: linear-gradient(#000000ff, #000000ff);
33
30
  mask-position: top left;
34
31
  mask-repeat: no-repeat;
35
- mask-size: 100% 100%;
36
- pointer-events: none
37
- }
38
- .seed-scroll-fog__verticalScroll {
39
- width: 100%;
40
- height: 100%;
41
- pointer-events: auto
42
- }
43
- .seed-scroll-fog__horizontalScroll {
44
- width: 100%;
45
- pointer-events: auto
32
+ mask-size: 100% 100%
46
33
  }
47
34
  .seed-scroll-fog__topMask--top_true {
48
35
  mask-image: linear-gradient(to bottom, #00000000 0%, #00000003 8%, #00000005 16%, #0000000d 22%, #00000014 29%, #00000021 35%, #0000002e 41%, #00000040 47%, #00000052 53%, #00000066 59%, #0000007a 65%, #00000094 71%, #000000ab 78%, #000000c7 84%, #000000e3 92%, #000000ff 100%), linear-gradient(#000000ff, #000000ff);
@@ -23,7 +23,7 @@ declare type ScrollFogVariantMap = {
23
23
 
24
24
  export declare type ScrollFogVariantProps = Partial<ScrollFogVariant>;
25
25
 
26
- export declare type ScrollFogSlotName = "root" | "topMask" | "bottomMask" | "leftMask" | "rightMask" | "verticalScroll" | "horizontalScroll";
26
+ export declare type ScrollFogSlotName = "root" | "topMask" | "bottomMask" | "leftMask" | "rightMask";
27
27
 
28
28
  export declare const scrollFogVariantMap: ScrollFogVariantMap;
29
29
 
@@ -21,14 +21,6 @@ const scrollFogSlotNames = [
21
21
  [
22
22
  "rightMask",
23
23
  "seed-scroll-fog__rightMask"
24
- ],
25
- [
26
- "verticalScroll",
27
- "seed-scroll-fog__verticalScroll"
28
- ],
29
- [
30
- "horizontalScroll",
31
- "seed-scroll-fog__horizontalScroll"
32
24
  ]
33
25
  ];
34
26
 
@@ -9,7 +9,8 @@
9
9
  max-width: 100%;
10
10
  padding: var(--seed-dimension-x1);
11
11
  border-radius: var(--seed-radius-full);
12
- background-color: var(--seed-color-bg-neutral-weak-alpha)
12
+ background-color: var(--seed-color-bg-neutral-weak-alpha);
13
+ --segment-min-width: 86px
13
14
  }
14
15
  .seed-segmented-control__indicator {
15
16
  position: absolute;
@@ -18,6 +19,7 @@
18
19
  left: var(--seed-dimension-x1);
19
20
  z-index: 0;
20
21
  width: calc((100% - var(--seed-dimension-x1) * 2) / var(--segment-count, 1));
22
+ min-width: var(--segment-min-width);
21
23
  border-radius: var(--seed-radius-full);
22
24
  background-color: var(--seed-color-palette-gray-00);
23
25
  box-shadow: inset 0 0 0 1px var(--seed-color-stroke-neutral-muted);
@@ -33,7 +35,7 @@
33
35
  z-index: 1;
34
36
  align-items: center;
35
37
  justify-content: center;
36
- min-width: 86px;
38
+ min-width: var(--segment-min-width);
37
39
  min-height: 34px;
38
40
  height: 100%;
39
41
  border-radius: var(--seed-radius-full)
@@ -58,6 +60,22 @@
58
60
  bottom: 0;
59
61
  left: 0;
60
62
  border-radius: var(--seed-radius-full);
63
+ background-color: var(--seed-color-bg-neutral-weak-pressed);
64
+ box-shadow: inset 0 0 0 1px var(--seed-color-stroke-neutral-muted);
65
+ opacity: 0;
66
+ transition-property: opacity;
67
+ transition-duration: var(--seed-duration-color-transition);
68
+ transition-timing-function: var(--seed-timing-function-easing)
69
+ }
70
+ .seed-segmented-control__itemSelectedBackground {
71
+ position: absolute;
72
+ top: 0;
73
+ right: 0;
74
+ bottom: 0;
75
+ left: 0;
76
+ border-radius: var(--seed-radius-full);
77
+ background-color: var(--seed-color-palette-gray-100);
78
+ box-shadow: inset 0 0 0 1px var(--seed-color-stroke-neutral-muted);
61
79
  opacity: 0;
62
80
  transition-property: opacity;
63
81
  transition-duration: var(--seed-duration-color-transition);
@@ -73,31 +91,23 @@
73
91
  transition-duration: var(--seed-duration-color-transition);
74
92
  transition-timing-function: var(--seed-timing-function-easing)
75
93
  }
76
- .seed-segmented-control__itemBackground--selected_true {
77
- background-color: var(--seed-color-palette-gray-100);
78
- box-shadow: inset 0 0 0 1px var(--seed-color-stroke-neutral-muted)
79
- }
80
94
  .seed-segmented-control__label--selected_true {
81
95
  color: var(--seed-color-fg-neutral)
82
96
  }
83
- .seed-segmented-control__itemBackground--selected_false {
84
- background-color: var(--seed-color-bg-neutral-weak-pressed);
85
- box-shadow: inset 0 0 0 1px var(--seed-color-stroke-neutral-muted)
86
- }
87
97
  .seed-segmented-control__label--disabled_true {
88
98
  color: var(--seed-color-fg-disabled)
89
99
  }
90
- .seed-segmented-control__item--disabled_false:active .seed-segmented-control__itemBackground {
100
+ .seed-segmented-control__item--disabled_false:active .seed-segmented-control__itemBackground--selected_false {
91
101
  opacity: 1
92
102
  }
93
- .seed-segmented-control__itemBackground--pressed_true {
103
+ .seed-segmented-control__item--disabled_false:active .seed-segmented-control__itemSelectedBackground--selected_true {
94
104
  opacity: 1
95
105
  }
96
106
  .seed-segmented-control__indicator--hasSelection_false {
97
107
  opacity: 0
98
108
  }
99
- .seed-segmented-control__itemBackground--disabled_true-pressed_true {
100
- opacity: 0
109
+ .seed-segmented-control__indicator--transitionEnabled_false {
110
+ transition-duration: 0s
101
111
  }
102
112
  .seed-segmented-control__item--selected_true-disabled_true {
103
113
  background-color: var(--seed-color-bg-disabled);
@@ -8,13 +8,13 @@ declare interface SegmentedControlVariant {
8
8
  */
9
9
  disabled: boolean;
10
10
  /**
11
- * @default false
11
+ * @default true
12
12
  */
13
- pressed: boolean;
13
+ hasSelection: boolean;
14
14
  /**
15
15
  * @default true
16
16
  */
17
- hasSelection: boolean;
17
+ transitionEnabled: boolean;
18
18
  }
19
19
 
20
20
  declare type SegmentedControlVariantMap = {
@@ -23,7 +23,7 @@ declare type SegmentedControlVariantMap = {
23
23
 
24
24
  export declare type SegmentedControlVariantProps = Partial<SegmentedControlVariant>;
25
25
 
26
- export declare type SegmentedControlSlotName = "root" | "indicator" | "item" | "itemContent" | "itemBackground" | "label";
26
+ export declare type SegmentedControlSlotName = "root" | "indicator" | "item" | "itemContent" | "itemBackground" | "itemSelectedBackground" | "label";
27
27
 
28
28
  export declare const segmentedControlVariantMap: SegmentedControlVariantMap;
29
29
 
@@ -22,6 +22,10 @@ const segmentedControlSlotNames = [
22
22
  "itemBackground",
23
23
  "seed-segmented-control__itemBackground"
24
24
  ],
25
+ [
26
+ "itemSelectedBackground",
27
+ "seed-segmented-control__itemSelectedBackground"
28
+ ],
25
29
  [
26
30
  "label",
27
31
  "seed-segmented-control__label"
@@ -31,15 +35,11 @@ const segmentedControlSlotNames = [
31
35
  const defaultVariant = {
32
36
  "selected": false,
33
37
  "disabled": false,
34
- "pressed": false,
35
- "hasSelection": true
38
+ "hasSelection": true,
39
+ "transitionEnabled": true
36
40
  };
37
41
 
38
42
  const compoundVariants = [
39
- {
40
- "disabled": true,
41
- "pressed": true
42
- },
43
43
  {
44
44
  "selected": true,
45
45
  "disabled": true
@@ -55,11 +55,11 @@ export const segmentedControlVariantMap = {
55
55
  true,
56
56
  false
57
57
  ],
58
- "pressed": [
58
+ "hasSelection": [
59
59
  true,
60
60
  false
61
61
  ],
62
- "hasSelection": [
62
+ "transitionEnabled": [
63
63
  true,
64
64
  false
65
65
  ]
@@ -1,19 +1,16 @@
1
1
  .seed-select-box-checkmark__root {
2
- position: relative;
2
+ display: flex;
3
+ align-items: center;
4
+ justify-content: center;
3
5
  flex-shrink: 0;
4
6
  width: var(--seed-dimension-x5);
5
7
  height: var(--seed-dimension-x5)
6
8
  }
7
9
  .seed-select-box-checkmark__icon {
8
10
  display: flex;
9
- position: absolute;
10
- top: 0;
11
- right: 0;
12
- bottom: 0;
13
- left: 0;
11
+ flex-shrink: 0;
14
12
  width: 15px;
15
13
  height: 15px;
16
- margin: auto;
17
14
  color: var(--seed-color-fg-placeholder)
18
15
  }
19
16
  .seed-select-box-checkmark__icon--selected_true {
@@ -3,7 +3,6 @@
3
3
  flex-direction: column;
4
4
  align-items: stretch;
5
5
  width: 100%;
6
- height: 100%;
7
6
  min-height: 0;
8
7
  gap: 0
9
8
  }
@@ -13,7 +12,7 @@
13
12
  flex-direction: column;
14
13
  align-items: stretch;
15
14
  width: 100%;
16
- height: 100%;
15
+ flex-grow: 1;
17
16
  border-radius: var(--seed-radius-r3);
18
17
  background-color: var(--seed-color-bg-transparent);
19
18
  box-shadow: inset 0 0 0 1px var(--seed-color-stroke-neutral-weak);
@@ -25,7 +24,6 @@
25
24
  flex-direction: column;
26
25
  align-items: stretch;
27
26
  width: 100%;
28
- height: 100%;
29
27
  min-height: 0;
30
28
  flex-grow: 1
31
29
  }
@@ -52,7 +50,9 @@
52
50
  .seed-select-box__content {
53
51
  display: flex;
54
52
  flex-direction: row;
55
- min-width: 0
53
+ min-width: 0;
54
+ flex-grow: 1;
55
+ flex-shrink: 1
56
56
  }
57
57
  .seed-select-box__prefixIcon {
58
58
  display: flex;
@@ -72,6 +72,7 @@
72
72
  }
73
73
  .seed-select-box__label {
74
74
  display: flex;
75
+ flex-shrink: 0;
75
76
  flex-direction: row;
76
77
  align-items: center;
77
78
  justify-content: flex-start;
@@ -82,6 +83,7 @@
82
83
  font-weight: var(--seed-font-weight-medium)
83
84
  }
84
85
  .seed-select-box__description {
86
+ flex-shrink: 0;
85
87
  color: var(--seed-color-fg-neutral-muted);
86
88
  font-size: var(--seed-font-size-t3);
87
89
  line-height: var(--seed-line-height-t3);
@@ -114,6 +116,10 @@
114
116
  align-items: center;
115
117
  gap: var(--seed-dimension-x3)
116
118
  }
119
+ .seed-select-box__body--layout_horizontal {
120
+ flex-grow: 1;
121
+ flex-shrink: 1
122
+ }
117
123
  .seed-select-box__trigger--layout_vertical {
118
124
  padding-left: var(--seed-dimension-x4);
119
125
  padding-right: var(--seed-dimension-x4);
@@ -5,6 +5,13 @@
5
5
  align-items: center;
6
6
  flex-shrink: 0
7
7
  }
8
+ .seed-select-item__scaleContent {
9
+ display: flex;
10
+ flex-direction: row;
11
+ align-items: center;
12
+ width: 100%;
13
+ min-width: 0
14
+ }
8
15
  .seed-select-item__pressedOverlay {
9
16
  position: absolute;
10
17
  top: 0;
@@ -46,7 +53,9 @@
46
53
  padding-top: var(--seed-dimension-x3);
47
54
  padding-bottom: var(--seed-dimension-x3);
48
55
  padding-left: var(--seed-dimension-x4);
49
- padding-right: var(--seed-dimension-x4);
56
+ padding-right: var(--seed-dimension-x4)
57
+ }
58
+ .seed-select-item__scaleContent--size_large {
50
59
  gap: var(--seed-dimension-x3)
51
60
  }
52
61
  .seed-select-item__prefixIcon--size_large {
@@ -69,7 +78,9 @@
69
78
  padding-top: var(--seed-dimension-x2_5);
70
79
  padding-bottom: var(--seed-dimension-x2_5);
71
80
  padding-left: var(--seed-dimension-x4);
72
- padding-right: var(--seed-dimension-x4);
81
+ padding-right: var(--seed-dimension-x4)
82
+ }
83
+ .seed-select-item__scaleContent--size_medium {
73
84
  gap: var(--seed-dimension-x2)
74
85
  }
75
86
  .seed-select-item__prefixIcon--size_medium {
@@ -23,7 +23,7 @@ declare type SelectItemVariantMap = {
23
23
 
24
24
  export declare type SelectItemVariantProps = Partial<SelectItemVariant>;
25
25
 
26
- export declare type SelectItemSlotName = "root" | "pressedOverlay" | "body" | "label" | "description" | "prefixIcon" | "indicator";
26
+ export declare type SelectItemSlotName = "root" | "scaleContent" | "pressedOverlay" | "body" | "label" | "description" | "prefixIcon" | "indicator";
27
27
 
28
28
  export declare const selectItemVariantMap: SelectItemVariantMap;
29
29
 
@@ -6,6 +6,10 @@ const selectItemSlotNames = [
6
6
  "root",
7
7
  "seed-select-item__root"
8
8
  ],
9
+ [
10
+ "scaleContent",
11
+ "seed-select-item__scaleContent"
12
+ ],
9
13
  [
10
14
  "pressedOverlay",
11
15
  "seed-select-item__pressedOverlay"