@hitachivantara/uikit-react-core 5.58.3 → 5.59.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/dist/cjs/BulkActions/BulkActions.styles.cjs +13 -1
  2. package/dist/cjs/BulkActions/BulkActions.styles.cjs.map +1 -1
  3. package/dist/cjs/Button/Button.styles.cjs.map +1 -1
  4. package/dist/cjs/DropDownMenu/DropDownMenu.cjs +12 -20
  5. package/dist/cjs/DropDownMenu/DropDownMenu.cjs.map +1 -1
  6. package/dist/cjs/DropDownMenu/DropDownMenu.styles.cjs +4 -34
  7. package/dist/cjs/DropDownMenu/DropDownMenu.styles.cjs.map +1 -1
  8. package/dist/cjs/DropdownButton/DropdownButton.cjs +57 -0
  9. package/dist/cjs/DropdownButton/DropdownButton.cjs.map +1 -0
  10. package/dist/cjs/DropdownButton/DropdownButton.styles.cjs +65 -0
  11. package/dist/cjs/DropdownButton/DropdownButton.styles.cjs.map +1 -0
  12. package/dist/cjs/IconButton/IconButton.cjs +2 -1
  13. package/dist/cjs/IconButton/IconButton.cjs.map +1 -1
  14. package/dist/cjs/MultiButton/MultiButton.cjs +20 -5
  15. package/dist/cjs/MultiButton/MultiButton.cjs.map +1 -1
  16. package/dist/cjs/MultiButton/MultiButton.styles.cjs +56 -326
  17. package/dist/cjs/MultiButton/MultiButton.styles.cjs.map +1 -1
  18. package/dist/cjs/Select/Select.cjs +6 -2
  19. package/dist/cjs/Select/Select.cjs.map +1 -1
  20. package/dist/cjs/Snackbar/SnackbarContent/SnackbarContent.styles.cjs +0 -3
  21. package/dist/cjs/Snackbar/SnackbarContent/SnackbarContent.styles.cjs.map +1 -1
  22. package/dist/esm/BulkActions/BulkActions.styles.js +13 -1
  23. package/dist/esm/BulkActions/BulkActions.styles.js.map +1 -1
  24. package/dist/esm/Button/Button.styles.js.map +1 -1
  25. package/dist/esm/DropDownMenu/DropDownMenu.js +12 -20
  26. package/dist/esm/DropDownMenu/DropDownMenu.js.map +1 -1
  27. package/dist/esm/DropDownMenu/DropDownMenu.styles.js +4 -34
  28. package/dist/esm/DropDownMenu/DropDownMenu.styles.js.map +1 -1
  29. package/dist/esm/DropdownButton/DropdownButton.js +58 -0
  30. package/dist/esm/DropdownButton/DropdownButton.js.map +1 -0
  31. package/dist/esm/DropdownButton/DropdownButton.styles.js +65 -0
  32. package/dist/esm/DropdownButton/DropdownButton.styles.js.map +1 -0
  33. package/dist/esm/IconButton/IconButton.js +2 -1
  34. package/dist/esm/IconButton/IconButton.js.map +1 -1
  35. package/dist/esm/MultiButton/MultiButton.js +22 -7
  36. package/dist/esm/MultiButton/MultiButton.js.map +1 -1
  37. package/dist/esm/MultiButton/MultiButton.styles.js +56 -326
  38. package/dist/esm/MultiButton/MultiButton.styles.js.map +1 -1
  39. package/dist/esm/Select/Select.js +6 -2
  40. package/dist/esm/Select/Select.js.map +1 -1
  41. package/dist/esm/Snackbar/SnackbarContent/SnackbarContent.styles.js +0 -3
  42. package/dist/esm/Snackbar/SnackbarContent/SnackbarContent.styles.js.map +1 -1
  43. package/dist/types/index.d.ts +96 -94
  44. package/package.json +5 -5
  45. package/dist/cjs/Select/SelectButton.cjs +0 -92
  46. package/dist/cjs/Select/SelectButton.cjs.map +0 -1
  47. package/dist/esm/Select/SelectButton.js +0 -92
  48. package/dist/esm/Select/SelectButton.js.map +0 -1
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const uikitStyles = require("@hitachivantara/uikit-styles");
4
4
  const classes = require("../utils/classes.cjs");
5
+ const Button_styles = require("../Button/Button.styles.cjs");
5
6
  const DropDownMenu_styles = require("../DropDownMenu/DropDownMenu.styles.cjs");
6
7
  require("@emotion/react/jsx-runtime");
7
8
  require("react");
