@hitachivantara/uikit-react-core 5.56.0 → 5.57.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 (40) hide show
  1. package/dist/cjs/ActionsGeneric/ActionsGeneric.cjs +39 -21
  2. package/dist/cjs/ActionsGeneric/ActionsGeneric.cjs.map +1 -1
  3. package/dist/cjs/Banner/Banner.cjs +3 -0
  4. package/dist/cjs/Banner/Banner.cjs.map +1 -1
  5. package/dist/cjs/Banner/BannerContent/ActionContainer/ActionContainer.cjs +5 -2
  6. package/dist/cjs/Banner/BannerContent/ActionContainer/ActionContainer.cjs.map +1 -1
  7. package/dist/cjs/Banner/BannerContent/BannerContent.cjs +7 -3
  8. package/dist/cjs/Banner/BannerContent/BannerContent.cjs.map +1 -1
  9. package/dist/cjs/Banner/BannerContent/MessageContainer/MessageContainer.cjs +9 -4
  10. package/dist/cjs/Banner/BannerContent/MessageContainer/MessageContainer.cjs.map +1 -1
  11. package/dist/cjs/BulkActions/BulkActions.cjs +4 -1
  12. package/dist/cjs/BulkActions/BulkActions.cjs.map +1 -1
  13. package/dist/cjs/Carousel/Carousel.cjs +1 -1
  14. package/dist/cjs/DropDownMenu/DropDownMenu.cjs +1 -0
  15. package/dist/cjs/DropDownMenu/DropDownMenu.cjs.map +1 -1
  16. package/dist/cjs/Snackbar/Snackbar.cjs +3 -0
  17. package/dist/cjs/Snackbar/Snackbar.cjs.map +1 -1
  18. package/dist/cjs/Snackbar/SnackbarContent/SnackbarContent.cjs +5 -2
  19. package/dist/cjs/Snackbar/SnackbarContent/SnackbarContent.cjs.map +1 -1
  20. package/dist/esm/ActionsGeneric/ActionsGeneric.js +39 -21
  21. package/dist/esm/ActionsGeneric/ActionsGeneric.js.map +1 -1
  22. package/dist/esm/Banner/Banner.js +3 -0
  23. package/dist/esm/Banner/Banner.js.map +1 -1
  24. package/dist/esm/Banner/BannerContent/ActionContainer/ActionContainer.js +5 -2
  25. package/dist/esm/Banner/BannerContent/ActionContainer/ActionContainer.js.map +1 -1
  26. package/dist/esm/Banner/BannerContent/BannerContent.js +7 -3
  27. package/dist/esm/Banner/BannerContent/BannerContent.js.map +1 -1
  28. package/dist/esm/Banner/BannerContent/MessageContainer/MessageContainer.js +9 -4
  29. package/dist/esm/Banner/BannerContent/MessageContainer/MessageContainer.js.map +1 -1
  30. package/dist/esm/BulkActions/BulkActions.js +4 -1
  31. package/dist/esm/BulkActions/BulkActions.js.map +1 -1
  32. package/dist/esm/Carousel/Carousel.js +1 -1
  33. package/dist/esm/DropDownMenu/DropDownMenu.js +1 -0
  34. package/dist/esm/DropDownMenu/DropDownMenu.js.map +1 -1
  35. package/dist/esm/Snackbar/Snackbar.js +3 -0
  36. package/dist/esm/Snackbar/Snackbar.js.map +1 -1
  37. package/dist/esm/Snackbar/SnackbarContent/SnackbarContent.js +5 -2
  38. package/dist/esm/Snackbar/SnackbarContent/SnackbarContent.js.map +1 -1
  39. package/dist/types/index.d.ts +108 -76
  40. package/package.json +2 -2
@@ -6,55 +6,73 @@ const uikitReactIcons = require("@hitachivantara/uikit-react-icons");
6
6
  const useDefaultProps = require("../hooks/useDefaultProps.cjs");
7
7
  const setId = require("../utils/setId.cjs");
8
8
  const ActionsGeneric_styles = require("./ActionsGeneric.styles.cjs");
9
+ const IconButton = require("../IconButton/IconButton.cjs");
9
10
  const Button = require("../Button/Button.cjs");
10
11
  const DropDownMenu = require("../DropDownMenu/DropDownMenu.cjs");
