@fluentui/react-button 0.0.0-nightly-20250703-0405.1 → 0.0.0-nightly-20250703-1103.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.
Files changed (22) hide show
  1. package/CHANGELOG.md +13 -13
  2. package/lib/components/Button/useButtonStyles.styles.raw.js +488 -0
  3. package/lib/components/Button/useButtonStyles.styles.raw.js.map +1 -0
  4. package/lib/components/CompoundButton/useCompoundButtonStyles.styles.raw.js +241 -0
  5. package/lib/components/CompoundButton/useCompoundButtonStyles.styles.raw.js.map +1 -0
  6. package/lib/components/MenuButton/useMenuButtonStyles.styles.raw.js +112 -0
  7. package/lib/components/MenuButton/useMenuButtonStyles.styles.raw.js.map +1 -0
  8. package/lib/components/SplitButton/useSplitButtonStyles.styles.raw.js +158 -0
  9. package/lib/components/SplitButton/useSplitButtonStyles.styles.raw.js.map +1 -0
  10. package/lib/components/ToggleButton/useToggleButtonStyles.styles.raw.js +226 -0
  11. package/lib/components/ToggleButton/useToggleButtonStyles.styles.raw.js.map +1 -0
  12. package/lib-commonjs/components/Button/useButtonStyles.styles.raw.js +495 -0
  13. package/lib-commonjs/components/Button/useButtonStyles.styles.raw.js.map +1 -0
  14. package/lib-commonjs/components/CompoundButton/useCompoundButtonStyles.styles.raw.js +253 -0
  15. package/lib-commonjs/components/CompoundButton/useCompoundButtonStyles.styles.raw.js.map +1 -0
  16. package/lib-commonjs/components/MenuButton/useMenuButtonStyles.styles.raw.js +129 -0
  17. package/lib-commonjs/components/MenuButton/useMenuButtonStyles.styles.raw.js.map +1 -0
  18. package/lib-commonjs/components/SplitButton/useSplitButtonStyles.styles.raw.js +174 -0
  19. package/lib-commonjs/components/SplitButton/useSplitButtonStyles.styles.raw.js.map +1 -0
  20. package/lib-commonjs/components/ToggleButton/useToggleButtonStyles.styles.raw.js +237 -0
  21. package/lib-commonjs/components/ToggleButton/useToggleButtonStyles.styles.raw.js.map +1 -0
  22. package/package.json +10 -10
package/CHANGELOG.md CHANGED
@@ -1,26 +1,26 @@
1
1
  # Change Log - @fluentui/react-button
2
2
 
3
- This log was last generated on Thu, 03 Jul 2025 04:21:57 GMT and should not be manually modified.
3
+ This log was last generated on Thu, 03 Jul 2025 11:19:38 GMT and should not be manually modified.
4
4
 
5
5
  <!-- Start content -->
6
6
 
7
- ## [0.0.0-nightly-20250703-0405.1](https://github.com/microsoft/fluentui/tree/@fluentui/react-button_v0.0.0-nightly-20250703-0405.1)
7
+ ## [0.0.0-nightly-20250703-1103.1](https://github.com/microsoft/fluentui/tree/@fluentui/react-button_v0.0.0-nightly-20250703-1103.1)
8
8
 
9
- Thu, 03 Jul 2025 04:21:57 GMT
10
- [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-button_v9.5.3..@fluentui/react-button_v0.0.0-nightly-20250703-0405.1)
9
+ Thu, 03 Jul 2025 11:19:38 GMT
10
+ [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-button_v9.5.3..@fluentui/react-button_v0.0.0-nightly-20250703-1103.1)
11
11
 
12
12
  ### Changes
13
13
 