@@ -11,9 +12,11 @@ const { staticClasses, useClasses } = classes.createClasses("HvMultiButton", {
11
12
  display: "flex",
12
13
  alignItems: "center",
13
14
  transition: "none",
14
- background: uikitStyles.theme.colors.atmo2,
15
15
  position: "relative",
16
- zIndex: 0,
16
+ zIndex: 0
17
+ },
18
+ multiple: {
19
+ background: uikitStyles.theme.colors.atmo2,
17
20
  // prevent the focus ring to be hidden by sibling hover background
18
21
  "&>.HvIsFocusVisible": {
19
22
  zIndex: 5
@@ -92,215 +95,50 @@ const { staticClasses, useClasses } = classes.createClasses("HvMultiButton", {
92
95
  border: `solid 1px ${uikitStyles.theme.colors.atmo4}`
93
96
  }
94
97
  }
95
- },
96
- // dropdown menu styles
97
- "& $button": {
98
- [`&.${DropDownMenu_styles.staticClasses.container}`]: {
99
- width: "unset"
100
- },
101
- [`& .${DropDownMenu_styles.staticClasses.icon}`]: {
102
- borderTop: `solid 1px ${uikitStyles.theme.colors.atmo4}`,
103
- borderBottom: `solid 1px ${uikitStyles.theme.colors.atmo4}`,
104
- borderLeft: "solid 1px transparent",
105
- borderRight: "solid 1px transparent",
106
- borderRadius: 0,
107
- "&:disabled": {
108
- borderTop: `solid 1px ${uikitStyles.theme.colors.atmo4}`,
109
- borderBottom: `solid 1px ${uikitStyles.theme.colors.atmo4}`,
110
- "&:hover": {
111
- borderTop: `solid 1px ${uikitStyles.theme.colors.atmo4}`,
112
- borderBottom: `solid 1px ${uikitStyles.theme.colors.atmo4}`,
113
- borderLeft: "solid 1px transparent",
114
- borderRight: "solid 1px transparent"
115
- }
116
- }
117
- },
118
- [`& .${DropDownMenu_styles.staticClasses.iconSelected}`]: {
119
- border: `solid 1px ${uikitStyles.theme.colors.secondary}`
120
- },
121
- "&$firstButton": {
122
- [`& .${DropDownMenu_styles.staticClasses.icon}`]: {
123
- borderLeft: `solid 1px ${uikitStyles.theme.colors.atmo4}`,
124
- borderTopLeftRadius: uikitStyles.theme.radii.base,
125
- borderBottomLeftRadius: uikitStyles.theme.radii.base,
126
- "&:disabled": {
127
- borderLeft: `solid 1px ${uikitStyles.theme.colors.atmo4}`
128
- }
129
- },
130
- [`& .${DropDownMenu_styles.staticClasses.iconSelected}`]: {
131
- border: `solid 1px ${uikitStyles.theme.colors.secondary}`
132
- }
133
- },
134
- "&$lastButton": {
135
- [`& .${DropDownMenu_styles.staticClasses.icon}`]: {
136
- borderRight: `solid 1px ${uikitStyles.theme.colors.atmo4}`,
137
- borderTopRightRadius: uikitStyles.theme.radii.base,
138
- borderBottomRightRadius: uikitStyles.theme.radii.base,
139
- "&:disabled": {
140
- borderRight: `solid 1px ${uikitStyles.theme.colors.atmo4}`
141
- },
142
- "&:disabled:hover": {
143
- borderRight: `solid 1px ${uikitStyles.theme.colors.atmo4}`
144
- }
145
- },
146
- [`& .${DropDownMenu_styles.staticClasses.iconSelected}`]: {
147
- border: `solid 1px ${uikitStyles.theme.colors.secondary}`
148
- }
149
- },
150
- "&:not($firstButton) > button": {
151
- marginLeft: "-1px"
152
- }
153
98
  }
154
99
  },
155
100
  splitGroup: {
101
+ width: "fit-content",
156
102
  background: uikitStyles.theme.colors.atmo1,
103
+ // Button
157
104
  "& button$button": {
158
- marginLeft: -1,
159
- "&:disabled": {
160
- borderTop: "none",
161
- borderBottom: "none",
162
- "&:hover": {
163
- borderTop: "none",
164
- borderBottom: "none"
165
- }
166
- },
167
105
  "&$firstButton": {
168
- "&:not($selected):disabled": {
169
- borderLeft: "none",
170
- "&:hover": {
171
- borderLeft: "none"
172
- }
106
+ borderTopRightRadius: 0,
107
+ borderBottomRightRadius: 0,
108
+ "& + div$splitContainer": {
109
+ marginLeft: -1
173
110
  }
174
111
  },
175
112
  "&$lastButton": {
176
- "&:not($selected):disabled": {
177
- borderRight: "none",
178
- "&:hover": {
179
- borderRight: "none"
180
- }
181
- }
182
- },
183
- "&:not($firstButton)": {
184
- marginLeft: 0
113
+ borderTopLeftRadius: 0,
114
+ borderBottomLeftRadius: 0
185
115
  }
186
116
  },
187
- // dropdown menu styles
188
- "& $button": {
189
- marginLeft: -1,
190
- [`& .${DropDownMenu_styles.staticClasses.icon}`]: {
191
- "&:disabled": {
192
- borderTop: "none",
193
- borderBottom: "none",
194
- "&:hover": {
195
- borderTop: "none",
196
- borderBottom: "none"
197
- }
198
- }
199
- },
200
- [`& .${DropDownMenu_styles.staticClasses.iconSelected}`]: {
201
- zIndex: 2
202
- },
203
- "&$firstButton": {
204
- [`& .${DropDownMenu_styles.staticClasses.icon}`]: {
205
- "&:disabled": {
206
- borderLeft: "none",
207
- "&:hover": {
208
- borderLeft: "none"
209
- }
210
- }
211
- }
212
- },
213
- "&$lastButton": {
214
- [`& .${DropDownMenu_styles.staticClasses.icon}`]: {
215
- "&:disabled": {
216
- borderRight: "none",
217
- "&:hover": {
218
- borderRight: "none"
219
- }
220
- }
117
+ // Dropdown Menu
118
+ [`& .${DropDownMenu_styles.staticClasses.root}`]: {
119
+ "&:has($firstButton)": {
120
+ "& + div$splitContainer": {
121
+ marginRight: -1
221
122
  }
222
- },
223
- "&:not($firstButton) > button": {
224
- marginLeft: 0
225
123
  }
226
124
  },
227
- "&$secondarySubtle": {
228
- "& button$button": {
229
- borderTop: `solid 1px ${uikitStyles.theme.colors.secondary}`,
230
- borderBottom: `solid 1px ${uikitStyles.theme.colors.secondary}`,
231
- "&$firstButton": {
232
- borderLeft: `solid 1px ${uikitStyles.theme.colors.secondary}`
233
- },
234
- "&$lastButton": {
235
- borderRight: `solid 1px ${uikitStyles.theme.colors.secondary}`
236
- },
237
- "&:not($selected):disabled": {
238
- borderTop: "none",
239
- borderBottom: "none",
240
- "&:hover": {
241
- borderTop: "none",
242
- borderBottom: "none"
243
- },
244
- "&$firstButton": {
245
- "&:not($selected):disabled": {
246
- borderLeft: "none",
247
- "&:hover": {
248
- borderLeft: "none"
249
- }
250
- }
251
- },
252
- "&$lastButton": {
253
- "&:not($selected):disabled": {
254
- borderRight: "none",
255
- "&:hover": {
256
- borderRight: "none"
257
- }
258
- }
259
- }
260
- }
261
- },
262
- "& $button": {
263
- [`& .${DropDownMenu_styles.staticClasses.icon}`]: {
264
- borderTop: `solid 1px ${uikitStyles.theme.colors.secondary}`,
265
- borderBottom: `solid 1px ${uikitStyles.theme.colors.secondary}`,
266
- "&:disabled": {
267
- borderTop: "none",
268
- borderBottom: "none",
269
- "&:hover": {
270
- borderTop: "none",
271
- borderBottom: "none"
272
- }
273
- }
274
- },
275
- "&$firstButton": {
276
- [`& .${DropDownMenu_styles.staticClasses.icon}`]: {
277
- borderLeft: `solid 1px ${uikitStyles.theme.colors.secondary}`,
278
- "&:disabled": {
279
- borderLeft: "none",
280
- "&:hover": {
281
- borderLeft: "none"
282
- }
283
- }
284
- }
285
- },
286
- "&$lastButton": {
287
- [`& .${DropDownMenu_styles.staticClasses.icon}`]: {
288
- borderRight: `solid 1px ${uikitStyles.theme.colors.secondary}`,
289
- "&:disabled": {
290
- borderRight: "none",
291
- "&:hover": {
292
- borderRight: "none"
293
- }
294
- }
295
- }
296
- }
297
- }
125
+ "& $button$firstButton > button": {
126
+ marginRight: -1.5,
127
+ borderTopRightRadius: 0,
128
+ borderBottomRightRadius: 0
129
+ },
130
+ "& $button$lastButton > button": {
131
+ marginLeft: -1.5,
132
+ borderTopLeftRadius: 0,
133
+ borderBottomLeftRadius: 0
134
+ },
135
+ [`& .${DropDownMenu_styles.staticClasses.iconSelected}`]: {
136
+ zIndex: 2
298
137
  }
299
138
  },
300
- splitGroupDisabled: { background: "transparent" },
139
+ splitGroupDisabled: { background: uikitStyles.theme.colors.atmo3 },
301
140
  button: {},
302
141
  selected: {},
303
- // vertical button display Styling
304
142
  vertical: {
305
143
  flexDirection: "column",
306
144
  height: "auto",
@@ -364,149 +202,41 @@ const { staticClasses, useClasses } = classes.createClasses("HvMultiButton", {
364
202
  }
365
203
  }
366
204
  },
367
- primary: {
368
- "& button$button": {
369
- borderTop: "none",
370
- borderBottom: "none",
371
- "&$firstButton": {
372
- borderLeft: "none"
373
- },
374
- "&$lastButton": {
375
- borderRight: "none"
376
- },
377
- "&$selected": {
378
- border: `solid 1px ${uikitStyles.theme.colors.secondary}`
379
- }
380
- },
381
- // dropdown menu styles
382
- "& $button": {
383
- [`& .${DropDownMenu_styles.staticClasses.icon}`]: {
384
- borderTop: "none",
385
- borderBottom: "none"
386
- },
387
- [`& .${DropDownMenu_styles.staticClasses.iconSelected}`]: {
388
- border: `solid 1px ${uikitStyles.theme.colors.secondary}`
389
- },
390
- "&$firstButton": {
391
- [`& .${DropDownMenu_styles.staticClasses.icon}`]: {
392
- borderLeft: "none"
393
- },
394
- [`& .${DropDownMenu_styles.staticClasses.iconSelected}`]: {
395
- borderLeft: `solid 1px ${uikitStyles.theme.colors.secondary}`
396
- }
397
- },
398
- "&$lastButton": {
399
- [`& .${DropDownMenu_styles.staticClasses.icon}`]: {
400
- borderRight: "none"
401
- },
402
- [`& .${DropDownMenu_styles.staticClasses.iconSelected}`]: {
403
- borderRight: `solid 1px ${uikitStyles.theme.colors.secondary}`
404
- }
405
- }
406
- }
407
- },
408
- primarySubtle: {
409
- "& button$button": {
410
- borderTop: `solid 1px ${uikitStyles.theme.colors.primary}`,
411
- borderBottom: `solid 1px ${uikitStyles.theme.colors.primary}`,
412
- "&$firstButton": {
413
- borderLeft: `solid 1px ${uikitStyles.theme.colors.primary}`
414
- },
415
- "&$lastButton": {
416
- borderRight: `solid 1px ${uikitStyles.theme.colors.primary}`
417
- }
418
- },
419
- // dropdown menu styles
420
- "& $button": {
421
- [`& .${DropDownMenu_styles.staticClasses.icon}`]: {
422
- borderTop: `solid 1px ${uikitStyles.theme.colors.primary}`,
423
- borderBottom: `solid 1px ${uikitStyles.theme.colors.primary}`
424
- },
425
- "&$firstButton": {
426
- [`& .${DropDownMenu_styles.staticClasses.icon}`]: {
427
- borderLeft: `solid 1px ${uikitStyles.theme.colors.primary}`
428
- },
429
- [`& .${DropDownMenu_styles.staticClasses.iconSelected}`]: {
430
- border: `solid 1px ${uikitStyles.theme.colors.secondary}`
431
- }
432
- },
433
- "&$lastButton": {
434
- [`& .${DropDownMenu_styles.staticClasses.icon}`]: {
435
- borderRight: `solid 1px ${uikitStyles.theme.colors.primary}`
436
- },
437
- [`& .${DropDownMenu_styles.staticClasses.iconSelected}`]: {
438
- border: `solid 1px ${uikitStyles.theme.colors.secondary}`
439
- }
440
- }
441
- }
442
- },
443
- primaryGhost: {},
444
- secondary: {},
445
- secondarySubtle: {},
446
- secondaryGhost: {
447
- "& button$button": {
448
- "&:disabled": {
449
- background: uikitStyles.theme.colors.atmo3
450
- }
451
- },
452
- // dropdown menu styles
453
- "& $button": {
454
- [`& .${DropDownMenu_styles.staticClasses.icon}`]: {
455
- "&:disabled": {
456
- background: uikitStyles.theme.colors.atmo3
457
- }
458
- }
459
- }
460
- },
461
- firstButton: {},
462
- lastButton: {},
463
205
  split: {
464
206
  width: 1,
465
207
  height: "100%",
466
208
  background: "currentColor"
467
209
  },
468
210
  splitContainer: {
211
+ display: "flex",
212
+ justifyContent: "center",
469
213
  zIndex: 1,
470
- marginLeft: -1,
471
- width: 1,
472
- height: "100%",
214
+ width: 2,
473
215
  paddingTop: 4,
474
216
  paddingBottom: 4,
475
- color: uikitStyles.theme.colors.secondary,
476
- borderTop: `1px solid ${uikitStyles.theme.colors.atmo4}`,
477
- borderBottom: `1px solid ${uikitStyles.theme.colors.atmo4}`,
478
- "&$primary": {
479
- color: uikitStyles.theme.colors.atmo1,
480
- backgroundColor: uikitStyles.theme.colors.primary,
481
- borderTop: `1px solid ${uikitStyles.theme.colors.primary}`,
482
- borderBottom: `1px solid ${uikitStyles.theme.colors.primary}`
483
- },
484
- "&$primarySubtle": {
485
- color: uikitStyles.theme.colors.primary,
486
- borderTop: `1px solid ${uikitStyles.theme.colors.primary}`,
487
- borderBottom: `1px solid ${uikitStyles.theme.colors.primary}`
488
- },
489
- "&$primaryGhost": {
490
- color: uikitStyles.theme.colors.primary,
491
- borderTop: `1px solid ${uikitStyles.theme.colors.primary}`,
492
- borderBottom: `1px solid ${uikitStyles.theme.colors.primary}`
493
- },
494
- "&$secondarySubtle": {
495
- color: uikitStyles.theme.colors.secondary,
496
- borderTop: `1px solid ${uikitStyles.theme.colors.secondary}`,
497
- borderBottom: `1px solid ${uikitStyles.theme.colors.secondary}`
498
- },
499
- "&$secondaryGhost": {
500
- color: uikitStyles.theme.colors.secondary
501
- },
502
- "&$splitDisabled": {
503
- background: "transparent",
504
- color: uikitStyles.theme.colors.secondary_60,
505
- borderTop: "none",
506
- borderBottom: "none"
507
- }
217
+ height: "calc(32px - 2px)"
508
218
  },
509
- splitDisabled: {}
219
+ splitDisabled: {
220
+ color: uikitStyles.theme.colors.secondary_60
221
+ },
222
+ firstButton: {},
223
+ lastButton: {},
224
+ // TODO - review the need for these classes in v6
225
+ primary: {},
226
+ primarySubtle: {},
227
+ primaryGhost: {},
228
+ secondary: {},
229
+ secondarySubtle: {},
230
+ secondaryGhost: {}
231
+ });
232
+ const getSplitContainerColor = (color, type, disabled) => ({
233
+ color: Button_styles.getColoringStyle(color, type).color,
234
+ backgroundColor: disabled ? uikitStyles.theme.colors.atmo3 : type === "subtle" ? uikitStyles.theme.colors.atmo1 : "transparent"
235
+ });
236
+ const getSplitContainerHeight = (size) => ({
237
+ height: `calc(${Button_styles.getSizeStyles(size).height} - 2px)`
510
238
  });
239
+ exports.getSplitContainerColor = getSplitContainerColor;
240
+ exports.getSplitContainerHeight = getSplitContainerHeight;
511
241
  exports.staticClasses = staticClasses;
512
242
  exports.useClasses = useClasses;
@@ -1 +1 @@
1
- {"version":3,"file":"MultiButton.styles.cjs","sources":["../../../src/MultiButton/MultiButton.styles.tsx"],"sourcesContent":["import { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { dropDownMenuClasses } from \"../DropDownMenu\";\n\nimport { createClasses } from \"../utils/classes\";\n\nexport const { staticClasses, useClasses } = createClasses(\"HvMultiButton\", {\n root: {\n display: \"flex\",\n alignItems: \"center\",\n transition: \"none\",\n background: theme.colors.atmo2,\n position: \"relative\",\n zIndex: 0,\n\n // prevent the focus ring to be hidden by sibling hover background\n \"&>.HvIsFocusVisible\": {\n zIndex: 5,\n },\n\n \"& button$button\": {\n minWidth: \"unset\",\n width: \"100%\",\n maxWidth: 200,\n padding: 0,\n transition: \"none\",\n flex: \"1 0 0px\",\n borderTop: `solid 1px ${theme.colors.atmo4}`,\n borderBottom: `solid 1px ${theme.colors.atmo4}`,\n borderLeft: \"solid 1px transparent\",\n borderRight: \"solid 1px transparent\",\n borderRadius: 0,\n fontWeight: theme.typography.body.fontWeight,\n fontSize: theme.typography.body.fontSize,\n \"&:disabled\": {\n color: theme.colors.secondary_60,\n borderTop: `solid 1px ${theme.colors.atmo4}`,\n borderBottom: `solid 1px ${theme.colors.atmo4}`,\n \"&:hover\": {\n borderTop: `solid 1px ${theme.colors.atmo4}`,\n borderBottom: `solid 1px ${theme.colors.atmo4}`,\n borderLeft: \"solid 1px transparent\",\n borderRight: \"solid 1px transparent\",\n },\n },\n \"&$firstButton\": {\n borderLeft: `solid 1px ${theme.colors.atmo4}`,\n borderTopLeftRadius: theme.radii.base,\n borderBottomLeftRadius: theme.radii.base,\n \"&:disabled\": {\n borderLeft: `solid 1px ${theme.colors.atmo4}`,\n },\n },\n \"&$lastButton\": {\n borderRight: `solid 1px ${theme.colors.atmo4}`,\n borderTopRightRadius: theme.radii.base,\n borderBottomRightRadius: theme.radii.base,\n \"&:disabled\": {\n borderRight: `solid 1px ${theme.colors.atmo4}`,\n },\n \"&:disabled:hover\": {\n borderRight: `solid 1px ${theme.colors.atmo4}`,\n },\n },\n \"&:not($firstButton)\": {\n marginLeft: \"-1px\",\n },\n \"&$selected\": {\n background: theme.colors.atmo1,\n ...theme.typography.label,\n borderRadius: theme.radii.base,\n border: `solid 1px ${theme.colors.secondary}`,\n zIndex: 2,\n \"&:hover\": {\n background: theme.colors.atmo3,\n \"&:not(:disabled)\": {\n border: `solid 1px ${theme.colors.secondary}`,\n },\n \"&:disabled\": {\n border: `solid 1px ${theme.colors.atmo4}`,\n },\n },\n // prevent the focus ring to be hidden by sibling hover background\n // even when selected\n \"&.HvIsFocusVisible\": {\n zIndex: 5,\n },\n \"&:disabled\": {\n zIndex: 1,\n color: theme.colors.secondary_60,\n background: theme.colors.atmo1,\n border: `solid 1px ${theme.colors.atmo4}`,\n },\n },\n },\n\n // dropdown menu styles\n \"& $button\": {\n [`&.${dropDownMenuClasses.container}`]: {\n width: \"unset\",\n },\n [`& .${dropDownMenuClasses.icon}`]: {\n borderTop: `solid 1px ${theme.colors.atmo4}`,\n borderBottom: `solid 1px ${theme.colors.atmo4}`,\n borderLeft: \"solid 1px transparent\",\n borderRight: \"solid 1px transparent\",\n borderRadius: 0,\n \"&:disabled\": {\n borderTop: `solid 1px ${theme.colors.atmo4}`,\n borderBottom: `solid 1px ${theme.colors.atmo4}`,\n \"&:hover\": {\n borderTop: `solid 1px ${theme.colors.atmo4}`,\n borderBottom: `solid 1px ${theme.colors.atmo4}`,\n borderLeft: \"solid 1px transparent\",\n borderRight: \"solid 1px transparent\",\n },\n },\n },\n [`& .${dropDownMenuClasses.iconSelected}`]: {\n border: `solid 1px ${theme.colors.secondary}`,\n },\n \"&$firstButton\": {\n [`& .${dropDownMenuClasses.icon}`]: {\n borderLeft: `solid 1px ${theme.colors.atmo4}`,\n borderTopLeftRadius: theme.radii.base,\n borderBottomLeftRadius: theme.radii.base,\n \"&:disabled\": {\n borderLeft: `solid 1px ${theme.colors.atmo4}`,\n },\n },\n [`& .${dropDownMenuClasses.iconSelected}`]: {\n border: `solid 1px ${theme.colors.secondary}`,\n },\n },\n \"&$lastButton\": {\n [`& .${dropDownMenuClasses.icon}`]: {\n borderRight: `solid 1px ${theme.colors.atmo4}`,\n borderTopRightRadius: theme.radii.base,\n borderBottomRightRadius: theme.radii.base,\n \"&:disabled\": {\n borderRight: `solid 1px ${theme.colors.atmo4}`,\n },\n \"&:disabled:hover\": {\n borderRight: `solid 1px ${theme.colors.atmo4}`,\n },\n },\n [`& .${dropDownMenuClasses.iconSelected}`]: {\n border: `solid 1px ${theme.colors.secondary}`,\n },\n },\n \"&:not($firstButton) > button\": {\n marginLeft: \"-1px\",\n },\n },\n },\n splitGroup: {\n background: theme.colors.atmo1,\n \"& button$button\": {\n marginLeft: -1,\n \"&:disabled\": {\n borderTop: \"none\",\n borderBottom: \"none\",\n \"&:hover\": {\n borderTop: \"none\",\n borderBottom: \"none\",\n },\n },\n \"&$firstButton\": {\n \"&:not($selected):disabled\": {\n borderLeft: \"none\",\n \"&:hover\": {\n borderLeft: \"none\",\n },\n },\n },\n \"&$lastButton\": {\n \"&:not($selected):disabled\": {\n borderRight: \"none\",\n \"&:hover\": {\n borderRight: \"none\",\n },\n },\n },\n \"&:not($firstButton)\": {\n marginLeft: 0,\n },\n },\n // dropdown menu styles\n \"& $button\": {\n marginLeft: -1,\n [`& .${dropDownMenuClasses.icon}`]: {\n \"&:disabled\": {\n borderTop: \"none\",\n borderBottom: \"none\",\n \"&:hover\": {\n borderTop: \"none\",\n borderBottom: \"none\",\n },\n },\n },\n [`& .${dropDownMenuClasses.iconSelected}`]: {\n zIndex: 2,\n },\n \"&$firstButton\": {\n [`& .${dropDownMenuClasses.icon}`]: {\n \"&:disabled\": {\n borderLeft: \"none\",\n \"&:hover\": {\n borderLeft: \"none\",\n },\n },\n },\n },\n \"&$lastButton\": {\n [`& .${dropDownMenuClasses.icon}`]: {\n \"&:disabled\": {\n borderRight: \"none\",\n \"&:hover\": {\n borderRight: \"none\",\n },\n },\n },\n },\n \"&:not($firstButton) > button\": {\n marginLeft: 0,\n },\n },\n \"&$secondarySubtle\": {\n \"& button$button\": {\n borderTop: `solid 1px ${theme.colors.secondary}`,\n borderBottom: `solid 1px ${theme.colors.secondary}`,\n \"&$firstButton\": {\n borderLeft: `solid 1px ${theme.colors.secondary}`,\n },\n \"&$lastButton\": {\n borderRight: `solid 1px ${theme.colors.secondary}`,\n },\n \"&:not($selected):disabled\": {\n borderTop: \"none\",\n borderBottom: \"none\",\n \"&:hover\": {\n borderTop: \"none\",\n borderBottom: \"none\",\n },\n \"&$firstButton\": {\n \"&:not($selected):disabled\": {\n borderLeft: \"none\",\n \"&:hover\": {\n borderLeft: \"none\",\n },\n },\n },\n \"&$lastButton\": {\n \"&:not($selected):disabled\": {\n borderRight: \"none\",\n \"&:hover\": {\n borderRight: \"none\",\n },\n },\n },\n },\n },\n \"& $button\": {\n [`& .${dropDownMenuClasses.icon}`]: {\n borderTop: `solid 1px ${theme.colors.secondary}`,\n borderBottom: `solid 1px ${theme.colors.secondary}`,\n \"&:disabled\": {\n borderTop: \"none\",\n borderBottom: \"none\",\n \"&:hover\": {\n borderTop: \"none\",\n borderBottom: \"none\",\n },\n },\n },\n \"&$firstButton\": {\n [`& .${dropDownMenuClasses.icon}`]: {\n borderLeft: `solid 1px ${theme.colors.secondary}`,\n \"&:disabled\": {\n borderLeft: \"none\",\n \"&:hover\": {\n borderLeft: \"none\",\n },\n },\n },\n },\n \"&$lastButton\": {\n [`& .${dropDownMenuClasses.icon}`]: {\n borderRight: `solid 1px ${theme.colors.secondary}`,\n \"&:disabled\": {\n borderRight: \"none\",\n \"&:hover\": {\n borderRight: \"none\",\n },\n },\n },\n },\n },\n },\n },\n splitGroupDisabled: { background: \"transparent\" },\n button: {},\n selected: {},\n // vertical button display Styling\n vertical: {\n flexDirection: \"column\",\n height: \"auto\",\n btnSecondary: {\n flex: \"1 1 20px\",\n },\n \"& button$button\": {\n minWidth: 32,\n width: \"100%\",\n borderLeft: `solid 1px ${theme.colors.atmo4}`,\n borderRight: `solid 1px ${theme.colors.atmo4}`,\n borderTop: \"solid 1px transparent\",\n borderBottom: \"solid 1px transparent\",\n \"&:disabled\": {\n color: theme.colors.secondary_60,\n borderLeft: `solid 1px ${theme.colors.atmo4}`,\n borderRight: `solid 1px ${theme.colors.atmo4}`,\n borderTop: \"solid 1px transparent\",\n borderBottom: \"solid 1px transparent\",\n \"&:hover\": {\n borderLeft: `solid 1px ${theme.colors.atmo4}`,\n borderRight: `solid 1px ${theme.colors.atmo4}`,\n borderTop: \"solid 1px transparent\",\n borderBottom: \"solid 1px transparent\",\n },\n },\n \"&$firstButton\": {\n borderTop: `solid 1px ${theme.colors.atmo4}`,\n borderTopLeftRadius: theme.radii.base,\n borderTopRightRadius: theme.radii.base,\n },\n \"&$lastButton\": {\n borderBottom: `solid 1px ${theme.colors.atmo4}`,\n borderBottomLeftRadius: theme.radii.base,\n borderBottomRightRadius: theme.radii.base,\n \"&:disabled:hover\": {\n borderBottom: `solid 1px ${theme.colors.atmo4}`,\n },\n },\n \"&:not($firstButton)\": {\n marginLeft: 0,\n marginTop: -1,\n },\n \"&$selected\": {\n height: 32,\n width: `calc(100% + 2px) !important`,\n background: theme.colors.atmo1,\n ...theme.typography.label,\n borderRadius: theme.radii.base,\n border: `solid 1px ${theme.colors.secondary}`,\n zIndex: 2,\n \"&:hover, &:focus\": {\n background: theme.colors.atmo3,\n },\n \"&:disabled\": {\n zIndex: 1,\n color: theme.colors.secondary_60,\n background: theme.colors.atmo1,\n border: `solid 1px ${theme.colors.atmo4}`,\n },\n },\n },\n },\n primary: {\n \"& button$button\": {\n borderTop: \"none\",\n borderBottom: \"none\",\n\n \"&$firstButton\": {\n borderLeft: \"none\",\n },\n \"&$lastButton\": {\n borderRight: \"none\",\n },\n \"&$selected\": {\n border: `solid 1px ${theme.colors.secondary}`,\n },\n },\n\n // dropdown menu styles\n \"& $button\": {\n [`& .${dropDownMenuClasses.icon}`]: {\n borderTop: \"none\",\n borderBottom: \"none\",\n },\n [`& .${dropDownMenuClasses.iconSelected}`]: {\n border: `solid 1px ${theme.colors.secondary}`,\n },\n \"&$firstButton\": {\n [`& .${dropDownMenuClasses.icon}`]: {\n borderLeft: \"none\",\n },\n [`& .${dropDownMenuClasses.iconSelected}`]: {\n borderLeft: `solid 1px ${theme.colors.secondary}`,\n },\n },\n \"&$lastButton\": {\n [`& .${dropDownMenuClasses.icon}`]: {\n borderRight: \"none\",\n },\n [`& .${dropDownMenuClasses.iconSelected}`]: {\n borderRight: `solid 1px ${theme.colors.secondary}`,\n },\n },\n },\n },\n primarySubtle: {\n \"& button$button\": {\n borderTop: `solid 1px ${theme.colors.primary}`,\n borderBottom: `solid 1px ${theme.colors.primary}`,\n \"&$firstButton\": {\n borderLeft: `solid 1px ${theme.colors.primary}`,\n },\n \"&$lastButton\": {\n borderRight: `solid 1px ${theme.colors.primary}`,\n },\n },\n // dropdown menu styles\n \"& $button\": {\n [`& .${dropDownMenuClasses.icon}`]: {\n borderTop: `solid 1px ${theme.colors.primary}`,\n borderBottom: `solid 1px ${theme.colors.primary}`,\n },\n \"&$firstButton\": {\n [`& .${dropDownMenuClasses.icon}`]: {\n borderLeft: `solid 1px ${theme.colors.primary}`,\n },\n [`& .${dropDownMenuClasses.iconSelected}`]: {\n border: `solid 1px ${theme.colors.secondary}`,\n },\n },\n \"&$lastButton\": {\n [`& .${dropDownMenuClasses.icon}`]: {\n borderRight: `solid 1px ${theme.colors.primary}`,\n },\n [`& .${dropDownMenuClasses.iconSelected}`]: {\n border: `solid 1px ${theme.colors.secondary}`,\n },\n },\n },\n },\n primaryGhost: {},\n secondary: {},\n secondarySubtle: {},\n secondaryGhost: {\n \"& button$button\": {\n \"&:disabled\": {\n background: theme.colors.atmo3,\n },\n },\n // dropdown menu styles\n \"& $button\": {\n [`& .${dropDownMenuClasses.icon}`]: {\n \"&:disabled\": {\n background: theme.colors.atmo3,\n },\n },\n },\n },\n firstButton: {},\n lastButton: {},\n split: {\n width: 1,\n height: \"100%\",\n background: \"currentColor\",\n },\n splitContainer: {\n zIndex: 1,\n marginLeft: -1,\n width: 1,\n height: \"100%\",\n paddingTop: 4,\n paddingBottom: 4,\n color: theme.colors.secondary,\n borderTop: `1px solid ${theme.colors.atmo4}`,\n borderBottom: `1px solid ${theme.colors.atmo4}`,\n \"&$primary\": {\n color: theme.colors.atmo1,\n backgroundColor: theme.colors.primary,\n borderTop: `1px solid ${theme.colors.primary}`,\n borderBottom: `1px solid ${theme.colors.primary}`,\n },\n \"&$primarySubtle\": {\n color: theme.colors.primary,\n borderTop: `1px solid ${theme.colors.primary}`,\n borderBottom: `1px solid ${theme.colors.primary}`,\n },\n \"&$primaryGhost\": {\n color: theme.colors.primary,\n borderTop: `1px solid ${theme.colors.primary}`,\n borderBottom: `1px solid ${theme.colors.primary}`,\n },\n \"&$secondarySubtle\": {\n color: theme.colors.secondary,\n borderTop: `1px solid ${theme.colors.secondary}`,\n borderBottom: `1px solid ${theme.colors.secondary}`,\n },\n \"&$secondaryGhost\": {\n color: theme.colors.secondary,\n },\n \"&$splitDisabled\": {\n background: \"transparent\",\n color: theme.colors.secondary_60,\n borderTop: \"none\",\n borderBottom: \"none\",\n },\n },\n splitDisabled: {},\n});\n"],"names":["createClasses","theme","dropDownMenuClasses"],"mappings":";;;;;;;;AAMO,MAAM,EAAE,eAAe,eAAeA,QAAAA,cAAc,iBAAiB;AAAA,EAC1E,MAAM;AAAA,IACJ,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ,YAAYC,YAAAA,MAAM,OAAO;AAAA,IACzB,UAAU;AAAA,IACV,QAAQ;AAAA;AAAA,IAGR,uBAAuB;AAAA,MACrB,QAAQ;AAAA,IACV;AAAA,IAEA,mBAAmB;AAAA,MACjB,UAAU;AAAA,MACV,OAAO;AAAA,MACP,UAAU;AAAA,MACV,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,MAAM;AAAA,MACN,WAAW,aAAaA,YAAM,MAAA,OAAO,KAAK;AAAA,MAC1C,cAAc,aAAaA,YAAM,MAAA,OAAO,KAAK;AAAA,MAC7C,YAAY;AAAA,MACZ,aAAa;AAAA,MACb,cAAc;AAAA,MACd,YAAYA,YAAM,MAAA,WAAW,KAAK;AAAA,MAClC,UAAUA,YAAM,MAAA,WAAW,KAAK;AAAA,MAChC,cAAc;AAAA,QACZ,OAAOA,YAAAA,MAAM,OAAO;AAAA,QACpB,WAAW,aAAaA,YAAM,MAAA,OAAO,KAAK;AAAA,QAC1C,cAAc,aAAaA,YAAM,MAAA,OAAO,KAAK;AAAA,QAC7C,WAAW;AAAA,UACT,WAAW,aAAaA,YAAM,MAAA,OAAO,KAAK;AAAA,UAC1C,cAAc,aAAaA,YAAM,MAAA,OAAO,KAAK;AAAA,UAC7C,YAAY;AAAA,UACZ,aAAa;AAAA,QACf;AAAA,MACF;AAAA,MACA,iBAAiB;AAAA,QACf,YAAY,aAAaA,YAAM,MAAA,OAAO,KAAK;AAAA,QAC3C,qBAAqBA,YAAAA,MAAM,MAAM;AAAA,QACjC,wBAAwBA,YAAAA,MAAM,MAAM;AAAA,QACpC,cAAc;AAAA,UACZ,YAAY,aAAaA,YAAM,MAAA,OAAO,KAAK;AAAA,QAC7C;AAAA,MACF;AAAA,MACA,gBAAgB;AAAA,QACd,aAAa,aAAaA,YAAM,MAAA,OAAO,KAAK;AAAA,QAC5C,sBAAsBA,YAAAA,MAAM,MAAM;AAAA,QAClC,yBAAyBA,YAAAA,MAAM,MAAM;AAAA,QACrC,cAAc;AAAA,UACZ,aAAa,aAAaA,YAAM,MAAA,OAAO,KAAK;AAAA,QAC9C;AAAA,QACA,oBAAoB;AAAA,UAClB,aAAa,aAAaA,YAAM,MAAA,OAAO,KAAK;AAAA,QAC9C;AAAA,MACF;AAAA,MACA,uBAAuB;AAAA,QACrB,YAAY;AAAA,MACd;AAAA,MACA,cAAc;AAAA,QACZ,YAAYA,YAAAA,MAAM,OAAO;AAAA,QACzB,GAAGA,YAAAA,MAAM,WAAW;AAAA,QACpB,cAAcA,YAAAA,MAAM,MAAM;AAAA,QAC1B,QAAQ,aAAaA,YAAM,MAAA,OAAO,SAAS;AAAA,QAC3C,QAAQ;AAAA,QACR,WAAW;AAAA,UACT,YAAYA,YAAAA,MAAM,OAAO;AAAA,UACzB,oBAAoB;AAAA,YAClB,QAAQ,aAAaA,YAAM,MAAA,OAAO,SAAS;AAAA,UAC7C;AAAA,UACA,cAAc;AAAA,YACZ,QAAQ,aAAaA,YAAM,MAAA,OAAO,KAAK;AAAA,UACzC;AAAA,QACF;AAAA;AAAA;AAAA,QAGA,sBAAsB;AAAA,UACpB,QAAQ;AAAA,QACV;AAAA,QACA,cAAc;AAAA,UACZ,QAAQ;AAAA,UACR,OAAOA,YAAAA,MAAM,OAAO;AAAA,UACpB,YAAYA,YAAAA,MAAM,OAAO;AAAA,UACzB,QAAQ,aAAaA,YAAM,MAAA,OAAO,KAAK;AAAA,QACzC;AAAA,MACF;AAAA,IACF;AAAA;AAAA,IAGA,aAAa;AAAA,MACX,CAAC,KAAKC,kCAAoB,SAAS,EAAE,GAAG;AAAA,QACtC,OAAO;AAAA,MACT;AAAA,MACA,CAAC,MAAMA,kCAAoB,IAAI,EAAE,GAAG;AAAA,QAClC,WAAW,aAAaD,YAAM,MAAA,OAAO,KAAK;AAAA,QAC1C,cAAc,aAAaA,YAAM,MAAA,OAAO,KAAK;AAAA,QAC7C,YAAY;AAAA,QACZ,aAAa;AAAA,QACb,cAAc;AAAA,QACd,cAAc;AAAA,UACZ,WAAW,aAAaA,YAAM,MAAA,OAAO,KAAK;AAAA,UAC1C,cAAc,aAAaA,YAAM,MAAA,OAAO,KAAK;AAAA,UAC7C,WAAW;AAAA,YACT,WAAW,aAAaA,YAAM,MAAA,OAAO,KAAK;AAAA,YAC1C,cAAc,aAAaA,YAAM,MAAA,OAAO,KAAK;AAAA,YAC7C,YAAY;AAAA,YACZ,aAAa;AAAA,UACf;AAAA,QACF;AAAA,MACF;AAAA,MACA,CAAC,MAAMC,kCAAoB,YAAY,EAAE,GAAG;AAAA,QAC1C,QAAQ,aAAaD,YAAM,MAAA,OAAO,SAAS;AAAA,MAC7C;AAAA,MACA,iBAAiB;AAAA,QACf,CAAC,MAAMC,kCAAoB,IAAI,EAAE,GAAG;AAAA,UAClC,YAAY,aAAaD,YAAM,MAAA,OAAO,KAAK;AAAA,UAC3C,qBAAqBA,YAAAA,MAAM,MAAM;AAAA,UACjC,wBAAwBA,YAAAA,MAAM,MAAM;AAAA,UACpC,cAAc;AAAA,YACZ,YAAY,aAAaA,YAAM,MAAA,OAAO,KAAK;AAAA,UAC7C;AAAA,QACF;AAAA,QACA,CAAC,MAAMC,kCAAoB,YAAY,EAAE,GAAG;AAAA,UAC1C,QAAQ,aAAaD,YAAM,MAAA,OAAO,SAAS;AAAA,QAC7C;AAAA,MACF;AAAA,MACA,gBAAgB;AAAA,QACd,CAAC,MAAMC,kCAAoB,IAAI,EAAE,GAAG;AAAA,UAClC,aAAa,aAAaD,YAAM,MAAA,OAAO,KAAK;AAAA,UAC5C,sBAAsBA,YAAAA,MAAM,MAAM;AAAA,UAClC,yBAAyBA,YAAAA,MAAM,MAAM;AAAA,UACrC,cAAc;AAAA,YACZ,aAAa,aAAaA,YAAM,MAAA,OAAO,KAAK;AAAA,UAC9C;AAAA,UACA,oBAAoB;AAAA,YAClB,aAAa,aAAaA,YAAM,MAAA,OAAO,KAAK;AAAA,UAC9C;AAAA,QACF;AAAA,QACA,CAAC,MAAMC,kCAAoB,YAAY,EAAE,GAAG;AAAA,UAC1C,QAAQ,aAAaD,YAAM,MAAA,OAAO,SAAS;AAAA,QAC7C;AAAA,MACF;AAAA,MACA,gCAAgC;AAAA,QAC9B,YAAY;AAAA,MACd;AAAA,IACF;AAAA,EACF;AAAA,EACA,YAAY;AAAA,IACV,YAAYA,YAAAA,MAAM,OAAO;AAAA,IACzB,mBAAmB;AAAA,MACjB,YAAY;AAAA,MACZ,cAAc;AAAA,QACZ,WAAW;AAAA,QACX,cAAc;AAAA,QACd,WAAW;AAAA,UACT,WAAW;AAAA,UACX,cAAc;AAAA,QAChB;AAAA,MACF;AAAA,MACA,iBAAiB;AAAA,QACf,6BAA6B;AAAA,UAC3B,YAAY;AAAA,UACZ,WAAW;AAAA,YACT,YAAY;AAAA,UACd;AAAA,QACF;AAAA,MACF;AAAA,MACA,gBAAgB;AAAA,QACd,6BAA6B;AAAA,UAC3B,aAAa;AAAA,UACb,WAAW;AAAA,YACT,aAAa;AAAA,UACf;AAAA,QACF;AAAA,MACF;AAAA,MACA,uBAAuB;AAAA,QACrB,YAAY;AAAA,MACd;AAAA,IACF;AAAA;AAAA,IAEA,aAAa;AAAA,MACX,YAAY;AAAA,MACZ,CAAC,MAAMC,kCAAoB,IAAI,EAAE,GAAG;AAAA,QAClC,cAAc;AAAA,UACZ,WAAW;AAAA,UACX,cAAc;AAAA,UACd,WAAW;AAAA,YACT,WAAW;AAAA,YACX,cAAc;AAAA,UAChB;AAAA,QACF;AAAA,MACF;AAAA,MACA,CAAC,MAAMA,kCAAoB,YAAY,EAAE,GAAG;AAAA,QAC1C,QAAQ;AAAA,MACV;AAAA,MACA,iBAAiB;AAAA,QACf,CAAC,MAAMA,kCAAoB,IAAI,EAAE,GAAG;AAAA,UAClC,cAAc;AAAA,YACZ,YAAY;AAAA,YACZ,WAAW;AAAA,cACT,YAAY;AAAA,YACd;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,MACA,gBAAgB;AAAA,QACd,CAAC,MAAMA,kCAAoB,IAAI,EAAE,GAAG;AAAA,UAClC,cAAc;AAAA,YACZ,aAAa;AAAA,YACb,WAAW;AAAA,cACT,aAAa;AAAA,YACf;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,MACA,gCAAgC;AAAA,QAC9B,YAAY;AAAA,MACd;AAAA,IACF;AAAA,IACA,qBAAqB;AAAA,MACnB,mBAAmB;AAAA,QACjB,WAAW,aAAaD,YAAM,MAAA,OAAO,SAAS;AAAA,QAC9C,cAAc,aAAaA,YAAM,MAAA,OAAO,SAAS;AAAA,QACjD,iBAAiB;AAAA,UACf,YAAY,aAAaA,YAAM,MAAA,OAAO,SAAS;AAAA,QACjD;AAAA,QACA,gBAAgB;AAAA,UACd,aAAa,aAAaA,YAAM,MAAA,OAAO,SAAS;AAAA,QAClD;AAAA,QACA,6BAA6B;AAAA,UAC3B,WAAW;AAAA,UACX,cAAc;AAAA,UACd,WAAW;AAAA,YACT,WAAW;AAAA,YACX,cAAc;AAAA,UAChB;AAAA,UACA,iBAAiB;AAAA,YACf,6BAA6B;AAAA,cAC3B,YAAY;AAAA,cACZ,WAAW;AAAA,gBACT,YAAY;AAAA,cACd;AAAA,YACF;AAAA,UACF;AAAA,UACA,gBAAgB;AAAA,YACd,6BAA6B;AAAA,cAC3B,aAAa;AAAA,cACb,WAAW;AAAA,gBACT,aAAa;AAAA,cACf;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,MACA,aAAa;AAAA,QACX,CAAC,MAAMC,kCAAoB,IAAI,EAAE,GAAG;AAAA,UAClC,WAAW,aAAaD,YAAM,MAAA,OAAO,SAAS;AAAA,UAC9C,cAAc,aAAaA,YAAM,MAAA,OAAO,SAAS;AAAA,UACjD,cAAc;AAAA,YACZ,WAAW;AAAA,YACX,cAAc;AAAA,YACd,WAAW;AAAA,cACT,WAAW;AAAA,cACX,cAAc;AAAA,YAChB;AAAA,UACF;AAAA,QACF;AAAA,QACA,iBAAiB;AAAA,UACf,CAAC,MAAMC,kCAAoB,IAAI,EAAE,GAAG;AAAA,YAClC,YAAY,aAAaD,YAAM,MAAA,OAAO,SAAS;AAAA,YAC/C,cAAc;AAAA,cACZ,YAAY;AAAA,cACZ,WAAW;AAAA,gBACT,YAAY;AAAA,cACd;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,QACA,gBAAgB;AAAA,UACd,CAAC,MAAMC,kCAAoB,IAAI,EAAE,GAAG;AAAA,YAClC,aAAa,aAAaD,YAAM,MAAA,OAAO,SAAS;AAAA,YAChD,cAAc;AAAA,cACZ,aAAa;AAAA,cACb,WAAW;AAAA,gBACT,aAAa;AAAA,cACf;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EACA,oBAAoB,EAAE,YAAY,cAAc;AAAA,EAChD,QAAQ,CAAC;AAAA,EACT,UAAU,CAAC;AAAA;AAAA,EAEX,UAAU;AAAA,IACR,eAAe;AAAA,IACf,QAAQ;AAAA,IACR,cAAc;AAAA,MACZ,MAAM;AAAA,IACR;AAAA,IACA,mBAAmB;AAAA,MACjB,UAAU;AAAA,MACV,OAAO;AAAA,MACP,YAAY,aAAaA,YAAM,MAAA,OAAO,KAAK;AAAA,MAC3C,aAAa,aAAaA,YAAM,MAAA,OAAO,KAAK;AAAA,MAC5C,WAAW;AAAA,MACX,cAAc;AAAA,MACd,cAAc;AAAA,QACZ,OAAOA,YAAAA,MAAM,OAAO;AAAA,QACpB,YAAY,aAAaA,YAAM,MAAA,OAAO,KAAK;AAAA,QAC3C,aAAa,aAAaA,YAAM,MAAA,OAAO,KAAK;AAAA,QAC5C,WAAW;AAAA,QACX,cAAc;AAAA,QACd,WAAW;AAAA,UACT,YAAY,aAAaA,YAAM,MAAA,OAAO,KAAK;AAAA,UAC3C,aAAa,aAAaA,YAAM,MAAA,OAAO,KAAK;AAAA,UAC5C,WAAW;AAAA,UACX,cAAc;AAAA,QAChB;AAAA,MACF;AAAA,MACA,iBAAiB;AAAA,QACf,WAAW,aAAaA,YAAM,MAAA,OAAO,KAAK;AAAA,QAC1C,qBAAqBA,YAAAA,MAAM,MAAM;AAAA,QACjC,sBAAsBA,YAAAA,MAAM,MAAM;AAAA,MACpC;AAAA,MACA,gBAAgB;AAAA,QACd,cAAc,aAAaA,YAAM,MAAA,OAAO,KAAK;AAAA,QAC7C,wBAAwBA,YAAAA,MAAM,MAAM;AAAA,QACpC,yBAAyBA,YAAAA,MAAM,MAAM;AAAA,QACrC,oBAAoB;AAAA,UAClB,cAAc,aAAaA,YAAM,MAAA,OAAO,KAAK;AAAA,QAC/C;AAAA,MACF;AAAA,MACA,uBAAuB;AAAA,QACrB,YAAY;AAAA,QACZ,WAAW;AAAA,MACb;AAAA,MACA,cAAc;AAAA,QACZ,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,YAAYA,YAAAA,MAAM,OAAO;AAAA,QACzB,GAAGA,YAAAA,MAAM,WAAW;AAAA,QACpB,cAAcA,YAAAA,MAAM,MAAM;AAAA,QAC1B,QAAQ,aAAaA,YAAM,MAAA,OAAO,SAAS;AAAA,QAC3C,QAAQ;AAAA,QACR,oBAAoB;AAAA,UAClB,YAAYA,YAAAA,MAAM,OAAO;AAAA,QAC3B;AAAA,QACA,cAAc;AAAA,UACZ,QAAQ;AAAA,UACR,OAAOA,YAAAA,MAAM,OAAO;AAAA,UACpB,YAAYA,YAAAA,MAAM,OAAO;AAAA,UACzB,QAAQ,aAAaA,YAAM,MAAA,OAAO,KAAK;AAAA,QACzC;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EACA,SAAS;AAAA,IACP,mBAAmB;AAAA,MACjB,WAAW;AAAA,MACX,cAAc;AAAA,MAEd,iBAAiB;AAAA,QACf,YAAY;AAAA,MACd;AAAA,MACA,gBAAgB;AAAA,QACd,aAAa;AAAA,MACf;AAAA,MACA,cAAc;AAAA,QACZ,QAAQ,aAAaA,YAAM,MAAA,OAAO,SAAS;AAAA,MAC7C;AAAA,IACF;AAAA;AAAA,IAGA,aAAa;AAAA,MACX,CAAC,MAAMC,kCAAoB,IAAI,EAAE,GAAG;AAAA,QAClC,WAAW;AAAA,QACX,cAAc;AAAA,MAChB;AAAA,MACA,CAAC,MAAMA,kCAAoB,YAAY,EAAE,GAAG;AAAA,QAC1C,QAAQ,aAAaD,YAAM,MAAA,OAAO,SAAS;AAAA,MAC7C;AAAA,MACA,iBAAiB;AAAA,QACf,CAAC,MAAMC,kCAAoB,IAAI,EAAE,GAAG;AAAA,UAClC,YAAY;AAAA,QACd;AAAA,QACA,CAAC,MAAMA,kCAAoB,YAAY,EAAE,GAAG;AAAA,UAC1C,YAAY,aAAaD,YAAM,MAAA,OAAO,SAAS;AAAA,QACjD;AAAA,MACF;AAAA,MACA,gBAAgB;AAAA,QACd,CAAC,MAAMC,kCAAoB,IAAI,EAAE,GAAG;AAAA,UAClC,aAAa;AAAA,QACf;AAAA,QACA,CAAC,MAAMA,kCAAoB,YAAY,EAAE,GAAG;AAAA,UAC1C,aAAa,aAAaD,YAAM,MAAA,OAAO,SAAS;AAAA,QAClD;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EACA,eAAe;AAAA,IACb,mBAAmB;AAAA,MACjB,WAAW,aAAaA,YAAM,MAAA,OAAO,OAAO;AAAA,MAC5C,cAAc,aAAaA,YAAM,MAAA,OAAO,OAAO;AAAA,MAC/C,iBAAiB;AAAA,QACf,YAAY,aAAaA,YAAM,MAAA,OAAO,OAAO;AAAA,MAC/C;AAAA,MACA,gBAAgB;AAAA,QACd,aAAa,aAAaA,YAAM,MAAA,OAAO,OAAO;AAAA,MAChD;AAAA,IACF;AAAA;AAAA,IAEA,aAAa;AAAA,MACX,CAAC,MAAMC,kCAAoB,IAAI,EAAE,GAAG;AAAA,QAClC,WAAW,aAAaD,YAAM,MAAA,OAAO,OAAO;AAAA,QAC5C,cAAc,aAAaA,YAAM,MAAA,OAAO,OAAO;AAAA,MACjD;AAAA,MACA,iBAAiB;AAAA,QACf,CAAC,MAAMC,kCAAoB,IAAI,EAAE,GAAG;AAAA,UAClC,YAAY,aAAaD,YAAM,MAAA,OAAO,OAAO;AAAA,QAC/C;AAAA,QACA,CAAC,MAAMC,kCAAoB,YAAY,EAAE,GAAG;AAAA,UAC1C,QAAQ,aAAaD,YAAM,MAAA,OAAO,SAAS;AAAA,QAC7C;AAAA,MACF;AAAA,MACA,gBAAgB;AAAA,QACd,CAAC,MAAMC,kCAAoB,IAAI,EAAE,GAAG;AAAA,UAClC,aAAa,aAAaD,YAAM,MAAA,OAAO,OAAO;AAAA,QAChD;AAAA,QACA,CAAC,MAAMC,kCAAoB,YAAY,EAAE,GAAG;AAAA,UAC1C,QAAQ,aAAaD,YAAM,MAAA,OAAO,SAAS;AAAA,QAC7C;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EACA,cAAc,CAAC;AAAA,EACf,WAAW,CAAC;AAAA,EACZ,iBAAiB,CAAC;AAAA,EAClB,gBAAgB;AAAA,IACd,mBAAmB;AAAA,MACjB,cAAc;AAAA,QACZ,YAAYA,YAAAA,MAAM,OAAO;AAAA,MAC3B;AAAA,IACF;AAAA;AAAA,IAEA,aAAa;AAAA,MACX,CAAC,MAAMC,kCAAoB,IAAI,EAAE,GAAG;AAAA,QAClC,cAAc;AAAA,UACZ,YAAYD,YAAAA,MAAM,OAAO;AAAA,QAC3B;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EACA,aAAa,CAAC;AAAA,EACd,YAAY,CAAC;AAAA,EACb,OAAO;AAAA,IACL,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,YAAY;AAAA,EACd;AAAA,EACA,gBAAgB;AAAA,IACd,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ,eAAe;AAAA,IACf,OAAOA,YAAAA,MAAM,OAAO;AAAA,IACpB,WAAW,aAAaA,YAAM,MAAA,OAAO,KAAK;AAAA,IAC1C,cAAc,aAAaA,YAAM,MAAA,OAAO,KAAK;AAAA,IAC7C,aAAa;AAAA,MACX,OAAOA,YAAAA,MAAM,OAAO;AAAA,MACpB,iBAAiBA,YAAAA,MAAM,OAAO;AAAA,MAC9B,WAAW,aAAaA,YAAM,MAAA,OAAO,OAAO;AAAA,MAC5C,cAAc,aAAaA,YAAM,MAAA,OAAO,OAAO;AAAA,IACjD;AAAA,IACA,mBAAmB;AAAA,MACjB,OAAOA,YAAAA,MAAM,OAAO;AAAA,MACpB,WAAW,aAAaA,YAAM,MAAA,OAAO,OAAO;AAAA,MAC5C,cAAc,aAAaA,YAAM,MAAA,OAAO,OAAO;AAAA,IACjD;AAAA,IACA,kBAAkB;AAAA,MAChB,OAAOA,YAAAA,MAAM,OAAO;AAAA,MACpB,WAAW,aAAaA,YAAM,MAAA,OAAO,OAAO;AAAA,MAC5C,cAAc,aAAaA,YAAM,MAAA,OAAO,OAAO;AAAA,IACjD;AAAA,IACA,qBAAqB;AAAA,MACnB,OAAOA,YAAAA,MAAM,OAAO;AAAA,MACpB,WAAW,aAAaA,YAAM,MAAA,OAAO,SAAS;AAAA,MAC9C,cAAc,aAAaA,YAAM,MAAA,OAAO,SAAS;AAAA,IACnD;AAAA,IACA,oBAAoB;AAAA,MAClB,OAAOA,YAAAA,MAAM,OAAO;AAAA,IACtB;AAAA,IACA,mBAAmB;AAAA,MACjB,YAAY;AAAA,MACZ,OAAOA,YAAAA,MAAM,OAAO;AAAA,MACpB,WAAW;AAAA,MACX,cAAc;AAAA,IAChB;AAAA,EACF;AAAA,EACA,eAAe,CAAC;AAClB,CAAC;;;"}
1
+ {"version":3,"file":"MultiButton.styles.cjs","sources":["../../../src/MultiButton/MultiButton.styles.tsx"],"sourcesContent":["import { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { createClasses } from \"../utils/classes\";\nimport { dropDownMenuClasses } from \"../DropDownMenu\";\nimport { getColoringStyle, getSizeStyles } from \"../Button/Button.styles\";\nimport { HvButtonSize } from \"../Button\";\n\nexport const { staticClasses, useClasses } = createClasses(\"HvMultiButton\", {\n root: {\n display: \"flex\",\n alignItems: \"center\",\n transition: \"none\",\n position: \"relative\",\n zIndex: 0,\n },\n multiple: {\n background: theme.colors.atmo2,\n\n // prevent the focus ring to be hidden by sibling hover background\n \"&>.HvIsFocusVisible\": {\n zIndex: 5,\n },\n\n \"& button$button\": {\n minWidth: \"unset\",\n width: \"100%\",\n maxWidth: 200,\n padding: 0,\n transition: \"none\",\n flex: \"1 0 0px\",\n borderTop: `solid 1px ${theme.colors.atmo4}`,\n borderBottom: `solid 1px ${theme.colors.atmo4}`,\n borderLeft: \"solid 1px transparent\",\n borderRight: \"solid 1px transparent\",\n borderRadius: 0,\n fontWeight: theme.typography.body.fontWeight,\n fontSize: theme.typography.body.fontSize,\n \"&:disabled\": {\n color: theme.colors.secondary_60,\n borderTop: `solid 1px ${theme.colors.atmo4}`,\n borderBottom: `solid 1px ${theme.colors.atmo4}`,\n \"&:hover\": {\n borderTop: `solid 1px ${theme.colors.atmo4}`,\n borderBottom: `solid 1px ${theme.colors.atmo4}`,\n borderLeft: \"solid 1px transparent\",\n borderRight: \"solid 1px transparent\",\n },\n },\n \"&$firstButton\": {\n borderLeft: `solid 1px ${theme.colors.atmo4}`,\n borderTopLeftRadius: theme.radii.base,\n borderBottomLeftRadius: theme.radii.base,\n \"&:disabled\": {\n borderLeft: `solid 1px ${theme.colors.atmo4}`,\n },\n },\n \"&$lastButton\": {\n borderRight: `solid 1px ${theme.colors.atmo4}`,\n borderTopRightRadius: theme.radii.base,\n borderBottomRightRadius: theme.radii.base,\n \"&:disabled\": {\n borderRight: `solid 1px ${theme.colors.atmo4}`,\n },\n \"&:disabled:hover\": {\n borderRight: `solid 1px ${theme.colors.atmo4}`,\n },\n },\n \"&:not($firstButton)\": {\n marginLeft: \"-1px\",\n },\n \"&$selected\": {\n background: theme.colors.atmo1,\n ...theme.typography.label,\n borderRadius: theme.radii.base,\n border: `solid 1px ${theme.colors.secondary}`,\n zIndex: 2,\n \"&:hover\": {\n background: theme.colors.atmo3,\n \"&:not(:disabled)\": {\n border: `solid 1px ${theme.colors.secondary}`,\n },\n \"&:disabled\": {\n border: `solid 1px ${theme.colors.atmo4}`,\n },\n },\n // prevent the focus ring to be hidden by sibling hover background\n // even when selected\n \"&.HvIsFocusVisible\": {\n zIndex: 5,\n },\n \"&:disabled\": {\n zIndex: 1,\n color: theme.colors.secondary_60,\n background: theme.colors.atmo1,\n border: `solid 1px ${theme.colors.atmo4}`,\n },\n },\n },\n },\n splitGroup: {\n width: \"fit-content\",\n background: theme.colors.atmo1,\n\n // Button\n \"& button$button\": {\n \"&$firstButton\": {\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0,\n \"& + div$splitContainer\": {\n marginLeft: -1,\n },\n },\n \"&$lastButton\": {\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n },\n },\n\n // Dropdown Menu\n [`& .${dropDownMenuClasses.root}`]: {\n \"&:has($firstButton)\": {\n \"& + div$splitContainer\": {\n marginRight: -1,\n },\n },\n },\n \"& $button$firstButton > button\": {\n marginRight: -1.5,\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0,\n },\n \"& $button$lastButton > button\": {\n marginLeft: -1.5,\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n },\n [`& .${dropDownMenuClasses.iconSelected}`]: {\n zIndex: 2,\n },\n },\n splitGroupDisabled: { background: theme.colors.atmo3 },\n button: {},\n selected: {},\n vertical: {\n flexDirection: \"column\",\n height: \"auto\",\n btnSecondary: {\n flex: \"1 1 20px\",\n },\n \"& button$button\": {\n minWidth: 32,\n width: \"100%\",\n borderLeft: `solid 1px ${theme.colors.atmo4}`,\n borderRight: `solid 1px ${theme.colors.atmo4}`,\n borderTop: \"solid 1px transparent\",\n borderBottom: \"solid 1px transparent\",\n \"&:disabled\": {\n color: theme.colors.secondary_60,\n borderLeft: `solid 1px ${theme.colors.atmo4}`,\n borderRight: `solid 1px ${theme.colors.atmo4}`,\n borderTop: \"solid 1px transparent\",\n borderBottom: \"solid 1px transparent\",\n \"&:hover\": {\n borderLeft: `solid 1px ${theme.colors.atmo4}`,\n borderRight: `solid 1px ${theme.colors.atmo4}`,\n borderTop: \"solid 1px transparent\",\n borderBottom: \"solid 1px transparent\",\n },\n },\n \"&$firstButton\": {\n borderTop: `solid 1px ${theme.colors.atmo4}`,\n borderTopLeftRadius: theme.radii.base,\n borderTopRightRadius: theme.radii.base,\n },\n \"&$lastButton\": {\n borderBottom: `solid 1px ${theme.colors.atmo4}`,\n borderBottomLeftRadius: theme.radii.base,\n borderBottomRightRadius: theme.radii.base,\n \"&:disabled:hover\": {\n borderBottom: `solid 1px ${theme.colors.atmo4}`,\n },\n },\n \"&:not($firstButton)\": {\n marginLeft: 0,\n marginTop: -1,\n },\n \"&$selected\": {\n height: 32,\n width: `calc(100% + 2px) !important`,\n background: theme.colors.atmo1,\n ...theme.typography.label,\n borderRadius: theme.radii.base,\n border: `solid 1px ${theme.colors.secondary}`,\n zIndex: 2,\n \"&:hover, &:focus\": {\n background: theme.colors.atmo3,\n },\n \"&:disabled\": {\n zIndex: 1,\n color: theme.colors.secondary_60,\n background: theme.colors.atmo1,\n border: `solid 1px ${theme.colors.atmo4}`,\n },\n },\n },\n },\n split: {\n width: 1,\n height: \"100%\",\n background: \"currentColor\",\n },\n splitContainer: {\n display: \"flex\",\n justifyContent: \"center\",\n zIndex: 1,\n width: 2,\n paddingTop: 4,\n paddingBottom: 4,\n height: \"calc(32px - 2px)\",\n },\n splitDisabled: {\n color: theme.colors.secondary_60,\n },\n firstButton: {},\n lastButton: {},\n\n // TODO - review the need for these classes in v6\n primary: {},\n primarySubtle: {},\n primaryGhost: {},\n secondary: {},\n secondarySubtle: {},\n secondaryGhost: {},\n});\n\nexport const getSplitContainerColor = (\n color: string,\n type?: string,\n disabled?: boolean\n) => ({\n color: getColoringStyle(color, type).color,\n backgroundColor: disabled\n ? theme.colors.atmo3\n : type === \"subtle\"\n ? theme.colors.atmo1\n : \"transparent\",\n});\n\nexport const getSplitContainerHeight = (size: HvButtonSize) => ({\n height: `calc(${getSizeStyles(size).height} - 2px)`,\n});\n"],"names":["createClasses","theme","dropDownMenuClasses","getColoringStyle","getSizeStyles"],"mappings":"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"}
@@ -11,7 +11,7 @@ const useDefaultProps = require("../hooks/useDefaultProps.cjs");
11
11
  const Select_styles = require("./Select.styles.cjs");
12
12
  const setId = require("../utils/setId.cjs");
13
13
  const useUniqueId = require("../hooks/useUniqueId.cjs");
14
- const SelectButton = require("./SelectButton.cjs");
14
+ const DropdownButton = require("../DropdownButton/DropdownButton.cjs");
15
15
  const Panel = require("../Panel/Panel.cjs");
16
16
  const FormElement = require("../Forms/FormElement/FormElement.cjs");
17
17
  const Label = require("../Forms/Label/Label.cjs");
@@ -35,6 +35,8 @@ const HvSelect = generic.fixedForwardRef(function HvSelect2(props, ref) {
35
35
  classes: classesProp,
36
36
  className,
37
37
  id: idProp,
38
+ size,
39
+ variant = "secondarySubtle",
38
40
  name,
39
41
  required,
40
42
  disabled: disabledProp,
@@ -143,7 +145,7 @@ const HvSelect = generic.fixedForwardRef(function HvSelect2(props, ref) {
143
145
  description && /* @__PURE__ */ jsxRuntime.jsx(InfoMessage.HvInfoMessage, { id: descriptionId, className: classes.description, children: description })
144
146
  ] }),
145
147
  /* @__PURE__ */ jsxRuntime.jsx(
146
- SelectButton.HvSelectButton,
148
+ DropdownButton.HvDropdownButton,
147
149
  {
148
150
  id,
149
151
  open: isOpen,
@@ -153,6 +155,8 @@ const HvSelect = generic.fixedForwardRef(function HvSelect2(props, ref) {
153
155
  [classes.invalid]: validationState === "invalid"
154
156
  }),
155
157
  placement,
158
+ size,
159
+ variant,
156
160
  "aria-label": ariaLabel,
157
161
  "aria-labelledby": mergeIds(label && labelId, ariaLabelledBy),
158
162
  "aria-invalid": isInvalid ? true : void 0,
@@ -1 +1 @@
1
- {"version":3,"file":"Select.cjs","sources":["../../../src/Select/Select.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-use-before-define */\nimport { useRef, useState } from \"react\";\nimport type { Placement } from \"@popperjs/core\";\nimport clsx from \"clsx\";\n\nimport {\n SelectProvider,\n UseSelectParameters,\n useSelect,\n} from \"@mui/base/useSelect\";\nimport { useControlled, useForkRef } from \"@mui/material/utils\";\nimport { Popper } from \"@mui/base/Popper\";\nimport { SelectOption } from \"@mui/base/useOption\";\n\nimport {\n HvFormElement,\n HvFormElementProps,\n HvFormStatus,\n HvInfoMessage,\n HvLabel,\n HvWarningText,\n} from \"../Forms\";\nimport { ExtractNames } from \"../utils/classes\";\nimport { fixedForwardRef } from \"../types/generic\";\nimport { useDefaultProps } from \"../hooks/useDefaultProps\";\nimport { staticClasses, useClasses } from \"./Select.styles\";\nimport { setId } from \"../utils/setId\";\nimport { useUniqueId } from \"../hooks/useUniqueId\";\nimport { HvPanel } from \"../Panel\";\nimport { HvListContainer } from \"../ListContainer\";\nimport { HvSelectButton } from \"./SelectButton\";\n\nfunction defaultRenderValue<Value>(\n options: SelectOption<Value> | SelectOption<Value>[] | null\n) {\n if (Array.isArray(options)) {\n if (options.length === 0) return null;\n return <>{options.map((o) => o.label).join(\", \")}</>;\n }\n\n return options?.label ?? null;\n}\n\nconst mergeIds = (...ids: clsx.ClassValue[]) => clsx(ids) || undefined;\n\nexport { staticClasses as selectClasses };\n\nexport type HvSelectClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvSelectProps<\n OptionValue extends {},\n Multiple extends boolean = false\n> extends Omit<HvFormElementProps, \"value\" | \"defaultValue\" | \"onChange\">,\n Pick<\n UseSelectParameters<OptionValue, Multiple>,\n | \"name\"\n | \"required\"\n | \"disabled\"\n | \"multiple\"\n | \"open\"\n | \"defaultOpen\"\n | \"value\"\n | \"defaultValue\"\n | \"buttonRef\"\n | \"options\"\n | \"getSerializedValue\"\n | \"onChange\"\n | \"onOpenChange\"\n > {\n classes?: HvSelectClasses;\n placeholder?: React.ReactNode;\n autoComplete?: string;\n /** Whether the width of the select panel can vary independently. */\n variableWidth?: boolean;\n}\n\n/**\n * The `HvSelect` component is a form control element that allows selection from a list of options.\n *\n * It aims to be aligned with the native HTML `<select>` and `<option>` APIs and be easily integrated with forms.\n *\n * @example\n * <HvSelect name=\"pets\">\n * <HvOption value=\"dog\">Dog</HvOption>\n * <HvOption value=\"cat\">Cat</HvOption>\n * </HvSelect>\n * */\nexport const HvSelect = fixedForwardRef(function HvSelect<\n OptionValue extends {},\n Multiple extends boolean\n>(\n props: HvSelectProps<OptionValue, Multiple>,\n ref: React.Ref<HTMLButtonElement>\n) {\n const {\n children,\n classes: classesProp,\n className,\n id: idProp,\n name,\n required,\n disabled: disabledProp,\n readOnly,\n label,\n open: openProp,\n defaultOpen,\n multiple,\n autoComplete,\n options: optionsProp,\n variableWidth,\n value: valueProp,\n defaultValue,\n placeholder,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n description,\n \"aria-describedby\": ariaDescribedBy,\n status,\n statusMessage,\n \"aria-errormessage\": ariaErrorMessage,\n getSerializedValue,\n onClick,\n onChange,\n onOpenChange,\n ...others\n } = useDefaultProps(\"HvSelect\", props);\n const { classes, cx } = useClasses(classesProp);\n\n const [placement, setPlacement] = useState<Placement>(\"bottom-start\");\n\n const buttonRef = useRef<HTMLButtonElement>(null);\n const handleButtonRef = useForkRef(ref, buttonRef);\n\n const {\n contextValue,\n disabled,\n getButtonProps,\n getListboxProps,\n getHiddenInputProps,\n getOptionMetadata,\n value,\n open,\n } = useSelect<OptionValue, Multiple>({\n componentName: \"HvSelect\",\n name,\n required,\n disabled: disabledProp,\n multiple,\n open: openProp,\n defaultOpen,\n value: valueProp,\n defaultValue,\n options: optionsProp,\n buttonRef: handleButtonRef,\n getSerializedValue,\n onChange,\n onOpenChange: handleOpenChange,\n });\n\n const id = useUniqueId(idProp);\n const labelId = useUniqueId(setId(idProp, \"label\"));\n const descriptionId = useUniqueId(setId(idProp, \"description\"));\n const errorMessageId = useUniqueId(setId(idProp, \"error\"));\n\n const [validationMessage] = useControlled({\n name: \"HvSelect.statusMessage\",\n controlled: statusMessage,\n default: \"Required\",\n });\n const [validationState, setValidationState] = useControlled<HvFormStatus>({\n name: \"HvSelect.status\",\n controlled: status,\n default: \"standBy\",\n });\n\n function handleOpenChange(newOpen: boolean) {\n if (!newOpen) {\n const hasValue = multiple ? (value as OptionValue[]).length > 0 : !!value;\n setValidationState(required && !hasValue ? \"invalid\" : \"valid\");\n }\n onOpenChange?.(newOpen);\n }\n\n // the error message area will only be created if:\n // - an external element that provides an error message isn't identified via aria-errormessage AND\n // - both status and statusMessage properties are being controlled OR\n // - status is uncontrolled and required is true\n const canShowError =\n ariaErrorMessage == null &&\n ((status !== undefined && statusMessage !== undefined) ||\n (status === undefined && required));\n\n const isInvalid = validationState === \"invalid\";\n\n const actualValue = multiple\n ? (value as OptionValue[])\n .map((v) => getOptionMetadata(v))\n .filter((v): v is SelectOption<OptionValue> => v !== undefined)\n : getOptionMetadata(value as OptionValue) ?? null;\n\n const isOpen = open && !!children;\n\n return (\n <HvFormElement\n name={name}\n required={required}\n disabled={disabled}\n readOnly={readOnly}\n status={validationState}\n className={cx(classes.root, className, {\n [classes.disabled]: disabled,\n [classes.readOnly]: readOnly,\n })}\n {...others}\n >\n {(label || description) && (\n <div className={classes.labelContainer}>\n {label && (\n <HvLabel\n id={labelId}\n htmlFor={id}\n label={label}\n className={classes.label}\n />\n )}\n {description && (\n <HvInfoMessage id={descriptionId} className={classes.description}>\n {description}\n </HvInfoMessage>\n )}\n </div>\n )}\n\n <HvSelectButton\n id={id}\n open={isOpen}\n disabled={disabled}\n readOnly={readOnly}\n className={cx(classes.select, {\n [classes.invalid]: validationState === \"invalid\",\n })}\n placement={placement}\n aria-label={ariaLabel}\n aria-labelledby={mergeIds(label && labelId, ariaLabelledBy)}\n aria-invalid={isInvalid ? true : undefined}\n aria-errormessage={errorMessageId}\n aria-describedby={mergeIds(\n description && descriptionId,\n ariaDescribedBy\n )}\n {...getButtonProps()}\n >\n {defaultRenderValue(actualValue) ?? placeholder}\n </HvSelectButton>\n <Popper\n open={isOpen}\n keepMounted\n disablePortal\n anchorEl={buttonRef.current}\n className={classes.popper}\n placement={placement}\n modifiers={[\n {\n enabled: true,\n phase: \"main\",\n fn: ({ state }) => setPlacement(state.placement),\n },\n ]}\n >\n <HvPanel\n style={{\n width: variableWidth\n ? \"auto\"\n : (buttonRef.current?.clientWidth || 0) + 2,\n }}\n className={cx(classes.panel, className, {\n [classes.panelOpenedUp]: placement.includes(\"top\"),\n [classes.panelOpenedDown]: placement.includes(\"bottom\"),\n })}\n >\n <SelectProvider value={contextValue}>\n <HvListContainer condensed selectable {...getListboxProps()}>\n {children}\n </HvListContainer>\n </SelectProvider>\n </HvPanel>\n </Popper>\n\n <input {...getHiddenInputProps()} autoComplete={autoComplete} />\n\n {canShowError && (\n <HvWarningText\n id={errorMessageId}\n disableBorder\n className={classes.error}\n >\n {validationMessage}\n </HvWarningText>\n )}\n </HvFormElement>\n );\n});\n"],"names":["jsx","Fragment","clsx","fixedForwardRef","HvSelect","useDefaultProps","useClasses","useState","useRef","useForkRef","useSelect","useUniqueId","setId","useControlled","jsxs","HvFormElement","HvLabel","HvInfoMessage","HvSelectButton","Popper","HvPanel","SelectProvider","HvListContainer","HvWarningText"],"mappings":"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"}
1
+ {"version":3,"file":"Select.cjs","sources":["../../../src/Select/Select.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-use-before-define */\nimport { useRef, useState } from \"react\";\nimport type { Placement } from \"@popperjs/core\";\nimport clsx from \"clsx\";\n\nimport {\n SelectProvider,\n UseSelectParameters,\n useSelect,\n} from \"@mui/base/useSelect\";\nimport { useControlled, useForkRef } from \"@mui/material/utils\";\nimport { Popper } from \"@mui/base/Popper\";\nimport { SelectOption } from \"@mui/base/useOption\";\n\nimport {\n HvFormElement,\n HvFormElementProps,\n HvFormStatus,\n HvInfoMessage,\n HvLabel,\n HvWarningText,\n} from \"../Forms\";\nimport { ExtractNames } from \"../utils/classes\";\nimport { fixedForwardRef } from \"../types/generic\";\nimport { useDefaultProps } from \"../hooks/useDefaultProps\";\nimport { staticClasses, useClasses } from \"./Select.styles\";\nimport { setId } from \"../utils/setId\";\nimport { useUniqueId } from \"../hooks/useUniqueId\";\nimport { HvPanel } from \"../Panel\";\nimport { HvListContainer } from \"../ListContainer\";\nimport { HvButtonProps } from \"../Button\";\nimport { HvDropdownButton } from \"../DropdownButton\";\n\nfunction defaultRenderValue<Value>(\n options: SelectOption<Value> | SelectOption<Value>[] | null\n) {\n if (Array.isArray(options)) {\n if (options.length === 0) return null;\n return <>{options.map((o) => o.label).join(\", \")}</>;\n }\n\n return options?.label ?? null;\n}\n\nconst mergeIds = (...ids: clsx.ClassValue[]) => clsx(ids) || undefined;\n\nexport { staticClasses as selectClasses };\n\nexport type HvSelectClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvSelectProps<\n OptionValue extends {},\n Multiple extends boolean = false\n> extends Omit<HvFormElementProps, \"value\" | \"defaultValue\" | \"onChange\">,\n Pick<\n UseSelectParameters<OptionValue, Multiple>,\n | \"name\"\n | \"required\"\n | \"disabled\"\n | \"multiple\"\n | \"open\"\n | \"defaultOpen\"\n | \"value\"\n | \"defaultValue\"\n | \"buttonRef\"\n | \"options\"\n | \"getSerializedValue\"\n | \"onChange\"\n | \"onOpenChange\"\n >,\n Pick<HvButtonProps, \"size\" | \"variant\"> {\n classes?: HvSelectClasses;\n placeholder?: React.ReactNode;\n autoComplete?: string;\n /** Whether the width of the select panel can vary independently. */\n variableWidth?: boolean;\n}\n\n/**\n * The `HvSelect` component is a form control element that allows selection from a list of options.\n *\n * It aims to be aligned with the native HTML `<select>` and `<option>` APIs and be easily integrated with forms.\n *\n * @example\n * <HvSelect name=\"pets\">\n * <HvOption value=\"dog\">Dog</HvOption>\n * <HvOption value=\"cat\">Cat</HvOption>\n * </HvSelect>\n * */\nexport const HvSelect = fixedForwardRef(function HvSelect<\n OptionValue extends {},\n Multiple extends boolean\n>(\n props: HvSelectProps<OptionValue, Multiple>,\n ref: React.Ref<HTMLButtonElement>\n) {\n const {\n children,\n classes: classesProp,\n className,\n id: idProp,\n size,\n variant = \"secondarySubtle\",\n name,\n required,\n disabled: disabledProp,\n readOnly,\n label,\n open: openProp,\n defaultOpen,\n multiple,\n autoComplete,\n options: optionsProp,\n variableWidth,\n value: valueProp,\n defaultValue,\n placeholder,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n description,\n \"aria-describedby\": ariaDescribedBy,\n status,\n statusMessage,\n \"aria-errormessage\": ariaErrorMessage,\n getSerializedValue,\n onClick,\n onChange,\n onOpenChange,\n ...others\n } = useDefaultProps(\"HvSelect\", props);\n const { classes, cx } = useClasses(classesProp);\n\n const [placement, setPlacement] = useState<Placement>(\"bottom-start\");\n\n const buttonRef = useRef<HTMLButtonElement>(null);\n const handleButtonRef = useForkRef(ref, buttonRef);\n\n const {\n contextValue,\n disabled,\n getButtonProps,\n getListboxProps,\n getHiddenInputProps,\n getOptionMetadata,\n value,\n open,\n } = useSelect<OptionValue, Multiple>({\n componentName: \"HvSelect\",\n name,\n required,\n disabled: disabledProp,\n multiple,\n open: openProp,\n defaultOpen,\n value: valueProp,\n defaultValue,\n options: optionsProp,\n buttonRef: handleButtonRef,\n getSerializedValue,\n onChange,\n onOpenChange: handleOpenChange,\n });\n\n const id = useUniqueId(idProp);\n const labelId = useUniqueId(setId(idProp, \"label\"));\n const descriptionId = useUniqueId(setId(idProp, \"description\"));\n const errorMessageId = useUniqueId(setId(idProp, \"error\"));\n\n const [validationMessage] = useControlled({\n name: \"HvSelect.statusMessage\",\n controlled: statusMessage,\n default: \"Required\",\n });\n const [validationState, setValidationState] = useControlled<HvFormStatus>({\n name: \"HvSelect.status\",\n controlled: status,\n default: \"standBy\",\n });\n\n function handleOpenChange(newOpen: boolean) {\n if (!newOpen) {\n const hasValue = multiple ? (value as OptionValue[]).length > 0 : !!value;\n setValidationState(required && !hasValue ? \"invalid\" : \"valid\");\n }\n onOpenChange?.(newOpen);\n }\n\n // the error message area will only be created if:\n // - an external element that provides an error message isn't identified via aria-errormessage AND\n // - both status and statusMessage properties are being controlled OR\n // - status is uncontrolled and required is true\n const canShowError =\n ariaErrorMessage == null &&\n ((status !== undefined && statusMessage !== undefined) ||\n (status === undefined && required));\n\n const isInvalid = validationState === \"invalid\";\n\n const actualValue = multiple\n ? (value as OptionValue[])\n .map((v) => getOptionMetadata(v))\n .filter((v): v is SelectOption<OptionValue> => v !== undefined)\n : getOptionMetadata(value as OptionValue) ?? null;\n\n const isOpen = open && !!children;\n\n return (\n <HvFormElement\n name={name}\n required={required}\n disabled={disabled}\n readOnly={readOnly}\n status={validationState}\n className={cx(classes.root, className, {\n [classes.disabled]: disabled,\n [classes.readOnly]: readOnly,\n })}\n {...others}\n >\n {(label || description) && (\n <div className={classes.labelContainer}>\n {label && (\n <HvLabel\n id={labelId}\n htmlFor={id}\n label={label}\n className={classes.label}\n />\n )}\n {description && (\n <HvInfoMessage id={descriptionId} className={classes.description}>\n {description}\n </HvInfoMessage>\n )}\n </div>\n )}\n <HvDropdownButton\n id={id}\n open={isOpen}\n disabled={disabled}\n readOnly={readOnly}\n className={cx(classes.select, {\n [classes.invalid]: validationState === \"invalid\",\n })}\n placement={placement}\n size={size}\n variant={variant}\n aria-label={ariaLabel}\n aria-labelledby={mergeIds(label && labelId, ariaLabelledBy)}\n aria-invalid={isInvalid ? true : undefined}\n aria-errormessage={errorMessageId}\n aria-describedby={mergeIds(\n description && descriptionId,\n ariaDescribedBy\n )}\n {...getButtonProps()}\n >\n {defaultRenderValue(actualValue) ?? placeholder}\n </HvDropdownButton>\n <Popper\n open={isOpen}\n keepMounted\n disablePortal\n anchorEl={buttonRef.current}\n className={classes.popper}\n placement={placement}\n modifiers={[\n {\n enabled: true,\n phase: \"main\",\n fn: ({ state }) => setPlacement(state.placement),\n },\n ]}\n >\n <HvPanel\n style={{\n width: variableWidth\n ? \"auto\"\n : (buttonRef.current?.clientWidth || 0) + 2,\n }}\n className={cx(classes.panel, className, {\n [classes.panelOpenedUp]: placement.includes(\"top\"),\n [classes.panelOpenedDown]: placement.includes(\"bottom\"),\n })}\n >\n <SelectProvider value={contextValue}>\n <HvListContainer condensed selectable {...getListboxProps()}>\n {children}\n </HvListContainer>\n </SelectProvider>\n </HvPanel>\n </Popper>\n\n <input {...getHiddenInputProps()} autoComplete={autoComplete} />\n\n {canShowError && (\n <HvWarningText\n id={errorMessageId}\n disableBorder\n className={classes.error}\n >\n {validationMessage}\n </HvWarningText>\n )}\n </HvFormElement>\n );\n});\n"],"names":["jsx","Fragment","clsx","fixedForwardRef","HvSelect","useDefaultProps","useClasses","useState","useRef","useForkRef","useSelect","useUniqueId","setId","useControlled","jsxs","HvFormElement","HvLabel","HvInfoMessage","HvDropdownButton","Popper","HvPanel","SelectProvider","HvListContainer","HvWarningText"],"mappings":"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"}
@@ -3,9 +3,6 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const uikitStyles = require("@hitachivantara/uikit-styles");
4
4
  const classes = require("../../utils/classes.cjs");
5
5
  const ActionsGeneric_styles = require("../../ActionsGeneric/ActionsGeneric.styles.cjs");
6
- require("@emotion/react/jsx-runtime");
7
- require("react");
8
- require("@hitachivantara/uikit-react-icons");
9
6
  const { useClasses, staticClasses } = classes.createClasses(
10
7
  "HvSnackbar-Content",
11
8
  {