@hitachivantara/uikit-react-core 5.58.3 → 5.60.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 (80) 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/QueryBuilder/Context.cjs +1 -0
  19. package/dist/cjs/QueryBuilder/Context.cjs.map +1 -1
  20. package/dist/cjs/QueryBuilder/QueryBuilder.cjs +39 -18
  21. package/dist/cjs/QueryBuilder/QueryBuilder.cjs.map +1 -1
  22. package/dist/cjs/QueryBuilder/RuleGroup/RuleGroup.cjs.map +1 -1
  23. package/dist/cjs/QueryBuilder/types.cjs.map +1 -1
  24. package/dist/cjs/QueryBuilder/utils/index.cjs +29 -5
  25. package/dist/cjs/QueryBuilder/utils/index.cjs.map +1 -1
  26. package/dist/cjs/QueryBuilder/utils/reducer.cjs +6 -2
  27. package/dist/cjs/QueryBuilder/utils/reducer.cjs.map +1 -1
  28. package/dist/cjs/Select/Select.cjs +6 -2
  29. package/dist/cjs/Select/Select.cjs.map +1 -1
  30. package/dist/cjs/Snackbar/SnackbarContent/SnackbarContent.styles.cjs +0 -3
  31. package/dist/cjs/Snackbar/SnackbarContent/SnackbarContent.styles.cjs.map +1 -1
  32. package/dist/cjs/Table/hooks/useRowState.cjs +7 -0
  33. package/dist/cjs/Table/hooks/useRowState.cjs.map +1 -0
  34. package/dist/cjs/hooks/useControlled.cjs.map +1 -1
  35. package/dist/cjs/index.cjs +2 -0
  36. package/dist/cjs/index.cjs.map +1 -1
  37. package/dist/cjs/types/generic.cjs.map +1 -1
  38. package/dist/esm/BulkActions/BulkActions.styles.js +13 -1
  39. package/dist/esm/BulkActions/BulkActions.styles.js.map +1 -1
  40. package/dist/esm/Button/Button.styles.js.map +1 -1
  41. package/dist/esm/DropDownMenu/DropDownMenu.js +12 -20
  42. package/dist/esm/DropDownMenu/DropDownMenu.js.map +1 -1
  43. package/dist/esm/DropDownMenu/DropDownMenu.styles.js +4 -34
  44. package/dist/esm/DropDownMenu/DropDownMenu.styles.js.map +1 -1
  45. package/dist/esm/DropdownButton/DropdownButton.js +58 -0
  46. package/dist/esm/DropdownButton/DropdownButton.js.map +1 -0
  47. package/dist/esm/DropdownButton/DropdownButton.styles.js +65 -0
  48. package/dist/esm/DropdownButton/DropdownButton.styles.js.map +1 -0
  49. package/dist/esm/IconButton/IconButton.js +2 -1
  50. package/dist/esm/IconButton/IconButton.js.map +1 -1
  51. package/dist/esm/MultiButton/MultiButton.js +22 -7
  52. package/dist/esm/MultiButton/MultiButton.js.map +1 -1
  53. package/dist/esm/MultiButton/MultiButton.styles.js +56 -326
  54. package/dist/esm/MultiButton/MultiButton.styles.js.map +1 -1
  55. package/dist/esm/QueryBuilder/Context.js +1 -0
  56. package/dist/esm/QueryBuilder/Context.js.map +1 -1
  57. package/dist/esm/QueryBuilder/QueryBuilder.js +40 -19
  58. package/dist/esm/QueryBuilder/QueryBuilder.js.map +1 -1
  59. package/dist/esm/QueryBuilder/RuleGroup/RuleGroup.js.map +1 -1
  60. package/dist/esm/QueryBuilder/types.js.map +1 -1
  61. package/dist/esm/QueryBuilder/utils/index.js +30 -6
  62. package/dist/esm/QueryBuilder/utils/index.js.map +1 -1
  63. package/dist/esm/QueryBuilder/utils/reducer.js +6 -2
  64. package/dist/esm/QueryBuilder/utils/reducer.js.map +1 -1
  65. package/dist/esm/Select/Select.js +6 -2
  66. package/dist/esm/Select/Select.js.map +1 -1
  67. package/dist/esm/Snackbar/SnackbarContent/SnackbarContent.styles.js +0 -3
  68. package/dist/esm/Snackbar/SnackbarContent/SnackbarContent.styles.js.map +1 -1
  69. package/dist/esm/Table/hooks/useRowState.js +7 -0
  70. package/dist/esm/Table/hooks/useRowState.js.map +1 -0
  71. package/dist/esm/hooks/useControlled.js.map +1 -1
  72. package/dist/esm/index.js +2 -0
  73. package/dist/esm/index.js.map +1 -1
  74. package/dist/esm/types/generic.js.map +1 -1
  75. package/dist/types/index.d.ts +155 -108
  76. package/package.json +5 -5
  77. package/dist/cjs/Select/SelectButton.cjs +0 -92
  78. package/dist/cjs/Select/SelectButton.cjs.map +0 -1
  79. package/dist/esm/Select/SelectButton.js +0 -92
  80. package/dist/esm/Select/SelectButton.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hitachivantara/uikit-react-core",