14
14
  - Release nightly v9 ([commit](https://github.com/microsoft/fluentui/commit/not available) by fluentui-internal@service.microsoft.com)
15
- - Bump @fluentui/keyboard-keys to v0.0.0-nightly-20250703-0405.1 ([commit](https://github.com/microsoft/fluentui/commit/4785a56d8d02319c94a8cd11b233102e43459507) by beachball)
16
- - Bump @fluentui/react-aria to v0.0.0-nightly-20250703-0405.1 ([commit](https://github.com/microsoft/fluentui/commit/4785a56d8d02319c94a8cd11b233102e43459507) by beachball)
17
- - Bump @fluentui/react-jsx-runtime to v0.0.0-nightly-20250703-0405.1 ([commit](https://github.com/microsoft/fluentui/commit/4785a56d8d02319c94a8cd11b233102e43459507) by beachball)
18
- - Bump @fluentui/react-shared-contexts to v0.0.0-nightly-20250703-0405.1 ([commit](https://github.com/microsoft/fluentui/commit/4785a56d8d02319c94a8cd11b233102e43459507) by beachball)
19
- - Bump @fluentui/react-tabster to v0.0.0-nightly-20250703-0405.1 ([commit](https://github.com/microsoft/fluentui/commit/4785a56d8d02319c94a8cd11b233102e43459507) by beachball)
20
- - Bump @fluentui/react-theme to v0.0.0-nightly-20250703-0405.1 ([commit](https://github.com/microsoft/fluentui/commit/4785a56d8d02319c94a8cd11b233102e43459507) by beachball)
21
- - Bump @fluentui/react-utilities to v0.0.0-nightly-20250703-0405.1 ([commit](https://github.com/microsoft/fluentui/commit/4785a56d8d02319c94a8cd11b233102e43459507) by beachball)
22
- - Bump @fluentui/react-conformance to v0.0.0-nightly-20250703-0405.1 ([commit](https://github.com/microsoft/fluentui/commit/4785a56d8d02319c94a8cd11b233102e43459507) by beachball)
23
- - Bump @fluentui/react-conformance-griffel to v0.0.0-nightly-20250703-0405.1 ([commit](https://github.com/microsoft/fluentui/commit/4785a56d8d02319c94a8cd11b233102e43459507) by beachball)
15
+ - Bump @fluentui/keyboard-keys to v0.0.0-nightly-20250703-1103.1 ([commit](https://github.com/microsoft/fluentui/commit/526d249cdcd844e3f173f9163b3ce779fe6035e8) by beachball)
16
+ - Bump @fluentui/react-aria to v0.0.0-nightly-20250703-1103.1 ([commit](https://github.com/microsoft/fluentui/commit/526d249cdcd844e3f173f9163b3ce779fe6035e8) by beachball)
17
+ - Bump @fluentui/react-jsx-runtime to v0.0.0-nightly-20250703-1103.1 ([commit](https://github.com/microsoft/fluentui/commit/526d249cdcd844e3f173f9163b3ce779fe6035e8) by beachball)
18
+ - Bump @fluentui/react-shared-contexts to v0.0.0-nightly-20250703-1103.1 ([commit](https://github.com/microsoft/fluentui/commit/526d249cdcd844e3f173f9163b3ce779fe6035e8) by beachball)
19
+ - Bump @fluentui/react-tabster to v0.0.0-nightly-20250703-1103.1 ([commit](https://github.com/microsoft/fluentui/commit/526d249cdcd844e3f173f9163b3ce779fe6035e8) by beachball)
20
+ - Bump @fluentui/react-theme to v0.0.0-nightly-20250703-1103.1 ([commit](https://github.com/microsoft/fluentui/commit/526d249cdcd844e3f173f9163b3ce779fe6035e8) by beachball)
21
+ - Bump @fluentui/react-utilities to v0.0.0-nightly-20250703-1103.1 ([commit](https://github.com/microsoft/fluentui/commit/526d249cdcd844e3f173f9163b3ce779fe6035e8) by beachball)
22
+ - Bump @fluentui/react-conformance to v0.0.0-nightly-20250703-1103.1 ([commit](https://github.com/microsoft/fluentui/commit/526d249cdcd844e3f173f9163b3ce779fe6035e8) by beachball)
23
+ - Bump @fluentui/react-conformance-griffel to v0.0.0-nightly-20250703-1103.1 ([commit](https://github.com/microsoft/fluentui/commit/526d249cdcd844e3f173f9163b3ce779fe6035e8) by beachball)
24
24
 
25
25
  ## [9.5.3](https://github.com/microsoft/fluentui/tree/@fluentui/react-button_v9.5.3)
26
26
 
@@ -0,0 +1,488 @@
1
+ import { iconFilledClassName, iconRegularClassName } from '@fluentui/react-icons';
2
+ import { createCustomFocusIndicatorStyle } from '@fluentui/react-tabster';
3
+ import { tokens } from '@fluentui/react-theme';
4
+ import { shorthands, makeStyles, makeResetStyles, mergeClasses } from '@griffel/react';
5
+ export const buttonClassNames = {
6
+ root: 'fui-Button',
7
+ icon: 'fui-Button__icon'
8
+ };
9
+ const iconSpacingVar = '--fui-Button__icon--spacing';
10
+ const buttonSpacingSmall = '3px';
11
+ const buttonSpacingSmallWithIcon = '1px';
12
+ const buttonSpacingMedium = '5px';
13
+ const buttonSpacingLarge = '8px';
14
+ const buttonSpacingLargeWithIcon = '7px';
15
+ /* Firefox has box shadow sizing issue at some zoom levels
16
+ * this will ensure the inset boxShadow is always uniform
17
+ * without affecting other browser platforms
18
+ */ const boxShadowStrokeWidthThinMoz = `calc(${tokens.strokeWidthThin} + 0.25px)`;
19
+ const useRootBaseClassName = makeResetStyles({
20
+ alignItems: 'center',
21
+ boxSizing: 'border-box',
22
+ display: 'inline-flex',
23
+ justifyContent: 'center',
24
+ textDecorationLine: 'none',
25
+ verticalAlign: 'middle',
26
+ margin: 0,
27
+ overflow: 'hidden',
28
+ backgroundColor: tokens.colorNeutralBackground1,
29
+ color: tokens.colorNeutralForeground1,
30
+ border: `${tokens.strokeWidthThin} solid ${tokens.colorNeutralStroke1}`,
31
+ fontFamily: tokens.fontFamilyBase,
32
+ outlineStyle: 'none',
33
+ ':hover': {
34
+ backgroundColor: tokens.colorNeutralBackground1Hover,
35
+ borderColor: tokens.colorNeutralStroke1Hover,
36
+ color: tokens.colorNeutralForeground1Hover,
37
+ cursor: 'pointer'
38
+ },
39
+ ':hover:active': {
40
+ backgroundColor: tokens.colorNeutralBackground1Pressed,
41
+ borderColor: tokens.colorNeutralStroke1Pressed,
42
+ color: tokens.colorNeutralForeground1Pressed,
43
+ outlineStyle: 'none'
44
+ },
45
+ padding: `${buttonSpacingMedium} ${tokens.spacingHorizontalM}`,
46
+ minWidth: '96px',
47
+ borderRadius: tokens.borderRadiusMedium,
48
+ fontSize: tokens.fontSizeBase300,
49
+ fontWeight: tokens.fontWeightSemibold,
50
+ lineHeight: tokens.lineHeightBase300,
51
+ // Transition styles
52
+ transitionDuration: tokens.durationFaster,
53
+ transitionProperty: 'background, border, color',
54
+ transitionTimingFunction: tokens.curveEasyEase,
55
+ '@media screen and (prefers-reduced-motion: reduce)': {
56
+ transitionDuration: '0.01ms'
57
+ },
58
+ // High contrast styles
59
+ '@media (forced-colors: active)': {
60
+ ':focus': {
61
+ borderColor: 'ButtonText'
62
+ },
63
+ ':hover': {
64
+ backgroundColor: 'HighlightText',
65
+ borderColor: 'Highlight',
66
+ color: 'Highlight',
67
+ forcedColorAdjust: 'none'
68
+ },
69
+ ':hover:active': {
70
+ backgroundColor: 'HighlightText',
71
+ borderColor: 'Highlight',
72
+ color: 'Highlight',
73
+ forcedColorAdjust: 'none'
74
+ }
75
+ },
76
+ // Focus styles
77
+ ...createCustomFocusIndicatorStyle({
78
+ borderColor: tokens.colorStrokeFocus2,
79
+ borderRadius: tokens.borderRadiusMedium,
80
+ borderWidth: '1px',
81
+ outline: `${tokens.strokeWidthThick} solid ${tokens.colorTransparentStroke}`,
82
+ boxShadow: `0 0 0 ${tokens.strokeWidthThin} ${tokens.colorStrokeFocus2}
83
+ inset
84
+ `,
85
+ zIndex: 1
86
+ }),
87
+ // BUGFIX: Mozilla specific styles (Mozilla BugID: 1857642)
88
+ '@supports (-moz-appearance:button)': {
89
+ ...createCustomFocusIndicatorStyle({
90
+ boxShadow: `0 0 0 ${boxShadowStrokeWidthThinMoz} ${tokens.colorStrokeFocus2}
91
+ inset
92
+ `
93
+ })
94
+ }
95
+ });
96
+ const useIconBaseClassName = makeResetStyles({
97
+ alignItems: 'center',
98
+ display: 'inline-flex',
99
+ justifyContent: 'center',
100
+ fontSize: '20px',
101
+ height: '20px',
102
+ width: '20px',
103
+ [iconSpacingVar]: tokens.spacingHorizontalSNudge
104
+ });
105
+ const useRootStyles = makeStyles({
106
+ // Appearance variations
107
+ outline: {
108
+ backgroundColor: tokens.colorTransparentBackground,
109
+ ':hover': {
110
+ backgroundColor: tokens.colorTransparentBackgroundHover
111
+ },
112
+ ':hover:active': {
113
+ backgroundColor: tokens.colorTransparentBackgroundPressed
114
+ }
115
+ },
116
+ primary: {
117
+ backgroundColor: tokens.colorBrandBackground,
118
+ ...shorthands.borderColor('transparent'),
119
+ color: tokens.colorNeutralForegroundOnBrand,
120
+ ':hover': {
121
+ backgroundColor: tokens.colorBrandBackgroundHover,
122
+ ...shorthands.borderColor('transparent'),
123
+ color: tokens.colorNeutralForegroundOnBrand
124
+ },
125
+ ':hover:active': {
126
+ backgroundColor: tokens.colorBrandBackgroundPressed,
127
+ ...shorthands.borderColor('transparent'),
128
+ color: tokens.colorNeutralForegroundOnBrand
129
+ },
130
+ '@media (forced-colors: active)': {
131
+ backgroundColor: 'Highlight',
132
+ ...shorthands.borderColor('HighlightText'),
133
+ color: 'HighlightText',
134
+ forcedColorAdjust: 'none',
135
+ ':hover': {
136
+ backgroundColor: 'HighlightText',
137
+ ...shorthands.borderColor('Highlight'),
138
+ color: 'Highlight'
139
+ },
140
+ ':hover:active': {
141
+ backgroundColor: 'HighlightText',
142
+ ...shorthands.borderColor('Highlight'),
143
+ color: 'Highlight'
144
+ }
145
+ }
146
+ },
147
+ secondary: {
148
+ },
149
+ subtle: {
150
+ backgroundColor: tokens.colorSubtleBackground,
151
+ ...shorthands.borderColor('transparent'),
152
+ color: tokens.colorNeutralForeground2,
153
+ ':hover': {
154
+ backgroundColor: tokens.colorSubtleBackgroundHover,
155
+ ...shorthands.borderColor('transparent'),
156
+ color: tokens.colorNeutralForeground2Hover,
157
+ [`& .${iconFilledClassName}`]: {
158
+ display: 'inline'
159
+ },
160
+ [`& .${iconRegularClassName}`]: {
161
+ display: 'none'
162
+ },
163
+ [`& .${buttonClassNames.icon}`]: {
164
+ color: tokens.colorNeutralForeground2BrandHover
165
+ }
166
+ },
167
+ ':hover:active': {
168
+ backgroundColor: tokens.colorSubtleBackgroundPressed,
169
+ ...shorthands.borderColor('transparent'),
170
+ color: tokens.colorNeutralForeground2Pressed,
171
+ [`& .${iconFilledClassName}`]: {
172
+ display: 'inline'
173
+ },
174
+ [`& .${iconRegularClassName}`]: {
175
+ display: 'none'
176
+ },
177
+ [`& .${buttonClassNames.icon}`]: {
178
+ color: tokens.colorNeutralForeground2BrandPressed
179
+ }
180
+ },
181
+ '@media (forced-colors: active)': {
182
+ ':hover': {
183
+ color: 'Highlight',
184
+ [`& .${buttonClassNames.icon}`]: {
185
+ color: 'Highlight'
186
+ }
187
+ },
188
+ ':hover:active': {
189
+ color: 'Highlight',
190
+ [`& .${buttonClassNames.icon}`]: {
191
+ color: 'Highlight'
192
+ }
193
+ }
194
+ }
195
+ },
196
+ transparent: {
197
+ backgroundColor: tokens.colorTransparentBackground,
198
+ ...shorthands.borderColor('transparent'),
199
+ color: tokens.colorNeutralForeground2,
200
+ ':hover': {
201
+ backgroundColor: tokens.colorTransparentBackgroundHover,
202
+ ...shorthands.borderColor('transparent'),
203
+ color: tokens.colorNeutralForeground2BrandHover,
204
+ [`& .${iconFilledClassName}`]: {
205
+ display: 'inline'
206
+ },
207
+ [`& .${iconRegularClassName}`]: {
208
+ display: 'none'
209
+ }
210
+ },
211
+ ':hover:active': {
212
+ backgroundColor: tokens.colorTransparentBackgroundPressed,
213
+ ...shorthands.borderColor('transparent'),
214
+ color: tokens.colorNeutralForeground2BrandPressed,
215
+ [`& .${iconFilledClassName}`]: {
216
+ display: 'inline'
217
+ },
218
+ [`& .${iconRegularClassName}`]: {
219
+ display: 'none'
220
+ }
221
+ },
222
+ '@media (forced-colors: active)': {
223
+ ':hover': {
224
+ backgroundColor: tokens.colorTransparentBackground,
225
+ color: 'Highlight'
226
+ },
227
+ ':hover:active': {
228
+ backgroundColor: tokens.colorTransparentBackground,
229
+ color: 'Highlight'
230
+ }
231
+ }
232
+ },
233
+ // Shape variations
234
+ circular: {
235
+ borderRadius: tokens.borderRadiusCircular
236
+ },
237
+ rounded: {
238
+ },
239
+ square: {
240
+ borderRadius: tokens.borderRadiusNone
241
+ },
242
+ // Size variations
243
+ small: {
244
+ minWidth: '64px',
245
+ padding: `${buttonSpacingSmall} ${tokens.spacingHorizontalS}`,
246
+ borderRadius: tokens.borderRadiusMedium,
247
+ fontSize: tokens.fontSizeBase200,
248
+ fontWeight: tokens.fontWeightRegular,
249
+ lineHeight: tokens.lineHeightBase200
250
+ },
251
+ smallWithIcon: {
252
+ paddingBottom: buttonSpacingSmallWithIcon,
253
+ paddingTop: buttonSpacingSmallWithIcon
254
+ },
255
+ medium: {
256
+ },
257
+ large: {
258
+ minWidth: '96px',
259
+ padding: `${buttonSpacingLarge} ${tokens.spacingHorizontalL}`,
260
+ borderRadius: tokens.borderRadiusMedium,
261
+ fontSize: tokens.fontSizeBase400,
262
+ fontWeight: tokens.fontWeightSemibold,
263
+ lineHeight: tokens.lineHeightBase400
264
+ },
265
+ largeWithIcon: {
266
+ paddingBottom: buttonSpacingLargeWithIcon,
267
+ paddingTop: buttonSpacingLargeWithIcon
268
+ }
269
+ });
270
+ const useRootDisabledStyles = makeStyles({
271
+ // Base styles
272
+ base: {
273
+ backgroundColor: tokens.colorNeutralBackgroundDisabled,
274
+ ...shorthands.borderColor(tokens.colorNeutralStrokeDisabled),
275
+ color: tokens.colorNeutralForegroundDisabled,
276
+ cursor: 'not-allowed',
277
+ [`& .${buttonClassNames.icon}`]: {
278
+ color: tokens.colorNeutralForegroundDisabled
279
+ },
280
+ ':hover': {
281
+ backgroundColor: tokens.colorNeutralBackgroundDisabled,
282
+ ...shorthands.borderColor(tokens.colorNeutralStrokeDisabled),
283
+ color: tokens.colorNeutralForegroundDisabled,
284
+ cursor: 'not-allowed',
285
+ [`& .${iconFilledClassName}`]: {
286
+ display: 'none'
287
+ },
288
+ [`& .${iconRegularClassName}`]: {
289
+ display: 'inline'
290
+ },
291
+ [`& .${buttonClassNames.icon}`]: {
292
+ color: tokens.colorNeutralForegroundDisabled
293
+ }
294
+ },
295
+ ':hover:active': {
296
+ backgroundColor: tokens.colorNeutralBackgroundDisabled,
297
+ ...shorthands.borderColor(tokens.colorNeutralStrokeDisabled),
298
+ color: tokens.colorNeutralForegroundDisabled,
299
+ cursor: 'not-allowed',
300
+ [`& .${iconFilledClassName}`]: {
301
+ display: 'none'
302
+ },
303
+ [`& .${iconRegularClassName}`]: {
304
+ display: 'inline'
305
+ },
306
+ [`& .${buttonClassNames.icon}`]: {
307
+ color: tokens.colorNeutralForegroundDisabled
308
+ }
309
+ }
310
+ },
311
+ // High contrast styles
312
+ highContrast: {
313
+ '@media (forced-colors: active)': {
314
+ backgroundColor: 'ButtonFace',
315
+ ...shorthands.borderColor('GrayText'),
316
+ color: 'GrayText',
317
+ [`& .${buttonClassNames.icon}`]: {
318
+ color: 'GrayText'
319
+ },
320
+ ':focus': {
321
+ ...shorthands.borderColor('GrayText')
322
+ },
323
+ ':hover': {
324
+ backgroundColor: 'ButtonFace',
325
+ ...shorthands.borderColor('GrayText'),
326
+ color: 'GrayText',
327
+ [`& .${buttonClassNames.icon}`]: {
328
+ color: 'GrayText'
329
+ }
330
+ },
331
+ ':hover:active': {
332
+ backgroundColor: 'ButtonFace',
333
+ ...shorthands.borderColor('GrayText'),
334
+ color: 'GrayText',
335
+ [`& .${buttonClassNames.icon}`]: {
336
+ color: 'GrayText'
337
+ }
338
+ }
339
+ }
340
+ },
341
+ // Appearance variations
342
+ outline: {
343
+ backgroundColor: tokens.colorTransparentBackground,
344
+ ':hover': {
345
+ backgroundColor: tokens.colorTransparentBackground
346
+ },
347
+ ':hover:active': {
348
+ backgroundColor: tokens.colorTransparentBackground
349
+ }
350
+ },
351
+ primary: {
352
+ ...shorthands.borderColor('transparent'),
353
+ ':hover': {
354
+ ...shorthands.borderColor('transparent')
355
+ },
356
+ ':hover:active': {
357
+ ...shorthands.borderColor('transparent')
358
+ }
359
+ },
360
+ secondary: {
361
+ },
362
+ subtle: {
363
+ backgroundColor: tokens.colorTransparentBackground,
364
+ ...shorthands.borderColor('transparent'),
365
+ ':hover': {
366
+ backgroundColor: tokens.colorTransparentBackground,
367
+ ...shorthands.borderColor('transparent')
368
+ },
369
+ ':hover:active': {
370
+ backgroundColor: tokens.colorTransparentBackground,
371
+ ...shorthands.borderColor('transparent')
372
+ }
373
+ },
374
+ transparent: {
375
+ backgroundColor: tokens.colorTransparentBackground,
376
+ ...shorthands.borderColor('transparent'),
377
+ ':hover': {
378
+ backgroundColor: tokens.colorTransparentBackground,
379
+ ...shorthands.borderColor('transparent')
380
+ },
381
+ ':hover:active': {
382
+ backgroundColor: tokens.colorTransparentBackground,
383
+ ...shorthands.borderColor('transparent')
384
+ }
385
+ }
386
+ });
387
+ const useRootFocusStyles = makeStyles({
388
+ // Shape variations
389
+ circular: createCustomFocusIndicatorStyle({
390
+ borderRadius: tokens.borderRadiusCircular
391
+ }),
392
+ rounded: {
393
+ },
394
+ square: createCustomFocusIndicatorStyle({
395
+ borderRadius: tokens.borderRadiusNone
396
+ }),
397
+ // Primary styles
398
+ primary: {
399
+ ...createCustomFocusIndicatorStyle({
400
+ ...shorthands.borderColor(tokens.colorStrokeFocus2),
401
+ boxShadow: `${tokens.shadow2}, 0 0 0 ${tokens.strokeWidthThin} ${tokens.colorStrokeFocus2} inset, 0 0 0 ${tokens.strokeWidthThick} ${tokens.colorNeutralForegroundOnBrand} inset`,
402
+ ':hover': {
403
+ boxShadow: `${tokens.shadow2}, 0 0 0 ${tokens.strokeWidthThin} ${tokens.colorStrokeFocus2} inset`,
404
+ ...shorthands.borderColor(tokens.colorStrokeFocus2)
405
+ }
406
+ }),
407
+ // BUGFIX: Mozilla specific styles (Mozilla BugID: 1857642)
408
+ '@supports (-moz-appearance:button)': {
409
+ ...createCustomFocusIndicatorStyle({
410
+ boxShadow: `${tokens.shadow2}, 0 0 0 ${boxShadowStrokeWidthThinMoz} ${tokens.colorStrokeFocus2} inset, 0 0 0 ${tokens.strokeWidthThick} ${tokens.colorNeutralForegroundOnBrand} inset`,
411
+ ':hover': {
412
+ boxShadow: `${tokens.shadow2}, 0 0 0 ${boxShadowStrokeWidthThinMoz} ${tokens.colorStrokeFocus2} inset`
413
+ }
414
+ })
415
+ }
416
+ },
417
+ // Size variations
418
+ small: createCustomFocusIndicatorStyle({
419
+ borderRadius: tokens.borderRadiusSmall
420
+ }),
421
+ medium: {
422
+ },
423
+ large: createCustomFocusIndicatorStyle({
424
+ borderRadius: tokens.borderRadiusLarge
425
+ })
426
+ });
427
+ const useRootIconOnlyStyles = makeStyles({
428
+ // Size variations
429
+ small: {
430
+ padding: buttonSpacingSmallWithIcon,
431
+ minWidth: '24px',
432
+ maxWidth: '24px'
433
+ },
434
+ medium: {
435
+ padding: buttonSpacingMedium,
436
+ minWidth: '32px',
437
+ maxWidth: '32px'
438
+ },
439
+ large: {
440
+ padding: buttonSpacingLargeWithIcon,
441
+ minWidth: '40px',
442
+ maxWidth: '40px'
443
+ }
444
+ });
445
+ const useIconStyles = makeStyles({
446
+ // Size variations
447
+ small: {
448
+ fontSize: '20px',
449
+ height: '20px',
450
+ width: '20px',
451
+ [iconSpacingVar]: tokens.spacingHorizontalXS
452
+ },
453
+ medium: {
454
+ },
455
+ large: {
456
+ fontSize: '24px',
457
+ height: '24px',
458
+ width: '24px',
459
+ [iconSpacingVar]: tokens.spacingHorizontalSNudge
460
+ },
461
+ // Icon position variations
462
+ before: {
463
+ marginRight: `var(${iconSpacingVar})`
464
+ },
465
+ after: {
466
+ marginLeft: `var(${iconSpacingVar})`
467
+ }
468
+ });
469
+ export const useButtonStyles_unstable = (state)=>{
470
+ 'use no memo';
471
+ const rootBaseClassName = useRootBaseClassName();
472
+ const iconBaseClassName = useIconBaseClassName();
473
+ const rootStyles = useRootStyles();
474
+ const rootDisabledStyles = useRootDisabledStyles();
475
+ const rootFocusStyles = useRootFocusStyles();
476
+ const rootIconOnlyStyles = useRootIconOnlyStyles();
477
+ const iconStyles = useIconStyles();
478
+ const { appearance, disabled, disabledFocusable, icon, iconOnly, iconPosition, shape, size } = state;
479
+ state.root.className = mergeClasses(buttonClassNames.root, rootBaseClassName, appearance && rootStyles[appearance], rootStyles[size], icon && size === 'small' && rootStyles.smallWithIcon, icon && size === 'large' && rootStyles.largeWithIcon, rootStyles[shape], // Disabled styles
480
+ (disabled || disabledFocusable) && rootDisabledStyles.base, (disabled || disabledFocusable) && rootDisabledStyles.highContrast, appearance && (disabled || disabledFocusable) && rootDisabledStyles[appearance], // Focus styles
481
+ appearance === 'primary' && rootFocusStyles.primary, rootFocusStyles[size], rootFocusStyles[shape], // Icon-only styles
482
+ iconOnly && rootIconOnlyStyles[size], // User provided class name
483
+ state.root.className);
484
+ if (state.icon) {
485
+ state.icon.className = mergeClasses(buttonClassNames.icon, iconBaseClassName, !!state.root.children && iconStyles[iconPosition], iconStyles[size], state.icon.className);
486
+ }
487
+ return state;
488
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Button/useButtonStyles.styles.ts"],"sourcesContent":["import { iconFilledClassName, iconRegularClassName } from '@fluentui/react-icons';\nimport { createCustomFocusIndicatorStyle } from '@fluentui/react-tabster';\nimport { tokens } from '@fluentui/react-theme';\nimport { shorthands, makeStyles, makeResetStyles, mergeClasses } from '@griffel/react';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport type { ButtonSlots, ButtonState } from './Button.types';\n\nexport const buttonClassNames: SlotClassNames<ButtonSlots> = {\n root: 'fui-Button',\n icon: 'fui-Button__icon',\n};\n\nconst iconSpacingVar = '--fui-Button__icon--spacing';\n\nconst buttonSpacingSmall = '3px';\nconst buttonSpacingSmallWithIcon = '1px';\nconst buttonSpacingMedium = '5px';\nconst buttonSpacingLarge = '8px';\nconst buttonSpacingLargeWithIcon = '7px';\n\n/* Firefox has box shadow sizing issue at some zoom levels\n * this will ensure the inset boxShadow is always uniform\n * without affecting other browser platforms\n */\nconst boxShadowStrokeWidthThinMoz = `calc(${tokens.strokeWidthThin} + 0.25px)`;\n\nconst useRootBaseClassName = makeResetStyles({\n alignItems: 'center',\n boxSizing: 'border-box',\n display: 'inline-flex',\n justifyContent: 'center',\n textDecorationLine: 'none',\n verticalAlign: 'middle',\n\n margin: 0,\n overflow: 'hidden',\n\n backgroundColor: tokens.colorNeutralBackground1,\n color: tokens.colorNeutralForeground1,\n border: `${tokens.strokeWidthThin} solid ${tokens.colorNeutralStroke1}`,\n\n fontFamily: tokens.fontFamilyBase,\n outlineStyle: 'none',\n\n ':hover': {\n backgroundColor: tokens.colorNeutralBackground1Hover,\n borderColor: tokens.colorNeutralStroke1Hover,\n color: tokens.colorNeutralForeground1Hover,\n\n cursor: 'pointer',\n },\n\n ':hover:active': {\n backgroundColor: tokens.colorNeutralBackground1Pressed,\n borderColor: tokens.colorNeutralStroke1Pressed,\n color: tokens.colorNeutralForeground1Pressed,\n\n outlineStyle: 'none',\n },\n\n padding: `${buttonSpacingMedium} ${tokens.spacingHorizontalM}`,\n minWidth: '96px',\n borderRadius: tokens.borderRadiusMedium,\n\n fontSize: tokens.fontSizeBase300,\n fontWeight: tokens.fontWeightSemibold,\n lineHeight: tokens.lineHeightBase300,\n\n // Transition styles\n\n transitionDuration: tokens.durationFaster,\n transitionProperty: 'background, border, color',\n transitionTimingFunction: tokens.curveEasyEase,\n\n '@media screen and (prefers-reduced-motion: reduce)': {\n transitionDuration: '0.01ms',\n },\n\n // High contrast styles\n\n '@media (forced-colors: active)': {\n ':focus': {\n borderColor: 'ButtonText',\n },\n\n ':hover': {\n backgroundColor: 'HighlightText',\n borderColor: 'Highlight',\n color: 'Highlight',\n forcedColorAdjust: 'none',\n },\n\n ':hover:active': {\n backgroundColor: 'HighlightText',\n borderColor: 'Highlight',\n color: 'Highlight',\n forcedColorAdjust: 'none',\n },\n },\n\n // Focus styles\n\n ...createCustomFocusIndicatorStyle({\n borderColor: tokens.colorStrokeFocus2,\n borderRadius: tokens.borderRadiusMedium,\n borderWidth: '1px',\n outline: `${tokens.strokeWidthThick} solid ${tokens.colorTransparentStroke}`,\n boxShadow: `0 0 0 ${tokens.strokeWidthThin} ${tokens.colorStrokeFocus2}\n inset\n `,\n zIndex: 1,\n }),\n\n // BUGFIX: Mozilla specific styles (Mozilla BugID: 1857642)\n '@supports (-moz-appearance:button)': {\n ...createCustomFocusIndicatorStyle({\n boxShadow: `0 0 0 ${boxShadowStrokeWidthThinMoz} ${tokens.colorStrokeFocus2}\n inset\n `,\n }),\n },\n});\n\nconst useIconBaseClassName = makeResetStyles({\n alignItems: 'center',\n display: 'inline-flex',\n justifyContent: 'center',\n\n fontSize: '20px',\n height: '20px',\n width: '20px',\n\n [iconSpacingVar]: tokens.spacingHorizontalSNudge,\n});\n\nconst useRootStyles = makeStyles({\n // Appearance variations\n outline: {\n backgroundColor: tokens.colorTransparentBackground,\n\n ':hover': {\n backgroundColor: tokens.colorTransparentBackgroundHover,\n },\n\n ':hover:active': {\n backgroundColor: tokens.colorTransparentBackgroundPressed,\n },\n },\n primary: {\n backgroundColor: tokens.colorBrandBackground,\n ...shorthands.borderColor('transparent'),\n color: tokens.colorNeutralForegroundOnBrand,\n\n ':hover': {\n backgroundColor: tokens.colorBrandBackgroundHover,\n ...shorthands.borderColor('transparent'),\n color: tokens.colorNeutralForegroundOnBrand,\n },\n\n ':hover:active': {\n backgroundColor: tokens.colorBrandBackgroundPressed,\n ...shorthands.borderColor('transparent'),\n color: tokens.colorNeutralForegroundOnBrand,\n },\n\n '@media (forced-colors: active)': {\n backgroundColor: 'Highlight',\n ...shorthands.borderColor('HighlightText'),\n color: 'HighlightText',\n forcedColorAdjust: 'none',\n\n ':hover': {\n backgroundColor: 'HighlightText',\n ...shorthands.borderColor('Highlight'),\n color: 'Highlight',\n },\n\n ':hover:active': {\n backgroundColor: 'HighlightText',\n ...shorthands.borderColor('Highlight'),\n color: 'Highlight',\n },\n },\n },\n secondary: {\n /* The secondary styles are exactly the same as the base styles. */\n },\n subtle: {\n backgroundColor: tokens.colorSubtleBackground,\n ...shorthands.borderColor('transparent'),\n color: tokens.colorNeutralForeground2,\n\n ':hover': {\n backgroundColor: tokens.colorSubtleBackgroundHover,\n ...shorthands.borderColor('transparent'),\n color: tokens.colorNeutralForeground2Hover,\n [`& .${iconFilledClassName}`]: {\n display: 'inline',\n },\n [`& .${iconRegularClassName}`]: {\n display: 'none',\n },\n [`& .${buttonClassNames.icon}`]: {\n color: tokens.colorNeutralForeground2BrandHover,\n },\n },\n\n ':hover:active': {\n backgroundColor: tokens.colorSubtleBackgroundPressed,\n ...shorthands.borderColor('transparent'),\n color: tokens.colorNeutralForeground2Pressed,\n [`& .${iconFilledClassName}`]: {\n display: 'inline',\n },\n [`& .${iconRegularClassName}`]: {\n display: 'none',\n },\n [`& .${buttonClassNames.icon}`]: {\n color: tokens.colorNeutralForeground2BrandPressed,\n },\n },\n\n '@media (forced-colors: active)': {\n ':hover': {\n color: 'Highlight',\n\n [`& .${buttonClassNames.icon}`]: {\n color: 'Highlight',\n },\n },\n ':hover:active': {\n color: 'Highlight',\n\n [`& .${buttonClassNames.icon}`]: {\n color: 'Highlight',\n },\n },\n },\n },\n transparent: {\n backgroundColor: tokens.colorTransparentBackground,\n ...shorthands.borderColor('transparent'),\n color: tokens.colorNeutralForeground2,\n\n ':hover': {\n backgroundColor: tokens.colorTransparentBackgroundHover,\n ...shorthands.borderColor('transparent'),\n color: tokens.colorNeutralForeground2BrandHover,\n [`& .${iconFilledClassName}`]: {\n display: 'inline',\n },\n [`& .${iconRegularClassName}`]: {\n display: 'none',\n },\n },\n\n ':hover:active': {\n backgroundColor: tokens.colorTransparentBackgroundPressed,\n ...shorthands.borderColor('transparent'),\n color: tokens.colorNeutralForeground2BrandPressed,\n [`& .${iconFilledClassName}`]: {\n display: 'inline',\n },\n [`& .${iconRegularClassName}`]: {\n display: 'none',\n },\n },\n\n '@media (forced-colors: active)': {\n ':hover': {\n backgroundColor: tokens.colorTransparentBackground,\n color: 'Highlight',\n },\n ':hover:active': {\n backgroundColor: tokens.colorTransparentBackground,\n color: 'Highlight',\n },\n },\n },\n\n // Shape variations\n circular: { borderRadius: tokens.borderRadiusCircular },\n rounded: {\n /* The borderRadius rounded styles are handled in the size variations */\n },\n square: { borderRadius: tokens.borderRadiusNone },\n\n // Size variations\n small: {\n minWidth: '64px',\n padding: `${buttonSpacingSmall} ${tokens.spacingHorizontalS}`,\n borderRadius: tokens.borderRadiusMedium,\n\n fontSize: tokens.fontSizeBase200,\n fontWeight: tokens.fontWeightRegular,\n lineHeight: tokens.lineHeightBase200,\n },\n smallWithIcon: {\n paddingBottom: buttonSpacingSmallWithIcon,\n paddingTop: buttonSpacingSmallWithIcon,\n },\n medium: {\n /* defined in base styles */\n },\n large: {\n minWidth: '96px',\n padding: `${buttonSpacingLarge} ${tokens.spacingHorizontalL}`,\n borderRadius: tokens.borderRadiusMedium,\n\n fontSize: tokens.fontSizeBase400,\n fontWeight: tokens.fontWeightSemibold,\n lineHeight: tokens.lineHeightBase400,\n },\n largeWithIcon: {\n paddingBottom: buttonSpacingLargeWithIcon,\n paddingTop: buttonSpacingLargeWithIcon,\n },\n});\n\nconst useRootDisabledStyles = makeStyles({\n // Base styles\n base: {\n backgroundColor: tokens.colorNeutralBackgroundDisabled,\n ...shorthands.borderColor(tokens.colorNeutralStrokeDisabled),\n color: tokens.colorNeutralForegroundDisabled,\n\n cursor: 'not-allowed',\n [`& .${buttonClassNames.icon}`]: {\n color: tokens.colorNeutralForegroundDisabled,\n },\n\n ':hover': {\n backgroundColor: tokens.colorNeutralBackgroundDisabled,\n ...shorthands.borderColor(tokens.colorNeutralStrokeDisabled),\n color: tokens.colorNeutralForegroundDisabled,\n\n cursor: 'not-allowed',\n\n [`& .${iconFilledClassName}`]: {\n display: 'none',\n },\n [`& .${iconRegularClassName}`]: {\n display: 'inline',\n },\n [`& .${buttonClassNames.icon}`]: {\n color: tokens.colorNeutralForegroundDisabled,\n },\n },\n\n ':hover:active': {\n backgroundColor: tokens.colorNeutralBackgroundDisabled,\n ...shorthands.borderColor(tokens.colorNeutralStrokeDisabled),\n color: tokens.colorNeutralForegroundDisabled,\n\n cursor: 'not-allowed',\n\n [`& .${iconFilledClassName}`]: {\n display: 'none',\n },\n [`& .${iconRegularClassName}`]: {\n display: 'inline',\n },\n [`& .${buttonClassNames.icon}`]: {\n color: tokens.colorNeutralForegroundDisabled,\n },\n },\n },\n\n // High contrast styles\n highContrast: {\n '@media (forced-colors: active)': {\n backgroundColor: 'ButtonFace',\n ...shorthands.borderColor('GrayText'),\n color: 'GrayText',\n\n [`& .${buttonClassNames.icon}`]: {\n color: 'GrayText',\n },\n\n ':focus': {\n ...shorthands.borderColor('GrayText'),\n },\n\n ':hover': {\n backgroundColor: 'ButtonFace',\n ...shorthands.borderColor('GrayText'),\n color: 'GrayText',\n\n [`& .${buttonClassNames.icon}`]: {\n color: 'GrayText',\n },\n },\n\n ':hover:active': {\n backgroundColor: 'ButtonFace',\n ...shorthands.borderColor('GrayText'),\n color: 'GrayText',\n\n [`& .${buttonClassNames.icon}`]: {\n color: 'GrayText',\n },\n },\n },\n },\n\n // Appearance variations\n outline: {\n backgroundColor: tokens.colorTransparentBackground,\n\n ':hover': {\n backgroundColor: tokens.colorTransparentBackground,\n },\n\n ':hover:active': {\n backgroundColor: tokens.colorTransparentBackground,\n },\n },\n primary: {\n ...shorthands.borderColor('transparent'),\n\n ':hover': {\n ...shorthands.borderColor('transparent'),\n },\n\n ':hover:active': {\n ...shorthands.borderColor('transparent'),\n },\n },\n secondary: {\n /* The secondary styles are exactly the same as the base styles. */\n },\n subtle: {\n backgroundColor: tokens.colorTransparentBackground,\n ...shorthands.borderColor('transparent'),\n\n ':hover': {\n backgroundColor: tokens.colorTransparentBackground,\n ...shorthands.borderColor('transparent'),\n },\n\n ':hover:active': {\n backgroundColor: tokens.colorTransparentBackground,\n ...shorthands.borderColor('transparent'),\n },\n },\n transparent: {\n backgroundColor: tokens.colorTransparentBackground,\n ...shorthands.borderColor('transparent'),\n\n ':hover': {\n backgroundColor: tokens.colorTransparentBackground,\n ...shorthands.borderColor('transparent'),\n },\n\n ':hover:active': {\n backgroundColor: tokens.colorTransparentBackground,\n ...shorthands.borderColor('transparent'),\n },\n },\n});\n\nconst useRootFocusStyles = makeStyles({\n // Shape variations\n circular: createCustomFocusIndicatorStyle({ borderRadius: tokens.borderRadiusCircular }),\n rounded: {\n /* The rounded styles are exactly the same as the base styles. */\n },\n square: createCustomFocusIndicatorStyle({ borderRadius: tokens.borderRadiusNone }),\n\n // Primary styles\n primary: {\n ...createCustomFocusIndicatorStyle({\n ...shorthands.borderColor(tokens.colorStrokeFocus2),\n boxShadow: `${tokens.shadow2}, 0 0 0 ${tokens.strokeWidthThin} ${tokens.colorStrokeFocus2} inset, 0 0 0 ${tokens.strokeWidthThick} ${tokens.colorNeutralForegroundOnBrand} inset`,\n ':hover': {\n boxShadow: `${tokens.shadow2}, 0 0 0 ${tokens.strokeWidthThin} ${tokens.colorStrokeFocus2} inset`,\n ...shorthands.borderColor(tokens.colorStrokeFocus2),\n },\n }),\n\n // BUGFIX: Mozilla specific styles (Mozilla BugID: 1857642)\n '@supports (-moz-appearance:button)': {\n ...createCustomFocusIndicatorStyle({\n boxShadow: `${tokens.shadow2}, 0 0 0 ${boxShadowStrokeWidthThinMoz} ${tokens.colorStrokeFocus2} inset, 0 0 0 ${tokens.strokeWidthThick} ${tokens.colorNeutralForegroundOnBrand} inset`,\n ':hover': {\n boxShadow: `${tokens.shadow2}, 0 0 0 ${boxShadowStrokeWidthThinMoz} ${tokens.colorStrokeFocus2} inset`,\n },\n }),\n },\n },\n\n // Size variations\n small: createCustomFocusIndicatorStyle({ borderRadius: tokens.borderRadiusSmall }),\n medium: {\n /* defined in base styles */\n },\n large: createCustomFocusIndicatorStyle({ borderRadius: tokens.borderRadiusLarge }),\n});\n\nconst useRootIconOnlyStyles = makeStyles({\n // Size variations\n small: {\n padding: buttonSpacingSmallWithIcon,\n\n minWidth: '24px',\n maxWidth: '24px',\n },\n medium: {\n padding: buttonSpacingMedium,\n\n minWidth: '32px',\n maxWidth: '32px',\n },\n large: {\n padding: buttonSpacingLargeWithIcon,\n\n minWidth: '40px',\n maxWidth: '40px',\n },\n});\n\nconst useIconStyles = makeStyles({\n // Size variations\n small: {\n fontSize: '20px',\n height: '20px',\n width: '20px',\n\n [iconSpacingVar]: tokens.spacingHorizontalXS,\n },\n medium: {\n /* defined in base styles */\n },\n large: {\n fontSize: '24px',\n height: '24px',\n width: '24px',\n\n [iconSpacingVar]: tokens.spacingHorizontalSNudge,\n },\n\n // Icon position variations\n before: {\n marginRight: `var(${iconSpacingVar})`,\n },\n after: {\n marginLeft: `var(${iconSpacingVar})`,\n },\n});\n\nexport const useButtonStyles_unstable = (state: ButtonState): ButtonState => {\n 'use no memo';\n\n const rootBaseClassName = useRootBaseClassName();\n const iconBaseClassName = useIconBaseClassName();\n\n const rootStyles = useRootStyles();\n const rootDisabledStyles = useRootDisabledStyles();\n const rootFocusStyles = useRootFocusStyles();\n const rootIconOnlyStyles = useRootIconOnlyStyles();\n const iconStyles = useIconStyles();\n\n const { appearance, disabled, disabledFocusable, icon, iconOnly, iconPosition, shape, size } = state;\n\n state.root.className = mergeClasses(\n buttonClassNames.root,\n rootBaseClassName,\n\n appearance && rootStyles[appearance],\n\n rootStyles[size],\n icon && size === 'small' && rootStyles.smallWithIcon,\n icon && size === 'large' && rootStyles.largeWithIcon,\n rootStyles[shape],\n\n // Disabled styles\n (disabled || disabledFocusable) && rootDisabledStyles.base,\n (disabled || disabledFocusable) && rootDisabledStyles.highContrast,\n appearance && (disabled || disabledFocusable) && rootDisabledStyles[appearance],\n\n // Focus styles\n appearance === 'primary' && rootFocusStyles.primary,\n rootFocusStyles[size],\n rootFocusStyles[shape],\n\n // Icon-only styles\n iconOnly && rootIconOnlyStyles[size],\n\n // User provided class name\n state.root.className,\n );\n\n if (state.icon) {\n state.icon.className = mergeClasses(\n buttonClassNames.icon,\n iconBaseClassName,\n !!state.root.children && iconStyles[iconPosition],\n iconStyles[size],\n state.icon.className,\n );\n }\n\n return state;\n};\n"],"names":["iconFilledClassName","iconRegularClassName","createCustomFocusIndicatorStyle","tokens","shorthands","makeStyles","makeResetStyles","mergeClasses","buttonClassNames","root","icon","iconSpacingVar","buttonSpacingSmall","buttonSpacingSmallWithIcon","buttonSpacingMedium","buttonSpacingLarge","buttonSpacingLargeWithIcon","boxShadowStrokeWidthThinMoz","strokeWidthThin","useRootBaseClassName","alignItems","boxSizing","display","justifyContent","textDecorationLine","verticalAlign","margin","overflow","backgroundColor","colorNeutralBackground1","color","colorNeutralForeground1","border","colorNeutralStroke1","fontFamily","fontFamilyBase","outlineStyle","colorNeutralBackground1Hover","borderColor","colorNeutralStroke1Hover","colorNeutralForeground1Hover","cursor","colorNeutralBackground1Pressed","colorNeutralStroke1Pressed","colorNeutralForeground1Pressed","padding","spacingHorizontalM","minWidth","borderRadius","borderRadiusMedium","fontSize","fontSizeBase300","fontWeight","fontWeightSemibold","lineHeight","lineHeightBase300","transitionDuration","durationFaster","transitionProperty","transitionTimingFunction","curveEasyEase","forcedColorAdjust","colorStrokeFocus2","borderWidth","outline","strokeWidthThick","colorTransparentStroke","boxShadow","zIndex","useIconBaseClassName","height","width","spacingHorizontalSNudge","useRootStyles","colorTransparentBackground","colorTransparentBackgroundHover","colorTransparentBackgroundPressed","primary","colorBrandBackground","colorNeutralForegroundOnBrand","colorBrandBackgroundHover","colorBrandBackgroundPressed","secondary","subtle","colorSubtleBackground","colorNeutralForeground2","colorSubtleBackgroundHover","colorNeutralForeground2Hover","colorNeutralForeground2BrandHover","colorSubtleBackgroundPressed","colorNeutralForeground2Pressed","colorNeutralForeground2BrandPressed","transparent","circular","borderRadiusCircular","rounded","square","borderRadiusNone","small","spacingHorizontalS","fontSizeBase200","fontWeightRegular","lineHeightBase200","smallWithIcon","paddingBottom","paddingTop","medium","large","spacingHorizontalL","fontSizeBase400","lineHeightBase400","largeWithIcon","useRootDisabledStyles","base","colorNeutralBackgroundDisabled","colorNeutralStrokeDisabled","colorNeutralForegroundDisabled","highContrast","useRootFocusStyles","shadow2","borderRadiusSmall","borderRadiusLarge","useRootIconOnlyStyles","maxWidth","useIconStyles","spacingHorizontalXS","before","marginRight","after","marginLeft","useButtonStyles_unstable","state","rootBaseClassName","iconBaseClassName","rootStyles","rootDisabledStyles","rootFocusStyles","rootIconOnlyStyles","iconStyles","appearance","disabled","disabledFocusable","iconOnly","iconPosition","shape","size","className","children"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,mBAAmB,EAAEC,oBAAoB,QAAQ,wBAAwB;AAClF,SAASC,+BAA+B,QAAQ,0BAA0B;AAC1E,SAASC,MAAM,QAAQ,wBAAwB;AAC/C,SAASC,UAAU,EAAEC,UAAU,EAAEC,eAAe,EAAEC,YAAY,QAAQ,iBAAiB;AAIvF,OAAO,MAAMC,mBAAgD;IAC3DC,MAAM;IACNC,MAAM;AACR,EAAE;AAEF,MAAMC,iBAAiB;AAEvB,MAAMC,qBAAqB;AAC3B,MAAMC,6BAA6B;AACnC,MAAMC,sBAAsB;AAC5B,MAAMC,qBAAqB;AAC3B,MAAMC,6BAA6B;AAEnC;;;CAGC,GACD,MAAMC,8BAA8B,CAAC,KAAK,EAAEd,OAAOe,eAAe,CAAC,UAAU,CAAC;AAE9E,MAAMC,uBAAuBb,gBAAgB;IAC3Cc,YAAY;IACZC,WAAW;IACXC,SAAS;IACTC,gBAAgB;IAChBC,oBAAoB;IACpBC,eAAe;IAEfC,QAAQ;IACRC,UAAU;IAEVC,iBAAiBzB,OAAO0B,uBAAuB;IAC/CC,OAAO3B,OAAO4B,uBAAuB;IACrCC,QAAQ,CAAC,EAAE7B,OAAOe,eAAe,CAAC,OAAO,EAAEf,OAAO8B,mBAAmB,CAAC,CAAC;IAEvEC,YAAY/B,OAAOgC,cAAc;IACjCC,cAAc;IAEd,UAAU;QACRR,iBAAiBzB,OAAOkC,4BAA4B;QACpDC,aAAanC,OAAOoC,wBAAwB;QAC5CT,OAAO3B,OAAOqC,4BAA4B;QAE1CC,QAAQ;IACV;IAEA,iBAAiB;QACfb,iBAAiBzB,OAAOuC,8BAA8B;QACtDJ,aAAanC,OAAOwC,0BAA0B;QAC9Cb,OAAO3B,OAAOyC,8BAA8B;QAE5CR,cAAc;IAChB;IAEAS,SAAS,CAAC,EAAE/B,oBAAoB,CAAC,EAAEX,OAAO2C,kBAAkB,CAAC,CAAC;IAC9DC,UAAU;IACVC,cAAc7C,OAAO8C,kBAAkB;IAEvCC,UAAU/C,OAAOgD,eAAe;IAChCC,YAAYjD,OAAOkD,kBAAkB;IACrCC,YAAYnD,OAAOoD,iBAAiB;IAEpC,oBAAoB;IAEpBC,oBAAoBrD,OAAOsD,cAAc;IACzCC,oBAAoB;IACpBC,0BAA0BxD,OAAOyD,aAAa;IAE9C,sDAAsD;QACpDJ,oBAAoB;IACtB;IAEA,uBAAuB;IAEvB,kCAAkC;QAChC,UAAU;YACRlB,aAAa;QACf;QAEA,UAAU;YACRV,iBAAiB;YACjBU,aAAa;YACbR,OAAO;YACP+B,mBAAmB;QACrB;QAEA,iBAAiB;YACfjC,iBAAiB;YACjBU,aAAa;YACbR,OAAO;YACP+B,mBAAmB;QACrB;IACF;IAEA,eAAe;IAEf,GAAG3D,gCAAgC;QACjCoC,aAAanC,OAAO2D,iBAAiB;QACrCd,cAAc7C,OAAO8C,kBAAkB;QACvCc,aAAa;QACbC,SAAS,CAAC,EAAE7D,OAAO8D,gBAAgB,CAAC,OAAO,EAAE9D,OAAO+D,sBAAsB,CAAC,CAAC;QAC5EC,WAAW,CAAC,MAAM,EAAEhE,OAAOe,eAAe,CAAC,CAAC,EAAEf,OAAO2D,iBAAiB,CAAC;;IAEvE,CAAC;QACDM,QAAQ;IACV,EAAE;IAEF,2DAA2D;IAC3D,sCAAsC;QACpC,GAAGlE,gCAAgC;YACjCiE,WAAW,CAAC,MAAM,EAAElD,4BAA4B,CAAC,EAAEd,OAAO2D,iBAAiB,CAAC;;IAE9E,CAAC;QACD,EAAE;IACJ;AACF;AAEA,MAAMO,uBAAuB/D,gBAAgB;IAC3Cc,YAAY;IACZE,SAAS;IACTC,gBAAgB;IAEhB2B,UAAU;IACVoB,QAAQ;IACRC,OAAO;IAEP,CAAC5D,eAAe,EAAER,OAAOqE,uBAAuB;AAClD;AAEA,MAAMC,gBAAgBpE,WAAW;IAC/B,wBAAwB;IACxB2D,SAAS;QACPpC,iBAAiBzB,OAAOuE,0BAA0B;QAElD,UAAU;YACR9C,iBAAiBzB,OAAOwE,+BAA+B;QACzD;QAEA,iBAAiB;YACf/C,iBAAiBzB,OAAOyE,iCAAiC;QAC3D;IACF;IACAC,SAAS;QACPjD,iBAAiBzB,OAAO2E,oBAAoB;QAC5C,GAAG1E,WAAWkC,WAAW,CAAC,cAAc;QACxCR,OAAO3B,OAAO4E,6BAA6B;QAE3C,UAAU;YACRnD,iBAAiBzB,OAAO6E,yBAAyB;YACjD,GAAG5E,WAAWkC,WAAW,CAAC,cAAc;YACxCR,OAAO3B,OAAO4E,6BAA6B;QAC7C;QAEA,iBAAiB;YACfnD,iBAAiBzB,OAAO8E,2BAA2B;YACnD,GAAG7E,WAAWkC,WAAW,CAAC,cAAc;YACxCR,OAAO3B,OAAO4E,6BAA6B;QAC7C;QAEA,kCAAkC;YAChCnD,iBAAiB;YACjB,GAAGxB,WAAWkC,WAAW,CAAC,gBAAgB;YAC1CR,OAAO;YACP+B,mBAAmB;YAEnB,UAAU;gBACRjC,iBAAiB;gBACjB,GAAGxB,WAAWkC,WAAW,CAAC,YAAY;gBACtCR,OAAO;YACT;YAEA,iBAAiB;gBACfF,iBAAiB;gBACjB,GAAGxB,WAAWkC,WAAW,CAAC,YAAY;gBACtCR,OAAO;YACT;QACF;IACF;IACAoD,WAAW;IAEX;IACAC,QAAQ;QACNvD,iBAAiBzB,OAAOiF,qBAAqB;QAC7C,GAAGhF,WAAWkC,WAAW,CAAC,cAAc;QACxCR,OAAO3B,OAAOkF,uBAAuB;QAErC,UAAU;YACRzD,iBAAiBzB,OAAOmF,0BAA0B;YAClD,GAAGlF,WAAWkC,WAAW,CAAC,cAAc;YACxCR,OAAO3B,OAAOoF,4BAA4B;YAC1C,CAAC,CAAC,GAAG,EAAEvF,oBAAoB,CAAC,CAAC,EAAE;gBAC7BsB,SAAS;YACX;YACA,CAAC,CAAC,GAAG,EAAErB,qBAAqB,CAAC,CAAC,EAAE;gBAC9BqB,SAAS;YACX;YACA,CAAC,CAAC,GAAG,EAAEd,iBAAiBE,IAAI,CAAC,CAAC,CAAC,EAAE;gBAC/BoB,OAAO3B,OAAOqF,iCAAiC;YACjD;QACF;QAEA,iBAAiB;YACf5D,iBAAiBzB,OAAOsF,4BAA4B;YACpD,GAAGrF,WAAWkC,WAAW,CAAC,cAAc;YACxCR,OAAO3B,OAAOuF,8BAA8B;YAC5C,CAAC,CAAC,GAAG,EAAE1F,oBAAoB,CAAC,CAAC,EAAE;gBAC7BsB,SAAS;YACX;YACA,CAAC,CAAC,GAAG,EAAErB,qBAAqB,CAAC,CAAC,EAAE;gBAC9BqB,SAAS;YACX;YACA,CAAC,CAAC,GAAG,EAAEd,iBAAiBE,IAAI,CAAC,CAAC,CAAC,EAAE;gBAC/BoB,OAAO3B,OAAOwF,mCAAmC;YACnD;QACF;QAEA,kCAAkC;YAChC,UAAU;gBACR7D,OAAO;gBAEP,CAAC,CAAC,GAAG,EAAEtB,iBAAiBE,IAAI,CAAC,CAAC,CAAC,EAAE;oBAC/BoB,OAAO;gBACT;YACF;YACA,iBAAiB;gBACfA,OAAO;gBAEP,CAAC,CAAC,GAAG,EAAEtB,iBAAiBE,IAAI,CAAC,CAAC,CAAC,EAAE;oBAC/BoB,OAAO;gBACT;YACF;QACF;IACF;IACA8D,aAAa;QACXhE,iBAAiBzB,OAAOuE,0BAA0B;QAClD,GAAGtE,WAAWkC,WAAW,CAAC,cAAc;QACxCR,OAAO3B,OAAOkF,uBAAuB;QAErC,UAAU;YACRzD,iBAAiBzB,OAAOwE,+BAA+B;YACvD,GAAGvE,WAAWkC,WAAW,CAAC,cAAc;YACxCR,OAAO3B,OAAOqF,iCAAiC;YAC/C,CAAC,CAAC,GAAG,EAAExF,oBAAoB,CAAC,CAAC,EAAE;gBAC7BsB,SAAS;YACX;YACA,CAAC,CAAC,GAAG,EAAErB,qBAAqB,CAAC,CAAC,EAAE;gBAC9BqB,SAAS;YACX;QACF;QAEA,iBAAiB;YACfM,iBAAiBzB,OAAOyE,iCAAiC;YACzD,GAAGxE,WAAWkC,WAAW,CAAC,cAAc;YACxCR,OAAO3B,OAAOwF,mCAAmC;YACjD,CAAC,CAAC,GAAG,EAAE3F,oBAAoB,CAAC,CAAC,EAAE;gBAC7BsB,SAAS;YACX;YACA,CAAC,CAAC,GAAG,EAAErB,qBAAqB,CAAC,CAAC,EAAE;gBAC9BqB,SAAS;YACX;QACF;QAEA,kCAAkC;YAChC,UAAU;gBACRM,iBAAiBzB,OAAOuE,0BAA0B;gBAClD5C,OAAO;YACT;YACA,iBAAiB;gBACfF,iBAAiBzB,OAAOuE,0BAA0B;gBAClD5C,OAAO;YACT;QACF;IACF;IAEA,mBAAmB;IACnB+D,UAAU;QAAE7C,cAAc7C,OAAO2F,oBAAoB;IAAC;IACtDC,SAAS;IAET;IACAC,QAAQ;QAAEhD,cAAc7C,OAAO8F,gBAAgB;IAAC;IAEhD,kBAAkB;IAClBC,OAAO;QACLnD,UAAU;QACVF,SAAS,CAAC,EAAEjC,mBAAmB,CAAC,EAAET,OAAOgG,kBAAkB,CAAC,CAAC;QAC7DnD,cAAc7C,OAAO8C,kBAAkB;QAEvCC,UAAU/C,OAAOiG,eAAe;QAChChD,YAAYjD,OAAOkG,iBAAiB;QACpC/C,YAAYnD,OAAOmG,iBAAiB;IACtC;IACAC,eAAe;QACbC,eAAe3F;QACf4F,YAAY5F;IACd;IACA6F,QAAQ;IAER;IACAC,OAAO;QACL5D,UAAU;QACVF,SAAS,CAAC,EAAE9B,mBAAmB,CAAC,EAAEZ,OAAOyG,kBAAkB,CAAC,CAAC;QAC7D5D,cAAc7C,OAAO8C,kBAAkB;QAEvCC,UAAU/C,OAAO0G,eAAe;QAChCzD,YAAYjD,OAAOkD,kBAAkB;QACrCC,YAAYnD,OAAO2G,iBAAiB;IACtC;IACAC,eAAe;QACbP,eAAexF;QACfyF,YAAYzF;IACd;AACF;AAEA,MAAMgG,wBAAwB3G,WAAW;IACvC,cAAc;IACd4G,MAAM;QACJrF,iBAAiBzB,OAAO+G,8BAA8B;QACtD,GAAG9G,WAAWkC,WAAW,CAACnC,OAAOgH,0BAA0B,CAAC;QAC5DrF,OAAO3B,OAAOiH,8BAA8B;QAE5C3E,QAAQ;QACR,CAAC,CAAC,GAAG,EAAEjC,iBAAiBE,IAAI,CAAC,CAAC,CAAC,EAAE;YAC/BoB,OAAO3B,OAAOiH,8BAA8B;QAC9C;QAEA,UAAU;YACRxF,iBAAiBzB,OAAO+G,8BAA8B;YACtD,GAAG9G,WAAWkC,WAAW,CAACnC,OAAOgH,0BAA0B,CAAC;YAC5DrF,OAAO3B,OAAOiH,8BAA8B;YAE5C3E,QAAQ;YAER,CAAC,CAAC,GAAG,EAAEzC,oBAAoB,CAAC,CAAC,EAAE;gBAC7BsB,SAAS;YACX;YACA,CAAC,CAAC,GAAG,EAAErB,qBAAqB,CAAC,CAAC,EAAE;gBAC9BqB,SAAS;YACX;YACA,CAAC,CAAC,GAAG,EAAEd,iBAAiBE,IAAI,CAAC,CAAC,CAAC,EAAE;gBAC/BoB,OAAO3B,OAAOiH,8BAA8B;YAC9C;QACF;QAEA,iBAAiB;YACfxF,iBAAiBzB,OAAO+G,8BAA8B;YACtD,GAAG9G,WAAWkC,WAAW,CAACnC,OAAOgH,0BAA0B,CAAC;YAC5DrF,OAAO3B,OAAOiH,8BAA8B;YAE5C3E,QAAQ;YAER,CAAC,CAAC,GAAG,EAAEzC,oBAAoB,CAAC,CAAC,EAAE;gBAC7BsB,SAAS;YACX;YACA,CAAC,CAAC,GAAG,EAAErB,qBAAqB,CAAC,CAAC,EAAE;gBAC9BqB,SAAS;YACX;YACA,CAAC,CAAC,GAAG,EAAEd,iBAAiBE,IAAI,CAAC,CAAC,CAAC,EAAE;gBAC/BoB,OAAO3B,OAAOiH,8BAA8B;YAC9C;QACF;IACF;IAEA,uBAAuB;IACvBC,cAAc;QACZ,kCAAkC;YAChCzF,iBAAiB;YACjB,GAAGxB,WAAWkC,WAAW,CAAC,WAAW;YACrCR,OAAO;YAEP,CAAC,CAAC,GAAG,EAAEtB,iBAAiBE,IAAI,CAAC,CAAC,CAAC,EAAE;gBAC/BoB,OAAO;YACT;YAEA,UAAU;gBACR,GAAG1B,WAAWkC,WAAW,CAAC,WAAW;YACvC;YAEA,UAAU;gBACRV,iBAAiB;gBACjB,GAAGxB,WAAWkC,WAAW,CAAC,WAAW;gBACrCR,OAAO;gBAEP,CAAC,CAAC,GAAG,EAAEtB,iBAAiBE,IAAI,CAAC,CAAC,CAAC,EAAE;oBAC/BoB,OAAO;gBACT;YACF;YAEA,iBAAiB;gBACfF,iBAAiB;gBACjB,GAAGxB,WAAWkC,WAAW,CAAC,WAAW;gBACrCR,OAAO;gBAEP,CAAC,CAAC,GAAG,EAAEtB,iBAAiBE,IAAI,CAAC,CAAC,CAAC,EAAE;oBAC/BoB,OAAO;gBACT;YACF;QACF;IACF;IAEA,wBAAwB;IACxBkC,SAAS;QACPpC,iBAAiBzB,OAAOuE,0BAA0B;QAElD,UAAU;YACR9C,iBAAiBzB,OAAOuE,0BAA0B;QACpD;QAEA,iBAAiB;YACf9C,iBAAiBzB,OAAOuE,0BAA0B;QACpD;IACF;IACAG,SAAS;QACP,GAAGzE,WAAWkC,WAAW,CAAC,cAAc;QAExC,UAAU;YACR,GAAGlC,WAAWkC,WAAW,CAAC,cAAc;QAC1C;QAEA,iBAAiB;YACf,GAAGlC,WAAWkC,WAAW,CAAC,cAAc;QAC1C;IACF;IACA4C,WAAW;IAEX;IACAC,QAAQ;QACNvD,iBAAiBzB,OAAOuE,0BAA0B;QAClD,GAAGtE,WAAWkC,WAAW,CAAC,cAAc;QAExC,UAAU;YACRV,iBAAiBzB,OAAOuE,0BAA0B;YAClD,GAAGtE,WAAWkC,WAAW,CAAC,cAAc;QAC1C;QAEA,iBAAiB;YACfV,iBAAiBzB,OAAOuE,0BAA0B;YAClD,GAAGtE,WAAWkC,WAAW,CAAC,cAAc;QAC1C;IACF;IACAsD,aAAa;QACXhE,iBAAiBzB,OAAOuE,0BAA0B;QAClD,GAAGtE,WAAWkC,WAAW,CAAC,cAAc;QAExC,UAAU;YACRV,iBAAiBzB,OAAOuE,0BAA0B;YAClD,GAAGtE,WAAWkC,WAAW,CAAC,cAAc;QAC1C;QAEA,iBAAiB;YACfV,iBAAiBzB,OAAOuE,0BAA0B;YAClD,GAAGtE,WAAWkC,WAAW,CAAC,cAAc;QAC1C;IACF;AACF;AAEA,MAAMgF,qBAAqBjH,WAAW;IACpC,mBAAmB;IACnBwF,UAAU3F,gCAAgC;QAAE8C,cAAc7C,OAAO2F,oBAAoB;IAAC;IACtFC,SAAS;IAET;IACAC,QAAQ9F,gCAAgC;QAAE8C,cAAc7C,OAAO8F,gBAAgB;IAAC;IAEhF,iBAAiB;IACjBpB,SAAS;QACP,GAAG3E,gCAAgC;YACjC,GAAGE,WAAWkC,WAAW,CAACnC,OAAO2D,iBAAiB,CAAC;YACnDK,WAAW,CAAC,EAAEhE,OAAOoH,OAAO,CAAC,QAAQ,EAAEpH,OAAOe,eAAe,CAAC,CAAC,EAAEf,OAAO2D,iBAAiB,CAAC,eAAe,EAAE3D,OAAO8D,gBAAgB,CAAC,CAAC,EAAE9D,OAAO4E,6BAA6B,CAAC,MAAM,CAAC;YAClL,UAAU;gBACRZ,WAAW,CAAC,EAAEhE,OAAOoH,OAAO,CAAC,QAAQ,EAAEpH,OAAOe,eAAe,CAAC,CAAC,EAAEf,OAAO2D,iBAAiB,CAAC,MAAM,CAAC;gBACjG,GAAG1D,WAAWkC,WAAW,CAACnC,OAAO2D,iBAAiB,CAAC;YACrD;QACF,EAAE;QAEF,2DAA2D;QAC3D,sCAAsC;YACpC,GAAG5D,gCAAgC;gBACjCiE,WAAW,CAAC,EAAEhE,OAAOoH,OAAO,CAAC,QAAQ,EAAEtG,4BAA4B,CAAC,EAAEd,OAAO2D,iBAAiB,CAAC,eAAe,EAAE3D,OAAO8D,gBAAgB,CAAC,CAAC,EAAE9D,OAAO4E,6BAA6B,CAAC,MAAM,CAAC;gBACvL,UAAU;oBACRZ,WAAW,CAAC,EAAEhE,OAAOoH,OAAO,CAAC,QAAQ,EAAEtG,4BAA4B,CAAC,EAAEd,OAAO2D,iBAAiB,CAAC,MAAM,CAAC;gBACxG;YACF,EAAE;QACJ;IACF;IAEA,kBAAkB;IAClBoC,OAAOhG,gCAAgC;QAAE8C,cAAc7C,OAAOqH,iBAAiB;IAAC;IAChFd,QAAQ;IAER;IACAC,OAAOzG,gCAAgC;QAAE8C,cAAc7C,OAAOsH,iBAAiB;IAAC;AAClF;AAEA,MAAMC,wBAAwBrH,WAAW;IACvC,kBAAkB;IAClB6F,OAAO;QACLrD,SAAShC;QAETkC,UAAU;QACV4E,UAAU;IACZ;IACAjB,QAAQ;QACN7D,SAAS/B;QAETiC,UAAU;QACV4E,UAAU;IACZ;IACAhB,OAAO;QACL9D,SAAS7B;QAET+B,UAAU;QACV4E,UAAU;IACZ;AACF;AAEA,MAAMC,gBAAgBvH,WAAW;IAC/B,kBAAkB;IAClB6F,OAAO;QACLhD,UAAU;QACVoB,QAAQ;QACRC,OAAO;QAEP,CAAC5D,eAAe,EAAER,OAAO0H,mBAAmB;IAC9C;IACAnB,QAAQ;IAER;IACAC,OAAO;QACLzD,UAAU;QACVoB,QAAQ;QACRC,OAAO;QAEP,CAAC5D,eAAe,EAAER,OAAOqE,uBAAuB;IAClD;IAEA,2BAA2B;IAC3BsD,QAAQ;QACNC,aAAa,CAAC,IAAI,EAAEpH,eAAe,CAAC,CAAC;IACvC;IACAqH,OAAO;QACLC,YAAY,CAAC,IAAI,EAAEtH,eAAe,CAAC,CAAC;IACtC;AACF;AAEA,OAAO,MAAMuH,2BAA2B,CAACC;IACvC;IAEA,MAAMC,oBAAoBjH;IAC1B,MAAMkH,oBAAoBhE;IAE1B,MAAMiE,aAAa7D;IACnB,MAAM8D,qBAAqBvB;IAC3B,MAAMwB,kBAAkBlB;IACxB,MAAMmB,qBAAqBf;IAC3B,MAAMgB,aAAad;IAEnB,MAAM,EAAEe,UAAU,EAAEC,QAAQ,EAAEC,iBAAiB,EAAEnI,IAAI,EAAEoI,QAAQ,EAAEC,YAAY,EAAEC,KAAK,EAAEC,IAAI,EAAE,GAAGd;IAE/FA,MAAM1H,IAAI,CAACyI,SAAS,GAAG3I,aACrBC,iBAAiBC,IAAI,EACrB2H,mBAEAO,cAAcL,UAAU,CAACK,WAAW,EAEpCL,UAAU,CAACW,KAAK,EAChBvI,QAAQuI,SAAS,WAAWX,WAAW/B,aAAa,EACpD7F,QAAQuI,SAAS,WAAWX,WAAWvB,aAAa,EACpDuB,UAAU,CAACU,MAAM,EAGjB,AADA,kBAAkB;IACjBJ,CAAAA,YAAYC,iBAAgB,KAAMN,mBAAmBtB,IAAI,EAC1D,AAAC2B,CAAAA,YAAYC,iBAAgB,KAAMN,mBAAmBlB,YAAY,EAClEsB,cAAeC,CAAAA,YAAYC,iBAAgB,KAAMN,kBAAkB,CAACI,WAAW,EAE/E,eAAe;IACfA,eAAe,aAAaH,gBAAgB3D,OAAO,EACnD2D,eAAe,CAACS,KAAK,EACrBT,eAAe,CAACQ,MAAM,EAEtB,mBAAmB;IACnBF,YAAYL,kBAAkB,CAACQ,KAAK,EAEpC,2BAA2B;IAC3Bd,MAAM1H,IAAI,CAACyI,SAAS;IAGtB,IAAIf,MAAMzH,IAAI,EAAE;QACdyH,MAAMzH,IAAI,CAACwI,SAAS,GAAG3I,aACrBC,iBAAiBE,IAAI,EACrB2H,mBACA,CAAC,CAACF,MAAM1H,IAAI,CAAC0I,QAAQ,IAAIT,UAAU,CAACK,aAAa,EACjDL,UAAU,CAACO,KAAK,EAChBd,MAAMzH,IAAI,CAACwI,SAAS;IAExB;IAEA,OAAOf;AACT,EAAE"}