@hitachivantara/uikit-react-core 5.26.6 → 5.27.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 (58) hide show
  1. package/dist/cjs/components/ActionsGeneric/ActionsGeneric.cjs +2 -4
  2. package/dist/cjs/components/ActionsGeneric/ActionsGeneric.cjs.map +1 -1
  3. package/dist/cjs/components/BulkActions/BulkActions.cjs +2 -3
  4. package/dist/cjs/components/BulkActions/BulkActions.cjs.map +1 -1
  5. package/dist/cjs/components/Dialog/Dialog.cjs +2 -4
  6. package/dist/cjs/components/Dialog/Dialog.cjs.map +1 -1
  7. package/dist/cjs/components/Drawer/Drawer.cjs +2 -1
  8. package/dist/cjs/components/Drawer/Drawer.cjs.map +1 -1
  9. package/dist/cjs/components/ScrollTo/Horizontal/ScrollToHorizontal.cjs +2 -2
  10. package/dist/cjs/components/ScrollTo/Horizontal/ScrollToHorizontal.cjs.map +1 -1
  11. package/dist/cjs/components/ScrollTo/Vertical/ScrollToVertical.cjs +2 -2
  12. package/dist/cjs/components/ScrollTo/Vertical/ScrollToVertical.cjs.map +1 -1
  13. package/dist/cjs/components/Table/TableCell/TableCell.cjs +2 -2
  14. package/dist/cjs/components/Table/TableCell/TableCell.cjs.map +1 -1
  15. package/dist/cjs/components/Table/TableHeader/TableHeader.cjs +6 -4
  16. package/dist/cjs/components/Table/TableHeader/TableHeader.cjs.map +1 -1
  17. package/dist/cjs/components/Table/TableRow/TableRow.cjs +3 -4
  18. package/dist/cjs/components/Table/TableRow/TableRow.cjs.map +1 -1
  19. package/dist/cjs/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.cjs +4 -2
  20. package/dist/cjs/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.cjs.map +1 -1
  21. package/dist/cjs/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.cjs +5 -2
  22. package/dist/cjs/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.cjs.map +1 -1
  23. package/dist/cjs/components/Table/renderers/renderers.cjs +6 -3
  24. package/dist/cjs/components/Table/renderers/renderers.cjs.map +1 -1
  25. package/dist/cjs/components/Tag/Tag.cjs +2 -4
  26. package/dist/cjs/components/Tag/Tag.cjs.map +1 -1
  27. package/dist/cjs/hooks/useTheme.cjs +12 -1
  28. package/dist/cjs/hooks/useTheme.cjs.map +1 -1
  29. package/dist/esm/components/ActionsGeneric/ActionsGeneric.js +2 -4
  30. package/dist/esm/components/ActionsGeneric/ActionsGeneric.js.map +1 -1
  31. package/dist/esm/components/BulkActions/BulkActions.js +2 -3
  32. package/dist/esm/components/BulkActions/BulkActions.js.map +1 -1
  33. package/dist/esm/components/Dialog/Dialog.js +2 -4
  34. package/dist/esm/components/Dialog/Dialog.js.map +1 -1
  35. package/dist/esm/components/Drawer/Drawer.js +2 -1
  36. package/dist/esm/components/Drawer/Drawer.js.map +1 -1
  37. package/dist/esm/components/ScrollTo/Horizontal/ScrollToHorizontal.js +2 -2
  38. package/dist/esm/components/ScrollTo/Horizontal/ScrollToHorizontal.js.map +1 -1
  39. package/dist/esm/components/ScrollTo/Vertical/ScrollToVertical.js +2 -2
  40. package/dist/esm/components/ScrollTo/Vertical/ScrollToVertical.js.map +1 -1
  41. package/dist/esm/components/Table/TableCell/TableCell.js +2 -2
  42. package/dist/esm/components/Table/TableCell/TableCell.js.map +1 -1
  43. package/dist/esm/components/Table/TableHeader/TableHeader.js +6 -4
  44. package/dist/esm/components/Table/TableHeader/TableHeader.js.map +1 -1
  45. package/dist/esm/components/Table/TableRow/TableRow.js +3 -4
  46. package/dist/esm/components/Table/TableRow/TableRow.js.map +1 -1
  47. package/dist/esm/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.js +4 -2
  48. package/dist/esm/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.js.map +1 -1
  49. package/dist/esm/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.js +5 -2
  50. package/dist/esm/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.js.map +1 -1
  51. package/dist/esm/components/Table/renderers/renderers.js +6 -3
  52. package/dist/esm/components/Table/renderers/renderers.js.map +1 -1
  53. package/dist/esm/components/Tag/Tag.js +2 -4
  54. package/dist/esm/components/Tag/Tag.js.map +1 -1
  55. package/dist/esm/hooks/useTheme.js +13 -2
  56. package/dist/esm/hooks/useTheme.js.map +1 -1
  57. package/dist/types/index.d.ts +9 -3
  58. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"TableHeader.cjs","sources":["../../../../../src/components/Table/TableHeader/TableHeader.tsx"],"sourcesContent":["import {\n forwardRef,\n HTMLAttributes,\n ThHTMLAttributes,\n useContext,\n useMemo,\n} from \"react\";\n\nimport capitalize from \"lodash/capitalize\";\n\nimport { hexToRgb, alpha } from \"@mui/material\";\n\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { HvTypography, HvTypographyProps } from \"@core/components/Typography\";\nimport { useTheme } from \"@core/hooks/useTheme\";\nimport { ExtractNames } from \"@core/utils/classes\";\nimport { HvButton } from \"@core/components/Button\";\n\nimport TableContext from \"../TableContext\";\nimport TableSectionContext from \"../TableSectionContext\";\nimport { getSortIcon, isParagraph } from \"./utils\";\nimport { useClasses, staticClasses } from \"./TableHeader.styles\";\nimport {\n HvTableCellAlign,\n HvTableCellType,\n HvTableCellVariant,\n} from \"../Table\";\n\nexport { staticClasses as tableHeaderClasses };\n\nexport type HvTableHeaderClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvTableHeaderProps\n extends Omit<ThHTMLAttributes<HTMLTableCellElement>, \"align\"> {\n /** The component used for the root node. Either a string to use a HTML element or a component. Defaults to th. */\n component?: React.ElementType;\n /** Content to be rendered */\n children?: React.ReactNode;\n /** The scope of cells that the header element relates to. */\n scope?: \"col\" | \"row\" | \"colgroup\" | \"rowgroup\";\n /** Set the text-align on the table cell content. */\n align?: HvTableCellAlign;\n /** Sets the cell's variant. */\n variant?: HvTableCellVariant;\n /** Specify the cell type. The prop defaults to the value inherited from the parent TableHead, TableBody, or TableFooter components. */\n type?: HvTableCellType;\n /** The cell is part of a sticky column. */\n stickyColumn?: boolean;\n /** The cell is part of the last sticky to the left column. */\n stickyColumnMostLeft?: boolean;\n /** The cell is part of the first sticky to the right column. */\n stickyColumnLeastRight?: boolean;\n /** The cell is part of the first column in the group. */\n groupColumnMostLeft?: boolean;\n /** The cell is part of the last column in the group. */\n groupColumnMostRight?: boolean;\n /** Whether or not the cell is sorted */\n sorted?: boolean;\n /** Whether or not the cell is sortable */\n sortable?: boolean;\n /** Set sort direction icon and aria-sort. */\n sortDirection?: \"ascending\" | \"descending\" | false;\n /** Extra props to be passed onto the text in the header. */\n headerTextProps?: HvTypographyProps;\n /** Whether or not the cell is resizable */\n resizable?: boolean;\n /** Whether or not the cell is being resized */\n resizing?: boolean;\n /** The resize props injected in the resize handler */\n resizerProps?: HTMLAttributes<HTMLDivElement>;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvTableHeaderClasses;\n}\n\nconst defaultComponent = \"th\";\n\n/**\n * `HvTableHeader` acts as a `th` element and inherits styles from its context\n */\nexport const HvTableHeader = forwardRef<HTMLElement, HvTableHeaderProps>(\n (\n {\n children,\n component,\n className,\n style,\n classes: classesProp,\n scope: scopeProp,\n align = \"inherit\",\n variant = \"default\",\n type: typeProp,\n stickyColumn = false,\n stickyColumnMostLeft = false,\n stickyColumnLeastRight = false,\n groupColumnMostLeft = false,\n groupColumnMostRight = false,\n sortDirection = \"none\",\n sorted,\n sortable,\n headerTextProps,\n resizerProps = {},\n resizable = false,\n resizing = false,\n ...others\n },\n externalRef\n ) => {\n const { classes, cx, css } = useClasses(classesProp);\n\n const { activeTheme, selectedMode } = useTheme();\n const tableContext = useContext(TableContext);\n const tableSectionContext = useContext(TableSectionContext);\n\n const type = typeProp || tableSectionContext?.type || \"body\";\n const isHeadCell = type === \"head\";\n\n const scope = scopeProp ?? isHeadCell ? \"col\" : \"row\";\n\n const Sort = useMemo(\n () => getSortIcon(sorted && sortDirection),\n [sorted, sortDirection]\n );\n\n const Component =\n component || tableContext?.components?.Th || defaultComponent;\n\n const role =\n Component === defaultComponent\n ? null\n : isHeadCell\n ? \"columnheader\"\n : \"rowheader\";\n const paragraph = isParagraph(children);\n\n return (\n <Component\n ref={externalRef}\n role={role}\n scope={scope}\n style={style}\n className={cx(\n classes.root,\n classes[type],\n type === \"body\" &&\n css({\n [`&.${staticClasses.sorted}`]: {\n backgroundColor: alpha(\n hexToRgb(\n activeTheme?.colors?.modes[selectedMode].atmo1 ||\n theme.colors.atmo1\n ),\n 0.4\n ),\n },\n }),\n {\n [classes.groupColumnMostLeft]: groupColumnMostLeft,\n [classes.groupColumnMostRight]: groupColumnMostRight,\n [classes.sortable]: sortable,\n [classes.sorted]: sorted,\n [classes.resizable]: resizable,\n [classes.resizing]: resizing,\n [classes.stickyColumn]: stickyColumn,\n [classes.stickyColumnMostLeft]: stickyColumnMostLeft,\n [classes.stickyColumnLeastRight]: stickyColumnLeastRight,\n [classes.variantList]: tableContext.variant === \"listrow\",\n [classes[`align${capitalize(align)}`]]: align !== \"inherit\",\n [classes[`variant${capitalize(variant)}`]]: variant !== \"default\",\n },\n className\n )}\n aria-sort={sortable ? sortDirection : undefined}\n {...others}\n >\n <div\n className={cx(classes.headerContent, {\n [classes[`alignFlex${capitalize(align)}`]]: align !== \"inherit\",\n })}\n >\n {isHeadCell && sortable && (\n <HvButton\n className={classes.sortButton}\n icon\n overrideIconColors={false}\n >\n <Sort className={classes.sortIcon} />\n </HvButton>\n )}\n <HvTypography\n component=\"div\"\n className={cx({\n [classes.headerText]: !paragraph,\n [classes.headerParagraph]: paragraph,\n [classes.sortableHeaderText]: sortable,\n })}\n variant=\"label\"\n {...headerTextProps}\n >\n {children}\n </HvTypography>\n {resizable && <div {...resizerProps} className={classes.resizer} />}\n </div>\n </Component>\n );\n }\n);\n"],"names":["defaultComponent","HvTableHeader","forwardRef","children","component","className","style","classes","classesProp","scope","scopeProp","align","variant","type","typeProp","stickyColumn","stickyColumnMostLeft","stickyColumnLeastRight","groupColumnMostLeft","groupColumnMostRight","sortDirection","sorted","sortable","headerTextProps","resizerProps","resizable","resizing","others","externalRef","cx","css","useClasses","activeTheme","selectedMode","useTheme","tableContext","useContext","TableContext","tableSectionContext","TableSectionContext","isHeadCell","Sort","useMemo","getSortIcon","Component","components","Th","role","paragraph","isParagraph","ref","root","staticClasses","backgroundColor","alpha","hexToRgb","colors","modes","atmo1","theme","variantList","capitalize","undefined","headerContent","HvButton","sortButton","icon","overrideIconColors","sortIcon","_jsx","HvTypography","headerText","headerParagraph","sortableHeaderText","resizer"],"mappings":"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"}