3
- "version": "5.58.3",
3
+ "version": "5.60.0",
4
4
  "private": false,
5
5
  "author": "Hitachi Vantara UI Kit Team",
6
6
  "description": "Core React components for the NEXT Design System.",
@@ -33,9 +33,9 @@
33
33
  "@emotion/css": "^11.11.2",
34
34
  "@emotion/serialize": "^1.1.2",
35
35
  "@emotion/utils": "^1.2.1",
36
- "@hitachivantara/uikit-react-icons": "^5.9.1",
37
- "@hitachivantara/uikit-react-shared": "^5.1.33",
38
- "@hitachivantara/uikit-styles": "^5.23.1",
36
+ "@hitachivantara/uikit-react-icons": "^5.9.3",
37
+ "@hitachivantara/uikit-react-shared": "^5.1.35",
38
+ "@hitachivantara/uikit-styles": "^5.25.0",
39
39
  "@internationalized/date": "^3.2.0",
40
40
  "@mui/base": "^5.0.0-beta.34",
41
41
  "@popperjs/core": "^2.11.8",
@@ -62,7 +62,7 @@
62
62
  "access": "public",
63
63
  "directory": "package"
64
64
  },
65
- "gitHead": "bd9cf4d3b49c67e07d59b36c57f432095138cd16",
65
+ "gitHead": "68cdbb3a465690f8823074ba7390d9b721a42dd6",
66
66
  "main": "dist/cjs/index.cjs",
