@m3e/icon-button 1.0.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +22 -0
- package/README.md +192 -0
- package/cem.config.mjs +16 -0
- package/demo/index.html +103 -0
- package/dist/css-custom-data.json +977 -0
- package/dist/custom-elements.json +1291 -0
- package/dist/html-custom-data.json +88 -0
- package/dist/index.js +1443 -0
- package/dist/index.js.map +1 -0
- package/dist/index.min.js +400 -0
- package/dist/index.min.js.map +1 -0
- package/dist/src/IconButtonElement.d.ts +316 -0
- package/dist/src/IconButtonElement.d.ts.map +1 -0
- package/dist/src/IconButtonShape.d.ts +3 -0
- package/dist/src/IconButtonShape.d.ts.map +1 -0
- package/dist/src/IconButtonSize.d.ts +3 -0
- package/dist/src/IconButtonSize.d.ts.map +1 -0
- package/dist/src/IconButtonVariant.d.ts +3 -0
- package/dist/src/IconButtonVariant.d.ts.map +1 -0
- package/dist/src/IconButtonWidth.d.ts +3 -0
- package/dist/src/IconButtonWidth.d.ts.map +1 -0
- package/dist/src/index.d.ts +6 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/styles/IconButtonSizeStyle.d.ts +7 -0
- package/dist/src/styles/IconButtonSizeStyle.d.ts.map +1 -0
- package/dist/src/styles/IconButtonSizeToken.d.ts +26 -0
- package/dist/src/styles/IconButtonSizeToken.d.ts.map +1 -0
- package/dist/src/styles/IconButtonStyle.d.ts +7 -0
- package/dist/src/styles/IconButtonStyle.d.ts.map +1 -0
- package/dist/src/styles/IconButtonVariantStyle.d.ts +7 -0
- package/dist/src/styles/IconButtonVariantStyle.d.ts.map +1 -0
- package/dist/src/styles/IconButtonVariantToken.d.ts +61 -0
- package/dist/src/styles/IconButtonVariantToken.d.ts.map +1 -0
- package/dist/src/styles/index.d.ts +4 -0
- package/dist/src/styles/index.d.ts.map +1 -0
- package/eslint.config.mjs +13 -0
- package/package.json +48 -0
- package/rollup.config.js +32 -0
- package/src/IconButtonElement.ts +514 -0
- package/src/IconButtonShape.ts +2 -0
- package/src/IconButtonSize.ts +2 -0
- package/src/IconButtonVariant.ts +2 -0
- package/src/IconButtonWidth.ts +2 -0
- package/src/index.ts +5 -0
- package/src/styles/IconButtonSizeStyle.ts +95 -0
- package/src/styles/IconButtonSizeToken.ts +215 -0
- package/src/styles/IconButtonStyle.ts +184 -0
- package/src/styles/IconButtonVariantStyle.ts +123 -0
- package/src/styles/IconButtonVariantToken.ts +854 -0
- package/src/styles/index.ts +3 -0
- package/tsconfig.json +9 -0
|
@@ -0,0 +1,854 @@
|
|
|
1
|
+
import { CSSResult, unsafeCSS } from "lit";
|
|
2
|
+
|
|
3
|
+
import { DesignToken } from "@m3e/core";
|
|
4
|
+
|
|
5
|
+
import { IconButtonVariant } from "../IconButtonVariant";
|
|
6
|
+
|
|
7
|
+
/** @private */
|
|
8
|
+
type _IconButtonVariantToken = {
|
|
9
|
+
iconColor: CSSResult;
|
|
10
|
+
containerColor?: CSSResult;
|
|
11
|
+
containerElevation?: CSSResult;
|
|
12
|
+
outlineColor?: CSSResult;
|
|
13
|
+
unselectedIconColor: CSSResult;
|
|
14
|
+
unselectedContainerColor?: CSSResult;
|
|
15
|
+
selectedIconColor: CSSResult;
|
|
16
|
+
selectedContainerColor?: CSSResult;
|
|
17
|
+
disabled: {
|
|
18
|
+
containerColor: CSSResult;
|
|
19
|
+
containerElevation?: CSSResult;
|
|
20
|
+
containerOpacity: CSSResult;
|
|
21
|
+
iconColor: CSSResult;
|
|
22
|
+
iconOpacity: CSSResult;
|
|
23
|
+
outlineColor?: CSSResult;
|
|
24
|
+
};
|
|
25
|
+
hover: {
|
|
26
|
+
iconColor: CSSResult;
|
|
27
|
+
stateLayerColor: CSSResult;
|
|
28
|
+
stateLayerOpacity: CSSResult;
|
|
29
|
+
containerElevation?: CSSResult;
|
|
30
|
+
outlineColor?: CSSResult;
|
|
31
|
+
unselectedIconColor: CSSResult;
|
|
32
|
+
unselectedStateLayerColor: CSSResult;
|
|
33
|
+
selectedIconColor: CSSResult;
|
|
34
|
+
selectedStateLayerColor: CSSResult;
|
|
35
|
+
};
|
|
36
|
+
focus: {
|
|
37
|
+
iconColor: CSSResult;
|
|
38
|
+
stateLayerColor: CSSResult;
|
|
39
|
+
stateLayerOpacity: CSSResult;
|
|
40
|
+
containerElevation?: CSSResult;
|
|
41
|
+
outlineColor?: CSSResult;
|
|
42
|
+
unselectedIconColor: CSSResult;
|
|
43
|
+
unselectedStateLayerColor: CSSResult;
|
|
44
|
+
selectedIconColor: CSSResult;
|
|
45
|
+
selectedStateLayerColor: CSSResult;
|
|
46
|
+
};
|
|
47
|
+
pressed: {
|
|
48
|
+
iconColor: CSSResult;
|
|
49
|
+
stateLayerColor: CSSResult;
|
|
50
|
+
stateLayerOpacity: CSSResult;
|
|
51
|
+
containerElevation?: CSSResult;
|
|
52
|
+
outlineColor?: CSSResult;
|
|
53
|
+
unselectedIconColor: CSSResult;
|
|
54
|
+
unselectedStateLayerColor: CSSResult;
|
|
55
|
+
selectedIconColor: CSSResult;
|
|
56
|
+
selectedStateLayerColor: CSSResult;
|
|
57
|
+
};
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Component design tokens that control the appearance variants of `M3eIconButtonElement`.
|
|
62
|
+
* @internal
|
|
63
|
+
*/
|
|
64
|
+
export const IconButtonVariantToken: Record<IconButtonVariant | "elevated", _IconButtonVariantToken> = {
|
|
65
|
+
/** Design tokens that control the `elevated` variant. */
|
|
66
|
+
elevated: {
|
|
67
|
+
/** Default icon color. */
|
|
68
|
+
iconColor: unsafeCSS(`var(--m3e-elevated-icon-button-icon-color, ${DesignToken.color.primary})`),
|
|
69
|
+
|
|
70
|
+
/** Default container background color. */
|
|
71
|
+
containerColor: unsafeCSS(
|
|
72
|
+
`var(--m3e-elevated-icon-button-container-color, ${DesignToken.color.surfaceContainerLow})`
|
|
73
|
+
),
|
|
74
|
+
|
|
75
|
+
/** Resting elevation. */
|
|
76
|
+
containerElevation: unsafeCSS(
|
|
77
|
+
`var(--m3e-elevated-icon-button-container-elevation, ${DesignToken.elevation.level1})`
|
|
78
|
+
),
|
|
79
|
+
|
|
80
|
+
/** Unselected icon color. */
|
|
81
|
+
unselectedIconColor: unsafeCSS(
|
|
82
|
+
`var(--m3e-elevated-icon-button-unselected-icon-color, ${DesignToken.color.primary})`
|
|
83
|
+
),
|
|
84
|
+
|
|
85
|
+
/** Unselected container background color. */
|
|
86
|
+
unselectedContainerColor: unsafeCSS(
|
|
87
|
+
`var(--m3e-elevated-icon-button-unselected-container-color, ${DesignToken.color.surfaceContainerLow})`
|
|
88
|
+
),
|
|
89
|
+
|
|
90
|
+
/** Selected icon color. */
|
|
91
|
+
selectedIconColor: unsafeCSS(`var(--m3e-elevated-icon-button-selected-icon-color, ${DesignToken.color.onPrimary})`),
|
|
92
|
+
|
|
93
|
+
/** Selected container background color. */
|
|
94
|
+
selectedContainerColor: unsafeCSS(
|
|
95
|
+
`var(--m3e-elevated-icon-button-selected-container-color, ${DesignToken.color.primary})`
|
|
96
|
+
),
|
|
97
|
+
|
|
98
|
+
/** Design tokens that control disabled state. */
|
|
99
|
+
disabled: {
|
|
100
|
+
/** Container background color when disabled. */
|
|
101
|
+
containerColor: unsafeCSS(
|
|
102
|
+
`var(--m3e-elevated-icon-button-disabled-container-color, ${DesignToken.color.onSurface})`
|
|
103
|
+
),
|
|
104
|
+
|
|
105
|
+
/** Opacity of container when disabled. */
|
|
106
|
+
containerOpacity: unsafeCSS(`var(--m3e-elevated-icon-button-disabled-container-opacity, 10%)`),
|
|
107
|
+
|
|
108
|
+
/** Icon color when disabled. */
|
|
109
|
+
iconColor: unsafeCSS(`var(--m3e-elevated-icon-button-disabled-icon-color, ${DesignToken.color.onSurface})`),
|
|
110
|
+
|
|
111
|
+
/** Icon opacity when disabled. */
|
|
112
|
+
iconOpacity: unsafeCSS(`var(--m3e-elevated-icon-button-disabled-icon-opacity, 38%)`),
|
|
113
|
+
|
|
114
|
+
/** Elevation when disabled. */
|
|
115
|
+
containerElevation: unsafeCSS(
|
|
116
|
+
`var(--m3e-elevated-icon-button-disabled-container-elevation, ${DesignToken.elevation.level0})`
|
|
117
|
+
),
|
|
118
|
+
},
|
|
119
|
+
|
|
120
|
+
/** Design tokens that control hover state. */
|
|
121
|
+
hover: {
|
|
122
|
+
/** Icon color on hover. */
|
|
123
|
+
iconColor: unsafeCSS(`var(--m3e-elevated-icon-button-hover-icon-color, ${DesignToken.color.primary})`),
|
|
124
|
+
|
|
125
|
+
/** State layer color on hover. */
|
|
126
|
+
stateLayerColor: unsafeCSS(
|
|
127
|
+
`var(--m3e-elevated-icon-button-hover-state-layer-color, ${DesignToken.color.primary})`
|
|
128
|
+
),
|
|
129
|
+
|
|
130
|
+
/** State layer opacity on hover. */
|
|
131
|
+
stateLayerOpacity: unsafeCSS(
|
|
132
|
+
`var(--m3e-elevated-icon-button-hover-state-layer-opacity, ${DesignToken.state.hoverStateLayerOpacity})`
|
|
133
|
+
),
|
|
134
|
+
|
|
135
|
+
/** Elevation on hover. */
|
|
136
|
+
containerElevation: unsafeCSS(
|
|
137
|
+
`var(--m3e-elevated-icon-button-hover-container-elevation, ${DesignToken.elevation.level2})`
|
|
138
|
+
),
|
|
139
|
+
|
|
140
|
+
/** Unselected icon color on hover. */
|
|
141
|
+
unselectedIconColor: unsafeCSS(
|
|
142
|
+
`var(--m3e-elevated-icon-button-hover-unselected-icon-color, ${DesignToken.color.primary})`
|
|
143
|
+
),
|
|
144
|
+
|
|
145
|
+
/** Unselected state layer color on hover. */
|
|
146
|
+
unselectedStateLayerColor: unsafeCSS(
|
|
147
|
+
`var(--m3e-elevated-icon-button-hover-unselected-state-layer-color, ${DesignToken.color.primary})`
|
|
148
|
+
),
|
|
149
|
+
|
|
150
|
+
/** Selected icon color on hover. */
|
|
151
|
+
selectedIconColor: unsafeCSS(
|
|
152
|
+
`var(--m3e-elevated-icon-button-hover-selected-icon-color, ${DesignToken.color.onPrimary})`
|
|
153
|
+
),
|
|
154
|
+
|
|
155
|
+
/** Selected ripple color on hover. */
|
|
156
|
+
selectedStateLayerColor: unsafeCSS(
|
|
157
|
+
`var(--m3e-elevated-icon-button-hover-selected-state-layer-color, ${DesignToken.color.onPrimary})`
|
|
158
|
+
),
|
|
159
|
+
},
|
|
160
|
+
|
|
161
|
+
/** Design tokens that control focus state. */
|
|
162
|
+
focus: {
|
|
163
|
+
/** Icon color on focus. */
|
|
164
|
+
iconColor: unsafeCSS(`var(--m3e-elevated-icon-button-focus-icon-color, ${DesignToken.color.primary})`),
|
|
165
|
+
|
|
166
|
+
/** State layer color on focus. */
|
|
167
|
+
stateLayerColor: unsafeCSS(
|
|
168
|
+
`var(--m3e-elevated-icon-button-focus-state-layer-color, ${DesignToken.color.primary})`
|
|
169
|
+
),
|
|
170
|
+
|
|
171
|
+
/**State layer opacity on focus. */
|
|
172
|
+
stateLayerOpacity: unsafeCSS(
|
|
173
|
+
`var(--m3e-elevated-icon-button-focus-state-layer-opacity, ${DesignToken.state.focusStateLayerOpacity})`
|
|
174
|
+
),
|
|
175
|
+
|
|
176
|
+
/** Elevation on focus. */
|
|
177
|
+
containerElevation: unsafeCSS(
|
|
178
|
+
`var(--m3e-elevated-icon-button-focus-container-elevation, ${DesignToken.elevation.level1})`
|
|
179
|
+
),
|
|
180
|
+
|
|
181
|
+
/** Unselected icon color on focus. */
|
|
182
|
+
unselectedIconColor: unsafeCSS(
|
|
183
|
+
`var(--m3e-elevated-icon-button-focus-unselected-icon-color, ${DesignToken.color.primary})`
|
|
184
|
+
),
|
|
185
|
+
|
|
186
|
+
/** Unselected ripple color on focus. */
|
|
187
|
+
unselectedStateLayerColor: unsafeCSS(
|
|
188
|
+
`var(--m3e-elevated-icon-button-focus-unselected-state-layer-color, ${DesignToken.color.primary})`
|
|
189
|
+
),
|
|
190
|
+
|
|
191
|
+
/** Selected icon color on focus. */
|
|
192
|
+
selectedIconColor: unsafeCSS(
|
|
193
|
+
`var(--m3e-elevated-icon-button-focus-selected-icon-color, ${DesignToken.color.onPrimary})`
|
|
194
|
+
),
|
|
195
|
+
|
|
196
|
+
/** Selected ripple color on focus. */
|
|
197
|
+
selectedStateLayerColor: unsafeCSS(
|
|
198
|
+
`var(--m3e-elevated-icon-button-focus-selected-state-layer-color, ${DesignToken.color.onPrimary})`
|
|
199
|
+
),
|
|
200
|
+
},
|
|
201
|
+
|
|
202
|
+
/** Design tokens that control pressed state. */
|
|
203
|
+
pressed: {
|
|
204
|
+
/** Icon color on pressed. */
|
|
205
|
+
iconColor: unsafeCSS(`var(--m3e-elevated-icon-button-pressed-icon-color, ${DesignToken.color.primary})`),
|
|
206
|
+
|
|
207
|
+
/** State layer color on pressed. */
|
|
208
|
+
stateLayerColor: unsafeCSS(
|
|
209
|
+
`var(--m3e-elevated-icon-button-pressed-state-layer-color, ${DesignToken.color.primary})`
|
|
210
|
+
),
|
|
211
|
+
|
|
212
|
+
/** State layer opacity on pressed. */
|
|
213
|
+
stateLayerOpacity: unsafeCSS(
|
|
214
|
+
`var(--m3e-elevated-icon-button-pressed-state-layer-opacity, ${DesignToken.state.pressedStateLayerOpacity})`
|
|
215
|
+
),
|
|
216
|
+
|
|
217
|
+
/** Elevation on pressed. */
|
|
218
|
+
containerElevation: unsafeCSS(
|
|
219
|
+
`var(--m3e-elevated-icon-button-pressed-container-elevation, ${DesignToken.elevation.level1})`
|
|
220
|
+
),
|
|
221
|
+
|
|
222
|
+
/** Unselected icon color on pressed. */
|
|
223
|
+
unselectedIconColor: unsafeCSS(
|
|
224
|
+
`var(--m3e-elevated-icon-button-pressed-unselected-icon-color, ${DesignToken.color.primary})`
|
|
225
|
+
),
|
|
226
|
+
|
|
227
|
+
/** Unselected ripple color on pressed. */
|
|
228
|
+
unselectedStateLayerColor: unsafeCSS(
|
|
229
|
+
`var(--m3e-elevated-icon-button-pressed-unselected-state-layer-color, ${DesignToken.color.primary})`
|
|
230
|
+
),
|
|
231
|
+
|
|
232
|
+
/** Selected icon color on pressed. */
|
|
233
|
+
selectedIconColor: unsafeCSS(
|
|
234
|
+
`var(--m3e-elevated-icon-button-pressed-selected-icon-color, ${DesignToken.color.onPrimary})`
|
|
235
|
+
),
|
|
236
|
+
|
|
237
|
+
/** Selected ripple color on pressed. */
|
|
238
|
+
selectedStateLayerColor: unsafeCSS(
|
|
239
|
+
`var(--m3e-elevated-icon-button-pressed-selected-state-layer-color, ${DesignToken.color.onPrimary})`
|
|
240
|
+
),
|
|
241
|
+
},
|
|
242
|
+
},
|
|
243
|
+
/** Design tokens that control the `outlined` variant. */
|
|
244
|
+
outlined: {
|
|
245
|
+
/** Default icon color. */
|
|
246
|
+
iconColor: unsafeCSS(`var(--m3e-outlined-icon-button-icon-color, ${DesignToken.color.onSurfaceVariant})`),
|
|
247
|
+
|
|
248
|
+
/** Default outline color. */
|
|
249
|
+
outlineColor: unsafeCSS(`var(--m3e-outlined-icon-button-outline-color, ${DesignToken.color.outlineVariant})`),
|
|
250
|
+
|
|
251
|
+
/** Unselected icon color. */
|
|
252
|
+
unselectedIconColor: unsafeCSS(
|
|
253
|
+
`var(--m3e-outlined-icon-button-unselected-icon-color, ${DesignToken.color.onSurfaceVariant})`
|
|
254
|
+
),
|
|
255
|
+
|
|
256
|
+
/** Selected icon color. */
|
|
257
|
+
selectedIconColor: unsafeCSS(
|
|
258
|
+
`var(--m3e-outlined-icon-button-selected-icon-color, ${DesignToken.color.inverseOnSurface})`
|
|
259
|
+
),
|
|
260
|
+
|
|
261
|
+
/** Selected container background color. */
|
|
262
|
+
selectedContainerColor: unsafeCSS(
|
|
263
|
+
`var(--m3e-outlined-icon-button-selected-container-color, ${DesignToken.color.inverseSurface})`
|
|
264
|
+
),
|
|
265
|
+
|
|
266
|
+
/** Design tokens that control disabled state. */
|
|
267
|
+
disabled: {
|
|
268
|
+
/** Container background color when disabled. */
|
|
269
|
+
containerColor: unsafeCSS(
|
|
270
|
+
`var(--m3e-outlined-icon-button-disabled-container-color, ${DesignToken.color.onSurface})`
|
|
271
|
+
),
|
|
272
|
+
|
|
273
|
+
/** Opacity of container when disabled. */
|
|
274
|
+
containerOpacity: unsafeCSS(`var(--m3e-outlined-icon-button-disabled-container-opacity, 10%)`),
|
|
275
|
+
|
|
276
|
+
/** Icon color when disabled. */
|
|
277
|
+
iconColor: unsafeCSS(`var(--m3e-outlined-icon-button-disabled-icon-color, ${DesignToken.color.onSurface})`),
|
|
278
|
+
|
|
279
|
+
/** Icon opacity when disabled. */
|
|
280
|
+
iconOpacity: unsafeCSS(`var(--m3e-outlined-icon-button-disabled-icon-opacity, 38%)`),
|
|
281
|
+
|
|
282
|
+
/** Outline color when disabled. */
|
|
283
|
+
outlineColor: unsafeCSS(
|
|
284
|
+
`var(--m3e-outlined-icon-button-disabled-outline-color, ${DesignToken.color.outlineVariant})`
|
|
285
|
+
),
|
|
286
|
+
},
|
|
287
|
+
|
|
288
|
+
/** Design tokens that control hover state. */
|
|
289
|
+
hover: {
|
|
290
|
+
/** Icon color on hover. */
|
|
291
|
+
iconColor: unsafeCSS(`var(--m3e-outlined-icon-button-hover-icon-color, ${DesignToken.color.onSurfaceVariant})`),
|
|
292
|
+
|
|
293
|
+
/** Outline color on hover. */
|
|
294
|
+
outlineColor: unsafeCSS(
|
|
295
|
+
`var(--m3e-outlined-icon-button-hover-outline-color, ${DesignToken.color.outlineVariant})`
|
|
296
|
+
),
|
|
297
|
+
|
|
298
|
+
/** State layer color on hover. */
|
|
299
|
+
stateLayerColor: unsafeCSS(
|
|
300
|
+
`var(--m3e-outlined-icon-button-hover-state-layer-color, ${DesignToken.color.onSurfaceVariant})`
|
|
301
|
+
),
|
|
302
|
+
|
|
303
|
+
/** State layer opacity on hover. */
|
|
304
|
+
stateLayerOpacity: unsafeCSS(
|
|
305
|
+
`var(--m3e-outlined-icon-button-hover-state-layer-opacity, ${DesignToken.state.hoverStateLayerOpacity})`
|
|
306
|
+
),
|
|
307
|
+
|
|
308
|
+
/** Unselected icon color on hover. */
|
|
309
|
+
unselectedIconColor: unsafeCSS(
|
|
310
|
+
`var(--m3e-outlined-icon-button-hover-unselected-icon-color, ${DesignToken.color.onSurfaceVariant})`
|
|
311
|
+
),
|
|
312
|
+
|
|
313
|
+
/** Unselected state layer color on hover. */
|
|
314
|
+
unselectedStateLayerColor: unsafeCSS(
|
|
315
|
+
`var(--m3e-outlined-icon-button-hover-unselected-state-layer-color, ${DesignToken.color.onSurfaceVariant})`
|
|
316
|
+
),
|
|
317
|
+
|
|
318
|
+
/** Selected icon color on hover. */
|
|
319
|
+
selectedIconColor: unsafeCSS(
|
|
320
|
+
`var(--m3e-outlined-icon-button-hover-selected-icon-color, ${DesignToken.color.inverseOnSurface})`
|
|
321
|
+
),
|
|
322
|
+
|
|
323
|
+
/** Selected state layer color on hover. */
|
|
324
|
+
selectedStateLayerColor: unsafeCSS(
|
|
325
|
+
`var(--m3e-outlined-icon-button-hover-selected-state-layer-color, ${DesignToken.color.inverseOnSurface})`
|
|
326
|
+
),
|
|
327
|
+
},
|
|
328
|
+
|
|
329
|
+
/** Design tokens that control focus state. */
|
|
330
|
+
focus: {
|
|
331
|
+
/** Icon color on focus. */
|
|
332
|
+
iconColor: unsafeCSS(`var(--m3e-outlined-icon-button-focus-icon-color, ${DesignToken.color.onSurfaceVariant})`),
|
|
333
|
+
|
|
334
|
+
/** Outline color on focus. */
|
|
335
|
+
outlineColor: unsafeCSS(
|
|
336
|
+
`var(--m3e-outlined-icon-button-focus-outline-color, ${DesignToken.color.outlineVariant})`
|
|
337
|
+
),
|
|
338
|
+
|
|
339
|
+
/** State layer color on focus. */
|
|
340
|
+
stateLayerColor: unsafeCSS(
|
|
341
|
+
`var(--m3e-outlined-icon-button-focus-state-layer-color, ${DesignToken.color.onSurfaceVariant})`
|
|
342
|
+
),
|
|
343
|
+
|
|
344
|
+
/**State layer opacity on focus. */
|
|
345
|
+
stateLayerOpacity: unsafeCSS(
|
|
346
|
+
`var(--m3e-outlined-icon-button-focus-state-layer-opacity, ${DesignToken.state.focusStateLayerOpacity})`
|
|
347
|
+
),
|
|
348
|
+
|
|
349
|
+
/** Unselected icon color on focus. */
|
|
350
|
+
unselectedIconColor: unsafeCSS(
|
|
351
|
+
`var(--m3e-outlined-icon-button-focus-unselected-icon-color, ${DesignToken.color.onSurfaceVariant})`
|
|
352
|
+
),
|
|
353
|
+
|
|
354
|
+
/** Unselected state layer color on focus. */
|
|
355
|
+
unselectedStateLayerColor: unsafeCSS(
|
|
356
|
+
`var(--m3e-outlined-icon-button-focus-unselected-state-layer-color, ${DesignToken.color.onSurfaceVariant})`
|
|
357
|
+
),
|
|
358
|
+
|
|
359
|
+
/** Selected icon color on focus. */
|
|
360
|
+
selectedIconColor: unsafeCSS(
|
|
361
|
+
`var(--m3e-outlined-icon-button-focus-selected-icon-color, ${DesignToken.color.inverseOnSurface})`
|
|
362
|
+
),
|
|
363
|
+
|
|
364
|
+
/** Selected state layer color on focus. */
|
|
365
|
+
selectedStateLayerColor: unsafeCSS(
|
|
366
|
+
`var(--m3e-outlined-icon-button-focus-selected-state-layer-color, ${DesignToken.color.inverseOnSurface})`
|
|
367
|
+
),
|
|
368
|
+
},
|
|
369
|
+
|
|
370
|
+
/** Design tokens that control pressed state. */
|
|
371
|
+
pressed: {
|
|
372
|
+
/** Icon color on pressed. */
|
|
373
|
+
iconColor: unsafeCSS(`var(--m3e-outlined-icon-button-pressed-icon-color, ${DesignToken.color.onSurfaceVariant})`),
|
|
374
|
+
|
|
375
|
+
/** Outline color on pressed. */
|
|
376
|
+
outlineColor: unsafeCSS(
|
|
377
|
+
`var(--m3e-outlined-icon-button-pressed-outline-color, ${DesignToken.color.outlineVariant})`
|
|
378
|
+
),
|
|
379
|
+
|
|
380
|
+
/** State layer color on pressed. */
|
|
381
|
+
stateLayerColor: unsafeCSS(
|
|
382
|
+
`var(--m3e-outlined-icon-button-pressed-state-layer-color, ${DesignToken.color.onSurfaceVariant})`
|
|
383
|
+
),
|
|
384
|
+
|
|
385
|
+
/** State layer opacity on pressed. */
|
|
386
|
+
stateLayerOpacity: unsafeCSS(
|
|
387
|
+
`var(--m3e-outlined-icon-button-pressed-state-layer-opacity, ${DesignToken.state.pressedStateLayerOpacity})`
|
|
388
|
+
),
|
|
389
|
+
|
|
390
|
+
/** Unselected icon color on pressed. */
|
|
391
|
+
unselectedIconColor: unsafeCSS(
|
|
392
|
+
`var(--m3e-outlined-icon-button-pressed-unselected-icon-color, ${DesignToken.color.onSurfaceVariant})`
|
|
393
|
+
),
|
|
394
|
+
|
|
395
|
+
/** Unselected state layer color on pressed. */
|
|
396
|
+
unselectedStateLayerColor: unsafeCSS(
|
|
397
|
+
`var(--m3e-outlined-icon-button-pressed-unselected-state-layer-color, ${DesignToken.color.onSurfaceVariant})`
|
|
398
|
+
),
|
|
399
|
+
|
|
400
|
+
/** Selected icon color on pressed. */
|
|
401
|
+
selectedIconColor: unsafeCSS(
|
|
402
|
+
`var(--m3e-outlined-icon-button-pressed-selected-icon-color, ${DesignToken.color.inverseOnSurface})`
|
|
403
|
+
),
|
|
404
|
+
|
|
405
|
+
/** Selected state layer color on pressed. */
|
|
406
|
+
selectedStateLayerColor: unsafeCSS(
|
|
407
|
+
`var(--m3e-outlined-icon-button-pressed-selected-state-layer-color, ${DesignToken.color.inverseOnSurface})`
|
|
408
|
+
),
|
|
409
|
+
},
|
|
410
|
+
},
|
|
411
|
+
|
|
412
|
+
/** Design tokens that control the `filled` variant. */
|
|
413
|
+
filled: {
|
|
414
|
+
/** Default icon color. */
|
|
415
|
+
iconColor: unsafeCSS(`var(--m3e-filled-icon-button-icon-color, ${DesignToken.color.onPrimary})`),
|
|
416
|
+
|
|
417
|
+
/** Default container background color. */
|
|
418
|
+
containerColor: unsafeCSS(`var(--m3e-filled-icon-button-container-color, ${DesignToken.color.primary})`),
|
|
419
|
+
|
|
420
|
+
/** Unselected icon color. */
|
|
421
|
+
unselectedIconColor: unsafeCSS(
|
|
422
|
+
`var(--m3e-filled-icon-button-unselected-icon-color, ${DesignToken.color.onSurfaceVariant})`
|
|
423
|
+
),
|
|
424
|
+
|
|
425
|
+
/** Unselected container background color. */
|
|
426
|
+
unselectedContainerColor: unsafeCSS(
|
|
427
|
+
`var(--m3e-filled-icon-button-unselected-container-color, ${DesignToken.color.surfaceContainer})`
|
|
428
|
+
),
|
|
429
|
+
|
|
430
|
+
/** Selected icon color. */
|
|
431
|
+
selectedIconColor: unsafeCSS(`var(--m3e-filled-icon-button-selected-icon-color, ${DesignToken.color.onPrimary})`),
|
|
432
|
+
|
|
433
|
+
/** Selected container background color. */
|
|
434
|
+
selectedContainerColor: unsafeCSS(
|
|
435
|
+
`var(--m3e-filled-icon-button-selected-container-color, ${DesignToken.color.primary})`
|
|
436
|
+
),
|
|
437
|
+
|
|
438
|
+
/** Design tokens that control disabled state. */
|
|
439
|
+
disabled: {
|
|
440
|
+
/** Container background color when disabled. */
|
|
441
|
+
containerColor: unsafeCSS(
|
|
442
|
+
`var(--m3e-filled-icon-button-disabled-container-color, ${DesignToken.color.onSurface})`
|
|
443
|
+
),
|
|
444
|
+
|
|
445
|
+
/** Opacity of container when disabled. */
|
|
446
|
+
containerOpacity: unsafeCSS(`var(--m3e-filled-icon-button-disabled-container-opacity, 10%)`),
|
|
447
|
+
|
|
448
|
+
/** Icon color when disabled. */
|
|
449
|
+
iconColor: unsafeCSS(`var(--m3e-filled-icon-button-disabled-icon-color, ${DesignToken.color.onSurface})`),
|
|
450
|
+
|
|
451
|
+
/** Icon opacity when disabled. */
|
|
452
|
+
iconOpacity: unsafeCSS(`var(--m3e-filled-icon-button-disabled-icon-opacity, 38%)`),
|
|
453
|
+
},
|
|
454
|
+
|
|
455
|
+
/** Design tokens that control hover state. */
|
|
456
|
+
hover: {
|
|
457
|
+
/** Icon color on hover. */
|
|
458
|
+
iconColor: unsafeCSS(`var(--m3e-filled-icon-button-hover-icon-color, ${DesignToken.color.onPrimary})`),
|
|
459
|
+
|
|
460
|
+
/** State layer color on hover. */
|
|
461
|
+
stateLayerColor: unsafeCSS(
|
|
462
|
+
`var(--m3e-filled-icon-button-hover-state-layer-color, ${DesignToken.color.onPrimary})`
|
|
463
|
+
),
|
|
464
|
+
|
|
465
|
+
/** State layer opacity on hover. */
|
|
466
|
+
stateLayerOpacity: unsafeCSS(
|
|
467
|
+
`var(--m3e-filled-icon-button-hover-state-layer-opacity, ${DesignToken.state.hoverStateLayerOpacity})`
|
|
468
|
+
),
|
|
469
|
+
|
|
470
|
+
/** Unselected icon color on hover. */
|
|
471
|
+
unselectedIconColor: unsafeCSS(
|
|
472
|
+
`var(--m3e-filled-icon-button-hover-unselected-icon-color, ${DesignToken.color.onSurfaceVariant})`
|
|
473
|
+
),
|
|
474
|
+
|
|
475
|
+
/** Unselected state layer color on hover. */
|
|
476
|
+
unselectedStateLayerColor: unsafeCSS(
|
|
477
|
+
`var(--m3e-filled-icon-button-hover-unselected-state-layer-color, ${DesignToken.color.onSurfaceVariant})`
|
|
478
|
+
),
|
|
479
|
+
|
|
480
|
+
/** Selected icon color on hover. */
|
|
481
|
+
selectedIconColor: unsafeCSS(
|
|
482
|
+
`var(--m3e-filled-icon-button-hover-selected-icon-color, ${DesignToken.color.onPrimary})`
|
|
483
|
+
),
|
|
484
|
+
|
|
485
|
+
/** Selected state layer color on hover. */
|
|
486
|
+
selectedStateLayerColor: unsafeCSS(
|
|
487
|
+
`var(--m3e-filled-icon-button-hover-selected-state-layer-color, ${DesignToken.color.onPrimary})`
|
|
488
|
+
),
|
|
489
|
+
},
|
|
490
|
+
|
|
491
|
+
/** Design tokens that control focus state. */
|
|
492
|
+
focus: {
|
|
493
|
+
/** Icon color on focus. */
|
|
494
|
+
iconColor: unsafeCSS(`var(--m3e-filled-icon-button-focus-icon-color, ${DesignToken.color.onPrimary})`),
|
|
495
|
+
|
|
496
|
+
/** State layer color on focus. */
|
|
497
|
+
stateLayerColor: unsafeCSS(
|
|
498
|
+
`var(--m3e-filled-icon-button-focus-state-layer-color, ${DesignToken.color.onPrimary})`
|
|
499
|
+
),
|
|
500
|
+
|
|
501
|
+
/**State layer opacity on focus. */
|
|
502
|
+
stateLayerOpacity: unsafeCSS(
|
|
503
|
+
`var(--m3e-filled-icon-button-focus-state-layer-opacity, ${DesignToken.state.focusStateLayerOpacity})`
|
|
504
|
+
),
|
|
505
|
+
|
|
506
|
+
/** Unselected icon color on focus. */
|
|
507
|
+
unselectedIconColor: unsafeCSS(
|
|
508
|
+
`var(--m3e-filled-icon-button-focus-unselected-icon-color, ${DesignToken.color.onSurfaceVariant})`
|
|
509
|
+
),
|
|
510
|
+
|
|
511
|
+
/** Unselected state layer color on focus. */
|
|
512
|
+
unselectedStateLayerColor: unsafeCSS(
|
|
513
|
+
`var(--m3e-filled-icon-button-focus-unselected-state-layer-color, ${DesignToken.color.onSurfaceVariant})`
|
|
514
|
+
),
|
|
515
|
+
|
|
516
|
+
/** Selected icon color on focus. */
|
|
517
|
+
selectedIconColor: unsafeCSS(
|
|
518
|
+
`var(--m3e-filled-icon-button-focus-selected-icon-color, ${DesignToken.color.onPrimary})`
|
|
519
|
+
),
|
|
520
|
+
|
|
521
|
+
/** Selected state layer color on focus. */
|
|
522
|
+
selectedStateLayerColor: unsafeCSS(
|
|
523
|
+
`var(--m3e-filled-icon-button-focus-selected-state-layer-color, ${DesignToken.color.onPrimary})`
|
|
524
|
+
),
|
|
525
|
+
},
|
|
526
|
+
|
|
527
|
+
/** Design tokens that control pressed state. */
|
|
528
|
+
pressed: {
|
|
529
|
+
/** Icon color on pressed. */
|
|
530
|
+
iconColor: unsafeCSS(`var(--m3e-filled-icon-button-pressed-icon-color, ${DesignToken.color.onPrimary})`),
|
|
531
|
+
|
|
532
|
+
/** State layer color on pressed. */
|
|
533
|
+
stateLayerColor: unsafeCSS(
|
|
534
|
+
`var(--m3e-filled-icon-button-pressed-state-layer-color, ${DesignToken.color.onPrimary})`
|
|
535
|
+
),
|
|
536
|
+
|
|
537
|
+
/** State layer opacity on pressed. */
|
|
538
|
+
stateLayerOpacity: unsafeCSS(
|
|
539
|
+
`var(--m3e-filled-icon-button-pressed-state-layer-opacity, ${DesignToken.state.pressedStateLayerOpacity})`
|
|
540
|
+
),
|
|
541
|
+
|
|
542
|
+
/** Unselected icon color on pressed. */
|
|
543
|
+
unselectedIconColor: unsafeCSS(
|
|
544
|
+
`var(--m3e-filled-icon-button-pressed-unselected-icon-color, ${DesignToken.color.onSurfaceVariant})`
|
|
545
|
+
),
|
|
546
|
+
|
|
547
|
+
/** Unselected state layer color on pressed. */
|
|
548
|
+
unselectedStateLayerColor: unsafeCSS(
|
|
549
|
+
`var(--m3e-filled-icon-button-pressed-unselected-state-layer-color, ${DesignToken.color.onSurfaceVariant})`
|
|
550
|
+
),
|
|
551
|
+
|
|
552
|
+
/** Selected icon color on pressed. */
|
|
553
|
+
selectedIconColor: unsafeCSS(
|
|
554
|
+
`var(--m3e-filled-icon-button-pressed-selected-icon-color, ${DesignToken.color.onPrimary})`
|
|
555
|
+
),
|
|
556
|
+
|
|
557
|
+
/** Selected state layer color on pressed. */
|
|
558
|
+
selectedStateLayerColor: unsafeCSS(
|
|
559
|
+
`var(--m3e-filled-icon-button-pressed-selected-state-layer-color, ${DesignToken.color.onPrimary})`
|
|
560
|
+
),
|
|
561
|
+
},
|
|
562
|
+
},
|
|
563
|
+
|
|
564
|
+
/** Design tokens that control the `tonal` variant. */
|
|
565
|
+
tonal: {
|
|
566
|
+
/** Default icon color. */
|
|
567
|
+
iconColor: unsafeCSS(`var(--m3e-tonal-icon-button-icon-color, ${DesignToken.color.onSecondaryContainer})`),
|
|
568
|
+
|
|
569
|
+
/** Default container background color. */
|
|
570
|
+
containerColor: unsafeCSS(`var(--m3e-tonal-icon-button-container-color, ${DesignToken.color.secondaryContainer})`),
|
|
571
|
+
|
|
572
|
+
/** Unselected icon color. */
|
|
573
|
+
unselectedIconColor: unsafeCSS(
|
|
574
|
+
`var(--m3e-tonal-icon-button-unselected-icon-color, ${DesignToken.color.onSecondaryContainer})`
|
|
575
|
+
),
|
|
576
|
+
|
|
577
|
+
/** Unselected container background color. */
|
|
578
|
+
unselectedContainerColor: unsafeCSS(
|
|
579
|
+
`var(--m3e-tonal-icon-button-unselected-container-color, ${DesignToken.color.secondaryContainer})`
|
|
580
|
+
),
|
|
581
|
+
|
|
582
|
+
/** Selected icon color. */
|
|
583
|
+
selectedIconColor: unsafeCSS(`var(--m3e-tonal-icon-button-selected-icon-color, ${DesignToken.color.onSecondary})`),
|
|
584
|
+
|
|
585
|
+
/** Selected container background color. */
|
|
586
|
+
selectedContainerColor: unsafeCSS(
|
|
587
|
+
`var(--m3e-tonal-icon-button-selected-container-color, ${DesignToken.color.secondary})`
|
|
588
|
+
),
|
|
589
|
+
|
|
590
|
+
/** Design tokens that control disabled state. */
|
|
591
|
+
disabled: {
|
|
592
|
+
/** Container background color when disabled. */
|
|
593
|
+
containerColor: unsafeCSS(
|
|
594
|
+
`var(--m3e-tonal-icon-button-disabled-container-color, ${DesignToken.color.onSurface})`
|
|
595
|
+
),
|
|
596
|
+
|
|
597
|
+
/** Opacity of container when disabled. */
|
|
598
|
+
containerOpacity: unsafeCSS(`var(--m3e-tonal-icon-button-disabled-container-opacity, 10%)`),
|
|
599
|
+
|
|
600
|
+
/** Icon color when disabled. */
|
|
601
|
+
iconColor: unsafeCSS(`var(--m3e-tonal-icon-button-disabled-icon-color, ${DesignToken.color.onSurface})`),
|
|
602
|
+
|
|
603
|
+
/** Icon opacity when disabled. */
|
|
604
|
+
iconOpacity: unsafeCSS(`var(--m3e-tonal-icon-button-disabled-icon-opacity, 38%)`),
|
|
605
|
+
},
|
|
606
|
+
|
|
607
|
+
/** Design tokens that control hover state. */
|
|
608
|
+
hover: {
|
|
609
|
+
/** Icon color on hover. */
|
|
610
|
+
iconColor: unsafeCSS(`var(--m3e-tonal-icon-button-hover-icon-color, ${DesignToken.color.onSecondaryContainer})`),
|
|
611
|
+
|
|
612
|
+
/** State layer color on hover. */
|
|
613
|
+
stateLayerColor: unsafeCSS(
|
|
614
|
+
`var(--m3e-tonal-icon-button-hover-state-layer-color, ${DesignToken.color.onSecondaryContainer})`
|
|
615
|
+
),
|
|
616
|
+
|
|
617
|
+
/** State layer opacity on hover. */
|
|
618
|
+
stateLayerOpacity: unsafeCSS(
|
|
619
|
+
`var(--m3e-tonal-icon-button-hover-state-layer-opacity, ${DesignToken.state.hoverStateLayerOpacity})`
|
|
620
|
+
),
|
|
621
|
+
|
|
622
|
+
/** Unselected icon color on hover. */
|
|
623
|
+
unselectedIconColor: unsafeCSS(
|
|
624
|
+
`var(--m3e-tonal-icon-button-hover-unselected-icon-color, ${DesignToken.color.onSecondaryContainer})`
|
|
625
|
+
),
|
|
626
|
+
|
|
627
|
+
/** Unselected state layer color on hover. */
|
|
628
|
+
unselectedStateLayerColor: unsafeCSS(
|
|
629
|
+
`var(--m3e-tonal-icon-button-hover-unselected-state-layer-color, ${DesignToken.color.onSecondaryContainer})`
|
|
630
|
+
),
|
|
631
|
+
|
|
632
|
+
/** Selected icon color on hover. */
|
|
633
|
+
selectedIconColor: unsafeCSS(
|
|
634
|
+
`var(--m3e-tonal-icon-button-hover-selected-icon-color, ${DesignToken.color.onSecondary})`
|
|
635
|
+
),
|
|
636
|
+
|
|
637
|
+
/** Selected state layer color on hover. */
|
|
638
|
+
selectedStateLayerColor: unsafeCSS(
|
|
639
|
+
`var(--m3e-tonal-icon-button-hover-selected-state-layer-color, ${DesignToken.color.onSecondary})`
|
|
640
|
+
),
|
|
641
|
+
},
|
|
642
|
+
|
|
643
|
+
/** Design tokens that control focus state. */
|
|
644
|
+
focus: {
|
|
645
|
+
/** Icon color on focus. */
|
|
646
|
+
iconColor: unsafeCSS(`var(--m3e-tonal-icon-button-focus-icon-color, ${DesignToken.color.onSecondaryContainer})`),
|
|
647
|
+
|
|
648
|
+
/** State layer color on focus. */
|
|
649
|
+
stateLayerColor: unsafeCSS(
|
|
650
|
+
`var(--m3e-tonal-icon-button-focus-state-layer-color, ${DesignToken.color.onSecondaryContainer})`
|
|
651
|
+
),
|
|
652
|
+
|
|
653
|
+
/**State layer opacity on focus. */
|
|
654
|
+
stateLayerOpacity: unsafeCSS(
|
|
655
|
+
`var(--m3e-tonal-icon-button-focus-state-layer-opacity, ${DesignToken.state.focusStateLayerOpacity})`
|
|
656
|
+
),
|
|
657
|
+
|
|
658
|
+
/** Unselected icon color on focus. */
|
|
659
|
+
unselectedIconColor: unsafeCSS(
|
|
660
|
+
`var(--m3e-tonal-icon-button-focus-unselected-icon-color, ${DesignToken.color.onSecondaryContainer})`
|
|
661
|
+
),
|
|
662
|
+
|
|
663
|
+
/** Unselected state layer color on focus. */
|
|
664
|
+
unselectedStateLayerColor: unsafeCSS(
|
|
665
|
+
`var(--m3e-tonal-icon-button-focus-unselected-state-layer-color, ${DesignToken.color.onSecondaryContainer})`
|
|
666
|
+
),
|
|
667
|
+
|
|
668
|
+
/** Selected icon color on focus. */
|
|
669
|
+
selectedIconColor: unsafeCSS(
|
|
670
|
+
`var(--m3e-tonal-icon-button-focus-selected-icon-color, ${DesignToken.color.onSecondary})`
|
|
671
|
+
),
|
|
672
|
+
|
|
673
|
+
/** Selected state layer color on focus. */
|
|
674
|
+
selectedStateLayerColor: unsafeCSS(
|
|
675
|
+
`var(--m3e-tonal-icon-button-focus-selected-state-layer-color, ${DesignToken.color.onSecondary})`
|
|
676
|
+
),
|
|
677
|
+
},
|
|
678
|
+
|
|
679
|
+
/** Design tokens that control pressed state. */
|
|
680
|
+
pressed: {
|
|
681
|
+
/** Icon color on pressed. */
|
|
682
|
+
iconColor: unsafeCSS(
|
|
683
|
+
`var(--m3e-tonal-icon-button-pressed-icon-color, ${DesignToken.color.onSecondaryContainer})`
|
|
684
|
+
),
|
|
685
|
+
|
|
686
|
+
/** State layer color on pressed. */
|
|
687
|
+
stateLayerColor: unsafeCSS(
|
|
688
|
+
`var(--m3e-tonal-icon-button-pressed-state-layer-color, ${DesignToken.color.onSecondaryContainer})`
|
|
689
|
+
),
|
|
690
|
+
|
|
691
|
+
/** State layer opacity on pressed. */
|
|
692
|
+
stateLayerOpacity: unsafeCSS(
|
|
693
|
+
`var(--m3e-tonal-icon-button-pressed-state-layer-opacity, ${DesignToken.state.pressedStateLayerOpacity})`
|
|
694
|
+
),
|
|
695
|
+
|
|
696
|
+
/** Unselected icon color on pressed. */
|
|
697
|
+
unselectedIconColor: unsafeCSS(
|
|
698
|
+
`var(--m3e-tonal-icon-button-pressed-unselected-icon-color, ${DesignToken.color.onSecondaryContainer})`
|
|
699
|
+
),
|
|
700
|
+
|
|
701
|
+
/** Unselected state layer color on pressed. */
|
|
702
|
+
unselectedStateLayerColor: unsafeCSS(
|
|
703
|
+
`var(--m3e-tonal-icon-button-pressed-unselected-state-layer-color, ${DesignToken.color.onSecondaryContainer})`
|
|
704
|
+
),
|
|
705
|
+
|
|
706
|
+
/** Selected icon color on pressed. */
|
|
707
|
+
selectedIconColor: unsafeCSS(
|
|
708
|
+
`var(--m3e-tonal-icon-button-pressed-selected-icon-color, ${DesignToken.color.onSecondary})`
|
|
709
|
+
),
|
|
710
|
+
|
|
711
|
+
/** Selected state layer color on pressed. */
|
|
712
|
+
selectedStateLayerColor: unsafeCSS(
|
|
713
|
+
`var(--m3e-tonal-icon-button-pressed-selected-state-layer-color, ${DesignToken.color.onSecondary})`
|
|
714
|
+
),
|
|
715
|
+
},
|
|
716
|
+
},
|
|
717
|
+
|
|
718
|
+
/** Design tokens that control the `standard` variant. */
|
|
719
|
+
standard: {
|
|
720
|
+
/** Default icon color. */
|
|
721
|
+
iconColor: unsafeCSS(`var(--m3e-standard-icon-button-icon-color, ${DesignToken.color.onSurfaceVariant})`),
|
|
722
|
+
|
|
723
|
+
/** Unselected icon color. */
|
|
724
|
+
unselectedIconColor: unsafeCSS(
|
|
725
|
+
`var(--m3e-standard-icon-button-unselected-icon-color, ${DesignToken.color.onSurfaceVariant})`
|
|
726
|
+
),
|
|
727
|
+
|
|
728
|
+
/** Selected icon color. */
|
|
729
|
+
selectedIconColor: unsafeCSS(`var(--m3e-standard-icon-button-selected-icon-color, ${DesignToken.color.primary})`),
|
|
730
|
+
|
|
731
|
+
/** Design tokens that control disabled state. */
|
|
732
|
+
disabled: {
|
|
733
|
+
/** Container background color when disabled. */
|
|
734
|
+
containerColor: unsafeCSS(`var(--m3e-standard-icon-button-disabled-container-color, transparent)`),
|
|
735
|
+
|
|
736
|
+
/** Opacity of container when disabled. */
|
|
737
|
+
containerOpacity: unsafeCSS(`var(--m3e-standard-icon-button-disabled-container-opacity, 10%)`),
|
|
738
|
+
|
|
739
|
+
/** Icon color when disabled. */
|
|
740
|
+
iconColor: unsafeCSS(`var(--m3e-standard-icon-button-disabled-icon-color, ${DesignToken.color.onSurface})`),
|
|
741
|
+
|
|
742
|
+
/** Icon opacity when disabled. */
|
|
743
|
+
iconOpacity: unsafeCSS(`var(--m3e-standard-icon-button-disabled-icon-opacity, 38%)`),
|
|
744
|
+
},
|
|
745
|
+
|
|
746
|
+
/** Design tokens that control hover state. */
|
|
747
|
+
hover: {
|
|
748
|
+
/** Icon color on hover. */
|
|
749
|
+
iconColor: unsafeCSS(`var(--m3e-standard-icon-button-hover-icon-color, ${DesignToken.color.onSurfaceVariant})`),
|
|
750
|
+
|
|
751
|
+
/** State layer color on hover. */
|
|
752
|
+
stateLayerColor: unsafeCSS(
|
|
753
|
+
`var(--m3e-standard-icon-button-hover-state-layer-color, ${DesignToken.color.onSurfaceVariant})`
|
|
754
|
+
),
|
|
755
|
+
|
|
756
|
+
/** State layer opacity on hover. */
|
|
757
|
+
stateLayerOpacity: unsafeCSS(
|
|
758
|
+
`var(--m3e-standard-icon-button-hover-state-layer-opacity, ${DesignToken.state.hoverStateLayerOpacity})`
|
|
759
|
+
),
|
|
760
|
+
|
|
761
|
+
/** Unselected icon color on hover. */
|
|
762
|
+
unselectedIconColor: unsafeCSS(
|
|
763
|
+
`var(--m3e-standard-icon-button-hover-unselected-icon-color, ${DesignToken.color.onSurfaceVariant})`
|
|
764
|
+
),
|
|
765
|
+
|
|
766
|
+
/** Unselected state layer color on hover. */
|
|
767
|
+
unselectedStateLayerColor: unsafeCSS(
|
|
768
|
+
`var(--m3e-standard-icon-button-hover-unselected-state-layer-color, ${DesignToken.color.onSurfaceVariant})`
|
|
769
|
+
),
|
|
770
|
+
|
|
771
|
+
/** Selected icon color on hover. */
|
|
772
|
+
selectedIconColor: unsafeCSS(
|
|
773
|
+
`var(--m3e-standard-icon-button-hover-selected-icon-color, ${DesignToken.color.primary})`
|
|
774
|
+
),
|
|
775
|
+
|
|
776
|
+
/** Selected state layer color on hover. */
|
|
777
|
+
selectedStateLayerColor: unsafeCSS(
|
|
778
|
+
`var(--m3e-standard-icon-button-hover-selected-state-layer-color, ${DesignToken.color.primary})`
|
|
779
|
+
),
|
|
780
|
+
},
|
|
781
|
+
|
|
782
|
+
/** Design tokens that control focus state. */
|
|
783
|
+
focus: {
|
|
784
|
+
/** Icon color on focus. */
|
|
785
|
+
iconColor: unsafeCSS(`var(--m3e-standard-icon-button-focus-icon-color, ${DesignToken.color.onSurfaceVariant})`),
|
|
786
|
+
|
|
787
|
+
/** State layer color on focus. */
|
|
788
|
+
stateLayerColor: unsafeCSS(
|
|
789
|
+
`var(--m3e-standard-icon-button-focus-state-layer-color, ${DesignToken.color.onSurfaceVariant})`
|
|
790
|
+
),
|
|
791
|
+
|
|
792
|
+
/**State layer opacity on focus. */
|
|
793
|
+
stateLayerOpacity: unsafeCSS(
|
|
794
|
+
`var(--m3e-standard-icon-button-focus-state-layer-opacity, ${DesignToken.state.focusStateLayerOpacity})`
|
|
795
|
+
),
|
|
796
|
+
|
|
797
|
+
/** Unselected icon color on focus. */
|
|
798
|
+
unselectedIconColor: unsafeCSS(
|
|
799
|
+
`var(--m3e-standard-icon-button-focus-unselected-icon-color, ${DesignToken.color.onSurfaceVariant})`
|
|
800
|
+
),
|
|
801
|
+
|
|
802
|
+
/** Unselected state layer color on focus. */
|
|
803
|
+
unselectedStateLayerColor: unsafeCSS(
|
|
804
|
+
`var(--m3e-standard-icon-button-focus-unselected-state-layer-color, ${DesignToken.color.onSurfaceVariant})`
|
|
805
|
+
),
|
|
806
|
+
|
|
807
|
+
/** Selected icon color on focus. */
|
|
808
|
+
selectedIconColor: unsafeCSS(
|
|
809
|
+
`var(--m3e-standard-icon-button-focus-selected-icon-color, ${DesignToken.color.primary})`
|
|
810
|
+
),
|
|
811
|
+
|
|
812
|
+
/** Selected state layer color on focus. */
|
|
813
|
+
selectedStateLayerColor: unsafeCSS(
|
|
814
|
+
`var(--m3e-standard-icon-button-focus-selected-state-layer-color, ${DesignToken.color.primary})`
|
|
815
|
+
),
|
|
816
|
+
},
|
|
817
|
+
|
|
818
|
+
/** Design tokens that control pressed state. */
|
|
819
|
+
pressed: {
|
|
820
|
+
/** Icon color on pressed. */
|
|
821
|
+
iconColor: unsafeCSS(`var(--m3e-standard-icon-button-pressed-icon-color, ${DesignToken.color.onSurfaceVariant})`),
|
|
822
|
+
|
|
823
|
+
/** State layer color on pressed. */
|
|
824
|
+
stateLayerColor: unsafeCSS(
|
|
825
|
+
`var(--m3e-standard-icon-button-pressed-state-layer-color, ${DesignToken.color.onSurfaceVariant})`
|
|
826
|
+
),
|
|
827
|
+
|
|
828
|
+
/** State layer opacity on pressed. */
|
|
829
|
+
stateLayerOpacity: unsafeCSS(
|
|
830
|
+
`var(--m3e-standard-icon-button-pressed-state-layer-opacity, ${DesignToken.state.pressedStateLayerOpacity})`
|
|
831
|
+
),
|
|
832
|
+
|
|
833
|
+
/** Unselected icon color on pressed. */
|
|
834
|
+
unselectedIconColor: unsafeCSS(
|
|
835
|
+
`var(--m3e-standard-icon-button-pressed-unselected-icon-color, ${DesignToken.color.onSurfaceVariant})`
|
|
836
|
+
),
|
|
837
|
+
|
|
838
|
+
/** Unselected state layer color on pressed. */
|
|
839
|
+
unselectedStateLayerColor: unsafeCSS(
|
|
840
|
+
`var(--m3e-standard-icon-button-pressed-unselected-state-layer-color, ${DesignToken.color.onSurfaceVariant})`
|
|
841
|
+
),
|
|
842
|
+
|
|
843
|
+
/** Selected icon color on pressed. */
|
|
844
|
+
selectedIconColor: unsafeCSS(
|
|
845
|
+
`var(--m3e-standard-icon-button-pressed-selected-icon-color, ${DesignToken.color.primary})`
|
|
846
|
+
),
|
|
847
|
+
|
|
848
|
+
/** Selected state layer color on pressed. */
|
|
849
|
+
selectedStateLayerColor: unsafeCSS(
|
|
850
|
+
`var(--m3e-standard-icon-button-pressed-selected-state-layer-color, ${DesignToken.color.primary})`
|
|
851
|
+
),
|
|
852
|
+
},
|
|
853
|
+
},
|
|
854
|
+
} as const;
|