1
+ {"version":3,"file":"TableHeader.cjs","sources":["../../../../../src/components/Table/TableHeader/TableHeader.tsx"],"sourcesContent":["import {\n forwardRef,\n HTMLAttributes,\n ThHTMLAttributes,\n useContext,\n useMemo,\n} from \"react\";\n\nimport capitalize from \"lodash/capitalize\";\n\nimport { hexToRgb, alpha } from \"@mui/material\";\n\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { HvTypography, HvTypographyProps } from \"@core/components/Typography\";\nimport { useTheme } from \"@core/hooks/useTheme\";\nimport { ExtractNames } from \"@core/utils/classes\";\nimport { HvButton, HvButtonProps } from \"@core/components/Button\";\n\nimport TableContext from \"../TableContext\";\nimport TableSectionContext from \"../TableSectionContext\";\nimport { getSortIcon, isParagraph } from \"./utils\";\nimport { useClasses, staticClasses } from \"./TableHeader.styles\";\nimport {\n HvTableCellAlign,\n HvTableCellType,\n HvTableCellVariant,\n} from \"../Table\";\n\nexport { staticClasses as tableHeaderClasses };\n\nexport type HvTableHeaderClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvTableHeaderProps\n extends Omit<ThHTMLAttributes<HTMLTableCellElement>, \"align\"> {\n /** The component used for the root node. Either a string to use a HTML element or a component. Defaults to th. */\n component?: React.ElementType;\n /** Content to be rendered */\n children?: React.ReactNode;\n /** The scope of cells that the header element relates to. */\n scope?: \"col\" | \"row\" | \"colgroup\" | \"rowgroup\";\n /** Set the text-align on the table cell content. */\n align?: HvTableCellAlign;\n /** Sets the cell's variant. */\n variant?: HvTableCellVariant;\n /** Specify the cell type. The prop defaults to the value inherited from the parent TableHead, TableBody, or TableFooter components. */\n type?: HvTableCellType;\n /** The cell is part of a sticky column. */\n stickyColumn?: boolean;\n /** The cell is part of the last sticky to the left column. */\n stickyColumnMostLeft?: boolean;\n /** The cell is part of the first sticky to the right column. */\n stickyColumnLeastRight?: boolean;\n /** The cell is part of the first column in the group. */\n groupColumnMostLeft?: boolean;\n /** The cell is part of the last column in the group. */\n groupColumnMostRight?: boolean;\n /** Whether or not the cell is sorted */\n sorted?: boolean;\n /** Whether or not the cell is sortable */\n sortable?: boolean;\n /** Set sort direction icon and aria-sort. */\n sortDirection?: \"ascending\" | \"descending\" | false;\n /** Extra props to be passed onto the text in the header. */\n headerTextProps?: HvTypographyProps;\n /** Whether or not the cell is resizable */\n resizable?: boolean;\n /** Whether or not the cell is being resized */\n resizing?: boolean;\n /** The resize props injected in the resize handler */\n resizerProps?: HTMLAttributes<HTMLDivElement>;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvTableHeaderClasses;\n /** Extra props to be passed onto the sort button in the header. */\n sortButtonProps?: HvButtonProps;\n}\n\nconst defaultComponent = \"th\";\n\n/**\n * `HvTableHeader` acts as a `th` element and inherits styles from its context\n */\nexport const HvTableHeader = forwardRef<HTMLElement, HvTableHeaderProps>(\n (\n {\n children,\n component,\n className,\n style,\n classes: classesProp,\n scope: scopeProp,\n align = \"inherit\",\n variant = \"default\",\n type: typeProp,\n stickyColumn = false,\n stickyColumnMostLeft = false,\n stickyColumnLeastRight = false,\n groupColumnMostLeft = false,\n groupColumnMostRight = false,\n sortDirection = \"none\",\n sorted,\n sortable,\n headerTextProps,\n resizerProps = {},\n resizable = false,\n resizing = false,\n sortButtonProps,\n ...others\n },\n externalRef\n ) => {\n const { classes, cx, css } = useClasses(classesProp);\n\n const { colors } = useTheme();\n const tableContext = useContext(TableContext);\n const tableSectionContext = useContext(TableSectionContext);\n\n const type = typeProp || tableSectionContext?.type || \"body\";\n const isHeadCell = type === \"head\";\n\n const scope = scopeProp ?? isHeadCell ? \"col\" : \"row\";\n\n const Sort = useMemo(\n () => getSortIcon(sorted && sortDirection),\n [sorted, sortDirection]\n );\n\n const Component =\n component || tableContext?.components?.Th || defaultComponent;\n\n const role =\n Component === defaultComponent\n ? null\n : isHeadCell\n ? \"columnheader\"\n : \"rowheader\";\n const paragraph = isParagraph(children);\n\n return (\n <Component\n ref={externalRef}\n role={role}\n scope={scope}\n style={style}\n className={cx(\n classes.root,\n classes[type],\n type === \"body\" &&\n css({\n [`&.${staticClasses.sorted}`]: {\n backgroundColor: alpha(\n hexToRgb(colors?.atmo1 || theme.colors.atmo1),\n 0.4\n ),\n },\n }),\n {\n [classes.groupColumnMostLeft]: groupColumnMostLeft,\n [classes.groupColumnMostRight]: groupColumnMostRight,\n [classes.sortable]: sortable,\n [classes.sorted]: sorted,\n [classes.resizable]: resizable,\n [classes.resizing]: resizing,\n [classes.stickyColumn]: stickyColumn,\n [classes.stickyColumnMostLeft]: stickyColumnMostLeft,\n [classes.stickyColumnLeastRight]: stickyColumnLeastRight,\n [classes.variantList]: tableContext.variant === \"listrow\",\n [classes[`align${capitalize(align)}`]]: align !== \"inherit\",\n [classes[`variant${capitalize(variant)}`]]: variant !== \"default\",\n },\n className\n )}\n aria-sort={sortable ? sortDirection : undefined}\n {...others}\n >\n <div\n className={cx(classes.headerContent, {\n [classes[`alignFlex${capitalize(align)}`]]: align !== \"inherit\",\n })}\n >\n {isHeadCell && sortable && (\n <HvButton\n className={classes.sortButton}\n icon\n overrideIconColors={false}\n aria-label=\"Sort\"\n {...sortButtonProps}\n >\n <Sort className={classes.sortIcon} />\n </HvButton>\n )}\n <HvTypography\n component=\"div\"\n className={cx({\n [classes.headerText]: !paragraph,\n [classes.headerParagraph]: paragraph,\n [classes.sortableHeaderText]: sortable,\n })}\n variant=\"label\"\n {...headerTextProps}\n >\n {children}\n </HvTypography>\n {resizable && <div {...resizerProps} className={classes.resizer} />}\n </div>\n </Component>\n );\n }\n);\n"],"names":["defaultComponent","HvTableHeader","forwardRef","children","component","className","style","classes","classesProp","scope","scopeProp","align","variant","type","typeProp","stickyColumn","stickyColumnMostLeft","stickyColumnLeastRight","groupColumnMostLeft","groupColumnMostRight","sortDirection","sorted","sortable","headerTextProps","resizerProps","resizable","resizing","sortButtonProps","others","externalRef","cx","css","useClasses","colors","useTheme","tableContext","useContext","TableContext","tableSectionContext","TableSectionContext","isHeadCell","Sort","useMemo","getSortIcon","Component","components","Th","role","paragraph","isParagraph","ref","root","staticClasses","backgroundColor","alpha","hexToRgb","atmo1","theme","variantList","capitalize","undefined","headerContent","HvButton","sortButton","icon","overrideIconColors","sortIcon","_jsx","HvTypography","headerText","headerParagraph","sortableHeaderText","resizer"],"mappings":"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"}
@@ -15,7 +15,7 @@ const getStripedColor = (color, opacity = 0.6) => {
15
15
  return checkValidHexColorValue.checkValidHexColorValue(color) ? hexToRgbA.hexToRgbA(color, opacity) : color;
16
16
  };