11
12
  const HvActionsGeneric = (props) => {
12
13
  const {
13
- id,
14
+ id: idProp,
14
15
  classes: classesProp,
15
16
  className,
16
17
  category = "secondaryGhost",
18
+ // TODO - remove and update variant default in v6
19
+ variant: variantProp,
17
20
  disabled = false,
18
21
  actions = [],
19
22
  actionsCallback,
23
+ // TODO - remove in v6
24
+ onAction,
20
25
  maxVisibleActions = Infinity,
26
+ iconOnly: iconOnlyProp,
21
27
  ...others
22
28
  } = useDefaultProps.useDefaultProps("HvActionsGeneric", props);
29
+ const variant = variantProp || category;
23
30
  const { classes, cx } = ActionsGeneric_styles.useClasses(classesProp);
31
+ const handleCallback = (event, id, action) => {
32
+ actionsCallback?.(event, id, action);
33
+ onAction?.(event, action);
34
+ };
24
35
  if (!Array.isArray(actions))
25
36
  return React.isValidElement(actions) ? actions : null;
26
37
  const renderButton = (action, idx) => {
27
- const { disabled: actDisabled, id: actId, icon, label, ...other } = action;
28
- const actionId = setId.setId(id, idx, "action", action.id);
38
+ const {
39
+ disabled: actDisabled,
40
+ id: actId,
41
+ icon,
42
+ label,
43
+ iconOnly,
44
+ ...other
45
+ } = action;
46
+ const actionId = setId.setId(idProp, idx, "action", action.id);
29
47
  const renderedIcon = React.isValidElement(icon) ? icon : icon?.({ isDisabled: disabled });
30
- return /* @__PURE__ */ jsxRuntime.jsx(
31
- Button.HvButton,
32
- {
33
- id: actionId,
34
- variant: category,
35
- className: classes.button,
36
- disabled: actDisabled ?? disabled,
37
- onClick: (event) => actionsCallback?.(event, id || "", action),
38
- startIcon: renderedIcon,
39
- ...other,
40
- children: label
41
- },
42
- actionId || idx
43
- );
48
+ const commonButtonProps = {
49
+ key: actionId || idx,
50
+ id: actionId,
51
+ variant,
52
+ className: classes.button,
53
+ disabled: actDisabled ?? disabled,
54
+ onClick: (event) => handleCallback(event, idProp || "", action),
55
+ ...other
56
+ };
57
+ const isIcon = iconOnly ?? iconOnlyProp;
58
+ if (isIcon) {
59
+ return /* @__PURE__ */ jsxRuntime.jsx(IconButton.HvIconButton, { ...commonButtonProps, title: label, children: renderedIcon });
60
+ }
61
+ return /* @__PURE__ */ jsxRuntime.jsx(Button.HvButton, { ...commonButtonProps, startIcon: renderedIcon, children: label });
44
62
  };
45
63
  const renderActionsGrid = () => {
46
64
  const actsVisible = actions.slice(0, maxVisibleActions);
47
65
  const actsDropdown = actions.slice(maxVisibleActions);
48
- const semantic = category === "semantic";
66
+ const semantic = variant === "semantic";
49
67
  const iconColor = disabled && "secondary_60" || semantic && "base_dark" || void 0;
50
68
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
51
69
  actsVisible.map((action, idx) => renderButton(action, idx)),
52
70
  /* @__PURE__ */ jsxRuntime.jsx(
53
71
  DropDownMenu.HvDropDownMenu,
54
72
  {
55
- id: setId.setId(id, "menu"),
73
+ id: setId.setId(idProp, "menu"),
56
74
  disabled,
57
- category,
75
+ variant,
58
76
  classes: {
59
77
  root: classes.dropDownMenu,
60
78
  icon: classes.dropDownMenuButton,
@@ -62,7 +80,7 @@ const HvActionsGeneric = (props) => {
62
80
  },
63
81
  icon: /* @__PURE__ */ jsxRuntime.jsx(uikitReactIcons.MoreOptionsVertical, { color: iconColor }),
64
82
  placement: "left",
65
- onClick: (event, action) => actionsCallback?.(event, id || "", action),
83
+ onClick: (event, action) => handleCallback(event, idProp || "", action),
66
84
  dataList: actsDropdown,
67
85
  keepOpened: false,
68
86
  disablePortal: false
@@ -1 +1 @@
1
- {"version":3,"file":"ActionsGeneric.cjs","sources":["../../../src/ActionsGeneric/ActionsGeneric.tsx"],"sourcesContent":["import React, { isValidElement } from \"react\";\nimport { MoreOptionsVertical } from \"@hitachivantara/uikit-react-icons\";\n\nimport { useDefaultProps } from \"../hooks/useDefaultProps\";\nimport { HvButton, HvButtonVariant } from \"../Button\";\nimport { HvDropDownMenu } from \"../DropDownMenu\";\nimport { setId } from \"../utils/setId\";\nimport { ExtractNames } from \"../utils/classes\";\nimport { HvBaseProps } from \"../types/generic\";\n\nimport { staticClasses, useClasses } from \"./ActionsGeneric.styles\";\n\nexport { staticClasses as actionsGenericClasses };\n\nexport type HvActionsGenericClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvActionGeneric {\n id: string;\n label: string;\n icon?:\n | React.ReactNode\n | ((params: { isDisabled?: boolean }) => React.ReactNode);\n disabled?: boolean;\n}\n\nexport interface HvActionsGenericProps extends HvBaseProps {\n /** Button category. */\n category?: HvButtonVariant;\n /** Whether actions should be all disabled */\n disabled?: boolean;\n /** The renderable content inside the actions slot of the footer, or an Array of actions `{id, label, icon, disabled}` */\n actions: React.ReactNode | HvActionGeneric[];\n /** The callback function ran when an action is triggered, receiving `action` as param */\n actionsCallback?: (\n event: React.SyntheticEvent,\n id: string,\n action: HvActionGeneric\n ) => void;\n /** The number of maximum visible actions before they're collapsed into a `DropDownMenu`. */\n maxVisibleActions?: number;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvActionsGenericClasses;\n}\n\nexport const HvActionsGeneric = (props: HvActionsGenericProps) => {\n const {\n id,\n classes: classesProp,\n className,\n category = \"secondaryGhost\",\n disabled = false,\n actions = [],\n actionsCallback,\n maxVisibleActions = Infinity,\n ...others\n } = useDefaultProps(\"HvActionsGeneric\", props);\n\n const { classes, cx } = useClasses(classesProp);\n\n if (!Array.isArray(actions)) return isValidElement(actions) ? actions : null;\n\n const renderButton = (action: HvActionGeneric, idx: number) => {\n const { disabled: actDisabled, id: actId, icon, label, ...other } = action;\n const actionId = setId(id, idx, \"action\", action.id);\n\n const renderedIcon = isValidElement(icon)\n ? icon\n : (icon as Function)?.({ isDisabled: disabled });\n\n return (\n <HvButton\n id={actionId}\n key={actionId || idx}\n variant={category}\n className={classes.button}\n disabled={actDisabled ?? disabled}\n onClick={(event) => actionsCallback?.(event, id || \"\", action)}\n startIcon={renderedIcon}\n {...other}\n >\n {label}\n </HvButton>\n );\n };\n\n const renderActionsGrid = () => {\n const actsVisible = actions.slice(0, maxVisibleActions);\n const actsDropdown = actions.slice(maxVisibleActions);\n\n const semantic = category === \"semantic\";\n const iconColor =\n (disabled && \"secondary_60\") || (semantic && \"base_dark\") || undefined;\n\n return (\n <>\n {actsVisible.map((action, idx) => renderButton(action, idx))}\n <HvDropDownMenu\n id={setId(id, \"menu\")}\n disabled={disabled}\n category={category}\n classes={{\n root: classes.dropDownMenu,\n icon: classes.dropDownMenuButton,\n iconSelected: classes.dropDownMenuButtonSelected,\n }}\n icon={<MoreOptionsVertical color={iconColor} />}\n placement=\"left\"\n onClick={(event, action) =>\n actionsCallback?.(event, id || \"\", action as HvActionGeneric)\n }\n dataList={actsDropdown}\n keepOpened={false}\n disablePortal={false}\n />\n </>\n );\n };\n\n const actionOverflow = actions.length > maxVisibleActions;\n\n return (\n <div\n className={cx(\n classes.root,\n { [classes.actionContainer]: actionOverflow },\n className\n )}\n {...others}\n >\n {actionOverflow\n ? renderActionsGrid()\n : actions.map((action, idx) => renderButton(action, idx))}\n </div>\n );\n};\n"],"names":["useDefaultProps","useClasses","isValidElement","setId","jsx","HvButton","jsxs","Fragment","HvDropDownMenu","MoreOptionsVertical"],"mappings":";;;;;;;;;;AA4Ca,MAAA,mBAAmB,CAAC,UAAiC;AAC1D,QAAA;AAAA,IACJ;AAAA,IACA,SAAS;AAAA,IACT;AAAA,IACA,WAAW;AAAA,IACX,WAAW;AAAA,IACX,UAAU,CAAC;AAAA,IACX;AAAA,IACA,oBAAoB;AAAA,IACpB,GAAG;AAAA,EAAA,IACDA,gBAAgB,gBAAA,oBAAoB,KAAK;AAE7C,QAAM,EAAE,SAAS,GAAG,IAAIC,iCAAW,WAAW;AAE1C,MAAA,CAAC,MAAM,QAAQ,OAAO;AAAU,WAAAC,qBAAe,OAAO,IAAI,UAAU;AAElE,QAAA,eAAe,CAAC,QAAyB,QAAgB;AACvD,UAAA,EAAE,UAAU,aAAa,IAAI,OAAO,MAAM,OAAO,GAAG,MAAU,IAAA;AACpE,UAAM,WAAWC,MAAAA,MAAM,IAAI,KAAK,UAAU,OAAO,EAAE;AAE7C,UAAA,eAAeD,qBAAe,IAAI,IACpC,OACC,OAAoB,EAAE,YAAY,SAAA,CAAU;AAG/C,WAAAE,2BAAA;AAAA,MAACC,OAAA;AAAA,MAAA;AAAA,QACC,IAAI;AAAA,QAEJ,SAAS;AAAA,QACT,WAAW,QAAQ;AAAA,QACnB,UAAU,eAAe;AAAA,QACzB,SAAS,CAAC,UAAU,kBAAkB,OAAO,MAAM,IAAI,MAAM;AAAA,QAC7D,WAAW;AAAA,QACV,GAAG;AAAA,QAEH,UAAA;AAAA,MAAA;AAAA,MARI,YAAY;AAAA,IAAA;AAAA,EASnB;AAIJ,QAAM,oBAAoB,MAAM;AAC9B,UAAM,cAAc,QAAQ,MAAM,GAAG,iBAAiB;AAChD,UAAA,eAAe,QAAQ,MAAM,iBAAiB;AAEpD,UAAM,WAAW,aAAa;AAC9B,UAAM,YACH,YAAY,kBAAoB,YAAY,eAAgB;AAE/D,WAEKC,2BAAA,KAAAC,qBAAA,EAAA,UAAA;AAAA,MAAA,YAAY,IAAI,CAAC,QAAQ,QAAQ,aAAa,QAAQ,GAAG,CAAC;AAAA,MAC3DH,2BAAA;AAAA,QAACI,aAAA;AAAA,QAAA;AAAA,UACC,IAAIL,MAAAA,MAAM,IAAI,MAAM;AAAA,UACpB;AAAA,UACA;AAAA,UACA,SAAS;AAAA,YACP,MAAM,QAAQ;AAAA,YACd,MAAM,QAAQ;AAAA,YACd,cAAc,QAAQ;AAAA,UACxB;AAAA,UACA,MAAMC,2BAAAA,IAACK,gBAAAA,qBAAoB,EAAA,OAAO,UAAW,CAAA;AAAA,UAC7C,WAAU;AAAA,UACV,SAAS,CAAC,OAAO,WACf,kBAAkB,OAAO,MAAM,IAAI,MAAyB;AAAA,UAE9D,UAAU;AAAA,UACV,YAAY;AAAA,UACZ,eAAe;AAAA,QAAA;AAAA,MACjB;AAAA,IACF,EAAA,CAAA;AAAA,EAAA;AAIE,QAAA,iBAAiB,QAAQ,SAAS;AAGtC,SAAAL,2BAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW;AAAA,QACT,QAAQ;AAAA,QACR,EAAE,CAAC,QAAQ,eAAe,GAAG,eAAe;AAAA,QAC5C;AAAA,MACF;AAAA,MACC,GAAG;AAAA,MAEH,UAAA,iBACG,kBAAkB,IAClB,QAAQ,IAAI,CAAC,QAAQ,QAAQ,aAAa,QAAQ,GAAG,CAAC;AAAA,IAAA;AAAA,EAAA;AAGhE;;;"}
1
+ {"version":3,"file":"ActionsGeneric.cjs","sources":["../../../src/ActionsGeneric/ActionsGeneric.tsx"],"sourcesContent":["import { isValidElement } from \"react\";\nimport { MoreOptionsVertical } from \"@hitachivantara/uikit-react-icons\";\n\nimport { useDefaultProps } from \"../hooks/useDefaultProps\";\nimport { HvButton, HvButtonProps, HvButtonVariant } from \"../Button\";\nimport { HvDropDownMenu } from \"../DropDownMenu\";\nimport { setId } from \"../utils/setId\";\nimport { ExtractNames } from \"../utils/classes\";\nimport { HvBaseProps } from \"../types/generic\";\nimport { staticClasses, useClasses } from \"./ActionsGeneric.styles\";\nimport { HvIconButton } from \"../IconButton\";\n\nexport { staticClasses as actionsGenericClasses };\n\nexport type HvActionsGenericClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvActionGeneric {\n /** Action id. */\n id: string;\n /** Action label. */\n label: string;\n /** Action icon. */\n icon?:\n | React.ReactNode\n | ((params: { isDisabled?: boolean }) => React.ReactNode);\n /** Whether the action is disabled or not. */\n disabled?: boolean;\n /** When set to `true`, the button will have the icon has its content and a tooltip with the label will appear when the button is visible and hovered. */\n iconOnly?: boolean;\n}\n\nexport interface HvActionsGenericProps extends HvBaseProps {\n /**\n * The button category for all actions.\n *\n * @deprecated Use `variant` instead.\n */\n category?: HvButtonVariant;\n /** The button variant for all actions. */\n variant?: HvButtonVariant;\n /** Whether the actions should be all disabled. */\n disabled?: boolean;\n /** Whether the actions should be all icon buttons when visible. */\n iconOnly?: boolean;\n /** The renderable content inside the actions slot of the footer, or an array of actions. */\n actions: React.ReactNode | HvActionGeneric[];\n /**\n * The callback function called when an action is triggered, receiving the `action` as parameter.\n *\n * @deprecated Use `onAction` instead.\n * */\n actionsCallback?: (\n event: React.SyntheticEvent,\n id: string,\n action: HvActionGeneric\n ) => void;\n /** The callback function called when an action is triggered, receiving the `action` as parameter. */\n onAction?: (event: React.SyntheticEvent, action: HvActionGeneric) => void;\n /** The maximum number of visible actions before they're collapsed into a dropdown menu. */\n maxVisibleActions?: number;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvActionsGenericClasses;\n}\n\nexport const HvActionsGeneric = (props: HvActionsGenericProps) => {\n const {\n id: idProp,\n classes: classesProp,\n className,\n category = \"secondaryGhost\", // TODO - remove and update variant default in v6\n variant: variantProp,\n disabled = false,\n actions = [],\n actionsCallback, // TODO - remove in v6\n onAction,\n maxVisibleActions = Infinity,\n iconOnly: iconOnlyProp,\n ...others\n } = useDefaultProps(\"HvActionsGeneric\", props);\n\n const variant = variantProp || category;\n\n const { classes, cx } = useClasses(classesProp);\n\n const handleCallback: HvActionsGenericProps[\"actionsCallback\"] = (\n event,\n id,\n action\n ) => {\n actionsCallback?.(event, id, action);\n onAction?.(event, action);\n };\n\n if (!Array.isArray(actions)) return isValidElement(actions) ? actions : null;\n\n const renderButton = (action: HvActionGeneric, idx: number) => {\n const {\n disabled: actDisabled,\n id: actId,\n icon,\n label,\n iconOnly,\n ...other\n } = action;\n const actionId = setId(idProp, idx, \"action\", action.id);\n\n const renderedIcon = isValidElement(icon)\n ? icon\n : (icon as Function)?.({ isDisabled: disabled });\n\n const commonButtonProps: HvButtonProps = {\n key: actionId || idx,\n id: actionId,\n variant,\n className: classes.button,\n disabled: actDisabled ?? disabled,\n onClick: (event) => handleCallback(event, idProp || \"\", action),\n ...other,\n };\n\n const isIcon = iconOnly ?? iconOnlyProp;\n\n if (isIcon) {\n return (\n <HvIconButton {...commonButtonProps} title={label}>\n {renderedIcon}\n </HvIconButton>\n );\n }\n\n return (\n <HvButton {...commonButtonProps} startIcon={renderedIcon}>\n {label}\n </HvButton>\n );\n };\n\n const renderActionsGrid = () => {\n const actsVisible = actions.slice(0, maxVisibleActions);\n const actsDropdown = actions.slice(maxVisibleActions);\n\n const semantic = variant === \"semantic\";\n const iconColor =\n (disabled && \"secondary_60\") || (semantic && \"base_dark\") || undefined;\n\n return (\n <>\n {actsVisible.map((action, idx) => renderButton(action, idx))}\n <HvDropDownMenu\n id={setId(idProp, \"menu\")}\n disabled={disabled}\n variant={variant}\n classes={{\n root: classes.dropDownMenu,\n icon: classes.dropDownMenuButton,\n iconSelected: classes.dropDownMenuButtonSelected,\n }}\n icon={<MoreOptionsVertical color={iconColor} />}\n placement=\"left\"\n onClick={(event, action) =>\n handleCallback(event, idProp || \"\", action as HvActionGeneric)\n }\n dataList={actsDropdown}\n keepOpened={false}\n disablePortal={false}\n />\n </>\n );\n };\n\n const actionOverflow = actions.length > maxVisibleActions;\n\n return (\n <div\n className={cx(\n classes.root,\n { [classes.actionContainer]: actionOverflow },\n className\n )}\n {...others}\n >\n {actionOverflow\n ? renderActionsGrid()\n : actions.map((action, idx) => renderButton(action, idx))}\n </div>\n );\n};\n"],"names":["useDefaultProps","useClasses","isValidElement","setId","HvIconButton","HvButton","jsxs","Fragment","jsx","HvDropDownMenu","MoreOptionsVertical"],"mappings":";;;;;;;;;;;AAgEa,MAAA,mBAAmB,CAAC,UAAiC;AAC1D,QAAA;AAAA,IACJ,IAAI;AAAA,IACJ,SAAS;AAAA,IACT;AAAA,IACA,WAAW;AAAA;AAAA,IACX,SAAS;AAAA,IACT,WAAW;AAAA,IACX,UAAU,CAAC;AAAA,IACX;AAAA;AAAA,IACA;AAAA,IACA,oBAAoB;AAAA,IACpB,UAAU;AAAA,IACV,GAAG;AAAA,EAAA,IACDA,gBAAgB,gBAAA,oBAAoB,KAAK;AAE7C,QAAM,UAAU,eAAe;AAE/B,QAAM,EAAE,SAAS,GAAG,IAAIC,iCAAW,WAAW;AAE9C,QAAM,iBAA2D,CAC/D,OACA,IACA,WACG;AACe,sBAAA,OAAO,IAAI,MAAM;AACnC,eAAW,OAAO,MAAM;AAAA,EAAA;AAGtB,MAAA,CAAC,MAAM,QAAQ,OAAO;AAAU,WAAAC,qBAAe,OAAO,IAAI,UAAU;AAElE,QAAA,eAAe,CAAC,QAAyB,QAAgB;AACvD,UAAA;AAAA,MACJ,UAAU;AAAA,MACV,IAAI;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA,GAAG;AAAA,IACD,IAAA;AACJ,UAAM,WAAWC,MAAAA,MAAM,QAAQ,KAAK,UAAU,OAAO,EAAE;AAEjD,UAAA,eAAeD,qBAAe,IAAI,IACpC,OACC,OAAoB,EAAE,YAAY,SAAA,CAAU;AAEjD,UAAM,oBAAmC;AAAA,MACvC,KAAK,YAAY;AAAA,MACjB,IAAI;AAAA,MACJ;AAAA,MACA,WAAW,QAAQ;AAAA,MACnB,UAAU,eAAe;AAAA,MACzB,SAAS,CAAC,UAAU,eAAe,OAAO,UAAU,IAAI,MAAM;AAAA,MAC9D,GAAG;AAAA,IAAA;AAGL,UAAM,SAAS,YAAY;AAE3B,QAAI,QAAQ;AACV,4CACGE,yBAAc,EAAA,GAAG,mBAAmB,OAAO,OACzC,UACH,aAAA,CAAA;AAAA,IAEJ;AAEA,0CACGC,iBAAU,EAAA,GAAG,mBAAmB,WAAW,cACzC,UACH,MAAA,CAAA;AAAA,EAAA;AAIJ,QAAM,oBAAoB,MAAM;AAC9B,UAAM,cAAc,QAAQ,MAAM,GAAG,iBAAiB;AAChD,UAAA,eAAe,QAAQ,MAAM,iBAAiB;AAEpD,UAAM,WAAW,YAAY;AAC7B,UAAM,YACH,YAAY,kBAAoB,YAAY,eAAgB;AAE/D,WAEKC,2BAAA,KAAAC,qBAAA,EAAA,UAAA;AAAA,MAAA,YAAY,IAAI,CAAC,QAAQ,QAAQ,aAAa,QAAQ,GAAG,CAAC;AAAA,MAC3DC,2BAAA;AAAA,QAACC,aAAA;AAAA,QAAA;AAAA,UACC,IAAIN,MAAAA,MAAM,QAAQ,MAAM;AAAA,UACxB;AAAA,UACA;AAAA,UACA,SAAS;AAAA,YACP,MAAM,QAAQ;AAAA,YACd,MAAM,QAAQ;AAAA,YACd,cAAc,QAAQ;AAAA,UACxB;AAAA,UACA,MAAMK,2BAAAA,IAACE,gBAAAA,qBAAoB,EAAA,OAAO,UAAW,CAAA;AAAA,UAC7C,WAAU;AAAA,UACV,SAAS,CAAC,OAAO,WACf,eAAe,OAAO,UAAU,IAAI,MAAyB;AAAA,UAE/D,UAAU;AAAA,UACV,YAAY;AAAA,UACZ,eAAe;AAAA,QAAA;AAAA,MACjB;AAAA,IACF,EAAA,CAAA;AAAA,EAAA;AAIE,QAAA,iBAAiB,QAAQ,SAAS;AAGtC,SAAAF,2BAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW;AAAA,QACT,QAAQ;AAAA,QACR,EAAE,CAAC,QAAQ,eAAe,GAAG,eAAe;AAAA,QAC5C;AAAA,MACF;AAAA,MACC,GAAG;AAAA,MAEH,UAAA,iBACG,kBAAkB,IAClB,QAAQ,IAAI,CAAC,QAAQ,QAAQ,aAAa,QAAQ,GAAG,CAAC;AAAA,IAAA;AAAA,EAAA;AAGhE;;;"}
@@ -27,6 +27,8 @@ const HvBanner = (props) => {
27
27
  customIcon,
28
28
  actions,
29
29
  actionsCallback,
30
+ // TODO - remove in v6
31
+ onAction,
30
32
  actionsPosition = "auto",
31
33
  label,
32
34
  offset = 60,
@@ -75,6 +77,7 @@ const HvBanner = (props) => {
75
77
  showIcon,
76
78
  actions,
77
79
  actionsCallback,
80
+ onAction,
78
81
  actionsPosition,
79
82
  onClose,
80
83
  ...bannerContentProps
@@ -1 +1 @@
1
- {"version":3,"file":"Banner.cjs","sources":["../../../src/Banner/Banner.tsx"],"sourcesContent":["import { useCallback } from \"react\";\nimport Slide, { SlideProps } from \"@mui/material/Slide\";\nimport Snackbar, {\n SnackbarProps as MuiSnackbarProps,\n SnackbarOrigin,\n} from \"@mui/material/Snackbar\";\n\nimport { HvActionGeneric } from \"../ActionsGeneric\";\nimport { ExtractNames } from \"../utils/classes\";\nimport { setId } from \"../utils/setId\";\nimport { useDefaultProps } from \"../hooks/useDefaultProps\";\nimport { useClasses, staticClasses } from \"./Banner.styles\";\nimport {\n HvBannerContent,\n HvBannerContentProps,\n} from \"./BannerContent/BannerContent\";\nimport { HvBannerActionPosition, HvBannerVariant } from \"./types\";\n\nexport { staticClasses as bannerClasses };\n\nexport type HvBannerClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvBannerProps\n extends Omit<MuiSnackbarProps, \"anchorOrigin\" | \"classes\" | \"onClose\"> {\n /** If true, the snackbar is open. */\n open: boolean;\n /** Callback fired when the component requests to be closed. Typically onClose is used to set state in the parent component, which is used to control the Snackbar open prop. The reason parameter can optionally be used to control the response to onClose, for example ignoring clickaway. */\n onClose?: (event: React.MouseEvent<HTMLButtonElement>) => void;\n /** The message to display. */\n label?: string;\n /** The anchor of the Snackbar. */\n anchorOrigin?: \"top\" | \"bottom\";\n /** Variant of the snackbar. */\n variant?: HvBannerVariant;\n /** Custom icon to replace the variant default. */\n customIcon?: React.ReactNode;\n /** Controls if the associated icon to the variant should be shown. */\n showIcon?: boolean;\n /** Actions to display on the right side. */\n actions?: React.ReactNode | HvActionGeneric[];\n /** The callback function ran when an action is triggered, receiving `action` as param */\n actionsCallback?: (\n event: React.SyntheticEvent,\n id: string,\n action: HvActionGeneric\n ) => void;\n /** The position property of the header. */\n actionsPosition?: HvBannerActionPosition;\n /** How much the transition animation last in milliseconds, if 0 no animation is played. */\n transitionDuration?: number;\n /** Direction of slide transition. */\n transitionDirection?: \"up\" | \"down\" | \"left\" | \"right\";\n /** The container the banner should slide from. */\n container?: SlideProps[\"container\"];\n /** Offset from top/bottom of the page, in px. Defaults to 60px. */\n offset?: number;\n /** Props to pass down to the banner Wrapper. An object `actionProps` can be included to be passed as others to actions. */\n bannerContentProps?: HvBannerContentProps;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvBannerClasses;\n /** @ignore */\n ref?: MuiSnackbarProps[\"ref\"];\n}\n\n/**\n * A Banner displays an important and succinct message. It can also provide actions for the user to address, or dismiss.\n * It requires a user action, for it to be dismissed. Banners should appear at the top of the screen, below a top app bar.\n */\nexport const HvBanner = (props: HvBannerProps) => {\n const {\n id,\n classes: classesProp,\n className,\n open,\n onClose,\n anchorOrigin = \"top\",\n variant = \"default\",\n transitionDuration = 300,\n transitionDirection = \"down\",\n container,\n showIcon = false,\n customIcon,\n actions,\n actionsCallback,\n actionsPosition = \"auto\",\n label,\n offset = 60,\n bannerContentProps,\n ...others\n } = useDefaultProps(\"HvBanner\", props);\n const { classes, cx } = useClasses(classesProp);\n\n const anchorOriginBanner: SnackbarOrigin = {\n horizontal: \"center\",\n vertical: anchorOrigin,\n };\n\n const SlideTransition = useCallback<\n NonNullable<MuiSnackbarProps[\"TransitionComponent\"]>\n >(\n (properties) => (\n <Slide\n {...properties}\n container={container}\n direction={transitionDirection}\n />\n ),\n [container, transitionDirection]\n );\n\n return (\n <Snackbar\n id={id}\n open={open}\n className={className}\n classes={{\n root: cx(classes.root, { [classes.rootClosed]: !open }),\n anchorOriginTopCenter: classes.anchorOriginTopCenter,\n anchorOriginBottomCenter: classes.anchorOriginBottomCenter,\n }}\n style={{ [anchorOrigin]: offset }}\n anchorOrigin={anchorOriginBanner}\n TransitionComponent={SlideTransition}\n transitionDuration={transitionDuration}\n {...others}\n >\n <HvBannerContent\n id={setId(id, \"content\")}\n content={label}\n variant={variant}\n customIcon={customIcon}\n showIcon={showIcon}\n actions={actions}\n actionsCallback={actionsCallback}\n actionsPosition={actionsPosition}\n onClose={onClose}\n {...bannerContentProps}\n />\n </Snackbar>\n );\n};\n"],"names":["useDefaultProps","useClasses","useCallback","jsx","Slide","Snackbar","HvBannerContent","setId"],"mappings":";;;;;;;;;;;;;AAoEa,MAAA,WAAW,CAAC,UAAyB;AAC1C,QAAA;AAAA,IACJ;AAAA,IACA,SAAS;AAAA,IACT;AAAA,IACA;AAAA,IACA;AAAA,IACA,eAAe;AAAA,IACf,UAAU;AAAA,IACV,qBAAqB;AAAA,IACrB,sBAAsB;AAAA,IACtB;AAAA,IACA,WAAW;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,IACA,kBAAkB;AAAA,IAClB;AAAA,IACA,SAAS;AAAA,IACT;AAAA,IACA,GAAG;AAAA,EAAA,IACDA,gBAAgB,gBAAA,YAAY,KAAK;AACrC,QAAM,EAAE,SAAS,GAAG,IAAIC,yBAAW,WAAW;AAE9C,QAAM,qBAAqC;AAAA,IACzC,YAAY;AAAA,IACZ,UAAU;AAAA,EAAA;AAGZ,QAAM,kBAAkBC,MAAA;AAAA,IAGtB,CAAC,eACCC,2BAAA;AAAA,MAACC,eAAA;AAAA,MAAA;AAAA,QACE,GAAG;AAAA,QACJ;AAAA,QACA,WAAW;AAAA,MAAA;AAAA,IACb;AAAA,IAEF,CAAC,WAAW,mBAAmB;AAAA,EAAA;AAI/B,SAAAD,2BAAA;AAAA,IAACE,kBAAA;AAAA,IAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA,SAAS;AAAA,QACP,MAAM,GAAG,QAAQ,MAAM,EAAE,CAAC,QAAQ,UAAU,GAAG,CAAC,MAAM;AAAA,QACtD,uBAAuB,QAAQ;AAAA,QAC/B,0BAA0B,QAAQ;AAAA,MACpC;AAAA,MACA,OAAO,EAAE,CAAC,YAAY,GAAG,OAAO;AAAA,MAChC,cAAc;AAAA,MACd,qBAAqB;AAAA,MACrB;AAAA,MACC,GAAG;AAAA,MAEJ,UAAAF,2BAAA;AAAA,QAACG,cAAA;AAAA,QAAA;AAAA,UACC,IAAIC,MAAAA,MAAM,IAAI,SAAS;AAAA,UACvB,SAAS;AAAA,UACT;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACC,GAAG;AAAA,QAAA;AAAA,MACN;AAAA,IAAA;AAAA,EAAA;AAGN;;;"}
1
+ {"version":3,"file":"Banner.cjs","sources":["../../../src/Banner/Banner.tsx"],"sourcesContent":["import { useCallback } from \"react\";\nimport Slide, { SlideProps } from \"@mui/material/Slide\";\nimport Snackbar, {\n SnackbarProps as MuiSnackbarProps,\n SnackbarOrigin,\n} from \"@mui/material/Snackbar\";\n\nimport { HvActionsGenericProps } from \"../ActionsGeneric\";\nimport { ExtractNames } from \"../utils/classes\";\nimport { setId } from \"../utils/setId\";\nimport { useDefaultProps } from \"../hooks/useDefaultProps\";\nimport { useClasses, staticClasses } from \"./Banner.styles\";\nimport {\n HvBannerContent,\n HvBannerContentProps,\n} from \"./BannerContent/BannerContent\";\nimport { HvBannerActionPosition, HvBannerVariant } from \"./types\";\n\nexport { staticClasses as bannerClasses };\n\nexport type HvBannerClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvBannerProps\n extends Omit<MuiSnackbarProps, \"anchorOrigin\" | \"classes\" | \"onClose\"> {\n /** If true, the snackbar is open. */\n open: boolean;\n /**\n * Callback fired when the component requests to be closed.\n * Typically onClose is used to set state in the parent component, which is used to control the Snackbar open prop.\n * The reason parameter can optionally be used to control the response to onClose, for example ignoring click away.\n * */\n onClose?: (event: React.MouseEvent<HTMLButtonElement>) => void;\n /** The message to display. */\n label?: string;\n /** The anchor of the Snackbar. */\n anchorOrigin?: \"top\" | \"bottom\";\n /** Variant of the snackbar. */\n variant?: HvBannerVariant;\n /** Custom icon to replace the variant default. */\n customIcon?: React.ReactNode;\n /** Controls if the associated icon to the variant should be shown. */\n showIcon?: boolean;\n /** Actions to display on the right side. */\n actions?: HvActionsGenericProps[\"actions\"];\n /**\n * The callback function called when an action is triggered, receiving `action` as parameter.\n *\n * @deprecated Use `onAction` instead.\n * */\n actionsCallback?: HvActionsGenericProps[\"actionsCallback\"];\n /** The callback function called when an action is triggered, receiving `action` as parameter. */\n onAction?: HvActionsGenericProps[\"onAction\"];\n /** The position property of the header. */\n actionsPosition?: HvBannerActionPosition;\n /** How much the transition animation last in milliseconds, if 0 no animation is played. */\n transitionDuration?: number;\n /** Direction of slide transition. */\n transitionDirection?: \"up\" | \"down\" | \"left\" | \"right\";\n /** The container the banner should slide from. */\n container?: SlideProps[\"container\"];\n /** Offset from top/bottom of the page, in px. Defaults to 60px. */\n offset?: number;\n /** Props to pass down to the banner Wrapper. An object `actionProps` can be included to be passed as others to actions. */\n bannerContentProps?: HvBannerContentProps;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvBannerClasses;\n /** @ignore */\n ref?: MuiSnackbarProps[\"ref\"];\n}\n\n/**\n * A Banner displays an important and succinct message. It can also provide actions for the user to address, or dismiss.\n * It requires a user action, for it to be dismissed. Banners should appear at the top of the screen, below a top app bar.\n */\nexport const HvBanner = (props: HvBannerProps) => {\n const {\n id,\n classes: classesProp,\n className,\n open,\n onClose,\n anchorOrigin = \"top\",\n variant = \"default\",\n transitionDuration = 300,\n transitionDirection = \"down\",\n container,\n showIcon = false,\n customIcon,\n actions,\n actionsCallback, // TODO - remove in v6\n onAction,\n actionsPosition = \"auto\",\n label,\n offset = 60,\n bannerContentProps,\n ...others\n } = useDefaultProps(\"HvBanner\", props);\n const { classes, cx } = useClasses(classesProp);\n\n const anchorOriginBanner: SnackbarOrigin = {\n horizontal: \"center\",\n vertical: anchorOrigin,\n };\n\n const SlideTransition = useCallback<\n NonNullable<MuiSnackbarProps[\"TransitionComponent\"]>\n >(\n (properties) => (\n <Slide\n {...properties}\n container={container}\n direction={transitionDirection}\n />\n ),\n [container, transitionDirection]\n );\n\n return (\n <Snackbar\n id={id}\n open={open}\n className={className}\n classes={{\n root: cx(classes.root, { [classes.rootClosed]: !open }),\n anchorOriginTopCenter: classes.anchorOriginTopCenter,\n anchorOriginBottomCenter: classes.anchorOriginBottomCenter,\n }}\n style={{ [anchorOrigin]: offset }}\n anchorOrigin={anchorOriginBanner}\n TransitionComponent={SlideTransition}\n transitionDuration={transitionDuration}\n {...others}\n >\n <HvBannerContent\n id={setId(id, \"content\")}\n content={label}\n variant={variant}\n customIcon={customIcon}\n showIcon={showIcon}\n actions={actions}\n actionsCallback={actionsCallback}\n onAction={onAction}\n actionsPosition={actionsPosition}\n onClose={onClose}\n {...bannerContentProps}\n />\n </Snackbar>\n );\n};\n"],"names":["useDefaultProps","useClasses","useCallback","jsx","Slide","Snackbar","HvBannerContent","setId"],"mappings":";;;;;;;;;;;;;AA0Ea,MAAA,WAAW,CAAC,UAAyB;AAC1C,QAAA;AAAA,IACJ;AAAA,IACA,SAAS;AAAA,IACT;AAAA,IACA;AAAA,IACA;AAAA,IACA,eAAe;AAAA,IACf,UAAU;AAAA,IACV,qBAAqB;AAAA,IACrB,sBAAsB;AAAA,IACtB;AAAA,IACA,WAAW;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA,kBAAkB;AAAA,IAClB;AAAA,IACA,SAAS;AAAA,IACT;AAAA,IACA,GAAG;AAAA,EAAA,IACDA,gBAAgB,gBAAA,YAAY,KAAK;AACrC,QAAM,EAAE,SAAS,GAAG,IAAIC,yBAAW,WAAW;AAE9C,QAAM,qBAAqC;AAAA,IACzC,YAAY;AAAA,IACZ,UAAU;AAAA,EAAA;AAGZ,QAAM,kBAAkBC,MAAA;AAAA,IAGtB,CAAC,eACCC,2BAAA;AAAA,MAACC,eAAA;AAAA,MAAA;AAAA,QACE,GAAG;AAAA,QACJ;AAAA,QACA,WAAW;AAAA,MAAA;AAAA,IACb;AAAA,IAEF,CAAC,WAAW,mBAAmB;AAAA,EAAA;AAI/B,SAAAD,2BAAA;AAAA,IAACE,kBAAA;AAAA,IAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA,SAAS;AAAA,QACP,MAAM,GAAG,QAAQ,MAAM,EAAE,CAAC,QAAQ,UAAU,GAAG,CAAC,MAAM;AAAA,QACtD,uBAAuB,QAAQ;AAAA,QAC/B,0BAA0B,QAAQ;AAAA,MACpC;AAAA,MACA,OAAO,EAAE,CAAC,YAAY,GAAG,OAAO;AAAA,MAChC,cAAc;AAAA,MACd,qBAAqB;AAAA,MACrB;AAAA,MACC,GAAG;AAAA,MAEJ,UAAAF,2BAAA;AAAA,QAACG,cAAA;AAAA,QAAA;AAAA,UACC,IAAIC,MAAAA,MAAM,IAAI,SAAS;AAAA,UACvB,SAAS;AAAA,UACT;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACC,GAAG;AAAA,QAAA;AAAA,MACN;AAAA,IAAA;AAAA,EAAA;AAGN;;;"}
@@ -12,6 +12,8 @@ const HvActionContainer = (props) => {
12
12
  onClose,
13
13
  action,
14
14
  actionCallback,
15
+ // TODO - remove in v6
16
+ onAction,
15
17
  ...others
16
18
  } = props;
17
19
  const { classes } = ActionContainer_styles.useClasses(classesProp);
@@ -33,9 +35,10 @@ const HvActionContainer = (props) => {
33
35
  ActionsGeneric.HvActionsGeneric,
34
36
  {
35
37
  id,
36
- category: "semantic",
38
+ variant: "semantic",
37
39
  actions: action,
38
- actionsCallback: actionCallback
40
+ actionsCallback: actionCallback,
41
+ onAction
39
42
  }
40
43
  ) })
41
44
  ] });
@@ -1 +1 @@
1
- {"version":3,"file":"ActionContainer.cjs","sources":["../../../../../src/Banner/BannerContent/ActionContainer/ActionContainer.tsx"],"sourcesContent":["import { Close } from \"@hitachivantara/uikit-react-icons\";\n\nimport { HvBaseProps } from \"../../../types/generic\";\nimport { HvActionGeneric, HvActionsGeneric } from \"../../../ActionsGeneric\";\nimport { HvButton } from \"../../../Button\";\nimport { ExtractNames } from \"../../../utils/classes\";\n\nimport { staticClasses, useClasses } from \"./ActionContainer.styles\";\n\nexport { staticClasses as actionContainerClasses };\n\nexport type HvActionContainerClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvActionContainerProps extends HvBaseProps<HTMLButtonElement> {\n /** onClose function. */\n onClose?: (event: React.MouseEvent<HTMLButtonElement>) => void;\n /** Actions to display. */\n action?: React.ReactNode | HvActionGeneric[];\n /** The callback function ran when an action is triggered, receiving `action` as param */\n actionCallback?: (\n event: React.SyntheticEvent,\n id: string,\n action: HvActionGeneric\n ) => void;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvActionContainerClasses;\n}\n\nexport const HvActionContainer = (props: HvActionContainerProps) => {\n const {\n id,\n classes: classesProp,\n onClose,\n action,\n actionCallback,\n ...others\n } = props;\n const { classes } = useClasses(classesProp);\n return (\n <div className={classes.actionContainer}>\n <HvButton\n icon\n className={classes.closeAction}\n variant=\"semantic\"\n aria-label=\"Close\"\n onClick={onClose}\n tabIndex={0}\n {...others}\n >\n <Close iconSize=\"XS\" className={classes.iconContainer} color=\"base2\" />\n </HvButton>\n {action && (\n <div className={classes.actionsInnerContainer}>\n <HvActionsGeneric\n id={id}\n category=\"semantic\"\n actions={action}\n actionsCallback={actionCallback}\n />\n </div>\n )}\n </div>\n );\n};\n"],"names":["useClasses","jsxs","jsx","HvButton","Close","HvActionsGeneric"],"mappings":";;;;;;;AA4Ba,MAAA,oBAAoB,CAAC,UAAkC;AAC5D,QAAA;AAAA,IACJ;AAAA,IACA,SAAS;AAAA,IACT;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACD,IAAA;AACJ,QAAM,EAAE,QAAA,IAAYA,uBAAA,WAAW,WAAW;AAC1C,SACGC,2BAAAA,KAAA,OAAA,EAAI,WAAW,QAAQ,iBACtB,UAAA;AAAA,IAAAC,2BAAA;AAAA,MAACC,OAAA;AAAA,MAAA;AAAA,QACC,MAAI;AAAA,QACJ,WAAW,QAAQ;AAAA,QACnB,SAAQ;AAAA,QACR,cAAW;AAAA,QACX,SAAS;AAAA,QACT,UAAU;AAAA,QACT,GAAG;AAAA,QAEJ,UAAAD,2BAAA,IAACE,yBAAM,UAAS,MAAK,WAAW,QAAQ,eAAe,OAAM,QAAQ,CAAA;AAAA,MAAA;AAAA,IACvE;AAAA,IACC,UACCF,2BAAA,IAAC,OAAI,EAAA,WAAW,QAAQ,uBACtB,UAAAA,2BAAA;AAAA,MAACG,eAAA;AAAA,MAAA;AAAA,QACC;AAAA,QACA,UAAS;AAAA,QACT,SAAS;AAAA,QACT,iBAAiB;AAAA,MAAA;AAAA,IAAA,GAErB;AAAA,EAEJ,EAAA,CAAA;AAEJ;;;"}
1
+ {"version":3,"file":"ActionContainer.cjs","sources":["../../../../../src/Banner/BannerContent/ActionContainer/ActionContainer.tsx"],"sourcesContent":["import { Close } from \"@hitachivantara/uikit-react-icons\";\n\nimport { HvBaseProps } from \"../../../types/generic\";\nimport {\n HvActionsGeneric,\n HvActionsGenericProps,\n} from \"../../../ActionsGeneric\";\nimport { HvButton } from \"../../../Button\";\nimport { ExtractNames } from \"../../../utils/classes\";\nimport { staticClasses, useClasses } from \"./ActionContainer.styles\";\n\nexport { staticClasses as actionContainerClasses };\n\nexport type HvActionContainerClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvActionContainerProps\n extends HvBaseProps<HTMLButtonElement>,\n Pick<Partial<HvActionsGenericProps>, \"onAction\"> {\n /** Function called when clicking on the close button. */\n onClose?: (event: React.MouseEvent<HTMLButtonElement>) => void;\n /** Actions to display. */\n action?: HvActionsGenericProps[\"actions\"]; // TODO - rename to actions in v6\n /**\n * The callback function called when an action is triggered, receiving `action` as parameter.\n *\n * @deprecated Use `onAction` instead.\n * */\n actionCallback?: HvActionsGenericProps[\"actionsCallback\"];\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvActionContainerClasses;\n}\n\nexport const HvActionContainer = (props: HvActionContainerProps) => {\n const {\n id,\n classes: classesProp,\n onClose,\n action,\n actionCallback, // TODO - remove in v6\n onAction,\n ...others\n } = props;\n const { classes } = useClasses(classesProp);\n return (\n <div className={classes.actionContainer}>\n <HvButton\n icon\n className={classes.closeAction}\n variant=\"semantic\"\n aria-label=\"Close\"\n onClick={onClose}\n tabIndex={0}\n {...others}\n >\n <Close iconSize=\"XS\" className={classes.iconContainer} color=\"base2\" />\n </HvButton>\n {action && (\n <div className={classes.actionsInnerContainer}>\n <HvActionsGeneric\n id={id}\n variant=\"semantic\"\n actions={action}\n actionsCallback={actionCallback}\n onAction={onAction}\n />\n </div>\n )}\n </div>\n );\n};\n"],"names":["useClasses","jsxs","jsx","HvButton","Close","HvActionsGeneric"],"mappings":";;;;;;;AAgCa,MAAA,oBAAoB,CAAC,UAAkC;AAC5D,QAAA;AAAA,IACJ;AAAA,IACA,SAAS;AAAA,IACT;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACD,IAAA;AACJ,QAAM,EAAE,QAAA,IAAYA,uBAAA,WAAW,WAAW;AAC1C,SACGC,2BAAAA,KAAA,OAAA,EAAI,WAAW,QAAQ,iBACtB,UAAA;AAAA,IAAAC,2BAAA;AAAA,MAACC,OAAA;AAAA,MAAA;AAAA,QACC,MAAI;AAAA,QACJ,WAAW,QAAQ;AAAA,QACnB,SAAQ;AAAA,QACR,cAAW;AAAA,QACX,SAAS;AAAA,QACT,UAAU;AAAA,QACT,GAAG;AAAA,QAEJ,UAAAD,2BAAA,IAACE,yBAAM,UAAS,MAAK,WAAW,QAAQ,eAAe,OAAM,QAAQ,CAAA;AAAA,MAAA;AAAA,IACvE;AAAA,IACC,UACCF,2BAAA,IAAC,OAAI,EAAA,WAAW,QAAQ,uBACtB,UAAAA,2BAAA;AAAA,MAACG,eAAA;AAAA,MAAA;AAAA,QACC;AAAA,QACA,SAAQ;AAAA,QACR,SAAS;AAAA,QACT,iBAAiB;AAAA,QACjB;AAAA,MAAA;AAAA,IAAA,GAEJ;AAAA,EAEJ,EAAA,CAAA;AAEJ;;;"}
@@ -20,6 +20,8 @@ const HvBannerContent = React.forwardRef(
20
20
  onClose,
21
21
  actions,
22
22
  actionsCallback,
23
+ // TODO - remove in v6
24
+ onAction,
23
25
  actionsPosition = "auto",
24
26
  content,
25
27
  actionProps,
@@ -45,8 +47,9 @@ const HvBannerContent = React.forwardRef(
45
47
  id,
46
48
  icon,
47
49
  ...effectiveActionsPosition === "inline" && {
48
- actionsOnMessage: actions,
49
- actionsOnMessageCallback: actionsCallback
50
+ actions,
51
+ actionsOnMessageCallback: actionsCallback,
52
+ onAction
50
53
  },
51
54
  message: content
52
55
  }
@@ -58,7 +61,8 @@ const HvBannerContent = React.forwardRef(
58
61
  onClose,
59
62
  ...effectiveActionsPosition === "bottom-right" && {
60
63
  action: actions,
61
- actionCallback: actionsCallback
64
+ actionCallback: actionsCallback,
65
+ onAction
62
66
  },
63
67
  ...actionProps
64
68
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BannerContent.cjs","sources":["../../../../src/Banner/BannerContent/BannerContent.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\n\nimport SnackbarContent, {\n SnackbarContentProps as MuiSnackbarContentProps,\n} from \"@mui/material/SnackbarContent\";\n\nimport { iconVariant } from \"../../utils/iconVariant\";\nimport { ExtractNames } from \"../../utils/classes\";\nimport { HvActionGeneric } from \"../../ActionsGeneric\";\n\nimport { HvBannerActionPosition, HvBannerVariant } from \"../types\";\nimport { HvActionContainer, HvActionContainerProps } from \"./ActionContainer\";\nimport { HvMessageContainer } from \"./MessageContainer\";\nimport { useClasses, staticClasses } from \"./BannerContent.styles\";\n\nexport { staticClasses as bannerContentClasses };\n\nexport type HvBannerContentClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvBannerContentProps\n extends Omit<MuiSnackbarContentProps, \"variant\" | \"classes\" | \"onClose\"> {\n /** The message to display. */\n content?: string;\n /** Variant of the snackbar. */\n variant?: HvBannerVariant;\n /** Controls if the associated icon to the variant should be shown. */\n showIcon?: boolean;\n /** Custom icon to replace the variant default. */\n customIcon?: React.ReactNode;\n /** onClose function. */\n onClose?: (event: React.MouseEvent<HTMLButtonElement>) => void;\n /** Actions to display on the right side. */\n actions?: React.ReactNode | HvActionGeneric[];\n /** The callback function ran when an action is triggered, receiving `action` as param */\n actionsCallback?: (\n event: React.SyntheticEvent,\n id: string,\n action: HvActionGeneric\n ) => void;\n /** The position property of the header. */\n actionsPosition?: HvBannerActionPosition;\n /** The props to pass down to the Action Container. */\n actionProps?: HvActionContainerProps;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvBannerContentClasses;\n}\n\nexport const HvBannerContent = forwardRef<HTMLDivElement, HvBannerContentProps>(\n (props, ref) => {\n const {\n id,\n classes: classesProp,\n showIcon = false,\n customIcon,\n variant = \"default\",\n onClose,\n actions,\n actionsCallback,\n actionsPosition = \"auto\",\n content,\n actionProps,\n ...others\n } = props;\n const { classes, cx } = useClasses(classesProp);\n const icon = customIcon || (showIcon && iconVariant(variant, \"base_dark\"));\n\n // default to inline\n // this might try to be more intelligent in the future,\n // taking into account the content length, available space,\n // number of actions, etc..\n const effectiveActionsPosition =\n actionsPosition === \"auto\" ? \"inline\" : actionsPosition;\n\n return (\n <div className={classes.outContainer}>\n <SnackbarContent\n ref={ref}\n id={id}\n classes={{\n root: classes.root,\n message: classes.message,\n action: classes.action,\n }}\n className={cx(classes?.baseVariant, classes?.[variant])}\n message={\n <HvMessageContainer\n id={id}\n icon={icon}\n {...(effectiveActionsPosition === \"inline\" && {\n actionsOnMessage: actions,\n actionsOnMessageCallback: actionsCallback,\n })}\n message={content}\n />\n }\n action={\n <HvActionContainer\n id={id}\n onClose={onClose}\n {...(effectiveActionsPosition === \"bottom-right\" && {\n action: actions,\n actionCallback: actionsCallback,\n })}\n {...actionProps}\n />\n }\n {...others}\n />\n </div>\n );\n }\n);\n"],"names":["forwardRef","useClasses","iconVariant","jsx","SnackbarContent","HvMessageContainer","HvActionContainer"],"mappings":";;;;;;;;;;;AA+CO,MAAM,kBAAkBA,MAAA;AAAA,EAC7B,CAAC,OAAO,QAAQ;AACR,UAAA;AAAA,MACJ;AAAA,MACA,SAAS;AAAA,MACT,WAAW;AAAA,MACX;AAAA,MACA,UAAU;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,MACA,kBAAkB;AAAA,MAClB;AAAA,MACA;AAAA,MACA,GAAG;AAAA,IACD,IAAA;AACJ,UAAM,EAAE,SAAS,GAAG,IAAIC,gCAAW,WAAW;AAC9C,UAAM,OAAO,cAAe,YAAYC,YAAAA,YAAY,SAAS,WAAW;AAMlE,UAAA,2BACJ,oBAAoB,SAAS,WAAW;AAE1C,WACGC,2BAAAA,IAAA,OAAA,EAAI,WAAW,QAAQ,cACtB,UAAAA,2BAAA;AAAA,MAACC,yBAAA;AAAA,MAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA,SAAS;AAAA,UACP,MAAM,QAAQ;AAAA,UACd,SAAS,QAAQ;AAAA,UACjB,QAAQ,QAAQ;AAAA,QAClB;AAAA,QACA,WAAW,GAAG,SAAS,aAAa,UAAU,OAAO,CAAC;AAAA,QACtD,SACED,2BAAA;AAAA,UAACE,iBAAA;AAAA,UAAA;AAAA,YACC;AAAA,YACA;AAAA,YACC,GAAI,6BAA6B,YAAY;AAAA,cAC5C,kBAAkB;AAAA,cAClB,0BAA0B;AAAA,YAC5B;AAAA,YACA,SAAS;AAAA,UAAA;AAAA,QACX;AAAA,QAEF,QACEF,2BAAA;AAAA,UAACG,gBAAA;AAAA,UAAA;AAAA,YACC;AAAA,YACA;AAAA,YACC,GAAI,6BAA6B,kBAAkB;AAAA,cAClD,QAAQ;AAAA,cACR,gBAAgB;AAAA,YAClB;AAAA,YACC,GAAG;AAAA,UAAA;AAAA,QACN;AAAA,QAED,GAAG;AAAA,MAAA;AAAA,IAER,EAAA,CAAA;AAAA,EAEJ;AACF;;;"}
1
+ {"version":3,"file":"BannerContent.cjs","sources":["../../../../src/Banner/BannerContent/BannerContent.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport SnackbarContent, {\n SnackbarContentProps as MuiSnackbarContentProps,\n} from \"@mui/material/SnackbarContent\";\n\nimport { iconVariant } from \"../../utils/iconVariant\";\nimport { ExtractNames } from \"../../utils/classes\";\nimport { HvActionsGenericProps } from \"../../ActionsGeneric\";\nimport { HvBannerActionPosition, HvBannerVariant } from \"../types\";\nimport { HvActionContainer, HvActionContainerProps } from \"./ActionContainer\";\nimport { HvMessageContainer } from \"./MessageContainer\";\nimport { useClasses, staticClasses } from \"./BannerContent.styles\";\n\nexport { staticClasses as bannerContentClasses };\n\nexport type HvBannerContentClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvBannerContentProps\n extends Omit<MuiSnackbarContentProps, \"variant\" | \"classes\" | \"onClose\"> {\n /** The message to display. */\n content?: string;\n /** Variant of the snackbar. */\n variant?: HvBannerVariant;\n /** Controls if the associated icon to the variant should be shown. */\n showIcon?: boolean;\n /** Custom icon to replace the variant default. */\n customIcon?: React.ReactNode;\n /** Function called when clicking on the close button. */\n onClose?: (event: React.MouseEvent<HTMLButtonElement>) => void;\n /** Actions to display on the right side. */\n actions?: HvActionsGenericProps[\"actions\"];\n /**\n * The callback function called when an action is triggered, receiving `action` as parameter.\n *\n * @deprecated Use `onAction` instead.\n * */\n actionsCallback?: HvActionsGenericProps[\"actionsCallback\"];\n /** The callback function called when an action is triggered, receiving `action` as parameter. */\n onAction?: HvActionsGenericProps[\"onAction\"];\n /** The position property of the header. */\n actionsPosition?: HvBannerActionPosition;\n /** The props to pass down to the Action Container. */\n actionProps?: HvActionContainerProps;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvBannerContentClasses;\n}\n\nexport const HvBannerContent = forwardRef<HTMLDivElement, HvBannerContentProps>(\n (props, ref) => {\n const {\n id,\n classes: classesProp,\n showIcon = false,\n customIcon,\n variant = \"default\",\n onClose,\n actions,\n actionsCallback, // TODO - remove in v6\n onAction,\n actionsPosition = \"auto\",\n content,\n actionProps,\n ...others\n } = props;\n const { classes, cx } = useClasses(classesProp);\n const icon = customIcon || (showIcon && iconVariant(variant, \"base_dark\"));\n\n // default to inline\n // this might try to be more intelligent in the future,\n // taking into account the content length, available space,\n // number of actions, etc..\n const effectiveActionsPosition =\n actionsPosition === \"auto\" ? \"inline\" : actionsPosition;\n\n return (\n <div className={classes.outContainer}>\n <SnackbarContent\n ref={ref}\n id={id}\n classes={{\n root: classes.root,\n message: classes.message,\n action: classes.action,\n }}\n className={cx(classes?.baseVariant, classes?.[variant])}\n message={\n <HvMessageContainer\n id={id}\n icon={icon}\n {...(effectiveActionsPosition === \"inline\" && {\n actions,\n actionsOnMessageCallback: actionsCallback,\n onAction,\n })}\n message={content}\n />\n }\n action={\n <HvActionContainer\n id={id}\n onClose={onClose}\n {...(effectiveActionsPosition === \"bottom-right\" && {\n action: actions,\n actionCallback: actionsCallback,\n onAction,\n })}\n {...actionProps}\n />\n }\n {...others}\n />\n </div>\n );\n }\n);\n"],"names":["forwardRef","useClasses","iconVariant","jsx","SnackbarContent","HvMessageContainer","HvActionContainer"],"mappings":";;;;;;;;;;;AA+CO,MAAM,kBAAkBA,MAAA;AAAA,EAC7B,CAAC,OAAO,QAAQ;AACR,UAAA;AAAA,MACJ;AAAA,MACA,SAAS;AAAA,MACT,WAAW;AAAA,MACX;AAAA,MACA,UAAU;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA;AAAA,MACA;AAAA,MACA,kBAAkB;AAAA,MAClB;AAAA,MACA;AAAA,MACA,GAAG;AAAA,IACD,IAAA;AACJ,UAAM,EAAE,SAAS,GAAG,IAAIC,gCAAW,WAAW;AAC9C,UAAM,OAAO,cAAe,YAAYC,YAAAA,YAAY,SAAS,WAAW;AAMlE,UAAA,2BACJ,oBAAoB,SAAS,WAAW;AAE1C,WACGC,2BAAAA,IAAA,OAAA,EAAI,WAAW,QAAQ,cACtB,UAAAA,2BAAA;AAAA,MAACC,yBAAA;AAAA,MAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA,SAAS;AAAA,UACP,MAAM,QAAQ;AAAA,UACd,SAAS,QAAQ;AAAA,UACjB,QAAQ,QAAQ;AAAA,QAClB;AAAA,QACA,WAAW,GAAG,SAAS,aAAa,UAAU,OAAO,CAAC;AAAA,QACtD,SACED,2BAAA;AAAA,UAACE,iBAAA;AAAA,UAAA;AAAA,YACC;AAAA,YACA;AAAA,YACC,GAAI,6BAA6B,YAAY;AAAA,cAC5C;AAAA,cACA,0BAA0B;AAAA,cAC1B;AAAA,YACF;AAAA,YACA,SAAS;AAAA,UAAA;AAAA,QACX;AAAA,QAEF,QACEF,2BAAA;AAAA,UAACG,gBAAA;AAAA,UAAA;AAAA,YACC;AAAA,YACA;AAAA,YACC,GAAI,6BAA6B,kBAAkB;AAAA,cAClD,QAAQ;AAAA,cACR,gBAAgB;AAAA,cAChB;AAAA,YACF;AAAA,YACC,GAAG;AAAA,UAAA;AAAA,QACN;AAAA,QAED,GAAG;AAAA,MAAA;AAAA,IAER,EAAA,CAAA;AAAA,EAEJ;AACF;;;"}
@@ -10,14 +10,18 @@ const HvMessageContainer = ({
10
10
  classes: classesProp,
11
11
  icon,
12
12
  actionsOnMessage,
13
+ // TODO - remove in v6
13
14
  actionsOnMessageCallback,
15
+ // TODO - remove in v6
16
+ actions,
17
+ onAction,
14
18
  message
15
19
  }) => {
16
20
  const { classes } = MessageContainer_styles.useClasses(classesProp);
17
21
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
18
22
  icon && /* @__PURE__ */ jsxRuntime.jsx("div", { className: classes.iconContainer, children: icon }),
19
23
  /* @__PURE__ */ jsxRuntime.jsx(Typography.HvTypography, { id: setId.setId(id, "message-text"), className: classes.message, children: message }),
20
- actionsOnMessage && /* @__PURE__ */ jsxRuntime.jsx(
24
+ (actionsOnMessage ?? actions) && /* @__PURE__ */ jsxRuntime.jsx(
21
25
  "div",
22
26
  {
23
27
  id: setId.setId(id, "message-actions"),
@@ -26,9 +30,10 @@ const HvMessageContainer = ({
26
30
  ActionsGeneric.HvActionsGeneric,
27
31
  {
28
32
  id,
29
- category: "semantic",
30
- actions: actionsOnMessage,
31
- actionsCallback: actionsOnMessageCallback
33
+ variant: "semantic",
34
+ actions: actionsOnMessage ?? actions,
35
+ actionsCallback: actionsOnMessageCallback,
36
+ onAction
32
37
  }
33
38
  )
34
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MessageContainer.cjs","sources":["../../../../../src/Banner/BannerContent/MessageContainer/MessageContainer.tsx"],"sourcesContent":["import { HvBaseProps } from \"../../../types/generic\";\nimport { HvActionGeneric, HvActionsGeneric } from \"../../../ActionsGeneric\";\nimport { HvTypography } from \"../../../Typography\";\nimport { ExtractNames } from \"../../../utils/classes\";\nimport { setId } from \"../../../utils/setId\";\n\nimport { staticClasses, useClasses } from \"./MessageContainer.styles\";\n\nexport { staticClasses as messageContainerClasses };\n\nexport type HvMessageContainerClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvMessageContainerProps extends HvBaseProps {\n /** Icon to be presented. */\n icon?: React.ReactNode;\n /** The message to display. */\n message?: React.ReactNode;\n /** Actions to display on message. */\n actionsOnMessage?: React.ReactNode | HvActionGeneric[];\n /** The callback function ran when an action is triggered, receiving `actionsOnMessage` as param */\n actionsOnMessageCallback?: (\n event: React.SyntheticEvent,\n id: string,\n action: HvActionGeneric\n ) => void;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvMessageContainerClasses;\n}\n\nexport const HvMessageContainer = ({\n id,\n classes: classesProp,\n icon,\n actionsOnMessage,\n actionsOnMessageCallback,\n message,\n}: HvMessageContainerProps) => {\n const { classes } = useClasses(classesProp);\n\n return (\n <>\n {icon && <div className={classes.iconContainer}>{icon}</div>}\n <HvTypography id={setId(id, \"message-text\")} className={classes.message}>\n {message}\n </HvTypography>\n {actionsOnMessage && (\n <div\n id={setId(id, \"message-actions\")}\n className={classes.actionMessageContainer}\n >\n <HvActionsGeneric\n id={id}\n category=\"semantic\"\n actions={actionsOnMessage}\n actionsCallback={actionsOnMessageCallback}\n />\n </div>\n )}\n </>\n );\n};\n"],"names":["useClasses","jsxs","Fragment","jsx","HvTypography","setId","HvActionsGeneric"],"mappings":";;;;;;;AA6BO,MAAM,qBAAqB,CAAC;AAAA,EACjC;AAAA,EACA,SAAS;AAAA,EACT;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAA+B;AAC7B,QAAM,EAAE,QAAA,IAAYA,wBAAA,WAAW,WAAW;AAE1C,SAEKC,2BAAA,KAAAC,qBAAA,EAAA,UAAA;AAAA,IAAA,QAASC,2BAAAA,IAAA,OAAA,EAAI,WAAW,QAAQ,eAAgB,UAAK,MAAA;AAAA,IACtDA,2BAAAA,IAACC,WAAAA,cAAa,EAAA,IAAIC,MAAAA,MAAM,IAAI,cAAc,GAAG,WAAW,QAAQ,SAC7D,UACH,QAAA,CAAA;AAAA,IACC,oBACCF,2BAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAIE,MAAAA,MAAM,IAAI,iBAAiB;AAAA,QAC/B,WAAW,QAAQ;AAAA,QAEnB,UAAAF,2BAAA;AAAA,UAACG,eAAA;AAAA,UAAA;AAAA,YACC;AAAA,YACA,UAAS;AAAA,YACT,SAAS;AAAA,YACT,iBAAiB;AAAA,UAAA;AAAA,QACnB;AAAA,MAAA;AAAA,IACF;AAAA,EAEJ,EAAA,CAAA;AAEJ;;;"}
1
+ {"version":3,"file":"MessageContainer.cjs","sources":["../../../../../src/Banner/BannerContent/MessageContainer/MessageContainer.tsx"],"sourcesContent":["import { HvBaseProps } from \"../../../types/generic\";\nimport {\n HvActionsGeneric,\n HvActionsGenericProps,\n} from \"../../../ActionsGeneric\";\nimport { HvTypography } from \"../../../Typography\";\nimport { ExtractNames } from \"../../../utils/classes\";\nimport { setId } from \"../../../utils/setId\";\nimport { staticClasses, useClasses } from \"./MessageContainer.styles\";\n\nexport { staticClasses as messageContainerClasses };\n\nexport type HvMessageContainerClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvMessageContainerProps\n extends HvBaseProps,\n Pick<Partial<HvActionsGenericProps>, \"actions\" | \"onAction\"> {\n /** Icon to be presented. */\n icon?: React.ReactNode;\n /** The message to display. */\n message?: React.ReactNode;\n /**\n * Actions to display on message.\n *\n * @deprecated Use `actions` instead.\n * */\n actionsOnMessage?: HvActionsGenericProps[\"actions\"];\n /**\n * The callback function called when an action is triggered, receiving `actionsOnMessage` as parameter.\n *\n * @deprecated Use `onAction` instead.\n * */\n actionsOnMessageCallback?: HvActionsGenericProps[\"actionsCallback\"];\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvMessageContainerClasses;\n}\n\nexport const HvMessageContainer = ({\n id,\n classes: classesProp,\n icon,\n actionsOnMessage, // TODO - remove in v6\n actionsOnMessageCallback, // TODO - remove in v6\n actions,\n onAction,\n message,\n}: HvMessageContainerProps) => {\n const { classes } = useClasses(classesProp);\n\n return (\n <>\n {icon && <div className={classes.iconContainer}>{icon}</div>}\n <HvTypography id={setId(id, \"message-text\")} className={classes.message}>\n {message}\n </HvTypography>\n {(actionsOnMessage ?? actions) && (\n <div\n id={setId(id, \"message-actions\")}\n className={classes.actionMessageContainer}\n >\n <HvActionsGeneric\n id={id}\n variant=\"semantic\"\n actions={actionsOnMessage ?? actions}\n actionsCallback={actionsOnMessageCallback}\n onAction={onAction}\n />\n </div>\n )}\n </>\n );\n};\n"],"names":["useClasses","jsxs","Fragment","jsx","HvTypography","setId","HvActionsGeneric"],"mappings":";;;;;;;AAqCO,MAAM,qBAAqB,CAAC;AAAA,EACjC;AAAA,EACA,SAAS;AAAA,EACT;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAA+B;AAC7B,QAAM,EAAE,QAAA,IAAYA,wBAAA,WAAW,WAAW;AAE1C,SAEKC,2BAAA,KAAAC,qBAAA,EAAA,UAAA;AAAA,IAAA,QAASC,2BAAAA,IAAA,OAAA,EAAI,WAAW,QAAQ,eAAgB,UAAK,MAAA;AAAA,IACtDA,2BAAAA,IAACC,WAAAA,cAAa,EAAA,IAAIC,MAAAA,MAAM,IAAI,cAAc,GAAG,WAAW,QAAQ,SAC7D,UACH,QAAA,CAAA;AAAA,KACE,oBAAoB,YACpBF,2BAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAIE,MAAAA,MAAM,IAAI,iBAAiB;AAAA,QAC/B,WAAW,QAAQ;AAAA,QAEnB,UAAAF,2BAAA;AAAA,UAACG,eAAA;AAAA,UAAA;AAAA,YACC;AAAA,YACA,SAAQ;AAAA,YACR,SAAS,oBAAoB;AAAA,YAC7B,iBAAiB;AAAA,YACjB;AAAA,UAAA;AAAA,QACF;AAAA,MAAA;AAAA,IACF;AAAA,EAEJ,EAAA,CAAA;AAEJ;;;"}
@@ -26,6 +26,8 @@ const HvBulkActions = (props) => {
26
26
  showSelectAllPages = false,
27
27
  semantic = true,
28
28
  actionsCallback,
29
+ // TODO - remove in v6
30
+ onAction,
29
31
  onSelectAll,
30
32
  onSelectAllPages,
31
33
  ...others
@@ -93,10 +95,11 @@ const HvBulkActions = (props) => {
93
95
  {
94
96
  id: setId.setId(id, "actions"),
95
97
  classes: { root: classes.actions },
96
- category: isSemantic ? activeTheme?.bulkActions.actionButtonVariant : "secondaryGhost",
98
+ variant: isSemantic ? activeTheme?.bulkActions.actionButtonVariant : "secondaryGhost",
97
99
  actions,
98
100
  disabled: actionsDisabled ?? numSelected === 0,
99
101
  actionsCallback,
102
+ onAction,
100
103
  maxVisibleActions
101
104
  }
102
105
  )
@@ -1 +1 @@
1
- {"version":3,"file":"BulkActions.cjs","sources":["../../../src/BulkActions/BulkActions.tsx"],"sourcesContent":["import { useDefaultProps } from \"../hooks/useDefaultProps\";\nimport { setId } from \"../utils/setId\";\nimport { useTheme } from \"../hooks/useTheme\";\nimport { HvBaseProps } from \"../types/generic\";\nimport { HvButton, HvButtonProps, HvButtonVariant } from \"../Button\";\nimport { HvCheckBox, HvCheckBoxProps } from \"../CheckBox\";\nimport {\n HvActionGeneric,\n HvActionsGeneric,\n HvActionsGenericProps,\n} from \"../ActionsGeneric\";\nimport { HvTypography } from \"../Typography\";\nimport { ExtractNames } from \"../utils/classes\";\n\nimport { staticClasses, useClasses } from \"./BulkActions.styles\";\n\nexport { staticClasses as bulkActionsClasses };\n\nexport type HvBulkActionsClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvBulkActionsProps extends HvBaseProps {\n /**\n * Custom label for select all checkbox\n */\n selectAllLabel?: React.ReactNode;\n /**\n * Custom label for select all checkbox conjunction\n */\n selectAllConjunctionLabel?: string;\n /**\n * Custom label for select all pages button\n */\n selectAllPagesLabel?: React.ReactNode;\n /**\n * Whether select all pages element should be visible\n */\n showSelectAllPages?: boolean;\n /**\n * The total number of elements\n */\n numTotal?: number;\n /**\n * The number of elements currently selected\n */\n numSelected?: number;\n /**\n * Function called when the \"select all\" Checkbox is toggled.\n */\n onSelectAll?: HvCheckBoxProps[\"onChange\"];\n /**\n * Function called when the \"select all pages\" button is clicked toggled.\n */\n onSelectAllPages?: HvButtonProps[\"onClick\"];\n /**\n * Whether the bulk actions should use the semantic styles when there are selected elements.\n */\n semantic?: boolean;\n /**\n * The renderable content inside the right actions slot,\n * or an Array of actions `{ id, label, icon, disabled, ... }`\n */\n actions?: React.ReactNode | HvActionGeneric[];\n /**\n * Whether actions should be all disabled\n */\n actionsDisabled?: boolean;\n /**\n * The callback function ran when an action is triggered, receiving `action` as param\n */\n actionsCallback?: HvActionsGenericProps[\"actionsCallback\"];\n /**\n * The number of maximum visible actions before they're collapsed into a `DropDownMenu`.\n */\n maxVisibleActions?: number;\n /**\n * Properties to be passed onto the checkbox component, the values of the object are equivalent to the\n * HvCheckbox API.\n */\n checkboxProps?: HvCheckBoxProps;\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes?: HvBulkActionsClasses;\n}\n\n/**\n * Bulk Actions allow users to perform an action on a single or multiple items.\n * Also known as \"batch production\" of multiple items at once, one stage at a time.\n */\nexport const HvBulkActions = (props: HvBulkActionsProps) => {\n const {\n id,\n className,\n classes: classesProp,\n selectAllPagesLabel,\n actionsDisabled,\n maxVisibleActions,\n checkboxProps,\n actions,\n numTotal = 0,\n numSelected = 0,\n selectAllLabel = \"All\",\n selectAllConjunctionLabel = \"/\",\n showSelectAllPages = false,\n semantic = true,\n actionsCallback,\n onSelectAll,\n onSelectAllPages,\n ...others\n } = useDefaultProps(\"HvBulkActions\", props);\n\n const { classes, cx } = useClasses(classesProp);\n\n const { activeTheme } = useTheme();\n\n const anySelected = numSelected > 0;\n const isSemantic = semantic && anySelected;\n\n const selectAllLabelComponent = (\n <HvTypography\n component=\"span\"\n disabled={checkboxProps?.disabled}\n variant=\"body\"\n >\n {!anySelected ? (\n <>\n <HvTypography variant=\"label\">{selectAllLabel}</HvTypography>\n {` (${numTotal})`}\n </>\n ) : (\n <>\n <HvTypography variant=\"label\">{numSelected}</HvTypography>\n {` ${selectAllConjunctionLabel} ${numTotal}`}\n </>\n )}\n </HvTypography>\n );\n\n return (\n <div\n id={id}\n className={cx(\n classes.root,\n { [classes.semantic]: isSemantic },\n className\n )}\n {...others}\n >\n <div className={classes.selectAllContainer}>\n <HvCheckBox\n id={setId(id, \"select\")}\n className={classes.selectAll}\n checked={numSelected > 0}\n semantic={isSemantic}\n onChange={onSelectAll}\n indeterminate={numSelected > 0 && numSelected < numTotal}\n label={selectAllLabelComponent}\n {...checkboxProps}\n />\n {showSelectAllPages && anySelected && numSelected < numTotal && (\n <>\n <div className={classes.divider} />\n <HvButton\n id={setId(id, \"pages\")}\n className={classes.selectAllPages}\n variant={\n isSemantic\n ? (activeTheme?.bulkActions\n .actionButtonVariant as HvButtonVariant)\n : \"secondaryGhost\"\n }\n onClick={onSelectAllPages}\n >\n {selectAllPagesLabel ?? `Select all ${numTotal} items`}\n </HvButton>\n </>\n )}\n </div>\n <HvActionsGeneric\n id={setId(id, \"actions\")}\n classes={{ root: classes.actions }}\n category={\n isSemantic\n ? (activeTheme?.bulkActions.actionButtonVariant as HvButtonVariant)\n : \"secondaryGhost\"\n }\n actions={actions}\n disabled={actionsDisabled ?? numSelected === 0}\n actionsCallback={actionsCallback}\n maxVisibleActions={maxVisibleActions}\n />\n </div>\n );\n};\n"],"names":["useDefaultProps","useClasses","useTheme","jsx","HvTypography","jsxs","Fragment","HvCheckBox","setId","HvButton","HvActionsGeneric"],"mappings":";;;;;;;;;;;AAyFa,MAAA,gBAAgB,CAAC,UAA8B;AACpD,QAAA;AAAA,IACJ;AAAA,IACA;AAAA,IACA,SAAS;AAAA,IACT;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW;AAAA,IACX,cAAc;AAAA,IACd,iBAAiB;AAAA,IACjB,4BAA4B;AAAA,IAC5B,qBAAqB;AAAA,IACrB,WAAW;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EAAA,IACDA,gBAAgB,gBAAA,iBAAiB,KAAK;AAE1C,QAAM,EAAE,SAAS,GAAG,IAAIC,8BAAW,WAAW;AAExC,QAAA,EAAE,gBAAgBC,SAAAA;AAExB,QAAM,cAAc,cAAc;AAClC,QAAM,aAAa,YAAY;AAE/B,QAAM,0BACJC,2BAAA;AAAA,IAACC,WAAA;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,UAAU,eAAe;AAAA,MACzB,SAAQ;AAAA,MAEP,UAAA,CAAC,cAEEC,2BAAA,KAAAC,WAAA,UAAA,EAAA,UAAA;AAAA,QAACH,2BAAA,IAAAC,WAAA,cAAA,EAAa,SAAQ,SAAS,UAAe,gBAAA;AAAA,QAC7C,KAAK,QAAQ;AAAA,MAAA,EAAA,CAChB,IAGEC,2BAAAA,KAAAC,WAAA,UAAA,EAAA,UAAA;AAAA,QAACH,2BAAA,IAAAC,WAAA,cAAA,EAAa,SAAQ,SAAS,UAAY,aAAA;AAAA,QAC1C,IAAI,yBAAyB,IAAI,QAAQ;AAAA,MAAA,GAC5C;AAAA,IAAA;AAAA,EAAA;AAMJ,SAAAC,2BAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA,WAAW;AAAA,QACT,QAAQ;AAAA,QACR,EAAE,CAAC,QAAQ,QAAQ,GAAG,WAAW;AAAA,QACjC;AAAA,MACF;AAAA,MACC,GAAG;AAAA,MAEJ,UAAA;AAAA,QAACA,2BAAA,KAAA,OAAA,EAAI,WAAW,QAAQ,oBACtB,UAAA;AAAA,UAAAF,2BAAA;AAAA,YAACI,SAAA;AAAA,YAAA;AAAA,cACC,IAAIC,MAAAA,MAAM,IAAI,QAAQ;AAAA,cACtB,WAAW,QAAQ;AAAA,cACnB,SAAS,cAAc;AAAA,cACvB,UAAU;AAAA,cACV,UAAU;AAAA,cACV,eAAe,cAAc,KAAK,cAAc;AAAA,cAChD,OAAO;AAAA,cACN,GAAG;AAAA,YAAA;AAAA,UACN;AAAA,UACC,sBAAsB,eAAe,cAAc,YAEhDH,2BAAAA,KAAAC,WAAAA,UAAA,EAAA,UAAA;AAAA,YAACH,2BAAAA,IAAA,OAAA,EAAI,WAAW,QAAQ,QAAS,CAAA;AAAA,YACjCA,2BAAA;AAAA,cAACM,OAAA;AAAA,cAAA;AAAA,gBACC,IAAID,MAAAA,MAAM,IAAI,OAAO;AAAA,gBACrB,WAAW,QAAQ;AAAA,gBACnB,SACE,aACK,aAAa,YACX,sBACH;AAAA,gBAEN,SAAS;AAAA,gBAER,UAAA,uBAAuB,cAAc,QAAQ;AAAA,cAAA;AAAA,YAChD;AAAA,UAAA,GACF;AAAA,QAAA,GAEJ;AAAA,QACAL,2BAAA;AAAA,UAACO,eAAA;AAAA,UAAA;AAAA,YACC,IAAIF,MAAAA,MAAM,IAAI,SAAS;AAAA,YACvB,SAAS,EAAE,MAAM,QAAQ,QAAQ;AAAA,YACjC,UACE,aACK,aAAa,YAAY,sBAC1B;AAAA,YAEN;AAAA,YACA,UAAU,mBAAmB,gBAAgB;AAAA,YAC7C;AAAA,YACA;AAAA,UAAA;AAAA,QACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN;;;"}
1
+ {"version":3,"file":"BulkActions.cjs","sources":["../../../src/BulkActions/BulkActions.tsx"],"sourcesContent":["import { useDefaultProps } from \"../hooks/useDefaultProps\";\nimport { setId } from \"../utils/setId\";\nimport { useTheme } from \"../hooks/useTheme\";\nimport { HvBaseProps } from \"../types/generic\";\nimport { HvButton, HvButtonProps, HvButtonVariant } from \"../Button\";\nimport { HvCheckBox, HvCheckBoxProps } from \"../CheckBox\";\nimport { HvActionsGeneric, HvActionsGenericProps } from \"../ActionsGeneric\";\nimport { HvTypography } from \"../Typography\";\nimport { ExtractNames } from \"../utils/classes\";\nimport { staticClasses, useClasses } from \"./BulkActions.styles\";\n\nexport { staticClasses as bulkActionsClasses };\n\nexport type HvBulkActionsClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvBulkActionsProps extends HvBaseProps {\n /** Custom label for select all checkbox */\n selectAllLabel?: React.ReactNode;\n /** Custom label for select all checkbox conjunction */\n selectAllConjunctionLabel?: string;\n /** Custom label for select all pages button */\n selectAllPagesLabel?: React.ReactNode;\n /** Whether select all pages element should be visible */\n showSelectAllPages?: boolean;\n /** The total number of elements */\n numTotal?: number;\n /** The number of elements currently selected */\n numSelected?: number;\n /** Function called when the \"select all\" Checkbox is toggled. */\n onSelectAll?: HvCheckBoxProps[\"onChange\"];\n /** Function called when the \"select all pages\" button is clicked toggled. */\n onSelectAllPages?: HvButtonProps[\"onClick\"];\n /** Whether the bulk actions should use the semantic styles when there are selected elements. */\n semantic?: boolean;\n /** The renderable content inside the right actions slot, or an array of actions `{ id, label, icon, disabled, ... }` */\n actions?: HvActionsGenericProps[\"actions\"];\n /** Whether actions should be all disabled */\n actionsDisabled?: boolean;\n /**\n * The callback function called when an action is triggered, receiving `action` as parameter.\n *\n * @deprecated Use `onAction` instead.\n * */\n actionsCallback?: HvActionsGenericProps[\"actionsCallback\"];\n /** The callback function called when an action is triggered, receiving `action` as parameter. */\n onAction?: HvActionsGenericProps[\"onAction\"];\n /** The number of maximum visible actions before they're collapsed into a `DropDownMenu`. */\n maxVisibleActions?: number;\n /** Properties to be passed onto the checkbox component, the values of the object are equivalent to the HvCheckbox API. */\n checkboxProps?: HvCheckBoxProps;\n /** A Jss Object used to override or extend the styles applied. */\n classes?: HvBulkActionsClasses;\n}\n\n/**\n * Bulk Actions allow users to perform an action on a single or multiple items.\n * Also known as \"batch production\" of multiple items at once, one stage at a time.\n */\nexport const HvBulkActions = (props: HvBulkActionsProps) => {\n const {\n id,\n className,\n classes: classesProp,\n selectAllPagesLabel,\n actionsDisabled,\n maxVisibleActions,\n checkboxProps,\n actions,\n numTotal = 0,\n numSelected = 0,\n selectAllLabel = \"All\",\n selectAllConjunctionLabel = \"/\",\n showSelectAllPages = false,\n semantic = true,\n actionsCallback, // TODO - remove in v6\n onAction,\n onSelectAll,\n onSelectAllPages,\n ...others\n } = useDefaultProps(\"HvBulkActions\", props);\n\n const { classes, cx } = useClasses(classesProp);\n\n const { activeTheme } = useTheme();\n\n const anySelected = numSelected > 0;\n const isSemantic = semantic && anySelected;\n\n const selectAllLabelComponent = (\n <HvTypography\n component=\"span\"\n disabled={checkboxProps?.disabled}\n variant=\"body\"\n >\n {!anySelected ? (\n <>\n <HvTypography variant=\"label\">{selectAllLabel}</HvTypography>\n {` (${numTotal})`}\n </>\n ) : (\n <>\n <HvTypography variant=\"label\">{numSelected}</HvTypography>\n {` ${selectAllConjunctionLabel} ${numTotal}`}\n </>\n )}\n </HvTypography>\n );\n\n return (\n <div\n id={id}\n className={cx(\n classes.root,\n { [classes.semantic]: isSemantic },\n className\n )}\n {...others}\n >\n <div className={classes.selectAllContainer}>\n <HvCheckBox\n id={setId(id, \"select\")}\n className={classes.selectAll}\n checked={numSelected > 0}\n semantic={isSemantic}\n onChange={onSelectAll}\n indeterminate={numSelected > 0 && numSelected < numTotal}\n label={selectAllLabelComponent}\n {...checkboxProps}\n />\n {showSelectAllPages && anySelected && numSelected < numTotal && (\n <>\n <div className={classes.divider} />\n <HvButton\n id={setId(id, \"pages\")}\n className={classes.selectAllPages}\n variant={\n isSemantic\n ? (activeTheme?.bulkActions\n .actionButtonVariant as HvButtonVariant)\n : \"secondaryGhost\"\n }\n onClick={onSelectAllPages}\n >\n {selectAllPagesLabel ?? `Select all ${numTotal} items`}\n </HvButton>\n </>\n )}\n </div>\n <HvActionsGeneric\n id={setId(id, \"actions\")}\n classes={{ root: classes.actions }}\n variant={\n isSemantic\n ? (activeTheme?.bulkActions.actionButtonVariant as HvButtonVariant)\n : \"secondaryGhost\"\n }\n actions={actions}\n disabled={actionsDisabled ?? numSelected === 0}\n actionsCallback={actionsCallback}\n onAction={onAction}\n maxVisibleActions={maxVisibleActions}\n />\n </div>\n );\n};\n"],"names":["useDefaultProps","useClasses","useTheme","jsx","HvTypography","jsxs","Fragment","HvCheckBox","setId","HvButton","HvActionsGeneric"],"mappings":";;;;;;;;;;;AA0Da,MAAA,gBAAgB,CAAC,UAA8B;AACpD,QAAA;AAAA,IACJ;AAAA,IACA;AAAA,IACA,SAAS;AAAA,IACT;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW;AAAA,IACX,cAAc;AAAA,IACd,iBAAiB;AAAA,IACjB,4BAA4B;AAAA,IAC5B,qBAAqB;AAAA,IACrB,WAAW;AAAA,IACX;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EAAA,IACDA,gBAAgB,gBAAA,iBAAiB,KAAK;AAE1C,QAAM,EAAE,SAAS,GAAG,IAAIC,8BAAW,WAAW;AAExC,QAAA,EAAE,gBAAgBC,SAAAA;AAExB,QAAM,cAAc,cAAc;AAClC,QAAM,aAAa,YAAY;AAE/B,QAAM,0BACJC,2BAAA;AAAA,IAACC,WAAA;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,UAAU,eAAe;AAAA,MACzB,SAAQ;AAAA,MAEP,UAAA,CAAC,cAEEC,2BAAA,KAAAC,WAAA,UAAA,EAAA,UAAA;AAAA,QAACH,2BAAA,IAAAC,WAAA,cAAA,EAAa,SAAQ,SAAS,UAAe,gBAAA;AAAA,QAC7C,KAAK,QAAQ;AAAA,MAAA,EAAA,CAChB,IAGEC,2BAAAA,KAAAC,WAAA,UAAA,EAAA,UAAA;AAAA,QAACH,2BAAA,IAAAC,WAAA,cAAA,EAAa,SAAQ,SAAS,UAAY,aAAA;AAAA,QAC1C,IAAI,yBAAyB,IAAI,QAAQ;AAAA,MAAA,GAC5C;AAAA,IAAA;AAAA,EAAA;AAMJ,SAAAC,2BAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA,WAAW;AAAA,QACT,QAAQ;AAAA,QACR,EAAE,CAAC,QAAQ,QAAQ,GAAG,WAAW;AAAA,QACjC;AAAA,MACF;AAAA,MACC,GAAG;AAAA,MAEJ,UAAA;AAAA,QAACA,2BAAA,KAAA,OAAA,EAAI,WAAW,QAAQ,oBACtB,UAAA;AAAA,UAAAF,2BAAA;AAAA,YAACI,SAAA;AAAA,YAAA;AAAA,cACC,IAAIC,MAAAA,MAAM,IAAI,QAAQ;AAAA,cACtB,WAAW,QAAQ;AAAA,cACnB,SAAS,cAAc;AAAA,cACvB,UAAU;AAAA,cACV,UAAU;AAAA,cACV,eAAe,cAAc,KAAK,cAAc;AAAA,cAChD,OAAO;AAAA,cACN,GAAG;AAAA,YAAA;AAAA,UACN;AAAA,UACC,sBAAsB,eAAe,cAAc,YAEhDH,2BAAAA,KAAAC,WAAAA,UAAA,EAAA,UAAA;AAAA,YAACH,2BAAAA,IAAA,OAAA,EAAI,WAAW,QAAQ,QAAS,CAAA;AAAA,YACjCA,2BAAA;AAAA,cAACM,OAAA;AAAA,cAAA;AAAA,gBACC,IAAID,MAAAA,MAAM,IAAI,OAAO;AAAA,gBACrB,WAAW,QAAQ;AAAA,gBACnB,SACE,aACK,aAAa,YACX,sBACH;AAAA,gBAEN,SAAS;AAAA,gBAER,UAAA,uBAAuB,cAAc,QAAQ;AAAA,cAAA;AAAA,YAChD;AAAA,UAAA,GACF;AAAA,QAAA,GAEJ;AAAA,QACAL,2BAAA;AAAA,UAACO,eAAA;AAAA,UAAA;AAAA,YACC,IAAIF,MAAAA,MAAM,IAAI,SAAS;AAAA,YACvB,SAAS,EAAE,MAAM,QAAQ,QAAQ;AAAA,YACjC,SACE,aACK,aAAa,YAAY,sBAC1B;AAAA,YAEN;AAAA,YACA,UAAU,mBAAmB,gBAAgB;AAAA,YAC7C;AAAA,YACA;AAAA,YACA;AAAA,UAAA;AAAA,QACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN;;;"}
@@ -9,9 +9,9 @@ const useTheme = require("../hooks/useTheme.cjs");
9
9
  const CarouselControls = require("./CarouselControls.cjs");
10
10
  const CarouselThumbnails = require("./CarouselThumbnails.cjs");
11
11
  const Carousel_styles = require("./Carousel.styles.cjs");
12
- const IconButton = require("../IconButton/IconButton.cjs");
13
12
  const Container = require("../Container/Container.cjs");
14
13
  const Button = require("../Button/Button.cjs");
14
+ const IconButton = require("../IconButton/IconButton.cjs");
15
15
  const Typography = require("../Typography/Typography.cjs");
16
16
  const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
17
17
  const useCarousel__default = /* @__PURE__ */ _interopDefault(useCarousel);
@@ -31,6 +31,7 @@ const HvDropDownMenu = (props) => {
31
31
  expanded,
32
32
  defaultExpanded = false,
33
33
  category = "secondaryGhost",
34
+ // TODO - remove and update variant default in v6
34
35
  variant,
35
36
  size,
36
37
  ...others
@@ -1 +1 @@
1
- {"version":3,"file":"DropDownMenu.cjs","sources":["../../../src/DropDownMenu/DropDownMenu.tsx"],"sourcesContent":["import { ChangeEvent, useMemo } from \"react\";\nimport { MoreOptionsVertical } from \"@hitachivantara/uikit-react-icons\";\n\nimport { useDefaultProps } from \"../hooks/useDefaultProps\";\nimport { useUniqueId } from \"../hooks/useUniqueId\";\nimport { useControlled } from \"../hooks/useControlled\";\nimport { HvBaseProps } from \"../types/generic\";\nimport { isKey } from \"../utils/keyboardUtils\";\nimport { setId } from \"../utils/setId\";\nimport { getPrevNextFocus } from \"../utils/focusableElementFinder\";\nimport { ExtractNames } from \"../utils/classes\";\nimport { HvBaseDropdown, HvBaseDropdownProps } from \"../BaseDropdown\";\nimport { HvButton, HvButtonSize, HvButtonVariant } from \"../Button\";\nimport { HvList, HvListProps, HvListValue } from \"../List\";\nimport { HvPanel } from \"../Panel\";\n\nimport { staticClasses, useClasses } from \"./DropDownMenu.styles\";\nimport { getIconSizeStyles } from \"../Button/Button.styles\";\n\nexport { staticClasses as dropDownMenuClasses };\n\nexport type HvDropDownMenuClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvDropDownMenuProps\n extends HvBaseProps<HTMLDivElement, \"onClick\"> {\n /** Icon. */\n icon?: React.ReactElement;\n /**\n * A list containing the elements to be rendered.\n *\n * - label: The label of the element to be rendered.\n * - selected: The selection state of the element.\n * - disabled: The disabled state of the element.\n * - icon: The icon node to be rendered on the left.\n * - showNavIcon: If true renders the navigation icon on the right.\n */\n dataList: HvListValue[];\n /** Placement of the dropdown. */\n placement?: \"left\" | \"right\";\n /** Disable the portal behavior. The children stay within it's parent DOM hierarchy. */\n disablePortal?: boolean;\n /** Function executed on toggle of the dropdown. Should receive the open status. */\n onToggle?: (event: Event, open: boolean) => void;\n /** Function executed in each onClick. Should received the clicked element. */\n onClick?: (\n event: React.ChangeEvent<HTMLLIElement>,\n value: HvListValue\n ) => void;\n /** Keep the Dropdown Menu opened after clicking one option */\n keepOpened?: boolean;\n /** Defines if the component is disabled. */\n disabled?: boolean;\n /** If true it should be displayed open. */\n expanded?: boolean;\n /** When uncontrolled, defines the initial expanded state. */\n defaultExpanded?: boolean;\n /**\n * The variant to be used in the header.\n * @deprecated Use `variant` instead\n */\n category?: HvButtonVariant;\n /** The variant to be used in the header. */\n variant?: HvButtonVariant;\n /** Button size. */\n size?: HvButtonSize;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvDropDownMenuClasses;\n}\n\n/**\n * A drop-down menu is a graphical control element, similar to a list box, that allows the user to choose a value from a list.\n */\nexport const HvDropDownMenu = (props: HvDropDownMenuProps) => {\n const {\n id: idProp,\n classes: classesProp,\n className,\n icon,\n placement = \"right\",\n dataList,\n disablePortal = false,\n onToggle,\n onClick,\n keepOpened = true,\n disabled = false,\n expanded,\n defaultExpanded = false,\n category = \"secondaryGhost\",\n variant,\n size,\n ...others\n } = useDefaultProps(\"HvDropDownMenu\", props);\n\n const { classes, cx, css } = useClasses(classesProp);\n const [open, setOpen] = useControlled(expanded, Boolean(defaultExpanded));\n const id = useUniqueId(idProp, \"dropdown-menu\");\n const focusNodes = getPrevNextFocus(setId(id, \"icon-button\"));\n\n const listId = setId(id, \"list\");\n\n const handleClose = (event: ChangeEvent) => {\n // this will only run if uncontrolled\n setOpen(false);\n onToggle?.(event as any, false);\n };\n\n // If the ESCAPE key is pressed inside the list, the close handler must be called.\n const handleKeyDown: HvListProps[\"onKeyDown\"] = (event) => {\n if (isKey(event, \"Tab\")) {\n const node = event.shiftKey ? focusNodes.prevFocus : focusNodes.nextFocus;\n if (node) setTimeout(() => node.focus(), 0);\n handleClose(event as any);\n }\n event.preventDefault();\n };\n\n const setFocusToContent: HvBaseDropdownProps[\"onContainerCreation\"] = (\n containerRef\n ) => {\n containerRef?.getElementsByTagName(\"li\")[0]?.focus();\n };\n\n const condensed = useMemo(() => dataList.every((el) => !el.icon), [dataList]);\n\n return (\n <HvBaseDropdown\n id={id}\n className={cx(classes.container, className)}\n classes={{\n root: classes.root,\n container: classes.baseContainer,\n }}\n expanded={open && !disabled}\n component={\n <HvButton\n icon\n variant={variant ?? category}\n id={setId(id, \"icon-button\")}\n className={cx(\n classes.icon,\n { [classes.iconSelected]: open },\n size && icon && css(getIconSizeStyles(size))\n )}\n aria-expanded={open}\n disabled={disabled}\n size={size}\n aria-label=\"Dropdown menu\"\n aria-haspopup=\"menu\"\n >\n {icon || (\n <MoreOptionsVertical\n aria-hidden\n color={disabled ? \"secondary_60\" : undefined}\n />\n )}\n </HvButton>\n }\n placement={placement}\n variableWidth\n disablePortal={disablePortal}\n onToggle={(e, s) => {\n // this will only run if uncontrolled\n setOpen(s);\n onToggle?.(e, s);\n }}\n disabled={disabled}\n onContainerCreation={setFocusToContent}\n {...others}\n >\n <HvPanel className={classes.menuListRoot}>\n <HvList\n id={listId}\n values={dataList}\n selectable={false}\n condensed={condensed}\n onClick={(event, item) => {\n if (!keepOpened) handleClose(event);\n onClick?.(event, item);\n }}\n onKeyDown={handleKeyDown}\n classes={{\n root: classes.menuList,\n }}\n />\n </HvPanel>\n </HvBaseDropdown>\n );\n};\n"],"names":["useDefaultProps","useClasses","useControlled","useUniqueId","getPrevNextFocus","setId","isKey","useMemo","jsx","HvBaseDropdown","HvButton","getIconSizeStyles","MoreOptionsVertical","HvPanel","HvList"],"mappings":"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"}
1
+ {"version":3,"file":"DropDownMenu.cjs","sources":["../../../src/DropDownMenu/DropDownMenu.tsx"],"sourcesContent":["import { ChangeEvent, useMemo } from \"react\";\nimport { MoreOptionsVertical } from \"@hitachivantara/uikit-react-icons\";\n\nimport { useDefaultProps } from \"../hooks/useDefaultProps\";\nimport { useUniqueId } from \"../hooks/useUniqueId\";\nimport { useControlled } from \"../hooks/useControlled\";\nimport { HvBaseProps } from \"../types/generic\";\nimport { isKey } from \"../utils/keyboardUtils\";\nimport { setId } from \"../utils/setId\";\nimport { getPrevNextFocus } from \"../utils/focusableElementFinder\";\nimport { ExtractNames } from \"../utils/classes\";\nimport { HvBaseDropdown, HvBaseDropdownProps } from \"../BaseDropdown\";\nimport { HvButton, HvButtonSize, HvButtonVariant } from \"../Button\";\nimport { HvList, HvListProps, HvListValue } from \"../List\";\nimport { HvPanel } from \"../Panel\";\nimport { staticClasses, useClasses } from \"./DropDownMenu.styles\";\nimport { getIconSizeStyles } from \"../Button/Button.styles\";\n\nexport { staticClasses as dropDownMenuClasses };\n\nexport type HvDropDownMenuClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvDropDownMenuProps\n extends HvBaseProps<HTMLDivElement, \"onClick\"> {\n /** Icon. */\n icon?: React.ReactElement;\n /**\n * A list containing the elements to be rendered.\n *\n * - label: The label of the element to be rendered.\n * - selected: The selection state of the element.\n * - disabled: The disabled state of the element.\n * - icon: The icon node to be rendered on the left.\n * - showNavIcon: If true renders the navigation icon on the right.\n */\n dataList: HvListValue[];\n /** Placement of the dropdown. */\n placement?: \"left\" | \"right\";\n /** Disable the portal behavior. The children stay within it's parent DOM hierarchy. */\n disablePortal?: boolean;\n /** Function executed on toggle of the dropdown. Should receive the open status. */\n onToggle?: (event: Event, open: boolean) => void;\n /** Function executed in each onClick. Should received the clicked element. */\n onClick?: (\n event: React.ChangeEvent<HTMLLIElement>,\n value: HvListValue\n ) => void;\n /** Keep the Dropdown Menu opened after clicking one option */\n keepOpened?: boolean;\n /** Defines if the component is disabled. */\n disabled?: boolean;\n /** If true it should be displayed open. */\n expanded?: boolean;\n /** When uncontrolled, defines the initial expanded state. */\n defaultExpanded?: boolean;\n /**\n * The variant to be used in the header.\n * @deprecated Use `variant` instead\n */\n category?: HvButtonVariant;\n /** The variant to be used in the header. */\n variant?: HvButtonVariant;\n /** Button size. */\n size?: HvButtonSize;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvDropDownMenuClasses;\n}\n\n/**\n * A drop-down menu is a graphical control element, similar to a list box, that allows the user to choose a value from a list.\n */\nexport const HvDropDownMenu = (props: HvDropDownMenuProps) => {\n const {\n id: idProp,\n classes: classesProp,\n className,\n icon,\n placement = \"right\",\n dataList,\n disablePortal = false,\n onToggle,\n onClick,\n keepOpened = true,\n disabled = false,\n expanded,\n defaultExpanded = false,\n category = \"secondaryGhost\", // TODO - remove and update variant default in v6\n variant,\n size,\n ...others\n } = useDefaultProps(\"HvDropDownMenu\", props);\n\n const { classes, cx, css } = useClasses(classesProp);\n const [open, setOpen] = useControlled(expanded, Boolean(defaultExpanded));\n const id = useUniqueId(idProp, \"dropdown-menu\");\n const focusNodes = getPrevNextFocus(setId(id, \"icon-button\"));\n\n const listId = setId(id, \"list\");\n\n const handleClose = (event: ChangeEvent) => {\n // this will only run if uncontrolled\n setOpen(false);\n onToggle?.(event as any, false);\n };\n\n // If the ESCAPE key is pressed inside the list, the close handler must be called.\n const handleKeyDown: HvListProps[\"onKeyDown\"] = (event) => {\n if (isKey(event, \"Tab\")) {\n const node = event.shiftKey ? focusNodes.prevFocus : focusNodes.nextFocus;\n if (node) setTimeout(() => node.focus(), 0);\n handleClose(event as any);\n }\n event.preventDefault();\n };\n\n const setFocusToContent: HvBaseDropdownProps[\"onContainerCreation\"] = (\n containerRef\n ) => {\n containerRef?.getElementsByTagName(\"li\")[0]?.focus();\n };\n\n const condensed = useMemo(() => dataList.every((el) => !el.icon), [dataList]);\n\n return (\n <HvBaseDropdown\n id={id}\n className={cx(classes.container, className)}\n classes={{\n root: classes.root,\n container: classes.baseContainer,\n }}\n expanded={open && !disabled}\n component={\n <HvButton\n icon\n variant={variant ?? category}\n id={setId(id, \"icon-button\")}\n className={cx(\n classes.icon,\n { [classes.iconSelected]: open },\n size && icon && css(getIconSizeStyles(size))\n )}\n aria-expanded={open}\n disabled={disabled}\n size={size}\n aria-label=\"Dropdown menu\"\n aria-haspopup=\"menu\"\n >\n {icon || (\n <MoreOptionsVertical\n aria-hidden\n color={disabled ? \"secondary_60\" : undefined}\n />\n )}\n </HvButton>\n }\n placement={placement}\n variableWidth\n disablePortal={disablePortal}\n onToggle={(e, s) => {\n // this will only run if uncontrolled\n setOpen(s);\n onToggle?.(e, s);\n }}\n disabled={disabled}\n onContainerCreation={setFocusToContent}\n {...others}\n >\n <HvPanel className={classes.menuListRoot}>\n <HvList\n id={listId}\n values={dataList}\n selectable={false}\n condensed={condensed}\n onClick={(event, item) => {\n if (!keepOpened) handleClose(event);\n onClick?.(event, item);\n }}\n onKeyDown={handleKeyDown}\n classes={{\n root: classes.menuList,\n }}\n />\n </HvPanel>\n </HvBaseDropdown>\n );\n};\n"],"names":["useDefaultProps","useClasses","useControlled","useUniqueId","getPrevNextFocus","setId","isKey","useMemo","jsx","HvBaseDropdown","HvButton","getIconSizeStyles","MoreOptionsVertical","HvPanel","HvList"],"mappings":"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"}
@@ -26,6 +26,8 @@ const HvSnackbar = ({
26
26
  customIcon = null,
27
27
  action = null,
28
28
  actionCallback,
29
+ // TODO - remove in v6
30
+ onAction,
29
31
  transitionDuration = 300,
30
32
  transitionDirection = "left",
31
33
  container,
@@ -77,6 +79,7 @@ const HvSnackbar = ({
77
79
  showIcon,
78
80
  action,
79
81
  actionCallback,
82
+ onAction,
80
83
  ...snackbarContentProps
81
84
  }
82
85
  )
@@ -1 +1 @@
1
- {"version":3,"file":"Snackbar.cjs","sources":["../../../src/Snackbar/Snackbar.tsx"],"sourcesContent":["import { SyntheticEvent, useCallback } from \"react\";\nimport Slide, { SlideProps } from \"@mui/material/Slide\";\nimport MuiSnackbar, {\n SnackbarCloseReason,\n SnackbarOrigin,\n SnackbarProps as MuiSnackbarProps,\n} from \"@mui/material/Snackbar\";\nimport capitalize from \"lodash/capitalize\";\n\nimport { ExtractNames } from \"../utils/classes\";\nimport { setId } from \"../utils/setId\";\nimport { HvActionGeneric } from \"../ActionsGeneric\";\nimport { HvSnackbarContentProps, HvSnackbarContent } from \"./SnackbarContent\";\nimport { staticClasses, useClasses } from \"./Snackbar.styles\";\nimport { HvSnackbarVariant } from \"./types\";\n\nexport { staticClasses as snackbarClasses };\n\nexport type HvSnackbarClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvSnackbarProps\n extends Omit<MuiSnackbarProps, \"action\" | \"classes\" | \"children\"> {\n /** If true, Snackbar is open. */\n open?: boolean;\n /** Callback fired when the component requests to be closed. Typically onClose is used to set state in the parent component, which is used to control the Snackbar open prop. The reason parameter can optionally be used to control the response to onClose, for example ignoring clickaway. */\n onClose?:\n | ((\n event: Event | SyntheticEvent<any, Event>,\n reason: SnackbarCloseReason\n ) => void)\n | undefined;\n /** The message to display. */\n label?: React.ReactNode;\n /** The anchor of the Snackbar. vertical: \"top\", \"bottom\" | horizontal: \"left\",\"center\",\"right. It defines where the snackbar will end his animation */\n anchorOrigin?: SnackbarOrigin;\n /** The number of milliseconds to wait before automatically calling the onClose function. onClose should then set the state of the open prop to hide the Snackbar */\n autoHideDuration?: number;\n /** Variant of the snackbar. */\n variant?: HvSnackbarVariant;\n /** Custom icon to replace the variant default. */\n customIcon?: React.ReactNode;\n /** Controls if the associated icon to the variant should be shown. */\n showIcon?: boolean;\n /** Action to display. */\n action?: React.ReactNode | HvActionGeneric;\n /** The callback function ran when an action is triggered, receiving `action` as param */\n actionCallback?: (\n event: React.SyntheticEvent,\n id: string,\n action: HvActionGeneric\n ) => void;\n /** Duration of transition in milliseconds. */\n transitionDuration?: number;\n /** Direction of slide transition. */\n transitionDirection?: \"up\" | \"down\" | \"left\" | \"right\";\n /** The container the snackbar should slide from. */\n container?: SlideProps[\"container\"];\n /** Custom offset from top/bottom of the page, in px. */\n offset?: number;\n /** Others applied to the content of the snackbar. */\n snackbarContentProps?: HvSnackbarContentProps;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvSnackbarClasses;\n /** @ignore */\n ref?: MuiSnackbarProps[\"ref\"];\n}\n\n/**\n * A Snackbar provides brief messages about app processes.\n * It is dismissed automatically after a given interval.\n *\n * Snackbar can be built with two different components.\n * One is the HvSnackbar, which wraps all the positioning, transition, auto hide, etc.\n * The other is the HvSnackbarContent, which allows a finer control and customization of the content of the Snackbar.\n */\nexport const HvSnackbar = ({\n classes: classesProp,\n className,\n id,\n open = false,\n onClose,\n label = \"\",\n anchorOrigin = { vertical: \"top\", horizontal: \"right\" },\n autoHideDuration = 5000,\n variant = \"default\",\n showIcon = false,\n customIcon = null,\n action = null,\n actionCallback,\n transitionDuration = 300,\n transitionDirection = \"left\",\n container,\n offset = 60,\n snackbarContentProps,\n ...others\n}: HvSnackbarProps) => {\n const { classes } = useClasses(classesProp);\n\n const anchorOriginOffset = {\n anchorOriginTop: {\n top: `${offset}px`,\n },\n anchorOriginBottom: {\n bottom: `${offset}px`,\n },\n };\n\n const SlideTransition = useCallback<\n NonNullable<MuiSnackbarProps[\"TransitionComponent\"]>\n >(\n (properties) => (\n <Slide\n {...properties}\n container={container}\n direction={transitionDirection}\n />\n ),\n [container, transitionDirection]\n );\n\n return (\n <MuiSnackbar\n style={\n anchorOriginOffset[`anchorOrigin${capitalize(anchorOrigin.vertical)}`]\n }\n classes={classes}\n className={className}\n id={id}\n anchorOrigin={anchorOrigin}\n open={open}\n onClose={onClose}\n autoHideDuration={autoHideDuration}\n transitionDuration={transitionDuration}\n TransitionComponent={SlideTransition}\n {...others}\n >\n <HvSnackbarContent\n id={setId(id, \"content\")}\n label={label}\n variant={variant}\n customIcon={customIcon}\n showIcon={showIcon}\n action={action}\n actionCallback={actionCallback}\n {...snackbarContentProps}\n />\n </MuiSnackbar>\n );\n};\n"],"names":["useClasses","useCallback","jsx","Slide","MuiSnackbar","capitalize","HvSnackbarContent","setId"],"mappings":";;;;;;;;;;;;;;AA2EO,MAAM,aAAa,CAAC;AAAA,EACzB,SAAS;AAAA,EACT;AAAA,EACA;AAAA,EACA,OAAO;AAAA,EACP;AAAA,EACA,QAAQ;AAAA,EACR,eAAe,EAAE,UAAU,OAAO,YAAY,QAAQ;AAAA,EACtD,mBAAmB;AAAA,EACnB,UAAU;AAAA,EACV,WAAW;AAAA,EACX,aAAa;AAAA,EACb,SAAS;AAAA,EACT;AAAA,EACA,qBAAqB;AAAA,EACrB,sBAAsB;AAAA,EACtB;AAAA,EACA,SAAS;AAAA,EACT;AAAA,EACA,GAAG;AACL,MAAuB;AACrB,QAAM,EAAE,QAAA,IAAYA,gBAAA,WAAW,WAAW;AAE1C,QAAM,qBAAqB;AAAA,IACzB,iBAAiB;AAAA,MACf,KAAK,GAAG,MAAM;AAAA,IAChB;AAAA,IACA,oBAAoB;AAAA,MAClB,QAAQ,GAAG,MAAM;AAAA,IACnB;AAAA,EAAA;AAGF,QAAM,kBAAkBC,MAAA;AAAA,IAGtB,CAAC,eACCC,2BAAA;AAAA,MAACC,eAAA;AAAA,MAAA;AAAA,QACE,GAAG;AAAA,QACJ;AAAA,QACA,WAAW;AAAA,MAAA;AAAA,IACb;AAAA,IAEF,CAAC,WAAW,mBAAmB;AAAA,EAAA;AAI/B,SAAAD,2BAAA;AAAA,IAACE,kBAAA;AAAA,IAAA;AAAA,MACC,OACE,mBAAmB,eAAeC,4BAAW,aAAa,QAAQ,CAAC,EAAE;AAAA,MAEvE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,qBAAqB;AAAA,MACpB,GAAG;AAAA,MAEJ,UAAAH,2BAAA;AAAA,QAACI,gBAAA;AAAA,QAAA;AAAA,UACC,IAAIC,MAAAA,MAAM,IAAI,SAAS;AAAA,UACvB;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACC,GAAG;AAAA,QAAA;AAAA,MACN;AAAA,IAAA;AAAA,EAAA;AAGN;;;"}
1
+ {"version":3,"file":"Snackbar.cjs","sources":["../../../src/Snackbar/Snackbar.tsx"],"sourcesContent":["import { SyntheticEvent, useCallback } from \"react\";\nimport Slide, { SlideProps } from \"@mui/material/Slide\";\nimport MuiSnackbar, {\n SnackbarCloseReason,\n SnackbarOrigin,\n SnackbarProps as MuiSnackbarProps,\n} from \"@mui/material/Snackbar\";\nimport capitalize from \"lodash/capitalize\";\n\nimport { ExtractNames } from \"../utils/classes\";\nimport { setId } from \"../utils/setId\";\nimport { HvActionGeneric, HvActionsGenericProps } from \"../ActionsGeneric\";\nimport { HvSnackbarContentProps, HvSnackbarContent } from \"./SnackbarContent\";\nimport { staticClasses, useClasses } from \"./Snackbar.styles\";\nimport { HvSnackbarVariant } from \"./types\";\n\nexport { staticClasses as snackbarClasses };\n\nexport type HvSnackbarClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvSnackbarProps\n extends Omit<MuiSnackbarProps, \"action\" | \"classes\" | \"children\"> {\n /** If true, Snackbar is open. */\n open?: boolean;\n /**\n * Callback fired when the component requests to be closed.\n * Typically onClose is used to set state in the parent component, which is used to control the Snackbar open prop.\n * The reason parameter can optionally be used to control the response to onClose, for example ignoring click away.\n * */\n onClose?:\n | ((\n event: Event | SyntheticEvent<any, Event>,\n reason: SnackbarCloseReason\n ) => void)\n | undefined;\n /** The message to display. */\n label?: React.ReactNode;\n /**\n * The anchor of the Snackbar. vertical: \"top\", \"bottom\" | horizontal: \"left\", \"center\", \"right\".\n * It defines where the snackbar will end his animation */\n anchorOrigin?: SnackbarOrigin;\n /** The number of milliseconds to wait before automatically calling the onClose function. onClose should then set the state of the open prop to hide the Snackbar */\n autoHideDuration?: number;\n /** Variant of the snackbar. */\n variant?: HvSnackbarVariant;\n /** Custom icon to replace the variant default. */\n customIcon?: React.ReactNode;\n /** Controls if the associated icon to the variant should be shown. */\n showIcon?: boolean;\n /** Action to display. */\n action?: React.ReactNode | HvActionGeneric;\n /**\n * The callback function called when an action is triggered, receiving `action` as parameter.\n *\n * @deprecated Use `onAction` instead.\n * */\n actionCallback?: HvActionsGenericProps[\"actionsCallback\"];\n /** The callback function called when an action is triggered, receiving `action` as parameter. */\n onAction?: HvActionsGenericProps[\"onAction\"];\n /** Duration of transition in milliseconds. */\n transitionDuration?: number;\n /** Direction of slide transition. */\n transitionDirection?: \"up\" | \"down\" | \"left\" | \"right\";\n /** The container the snackbar should slide from. */\n container?: SlideProps[\"container\"];\n /** Custom offset from top/bottom of the page, in px. */\n offset?: number;\n /** Others applied to the content of the snackbar. */\n snackbarContentProps?: HvSnackbarContentProps;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvSnackbarClasses;\n /** @ignore */\n ref?: MuiSnackbarProps[\"ref\"];\n}\n\n/**\n * A Snackbar provides brief messages about app processes.\n * It is dismissed automatically after a given interval.\n *\n * Snackbar can be built with two different components.\n * One is the HvSnackbar, which wraps all the positioning, transition, auto hide, etc.\n * The other is the HvSnackbarContent, which allows a finer control and customization of the content of the Snackbar.\n */\nexport const HvSnackbar = ({\n classes: classesProp,\n className,\n id,\n open = false,\n onClose,\n label = \"\",\n anchorOrigin = { vertical: \"top\", horizontal: \"right\" },\n autoHideDuration = 5000,\n variant = \"default\",\n showIcon = false,\n customIcon = null,\n action = null,\n actionCallback, // TODO - remove in v6\n onAction,\n transitionDuration = 300,\n transitionDirection = \"left\",\n container,\n offset = 60,\n snackbarContentProps,\n ...others\n}: HvSnackbarProps) => {\n const { classes } = useClasses(classesProp);\n\n const anchorOriginOffset = {\n anchorOriginTop: {\n top: `${offset}px`,\n },\n anchorOriginBottom: {\n bottom: `${offset}px`,\n },\n };\n\n const SlideTransition = useCallback<\n NonNullable<MuiSnackbarProps[\"TransitionComponent\"]>\n >(\n (properties) => (\n <Slide\n {...properties}\n container={container}\n direction={transitionDirection}\n />\n ),\n [container, transitionDirection]\n );\n\n return (\n <MuiSnackbar\n style={\n anchorOriginOffset[`anchorOrigin${capitalize(anchorOrigin.vertical)}`]\n }\n classes={classes}\n className={className}\n id={id}\n anchorOrigin={anchorOrigin}\n open={open}\n onClose={onClose}\n autoHideDuration={autoHideDuration}\n transitionDuration={transitionDuration}\n TransitionComponent={SlideTransition}\n {...others}\n >\n <HvSnackbarContent\n id={setId(id, \"content\")}\n label={label}\n variant={variant}\n customIcon={customIcon}\n showIcon={showIcon}\n action={action}\n actionCallback={actionCallback}\n onAction={onAction}\n {...snackbarContentProps}\n />\n </MuiSnackbar>\n );\n};\n"],"names":["useClasses","useCallback","jsx","Slide","MuiSnackbar","capitalize","HvSnackbarContent","setId"],"mappings":";;;;;;;;;;;;;;AAmFO,MAAM,aAAa,CAAC;AAAA,EACzB,SAAS;AAAA,EACT;AAAA,EACA;AAAA,EACA,OAAO;AAAA,EACP;AAAA,EACA,QAAQ;AAAA,EACR,eAAe,EAAE,UAAU,OAAO,YAAY,QAAQ;AAAA,EACtD,mBAAmB;AAAA,EACnB,UAAU;AAAA,EACV,WAAW;AAAA,EACX,aAAa;AAAA,EACb,SAAS;AAAA,EACT;AAAA;AAAA,EACA;AAAA,EACA,qBAAqB;AAAA,EACrB,sBAAsB;AAAA,EACtB;AAAA,EACA,SAAS;AAAA,EACT;AAAA,EACA,GAAG;AACL,MAAuB;AACrB,QAAM,EAAE,QAAA,IAAYA,gBAAA,WAAW,WAAW;AAE1C,QAAM,qBAAqB;AAAA,IACzB,iBAAiB;AAAA,MACf,KAAK,GAAG,MAAM;AAAA,IAChB;AAAA,IACA,oBAAoB;AAAA,MAClB,QAAQ,GAAG,MAAM;AAAA,IACnB;AAAA,EAAA;AAGF,QAAM,kBAAkBC,MAAA;AAAA,IAGtB,CAAC,eACCC,2BAAA;AAAA,MAACC,eAAA;AAAA,MAAA;AAAA,QACE,GAAG;AAAA,QACJ;AAAA,QACA,WAAW;AAAA,MAAA;AAAA,IACb;AAAA,IAEF,CAAC,WAAW,mBAAmB;AAAA,EAAA;AAI/B,SAAAD,2BAAA;AAAA,IAACE,kBAAA;AAAA,IAAA;AAAA,MACC,OACE,mBAAmB,eAAeC,4BAAW,aAAa,QAAQ,CAAC,EAAE;AAAA,MAEvE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,qBAAqB;AAAA,MACpB,GAAG;AAAA,MAEJ,UAAAH,2BAAA;AAAA,QAACI,gBAAA;AAAA,QAAA;AAAA,UACC,IAAIC,MAAAA,MAAM,IAAI,SAAS;AAAA,UACvB;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACC,GAAG;AAAA,QAAA;AAAA,MACN;AAAA,IAAA;AAAA,EAAA;AAGN;;;"}
@@ -22,6 +22,8 @@ const HvSnackbarContent = React.forwardRef((props, ref) => {
22
22
  customIcon,
23
23
  action,
24
24
  actionCallback,
25
+ // TODO - remove in v6
26
+ onAction,
25
27
  ...others
26
28
  } = useDefaultProps.useDefaultProps("HvSnackbarContent", props);
27
29
  const icon = customIcon || showIcon && iconVariant.iconVariant(variant, "base_dark");
@@ -45,9 +47,10 @@ const HvSnackbarContent = React.forwardRef((props, ref) => {
45
47
  ActionsGeneric.HvActionsGeneric,
46
48
  {
47
49
  id,
48
- category: activeTheme?.snackbar.actionButtonVariant,
50
+ variant: activeTheme?.snackbar.actionButtonVariant,
49
51
  actions: innerAction,
50
- actionsCallback: actionCallback
52
+ actionsCallback: actionCallback,
53
+ onAction
51
54
  }
52
55
  ) })
53
56
  ] }),
@@ -1 +1 @@
1
- {"version":3,"file":"SnackbarContent.cjs","sources":["../../../../src/Snackbar/SnackbarContent/SnackbarContent.tsx"],"sourcesContent":["import { forwardRef, isValidElement } from \"react\";\n\nimport SnackbarContent, {\n SnackbarContentProps as MuiSnackbarContentProps,\n} from \"@mui/material/SnackbarContent\";\n\nimport { ExtractNames } from \"../../utils/classes\";\nimport { setId } from \"../../utils/setId\";\nimport { iconVariant } from \"../../utils/iconVariant\";\nimport { HvActionsGeneric, HvActionGeneric } from \"../../ActionsGeneric\";\nimport { HvButtonVariant } from \"../../Button\";\nimport { useTheme } from \"../../hooks/useTheme\";\n\nimport { useDefaultProps } from \"../../hooks/useDefaultProps\";\n\nimport { staticClasses, useClasses } from \"./SnackbarContent.styles\";\nimport { HvSnackbarVariant } from \"../types\";\n\nexport { staticClasses as snackbarContentClasses };\n\nexport type HvSnackbarContentClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvSnackbarContentProps\n extends Omit<MuiSnackbarContentProps, \"variant\" | \"action\" | \"classes\"> {\n /** The message to display. */\n label?: React.ReactNode;\n /** Variant of the snackbar. */\n variant?: HvSnackbarVariant;\n /** Controls if the associated icon to the variant should be shown. */\n showIcon?: boolean;\n /** Custom icon to replace the variant default. */\n customIcon?: React.ReactNode;\n /** Action to display. */\n action?: React.ReactNode | HvActionGeneric;\n /** The callback function ran when an action is triggered, receiving `action` as param */\n actionCallback?: (\n event: React.SyntheticEvent,\n id: string,\n action: HvActionGeneric\n ) => void;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvSnackbarContentClasses;\n}\n\nexport const HvSnackbarContent = forwardRef<\n HTMLDivElement,\n HvSnackbarContentProps\n>((props: HvSnackbarContentProps, ref) => {\n const {\n className,\n id,\n classes: classesProp,\n label,\n variant = \"default\",\n showIcon,\n customIcon,\n action,\n actionCallback,\n ...others\n } = useDefaultProps(\"HvSnackbarContent\", props);\n\n const icon = customIcon || (showIcon && iconVariant(variant, \"base_dark\"));\n const innerAction: any = isValidElement(action) ? action : [action];\n\n const { classes, cx } = useClasses(classesProp);\n const { activeTheme } = useTheme();\n\n return (\n <SnackbarContent\n ref={ref}\n id={id}\n classes={{\n root: classes.root,\n message: classes.message,\n }}\n className={cx(classes?.[variant], className)}\n message={\n <div id={setId(id, \"message\")} className={classes.messageSpan}>\n {icon && <div className={classes.iconVariant}>{icon}</div>}\n <div className={classes.messageText}>{label}</div>\n {action && (\n <div id={setId(id, \"action\")} className={classes.action}>\n <HvActionsGeneric\n id={id}\n category={\n activeTheme?.snackbar.actionButtonVariant as HvButtonVariant\n }\n actions={innerAction}\n actionsCallback={actionCallback}\n />\n </div>\n )}\n </div>\n }\n {...others}\n />\n );\n});\n"],"names":["forwardRef","useDefaultProps","iconVariant","isValidElement","useClasses","useTheme","jsx","SnackbarContent","jsxs","setId","HvActionsGeneric"],"mappings":";;;;;;;;;;;;;AA4CO,MAAM,oBAAoBA,MAAA,WAG/B,CAAC,OAA+B,QAAQ;AAClC,QAAA;AAAA,IACJ;AAAA,IACA;AAAA,IACA,SAAS;AAAA,IACT;AAAA,IACA,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EAAA,IACDC,gBAAgB,gBAAA,qBAAqB,KAAK;AAE9C,QAAM,OAAO,cAAe,YAAYC,YAAAA,YAAY,SAAS,WAAW;AACxE,QAAM,cAAmBC,MAAAA,eAAe,MAAM,IAAI,SAAS,CAAC,MAAM;AAElE,QAAM,EAAE,SAAS,GAAG,IAAIC,kCAAW,WAAW;AACxC,QAAA,EAAE,gBAAgBC,SAAAA;AAGtB,SAAAC,2BAAA;AAAA,IAACC,yBAAA;AAAA,IAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA,SAAS;AAAA,QACP,MAAM,QAAQ;AAAA,QACd,SAAS,QAAQ;AAAA,MACnB;AAAA,MACA,WAAW,GAAG,UAAU,OAAO,GAAG,SAAS;AAAA,MAC3C,SACGC,2BAAA,KAAA,OAAA,EAAI,IAAIC,MAAA,MAAM,IAAI,SAAS,GAAG,WAAW,QAAQ,aAC/C,UAAA;AAAA,QAAA,QAASH,2BAAAA,IAAA,OAAA,EAAI,WAAW,QAAQ,aAAc,UAAK,MAAA;AAAA,QACnDA,2BAAA,IAAA,OAAA,EAAI,WAAW,QAAQ,aAAc,UAAM,OAAA;AAAA,QAC3C,UACEA,2BAAAA,IAAA,OAAA,EAAI,IAAIG,MAAAA,MAAM,IAAI,QAAQ,GAAG,WAAW,QAAQ,QAC/C,UAAAH,2BAAA;AAAA,UAACI,eAAA;AAAA,UAAA;AAAA,YACC;AAAA,YACA,UACE,aAAa,SAAS;AAAA,YAExB,SAAS;AAAA,YACT,iBAAiB;AAAA,UAAA;AAAA,QAAA,GAErB;AAAA,MAAA,GAEJ;AAAA,MAED,GAAG;AAAA,IAAA;AAAA,EAAA;AAGV,CAAC;;;"}
1
+ {"version":3,"file":"SnackbarContent.cjs","sources":["../../../../src/Snackbar/SnackbarContent/SnackbarContent.tsx"],"sourcesContent":["import { forwardRef, isValidElement } from \"react\";\nimport SnackbarContent, {\n SnackbarContentProps as MuiSnackbarContentProps,\n} from \"@mui/material/SnackbarContent\";\n\nimport { ExtractNames } from \"../../utils/classes\";\nimport { setId } from \"../../utils/setId\";\nimport { iconVariant } from \"../../utils/iconVariant\";\nimport {\n HvActionsGeneric,\n HvActionGeneric,\n HvActionsGenericProps,\n} from \"../../ActionsGeneric\";\nimport { HvButtonVariant } from \"../../Button\";\nimport { useTheme } from \"../../hooks/useTheme\";\nimport { useDefaultProps } from \"../../hooks/useDefaultProps\";\nimport { staticClasses, useClasses } from \"./SnackbarContent.styles\";\nimport { HvSnackbarVariant } from \"../types\";\n\nexport { staticClasses as snackbarContentClasses };\n\nexport type HvSnackbarContentClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvSnackbarContentProps\n extends Omit<MuiSnackbarContentProps, \"variant\" | \"action\" | \"classes\"> {\n /** The message to display. */\n label?: React.ReactNode;\n /** Variant of the snackbar. */\n variant?: HvSnackbarVariant;\n /** Controls if the associated icon to the variant should be shown. */\n showIcon?: boolean;\n /** Custom icon to replace the variant default. */\n customIcon?: React.ReactNode;\n /** Action to display. */\n action?: React.ReactNode | HvActionGeneric;\n /**\n * The callback function called when an action is triggered, receiving `action` as parameter.\n *\n * @deprecated Use `onAction` instead.\n * */\n actionCallback?: HvActionsGenericProps[\"actionsCallback\"];\n /** The callback function called when an action is triggered, receiving `action` as parameter. */\n onAction?: HvActionsGenericProps[\"onAction\"];\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvSnackbarContentClasses;\n}\n\nexport const HvSnackbarContent = forwardRef<\n HTMLDivElement,\n HvSnackbarContentProps\n>((props: HvSnackbarContentProps, ref) => {\n const {\n className,\n id,\n classes: classesProp,\n label,\n variant = \"default\",\n showIcon,\n customIcon,\n action,\n actionCallback, // TODO - remove in v6\n onAction,\n ...others\n } = useDefaultProps(\"HvSnackbarContent\", props);\n\n const icon = customIcon || (showIcon && iconVariant(variant, \"base_dark\"));\n const innerAction: any = isValidElement(action) ? action : [action];\n\n const { classes, cx } = useClasses(classesProp);\n const { activeTheme } = useTheme();\n\n return (\n <SnackbarContent\n ref={ref}\n id={id}\n classes={{\n root: classes.root,\n message: classes.message,\n }}\n className={cx(classes?.[variant], className)}\n message={\n <div id={setId(id, \"message\")} className={classes.messageSpan}>\n {icon && <div className={classes.iconVariant}>{icon}</div>}\n <div className={classes.messageText}>{label}</div>\n {action && (\n <div id={setId(id, \"action\")} className={classes.action}>\n <HvActionsGeneric\n id={id}\n variant={\n activeTheme?.snackbar.actionButtonVariant as HvButtonVariant\n }\n actions={innerAction}\n actionsCallback={actionCallback}\n onAction={onAction}\n />\n </div>\n )}\n </div>\n }\n {...others}\n />\n );\n});\n"],"names":["forwardRef","useDefaultProps","iconVariant","isValidElement","useClasses","useTheme","jsx","SnackbarContent","jsxs","setId","HvActionsGeneric"],"mappings":";;;;;;;;;;;;;AA+CO,MAAM,oBAAoBA,MAAA,WAG/B,CAAC,OAA+B,QAAQ;AAClC,QAAA;AAAA,IACJ;AAAA,IACA;AAAA,IACA,SAAS;AAAA,IACT;AAAA,IACA,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EAAA,IACDC,gBAAgB,gBAAA,qBAAqB,KAAK;AAE9C,QAAM,OAAO,cAAe,YAAYC,YAAAA,YAAY,SAAS,WAAW;AACxE,QAAM,cAAmBC,MAAAA,eAAe,MAAM,IAAI,SAAS,CAAC,MAAM;AAElE,QAAM,EAAE,SAAS,GAAG,IAAIC,kCAAW,WAAW;AACxC,QAAA,EAAE,gBAAgBC,SAAAA;AAGtB,SAAAC,2BAAA;AAAA,IAACC,yBAAA;AAAA,IAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA,SAAS;AAAA,QACP,MAAM,QAAQ;AAAA,QACd,SAAS,QAAQ;AAAA,MACnB;AAAA,MACA,WAAW,GAAG,UAAU,OAAO,GAAG,SAAS;AAAA,MAC3C,SACGC,2BAAA,KAAA,OAAA,EAAI,IAAIC,MAAA,MAAM,IAAI,SAAS,GAAG,WAAW,QAAQ,aAC/C,UAAA;AAAA,QAAA,QAASH,2BAAAA,IAAA,OAAA,EAAI,WAAW,QAAQ,aAAc,UAAK,MAAA;AAAA,QACnDA,2BAAA,IAAA,OAAA,EAAI,WAAW,QAAQ,aAAc,UAAM,OAAA;AAAA,QAC3C,UACEA,2BAAAA,IAAA,OAAA,EAAI,IAAIG,MAAAA,MAAM,IAAI,QAAQ,GAAG,WAAW,QAAQ,QAC/C,UAAAH,2BAAA;AAAA,UAACI,eAAA;AAAA,UAAA;AAAA,YACC;AAAA,YACA,SACE,aAAa,SAAS;AAAA,YAExB,SAAS;AAAA,YACT,iBAAiB;AAAA,YACjB;AAAA,UAAA;AAAA,QAAA,GAEJ;AAAA,MAAA,GAEJ;AAAA,MAED,GAAG;AAAA,IAAA;AAAA,EAAA;AAGV,CAAC;;;"}