67
67
  "exports": {
68
68
  ".": {
@@ -1,92 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jsxRuntime = require("@emotion/react/jsx-runtime");
4
- const React = require("react");
5
- const uikitReactIcons = require("@hitachivantara/uikit-react-icons");
6
- const uikitStyles = require("@hitachivantara/uikit-styles");
7
- const useDefaultProps = require("../hooks/useDefaultProps.cjs");
8
- const classes = require("../utils/classes.cjs");
9
- const Button = require("../Button/Button.cjs");
10
- const { staticClasses, useClasses } = classes.createClasses("HvSelectButton", {
11
- root: {
12
- width: "100%",
13
- minWidth: "unset",
14
- userSelect: "none",
15
- position: "relative",
16
- paddingLeft: uikitStyles.theme.space.xs,
17
- justifyContent: "flex-start"
18
- },
19
- disabled: {},
20
- readOnly: {
21
- userSelect: "text",
22
- backgroundColor: uikitStyles.theme.colors.atmo2
23
- },
24
- open: {
25
- backgroundColor: uikitStyles.theme.colors.atmo1
26
- },
27
- openUp: {
28
- borderRadius: `0px 0px ${uikitStyles.theme.radii.base} ${uikitStyles.theme.radii.base}`
29
- },
30
- openDown: {
31
- borderRadius: `${uikitStyles.theme.radii.base} ${uikitStyles.theme.radii.base} 0px 0px`
32
- },
33
- selection: {
34
- color: "inherit",
35
- flex: 1,
36
- textAlign: "start",
37
- overflow: "clip visible",
38
- textOverflow: "ellipsis",
39
- whiteSpace: "nowrap"
40
- },
41
- placeholder: {},
42
- arrowContainer: {
43
- marginRight: uikitStyles.theme.spacing(-2)
44
- },
45
- arrow: {
46
- transition: "rotate 0.2s ease"
47
- }
48
- });
49
- const HvSelectButton = React.forwardRef((props, ref) => {
50
- const {
51
- classes: classesProp,
52
- className,
53
- open,
54
- placement = "bottom",
55
- disabled,
56
- readOnly,
57
- children,
58
- adornment,
59
- ...others
60
- } = useDefaultProps.useDefaultProps("HvSelectButton", props);
61
- const { classes: classes2, cx } = useClasses(classesProp);
62
- const endIcon = adornment ?? /* @__PURE__ */ jsxRuntime.jsx(
63
- uikitReactIcons.DropDownXS,
64
- {
65
- iconSize: "XS",
66
- style: { rotate: open ? "180deg" : void 0 },
67
- className: classes2.arrow
68
- }
69
- );
70
- return /* @__PURE__ */ jsxRuntime.jsx(
71
- Button.HvButton,
72
- {
73
- ref,
74
- variant: "secondarySubtle",
75
- disabled: disabled || readOnly,
76
- className: cx(classes2.root, className, {
77
- [classes2.open]: open,
78
- [classes2.openUp]: open && placement.includes("top"),
79
- [classes2.openDown]: open && placement.includes("bottom"),
80
- [classes2.disabled]: disabled,
81
- [classes2.readOnly]: readOnly
82
- }),
83
- classes: { endIcon: classes2.arrowContainer },
84
- endIcon,
85
- ...others,
86
- children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: classes2.selection, children: children && typeof children === "string" ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: classes2.placeholder, children }) : children })
87
- }
88
- );
89
- });
90
- exports.HvSelectButton = HvSelectButton;
91
- exports.staticClasses = staticClasses;
92
- exports.useClasses = useClasses;
@@ -1 +0,0 @@
1
- {"version":3,"file":"SelectButton.cjs","sources":["../../../src/Select/SelectButton.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport type { Placement } from \"@popperjs/core\";\nimport { DropDownXS } from \"@hitachivantara/uikit-react-icons\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { useDefaultProps } from \"../hooks/useDefaultProps\";\nimport { ExtractNames, createClasses } from \"../utils/classes\";\nimport { HvButton } from \"../Button\";\n\nexport const { staticClasses, useClasses } = createClasses(\"HvSelectButton\", {\n root: {\n width: \"100%\",\n minWidth: \"unset\",\n userSelect: \"none\",\n position: \"relative\",\n paddingLeft: theme.space.xs,\n justifyContent: \"flex-start\",\n },\n disabled: {},\n readOnly: {\n userSelect: \"text\",\n backgroundColor: theme.colors.atmo2,\n },\n open: {\n backgroundColor: theme.colors.atmo1,\n },\n openUp: {\n borderRadius: `0px 0px ${theme.radii.base} ${theme.radii.base}`,\n },\n openDown: {\n borderRadius: `${theme.radii.base} ${theme.radii.base} 0px 0px`,\n },\n\n selection: {\n color: \"inherit\",\n flex: 1,\n textAlign: \"start\",\n\n overflow: \"clip visible\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n },\n placeholder: {},\n arrowContainer: {\n marginRight: theme.spacing(-2),\n },\n arrow: {\n transition: \"rotate 0.2s ease\",\n },\n});\n\nexport type HvSelectButtonClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvSelectButtonProps\n extends React.HTMLAttributes<HTMLButtonElement> {\n readOnly?: boolean;\n open?: boolean;\n disabled?: boolean;\n placement?: Placement;\n adornment?: React.ReactNode;\n classes?: HvSelectButtonClasses;\n}\n\n/**\n * HvSelect internal header button component\n */\nexport const HvSelectButton = forwardRef<\n HTMLButtonElement,\n HvSelectButtonProps\n>((props, ref) => {\n const {\n classes: classesProp,\n className,\n open,\n placement = \"bottom\",\n disabled,\n readOnly,\n children,\n adornment,\n ...others\n } = useDefaultProps(\"HvSelectButton\", props);\n const { classes, cx } = useClasses(classesProp);\n\n const endIcon = adornment ?? (\n <DropDownXS\n iconSize=\"XS\"\n style={{ rotate: open ? \"180deg\" : undefined }}\n className={classes.arrow}\n />\n );\n\n return (\n <HvButton\n ref={ref}\n variant=\"secondarySubtle\"\n disabled={disabled || readOnly}\n className={cx(classes.root, className, {\n [classes.open]: open,\n [classes.openUp]: open && placement.includes(\"top\"),\n [classes.openDown]: open && placement.includes(\"bottom\"),\n [classes.disabled]: disabled,\n [classes.readOnly]: readOnly,\n })}\n classes={{ endIcon: classes.arrowContainer }}\n endIcon={endIcon}\n {...others}\n >\n <div className={classes.selection}>\n {children && typeof children === \"string\" ? (\n <div className={classes.placeholder}>{children}</div>\n ) : (\n children\n )}\n </div>\n </HvButton>\n );\n});\n"],"names":["createClasses","theme","forwardRef","useDefaultProps","classes","jsx","DropDownXS","HvButton"],"mappings":";;;;;;;;;AASO,MAAM,EAAE,eAAe,eAAeA,QAAAA,cAAc,kBAAkB;AAAA,EAC3E,MAAM;AAAA,IACJ,OAAO;AAAA,IACP,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,aAAaC,YAAAA,MAAM,MAAM;AAAA,IACzB,gBAAgB;AAAA,EAClB;AAAA,EACA,UAAU,CAAC;AAAA,EACX,UAAU;AAAA,IACR,YAAY;AAAA,IACZ,iBAAiBA,YAAAA,MAAM,OAAO;AAAA,EAChC;AAAA,EACA,MAAM;AAAA,IACJ,iBAAiBA,YAAAA,MAAM,OAAO;AAAA,EAChC;AAAA,EACA,QAAQ;AAAA,IACN,cAAc,WAAWA,YAAAA,MAAM,MAAM,IAAI,IAAIA,YAAA,MAAM,MAAM,IAAI;AAAA,EAC/D;AAAA,EACA,UAAU;AAAA,IACR,cAAc,GAAGA,YAAM,MAAA,MAAM,IAAI,IAAIA,kBAAM,MAAM,IAAI;AAAA,EACvD;AAAA,EAEA,WAAW;AAAA,IACT,OAAO;AAAA,IACP,MAAM;AAAA,IACN,WAAW;AAAA,IAEX,UAAU;AAAA,IACV,cAAc;AAAA,IACd,YAAY;AAAA,EACd;AAAA,EACA,aAAa,CAAC;AAAA,EACd,gBAAgB;AAAA,IACd,aAAaA,YAAM,MAAA,QAAQ,EAAE;AAAA,EAC/B;AAAA,EACA,OAAO;AAAA,IACL,YAAY;AAAA,EACd;AACF,CAAC;AAiBM,MAAM,iBAAiBC,MAAA,WAG5B,CAAC,OAAO,QAAQ;AACV,QAAA;AAAA,IACJ,SAAS;AAAA,IACT;AAAA,IACA;AAAA,IACA,YAAY;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EAAA,IACDC,gBAAgB,gBAAA,kBAAkB,KAAK;AAC3C,QAAM,EAAE,SAAAC,UAAS,GAAG,IAAI,WAAW,WAAW;AAE9C,QAAM,UAAU,aACdC,2BAAA;AAAA,IAACC,gBAAA;AAAA,IAAA;AAAA,MACC,UAAS;AAAA,MACT,OAAO,EAAE,QAAQ,OAAO,WAAW,OAAU;AAAA,MAC7C,WAAWF,SAAQ;AAAA,IAAA;AAAA,EAAA;AAKrB,SAAAC,2BAAA;AAAA,IAACE,OAAA;AAAA,IAAA;AAAA,MACC;AAAA,MACA,SAAQ;AAAA,MACR,UAAU,YAAY;AAAA,MACtB,WAAW,GAAGH,SAAQ,MAAM,WAAW;AAAA,QACrC,CAACA,SAAQ,IAAI,GAAG;AAAA,QAChB,CAACA,SAAQ,MAAM,GAAG,QAAQ,UAAU,SAAS,KAAK;AAAA,QAClD,CAACA,SAAQ,QAAQ,GAAG,QAAQ,UAAU,SAAS,QAAQ;AAAA,QACvD,CAACA,SAAQ,QAAQ,GAAG;AAAA,QACpB,CAACA,SAAQ,QAAQ,GAAG;AAAA,MAAA,CACrB;AAAA,MACD,SAAS,EAAE,SAASA,SAAQ,eAAe;AAAA,MAC3C;AAAA,MACC,GAAG;AAAA,MAEJ,yCAAC,OAAI,EAAA,WAAWA,SAAQ,WACrB,sBAAY,OAAO,aAAa,WAC/BC,2BAAA,IAAC,SAAI,WAAWD,SAAQ,aAAc,SAAA,CAAS,IAE/C,UAEJ;AAAA,IAAA;AAAA,EAAA;AAGN,CAAC;;;;"}
@@ -1,92 +0,0 @@
1
- import { jsx } from "@emotion/react/jsx-runtime";
2
- import { forwardRef } from "react";
3
- import { DropDownXS } from "@hitachivantara/uikit-react-icons";
4
- import { theme } from "@hitachivantara/uikit-styles";
5
- import { useDefaultProps } from "../hooks/useDefaultProps.js";
6
- import { createClasses } from "../utils/classes.js";
7
- import { HvButton } from "../Button/Button.js";
8
- const { staticClasses, useClasses } = createClasses("HvSelectButton", {
9
- root: {
10
- width: "100%",
11
- minWidth: "unset",
12
- userSelect: "none",
13
- position: "relative",
14
- paddingLeft: theme.space.xs,
15
- justifyContent: "flex-start"
16
- },
17
- disabled: {},
18
- readOnly: {
19
- userSelect: "text",
20
- backgroundColor: theme.colors.atmo2
21
- },
22
- open: {
23
- backgroundColor: theme.colors.atmo1
24
- },
25
- openUp: {
26
- borderRadius: `0px 0px ${theme.radii.base} ${theme.radii.base}`
27
- },
28
- openDown: {
29
- borderRadius: `${theme.radii.base} ${theme.radii.base} 0px 0px`
30
- },
31
- selection: {
32
- color: "inherit",
33
- flex: 1,
34
- textAlign: "start",
35
- overflow: "clip visible",
36
- textOverflow: "ellipsis",
37
- whiteSpace: "nowrap"
38
- },
39
- placeholder: {},
40
- arrowContainer: {
41
- marginRight: theme.spacing(-2)
42
- },
43
- arrow: {
44
- transition: "rotate 0.2s ease"
45
- }
46
- });
47
- const HvSelectButton = forwardRef((props, ref) => {
48
- const {
49
- classes: classesProp,
50
- className,
51
- open,
52
- placement = "bottom",
53
- disabled,
54
- readOnly,
55
- children,
56
- adornment,
57
- ...others
58
- } = useDefaultProps("HvSelectButton", props);
59
- const { classes, cx } = useClasses(classesProp);
60
- const endIcon = adornment ?? /* @__PURE__ */ jsx(
61
- DropDownXS,
62
- {
63
- iconSize: "XS",
64
- style: { rotate: open ? "180deg" : void 0 },
65
- className: classes.arrow
66
- }
67
- );
68
- return /* @__PURE__ */ jsx(
69
- HvButton,
70
- {
71
- ref,
72
- variant: "secondarySubtle",
73
- disabled: disabled || readOnly,
74
- className: cx(classes.root, className, {
75
- [classes.open]: open,
76
- [classes.openUp]: open && placement.includes("top"),
77
- [classes.openDown]: open && placement.includes("bottom"),
78
- [classes.disabled]: disabled,
79
- [classes.readOnly]: readOnly
80
- }),
81
- classes: { endIcon: classes.arrowContainer },
82
- endIcon,
83
- ...others,
84
- children: /* @__PURE__ */ jsx("div", { className: classes.selection, children: children && typeof children === "string" ? /* @__PURE__ */ jsx("div", { className: classes.placeholder, children }) : children })
85
- }
86
- );
87
- });
88
- export {
89
- HvSelectButton,
90
- staticClasses,
91
- useClasses
92
- };
@@ -1 +0,0 @@
1
- {"version":3,"file":"SelectButton.js","sources":["../../../src/Select/SelectButton.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport type { Placement } from \"@popperjs/core\";\nimport { DropDownXS } from \"@hitachivantara/uikit-react-icons\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { useDefaultProps } from \"../hooks/useDefaultProps\";\nimport { ExtractNames, createClasses } from \"../utils/classes\";\nimport { HvButton } from \"../Button\";\n\nexport const { staticClasses, useClasses } = createClasses(\"HvSelectButton\", {\n root: {\n width: \"100%\",\n minWidth: \"unset\",\n userSelect: \"none\",\n position: \"relative\",\n paddingLeft: theme.space.xs,\n justifyContent: \"flex-start\",\n },\n disabled: {},\n readOnly: {\n userSelect: \"text\",\n backgroundColor: theme.colors.atmo2,\n },\n open: {\n backgroundColor: theme.colors.atmo1,\n },\n openUp: {\n borderRadius: `0px 0px ${theme.radii.base} ${theme.radii.base}`,\n },\n openDown: {\n borderRadius: `${theme.radii.base} ${theme.radii.base} 0px 0px`,\n },\n\n selection: {\n color: \"inherit\",\n flex: 1,\n textAlign: \"start\",\n\n overflow: \"clip visible\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n },\n placeholder: {},\n arrowContainer: {\n marginRight: theme.spacing(-2),\n },\n arrow: {\n transition: \"rotate 0.2s ease\",\n },\n});\n\nexport type HvSelectButtonClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvSelectButtonProps\n extends React.HTMLAttributes<HTMLButtonElement> {\n readOnly?: boolean;\n open?: boolean;\n disabled?: boolean;\n placement?: Placement;\n adornment?: React.ReactNode;\n classes?: HvSelectButtonClasses;\n}\n\n/**\n * HvSelect internal header button component\n */\nexport const HvSelectButton = forwardRef<\n HTMLButtonElement,\n HvSelectButtonProps\n>((props, ref) => {\n const {\n classes: classesProp,\n className,\n open,\n placement = \"bottom\",\n disabled,\n readOnly,\n children,\n adornment,\n ...others\n } = useDefaultProps(\"HvSelectButton\", props);\n const { classes, cx } = useClasses(classesProp);\n\n const endIcon = adornment ?? (\n <DropDownXS\n iconSize=\"XS\"\n style={{ rotate: open ? \"180deg\" : undefined }}\n className={classes.arrow}\n />\n );\n\n return (\n <HvButton\n ref={ref}\n variant=\"secondarySubtle\"\n disabled={disabled || readOnly}\n className={cx(classes.root, className, {\n [classes.open]: open,\n [classes.openUp]: open && placement.includes(\"top\"),\n [classes.openDown]: open && placement.includes(\"bottom\"),\n [classes.disabled]: disabled,\n [classes.readOnly]: readOnly,\n })}\n classes={{ endIcon: classes.arrowContainer }}\n endIcon={endIcon}\n {...others}\n >\n <div className={classes.selection}>\n {children && typeof children === \"string\" ? (\n <div className={classes.placeholder}>{children}</div>\n ) : (\n children\n )}\n </div>\n </HvButton>\n );\n});\n"],"names":[],"mappings":";;;;;;;AASO,MAAM,EAAE,eAAe,eAAe,cAAc,kBAAkB;AAAA,EAC3E,MAAM;AAAA,IACJ,OAAO;AAAA,IACP,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,aAAa,MAAM,MAAM;AAAA,IACzB,gBAAgB;AAAA,EAClB;AAAA,EACA,UAAU,CAAC;AAAA,EACX,UAAU;AAAA,IACR,YAAY;AAAA,IACZ,iBAAiB,MAAM,OAAO;AAAA,EAChC;AAAA,EACA,MAAM;AAAA,IACJ,iBAAiB,MAAM,OAAO;AAAA,EAChC;AAAA,EACA,QAAQ;AAAA,IACN,cAAc,WAAW,MAAM,MAAM,IAAI,IAAI,MAAM,MAAM,IAAI;AAAA,EAC/D;AAAA,EACA,UAAU;AAAA,IACR,cAAc,GAAG,MAAM,MAAM,IAAI,IAAI,MAAM,MAAM,IAAI;AAAA,EACvD;AAAA,EAEA,WAAW;AAAA,IACT,OAAO;AAAA,IACP,MAAM;AAAA,IACN,WAAW;AAAA,IAEX,UAAU;AAAA,IACV,cAAc;AAAA,IACd,YAAY;AAAA,EACd;AAAA,EACA,aAAa,CAAC;AAAA,EACd,gBAAgB;AAAA,IACd,aAAa,MAAM,QAAQ,EAAE;AAAA,EAC/B;AAAA,EACA,OAAO;AAAA,IACL,YAAY;AAAA,EACd;AACF,CAAC;AAiBM,MAAM,iBAAiB,WAG5B,CAAC,OAAO,QAAQ;AACV,QAAA;AAAA,IACJ,SAAS;AAAA,IACT;AAAA,IACA;AAAA,IACA,YAAY;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EAAA,IACD,gBAAgB,kBAAkB,KAAK;AAC3C,QAAM,EAAE,SAAS,GAAG,IAAI,WAAW,WAAW;AAE9C,QAAM,UAAU,aACd;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,UAAS;AAAA,MACT,OAAO,EAAE,QAAQ,OAAO,WAAW,OAAU;AAAA,MAC7C,WAAW,QAAQ;AAAA,IAAA;AAAA,EAAA;AAKrB,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA,SAAQ;AAAA,MACR,UAAU,YAAY;AAAA,MACtB,WAAW,GAAG,QAAQ,MAAM,WAAW;AAAA,QACrC,CAAC,QAAQ,IAAI,GAAG;AAAA,QAChB,CAAC,QAAQ,MAAM,GAAG,QAAQ,UAAU,SAAS,KAAK;AAAA,QAClD,CAAC,QAAQ,QAAQ,GAAG,QAAQ,UAAU,SAAS,QAAQ;AAAA,QACvD,CAAC,QAAQ,QAAQ,GAAG;AAAA,QACpB,CAAC,QAAQ,QAAQ,GAAG;AAAA,MAAA,CACrB;AAAA,MACD,SAAS,EAAE,SAAS,QAAQ,eAAe;AAAA,MAC3C;AAAA,MACC,GAAG;AAAA,MAEJ,8BAAC,OAAI,EAAA,WAAW,QAAQ,WACrB,sBAAY,OAAO,aAAa,WAC/B,oBAAC,SAAI,WAAW,QAAQ,aAAc,SAAA,CAAS,IAE/C,UAEJ;AAAA,IAAA;AAAA,EAAA;AAGN,CAAC;"}