@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
@@ -14,6 +14,15 @@
14
14
  opacity: 0;
15
15
  transition: opacity var(--seed-duration-color-transition) var(--seed-timing-function-easing)
16
16
  }
17
+ .seed-checkmark__selectedBackground {
18
+ position: absolute;
19
+ top: 0;
20
+ right: 0;
21
+ bottom: 0;
22
+ left: 0;
23
+ opacity: 0;
24
+ transition: opacity var(--seed-duration-color-transition) var(--seed-timing-function-easing)
25
+ }
17
26
  .seed-checkmark__icon {
18
27
  position: absolute
19
28
  }
@@ -38,6 +47,9 @@
38
47
  .seed-checkmark__background--size_medium {
39
48
  border-radius: var(--seed-radius-r1)
40
49
  }
50
+ .seed-checkmark__selectedBackground--size_medium {
51
+ border-radius: var(--seed-radius-r1)
52
+ }
41
53
  .seed-checkmark__root--size_large {
42
54
  width: var(--seed-dimension-x6);
43
55
  height: var(--seed-dimension-x6);
@@ -46,6 +58,9 @@
46
58
  .seed-checkmark__background--size_large {
47
59
  border-radius: var(--seed-radius-r1)
48
60
  }
61
+ .seed-checkmark__selectedBackground--size_large {
62
+ border-radius: var(--seed-radius-r1)
63
+ }
49
64
  .seed-checkmark__icon--variant_square-size_medium {
50
65
  width: 12px;
51
66
  height: 12px
@@ -114,16 +129,10 @@
114
129
  .seed-checkmark__icon--variant_square-indeterminate_true-disabled_true {
115
130
  color: var(--seed-color-fg-disabled)
116
131
  }
117
- .seed-checkmark__background--variant_ghost-tone_brand-checked_true {
132
+ .seed-checkmark__selectedBackground--variant_ghost-tone_brand {
118
133
  background-color: var(--seed-color-palette-carrot-200)
119
134
  }
120
- .seed-checkmark__background--variant_ghost-tone_neutral-checked_true {
121
- background-color: var(--seed-color-palette-gray-200)
122
- }
123
- .seed-checkmark__background--variant_ghost-tone_brand-indeterminate_true {
124
- background-color: var(--seed-color-palette-carrot-200)
125
- }
126
- .seed-checkmark__background--variant_ghost-tone_neutral-indeterminate_true {
135
+ .seed-checkmark__selectedBackground--variant_ghost-tone_neutral {
127
136
  background-color: var(--seed-color-palette-gray-200)
128
137
  }
129
138
  .seed-checkmark__icon--variant_ghost-tone_brand-checked_true-disabled_false {
@@ -146,22 +155,4 @@
146
155
  }
147
156
  .seed-checkmark__icon--variant_ghost-indeterminate_true-disabled_true {
148
157
  color: var(--seed-color-fg-disabled)
149
- }
150
- .seed-checkmark__background--variant_ghost-pressed_true-disabled_false {
151
- opacity: 1
152
- }
153
- .seed-checkmark__root--variant_square-pressed_true-checked_false-indeterminate_false-disabled_false {
154
- background-color: var(--seed-color-bg-transparent-pressed)
155
- }
156
- .seed-checkmark__root--variant_square-tone_brand-pressed_true-checked_true-disabled_false {
157
- background-color: var(--seed-color-bg-brand-solid-pressed)
158
- }
159
- .seed-checkmark__root--variant_square-tone_neutral-pressed_true-checked_true-disabled_false {
160
- background-color: var(--seed-color-bg-neutral-solid-pressed)
161
- }
162
- .seed-checkmark__root--variant_square-tone_brand-pressed_true-indeterminate_true-disabled_false {
163
- background-color: var(--seed-color-bg-brand-solid-pressed)
164
- }
165
- .seed-checkmark__root--variant_square-tone_neutral-pressed_true-indeterminate_true-disabled_false {
166
- background-color: var(--seed-color-bg-neutral-solid-pressed)
167
158
  }
@@ -23,10 +23,6 @@ declare interface CheckmarkVariant {
23
23
  * @default false
24
24
  */
25
25
  indeterminate: boolean;
26
- /**
27
- * @default false
28
- */
29
- pressed: boolean;
30
26
  }
31
27
 
32
28
  declare type CheckmarkVariantMap = {
@@ -35,7 +31,7 @@ declare type CheckmarkVariantMap = {
35
31
 
36
32
  export declare type CheckmarkVariantProps = Partial<CheckmarkVariant>;
37
33
 
38
- export declare type CheckmarkSlotName = "root" | "background" | "icon";
34
+ export declare type CheckmarkSlotName = "root" | "background" | "selectedBackground" | "icon";
39
35
 
40
36
  export declare const checkmarkVariantMap: CheckmarkVariantMap;
41
37
 
@@ -10,6 +10,10 @@ const checkmarkSlotNames = [
10
10
  "background",
11
11
  "seed-checkmark__background"
12
12
  ],
13
+ [
14
+ "selectedBackground",
15
+ "seed-checkmark__selectedBackground"
16
+ ],
13
17
  [
14
18
  "icon",
15
19
  "seed-checkmark__icon"
@@ -22,8 +26,7 @@ const defaultVariant = {
22
26
  "size": "medium",
23
27
  "checked": false,
24
28
  "disabled": false,
25
- "indeterminate": false,
26
- "pressed": false
29
+ "indeterminate": false
27
30
  };
28
31
 
29
32
  const compoundVariants = [
@@ -98,23 +101,11 @@ const compoundVariants = [
98
101
  },
99
102
  {
100
103
  "variant": "ghost",
101
- "tone": "brand",
102
- "checked": true
103
- },
104
- {
105
- "variant": "ghost",
106
- "tone": "neutral",
107
- "checked": true
108
- },
109
- {
110
- "variant": "ghost",
111
- "tone": "brand",
112
- "indeterminate": true
104
+ "tone": "brand"
113
105
  },
114
106
  {
115
107
  "variant": "ghost",
116
- "tone": "neutral",
117
- "indeterminate": true
108
+ "tone": "neutral"
118
109
  },
119
110
  {
120
111
  "variant": "ghost",
@@ -153,46 +144,6 @@ const compoundVariants = [
153
144
  "variant": "ghost",
154
145
  "indeterminate": true,
155
146
  "disabled": true
156
- },
157
- {
158
- "variant": "ghost",
159
- "pressed": true,
160
- "disabled": false
161
- },
162
- {
163
- "variant": "square",
164
- "pressed": true,
165
- "checked": false,
166
- "indeterminate": false,
167
- "disabled": false
168
- },
169
- {
170
- "variant": "square",
171
- "tone": "brand",
172
- "pressed": true,
173
- "checked": true,
174
- "disabled": false
175
- },
176
- {
177
- "variant": "square",
178
- "tone": "neutral",
179
- "pressed": true,
180
- "checked": true,
181
- "disabled": false
182
- },
183
- {
184
- "variant": "square",
185
- "tone": "brand",
186
- "pressed": true,
187
- "indeterminate": true,
188
- "disabled": false
189
- },
190
- {
191
- "variant": "square",
192
- "tone": "neutral",
193
- "pressed": true,
194
- "indeterminate": true,
195
- "disabled": false
196
147
  }
197
148
  ];
198
149
 
@@ -220,10 +171,6 @@ export const checkmarkVariantMap = {
220
171
  "indeterminate": [
221
172
  true,
222
173
  false
223
- ],
224
- "pressed": [
225
- true,
226
- false
227
174
  ]
228
175
  };
229
176
 
@@ -0,0 +1,29 @@
1
+ .seed-content-placeholder__root {
2
+ position: relative;
3
+ display: flex;
4
+ align-items: center;
5
+ justify-content: center;
6
+ width: 100%;
7
+ height: 100%;
8
+ overflow: hidden;
9
+ background-color: var(--seed-color-palette-gray-200)
10
+ }
11
+ .seed-content-placeholder__asset {
12
+ display: flex;
13
+ align-items: center;
14
+ justify-content: center;
15
+ height: calc(0.5 * 100%);
16
+ min-width: var(--seed-dimension-x4);
17
+ max-width: 160px;
18
+ aspect-ratio: 1 / 1
19
+ }
20
+ .seed-content-placeholder__presetLight {
21
+ width: 100%;
22
+ height: 100%;
23
+ display: var(--seed-content-placeholder-preset-light-display, flex)
24
+ }
25
+ .seed-content-placeholder__presetDark {
26
+ width: 100%;
27
+ height: 100%;
28
+ display: var(--seed-content-placeholder-preset-dark-display, none)
29
+ }
@@ -0,0 +1,21 @@
1
+ declare interface ContentPlaceholderVariant {
2
+
3
+ }
4
+
5
+ declare type ContentPlaceholderVariantMap = {
6
+ [key in keyof ContentPlaceholderVariant]: Array<ContentPlaceholderVariant[key]>;
7
+ };
8
+
9
+ export declare type ContentPlaceholderVariantProps = Partial<ContentPlaceholderVariant>;
10
+
11
+ export declare type ContentPlaceholderSlotName = "root" | "asset" | "presetLight" | "presetDark";
12
+
13
+ export declare const contentPlaceholderVariantMap: ContentPlaceholderVariantMap;
14
+
15
+ export declare const contentPlaceholder: ((
16
+ props?: ContentPlaceholderVariantProps,
17
+ ) => Record<ContentPlaceholderSlotName, string>) & {
18
+ splitVariantProps: <T extends ContentPlaceholderVariantProps>(
19
+ props: T,
20
+ ) => [ContentPlaceholderVariantProps, Omit<T, keyof ContentPlaceholderVariantProps>];
21
+ }
@@ -0,0 +1,44 @@
1
+ import './content-placeholder.css';
2
+ import { createClassName, mergeVariants, splitVariantProps } from "./shared.mjs";
3
+
4
+ const contentPlaceholderSlotNames = [
5
+ [
6
+ "root",
7
+ "seed-content-placeholder__root"
8
+ ],
9
+ [
10
+ "asset",
11
+ "seed-content-placeholder__asset"
12
+ ],
13
+ [
14
+ "presetLight",
15
+ "seed-content-placeholder__presetLight"
16
+ ],
17
+ [
18
+ "presetDark",
19
+ "seed-content-placeholder__presetDark"
20
+ ]
21
+ ];
22
+
23
+ const defaultVariant = {};
24
+
25
+ const compoundVariants = [];
26
+
27
+ export const contentPlaceholderVariantMap = {};
28
+
29
+ export const contentPlaceholderVariantKeys = Object.keys(contentPlaceholderVariantMap);
30
+
31
+ export function contentPlaceholder(props) {
32
+ return Object.fromEntries(
33
+ contentPlaceholderSlotNames.map(([slot, className]) => {
34
+ return [
35
+ slot,
36
+ createClassName(className, mergeVariants(defaultVariant, props), compoundVariants),
37
+ ];
38
+ }),
39
+ );
40
+ }
41
+
42
+ Object.assign(contentPlaceholder, { splitVariantProps: (props) => splitVariantProps(props, contentPlaceholderVariantMap) });
43
+
44
+ // @recipe(seed): content-placeholder
@@ -1,6 +1,7 @@
1
1
  .seed-dialog__positioner {
2
2
  position: fixed;
3
3
  display: flex;
4
+ flex-direction: column;
4
5
  justify-content: center;
5
6
  align-items: center;
6
7
  top: 0;
@@ -35,9 +36,10 @@
35
36
  position: relative;
36
37
  display: flex;
37
38
  flex-direction: column;
38
- flex: 0 0 auto;
39
+ flex-shrink: 1;
40
+ min-height: 0;
39
41
  box-sizing: border-box;
40
- width: calc(0.9 * 100vw);
42
+ width: calc(0.9 * 100%);
41
43
  max-height: calc(0.8 * 100vh);
42
44
  opacity: 0;
43
45
  transform: scale(1.3);
@@ -1,4 +1,4 @@
1
- .seed-input-button__root {
1
+ .seed-field-button__root {
2
2
  display: flex;
3
3
  flex-direction: row;
4
4
  width: 100%;
@@ -6,7 +6,7 @@
6
6
  position: relative;
7
7
  overflow: hidden
8
8
  }
9
- .seed-input-button__content {
9
+ .seed-field-button__content {
10
10
  display: flex;
11
11
  flex-direction: row;
12
12
  align-items: center;
@@ -14,7 +14,7 @@
14
14
  height: 100%;
15
15
  pointer-events: none
16
16
  }
17
- .seed-input-button__button {
17
+ .seed-field-button__button {
18
18
  position: absolute;
19
19
  top: 0;
20
20
  right: 0;
@@ -23,7 +23,7 @@
23
23
  background-color: var(--seed-color-bg-transparent);
24
24
  transition: background-color var(--seed-duration-color-transition) var(--seed-timing-function-easing)
25
25
  }
26
- .seed-input-button__baseStroke {
26
+ .seed-field-button__baseStroke {
27
27
  position: absolute;
28
28
  top: 0;
29
29
  right: 0;
@@ -34,7 +34,7 @@
34
34
  border-color: var(--seed-color-stroke-neutral-weak);
35
35
  pointer-events: none
36
36
  }
37
- .seed-input-button__stroke {
37
+ .seed-field-button__stroke {
38
38
  position: absolute;
39
39
  top: 0;
40
40
  right: 0;
@@ -46,7 +46,7 @@
46
46
  transition: border-color 0.1s var(--seed-timing-function-easing);
47
47
  pointer-events: none
48
48
  }
49
- .seed-input-button__value {
49
+ .seed-field-button__value {
50
50
  flex-grow: 1;
51
51
  min-width: 0;
52
52
  color: var(--seed-color-fg-neutral);
@@ -56,7 +56,7 @@
56
56
  white-space: nowrap;
57
57
  pointer-events: none
58
58
  }
59
- .seed-input-button__placeholder {
59
+ .seed-field-button__placeholder {
60
60
  flex-grow: 1;
61
61
  min-width: 0;
62
62
  color: var(--seed-color-fg-placeholder);
@@ -66,163 +66,163 @@
66
66
  white-space: nowrap;
67
67
  pointer-events: none
68
68
  }
69
- .seed-input-button__prefixText {
69
+ .seed-field-button__prefixText {
70
70
  flex-shrink: 0;
71
71
  color: var(--seed-color-fg-neutral-subtle);
72
72
  font-weight: var(--seed-font-weight-regular);
73
73
  pointer-events: none
74
74
  }
75
- .seed-input-button__prefixIcon {
75
+ .seed-field-button__prefixIcon {
76
76
  flex-shrink: 0;
77
77
  color: var(--seed-color-fg-neutral-muted);
78
78
  pointer-events: none
79
79
  }
80
- .seed-input-button__suffixText {
80
+ .seed-field-button__suffixText {
81
81
  flex-shrink: 0;
82
82
  color: var(--seed-color-fg-neutral-subtle);
83
83
  font-weight: var(--seed-font-weight-regular);
84
84
  pointer-events: none
85
85
  }
86
- .seed-input-button__suffixIcon {
86
+ .seed-field-button__suffixIcon {
87
87
  flex-shrink: 0;
88
88
  color: var(--seed-color-fg-neutral-muted);
89
89
  pointer-events: none
90
90
  }
91
- .seed-input-button__clearButton {
91
+ .seed-field-button__clearButton {
92
92
  pointer-events: auto;
93
93
  flex-shrink: 0;
94
94
  color: var(--seed-color-fg-neutral-subtle)
95
95
  }
96
- .seed-input-button__root--size_large {
96
+ .seed-field-button__root--size_large {
97
97
  height: var(--seed-dimension-x13);
98
98
  gap: var(--seed-dimension-x2_5);
99
99
  padding-left: var(--seed-dimension-x4);
100
100
  padding-right: var(--seed-dimension-x4);
101
101
  border-radius: var(--seed-radius-r3)
102
102
  }
103
- .seed-input-button__content--size_large {
103
+ .seed-field-button__content--size_large {
104
104
  gap: var(--seed-dimension-x2_5)
105
105
  }
106
- .seed-input-button__button--size_large {
106
+ .seed-field-button__button--size_large {
107
107
  border-radius: var(--seed-radius-r3)
108
108
  }
109
- .seed-input-button__baseStroke--size_large {
109
+ .seed-field-button__baseStroke--size_large {
110
110
  border-radius: var(--seed-radius-r3)
111
111
  }
112
- .seed-input-button__stroke--size_large {
112
+ .seed-field-button__stroke--size_large {
113
113
  border-radius: var(--seed-radius-r3)
114
114
  }
115
- .seed-input-button__value--size_large {
115
+ .seed-field-button__value--size_large {
116
116
  font-size: var(--seed-font-size-t5);
117
117
  line-height: var(--seed-line-height-t5)
118
118
  }
119
- .seed-input-button__placeholder--size_large {
119
+ .seed-field-button__placeholder--size_large {
120
120
  font-size: var(--seed-font-size-t5);
121
121
  line-height: var(--seed-line-height-t5)
122
122
  }
123
- .seed-input-button__prefixText--size_large {
123
+ .seed-field-button__prefixText--size_large {
124
124
  font-size: var(--seed-font-size-t5);
125
125
  line-height: var(--seed-line-height-t5)
126
126
  }
127
- .seed-input-button__prefixIcon--size_large {
127
+ .seed-field-button__prefixIcon--size_large {
128
128
  width: var(--seed-dimension-x5);
129
129
  height: var(--seed-dimension-x5)
130
130
  }
131
- .seed-input-button__suffixText--size_large {
131
+ .seed-field-button__suffixText--size_large {
132
132
  font-size: var(--seed-font-size-t5);
133
133
  line-height: var(--seed-line-height-t5)
134
134
  }
135
- .seed-input-button__suffixIcon--size_large {
135
+ .seed-field-button__suffixIcon--size_large {
136
136
  width: var(--seed-dimension-x5);
137
137
  height: var(--seed-dimension-x5)
138
138
  }
139
- .seed-input-button__clearButton--size_large {
139
+ .seed-field-button__clearButton--size_large {
140
140
  width: 22px;
141
141
  height: 22px
142
142
  }
143
- .seed-input-button__root--size_medium {
143
+ .seed-field-button__root--size_medium {
144
144
  height: var(--seed-dimension-x10);
145
145
  gap: var(--seed-dimension-x2);
146
146
  padding-left: var(--seed-dimension-x3_5);
147
147
  padding-right: var(--seed-dimension-x3_5);
148
148
  border-radius: var(--seed-radius-r2)
149
149
  }
150
- .seed-input-button__content--size_medium {
150
+ .seed-field-button__content--size_medium {
151
151
  gap: var(--seed-dimension-x2)
152
152
  }
153
- .seed-input-button__button--size_medium {
153
+ .seed-field-button__button--size_medium {
154
154
  border-radius: var(--seed-radius-r2)
155
155
  }
156
- .seed-input-button__baseStroke--size_medium {
156
+ .seed-field-button__baseStroke--size_medium {
157
157
  border-radius: var(--seed-radius-r2)
158
158
  }
159
- .seed-input-button__stroke--size_medium {
159
+ .seed-field-button__stroke--size_medium {
160
160
  border-radius: var(--seed-radius-r2)
161
161
  }
162
- .seed-input-button__value--size_medium {
162
+ .seed-field-button__value--size_medium {
163
163
  font-size: var(--seed-font-size-t4);
164
164
  line-height: var(--seed-line-height-t4)
165
165
  }
166
- .seed-input-button__placeholder--size_medium {
166
+ .seed-field-button__placeholder--size_medium {
167
167
  font-size: var(--seed-font-size-t4);
168
168
  line-height: var(--seed-line-height-t4)
169
169
  }
170
- .seed-input-button__prefixText--size_medium {
170
+ .seed-field-button__prefixText--size_medium {
171
171
  font-size: var(--seed-font-size-t4);
172
172
  line-height: var(--seed-line-height-t4)
173
173
  }
174
- .seed-input-button__prefixIcon--size_medium {
174
+ .seed-field-button__prefixIcon--size_medium {
175
175
  width: var(--seed-dimension-x4);
176
176
  height: var(--seed-dimension-x4)
177
177
  }
178
- .seed-input-button__suffixText--size_medium {
178
+ .seed-field-button__suffixText--size_medium {
179
179
  font-size: var(--seed-font-size-t4);
180
180
  line-height: var(--seed-line-height-t4)
181
181
  }
182
- .seed-input-button__suffixIcon--size_medium {
182
+ .seed-field-button__suffixIcon--size_medium {
183
183
  width: var(--seed-dimension-x4);
184
184
  height: var(--seed-dimension-x4)
185
185
  }
186
- .seed-input-button__clearButton--size_medium {
186
+ .seed-field-button__clearButton--size_medium {
187
187
  width: var(--seed-dimension-x4_5);
188
188
  height: var(--seed-dimension-x4_5)
189
189
  }
190
- .seed-input-button__button--pressed_true {
190
+ .seed-field-button__button--pressed_true {
191
191
  background-color: var(--seed-color-bg-transparent-pressed)
192
192
  }
193
- .seed-input-button__stroke--invalid_true {
193
+ .seed-field-button__stroke--invalid_true {
194
194
  border-color: var(--seed-color-stroke-critical-solid)
195
195
  }
196
- .seed-input-button__button--disabled_true {
196
+ .seed-field-button__button--disabled_true {
197
197
  background-color: var(--seed-color-bg-disabled)
198
198
  }
199
- .seed-input-button__value--disabled_true {
199
+ .seed-field-button__value--disabled_true {
200
200
  color: var(--seed-color-fg-disabled)
201
201
  }
202
- .seed-input-button__placeholder--disabled_true {
202
+ .seed-field-button__placeholder--disabled_true {
203
203
  color: var(--seed-color-fg-disabled)
204
204
  }
205
- .seed-input-button__prefixText--disabled_true {
205
+ .seed-field-button__prefixText--disabled_true {
206
206
  color: var(--seed-color-fg-disabled)
207
207
  }
208
- .seed-input-button__prefixIcon--disabled_true {
208
+ .seed-field-button__prefixIcon--disabled_true {
209
209
  color: var(--seed-color-fg-disabled)
210
210
  }
211
- .seed-input-button__suffixText--disabled_true {
211
+ .seed-field-button__suffixText--disabled_true {
212
212
  color: var(--seed-color-fg-disabled)
213
213
  }
214
- .seed-input-button__suffixIcon--disabled_true {
214
+ .seed-field-button__suffixIcon--disabled_true {
215
215
  color: var(--seed-color-fg-disabled)
216
216
  }
217
- .seed-input-button__button--readOnly_true {
217
+ .seed-field-button__button--readOnly_true {
218
218
  background-color: var(--seed-color-bg-disabled)
219
219
  }
220
- .seed-input-button__value--readOnly_true {
220
+ .seed-field-button__value--readOnly_true {
221
221
  color: var(--seed-color-fg-neutral)
222
222
  }
223
- .seed-input-button__placeholder--readOnly_true {
223
+ .seed-field-button__placeholder--readOnly_true {
224
224
  color: var(--seed-color-fg-placeholder)
225
225
  }
226
- .seed-input-button__button--disabled_false-readOnly_false:active {
226
+ .seed-field-button__button--disabled_false-readOnly_false:active {
227
227
  background-color: var(--seed-color-bg-transparent-pressed)
228
228
  }
@@ -0,0 +1,40 @@
1
+ declare interface FieldButtonVariant {
2
+ /**
3
+ * @default "large"
4
+ */
5
+ size: "large" | "medium";
6
+ /**
7
+ * @default false
8
+ */
9
+ pressed: boolean;
10
+ /**
11
+ * @default false
12
+ */
13
+ invalid: boolean;
14
+ /**
15
+ * @default false
16
+ */
17
+ disabled: boolean;
18
+ /**
19
+ * @default false
20
+ */
21
+ readOnly: boolean;
22
+ }
23
+
24
+ declare type FieldButtonVariantMap = {
25
+ [key in keyof FieldButtonVariant]: Array<FieldButtonVariant[key]>;
26
+ };
27
+
28
+ export declare type FieldButtonVariantProps = Partial<FieldButtonVariant>;
29
+
30
+ export declare type FieldButtonSlotName = "root" | "button" | "content" | "baseStroke" | "stroke" | "value" | "placeholder" | "prefixText" | "prefixIcon" | "suffixText" | "suffixIcon" | "clearButton";
31
+
32
+ export declare const fieldButtonVariantMap: FieldButtonVariantMap;
33
+
34
+ export declare const fieldButton: ((
35
+ props?: FieldButtonVariantProps,
36
+ ) => Record<FieldButtonSlotName, string>) & {
37
+ splitVariantProps: <T extends FieldButtonVariantProps>(
38
+ props: T,
39
+ ) => [FieldButtonVariantProps, Omit<T, keyof FieldButtonVariantProps>];
40
+ }