17
17
  const HvTableRow = React.forwardRef((props, externalRef) => {
18
- var _a, _b;
18
+ var _a;
19
19
  const {
20
20
  classes: classesProp,
21
21
  className,
@@ -32,8 +32,7 @@ const HvTableRow = React.forwardRef((props, externalRef) => {
32
32
  css
33
33
  } = TableRow_styles.useClasses(classesProp);
34
34
  const {
35
- activeTheme,
36
- selectedMode,
35
+ colors,
37
36
  rootId
38
37
  } = useTheme.useTheme();
39
38
  const tableContext = React.useContext(TableContext.default);
@@ -50,7 +49,7 @@ const HvTableRow = React.forwardRef((props, externalRef) => {
50
49
  setOdd(theme.getVarValue(uikitStyles.theme.table.rowStripedBackgroundColorOdd, rootId));
51
50
  setStripedColorEven(getStripedColor(even));
52
51
  setStripedColorOdd(getStripedColor(odd));
53
- }, [(_b = activeTheme == null ? void 0 : activeTheme.colors) == null ? void 0 : _b.modes[selectedMode], even, odd, rootId]);
52
+ }, [colors, even, odd, rootId]);
54
53
  return /* @__PURE__ */ jsxRuntime.jsx(Component, {
55
54
  ref: externalRef,
56
55
  className: cx(tableSectionContext.filterClassName, classes.root, classes[type], striped && css({
@@ -1 +1 @@
1
- {"version":3,"file":"TableRow.cjs","sources":["../../../../../src/components/Table/TableRow/TableRow.tsx"],"sourcesContent":["import { forwardRef, useContext, useEffect, useState } from \"react\";\n\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { ExtractNames } from \"@core/utils/classes\";\nimport { checkValidHexColorValue } from \"@core/utils/checkValidHexColorValue\";\nimport { hexToRgbA } from \"@core/utils/hexToRgbA\";\nimport { getVarValue } from \"@core/utils/theme\";\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { useTheme } from \"@core/hooks/useTheme\";\n\nimport TableContext from \"../TableContext\";\nimport TableSectionContext from \"../TableSectionContext\";\nimport { staticClasses, useClasses } from \"./TableRow.styles\";\n\nexport { staticClasses as tableRowClasses };\n\nexport type HvTableRowClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvTableRowProps\n extends HvBaseProps<HTMLTableRowElement, \"children\"> {\n /** Content to be rendered */\n children: React.ReactNode;\n /** The component used for the root node. Either a string to use a HTML element or a component. Defaults to tbody. */\n component?: React.ElementType;\n /** Whether the table row will shade on hover. */\n hover?: boolean;\n /** Whether the table row will have the selected shading. */\n selected?: boolean;\n /** Whether the table row is expanded. */\n expanded?: boolean;\n /** Whether the table row background is striped. */\n striped?: boolean;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvTableRowClasses;\n}\n\nconst defaultComponent = \"tr\";\n\nconst getStripedColor = (color?: string, opacity: number = 0.6) => {\n return checkValidHexColorValue(color) ? hexToRgbA(color, opacity) : color;\n};\n\n/**\n * `HvTableRow` acts as a `tr` element and inherits styles from its context\n */\nexport const HvTableRow = forwardRef<HTMLElement, HvTableRowProps>(\n (props, externalRef) => {\n const {\n classes: classesProp,\n className,\n component,\n hover = false,\n selected = false,\n expanded = false,\n striped = false,\n ...others\n } = props;\n const { classes, cx, css } = useClasses(classesProp);\n const { activeTheme, selectedMode, rootId } = useTheme();\n const tableContext = useContext(TableContext);\n const tableSectionContext = useContext(TableSectionContext);\n\n const [even, setEven] = useState<string | undefined>();\n const [odd, setOdd] = useState<string | undefined>();\n\n const type = tableSectionContext?.type || \"body\";\n\n const isList = tableContext.variant === \"listrow\";\n\n const Component =\n component || tableContext?.components?.Tr || defaultComponent;\n\n const [stripedColorEven, setStripedColorEven] = useState(\n getStripedColor(even)\n );\n const [stripedColorOdd, setStripedColorOdd] = useState(\n getStripedColor(odd)\n );\n\n useEffect(() => {\n setEven(getVarValue(theme.table.rowStripedBackgroundColorEven, rootId));\n setOdd(getVarValue(theme.table.rowStripedBackgroundColorOdd, rootId));\n\n setStripedColorEven(getStripedColor(even));\n setStripedColorOdd(getStripedColor(odd));\n }, [activeTheme?.colors?.modes[selectedMode], even, odd, rootId]);\n\n return (\n <Component\n ref={externalRef}\n className={cx(\n tableSectionContext.filterClassName,\n classes.root,\n classes[type],\n striped &&\n css({\n \"&:nth-of-type(even)\": {\n backgroundColor: stripedColorEven,\n \"&:hover\": {\n backgroundColor: theme.table.rowHoverColor,\n },\n },\n \"&:nth-of-type(odd)\": {\n backgroundColor: stripedColorOdd,\n \"&:hover\": {\n backgroundColor: theme.table.rowHoverColor,\n },\n },\n }),\n {\n [classes.hover]: hover,\n [classes.selected]: selected,\n [classes.expanded]: expanded,\n [classes.striped]: striped,\n [classes.variantList]: isList && type === \"body\",\n [classes.variantListHead]: isList && type === \"head\",\n },\n className\n )}\n role={Component === defaultComponent ? null : \"row\"}\n {...others}\n />\n );\n }\n);\n"],"names":["defaultComponent","getStripedColor","color","opacity","checkValidHexColorValue","hexToRgbA","HvTableRow","forwardRef","props","externalRef","classes","classesProp","className","component","hover","selected","expanded","striped","others","cx","css","useClasses","activeTheme","selectedMode","rootId","useTheme","tableContext","useContext","TableContext","tableSectionContext","TableSectionContext","even","setEven","useState","odd","setOdd","type","isList","variant","Component","components","Tr","stripedColorEven","setStripedColorEven","stripedColorOdd","setStripedColorOdd","useEffect","getVarValue","theme","table","rowStripedBackgroundColorEven","rowStripedBackgroundColorOdd","colors","modes","ref","filterClassName","root","backgroundColor","rowHoverColor","variantList","variantListHead","role"],"mappings":";;;;;;;;;;;;AAqCA,MAAMA,mBAAmB;AAEzB,MAAMC,kBAAkBA,CAACC,OAAgBC,UAAkB,QAAQ;AACjE,SAAOC,wBAAAA,wBAAwBF,KAAK,IAAIG,UAAAA,UAAUH,OAAOC,OAAO,IAAID;AACtE;AAKO,MAAMI,aAAaC,MAAAA,WACxB,CAACC,OAAOC,gBAAgB;;AAChB,QAAA;AAAA,IACJC,SAASC;AAAAA,IACTC;AAAAA,IACAC;AAAAA,IACAC,QAAQ;AAAA,IACRC,WAAW;AAAA,IACXC,WAAW;AAAA,IACXC,UAAU;AAAA,IACV,GAAGC;AAAAA,EACDV,IAAAA;AACE,QAAA;AAAA,IAAEE;AAAAA,IAASS;AAAAA,IAAIC;AAAAA,EAAAA,IAAQC,gBAAAA,WAAWV,WAAW;AAC7C,QAAA;AAAA,IAAEW;AAAAA,IAAaC;AAAAA,IAAcC;AAAAA,MAAWC,SAAS,SAAA;AACjDC,QAAAA,eAAeC,iBAAWC,aAAAA,OAAY;AACtCC,QAAAA,sBAAsBF,iBAAWG,oBAAAA,OAAmB;AAE1D,QAAM,CAACC,MAAMC,OAAO,IAAIC,MAA6B,SAAA;AACrD,QAAM,CAACC,KAAKC,MAAM,IAAIF,MAA6B,SAAA;AAE7CG,QAAAA,QAAOP,2DAAqBO,SAAQ;AAEpCC,QAAAA,SAASX,aAAaY,YAAY;AAExC,QAAMC,YACJ1B,eAAaa,kDAAcc,eAAdd,mBAA0Be,OAAMzC;AAE/C,QAAM,CAAC0C,kBAAkBC,mBAAmB,IAAIV,MAC9ChC,SAAAA,gBAAgB8B,IAAI,CACtB;AACA,QAAM,CAACa,iBAAiBC,kBAAkB,IAAIZ,MAC5ChC,SAAAA,gBAAgBiC,GAAG,CACrB;AAEAY,QAAAA,UAAU,MAAM;AACdd,YAAQe,MAAYC,YAAAA,YAAAA,MAAMC,MAAMC,+BAA+B1B,MAAM,CAAC;AACtEW,WAAOY,MAAYC,YAAAA,YAAAA,MAAMC,MAAME,8BAA8B3B,MAAM,CAAC;AAEhDvB,wBAAAA,gBAAgB8B,IAAI,CAAC;AACtB9B,uBAAAA,gBAAgBiC,GAAG,CAAC;AAAA,EAAA,GACtC,EAACZ,gDAAa8B,WAAb9B,mBAAqB+B,MAAM9B,eAAeQ,MAAMG,KAAKV,MAAM,CAAC;AAEhE,wCACGe,WAAS;AAAA,IACRe,KAAK7C;AAAAA,IACLG,WAAWO,GACTU,oBAAoB0B,iBACpB7C,QAAQ8C,MACR9C,QAAQ0B,IAAI,GACZnB,WACEG,IAAI;AAAA,MACF,uBAAuB;AAAA,QACrBqC,iBAAiBf;AAAAA,QACjB,WAAW;AAAA,UACTe,iBAAiBT,YAAAA,MAAMC,MAAMS;AAAAA,QAC/B;AAAA,MACF;AAAA,MACA,sBAAsB;AAAA,QACpBD,iBAAiBb;AAAAA,QACjB,WAAW;AAAA,UACTa,iBAAiBT,YAAAA,MAAMC,MAAMS;AAAAA,QAC/B;AAAA,MACF;AAAA,IAAA,CACD,GACH;AAAA,MACE,CAAChD,QAAQI,KAAK,GAAGA;AAAAA,MACjB,CAACJ,QAAQK,QAAQ,GAAGA;AAAAA,MACpB,CAACL,QAAQM,QAAQ,GAAGA;AAAAA,MACpB,CAACN,QAAQO,OAAO,GAAGA;AAAAA,MACnB,CAACP,QAAQiD,WAAW,GAAGtB,UAAUD,SAAS;AAAA,MAC1C,CAAC1B,QAAQkD,eAAe,GAAGvB,UAAUD,SAAS;AAAA,OAEhDxB,SACF;AAAA,IACAiD,MAAMtB,cAAcvC,mBAAmB,OAAO;AAAA,IAAM,GAChDkB;AAAAA,EAAAA,CACL;AAEL,CACF;;;"}
1
+ {"version":3,"file":"TableRow.cjs","sources":["../../../../../src/components/Table/TableRow/TableRow.tsx"],"sourcesContent":["import { forwardRef, useContext, useEffect, useState } from \"react\";\n\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { ExtractNames } from \"@core/utils/classes\";\nimport { checkValidHexColorValue } from \"@core/utils/checkValidHexColorValue\";\nimport { hexToRgbA } from \"@core/utils/hexToRgbA\";\nimport { getVarValue } from \"@core/utils/theme\";\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { useTheme } from \"@core/hooks/useTheme\";\n\nimport TableContext from \"../TableContext\";\nimport TableSectionContext from \"../TableSectionContext\";\nimport { staticClasses, useClasses } from \"./TableRow.styles\";\n\nexport { staticClasses as tableRowClasses };\n\nexport type HvTableRowClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvTableRowProps\n extends HvBaseProps<HTMLTableRowElement, \"children\"> {\n /** Content to be rendered */\n children: React.ReactNode;\n /** The component used for the root node. Either a string to use a HTML element or a component. Defaults to tbody. */\n component?: React.ElementType;\n /** Whether the table row will shade on hover. */\n hover?: boolean;\n /** Whether the table row will have the selected shading. */\n selected?: boolean;\n /** Whether the table row is expanded. */\n expanded?: boolean;\n /** Whether the table row background is striped. */\n striped?: boolean;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvTableRowClasses;\n}\n\nconst defaultComponent = \"tr\";\n\nconst getStripedColor = (color?: string, opacity: number = 0.6) => {\n return checkValidHexColorValue(color) ? hexToRgbA(color, opacity) : color;\n};\n\n/**\n * `HvTableRow` acts as a `tr` element and inherits styles from its context\n */\nexport const HvTableRow = forwardRef<HTMLElement, HvTableRowProps>(\n (props, externalRef) => {\n const {\n classes: classesProp,\n className,\n component,\n hover = false,\n selected = false,\n expanded = false,\n striped = false,\n ...others\n } = props;\n const { classes, cx, css } = useClasses(classesProp);\n const { colors, rootId } = useTheme();\n const tableContext = useContext(TableContext);\n const tableSectionContext = useContext(TableSectionContext);\n\n const [even, setEven] = useState<string | undefined>();\n const [odd, setOdd] = useState<string | undefined>();\n\n const type = tableSectionContext?.type || \"body\";\n\n const isList = tableContext.variant === \"listrow\";\n\n const Component =\n component || tableContext?.components?.Tr || defaultComponent;\n\n const [stripedColorEven, setStripedColorEven] = useState(\n getStripedColor(even)\n );\n const [stripedColorOdd, setStripedColorOdd] = useState(\n getStripedColor(odd)\n );\n\n useEffect(() => {\n setEven(getVarValue(theme.table.rowStripedBackgroundColorEven, rootId));\n setOdd(getVarValue(theme.table.rowStripedBackgroundColorOdd, rootId));\n\n setStripedColorEven(getStripedColor(even));\n setStripedColorOdd(getStripedColor(odd));\n }, [colors, even, odd, rootId]);\n\n return (\n <Component\n ref={externalRef}\n className={cx(\n tableSectionContext.filterClassName,\n classes.root,\n classes[type],\n striped &&\n css({\n \"&:nth-of-type(even)\": {\n backgroundColor: stripedColorEven,\n \"&:hover\": {\n backgroundColor: theme.table.rowHoverColor,\n },\n },\n \"&:nth-of-type(odd)\": {\n backgroundColor: stripedColorOdd,\n \"&:hover\": {\n backgroundColor: theme.table.rowHoverColor,\n },\n },\n }),\n {\n [classes.hover]: hover,\n [classes.selected]: selected,\n [classes.expanded]: expanded,\n [classes.striped]: striped,\n [classes.variantList]: isList && type === \"body\",\n [classes.variantListHead]: isList && type === \"head\",\n },\n className\n )}\n role={Component === defaultComponent ? null : \"row\"}\n {...others}\n />\n );\n }\n);\n"],"names":["defaultComponent","getStripedColor","color","opacity","checkValidHexColorValue","hexToRgbA","HvTableRow","forwardRef","props","externalRef","classes","classesProp","className","component","hover","selected","expanded","striped","others","cx","css","useClasses","colors","rootId","useTheme","tableContext","useContext","TableContext","tableSectionContext","TableSectionContext","even","setEven","useState","odd","setOdd","type","isList","variant","Component","components","Tr","stripedColorEven","setStripedColorEven","stripedColorOdd","setStripedColorOdd","useEffect","getVarValue","theme","table","rowStripedBackgroundColorEven","rowStripedBackgroundColorOdd","ref","filterClassName","root","backgroundColor","rowHoverColor","variantList","variantListHead","role"],"mappings":";;;;;;;;;;;;AAqCA,MAAMA,mBAAmB;AAEzB,MAAMC,kBAAkBA,CAACC,OAAgBC,UAAkB,QAAQ;AACjE,SAAOC,wBAAAA,wBAAwBF,KAAK,IAAIG,UAAAA,UAAUH,OAAOC,OAAO,IAAID;AACtE;AAKO,MAAMI,aAAaC,MAAAA,WACxB,CAACC,OAAOC,gBAAgB;;AAChB,QAAA;AAAA,IACJC,SAASC;AAAAA,IACTC;AAAAA,IACAC;AAAAA,IACAC,QAAQ;AAAA,IACRC,WAAW;AAAA,IACXC,WAAW;AAAA,IACXC,UAAU;AAAA,IACV,GAAGC;AAAAA,EACDV,IAAAA;AACE,QAAA;AAAA,IAAEE;AAAAA,IAASS;AAAAA,IAAIC;AAAAA,EAAAA,IAAQC,gBAAAA,WAAWV,WAAW;AAC7C,QAAA;AAAA,IAAEW;AAAAA,IAAQC;AAAAA,MAAWC,SAAS,SAAA;AAC9BC,QAAAA,eAAeC,iBAAWC,aAAAA,OAAY;AACtCC,QAAAA,sBAAsBF,iBAAWG,oBAAAA,OAAmB;AAE1D,QAAM,CAACC,MAAMC,OAAO,IAAIC,MAA6B,SAAA;AACrD,QAAM,CAACC,KAAKC,MAAM,IAAIF,MAA6B,SAAA;AAE7CG,QAAAA,QAAOP,2DAAqBO,SAAQ;AAEpCC,QAAAA,SAASX,aAAaY,YAAY;AAExC,QAAMC,YACJzB,eAAaY,kDAAcc,eAAdd,mBAA0Be,OAAMxC;AAE/C,QAAM,CAACyC,kBAAkBC,mBAAmB,IAAIV,MAC9C/B,SAAAA,gBAAgB6B,IAAI,CACtB;AACA,QAAM,CAACa,iBAAiBC,kBAAkB,IAAIZ,MAC5C/B,SAAAA,gBAAgBgC,GAAG,CACrB;AAEAY,QAAAA,UAAU,MAAM;AACdd,YAAQe,MAAYC,YAAAA,YAAAA,MAAMC,MAAMC,+BAA+B1B,MAAM,CAAC;AACtEW,WAAOY,MAAYC,YAAAA,YAAAA,MAAMC,MAAME,8BAA8B3B,MAAM,CAAC;AAEhDtB,wBAAAA,gBAAgB6B,IAAI,CAAC;AACtB7B,uBAAAA,gBAAgBgC,GAAG,CAAC;AAAA,KACtC,CAACX,QAAQQ,MAAMG,KAAKV,MAAM,CAAC;AAE9B,wCACGe,WAAS;AAAA,IACRa,KAAK1C;AAAAA,IACLG,WAAWO,GACTS,oBAAoBwB,iBACpB1C,QAAQ2C,MACR3C,QAAQyB,IAAI,GACZlB,WACEG,IAAI;AAAA,MACF,uBAAuB;AAAA,QACrBkC,iBAAiBb;AAAAA,QACjB,WAAW;AAAA,UACTa,iBAAiBP,YAAAA,MAAMC,MAAMO;AAAAA,QAC/B;AAAA,MACF;AAAA,MACA,sBAAsB;AAAA,QACpBD,iBAAiBX;AAAAA,QACjB,WAAW;AAAA,UACTW,iBAAiBP,YAAAA,MAAMC,MAAMO;AAAAA,QAC/B;AAAA,MACF;AAAA,IAAA,CACD,GACH;AAAA,MACE,CAAC7C,QAAQI,KAAK,GAAGA;AAAAA,MACjB,CAACJ,QAAQK,QAAQ,GAAGA;AAAAA,MACpB,CAACL,QAAQM,QAAQ,GAAGA;AAAAA,MACpB,CAACN,QAAQO,OAAO,GAAGA;AAAAA,MACnB,CAACP,QAAQ8C,WAAW,GAAGpB,UAAUD,SAAS;AAAA,MAC1C,CAACzB,QAAQ+C,eAAe,GAAGrB,UAAUD,SAAS;AAAA,OAEhDvB,SACF;AAAA,IACA8C,MAAMpB,cAActC,mBAAmB,OAAO;AAAA,IAAM,GAChDkB;AAAAA,EAAAA,CACL;AAEL,CACF;;;"}
@@ -11,7 +11,8 @@ const normalizeProgressBar = (value, max) => {
11
11
  const HvProgressColumnCell = ({
12
12
  partial,
13
13
  total,
14
- color = "primary"
14
+ color = "primary",
15
+ "aria-labelledby": ariaLabelledBy
15
16
  }) => {
16
17
  const {
17
18
  classes
@@ -31,7 +32,8 @@ const HvProgressColumnCell = ({
31
32
  },
32
33
  color,
33
34
  variant: "determinate",
34
- value: percentage
35
+ value: percentage,
36
+ "aria-labelledby": ariaLabelledBy
35
37
  })
36
38
  })
37
39
  });
@@ -1 +1 @@
1
- {"version":3,"file":"ProgressColumnCell.cjs","sources":["../../../../../../src/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.tsx"],"sourcesContent":["import MuiLinearProgress from \"@mui/material/LinearProgress\";\n\nimport { useClasses } from \"./ProgressColumnCell.styles\";\n\nexport interface HvProgressColumnCellProp {\n /** Current value of the bar. */\n partial: number;\n /** Maximum value of the bar. */\n total: number;\n /** The color of the bar. */\n color?: \"primary\" | \"secondary\";\n}\n\nexport const normalizeProgressBar = (value: number, max: number) => {\n return max > 0 ? Math.floor((value * 100) / max) : 0;\n};\n\nexport const HvProgressColumnCell = ({\n partial,\n total,\n color = \"primary\",\n}: HvProgressColumnCellProp): JSX.Element => {\n const { classes } = useClasses();\n\n const percentage = normalizeProgressBar(partial, total);\n\n return (\n <div className={classes.root}>\n <div className={classes.linearProgressContainer}>\n <MuiLinearProgress\n className={classes.linearProgress}\n classes={{\n root: classes.linearProgressRoot,\n colorPrimary: classes.linearProgressColorPrimary,\n barColorPrimary: classes.linearProgressBarColorPrimary,\n barColorSecondary: classes.linearProgressBarColorSecondary,\n }}\n color={color}\n variant=\"determinate\"\n value={percentage}\n />\n </div>\n </div>\n );\n};\n"],"names":["normalizeProgressBar","value","max","Math","floor","HvProgressColumnCell","partial","total","color","classes","useClasses","percentage","className","root","children","linearProgressContainer","MuiLinearProgress","linearProgress","linearProgressRoot","colorPrimary","linearProgressColorPrimary","barColorPrimary","linearProgressBarColorPrimary","barColorSecondary","linearProgressBarColorSecondary","variant"],"mappings":";;;;;;;AAaaA,MAAAA,uBAAuBA,CAACC,OAAeC,QAAgB;AAClE,SAAOA,MAAM,IAAIC,KAAKC,MAAOH,QAAQ,MAAOC,GAAG,IAAI;AACrD;AAEO,MAAMG,uBAAuBA,CAAC;AAAA,EACnCC;AAAAA,EACAC;AAAAA,EACAC,QAAQ;AACgB,MAAmB;AACrC,QAAA;AAAA,IAAEC;AAAAA,MAAYC,0BAAW,WAAA;AAEzBC,QAAAA,aAAaX,qBAAqBM,SAASC,KAAK;AAEtD,wCACE,OAAA;AAAA,IAAKK,WAAWH,QAAQI;AAAAA,IAAKC,yCAC3B,OAAA;AAAA,MAAKF,WAAWH,QAAQM;AAAAA,MAAwBD,yCAC7CE,oCAAiB;AAAA,QAChBJ,WAAWH,QAAQQ;AAAAA,QACnBR,SAAS;AAAA,UACPI,MAAMJ,QAAQS;AAAAA,UACdC,cAAcV,QAAQW;AAAAA,UACtBC,iBAAiBZ,QAAQa;AAAAA,UACzBC,mBAAmBd,QAAQe;AAAAA,QAC7B;AAAA,QACAhB;AAAAA,QACAiB,SAAQ;AAAA,QACRxB,OAAOU;AAAAA,MAAAA,CACR;AAAA,IAAA,CACE;AAAA,EAAA,CACF;AAET;;;"}
1
+ {"version":3,"file":"ProgressColumnCell.cjs","sources":["../../../../../../src/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.tsx"],"sourcesContent":["import MuiLinearProgress from \"@mui/material/LinearProgress\";\n\nimport { useClasses } from \"./ProgressColumnCell.styles\";\n\nexport interface HvProgressColumnCellProp {\n /** Current value of the bar. */\n partial: number;\n /** Maximum value of the bar. */\n total: number;\n /** The color of the bar. */\n color?: \"primary\" | \"secondary\";\n \"aria-labelledby\"?: string;\n}\n\nexport const normalizeProgressBar = (value: number, max: number) => {\n return max > 0 ? Math.floor((value * 100) / max) : 0;\n};\n\nexport const HvProgressColumnCell = ({\n partial,\n total,\n color = \"primary\",\n \"aria-labelledby\": ariaLabelledBy,\n}: HvProgressColumnCellProp): JSX.Element => {\n const { classes } = useClasses();\n\n const percentage = normalizeProgressBar(partial, total);\n\n return (\n <div className={classes.root}>\n <div className={classes.linearProgressContainer}>\n <MuiLinearProgress\n className={classes.linearProgress}\n classes={{\n root: classes.linearProgressRoot,\n colorPrimary: classes.linearProgressColorPrimary,\n barColorPrimary: classes.linearProgressBarColorPrimary,\n barColorSecondary: classes.linearProgressBarColorSecondary,\n }}\n color={color}\n variant=\"determinate\"\n value={percentage}\n aria-labelledby={ariaLabelledBy}\n />\n </div>\n </div>\n );\n};\n"],"names":["normalizeProgressBar","value","max","Math","floor","HvProgressColumnCell","partial","total","color","ariaLabelledBy","classes","useClasses","percentage","className","root","children","linearProgressContainer","MuiLinearProgress","linearProgress","linearProgressRoot","colorPrimary","linearProgressColorPrimary","barColorPrimary","linearProgressBarColorPrimary","barColorSecondary","linearProgressBarColorSecondary","variant"],"mappings":";;;;;;;AAcaA,MAAAA,uBAAuBA,CAACC,OAAeC,QAAgB;AAClE,SAAOA,MAAM,IAAIC,KAAKC,MAAOH,QAAQ,MAAOC,GAAG,IAAI;AACrD;AAEO,MAAMG,uBAAuBA,CAAC;AAAA,EACnCC;AAAAA,EACAC;AAAAA,EACAC,QAAQ;AAAA,EACR,mBAAmBC;AACK,MAAmB;AACrC,QAAA;AAAA,IAAEC;AAAAA,MAAYC,0BAAW,WAAA;AAEzBC,QAAAA,aAAaZ,qBAAqBM,SAASC,KAAK;AAEtD,wCACE,OAAA;AAAA,IAAKM,WAAWH,QAAQI;AAAAA,IAAKC,yCAC3B,OAAA;AAAA,MAAKF,WAAWH,QAAQM;AAAAA,MAAwBD,yCAC7CE,oCAAiB;AAAA,QAChBJ,WAAWH,QAAQQ;AAAAA,QACnBR,SAAS;AAAA,UACPI,MAAMJ,QAAQS;AAAAA,UACdC,cAAcV,QAAQW;AAAAA,UACtBC,iBAAiBZ,QAAQa;AAAAA,UACzBC,mBAAmBd,QAAQe;AAAAA,QAC7B;AAAA,QACAjB;AAAAA,QACAkB,SAAQ;AAAA,QACRzB,OAAOW;AAAAA,QACP,mBAAiBH;AAAAA,MAAAA,CAClB;AAAA,IAAA,CACE;AAAA,EAAA,CACF;AAET;;;"}
@@ -22,10 +22,13 @@ const HvSwitchColumnCell = ({
22
22
  className: classes.switchNo,
23
23
  children: falseLabel
24
24
  }), /* @__PURE__ */ jsxRuntime.jsx(BaseSwitch.HvBaseSwitch, {
25
- "aria-label": switchLabel,
26
25
  checked,
27
26
  value,
28
- ...switchProps
27
+ ...switchProps,
28
+ inputProps: {
29
+ "aria-label": switchLabel,
30
+ ...switchProps == null ? void 0 : switchProps.inputProps
31
+ }
29
32
  }), trueLabel != null && /* @__PURE__ */ jsxRuntime.jsx(Typography.HvTypography, {
30
33
  "aria-hidden": "true",
31
34
  variant: "body",
@@ -1 +1 @@
1
- {"version":3,"file":"SwitchColumnCell.cjs","sources":["../../../../../../src/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.tsx"],"sourcesContent":["import { HvBaseSwitch, HvBaseSwitchProps } from \"@core/components/BaseSwitch\";\nimport { HvTypography } from \"@core/components/Typography\";\n\nimport { useClasses } from \"./SwitchColumnCell.styles\";\n\nexport interface HvSwitchColumnCellProp {\n /** Whether the switch is checked or not. */\n checked: boolean;\n /** The switch label. */\n value: number | string | undefined;\n /** The value of the switch. */\n switchLabel: string;\n /** The right switch label. */\n falseLabel?: string;\n /** The left switch label. */\n trueLabel?: string;\n /** Extra props to be passed to the switch. */\n switchProps?: HvBaseSwitchProps;\n}\n\nexport const HvSwitchColumnCell = ({\n checked,\n value,\n switchLabel,\n falseLabel,\n trueLabel,\n switchProps,\n}: HvSwitchColumnCellProp): JSX.Element => {\n const { classes } = useClasses();\n\n return (\n <>\n {falseLabel != null && (\n <HvTypography\n aria-hidden=\"true\"\n variant=\"body\"\n className={classes.switchNo}\n >\n {falseLabel}\n </HvTypography>\n )}\n <HvBaseSwitch\n aria-label={switchLabel}\n checked={checked}\n value={value}\n {...switchProps}\n />\n {trueLabel != null && (\n <HvTypography\n aria-hidden=\"true\"\n variant=\"body\"\n className={classes.switchYes}\n >\n {trueLabel}\n </HvTypography>\n )}\n </>\n );\n};\n"],"names":["HvSwitchColumnCell","checked","value","switchLabel","falseLabel","trueLabel","switchProps","classes","useClasses","_Fragment","children","HvTypography","variant","className","switchNo","_jsx","HvBaseSwitch","switchYes"],"mappings":";;;;;;AAoBO,MAAMA,qBAAqBA,CAAC;AAAA,EACjCC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AACsB,MAAmB;AACnC,QAAA;AAAA,IAAEC;AAAAA,MAAYC,wBAAW,WAAA;AAE/B,yCACEC,WAAAA,UAAA;AAAA,IAAAC,WACGN,cAAc,uCACZO,WAAAA,cAAY;AAAA,MACX,eAAY;AAAA,MACZC,SAAQ;AAAA,MACRC,WAAWN,QAAQO;AAAAA,MAASJ,UAE3BN;AAAAA,IAAAA,CACW,GAEhBW,2BAAAA,IAACC,yBAAY;AAAA,MACX,cAAYb;AAAAA,MACZF;AAAAA,MACAC;AAAAA,MAAa,GACTI;AAAAA,IACL,CAAA,GACAD,aAAa,uCACXM,WAAAA,cAAY;AAAA,MACX,eAAY;AAAA,MACZC,SAAQ;AAAA,MACRC,WAAWN,QAAQU;AAAAA,MAAUP,UAE5BL;AAAAA,IAAAA,CACW,CACf;AAAA,EAAA,CACD;AAEN;;"}
1
+ {"version":3,"file":"SwitchColumnCell.cjs","sources":["../../../../../../src/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.tsx"],"sourcesContent":["import { HvBaseSwitch, HvBaseSwitchProps } from \"@core/components/BaseSwitch\";\nimport { HvTypography } from \"@core/components/Typography\";\n\nimport { useClasses } from \"./SwitchColumnCell.styles\";\n\nexport interface HvSwitchColumnCellProp {\n /** Whether the switch is checked or not. */\n checked: boolean;\n /** The switch label. */\n value: number | string | undefined;\n /** The value of the switch. */\n switchLabel: string;\n /** The right switch label. */\n falseLabel?: string;\n /** The left switch label. */\n trueLabel?: string;\n /** Extra props to be passed to the switch. */\n switchProps?: HvBaseSwitchProps;\n}\n\nexport const HvSwitchColumnCell = ({\n checked,\n value,\n switchLabel,\n falseLabel,\n trueLabel,\n switchProps,\n}: HvSwitchColumnCellProp): JSX.Element => {\n const { classes } = useClasses();\n\n return (\n <>\n {falseLabel != null && (\n <HvTypography\n aria-hidden=\"true\"\n variant=\"body\"\n className={classes.switchNo}\n >\n {falseLabel}\n </HvTypography>\n )}\n <HvBaseSwitch\n checked={checked}\n value={value}\n {...switchProps}\n inputProps={{ \"aria-label\": switchLabel, ...switchProps?.inputProps }}\n />\n {trueLabel != null && (\n <HvTypography\n aria-hidden=\"true\"\n variant=\"body\"\n className={classes.switchYes}\n >\n {trueLabel}\n </HvTypography>\n )}\n </>\n );\n};\n"],"names":["HvSwitchColumnCell","checked","value","switchLabel","falseLabel","trueLabel","switchProps","classes","useClasses","_Fragment","children","HvTypography","variant","className","switchNo","_jsx","HvBaseSwitch","inputProps","switchYes"],"mappings":";;;;;;AAoBO,MAAMA,qBAAqBA,CAAC;AAAA,EACjCC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AACsB,MAAmB;AACnC,QAAA;AAAA,IAAEC;AAAAA,MAAYC,wBAAW,WAAA;AAE/B,yCACEC,WAAAA,UAAA;AAAA,IAAAC,WACGN,cAAc,uCACZO,WAAAA,cAAY;AAAA,MACX,eAAY;AAAA,MACZC,SAAQ;AAAA,MACRC,WAAWN,QAAQO;AAAAA,MAASJ,UAE3BN;AAAAA,IAAAA,CACW,GAEhBW,2BAAAA,IAACC,yBAAY;AAAA,MACXf;AAAAA,MACAC;AAAAA,MAAa,GACTI;AAAAA,MACJW,YAAY;AAAA,QAAE,cAAcd;AAAAA,QAAa,GAAGG,2CAAaW;AAAAA,MAAW;AAAA,IACrE,CAAA,GACAZ,aAAa,uCACXM,WAAAA,cAAY;AAAA,MACX,eAAY;AAAA,MACZC,SAAQ;AAAA,MACRC,WAAWN,QAAQW;AAAAA,MAAUR,UAE5BL;AAAAA,IAAAA,CACW,CACf;AAAA,EAAA,CACD;AAEN;;"}
@@ -167,7 +167,8 @@ function hvDropdownColumn(col, id, placeholder, disabledPlaceholder, onChange) {
167
167
  onChange: (val) => onChange == null ? void 0 : onChange(row.id, val),
168
168
  disabled: dsbld,
169
169
  dropdownProps: {
170
- "aria-labelledby": setId.setId(id, column.id)
170
+ "aria-labelledby": setId.setId(id, column.id) || column.id || id
171
+ // TODO - to be reviewed because it doesn't make much sense
171
172
  }
172
173
  });
173
174
  },
@@ -182,7 +183,8 @@ function hvProgressColumn(col, getPartial, getTotal, color) {
182
183
  return {
183
184
  Cell: (cellProps) => {
184
185
  const {
185
- row
186
+ row,
187
+ column
186
188
  } = cellProps;
187
189
  const partial = (getPartial == null ? void 0 : getPartial(row)) || 0;
188
190
  const total = getTotal == null ? void 0 : getTotal(row);
@@ -190,7 +192,8 @@ function hvProgressColumn(col, getPartial, getTotal, color) {
190
192
  return /* @__PURE__ */ jsxRuntime.jsx(ProgressColumnCell.HvProgressColumnCell, {
191
193
  partial,
192
194
  total,
193
- color
195
+ color,
196
+ "aria-labelledby": column.id
194
197
  });
195
198
  }
196
199
  return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, {
@@ -1 +1 @@
1
- {"version":3,"file":"renderers.cjs","sources":["../../../../../src/components/Table/renderers/renderers.tsx"],"sourcesContent":["import { ClassNames } from \"@emotion/react\";\n\nimport { DropDownXS, DropUpXS } from \"@hitachivantara/uikit-react-icons\";\n\nimport { setId } from \"@core/utils/setId\";\nimport { HvTag, HvTagProps } from \"@core/components/Tag\";\nimport { HvButton } from \"@core/components/Button\";\nimport { HvTypography } from \"@core/components/Typography\";\nimport {\n HvOverflowTooltip,\n HvOverflowTooltipProps,\n} from \"@core/components/OverflowTooltip\";\nimport { HvBaseSwitchProps } from \"@core/components/BaseSwitch\";\nimport { HvListValue } from \"@core/components/List\";\n\nimport {\n HvTableHeaderRenderer,\n HvCellProps,\n HvTableColumnConfig,\n HvRowInstance,\n} from \"../hooks/useTable\";\nimport { HvDateColumnCell } from \"./DateColumnCell\";\nimport { HvSwitchColumnCell } from \"./SwitchColumnCell\";\nimport { HvProgressColumnCell } from \"./ProgressColumnCell\";\nimport { HvDropdownColumnCell } from \"./DropdownColumnCell\";\nimport { hvStringFallback, hvNumberFallback } from \"../utils\";\n\nexport function hvTextColumn<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n>(\n col: HvTableColumnConfig<D, H>,\n overflowTooltipProps: Omit<HvOverflowTooltipProps, \"data\"> = {}\n): HvTableColumnConfig<D, H> {\n return {\n Cell: ({ value }: HvCellProps<D, H>) => (\n <HvOverflowTooltip\n data={hvStringFallback(value)}\n {...overflowTooltipProps}\n />\n ),\n sortType: \"alphanumeric\",\n ...col,\n };\n}\n\nexport function hvNumberColumn<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n>(col: HvTableColumnConfig<D, H>): HvTableColumnConfig<D, H> {\n return {\n Cell: ({ value }: HvCellProps<D, H>) => <>{hvNumberFallback(value)}</>,\n align: \"right\",\n sortType: \"number\",\n ...col,\n };\n}\n\nexport function hvDateColumn<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n>(\n col: HvTableColumnConfig<D, H>,\n dateFormat?: string\n): HvTableColumnConfig<D, H> {\n return {\n Cell: ({ value }: HvCellProps<D, H>) => (\n <HvDateColumnCell date={value} dateFormat={dateFormat} />\n ),\n sortType: \"alphanumeric\",\n sortDescFirst: true,\n ...col,\n };\n}\n\nexport function hvExpandColumn<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n>(\n col: HvTableColumnConfig<D, H>,\n expandRowButtonAriaLabel: string,\n collapseRowButtonAriaLabel: string,\n getCanRowExpand?: (row: HvRowInstance<D, H>) => boolean,\n ExpandedIcon: React.ReactNode = <DropUpXS />,\n CollapsedIcon: React.ReactNode = <DropDownXS />\n): HvTableColumnConfig<D, H> {\n return {\n Cell: (cellProps: HvCellProps<D, H>) => {\n const { value, row } = cellProps;\n const expandedProps = row.getToggleRowExpandedProps?.();\n\n const hasContent = getCanRowExpand?.(row) ?? true;\n\n return (\n <ClassNames>\n {({ css }) => (\n <>\n {hasContent && (\n <HvButton\n icon\n aria-label={\n row.isExpanded\n ? collapseRowButtonAriaLabel\n : expandRowButtonAriaLabel\n }\n aria-expanded={row.isExpanded}\n onClick={expandedProps?.onClick}\n classes={{\n root: css({\n position: \"absolute\",\n left: 0,\n top: \"50%\",\n transform: \"translateY(-50%)\",\n }),\n }}\n >\n {row.isExpanded ? ExpandedIcon : CollapsedIcon}\n </HvButton>\n )}\n\n <HvOverflowTooltip data={hvStringFallback(value)} />\n </>\n )}\n </ClassNames>\n );\n },\n sortType: \"alphanumeric\",\n cellStyle: {\n position: \"relative\",\n },\n ...col,\n };\n}\n\nexport function hvTagColumn<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer,\n A extends object = Record<string, unknown>\n>(\n col: HvTableColumnConfig<D, H>,\n valueDataKey: keyof A,\n colorDataKey: keyof A,\n textColorDataKey: keyof A,\n fromRowData: boolean = false,\n tagProps?: HvTagProps\n): HvTableColumnConfig<D, H> {\n return {\n Cell: (cellProps: HvCellProps<D, H>) => {\n const { value, row } = cellProps;\n if (!value) {\n return <>—</>;\n }\n\n const {\n [valueDataKey]: name,\n [colorDataKey]: color,\n [textColorDataKey]: textColor,\n } = fromRowData ? row.original : value;\n\n return (\n <HvTag\n label={<HvTypography variant=\"body\">{name}</HvTypography>}\n type=\"semantic\"\n color={color}\n style={textColor != null ? { color: textColor } : {}}\n tabIndex={-1}\n {...tagProps}\n />\n );\n },\n cellStyle: {\n paddingTop: 0,\n paddingBottom: 0,\n },\n ...col,\n };\n}\n\nexport function hvSwitchColumn<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n>(\n col: HvTableColumnConfig<D, H>,\n switchLabel: string,\n falseLabel?: string,\n trueLabel?: string,\n switchProps?: HvBaseSwitchProps\n): HvTableColumnConfig<D, H> {\n return {\n Cell: (cellProps: HvCellProps<D, H>) => {\n const { value, row } = cellProps;\n return (\n <HvSwitchColumnCell\n checked={value}\n value={row.id}\n switchLabel={switchLabel}\n falseLabel={falseLabel}\n trueLabel={trueLabel}\n switchProps={switchProps}\n />\n );\n },\n cellStyle: {\n paddingTop: 0,\n paddingBottom: 0,\n },\n ...col,\n };\n}\n\nexport function hvDropdownColumn<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n>(\n col: HvTableColumnConfig<D, H>,\n id: string,\n placeholder: string,\n disabledPlaceholder: string,\n onChange?: (identifier: string, value: HvListValue) => void\n): HvTableColumnConfig<D, H> {\n return {\n Cell: (cellProps: HvCellProps<D, H>) => {\n const { value, row, column } = cellProps;\n const dsbld = value.length < 1;\n return (\n <HvDropdownColumnCell\n values={value}\n placeholder={dsbld ? disabledPlaceholder : placeholder}\n onChange={(val) => onChange?.(row.id, val)}\n disabled={dsbld}\n dropdownProps={{\n \"aria-labelledby\": setId(id, column.id),\n }}\n />\n );\n },\n cellStyle: {\n paddingTop: 0,\n paddingBottom: 0,\n },\n ...col,\n };\n}\n\nexport function hvProgressColumn<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n>(\n col: HvTableColumnConfig<D, H>,\n getPartial?: (row: HvRowInstance<D, H>) => number,\n getTotal?: (row: HvRowInstance<D, H>) => number,\n color?: \"primary\" | \"secondary\"\n): HvTableColumnConfig<D, H> {\n return {\n Cell: (cellProps: HvCellProps<D, H>) => {\n const { row } = cellProps;\n const partial = getPartial?.(row) || 0;\n const total = getTotal?.(row);\n\n if (total) {\n return (\n <HvProgressColumnCell partial={partial} total={total} color={color} />\n );\n }\n\n return <>—</>;\n },\n\n cellStyle: {\n paddingTop: 0,\n paddingBottom: 0,\n },\n ...col,\n };\n}\n"],"names":["hvTextColumn","col","overflowTooltipProps","Cell","value","HvOverflowTooltip","data","hvStringFallback","sortType","hvNumberColumn","_Fragment","children","hvNumberFallback","align","hvDateColumn","dateFormat","HvDateColumnCell","date","sortDescFirst","hvExpandColumn","expandRowButtonAriaLabel","collapseRowButtonAriaLabel","getCanRowExpand","ExpandedIcon","DropUpXS","CollapsedIcon","_jsx","DropDownXS","cellProps","row","expandedProps","getToggleRowExpandedProps","hasContent","ClassNames","css","HvButton","icon","isExpanded","onClick","classes","root","position","left","top","transform","cellStyle","hvTagColumn","valueDataKey","colorDataKey","textColorDataKey","fromRowData","tagProps","name","color","textColor","original","HvTag","label","HvTypography","variant","type","style","tabIndex","paddingTop","paddingBottom","hvSwitchColumn","switchLabel","falseLabel","trueLabel","switchProps","HvSwitchColumnCell","checked","id","hvDropdownColumn","placeholder","disabledPlaceholder","onChange","column","dsbld","length","HvDropdownColumnCell","values","val","disabled","dropdownProps","setId","hvProgressColumn","getPartial","getTotal","partial","total","HvProgressColumnCell"],"mappings":";;;;;;;;;;;;;;;AA2BO,SAASA,aAIdC,KACAC,uBAA6D,IAClC;AACpB,SAAA;AAAA,IACLC,MAAMA,CAAC;AAAA,MAAEC;AAAAA,IAAAA,qCACNC,gBAAAA,mBAAiB;AAAA,MAChBC,MAAMC,2BAAiBH,KAAK;AAAA,MAAE,GAC1BF;AAAAA,IAAAA,CACL;AAAA,IAEHM,UAAU;AAAA,IACV,GAAGP;AAAAA,EAAAA;AAEP;AAEO,SAASQ,eAGdR,KAA2D;AACpD,SAAA;AAAA,IACLE,MAAMA,CAAC;AAAA,MAAEC;AAAAA,IAAAA,qCAA+BM,WAAAA,UAAA;AAAA,MAAAC,UAAGC,2BAAiBR,KAAK;AAAA,IAAA,CAAI;AAAA,IACrES,OAAO;AAAA,IACPL,UAAU;AAAA,IACV,GAAGP;AAAAA,EAAAA;AAEP;AAEgBa,SAAAA,aAIdb,KACAc,YAC2B;AACpB,SAAA;AAAA,IACLZ,MAAMA,CAAC;AAAA,MAAEC;AAAAA,IAAAA,qCACNY,eAAAA,kBAAgB;AAAA,MAACC,MAAMb;AAAAA,MAAOW;AAAAA,IAAAA,CAAyB;AAAA,IAE1DP,UAAU;AAAA,IACVU,eAAe;AAAA,IACf,GAAGjB;AAAAA,EAAAA;AAEP;AAEO,SAASkB,eAIdlB,KACAmB,0BACAC,4BACAC,iBACAC,eAAiCC,2BAAAA,IAAAA,gBAAAA,UAAU,CAAA,CAAA,GAC3CC,gBAAiCC,2BAAAA,IAACC,gBAAU,YAAA,CAAE,CAAA,GACnB;AACpB,SAAA;AAAA,IACLxB,MAAMA,CAACyB,cAAiC;;AAChC,YAAA;AAAA,QAAExB;AAAAA,QAAOyB;AAAAA,MAAQD,IAAAA;AACjBE,YAAAA,iBAAgBD,SAAIE,8BAAJF;AAEhBG,YAAAA,cAAaV,mDAAkBO,SAAQ;AAE7C,4CACGI,MAAAA,YAAU;AAAA,QAAAtB,UACRA,CAAC;AAAA,UAAEuB;AAAAA,QAAAA,sCACFxB,WAAAA,UAAA;AAAA,UAAAC,UACGqB,CAAAA,cACCN,2BAAAA,IAACS,iBAAQ;AAAA,YACPC,MAAI;AAAA,YACJ,cACEP,IAAIQ,aACAhB,6BACAD;AAAAA,YAEN,iBAAeS,IAAIQ;AAAAA,YACnBC,SAASR,+CAAeQ;AAAAA,YACxBC,SAAS;AAAA,cACPC,MAAMN,IAAI;AAAA,gBACRO,UAAU;AAAA,gBACVC,MAAM;AAAA,gBACNC,KAAK;AAAA,gBACLC,WAAW;AAAA,cAAA,CACZ;AAAA,YACH;AAAA,YAAEjC,UAEDkB,IAAIQ,aAAad,eAAeE;AAAAA,UAAAA,CACzB,GAGZC,2BAAAA,IAACrB,mCAAiB;AAAA,YAACC,MAAMC,2BAAiBH,KAAK;AAAA,UAAA,CAAI,CAAC;AAAA,QAAA,CACpD;AAAA,MAAA,CAEM;AAAA,IAEhB;AAAA,IACAI,UAAU;AAAA,IACVqC,WAAW;AAAA,MACTJ,UAAU;AAAA,IACZ;AAAA,IACA,GAAGxC;AAAAA,EAAAA;AAEP;AAEO,SAAS6C,YAKd7C,KACA8C,cACAC,cACAC,kBACAC,cAAuB,OACvBC,UAC2B;AACpB,SAAA;AAAA,IACLhD,MAAMA,CAACyB,cAAiC;AAChC,YAAA;AAAA,QAAExB;AAAAA,QAAOyB;AAAAA,MAAQD,IAAAA;AACvB,UAAI,CAACxB,OAAO;AACV,8CAAOM,WAAAA,UAAA;AAAA,UAAAC,UAAE;AAAA,QAAA,CAAG;AAAA,MACd;AAEM,YAAA;AAAA,QACJ,CAACoC,YAAY,GAAGK;AAAAA,QAChB,CAACJ,YAAY,GAAGK;AAAAA,QAChB,CAACJ,gBAAgB,GAAGK;AAAAA,MACtB,IAAIJ,cAAcrB,IAAI0B,WAAWnD;AAEjC,4CACGoD,IAAAA,OAAK;AAAA,QACJC,sCAAQC,yBAAY;AAAA,UAACC,SAAQ;AAAA,UAAMhD,UAAEyC;AAAAA,QAAAA,CAAmB;AAAA,QACxDQ,MAAK;AAAA,QACLP;AAAAA,QACAQ,OAAOP,aAAa,OAAO;AAAA,UAAED,OAAOC;AAAAA,QAAAA,IAAc,CAAC;AAAA,QACnDQ,UAAU;AAAA,QAAG,GACTX;AAAAA,MAAAA,CACL;AAAA,IAEL;AAAA,IACAN,WAAW;AAAA,MACTkB,YAAY;AAAA,MACZC,eAAe;AAAA,IACjB;AAAA,IACA,GAAG/D;AAAAA,EAAAA;AAEP;AAEO,SAASgE,eAIdhE,KACAiE,aACAC,YACAC,WACAC,aAC2B;AACpB,SAAA;AAAA,IACLlE,MAAMA,CAACyB,cAAiC;AAChC,YAAA;AAAA,QAAExB;AAAAA,QAAOyB;AAAAA,MAAQD,IAAAA;AACvB,4CACG0C,iBAAAA,oBAAkB;AAAA,QACjBC,SAASnE;AAAAA,QACTA,OAAOyB,IAAI2C;AAAAA,QACXN;AAAAA,QACAC;AAAAA,QACAC;AAAAA,QACAC;AAAAA,MAAAA,CACD;AAAA,IAEL;AAAA,IACAxB,WAAW;AAAA,MACTkB,YAAY;AAAA,MACZC,eAAe;AAAA,IACjB;AAAA,IACA,GAAG/D;AAAAA,EAAAA;AAEP;AAEO,SAASwE,iBAIdxE,KACAuE,IACAE,aACAC,qBACAC,UAC2B;AACpB,SAAA;AAAA,IACLzE,MAAMA,CAACyB,cAAiC;AAChC,YAAA;AAAA,QAAExB;AAAAA,QAAOyB;AAAAA,QAAKgD;AAAAA,MAAWjD,IAAAA;AACzBkD,YAAAA,QAAQ1E,MAAM2E,SAAS;AAC7B,4CACGC,mBAAAA,sBAAoB;AAAA,QACnBC,QAAQ7E;AAAAA,QACRsE,aAAaI,QAAQH,sBAAsBD;AAAAA,QAC3CE,UAAWM,CAAAA,QAAQN,qCAAW/C,IAAI2C,IAAIU;AAAAA,QACtCC,UAAUL;AAAAA,QACVM,eAAe;AAAA,UACb,mBAAmBC,MAAAA,MAAMb,IAAIK,OAAOL,EAAE;AAAA,QACxC;AAAA,MAAA,CACD;AAAA,IAEL;AAAA,IACA3B,WAAW;AAAA,MACTkB,YAAY;AAAA,MACZC,eAAe;AAAA,IACjB;AAAA,IACA,GAAG/D;AAAAA,EAAAA;AAEP;AAEO,SAASqF,iBAIdrF,KACAsF,YACAC,UACAnC,OAC2B;AACpB,SAAA;AAAA,IACLlD,MAAMA,CAACyB,cAAiC;AAChC,YAAA;AAAA,QAAEC;AAAAA,MAAQD,IAAAA;AACV6D,YAAAA,WAAUF,yCAAa1D,SAAQ;AAC/B6D,YAAAA,QAAQF,qCAAW3D;AAEzB,UAAI6D,OAAO;AACT,8CACGC,mBAAAA,sBAAoB;AAAA,UAACF;AAAAA,UAAkBC;AAAAA,UAAcrC;AAAAA,QAAAA,CAAe;AAAA,MAEzE;AAEA,4CAAO3C,WAAAA,UAAA;AAAA,QAAAC,UAAE;AAAA,MAAA,CAAG;AAAA,IACd;AAAA,IAEAkC,WAAW;AAAA,MACTkB,YAAY;AAAA,MACZC,eAAe;AAAA,IACjB;AAAA,IACA,GAAG/D;AAAAA,EAAAA;AAEP;;;;;;;;;"}
1
+ {"version":3,"file":"renderers.cjs","sources":["../../../../../src/components/Table/renderers/renderers.tsx"],"sourcesContent":["import { ClassNames } from \"@emotion/react\";\n\nimport { DropDownXS, DropUpXS } from \"@hitachivantara/uikit-react-icons\";\n\nimport { setId } from \"@core/utils/setId\";\nimport { HvTag, HvTagProps } from \"@core/components/Tag\";\nimport { HvButton } from \"@core/components/Button\";\nimport { HvTypography } from \"@core/components/Typography\";\nimport {\n HvOverflowTooltip,\n HvOverflowTooltipProps,\n} from \"@core/components/OverflowTooltip\";\nimport { HvBaseSwitchProps } from \"@core/components/BaseSwitch\";\nimport { HvListValue } from \"@core/components/List\";\n\nimport {\n HvTableHeaderRenderer,\n HvCellProps,\n HvTableColumnConfig,\n HvRowInstance,\n} from \"../hooks/useTable\";\nimport { HvDateColumnCell } from \"./DateColumnCell\";\nimport { HvSwitchColumnCell } from \"./SwitchColumnCell\";\nimport { HvProgressColumnCell } from \"./ProgressColumnCell\";\nimport { HvDropdownColumnCell } from \"./DropdownColumnCell\";\nimport { hvStringFallback, hvNumberFallback } from \"../utils\";\n\nexport function hvTextColumn<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n>(\n col: HvTableColumnConfig<D, H>,\n overflowTooltipProps: Omit<HvOverflowTooltipProps, \"data\"> = {}\n): HvTableColumnConfig<D, H> {\n return {\n Cell: ({ value }: HvCellProps<D, H>) => (\n <HvOverflowTooltip\n data={hvStringFallback(value)}\n {...overflowTooltipProps}\n />\n ),\n sortType: \"alphanumeric\",\n ...col,\n };\n}\n\nexport function hvNumberColumn<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n>(col: HvTableColumnConfig<D, H>): HvTableColumnConfig<D, H> {\n return {\n Cell: ({ value }: HvCellProps<D, H>) => <>{hvNumberFallback(value)}</>,\n align: \"right\",\n sortType: \"number\",\n ...col,\n };\n}\n\nexport function hvDateColumn<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n>(\n col: HvTableColumnConfig<D, H>,\n dateFormat?: string\n): HvTableColumnConfig<D, H> {\n return {\n Cell: ({ value }: HvCellProps<D, H>) => (\n <HvDateColumnCell date={value} dateFormat={dateFormat} />\n ),\n sortType: \"alphanumeric\",\n sortDescFirst: true,\n ...col,\n };\n}\n\nexport function hvExpandColumn<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n>(\n col: HvTableColumnConfig<D, H>,\n expandRowButtonAriaLabel: string,\n collapseRowButtonAriaLabel: string,\n getCanRowExpand?: (row: HvRowInstance<D, H>) => boolean,\n ExpandedIcon: React.ReactNode = <DropUpXS />,\n CollapsedIcon: React.ReactNode = <DropDownXS />\n): HvTableColumnConfig<D, H> {\n return {\n Cell: (cellProps: HvCellProps<D, H>) => {\n const { value, row } = cellProps;\n const expandedProps = row.getToggleRowExpandedProps?.();\n\n const hasContent = getCanRowExpand?.(row) ?? true;\n\n return (\n <ClassNames>\n {({ css }) => (\n <>\n {hasContent && (\n <HvButton\n icon\n aria-label={\n row.isExpanded\n ? collapseRowButtonAriaLabel\n : expandRowButtonAriaLabel\n }\n aria-expanded={row.isExpanded}\n onClick={expandedProps?.onClick}\n classes={{\n root: css({\n position: \"absolute\",\n left: 0,\n top: \"50%\",\n transform: \"translateY(-50%)\",\n }),\n }}\n >\n {row.isExpanded ? ExpandedIcon : CollapsedIcon}\n </HvButton>\n )}\n\n <HvOverflowTooltip data={hvStringFallback(value)} />\n </>\n )}\n </ClassNames>\n );\n },\n sortType: \"alphanumeric\",\n cellStyle: {\n position: \"relative\",\n },\n ...col,\n };\n}\n\nexport function hvTagColumn<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer,\n A extends object = Record<string, unknown>\n>(\n col: HvTableColumnConfig<D, H>,\n valueDataKey: keyof A,\n colorDataKey: keyof A,\n textColorDataKey: keyof A,\n fromRowData: boolean = false,\n tagProps?: HvTagProps\n): HvTableColumnConfig<D, H> {\n return {\n Cell: (cellProps: HvCellProps<D, H>) => {\n const { value, row } = cellProps;\n if (!value) {\n return <>—</>;\n }\n\n const {\n [valueDataKey]: name,\n [colorDataKey]: color,\n [textColorDataKey]: textColor,\n } = fromRowData ? row.original : value;\n\n return (\n <HvTag\n label={<HvTypography variant=\"body\">{name}</HvTypography>}\n type=\"semantic\"\n color={color}\n style={textColor != null ? { color: textColor } : {}}\n tabIndex={-1}\n {...tagProps}\n />\n );\n },\n cellStyle: {\n paddingTop: 0,\n paddingBottom: 0,\n },\n ...col,\n };\n}\n\n// TODO - Review accessibility on the next renderers because they all differ\n\nexport function hvSwitchColumn<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n>(\n col: HvTableColumnConfig<D, H>,\n switchLabel: string,\n falseLabel?: string,\n trueLabel?: string,\n switchProps?: HvBaseSwitchProps\n): HvTableColumnConfig<D, H> {\n return {\n Cell: (cellProps: HvCellProps<D, H>) => {\n const { value, row } = cellProps;\n return (\n <HvSwitchColumnCell\n checked={value}\n value={row.id}\n switchLabel={switchLabel}\n falseLabel={falseLabel}\n trueLabel={trueLabel}\n switchProps={switchProps}\n />\n );\n },\n cellStyle: {\n paddingTop: 0,\n paddingBottom: 0,\n },\n ...col,\n };\n}\n\nexport function hvDropdownColumn<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n>(\n col: HvTableColumnConfig<D, H>,\n id: string | undefined,\n placeholder: string,\n disabledPlaceholder: string,\n onChange?: (identifier: string, value: HvListValue) => void\n): HvTableColumnConfig<D, H> {\n return {\n Cell: (cellProps: HvCellProps<D, H>) => {\n const { value, row, column } = cellProps;\n const dsbld = value.length < 1;\n return (\n <HvDropdownColumnCell\n values={value}\n placeholder={dsbld ? disabledPlaceholder : placeholder}\n onChange={(val) => onChange?.(row.id, val)}\n disabled={dsbld}\n dropdownProps={{\n \"aria-labelledby\": setId(id, column.id) || column.id || id, // TODO - to be reviewed because it doesn't make much sense\n }}\n />\n );\n },\n cellStyle: {\n paddingTop: 0,\n paddingBottom: 0,\n },\n ...col,\n };\n}\n\nexport function hvProgressColumn<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n>(\n col: HvTableColumnConfig<D, H>,\n getPartial?: (row: HvRowInstance<D, H>) => number,\n getTotal?: (row: HvRowInstance<D, H>) => number,\n color?: \"primary\" | \"secondary\"\n): HvTableColumnConfig<D, H> {\n return {\n Cell: (cellProps: HvCellProps<D, H>) => {\n const { row, column } = cellProps;\n const partial = getPartial?.(row) || 0;\n const total = getTotal?.(row);\n\n if (total) {\n return (\n <HvProgressColumnCell\n partial={partial}\n total={total}\n color={color}\n aria-labelledby={column.id}\n />\n );\n }\n\n return <>—</>;\n },\n\n cellStyle: {\n paddingTop: 0,\n paddingBottom: 0,\n },\n ...col,\n };\n}\n"],"names":["hvTextColumn","col","overflowTooltipProps","Cell","value","HvOverflowTooltip","data","hvStringFallback","sortType","hvNumberColumn","_Fragment","children","hvNumberFallback","align","hvDateColumn","dateFormat","HvDateColumnCell","date","sortDescFirst","hvExpandColumn","expandRowButtonAriaLabel","collapseRowButtonAriaLabel","getCanRowExpand","ExpandedIcon","DropUpXS","CollapsedIcon","_jsx","DropDownXS","cellProps","row","expandedProps","getToggleRowExpandedProps","hasContent","ClassNames","css","HvButton","icon","isExpanded","onClick","classes","root","position","left","top","transform","cellStyle","hvTagColumn","valueDataKey","colorDataKey","textColorDataKey","fromRowData","tagProps","name","color","textColor","original","HvTag","label","HvTypography","variant","type","style","tabIndex","paddingTop","paddingBottom","hvSwitchColumn","switchLabel","falseLabel","trueLabel","switchProps","HvSwitchColumnCell","checked","id","hvDropdownColumn","placeholder","disabledPlaceholder","onChange","column","dsbld","length","HvDropdownColumnCell","values","val","disabled","dropdownProps","setId","hvProgressColumn","getPartial","getTotal","partial","total","HvProgressColumnCell"],"mappings":"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"}
@@ -25,7 +25,6 @@ const getColor = (customColor, type, colors) => {
25
25
  return backgroundColor;
26
26
  };
27
27
  const HvTag = (props) => {
28
- var _a;
29
28
  const {
30
29
  classes: classesProp,
31
30
  className,
@@ -43,8 +42,7 @@ const HvTag = (props) => {
43
42
  ...others
44
43
  } = useDefaultProps.useDefaultProps("HvTag", props);
45
44
  const {
46
- activeTheme,
47
- selectedMode
45
+ colors
48
46
  } = useTheme.useTheme();
49
47
  const {
50
48
  classes,
@@ -85,7 +83,7 @@ const HvTag = (props) => {
85
83
  const inlineStyle = {
86
84
  ...style
87
85
  };
88
- const categoricalBackgroundColor = type === "categorical" ? getColor(color, type, (_a = activeTheme == null ? void 0 : activeTheme.colors) == null ? void 0 : _a.modes[selectedMode]) : void 0;
86
+ const categoricalBackgroundColor = type === "categorical" ? getColor(color, type, colors) : void 0;
89
87
  if (type === "semantic") {
90
88
  inlineStyle.backgroundColor = getColor(color, type, {});
91
89
  } else if (type === "categorical") {
@@ -1 +1 @@
1
- {"version":3,"file":"Tag.cjs","sources":["../../../../src/components/Tag/Tag.tsx"],"sourcesContent":["import { CSSProperties, useState } from \"react\";\nimport { HvColorAny, theme } from \"@hitachivantara/uikit-styles\";\nimport Chip, { ChipProps as MuiChipProps } from \"@mui/material/Chip\";\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { useTheme } from \"@core/hooks/useTheme\";\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\nimport { HvButton, HvButtonProps } from \"@core/components/Button\";\n\nimport { ExtractNames } from \"@core/utils/classes\";\nimport { CloseXS } from \"@hitachivantara/uikit-react-icons\";\nimport { staticClasses, useClasses } from \"./Tag.styles\";\nimport { getOnDeleteCallback, hasDeleteAction, hasClickAction } from \"./utils\";\n\nexport { staticClasses as tagClasses };\n\nexport type HvTagClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvTagProps\n extends Omit<MuiChipProps, \"color\" | \"classes\">,\n HvBaseProps<HTMLDivElement, \"children\"> {\n /** Inline styles to be applied to the root element. */\n style?: CSSProperties;\n /** The label of the tag element. */\n label?: React.ReactNode;\n /** Indicates that the form element is disabled. */\n disabled?: boolean;\n /** The type of the tag element. A tag can be of semantic or categoric type. */\n type?: \"semantic\" | \"categorical\";\n /** Background color to be applied to the tag */\n color?: HvColorAny;\n /** Icon used to customize the delete icon in the Chip element */\n deleteIcon?: React.ReactElement;\n /**\n * The callback fired when the delete icon is pressed.\n * This function has to be provided to the component, in order to render the delete icon\n * */\n onDelete?: (event: React.MouseEvent<HTMLElement>) => void;\n /** Callback triggered when any item is clicked. */\n onClick?: (event: React.MouseEvent<HTMLElement>) => void;\n /** The role of the element with an attributed event. */\n role?: string;\n /** Aria properties to apply to delete button in tag */\n deleteButtonArialLabel?: string; // TODO: fix typo \"ArialLabel\" in next version\n /** Props to apply to delete button */\n deleteButtonProps?: HvButtonProps;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvTagClasses;\n}\n\nconst getColor = (customColor, type, colors) => {\n const defaultSemanticColor = theme.colors.neutral_20;\n const defaultCategoricalColor = colors.cat1;\n\n let backgroundColor;\n\n if (type === \"semantic\") {\n backgroundColor =\n theme.colors[customColor] || customColor || defaultSemanticColor;\n }\n if (type === \"categorical\") {\n backgroundColor =\n colors[customColor] || customColor || defaultCategoricalColor;\n }\n return backgroundColor;\n};\n\n/**\n * A Tag is one word that describes a specific aspect of an asset. A single asset can have\n * multiple tags.\n * Use tags to highlight an item's status for quick recognition and navigation\n * Use color to indicate meanings that users can learn and recognize across products\n *\n * It leverages the Chip component from Material UI\n */\nexport const HvTag = (props: HvTagProps) => {\n const {\n classes: classesProp,\n className,\n style,\n label,\n disabled,\n type = \"semantic\",\n color,\n deleteIcon,\n onDelete,\n onClick,\n role,\n deleteButtonArialLabel = \"Delete tag\",\n deleteButtonProps = {},\n ...others\n } = useDefaultProps(\"HvTag\", props);\n const { activeTheme, selectedMode } = useTheme();\n const { classes, cx, css } = useClasses(classesProp);\n\n const getDeleteIcon = () => {\n const disabledSemanticColor =\n type === \"semantic\" ? \"secondary_60\" : \"base_dark\";\n const { tabIndex = 0 } = deleteButtonProps;\n\n const closeIconStyles = css({\n ...(disabled ? { cursor: \"not-allowed\" } : undefined),\n height: 16,\n \"& svg .color0\": {\n fill: theme.colors[disabled ? disabledSemanticColor : \"base_dark\"],\n },\n });\n return (\n <HvButton\n classes={{\n startIcon: classes.tagButton,\n focusVisible: classes.focusVisible,\n root: classes.button,\n }}\n aria-label={deleteButtonArialLabel}\n tabIndex={tabIndex}\n variant=\"secondaryGhost\"\n {...deleteButtonProps}\n >\n <CloseXS\n iconSize=\"XS\"\n className={closeIconStyles}\n color={disabled ? disabledSemanticColor : \"base_dark\"}\n />\n </HvButton>\n );\n };\n\n const inlineStyle = {\n ...style,\n };\n\n const categoricalBackgroundColor =\n type === \"categorical\"\n ? getColor(color, type, activeTheme?.colors?.modes[selectedMode])\n : undefined;\n\n if (type === \"semantic\") {\n inlineStyle.backgroundColor = getColor(color, type, {});\n } else if (type === \"categorical\") {\n inlineStyle.backgroundColor = `${categoricalBackgroundColor}30`;\n }\n\n const [hover, setHover] = useState(false);\n\n return (\n <Chip\n label={label}\n className={cx(classes.root, className)}\n onMouseEnter={() => {\n setHover(!!onClick);\n }}\n onMouseLeave={() => {\n setHover(false);\n }}\n style={{\n ...(disabled ? null : inlineStyle),\n ...(hover && !disabled\n ? { boxShadow: `0 0 0 1pt ${categoricalBackgroundColor}` }\n : null),\n }}\n classes={{\n root: cx(classes.chipRoot, {\n [classes.disabled]: disabled,\n [classes.clickable]: !!onClick,\n [classes.categorical]: type === \"categorical\",\n [classes.categoricalFocus]: type === \"categorical\" && !disabled,\n [classes.categoricalDisabled]: type === \"categorical\" && disabled,\n }),\n label: classes.label,\n deleteIcon: cx(classes.deleteIcon, {\n [classes.disabledDeleteIcon]: disabled,\n }),\n }}\n deleteIcon={(hasDeleteAction(onDelete) && deleteIcon) || getDeleteIcon()}\n onDelete={getOnDeleteCallback(disabled, onDelete)}\n onClick={disabled ? undefined : onClick}\n role={role || (hasClickAction(onClick) ? \"button\" : undefined)}\n tabIndex={hasDeleteAction(onDelete) ? undefined : 0}\n {...others}\n />\n );\n};\n"],"names":["getColor","customColor","type","colors","defaultSemanticColor","theme","neutral_20","defaultCategoricalColor","cat1","backgroundColor","HvTag","props","classes","classesProp","className","style","label","disabled","color","deleteIcon","onDelete","onClick","role","deleteButtonArialLabel","deleteButtonProps","others","useDefaultProps","activeTheme","selectedMode","useTheme","cx","css","useClasses","getDeleteIcon","disabledSemanticColor","tabIndex","closeIconStyles","cursor","undefined","height","fill","HvButton","startIcon","tagButton","focusVisible","root","button","variant","children","CloseXS","iconSize","inlineStyle","categoricalBackgroundColor","modes","hover","setHover","useState","Chip","onMouseEnter","onMouseLeave","boxShadow","chipRoot","clickable","categorical","categoricalFocus","categoricalDisabled","disabledDeleteIcon","hasDeleteAction","getOnDeleteCallback","hasClickAction"],"mappings":"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"}
1
+ {"version":3,"file":"Tag.cjs","sources":["../../../../src/components/Tag/Tag.tsx"],"sourcesContent":["import { CSSProperties, useState } from \"react\";\nimport { HvColorAny, theme } from \"@hitachivantara/uikit-styles\";\nimport Chip, { ChipProps as MuiChipProps } from \"@mui/material/Chip\";\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { useTheme } from \"@core/hooks/useTheme\";\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\nimport { HvButton, HvButtonProps } from \"@core/components/Button\";\n\nimport { ExtractNames } from \"@core/utils/classes\";\nimport { CloseXS } from \"@hitachivantara/uikit-react-icons\";\nimport { staticClasses, useClasses } from \"./Tag.styles\";\nimport { getOnDeleteCallback, hasDeleteAction, hasClickAction } from \"./utils\";\n\nexport { staticClasses as tagClasses };\n\nexport type HvTagClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvTagProps\n extends Omit<MuiChipProps, \"color\" | \"classes\">,\n HvBaseProps<HTMLDivElement, \"children\"> {\n /** Inline styles to be applied to the root element. */\n style?: CSSProperties;\n /** The label of the tag element. */\n label?: React.ReactNode;\n /** Indicates that the form element is disabled. */\n disabled?: boolean;\n /** The type of the tag element. A tag can be of semantic or categoric type. */\n type?: \"semantic\" | \"categorical\";\n /** Background color to be applied to the tag */\n color?: HvColorAny;\n /** Icon used to customize the delete icon in the Chip element */\n deleteIcon?: React.ReactElement;\n /**\n * The callback fired when the delete icon is pressed.\n * This function has to be provided to the component, in order to render the delete icon\n * */\n onDelete?: (event: React.MouseEvent<HTMLElement>) => void;\n /** Callback triggered when any item is clicked. */\n onClick?: (event: React.MouseEvent<HTMLElement>) => void;\n /** The role of the element with an attributed event. */\n role?: string;\n /** Aria properties to apply to delete button in tag */\n deleteButtonArialLabel?: string; // TODO: fix typo \"ArialLabel\" in next version\n /** Props to apply to delete button */\n deleteButtonProps?: HvButtonProps;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvTagClasses;\n}\n\nconst getColor = (customColor, type, colors) => {\n const defaultSemanticColor = theme.colors.neutral_20;\n const defaultCategoricalColor = colors.cat1;\n\n let backgroundColor;\n\n if (type === \"semantic\") {\n backgroundColor =\n theme.colors[customColor] || customColor || defaultSemanticColor;\n }\n if (type === \"categorical\") {\n backgroundColor =\n colors[customColor] || customColor || defaultCategoricalColor;\n }\n return backgroundColor;\n};\n\n/**\n * A Tag is one word that describes a specific aspect of an asset. A single asset can have\n * multiple tags.\n * Use tags to highlight an item's status for quick recognition and navigation\n * Use color to indicate meanings that users can learn and recognize across products\n *\n * It leverages the Chip component from Material UI\n */\nexport const HvTag = (props: HvTagProps) => {\n const {\n classes: classesProp,\n className,\n style,\n label,\n disabled,\n type = \"semantic\",\n color,\n deleteIcon,\n onDelete,\n onClick,\n role,\n deleteButtonArialLabel = \"Delete tag\",\n deleteButtonProps = {},\n ...others\n } = useDefaultProps(\"HvTag\", props);\n const { colors } = useTheme();\n const { classes, cx, css } = useClasses(classesProp);\n\n const getDeleteIcon = () => {\n const disabledSemanticColor =\n type === \"semantic\" ? \"secondary_60\" : \"base_dark\";\n const { tabIndex = 0 } = deleteButtonProps;\n\n const closeIconStyles = css({\n ...(disabled ? { cursor: \"not-allowed\" } : undefined),\n height: 16,\n \"& svg .color0\": {\n fill: theme.colors[disabled ? disabledSemanticColor : \"base_dark\"],\n },\n });\n return (\n <HvButton\n classes={{\n startIcon: classes.tagButton,\n focusVisible: classes.focusVisible,\n root: classes.button,\n }}\n aria-label={deleteButtonArialLabel}\n tabIndex={tabIndex}\n variant=\"secondaryGhost\"\n {...deleteButtonProps}\n >\n <CloseXS\n iconSize=\"XS\"\n className={closeIconStyles}\n color={disabled ? disabledSemanticColor : \"base_dark\"}\n />\n </HvButton>\n );\n };\n\n const inlineStyle = {\n ...style,\n };\n\n const categoricalBackgroundColor =\n type === \"categorical\" ? getColor(color, type, colors) : undefined;\n\n if (type === \"semantic\") {\n inlineStyle.backgroundColor = getColor(color, type, {});\n } else if (type === \"categorical\") {\n inlineStyle.backgroundColor = `${categoricalBackgroundColor}30`;\n }\n\n const [hover, setHover] = useState(false);\n\n return (\n <Chip\n label={label}\n className={cx(classes.root, className)}\n onMouseEnter={() => {\n setHover(!!onClick);\n }}\n onMouseLeave={() => {\n setHover(false);\n }}\n style={{\n ...(disabled ? null : inlineStyle),\n ...(hover && !disabled\n ? { boxShadow: `0 0 0 1pt ${categoricalBackgroundColor}` }\n : null),\n }}\n classes={{\n root: cx(classes.chipRoot, {\n [classes.disabled]: disabled,\n [classes.clickable]: !!onClick,\n [classes.categorical]: type === \"categorical\",\n [classes.categoricalFocus]: type === \"categorical\" && !disabled,\n [classes.categoricalDisabled]: type === \"categorical\" && disabled,\n }),\n label: classes.label,\n deleteIcon: cx(classes.deleteIcon, {\n [classes.disabledDeleteIcon]: disabled,\n }),\n }}\n deleteIcon={(hasDeleteAction(onDelete) && deleteIcon) || getDeleteIcon()}\n onDelete={getOnDeleteCallback(disabled, onDelete)}\n onClick={disabled ? undefined : onClick}\n role={role || (hasClickAction(onClick) ? \"button\" : undefined)}\n tabIndex={hasDeleteAction(onDelete) ? undefined : 0}\n {...others}\n />\n );\n};\n"],"names":["getColor","customColor","type","colors","defaultSemanticColor","theme","neutral_20","defaultCategoricalColor","cat1","backgroundColor","HvTag","props","classes","classesProp","className","style","label","disabled","color","deleteIcon","onDelete","onClick","role","deleteButtonArialLabel","deleteButtonProps","others","useDefaultProps","useTheme","cx","css","useClasses","getDeleteIcon","disabledSemanticColor","tabIndex","closeIconStyles","cursor","undefined","height","fill","HvButton","startIcon","tagButton","focusVisible","root","button","variant","children","CloseXS","iconSize","inlineStyle","categoricalBackgroundColor","hover","setHover","useState","Chip","onMouseEnter","onMouseLeave","boxShadow","chipRoot","clickable","categorical","categoricalFocus","categoricalDisabled","disabledDeleteIcon","hasDeleteAction","getOnDeleteCallback","hasClickAction"],"mappings":";;;;;;;;;;;;;;AAiDA,MAAMA,WAAWA,CAACC,aAAaC,MAAMC,WAAW;AACxCC,QAAAA,uBAAuBC,YAAAA,MAAMF,OAAOG;AAC1C,QAAMC,0BAA0BJ,OAAOK;AAEnCC,MAAAA;AAEJ,MAAIP,SAAS,YAAY;AACvBO,sBACEJ,YAAMF,MAAAA,OAAOF,WAAW,KAAKA,eAAeG;AAAAA,EAChD;AACA,MAAIF,SAAS,eAAe;AAExBC,sBAAAA,OAAOF,WAAW,KAAKA,eAAeM;AAAAA,EAC1C;AACOE,SAAAA;AACT;AAUaC,MAAAA,QAAQA,CAACC,UAAsB;AACpC,QAAA;AAAA,IACJC,SAASC;AAAAA,IACTC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAf,OAAO;AAAA,IACPgB;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC,yBAAyB;AAAA,IACzBC,oBAAoB,CAAC;AAAA,IACrB,GAAGC;AAAAA,EAAAA,IACDC,gBAAgB,gBAAA,SAASf,KAAK;AAC5B,QAAA;AAAA,IAAER;AAAAA,MAAWwB,SAAS,SAAA;AACtB,QAAA;AAAA,IAAEf;AAAAA,IAASgB;AAAAA,IAAIC;AAAAA,EAAAA,IAAQC,WAAAA,WAAWjB,WAAW;AAEnD,QAAMkB,gBAAgBA,MAAM;AACpBC,UAAAA,wBACJ9B,SAAS,aAAa,iBAAiB;AACnC,UAAA;AAAA,MAAE+B,WAAW;AAAA,IAAMT,IAAAA;AAEzB,UAAMU,kBAAkBL,IAAI;AAAA,MAC1B,GAAIZ,WAAW;AAAA,QAAEkB,QAAQ;AAAA,MAAkBC,IAAAA;AAAAA,MAC3CC,QAAQ;AAAA,MACR,iBAAiB;AAAA,QACfC,MAAMjC,YAAAA,MAAMF,OAAOc,WAAWe,wBAAwB,WAAW;AAAA,MACnE;AAAA,IAAA,CACD;AACD,0CACGO,OAAAA,UAAQ;AAAA,MACP3B,SAAS;AAAA,QACP4B,WAAW5B,QAAQ6B;AAAAA,QACnBC,cAAc9B,QAAQ8B;AAAAA,QACtBC,MAAM/B,QAAQgC;AAAAA,MAChB;AAAA,MACA,cAAYrB;AAAAA,MACZU;AAAAA,MACAY,SAAQ;AAAA,MAAgB,GACpBrB;AAAAA,MAAiBsB,yCAEpBC,yBAAO;AAAA,QACNC,UAAS;AAAA,QACTlC,WAAWoB;AAAAA,QACXhB,OAAOD,WAAWe,wBAAwB;AAAA,MAAA,CAC3C;AAAA,IAAA,CACO;AAAA,EAAA;AAId,QAAMiB,cAAc;AAAA,IAClB,GAAGlC;AAAAA,EAAAA;AAGL,QAAMmC,6BACJhD,SAAS,gBAAgBF,SAASkB,OAAOhB,MAAMC,MAAM,IAAIiC;AAE3D,MAAIlC,SAAS,YAAY;AACvB+C,gBAAYxC,kBAAkBT,SAASkB,OAAOhB,MAAM,CAAE,CAAA;AAAA,EAAA,WAC7CA,SAAS,eAAe;AACjC+C,gBAAYxC,kBAAmB,GAAEyC;AAAAA,EACnC;AAEA,QAAM,CAACC,OAAOC,QAAQ,IAAIC,eAAS,KAAK;AAExC,wCACGC,cAAAA,SAAI;AAAA,IACHtC;AAAAA,IACAF,WAAWc,GAAGhB,QAAQ+B,MAAM7B,SAAS;AAAA,IACrCyC,cAAcA,MAAM;AACT,eAAA,CAAC,CAAClC,OAAO;AAAA,IACpB;AAAA,IACAmC,cAAcA,MAAM;AAClBJ,eAAS,KAAK;AAAA,IAChB;AAAA,IACArC,OAAO;AAAA,MACL,GAAIE,WAAW,OAAOgC;AAAAA,MACtB,GAAIE,SAAS,CAAClC,WACV;AAAA,QAAEwC,WAAY,aAAYP;AAAAA,MAAAA,IAC1B;AAAA,IACN;AAAA,IACAtC,SAAS;AAAA,MACP+B,MAAMf,GAAGhB,QAAQ8C,UAAU;AAAA,QACzB,CAAC9C,QAAQK,QAAQ,GAAGA;AAAAA,QACpB,CAACL,QAAQ+C,SAAS,GAAG,CAAC,CAACtC;AAAAA,QACvB,CAACT,QAAQgD,WAAW,GAAG1D,SAAS;AAAA,QAChC,CAACU,QAAQiD,gBAAgB,GAAG3D,SAAS,iBAAiB,CAACe;AAAAA,QACvD,CAACL,QAAQkD,mBAAmB,GAAG5D,SAAS,iBAAiBe;AAAAA,MAAAA,CAC1D;AAAA,MACDD,OAAOJ,QAAQI;AAAAA,MACfG,YAAYS,GAAGhB,QAAQO,YAAY;AAAA,QACjC,CAACP,QAAQmD,kBAAkB,GAAG9C;AAAAA,MAAAA,CAC/B;AAAA,IACH;AAAA,IACAE,YAAa6C,MAAAA,gBAAgB5C,QAAQ,KAAKD,cAAeY,cAAc;AAAA,IACvEX,UAAU6C,MAAAA,oBAAoBhD,UAAUG,QAAQ;AAAA,IAChDC,SAASJ,WAAWmB,SAAYf;AAAAA,IAChCC,MAAMA,SAAS4C,MAAe7C,eAAAA,OAAO,IAAI,WAAWe;AAAAA,IACpDH,UAAU+B,MAAAA,gBAAgB5C,QAAQ,IAAIgB,SAAY;AAAA,IAAE,GAChDX;AAAAA,EAAAA,CACL;AAEL;;;"}
@@ -6,7 +6,18 @@ const uikitReactShared = require("@hitachivantara/uikit-react-shared");
6
6
  require("@mui/material/styles");
7
7
  require("@emotion/react/jsx-runtime");
8
8
  const useTheme = () => {
9
- return React.useContext(uikitReactShared.HvThemeContext);
9
+ const context = React.useContext(uikitReactShared.HvThemeContext);
10
+ return React.useMemo(() => {
11
+ var _a;
12
+ const {
13
+ activeTheme,
14
+ selectedMode
15
+ } = context;
16
+ return {
17
+ ...context,
18
+ colors: (_a = activeTheme == null ? void 0 : activeTheme.colors.modes) == null ? void 0 : _a[selectedMode]
19
+ };
20
+ }, [context]);
10
21
  };
11
22
  exports.useTheme = useTheme;
12
23
  //# sourceMappingURL=useTheme.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useTheme.cjs","sources":["../../../src/hooks/useTheme.ts"],"sourcesContent":["import { useContext } from \"react\";\nimport {\n HvThemeContext,\n HvThemeContextValue,\n} from \"@core/providers/ThemeProvider\";\n\nexport const useTheme = (): HvThemeContextValue => {\n return useContext(HvThemeContext);\n};\n"],"names":["useTheme","useContext","HvThemeContext"],"mappings":";;;;;;;AAMO,MAAMA,WAAWA,MAA2B;AACjD,SAAOC,MAAAA,WAAWC,iBAAAA,cAAc;AAClC;;"}
1
+ {"version":3,"file":"useTheme.cjs","sources":["../../../src/hooks/useTheme.ts"],"sourcesContent":["import { useContext, useMemo } from \"react\";\nimport { HvThemeColorModeStructure } from \"@hitachivantara/uikit-styles\";\nimport {\n HvThemeContext,\n HvThemeContextValue,\n} from \"@core/providers/ThemeProvider\";\n\nexport const useTheme = (): HvThemeContextValue & {\n /** Colors of the currently active theme and mode */\n colors?: HvThemeColorModeStructure;\n} => {\n const context = useContext(HvThemeContext);\n\n return useMemo(() => {\n const { activeTheme, selectedMode } = context;\n return { ...context, colors: activeTheme?.colors.modes?.[selectedMode] };\n }, [context]);\n};\n"],"names":["useTheme","context","useContext","HvThemeContext","useMemo","activeTheme","selectedMode","colors","modes"],"mappings":";;;;;;;AAOO,MAAMA,WAAWA,MAGnB;AACGC,QAAAA,UAAUC,iBAAWC,iBAAAA,cAAc;AAEzC,SAAOC,cAAQ,MAAM;;AACb,UAAA;AAAA,MAAEC;AAAAA,MAAaC;AAAAA,IAAiBL,IAAAA;AAC/B,WAAA;AAAA,MAAE,GAAGA;AAAAA,MAASM,SAAQF,gDAAaE,OAAOC,UAApBH,mBAA4BC;AAAAA,IAAY;AAAA,EAAE,GACtE,CAACL,OAAO,CAAC;AACd;;"}
@@ -28,13 +28,11 @@ const HvActionsGeneric = (props) => {
28
28
  css
29
29
  } = useClasses(classesProp);
30
30
  const {
31
- activeTheme,
32
- selectedMode
31
+ colors
33
32
  } = useTheme();
34
33
  if (!Array.isArray(actions))
35
34
  return isValidElement(actions) ? actions : null;
36
35
  const renderButton = (action, idx) => {
37
- var _a;
38
36
  const {
39
37
  disabled: actDisabled,
40
38
  id: actId,
@@ -51,7 +49,7 @@ const HvActionsGeneric = (props) => {
51
49
  variant: category,
52
50
  className: cx(css({
53
51
  "&:hover": {
54
- backgroundColor: hexToRgbA(((_a = activeTheme == null ? void 0 : activeTheme.colors) == null ? void 0 : _a.modes[selectedMode].base_light) || theme.colors.base_light, 0.3)
52
+ backgroundColor: hexToRgbA((colors == null ? void 0 : colors.base_light) || theme.colors.base_light, 0.3)
55
53
  }
56
54
  }), classes.button),
57
55
  disabled: actDisabled ?? disabled,
@@ -1 +1 @@
1
- {"version":3,"file":"ActionsGeneric.js","sources":["../../../../src/components/ActionsGeneric/ActionsGeneric.tsx"],"sourcesContent":["import React, { isValidElement } from \"react\";\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\n\nimport { MoreOptionsVertical } from \"@hitachivantara/uikit-react-icons\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { hexToRgbA } from \"@core/utils/hexToRgbA\";\nimport { HvButton, HvButtonVariant } from \"@core/components/Button\";\nimport { HvDropDownMenu } from \"@core/components/DropDownMenu\";\nimport { setId } from \"@core/utils/setId\";\nimport { ExtractNames } from \"@core/utils/classes\";\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { useTheme } from \"@core/hooks/useTheme\";\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, css } = useClasses(classesProp);\n\n const { activeTheme, selectedMode } = useTheme();\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={cx(\n css({\n \"&:hover\": {\n backgroundColor: hexToRgbA(\n activeTheme?.colors?.modes[selectedMode].base_light ||\n theme.colors.base_light,\n 0.3\n ),\n },\n }),\n classes.button\n )}\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":["HvActionsGeneric","props","id","classes","classesProp","className","category","disabled","actions","actionsCallback","maxVisibleActions","Infinity","others","useDefaultProps","cx","css","useClasses","activeTheme","selectedMode","useTheme","Array","isArray","isValidElement","renderButton","action","idx","actDisabled","actId","icon","label","other","actionId","setId","renderedIcon","isDisabled","HvButton","variant","backgroundColor","hexToRgbA","colors","modes","base_light","theme","button","onClick","event","startIcon","children","renderActionsGrid","actsVisible","slice","actsDropdown","semantic","iconColor","undefined","_Fragment","map","HvDropDownMenu","root","dropDownMenu","dropDownMenuButton","iconSelected","dropDownMenuButtonSelected","MoreOptionsVertical","color","placement","dataList","keepOpened","disablePortal","actionOverflow","length","actionContainer"],"mappings":"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"}
1
+ {"version":3,"file":"ActionsGeneric.js","sources":["../../../../src/components/ActionsGeneric/ActionsGeneric.tsx"],"sourcesContent":["import React, { isValidElement } from \"react\";\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\n\nimport { MoreOptionsVertical } from \"@hitachivantara/uikit-react-icons\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { hexToRgbA } from \"@core/utils/hexToRgbA\";\nimport { HvButton, HvButtonVariant } from \"@core/components/Button\";\nimport { HvDropDownMenu } from \"@core/components/DropDownMenu\";\nimport { setId } from \"@core/utils/setId\";\nimport { ExtractNames } from \"@core/utils/classes\";\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { useTheme } from \"@core/hooks/useTheme\";\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, css } = useClasses(classesProp);\n\n const { colors } = useTheme();\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={cx(\n css({\n \"&:hover\": {\n backgroundColor: hexToRgbA(\n colors?.base_light || theme.colors.base_light,\n 0.3\n ),\n },\n }),\n classes.button\n )}\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":["HvActionsGeneric","props","id","classes","classesProp","className","category","disabled","actions","actionsCallback","maxVisibleActions","Infinity","others","useDefaultProps","cx","css","useClasses","colors","useTheme","Array","isArray","isValidElement","renderButton","action","idx","actDisabled","actId","icon","label","other","actionId","setId","renderedIcon","isDisabled","HvButton","variant","backgroundColor","hexToRgbA","base_light","theme","button","onClick","event","startIcon","children","renderActionsGrid","actsVisible","slice","actsDropdown","semantic","iconColor","undefined","_Fragment","map","HvDropDownMenu","root","dropDownMenu","dropDownMenuButton","iconSelected","dropDownMenuButtonSelected","MoreOptionsVertical","color","placement","dataList","keepOpened","disablePortal","actionOverflow","length","actionContainer"],"mappings":"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"}
@@ -10,7 +10,6 @@ import { HvTypography } from "../Typography/Typography.js";
10
10
  import { HvCheckBox } from "../CheckBox/CheckBox.js";
11
11
  import { HvActionsGeneric } from "../ActionsGeneric/ActionsGeneric.js";
12
12
  const HvBulkActions = (props) => {
13
- var _a;
14
13
  const {
15
14
  id,
16
15
  className,
@@ -38,9 +37,9 @@ const HvBulkActions = (props) => {
38
37
  } = useClasses(classesProp);
39
38
  const {
40
39
  activeTheme,
41
- selectedMode
40
+ colors
42
41
  } = useTheme();
43
- const baseColor = ((_a = activeTheme == null ? void 0 : activeTheme.colors) == null ? void 0 : _a.modes[selectedMode].base_light) || theme.colors.base_light;
42
+ const baseColor = (colors == null ? void 0 : colors.base_light) || theme.colors.base_light;
44
43
  const anySelected = numSelected > 0;
45
44
  const isSemantic = semantic && anySelected;
46
45
  const selectAllLabelComponent = /* @__PURE__ */ jsx(HvTypography, {
@@ -1 +1 @@
1
- {"version":3,"file":"BulkActions.js","sources":["../../../../src/components/BulkActions/BulkActions.tsx"],"sourcesContent":["import { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\nimport { setId } from \"@core/utils/setId\";\nimport { useTheme } from \"@core/hooks/useTheme\";\nimport { HvBaseProps } from \"@core/types/generic\";\nimport {\n HvButton,\n HvButtonProps,\n HvButtonVariant,\n} from \"@core/components/Button\";\nimport { HvCheckBox, HvCheckBoxProps } from \"@core/components/CheckBox\";\nimport {\n HvActionGeneric,\n HvActionsGeneric,\n HvActionsGenericProps,\n} from \"@core/components/ActionsGeneric\";\nimport { HvTypography } from \"@core/components/Typography\";\nimport { ExtractNames } from \"@core/utils/classes\";\nimport { hexToRgbA } from \"@core/utils/hexToRgbA\";\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, css } = useClasses(classesProp);\n\n const { activeTheme, selectedMode } = useTheme();\n\n const baseColor =\n activeTheme?.colors?.modes[selectedMode].base_light ||\n theme.colors.base_light;\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 isSemantic &&\n css({\n [`& .${staticClasses.selectAll} div`]: {\n color: theme.bulkActions.semanticColor,\n\n \"&:hover:not(:disabled)\": {\n backgroundColor: hexToRgbA(baseColor, 0.3),\n },\n\n \"& *\": {\n color: theme.bulkActions.semanticColor,\n backgroundColor: \"transparent\",\n },\n },\n\n [`& .${staticClasses.selectAll}:focus-within div`]: {\n backgroundColor: hexToRgbA(baseColor, 0.3),\n },\n }),\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":["HvBulkActions","props","id","className","classes","classesProp","selectAllPagesLabel","actionsDisabled","maxVisibleActions","checkboxProps","actions","numTotal","numSelected","selectAllLabel","selectAllConjunctionLabel","showSelectAllPages","semantic","actionsCallback","onSelectAll","onSelectAllPages","others","useDefaultProps","cx","css","useClasses","activeTheme","selectedMode","useTheme","baseColor","colors","modes","base_light","theme","anySelected","isSemantic","selectAllLabelComponent","HvTypography","component","disabled","variant","children","_jsxs","_Fragment","_jsx","root","staticClasses","selectAll","color","bulkActions","semanticColor","backgroundColor","hexToRgbA","selectAllContainer","HvCheckBox","setId","checked","onChange","indeterminate","label","divider","HvButton","selectAllPages","actionButtonVariant","onClick","HvActionsGeneric","category"],"mappings":"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"}
1
+ {"version":3,"file":"BulkActions.js","sources":["../../../../src/components/BulkActions/BulkActions.tsx"],"sourcesContent":["import { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\nimport { setId } from \"@core/utils/setId\";\nimport { useTheme } from \"@core/hooks/useTheme\";\nimport { HvBaseProps } from \"@core/types/generic\";\nimport {\n HvButton,\n HvButtonProps,\n HvButtonVariant,\n} from \"@core/components/Button\";\nimport { HvCheckBox, HvCheckBoxProps } from \"@core/components/CheckBox\";\nimport {\n HvActionGeneric,\n HvActionsGeneric,\n HvActionsGenericProps,\n} from \"@core/components/ActionsGeneric\";\nimport { HvTypography } from \"@core/components/Typography\";\nimport { ExtractNames } from \"@core/utils/classes\";\nimport { hexToRgbA } from \"@core/utils/hexToRgbA\";\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, css } = useClasses(classesProp);\n\n const { activeTheme, colors } = useTheme();\n\n const baseColor = colors?.base_light || theme.colors.base_light;\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 isSemantic &&\n css({\n [`& .${staticClasses.selectAll} div`]: {\n color: theme.bulkActions.semanticColor,\n\n \"&:hover:not(:disabled)\": {\n backgroundColor: hexToRgbA(baseColor, 0.3),\n },\n\n \"& *\": {\n color: theme.bulkActions.semanticColor,\n backgroundColor: \"transparent\",\n },\n },\n\n [`& .${staticClasses.selectAll}:focus-within div`]: {\n backgroundColor: hexToRgbA(baseColor, 0.3),\n },\n }),\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":["HvBulkActions","props","id","className","classes","classesProp","selectAllPagesLabel","actionsDisabled","maxVisibleActions","checkboxProps","actions","numTotal","numSelected","selectAllLabel","selectAllConjunctionLabel","showSelectAllPages","semantic","actionsCallback","onSelectAll","onSelectAllPages","others","useDefaultProps","cx","css","useClasses","activeTheme","colors","useTheme","baseColor","base_light","theme","anySelected","isSemantic","selectAllLabelComponent","HvTypography","component","disabled","variant","children","_jsxs","_Fragment","_jsx","root","staticClasses","selectAll","color","bulkActions","semanticColor","backgroundColor","hexToRgbA","selectAllContainer","HvCheckBox","setId","checked","onChange","indeterminate","label","divider","HvButton","selectAllPages","actionButtonVariant","onClick","HvActionsGeneric","category"],"mappings":"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"}
@@ -13,7 +13,6 @@ import { staticClasses } from "./Dialog.styles.js";
13
13
  import { jsx, jsxs } from "@emotion/react/jsx-runtime";
14
14
  import { HvButton } from "../Button/Button.js";
15
15
  const HvDialog = (props) => {
16
- var _a;
17
16
  const {
18
17
  variant,
19
18
  classes: classesProp,
@@ -36,8 +35,7 @@ const HvDialog = (props) => {
36
35
  delete others.fullScreen;
37
36
  const {
38
37
  rootId,
39
- activeTheme,
40
- selectedMode
38
+ colors
41
39
  } = useTheme();
42
40
  const wrappedClose = useCallback((event, bypassValidation = false, reason) => {
43
41
  if (bypassValidation || !disableBackdropClick) {
@@ -83,7 +81,7 @@ const HvDialog = (props) => {
83
81
  backdrop: {
84
82
  classes: {
85
83
  root: cx(css({
86
- background: hexToRgbA(((_a = activeTheme == null ? void 0 : activeTheme.colors) == null ? void 0 : _a.modes[selectedMode].atmo4) || theme.colors.atmo4, 0.8)
84
+ background: hexToRgbA((colors == null ? void 0 : colors.atmo4) || theme.colors.atmo4, 0.8)
87
85
  }), classes.background)
88
86
  }
89
87
  }