@hitachivantara/uikit-react-core 5.0.0-next.20 → 5.0.0-next.21

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 (194) hide show
  1. package/dist/cjs/components/AppSwitcher/AppSwitcher.styles.cjs +6 -6
  2. package/dist/cjs/components/AppSwitcher/AppSwitcher.styles.cjs.map +1 -1
  3. package/dist/cjs/components/BreadCrumb/Page/Page.styles.cjs +2 -3
  4. package/dist/cjs/components/BreadCrumb/Page/Page.styles.cjs.map +1 -1
  5. package/dist/cjs/components/Card/Card.cjs +10 -6
  6. package/dist/cjs/components/Card/Card.cjs.map +1 -1
  7. package/dist/cjs/components/Card/Card.styles.cjs +9 -10
  8. package/dist/cjs/components/Card/Card.styles.cjs.map +1 -1
  9. package/dist/cjs/components/Card/Content/Content.cjs +6 -1
  10. package/dist/cjs/components/Card/Content/Content.cjs.map +1 -1
  11. package/dist/cjs/components/Card/Content/Content.styles.cjs +4 -5
  12. package/dist/cjs/components/Card/Content/Content.styles.cjs.map +1 -1
  13. package/dist/cjs/components/Card/Header/Header.cjs +11 -7
  14. package/dist/cjs/components/Card/Header/Header.cjs.map +1 -1
  15. package/dist/cjs/components/Card/Header/Header.styles.cjs +8 -9
  16. package/dist/cjs/components/Card/Header/Header.styles.cjs.map +1 -1
  17. package/dist/cjs/components/Card/Media/Media.cjs +6 -1
  18. package/dist/cjs/components/Card/Media/Media.cjs.map +1 -1
  19. package/dist/cjs/components/Card/Media/Media.styles.cjs +4 -5
  20. package/dist/cjs/components/Card/Media/Media.styles.cjs.map +1 -1
  21. package/dist/cjs/components/Controls/Controls.cjs +11 -5
  22. package/dist/cjs/components/Controls/Controls.cjs.map +1 -1
  23. package/dist/cjs/components/Dialog/Dialog.cjs +8 -5
  24. package/dist/cjs/components/Dialog/Dialog.cjs.map +1 -1
  25. package/dist/cjs/components/DropDownMenu/DropDownMenu.styles.cjs +4 -4
  26. package/dist/cjs/components/DropDownMenu/DropDownMenu.styles.cjs.map +1 -1
  27. package/dist/cjs/components/Forms/Suggestions/Suggestions.styles.cjs +4 -4
  28. package/dist/cjs/components/Forms/Suggestions/Suggestions.styles.cjs.map +1 -1
  29. package/dist/cjs/components/Header/Brand/Brand.styles.cjs +14 -14
  30. package/dist/cjs/components/Header/Brand/Brand.styles.cjs.map +1 -1
  31. package/dist/cjs/components/Table/Table.cjs +1 -1
  32. package/dist/cjs/components/Table/Table.cjs.map +1 -1
  33. package/dist/cjs/components/Table/TableBody/TableBody.cjs +1 -1
  34. package/dist/cjs/components/Table/TableBody/TableBody.cjs.map +1 -1
  35. package/dist/cjs/components/Table/TableCell/TableCell.cjs +1 -1
  36. package/dist/cjs/components/Table/TableCell/TableCell.cjs.map +1 -1
  37. package/dist/cjs/components/Table/TableContainer/TableContainer.cjs +1 -1
  38. package/dist/cjs/components/Table/TableContainer/TableContainer.cjs.map +1 -1
  39. package/dist/cjs/components/Table/TableHead/TableHead.cjs +1 -1
  40. package/dist/cjs/components/Table/TableHead/TableHead.cjs.map +1 -1
  41. package/dist/cjs/components/Table/TableHeader/TableHeader.cjs +2 -2
  42. package/dist/cjs/components/Table/TableHeader/TableHeader.cjs.map +1 -1
  43. package/dist/cjs/components/Table/TableRow/TableRow.cjs +1 -1
  44. package/dist/cjs/components/Table/TableRow/TableRow.cjs.map +1 -1
  45. package/dist/cjs/components/Table/hooks/useFilters.cjs.map +1 -1
  46. package/dist/cjs/components/Table/hooks/useGlobalFilter.cjs.map +1 -1
  47. package/dist/cjs/components/Table/hooks/useRowSelection.cjs +5 -4
  48. package/dist/cjs/components/Table/hooks/useRowSelection.cjs.map +1 -1
  49. package/dist/cjs/components/Table/hooks/useTable.cjs +2 -2
  50. package/dist/cjs/components/Table/hooks/useTable.cjs.map +1 -1
  51. package/dist/cjs/components/Table/renderers/renderers.cjs.map +1 -1
  52. package/dist/cjs/components/Tag/Tag.cjs +1 -0
  53. package/dist/cjs/components/Tag/Tag.cjs.map +1 -1
  54. package/dist/cjs/components/Tag/Tag.styles.cjs +5 -4
  55. package/dist/cjs/components/Tag/Tag.styles.cjs.map +1 -1
  56. package/dist/cjs/components/Tooltip/Tooltip.styles.cjs +2 -2
  57. package/dist/cjs/components/Tooltip/Tooltip.styles.cjs.map +1 -1
  58. package/dist/cjs/components/VerticalNavigation/Actions/Action.cjs +2 -2
  59. package/dist/cjs/components/VerticalNavigation/Actions/Action.cjs.map +1 -1
  60. package/dist/cjs/components/VerticalNavigation/Actions/Actions.cjs +2 -2
  61. package/dist/cjs/components/VerticalNavigation/Actions/Actions.cjs.map +1 -1
  62. package/dist/cjs/components/VerticalNavigation/Header/Header.cjs +31 -12
  63. package/dist/cjs/components/VerticalNavigation/Header/Header.cjs.map +1 -1
  64. package/dist/cjs/components/VerticalNavigation/Header/Header.styles.cjs +17 -4
  65. package/dist/cjs/components/VerticalNavigation/Header/Header.styles.cjs.map +1 -1
  66. package/dist/cjs/components/VerticalNavigation/Navigation/Navigation.cjs +27 -4
  67. package/dist/cjs/components/VerticalNavigation/Navigation/Navigation.cjs.map +1 -1
  68. package/dist/cjs/components/VerticalNavigation/NavigationSlider/NavigationSlider.cjs +50 -0
  69. package/dist/cjs/components/VerticalNavigation/NavigationSlider/NavigationSlider.cjs.map +1 -0
  70. package/dist/cjs/components/VerticalNavigation/NavigationSlider/NavigationSlider.styles.cjs +38 -0
  71. package/dist/cjs/components/VerticalNavigation/NavigationSlider/NavigationSlider.styles.cjs.map +1 -0
  72. package/dist/cjs/components/VerticalNavigation/NavigationSlider/navigationSliderClasses.cjs +8 -0
  73. package/dist/cjs/components/VerticalNavigation/NavigationSlider/navigationSliderClasses.cjs.map +1 -0
  74. package/dist/cjs/components/VerticalNavigation/NavigationSlider/utils/NavigationSlider.utils.cjs +41 -0
  75. package/dist/cjs/components/VerticalNavigation/NavigationSlider/utils/NavigationSlider.utils.cjs.map +1 -0
  76. package/dist/cjs/components/VerticalNavigation/TreeView/TreeView.cjs.map +1 -1
  77. package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.cjs +2 -2
  78. package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.cjs.map +1 -1
  79. package/dist/cjs/components/VerticalNavigation/VerticalNavigation.cjs +32 -9
  80. package/dist/cjs/components/VerticalNavigation/VerticalNavigation.cjs.map +1 -1
  81. package/dist/cjs/components/VerticalNavigation/VerticalNavigation.styles.cjs +7 -2
  82. package/dist/cjs/components/VerticalNavigation/VerticalNavigation.styles.cjs.map +1 -1
  83. package/dist/cjs/components/VerticalNavigation/VerticalNavigationContext.cjs +10 -0
  84. package/dist/cjs/components/VerticalNavigation/VerticalNavigationContext.cjs.map +1 -0
  85. package/dist/cjs/components/VerticalNavigation/verticalNavigationClasses.cjs +1 -1
  86. package/dist/cjs/components/VerticalNavigation/verticalNavigationClasses.cjs.map +1 -1
  87. package/dist/cjs/hooks/useCreateEmotion.cjs +22 -0
  88. package/dist/cjs/hooks/useCreateEmotion.cjs.map +1 -0
  89. package/dist/cjs/index.cjs +6 -1
  90. package/dist/cjs/index.cjs.map +1 -1
  91. package/dist/cjs/providers/Provider.cjs +13 -4
  92. package/dist/cjs/providers/Provider.cjs.map +1 -1
  93. package/dist/cjs/providers/ThemeProvider.cjs +4 -2
  94. package/dist/cjs/providers/ThemeProvider.cjs.map +1 -1
  95. package/dist/esm/components/AppSwitcher/AppSwitcher.styles.js +6 -6
  96. package/dist/esm/components/AppSwitcher/AppSwitcher.styles.js.map +1 -1
  97. package/dist/esm/components/BreadCrumb/Page/Page.styles.js +2 -3
  98. package/dist/esm/components/BreadCrumb/Page/Page.styles.js.map +1 -1
  99. package/dist/esm/components/Card/Card.js +6 -2
  100. package/dist/esm/components/Card/Card.js.map +1 -1
  101. package/dist/esm/components/Card/Card.styles.js +3 -4
  102. package/dist/esm/components/Card/Card.styles.js.map +1 -1
  103. package/dist/esm/components/Card/Content/Content.js +6 -1
  104. package/dist/esm/components/Card/Content/Content.js.map +1 -1
  105. package/dist/esm/components/Card/Content/Content.styles.js +3 -4
  106. package/dist/esm/components/Card/Content/Content.styles.js.map +1 -1
  107. package/dist/esm/components/Card/Header/Header.js +7 -3
  108. package/dist/esm/components/Card/Header/Header.js.map +1 -1
  109. package/dist/esm/components/Card/Header/Header.styles.js +3 -4
  110. package/dist/esm/components/Card/Header/Header.styles.js.map +1 -1
  111. package/dist/esm/components/Card/Media/Media.js +6 -1
  112. package/dist/esm/components/Card/Media/Media.js.map +1 -1
  113. package/dist/esm/components/Card/Media/Media.styles.js +3 -4
  114. package/dist/esm/components/Card/Media/Media.styles.js.map +1 -1
  115. package/dist/esm/components/Controls/Controls.js +11 -5
  116. package/dist/esm/components/Controls/Controls.js.map +1 -1
  117. package/dist/esm/components/Dialog/Dialog.js +6 -3
  118. package/dist/esm/components/Dialog/Dialog.js.map +1 -1
  119. package/dist/esm/components/DropDownMenu/DropDownMenu.styles.js +4 -4
  120. package/dist/esm/components/DropDownMenu/DropDownMenu.styles.js.map +1 -1
  121. package/dist/esm/components/Forms/Suggestions/Suggestions.styles.js +4 -4
  122. package/dist/esm/components/Forms/Suggestions/Suggestions.styles.js.map +1 -1
  123. package/dist/esm/components/Header/Brand/Brand.styles.js +14 -14
  124. package/dist/esm/components/Header/Brand/Brand.styles.js.map +1 -1
  125. package/dist/esm/components/Table/Table.js +1 -1
  126. package/dist/esm/components/Table/Table.js.map +1 -1
  127. package/dist/esm/components/Table/TableBody/TableBody.js +1 -1
  128. package/dist/esm/components/Table/TableBody/TableBody.js.map +1 -1
  129. package/dist/esm/components/Table/TableCell/TableCell.js +1 -1
  130. package/dist/esm/components/Table/TableCell/TableCell.js.map +1 -1
  131. package/dist/esm/components/Table/TableContainer/TableContainer.js +1 -1
  132. package/dist/esm/components/Table/TableContainer/TableContainer.js.map +1 -1
  133. package/dist/esm/components/Table/TableHead/TableHead.js +1 -1
  134. package/dist/esm/components/Table/TableHead/TableHead.js.map +1 -1
  135. package/dist/esm/components/Table/TableHeader/TableHeader.js +2 -2
  136. package/dist/esm/components/Table/TableHeader/TableHeader.js.map +1 -1
  137. package/dist/esm/components/Table/TableRow/TableRow.js +1 -1
  138. package/dist/esm/components/Table/TableRow/TableRow.js.map +1 -1
  139. package/dist/esm/components/Table/hooks/useFilters.js.map +1 -1
  140. package/dist/esm/components/Table/hooks/useGlobalFilter.js.map +1 -1
  141. package/dist/esm/components/Table/hooks/useRowSelection.js +5 -4
  142. package/dist/esm/components/Table/hooks/useRowSelection.js.map +1 -1
  143. package/dist/esm/components/Table/hooks/useTable.js +2 -2
  144. package/dist/esm/components/Table/hooks/useTable.js.map +1 -1
  145. package/dist/esm/components/Table/renderers/renderers.js.map +1 -1
  146. package/dist/esm/components/Tag/Tag.js +1 -0
  147. package/dist/esm/components/Tag/Tag.js.map +1 -1
  148. package/dist/esm/components/Tag/Tag.styles.js +5 -4
  149. package/dist/esm/components/Tag/Tag.styles.js.map +1 -1
  150. package/dist/esm/components/Tooltip/Tooltip.styles.js +2 -2
  151. package/dist/esm/components/Tooltip/Tooltip.styles.js.map +1 -1
  152. package/dist/esm/components/VerticalNavigation/Actions/Action.js +1 -1
  153. package/dist/esm/components/VerticalNavigation/Actions/Action.js.map +1 -1
  154. package/dist/esm/components/VerticalNavigation/Actions/Actions.js +1 -1
  155. package/dist/esm/components/VerticalNavigation/Actions/Actions.js.map +1 -1
  156. package/dist/esm/components/VerticalNavigation/Header/Header.js +32 -13
  157. package/dist/esm/components/VerticalNavigation/Header/Header.js.map +1 -1
  158. package/dist/esm/components/VerticalNavigation/Header/Header.styles.js +17 -4
  159. package/dist/esm/components/VerticalNavigation/Header/Header.styles.js.map +1 -1
  160. package/dist/esm/components/VerticalNavigation/Navigation/Navigation.js +27 -4
  161. package/dist/esm/components/VerticalNavigation/Navigation/Navigation.js.map +1 -1
  162. package/dist/esm/components/VerticalNavigation/NavigationSlider/NavigationSlider.js +48 -0
  163. package/dist/esm/components/VerticalNavigation/NavigationSlider/NavigationSlider.js.map +1 -0
  164. package/dist/esm/components/VerticalNavigation/NavigationSlider/NavigationSlider.styles.js +36 -0
  165. package/dist/esm/components/VerticalNavigation/NavigationSlider/NavigationSlider.styles.js.map +1 -0
  166. package/dist/esm/components/VerticalNavigation/NavigationSlider/navigationSliderClasses.js +8 -0
  167. package/dist/esm/components/VerticalNavigation/NavigationSlider/navigationSliderClasses.js.map +1 -0
  168. package/dist/esm/components/VerticalNavigation/NavigationSlider/utils/NavigationSlider.utils.js +41 -0
  169. package/dist/esm/components/VerticalNavigation/NavigationSlider/utils/NavigationSlider.utils.js.map +1 -0
  170. package/dist/esm/components/VerticalNavigation/TreeView/TreeView.js.map +1 -1
  171. package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.js +1 -1
  172. package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.js.map +1 -1
  173. package/dist/esm/components/VerticalNavigation/VerticalNavigation.js +33 -10
  174. package/dist/esm/components/VerticalNavigation/VerticalNavigation.js.map +1 -1
  175. package/dist/esm/components/VerticalNavigation/VerticalNavigation.styles.js +7 -2
  176. package/dist/esm/components/VerticalNavigation/VerticalNavigation.styles.js.map +1 -1
  177. package/dist/esm/components/VerticalNavigation/VerticalNavigationContext.js +10 -0
  178. package/dist/esm/components/VerticalNavigation/VerticalNavigationContext.js.map +1 -0
  179. package/dist/esm/components/VerticalNavigation/verticalNavigationClasses.js +1 -1
  180. package/dist/esm/components/VerticalNavigation/verticalNavigationClasses.js.map +1 -1
  181. package/dist/esm/hooks/useCreateEmotion.js +20 -0
  182. package/dist/esm/hooks/useCreateEmotion.js.map +1 -0
  183. package/dist/esm/index.js +28 -23
  184. package/dist/esm/index.js.map +1 -1
  185. package/dist/esm/providers/Provider.js +10 -3
  186. package/dist/esm/providers/Provider.js.map +1 -1
  187. package/dist/esm/providers/ThemeProvider.js +4 -2
  188. package/dist/esm/providers/ThemeProvider.js.map +1 -1
  189. package/dist/types/index.d.ts +154 -46
  190. package/package.json +6 -5
  191. package/dist/cjs/utils/emotion.cjs +0 -39
  192. package/dist/cjs/utils/emotion.cjs.map +0 -1
  193. package/dist/esm/utils/emotion.js +0 -36
  194. package/dist/esm/utils/emotion.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"TableRow.js","sources":["../../../../../src/components/Table/TableRow/TableRow.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport styled from \"@emotion/styled\";\nimport { hexToRgb, alpha } from \"@mui/material\";\nimport { HvBaseProps } from \"../../../types/index\";\nimport { tableRowClasses, HvTableRowClasses } from \".\";\nimport { forwardRef, useContext, useMemo } from \"react\";\nimport TableContext from \"../TableContext\";\nimport { transientOptions } from \"utils/transientOptions\";\nimport TableSectionContext from \"../TableSectionContext\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\nimport { getBorderStyles } from \"../utils/utils\";\nimport { useTheme } from \"hooks\";\n\nexport type HvTableRowProps = Omit<HvBaseProps, \"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 StyledTableRow = (c: any) =>\n styled(\n c,\n transientOptions\n )(\n ({\n $hover,\n $selected,\n $expanded,\n $striped,\n $variantList,\n $variantListHead,\n $stripedColor,\n $type,\n }: {\n $hover: boolean;\n $selected: boolean;\n $expanded: boolean;\n $striped: boolean;\n $variantList: boolean;\n $variantListHead: boolean;\n $type: string;\n $stripedColor: string;\n }) => ({\n backgroundColor: theme.table.rowBackgroundColor,\n color: \"inherit\",\n verticalAlign: \"middle\",\n outline: 0,\n minHeight: 32,\n \"tr&\": {\n height: 32,\n },\n\n \":hover\": {\n ...($type === \"body\" && {\n backgroundColor: theme.table.rowHoverColor,\n }),\n },\n ...($hover && {\n transition: \"background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms\",\n \"&:hover\": {\n backgroundColor: theme.table.rowHoverColor,\n },\n }),\n ...($selected && {\n backgroundColor: theme.table.selectedRowBackgroundColor,\n }),\n ...($expanded && {\n \"& > *[role=cell]\": {\n borderBottom: \"none\",\n },\n [`&.${tableRowClasses.expanded}`]: {\n backgroundColor: theme.colors.atmo1,\n },\n }),\n ...($striped && {\n \"&:nth-of-type(even)\": {\n backgroundColor: $stripedColor,\n \"&:hover\": {\n backgroundColor: theme.table.rowHoverColor,\n },\n },\n }),\n\n // type\n ...($type === \"head\" && {\n backgroundColor: \"transparent\",\n \"&:first-of-type\": {\n height: 52,\n },\n\n \"tr&:first-of-type\": {\n height: 52,\n },\n }),\n\n ...($variantList && {\n borderBottom: 0,\n ...(!$selected && {\n backgroundColor: theme.colors.atmo1,\n }),\n height: 52,\n \"&:hover\": {\n ...getBorderStyles(\"row\", theme.table.rowHoverBorderColor),\n },\n [`&.${tableRowClasses.selected}`]: {\n ...getBorderStyles(\"row\", theme.colors.acce1),\n\n \"&:hover\": {\n ...getBorderStyles(\"row\", theme.table.rowHoverBorderColor),\n },\n },\n }),\n ...($variantListHead && {\n height: 16,\n \"&:first-of-type\": {\n height: 16,\n },\n\n \"tr&:first-of-type\": {\n height: 16,\n },\n }),\n\n \"&.HvIsFocused\": {\n borderRadius: theme.table.rowBorderRadius,\n },\n })\n );\n\n/**\n * `HvTableRow` acts as a `tr` element and inherits styles from its context\n */\nexport const HvTableRow = forwardRef<HTMLElement, HvTableRowProps>(\n (\n {\n classes,\n className,\n component,\n hover = false,\n selected = false,\n expanded = false,\n striped = false,\n ...others\n },\n externalRef\n ) => {\n const { activeTheme, selectedMode } = useTheme();\n const tableContext = useContext(TableContext);\n const tableSectionContext = useContext(TableSectionContext);\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 TableRow = useMemo(() => StyledTableRow(Component), [Component]);\n\n return (\n <TableRow\n ref={externalRef}\n className={clsx(\n className,\n tableSectionContext.filterClassName,\n tableRowClasses.root,\n classes?.root,\n tableRowClasses[type],\n classes?.[type],\n hover && clsx(tableRowClasses.hover, classes?.hover),\n selected && clsx(tableRowClasses.selected, classes?.selected),\n expanded && clsx(tableRowClasses.expanded, classes?.expanded),\n striped && clsx(tableRowClasses.striped, classes?.striped),\n isList &&\n type === \"body\" &&\n clsx(tableRowClasses.variantList, classes?.variantList),\n isList &&\n type === \"head\" &&\n clsx(tableRowClasses.variantListHead, classes?.variantListHead)\n )}\n role={Component === defaultComponent ? null : \"row\"}\n $hover={hover}\n $selected={selected}\n $expanded={expanded}\n $striped={striped}\n $variantList={isList && type === \"body\"}\n $variantListHead={isList && type === \"head\"}\n $type={type}\n $stripedColor={alpha(\n hexToRgb(\n activeTheme?.colors?.modes[selectedMode].atmo1 || theme.colors.atmo1\n ),\n 0.6\n )}\n {...others}\n />\n );\n }\n);\n"],"names":["defaultComponent","StyledTableRow","c","process","env","NODE_ENV","_extends","target","transientOptions","label","$hover","$selected","$expanded","$striped","$variantList","$variantListHead","$stripedColor","$type","backgroundColor","theme","table","rowBackgroundColor","color","verticalAlign","outline","minHeight","height","rowHoverColor","transition","selectedRowBackgroundColor","borderBottom","tableRowClasses","expanded","colors","atmo1","getBorderStyles","rowHoverBorderColor","selected","acce1","borderRadius","rowBorderRadius","HvTableRow","forwardRef","classes","className","component","hover","striped","others","externalRef","activeTheme","selectedMode","useTheme","tableContext","useContext","TableContext","tableSectionContext","TableSectionContext","type","isList","variant","Component","components","Tr","TableRow","useMemo","ref","clsx","filterClassName","root","variantList","variantListHead","role","alpha","hexToRgb","modes"],"mappings":"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"}
1
+ {"version":3,"file":"TableRow.js","sources":["../../../../../src/components/Table/TableRow/TableRow.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport styled from \"@emotion/styled\";\nimport { hexToRgb, alpha } from \"@mui/material\";\nimport { HvBaseProps } from \"../../../types/index\";\nimport { tableRowClasses, HvTableRowClasses } from \".\";\nimport { forwardRef, useContext, useMemo } from \"react\";\nimport TableContext from \"../TableContext\";\nimport { transientOptions } from \"utils/transientOptions\";\nimport TableSectionContext from \"../TableSectionContext\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\nimport { getBorderStyles } from \"../utils/utils\";\nimport { useTheme } from \"hooks\";\n\nexport type HvTableRowProps = 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 StyledTableRow = (c: any) =>\n styled(\n c,\n transientOptions\n )(\n ({\n $hover,\n $selected,\n $expanded,\n $striped,\n $variantList,\n $variantListHead,\n $stripedColor,\n $type,\n }: {\n $hover: boolean;\n $selected: boolean;\n $expanded: boolean;\n $striped: boolean;\n $variantList: boolean;\n $variantListHead: boolean;\n $type: string;\n $stripedColor: string;\n }) => ({\n backgroundColor: theme.table.rowBackgroundColor,\n color: \"inherit\",\n verticalAlign: \"middle\",\n outline: 0,\n minHeight: 32,\n \"tr&\": {\n height: 32,\n },\n\n \":hover\": {\n ...($type === \"body\" && {\n backgroundColor: theme.table.rowHoverColor,\n }),\n },\n ...($hover && {\n transition: \"background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms\",\n \"&:hover\": {\n backgroundColor: theme.table.rowHoverColor,\n },\n }),\n ...($selected && {\n backgroundColor: theme.table.selectedRowBackgroundColor,\n }),\n ...($expanded && {\n \"& > *[role=cell]\": {\n borderBottom: \"none\",\n },\n [`&.${tableRowClasses.expanded}`]: {\n backgroundColor: theme.colors.atmo1,\n },\n }),\n ...($striped && {\n \"&:nth-of-type(even)\": {\n backgroundColor: $stripedColor,\n \"&:hover\": {\n backgroundColor: theme.table.rowHoverColor,\n },\n },\n }),\n\n // type\n ...($type === \"head\" && {\n backgroundColor: \"transparent\",\n \"&:first-of-type\": {\n height: 52,\n },\n\n \"tr&:first-of-type\": {\n height: 52,\n },\n }),\n\n ...($variantList && {\n borderBottom: 0,\n ...(!$selected && {\n backgroundColor: theme.colors.atmo1,\n }),\n height: 52,\n \"&:hover\": {\n ...getBorderStyles(\"row\", theme.table.rowHoverBorderColor),\n },\n [`&.${tableRowClasses.selected}`]: {\n ...getBorderStyles(\"row\", theme.colors.acce1),\n\n \"&:hover\": {\n ...getBorderStyles(\"row\", theme.table.rowHoverBorderColor),\n },\n },\n }),\n ...($variantListHead && {\n height: 16,\n \"&:first-of-type\": {\n height: 16,\n },\n\n \"tr&:first-of-type\": {\n height: 16,\n },\n }),\n\n \"&.HvIsFocused\": {\n borderRadius: theme.table.rowBorderRadius,\n },\n })\n );\n\n/**\n * `HvTableRow` acts as a `tr` element and inherits styles from its context\n */\nexport const HvTableRow = forwardRef<HTMLElement, HvTableRowProps>(\n (\n {\n classes,\n className,\n component,\n hover = false,\n selected = false,\n expanded = false,\n striped = false,\n ...others\n },\n externalRef\n ) => {\n const { activeTheme, selectedMode } = useTheme();\n const tableContext = useContext(TableContext);\n const tableSectionContext = useContext(TableSectionContext);\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 TableRow = useMemo(() => StyledTableRow(Component), [Component]);\n\n return (\n <TableRow\n ref={externalRef}\n className={clsx(\n className,\n tableSectionContext.filterClassName,\n tableRowClasses.root,\n classes?.root,\n tableRowClasses[type],\n classes?.[type],\n hover && clsx(tableRowClasses.hover, classes?.hover),\n selected && clsx(tableRowClasses.selected, classes?.selected),\n expanded && clsx(tableRowClasses.expanded, classes?.expanded),\n striped && clsx(tableRowClasses.striped, classes?.striped),\n isList &&\n type === \"body\" &&\n clsx(tableRowClasses.variantList, classes?.variantList),\n isList &&\n type === \"head\" &&\n clsx(tableRowClasses.variantListHead, classes?.variantListHead)\n )}\n role={Component === defaultComponent ? null : \"row\"}\n $hover={hover}\n $selected={selected}\n $expanded={expanded}\n $striped={striped}\n $variantList={isList && type === \"body\"}\n $variantListHead={isList && type === \"head\"}\n $type={type}\n $stripedColor={alpha(\n hexToRgb(\n activeTheme?.colors?.modes[selectedMode].atmo1 || theme.colors.atmo1\n ),\n 0.6\n )}\n {...others}\n />\n );\n }\n);\n"],"names":["defaultComponent","StyledTableRow","c","process","env","NODE_ENV","_extends","target","transientOptions","label","$hover","$selected","$expanded","$striped","$variantList","$variantListHead","$stripedColor","$type","backgroundColor","theme","table","rowBackgroundColor","color","verticalAlign","outline","minHeight","height","rowHoverColor","transition","selectedRowBackgroundColor","borderBottom","tableRowClasses","expanded","colors","atmo1","getBorderStyles","rowHoverBorderColor","selected","acce1","borderRadius","rowBorderRadius","HvTableRow","forwardRef","classes","className","component","hover","striped","others","externalRef","activeTheme","selectedMode","useTheme","tableContext","useContext","TableContext","tableSectionContext","TableSectionContext","type","isList","variant","Component","components","Tr","TableRow","useMemo","ref","clsx","filterClassName","root","variantList","variantListHead","role","alpha","hexToRgb","modes"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useFilters.js","sources":["../../../../../src/components/Table/hooks/useFilters.ts"],"sourcesContent":["import { useFilters as useHvFilters, Hooks } from \"react-table\";\n\nexport type UseFiltersProps = (<D extends object = Record<string, unknown>>(\n hooks: Hooks<D>\n) => void) & { pluginName: string };\n\n// #endregion ##### TYPES #####\n\nuseHvFilters.pluginName = \"useHvFilters\";\n\nexport default useHvFilters as UseFiltersProps;\n"],"names":["useHvFilters","pluginName"],"mappings":";;AAQAA,WAAaC,aAAa;"}
1
+ {"version":3,"file":"useFilters.js","sources":["../../../../../src/components/Table/hooks/useFilters.ts"],"sourcesContent":["import { useFilters as useHvFilters, Hooks } from \"react-table\";\n\nexport type UseFiltersProps = (<D extends object = Record<string, unknown>>(\n hooks: Hooks<D>\n) => void) & { pluginName: string };\n\n// #endregion ##### TYPES #####\n\n(useHvFilters.pluginName as string) = \"useHvFilters\";\n\nexport default useHvFilters as UseFiltersProps;\n"],"names":["useHvFilters","pluginName"],"mappings":";;AAQCA,WAAaC,aAAwB;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useGlobalFilter.js","sources":["../../../../../src/components/Table/hooks/useGlobalFilter.ts"],"sourcesContent":["import { useGlobalFilter as useHvGlobalFilter, Hooks } from \"react-table\";\n\nexport type UseGlobalFilterProps = (<\n D extends object = Record<string, unknown>\n>(\n hooks: Hooks<D>\n) => void) & { pluginName: string };\n\n// #endregion ##### TYPES #####\n\nuseHvGlobalFilter.pluginName = \"useHvGlobalFilter\";\n\nexport default useHvGlobalFilter as UseGlobalFilterProps;\n"],"names":["useHvGlobalFilter","pluginName"],"mappings":";;AAUAA,gBAAkBC,aAAa;"}
1
+ {"version":3,"file":"useGlobalFilter.js","sources":["../../../../../src/components/Table/hooks/useGlobalFilter.ts"],"sourcesContent":["import { useGlobalFilter as useHvGlobalFilter, Hooks } from \"react-table\";\n\nexport type UseGlobalFilterProps = (<\n D extends object = Record<string, unknown>\n>(\n hooks: Hooks<D>\n) => void) & { pluginName: string };\n\n// #endregion ##### TYPES #####\n\n(useHvGlobalFilter.pluginName as string) = \"useHvGlobalFilter\";\n\nexport default useHvGlobalFilter as UseGlobalFilterProps;\n"],"names":["useHvGlobalFilter","pluginName"],"mappings":";;AAUCA,gBAAkBC,aAAwB;"}
@@ -51,10 +51,11 @@ const getRowPropsHook = (props, {
51
51
  };
52
52
  return [props, nextProps];
53
53
  };
54
- const defaultGetToggleRowSelectedProps = (props, {
55
- instance,
56
- row
57
- }) => {
54
+ const defaultGetToggleRowSelectedProps = (props, meta) => {
55
+ const {
56
+ instance,
57
+ row
58
+ } = meta;
58
59
  const {
59
60
  manualRowSelectedKey = "isSelected"
60
61
  } = instance;
@@ -1 +1 @@
1
- {"version":3,"file":"useRowSelection.js","sources":["../../../../../src/components/Table/hooks/useRowSelection.tsx"],"sourcesContent":["import { ChangeEvent, useCallback, useMemo } from \"react\";\nimport {\n Hooks,\n IdType,\n PropGetter,\n Row,\n actions,\n ensurePluginOrder,\n useGetLatest,\n useMountedLayoutEffect,\n makePropGetter,\n} from \"react-table\";\nimport { useLabels } from \"hooks\";\nimport { HvCheckBox } from \"components\";\n\n// #region ##### TYPES #####\n\n// getRowProps:\nexport interface UseHvRowSelectionTableRowProps {\n selected?: boolean;\n}\n\nexport interface UseHvRowSelectionRowCheckboxProps {\n onChange?: (e: ChangeEvent, checked?: boolean) => void;\n checked?: boolean;\n disabled?: boolean;\n indeterminate?: boolean;\n}\n\nexport interface UseHvRowSelectionBulkCheckboxProps {\n onChange?: (e: ChangeEvent, checked?: boolean) => void;\n checked?: boolean;\n indeterminate?: boolean;\n}\n\nexport type UseHvRowSelectionTableOptions = Partial<{\n autoResetSelectedRows: boolean;\n autoResetLockedSelectionRows: boolean;\n selectSubRows: boolean;\n manualRowSelectedKey: string;\n applyToggleAllRowsSelectedToPrefilteredRows: boolean;\n}>;\n\nexport interface UseHvRowSelectionHooks<D extends object> {\n getToggleRowSelectedProps: Array<\n PropGetter<D, UseHvRowSelectionRowCheckboxProps>\n >;\n getToggleAllRowsSelectedProps: Array<\n PropGetter<D, UseHvRowSelectionBulkCheckboxProps>\n >;\n getToggleAllPageRowsSelectedProps: Array<\n PropGetter<D, UseHvRowSelectionBulkCheckboxProps>\n >;\n}\n\nexport interface UseHvRowSelectionState<D extends object> {\n selectedRowIds: Record<IdType<D>, boolean>;\n lockedSelectionRowIds: Record<IdType<D>, boolean>;\n}\n\nexport interface UseHvRowSelectionTableInstance<D extends object> {\n toggleRowSelected: (rowId: IdType<D>, set?: boolean) => void;\n toggleAllRowsSelected: (value?: boolean) => void;\n toggleAllPageRowsSelected: (value?: boolean) => void;\n getToggleAllRowsSelectedProps: (\n props?: Partial<UseHvRowSelectionBulkCheckboxProps>\n ) => UseHvRowSelectionBulkCheckboxProps;\n getToggleAllPageRowsSelectedProps: (\n props?: Partial<UseHvRowSelectionBulkCheckboxProps>\n ) => UseHvRowSelectionBulkCheckboxProps;\n\n isNoRowsSelected: boolean;\n isNoPageRowsSelected: boolean;\n isAllRowsSelected: boolean;\n isAllPageRowsSelected: boolean;\n isAllSelectableRowsSelected: boolean;\n isAllSelectablePageRowsSelected: boolean;\n isAllSelectableRowsUnselected: boolean;\n isAllSelectablePageRowsUnselected: boolean;\n\n selectedFlatRows: Array<Row<D>>;\n}\n\nexport interface UseHvRowSelectionRowInstance {\n isSelected: boolean;\n isSomeSelected: boolean;\n toggleRowSelected: (set?: boolean) => void;\n getToggleRowSelectedProps: (\n props?: Partial<UseHvRowSelectionRowCheckboxProps>\n ) => UseHvRowSelectionRowCheckboxProps;\n}\n\nexport type UseRowSelectionProps = (<\n D extends object = Record<string, unknown>\n>(\n hooks: Hooks<D>\n) => void) & { pluginName: string };\n\n// #endregion ##### TYPES #####\n\n// Actions\nactions.resetSelectedRows = \"resetSelectedRows\";\nactions.toggleAllRowsSelected = \"toggleAllRowsSelected\";\nactions.toggleRowSelected = \"toggleRowSelected\";\nactions.toggleAllPageRowsSelected = \"toggleAllPageRowsSelected\";\n\nactions.resetLockedSelectionRows = \"resetLockedSelectionRows\";\nactions.toggleRowLockedSelection = \"toggleRowLockedSelection\";\n\nconst DEFAULT_LABELS = {\n selectRowCheckBoxAriaLabel: \"Select this row\",\n};\n\nexport const CellWithCheckBox = ({ row, labels: labelsProp }) => {\n const labels = useLabels(DEFAULT_LABELS, labelsProp);\n\n const { onChange, checked, disabled, indeterminate } =\n row.getToggleRowSelectedProps();\n\n return (\n <HvCheckBox\n onChange={onChange}\n checked={checked}\n disabled={disabled}\n indeterminate={indeterminate}\n aria-label={labels.selectRowCheckBoxAriaLabel}\n />\n );\n};\n\nconst visibleColumnsHook = (columns) => {\n const selectionColumn = {\n id: \"_hv_selection\",\n variant: \"checkbox\",\n\n width: 32,\n\n // this will only work when using useHvTableSticky\n // but ensures it stays left of any sticky column\n sticky: \"left\",\n\n Cell: CellWithCheckBox,\n };\n\n return [selectionColumn, ...columns];\n};\n\nconst getRowPropsHook = (props, { row }) => {\n const nextProps: UseHvRowSelectionTableRowProps = {\n selected: row.isSelected,\n };\n\n return [props, nextProps];\n};\n\nexport const defaultGetToggleRowSelectedProps = (props, { instance, row }) => {\n const { manualRowSelectedKey = \"isSelected\" } = instance;\n let checked = false;\n\n if (row.original && row.original[manualRowSelectedKey]) {\n checked = true;\n } else {\n checked = row.isSelected;\n }\n\n return [\n props,\n {\n onChange: (e, check) => {\n row.toggleRowSelected(check ?? e?.target?.checked);\n },\n disabled: row.isSelectionLocked,\n checked,\n indeterminate: row.isSomeSelected,\n },\n ];\n};\n\nexport const defaultGetToggleAllRowsSelectedProps = (props, { instance }) => [\n props,\n {\n onChange: (e) => {\n instance.toggleAllRowsSelected(e.target.checked);\n },\n checked: instance.isAllRowsSelected,\n indeterminate: Boolean(\n !instance.isAllRowsSelected &&\n Object.keys(instance.state.selectedRowIds).length\n ),\n },\n];\n\nexport const defaultGetToggleAllPageRowsSelectedProps = (\n props,\n { instance }\n) => [\n props,\n {\n onChange(e) {\n instance.toggleAllPageRowsSelected(e.target.checked);\n },\n checked: instance.isAllPageRowsSelected,\n indeterminate: Boolean(\n !instance.isAllPageRowsSelected &&\n instance.page.some(({ id }) => instance.state.selectedRowIds[id])\n ),\n },\n];\n\nexport function reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n selectedRowIds: {},\n lockedSelectionRowIds: {},\n ...state,\n };\n }\n\n if (action.type === actions.resetSelectedRows) {\n return {\n ...state,\n selectedRowIds: instance.initialState.selectedRowIds || {},\n };\n }\n\n if (action.type === actions.toggleAllRowsSelected) {\n const { value: setSelected } = action;\n const {\n isAllRowsSelected,\n rowsById,\n initialRowsById,\n nonGroupedRowsById = rowsById,\n applyToggleAllRowsSelectedToPrefilteredRows,\n } = instance;\n\n const rowsToSelect = applyToggleAllRowsSelectedToPrefilteredRows\n ? initialRowsById\n : nonGroupedRowsById;\n\n const selectAll =\n typeof setSelected !== \"undefined\" ? setSelected : !isAllRowsSelected;\n\n // Only remove/add the rows that are visible on the screen\n // Leave all the other rows that are selected alone.\n const selectedRowIds = { ...state.selectedRowIds };\n\n if (selectAll) {\n Object.keys(rowsToSelect).forEach((rowId) => {\n const isSelectionLocked = state.lockedSelectionRowIds[rowId];\n if (!isSelectionLocked) {\n selectedRowIds[rowId] = true;\n }\n });\n } else {\n Object.keys(rowsToSelect).forEach((rowId) => {\n const isSelectionLocked = state.lockedSelectionRowIds[rowId];\n if (!isSelectionLocked) {\n delete selectedRowIds[rowId];\n }\n });\n }\n\n return {\n ...state,\n selectedRowIds,\n };\n }\n\n if (action.type === actions.toggleRowSelected) {\n const { id, value: setSelected } = action;\n const isSelectionLocked = state.lockedSelectionRowIds[id];\n if (isSelectionLocked) {\n return state;\n }\n\n const { rowsById, selectSubRows = true, getSubRows } = instance;\n const isSelected = state.selectedRowIds[id];\n const shouldExist =\n typeof setSelected !== \"undefined\" ? setSelected : !isSelected;\n\n if (isSelected === shouldExist) {\n return state;\n }\n\n const newSelectedRowIds = { ...state.selectedRowIds };\n\n const handleRowById = (rowId) => {\n const row = rowsById[rowId];\n\n if (!row.isGrouped) {\n if (shouldExist) {\n newSelectedRowIds[rowId] = true;\n } else {\n delete newSelectedRowIds[rowId];\n }\n }\n\n if (selectSubRows && getSubRows(row)) {\n getSubRows(row).forEach((subrow) => {\n handleRowById(subrow.id);\n });\n }\n };\n\n handleRowById(id);\n\n return {\n ...state,\n selectedRowIds: newSelectedRowIds,\n };\n }\n\n if (action.type === actions.toggleAllPageRowsSelected) {\n const { value: setSelected } = action;\n const {\n page,\n rowsById,\n selectSubRows = true,\n isAllPageRowsSelected,\n getSubRows,\n } = instance;\n\n const selectAll =\n typeof setSelected !== \"undefined\" ? setSelected : !isAllPageRowsSelected;\n const newSelectedRowIds = { ...state.selectedRowIds };\n\n const handleRowById = (rowId) => {\n const row = rowsById[rowId];\n const isSelectionLocked = state.lockedSelectionRowIds[rowId];\n\n if (!isSelectionLocked && !row.isGrouped) {\n if (selectAll) {\n newSelectedRowIds[rowId] = true;\n } else {\n delete newSelectedRowIds[rowId];\n }\n }\n\n if (selectSubRows && getSubRows(row)) {\n getSubRows(row).forEach((subrow) => {\n handleRowById(subrow.id);\n });\n }\n };\n\n page.forEach((row) => handleRowById(row.id));\n\n return {\n ...state,\n selectedRowIds: newSelectedRowIds,\n };\n }\n\n if (action.type === actions.resetLockedSelectionRows) {\n return {\n ...state,\n lockedSelectionRowIds: instance.initialState.lockedSelectionRowIds || {},\n };\n }\n\n if (action.type === actions.toggleRowLockedSelection) {\n const { id, value: setLockedSelection } = action;\n const { rowsById, selectSubRows = true, getSubRows } = instance;\n const isLockedSelection = state.lockedSelectionRowIds[id];\n const shouldExist =\n typeof setLockedSelection !== \"undefined\"\n ? setLockedSelection\n : !isLockedSelection;\n\n if (isLockedSelection === shouldExist) {\n return state;\n }\n\n const newLockedSelectionRowIds = { ...state.lockedSelectionRowIds };\n\n const handleRowById = (rowId) => {\n const row = rowsById[rowId];\n\n if (!row.isGrouped) {\n if (shouldExist) {\n newLockedSelectionRowIds[rowId] = true;\n } else {\n delete newLockedSelectionRowIds[rowId];\n }\n }\n\n if (selectSubRows && getSubRows(row)) {\n getSubRows(row).forEach((subrow) => {\n handleRowById(subrow.id);\n });\n }\n };\n\n handleRowById(id);\n\n return {\n ...state,\n lockedSelectionRowIds: newLockedSelectionRowIds,\n };\n }\n\n return state;\n}\n\nfunction getRowIsSelected(row, selectedRowIds, getSubRows) {\n if (selectedRowIds[row.id]) {\n return true;\n }\n\n const subRows = getSubRows(row);\n\n if (subRows && subRows.length) {\n let allChildrenSelected = true;\n let someSelected = false;\n\n subRows.forEach((subRow) => {\n // Bail out early if we know both of these\n if (someSelected && !allChildrenSelected) {\n return;\n }\n\n if (getRowIsSelected(subRow, selectedRowIds, getSubRows)) {\n someSelected = true;\n } else {\n allChildrenSelected = false;\n }\n });\n\n if (allChildrenSelected) {\n return true;\n }\n\n if (someSelected) {\n return null;\n }\n }\n\n return false;\n}\n\nexport function useInstance(instance) {\n const {\n data,\n rows,\n getHooks,\n plugins,\n rowsById,\n initialRowsById,\n nonGroupedRowsById = rowsById,\n autoResetSelectedRows = true,\n autoResetLockedSelectionRows = true,\n state: { selectedRowIds, lockedSelectionRowIds },\n selectSubRows = true,\n dispatch,\n page,\n getSubRows,\n applyToggleAllRowsSelectedToPrefilteredRows,\n } = instance;\n\n ensurePluginOrder(\n plugins,\n [\"useFilters\", \"useGroupBy\", \"useSortBy\", \"useExpanded\", \"usePagination\"],\n \"useHvRowSelection\"\n );\n\n const rowsToSelect = applyToggleAllRowsSelectedToPrefilteredRows\n ? initialRowsById\n : nonGroupedRowsById;\n\n const selectedFlatRows = useMemo(() => {\n const selectedRows: any[] = [];\n\n rows.forEach((row) => {\n const isSelected = selectSubRows\n ? getRowIsSelected(row, selectedRowIds, getSubRows)\n : !!selectedRowIds[row.id];\n row.isSelected = !!isSelected;\n row.isSomeSelected = isSelected === null;\n\n if (isSelected) {\n selectedRows.push(row);\n }\n });\n\n return selectedRows;\n }, [rows, selectSubRows, selectedRowIds, getSubRows]);\n\n const existsLockedRows = !!Object.keys(lockedSelectionRowIds).length;\n\n const isNoRowsSelected = !(\n Object.keys(rowsToSelect).length && selectedFlatRows.length\n );\n\n let isNoPageRowsSelected;\n let isAllRowsSelected;\n let isAllPageRowsSelected;\n\n let isAllSelectableRowsUnselected;\n let isAllSelectablePageRowsUnselected;\n let isAllSelectableRowsSelected;\n let isAllSelectablePageRowsSelected;\n\n if (isNoRowsSelected) {\n isAllRowsSelected = false;\n isAllPageRowsSelected = false;\n\n isAllSelectableRowsSelected =\n existsLockedRows &&\n !Object.keys(rowsToSelect).some((id) => !lockedSelectionRowIds[id]);\n isAllSelectablePageRowsSelected = isAllSelectableRowsSelected;\n\n isAllSelectableRowsUnselected = isAllSelectableRowsSelected;\n isAllSelectablePageRowsUnselected = isAllSelectableRowsSelected;\n\n isNoPageRowsSelected = true;\n } else {\n isAllRowsSelected = !Object.keys(rowsToSelect).some(\n (id) => !selectedRowIds[id]\n );\n\n if (isAllRowsSelected) {\n isAllSelectableRowsSelected = true;\n isAllSelectablePageRowsSelected = true;\n\n isAllSelectableRowsUnselected =\n existsLockedRows &&\n Object.keys(rowsToSelect).filter((id) => !lockedSelectionRowIds[id])\n .length === 0;\n isAllSelectablePageRowsUnselected = isAllSelectableRowsUnselected;\n\n isNoPageRowsSelected = false;\n isAllPageRowsSelected = true;\n } else {\n isAllSelectableRowsSelected =\n existsLockedRows &&\n !Object.keys(rowsToSelect)\n .filter((id) => !lockedSelectionRowIds[id])\n .some((id) => !selectedRowIds[id]);\n\n isAllSelectableRowsUnselected =\n !existsLockedRows ||\n !Object.keys(rowsToSelect)\n .filter((id) => !lockedSelectionRowIds[id])\n .some((id) => selectedRowIds[id]);\n\n isAllPageRowsSelected = !(\n page &&\n page.length &&\n page.some(({ id }) => !selectedRowIds[id])\n );\n\n if (isAllPageRowsSelected) {\n isAllSelectablePageRowsSelected = true;\n\n isAllSelectablePageRowsUnselected =\n existsLockedRows &&\n page &&\n page.length &&\n page.filter(({ id }) => !lockedSelectionRowIds[id]).length === 0;\n\n isNoPageRowsSelected = false;\n } else {\n isAllSelectablePageRowsSelected =\n existsLockedRows &&\n !(\n page &&\n page.length &&\n page\n .filter(({ id }) => !lockedSelectionRowIds[id])\n .some(({ id }) => !selectedRowIds[id])\n );\n\n isAllSelectablePageRowsUnselected =\n !existsLockedRows ||\n !(\n page &&\n page.length &&\n page\n .filter(({ id }) => !lockedSelectionRowIds[id])\n .some(({ id }) => selectedRowIds[id])\n );\n\n isNoPageRowsSelected = !(\n page &&\n page.length &&\n page.some(({ id }) => selectedRowIds[id])\n );\n }\n }\n }\n\n const getAutoResetSelectedRows = useGetLatest(autoResetSelectedRows);\n\n const getAutoResetLockedSelectionRows = useGetLatest(\n autoResetLockedSelectionRows\n );\n\n useMountedLayoutEffect(() => {\n if (getAutoResetSelectedRows()) {\n dispatch({ type: actions.resetSelectedRows });\n }\n if (getAutoResetLockedSelectionRows()) {\n dispatch({ type: actions.resetLockedSelectionRows });\n }\n }, [dispatch, data]);\n\n const toggleAllRowsSelected = useCallback(\n (value) => dispatch({ type: actions.toggleAllRowsSelected, value }),\n [dispatch]\n );\n\n const toggleAllPageRowsSelected = useCallback(\n (value) => dispatch({ type: actions.toggleAllPageRowsSelected, value }),\n [dispatch]\n );\n\n const toggleRowSelected = useCallback(\n (id, value) => dispatch({ type: actions.toggleRowSelected, id, value }),\n [dispatch]\n );\n\n const getInstance = useGetLatest(instance);\n\n const getToggleAllRowsSelectedProps = makePropGetter(\n getHooks().getToggleAllRowsSelectedProps,\n {\n instance: getInstance(),\n }\n );\n\n const getToggleAllPageRowsSelectedProps = makePropGetter(\n getHooks().getToggleAllPageRowsSelectedProps,\n { instance: getInstance() }\n );\n\n const toggleRowLockedSelection = useCallback(\n (id, value) =>\n dispatch({ type: actions.toggleRowLockedSelection, id, value }),\n [dispatch]\n );\n\n Object.assign(instance, {\n selectedFlatRows,\n isNoRowsSelected,\n isNoPageRowsSelected,\n isAllRowsSelected,\n isAllPageRowsSelected,\n isAllSelectableRowsSelected,\n isAllSelectablePageRowsSelected,\n isAllSelectableRowsUnselected,\n isAllSelectablePageRowsUnselected,\n toggleRowSelected,\n toggleAllRowsSelected,\n getToggleAllRowsSelectedProps,\n getToggleAllPageRowsSelectedProps,\n toggleAllPageRowsSelected,\n toggleRowLockedSelection,\n });\n}\n\nexport function prepareRow(row, { instance }) {\n row.toggleRowSelected = (set) => instance.toggleRowSelected(row.id, set);\n row.getToggleRowSelectedProps = makePropGetter(\n instance.getHooks().getToggleRowSelectedProps,\n {\n instance,\n row,\n }\n );\n\n row.toggleRowLockedSelection = (set) =>\n instance.toggleRowLockedSelection(row.id, set);\n row.isSelectionLocked =\n instance.state?.lockedSelectionRowIds?.[row.id] || false;\n}\n\nconst useRowSelection: UseRowSelectionProps = (hooks) => {\n hooks.visibleColumns.push(visibleColumnsHook);\n\n hooks.getRowProps.push(getRowPropsHook);\n\n hooks.getToggleRowSelectedProps = [defaultGetToggleRowSelectedProps];\n hooks.getToggleAllRowsSelectedProps = [defaultGetToggleAllRowsSelectedProps];\n hooks.getToggleAllPageRowsSelectedProps = [\n defaultGetToggleAllPageRowsSelectedProps,\n ];\n\n hooks.stateReducers.push(reducer);\n hooks.useInstance.push(useInstance);\n hooks.prepareRow.push(prepareRow);\n};\n\nuseRowSelection.pluginName = \"useHvRowSelection\";\n\nexport default useRowSelection;\n"],"names":["actions","resetSelectedRows","toggleAllRowsSelected","toggleRowSelected","toggleAllPageRowsSelected","resetLockedSelectionRows","toggleRowLockedSelection","DEFAULT_LABELS","selectRowCheckBoxAriaLabel","CellWithCheckBox","row","labels","labelsProp","useLabels","onChange","checked","disabled","indeterminate","getToggleRowSelectedProps","HvCheckBox","visibleColumnsHook","columns","selectionColumn","id","variant","width","sticky","Cell","getRowPropsHook","props","nextProps","selected","isSelected","defaultGetToggleRowSelectedProps","instance","manualRowSelectedKey","original","e","check","target","isSelectionLocked","isSomeSelected","defaultGetToggleAllRowsSelectedProps","isAllRowsSelected","Boolean","Object","keys","state","selectedRowIds","length","defaultGetToggleAllPageRowsSelectedProps","isAllPageRowsSelected","page","some","reducer","action","previousState","type","init","lockedSelectionRowIds","initialState","value","setSelected","rowsById","initialRowsById","nonGroupedRowsById","applyToggleAllRowsSelectedToPrefilteredRows","rowsToSelect","selectAll","forEach","rowId","selectSubRows","getSubRows","shouldExist","newSelectedRowIds","handleRowById","isGrouped","subrow","setLockedSelection","isLockedSelection","newLockedSelectionRowIds","getRowIsSelected","subRows","allChildrenSelected","someSelected","subRow","useInstance","data","rows","getHooks","plugins","autoResetSelectedRows","autoResetLockedSelectionRows","dispatch","selectedFlatRows","useMemo","selectedRows","push","existsLockedRows","isNoRowsSelected","isNoPageRowsSelected","isAllSelectableRowsUnselected","isAllSelectablePageRowsUnselected","isAllSelectableRowsSelected","isAllSelectablePageRowsSelected","filter","getAutoResetSelectedRows","useGetLatest","getAutoResetLockedSelectionRows","useMountedLayoutEffect","useCallback","getInstance","getToggleAllRowsSelectedProps","makePropGetter","getToggleAllPageRowsSelectedProps","assign","prepareRow","set","useRowSelection","hooks","visibleColumns","getRowProps","stateReducers","pluginName"],"mappings":"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"}
1
+ {"version":3,"file":"useRowSelection.js","sources":["../../../../../src/components/Table/hooks/useRowSelection.tsx"],"sourcesContent":["import { ChangeEvent, useCallback, useMemo } from \"react\";\nimport {\n Hooks,\n IdType,\n PropGetter,\n Row,\n actions,\n ensurePluginOrder,\n useGetLatest,\n useMountedLayoutEffect,\n makePropGetter,\n} from \"react-table\";\nimport { useLabels } from \"hooks\";\nimport { HvCheckBox } from \"components\";\n\n// #region ##### TYPES #####\n\n// getRowProps:\nexport interface UseHvRowSelectionTableRowProps {\n selected?: boolean;\n}\n\nexport interface UseHvRowSelectionRowCheckboxProps {\n onChange?: (e: ChangeEvent, checked?: boolean) => void;\n checked?: boolean;\n disabled?: boolean;\n indeterminate?: boolean;\n}\n\nexport interface UseHvRowSelectionBulkCheckboxProps {\n onChange?: (e: ChangeEvent, checked?: boolean) => void;\n checked?: boolean;\n indeterminate?: boolean;\n}\n\nexport type UseHvRowSelectionTableOptions = Partial<{\n autoResetSelectedRows: boolean;\n autoResetLockedSelectionRows: boolean;\n selectSubRows: boolean;\n manualRowSelectedKey: string;\n applyToggleAllRowsSelectedToPrefilteredRows: boolean;\n}>;\n\nexport interface UseHvRowSelectionHooks<D extends object> {\n getToggleRowSelectedProps: Array<\n PropGetter<D, UseHvRowSelectionRowCheckboxProps>\n >;\n getToggleAllRowsSelectedProps: Array<\n PropGetter<D, UseHvRowSelectionBulkCheckboxProps>\n >;\n getToggleAllPageRowsSelectedProps: Array<\n PropGetter<D, UseHvRowSelectionBulkCheckboxProps>\n >;\n}\n\nexport interface UseHvRowSelectionState<D extends object> {\n selectedRowIds: Record<IdType<D>, boolean>;\n lockedSelectionRowIds: Record<IdType<D>, boolean>;\n}\n\nexport interface UseHvRowSelectionTableInstance<D extends object> {\n toggleRowSelected: (rowId: IdType<D>, set?: boolean) => void;\n toggleAllRowsSelected: (value?: boolean) => void;\n toggleAllPageRowsSelected: (value?: boolean) => void;\n getToggleAllRowsSelectedProps: (\n props?: Partial<UseHvRowSelectionBulkCheckboxProps>\n ) => UseHvRowSelectionBulkCheckboxProps;\n getToggleAllPageRowsSelectedProps: (\n props?: Partial<UseHvRowSelectionBulkCheckboxProps>\n ) => UseHvRowSelectionBulkCheckboxProps;\n\n isNoRowsSelected: boolean;\n isNoPageRowsSelected: boolean;\n isAllRowsSelected: boolean;\n isAllPageRowsSelected: boolean;\n isAllSelectableRowsSelected: boolean;\n isAllSelectablePageRowsSelected: boolean;\n isAllSelectableRowsUnselected: boolean;\n isAllSelectablePageRowsUnselected: boolean;\n\n selectedFlatRows: Array<Row<D>>;\n}\n\nexport interface UseHvRowSelectionRowInstance {\n isSelected: boolean;\n isSomeSelected: boolean;\n toggleRowSelected: (set?: boolean) => void;\n getToggleRowSelectedProps: (\n props?: Partial<UseHvRowSelectionRowCheckboxProps>\n ) => UseHvRowSelectionRowCheckboxProps;\n}\n\nexport type UseRowSelectionProps = (<\n D extends object = Record<string, unknown>\n>(\n hooks: Hooks<D>\n) => void) & { pluginName: string };\n\n// #endregion ##### TYPES #####\n\n// Actions\nactions.resetSelectedRows = \"resetSelectedRows\";\nactions.toggleAllRowsSelected = \"toggleAllRowsSelected\";\nactions.toggleRowSelected = \"toggleRowSelected\";\nactions.toggleAllPageRowsSelected = \"toggleAllPageRowsSelected\";\n\nactions.resetLockedSelectionRows = \"resetLockedSelectionRows\";\nactions.toggleRowLockedSelection = \"toggleRowLockedSelection\";\n\nconst DEFAULT_LABELS = {\n selectRowCheckBoxAriaLabel: \"Select this row\",\n};\n\nexport const CellWithCheckBox = ({ row, labels: labelsProp }) => {\n const labels = useLabels(DEFAULT_LABELS, labelsProp);\n\n const { onChange, checked, disabled, indeterminate } =\n row.getToggleRowSelectedProps();\n\n return (\n <HvCheckBox\n onChange={onChange}\n checked={checked}\n disabled={disabled}\n indeterminate={indeterminate}\n aria-label={labels.selectRowCheckBoxAriaLabel}\n />\n );\n};\n\nconst visibleColumnsHook = (columns) => {\n const selectionColumn = {\n id: \"_hv_selection\",\n variant: \"checkbox\",\n\n width: 32,\n\n // this will only work when using useHvTableSticky\n // but ensures it stays left of any sticky column\n sticky: \"left\",\n\n Cell: CellWithCheckBox,\n };\n\n return [selectionColumn, ...columns];\n};\n\nconst getRowPropsHook = (props, { row }) => {\n const nextProps: UseHvRowSelectionTableRowProps = {\n selected: row.isSelected,\n };\n\n return [props, nextProps];\n};\n\nexport const defaultGetToggleRowSelectedProps = (props, meta) => {\n const { instance, row } = meta;\n const { manualRowSelectedKey = \"isSelected\" } = instance;\n let checked = false;\n\n if (row.original && row.original[manualRowSelectedKey]) {\n checked = true;\n } else {\n checked = row.isSelected;\n }\n\n return [\n props,\n {\n onChange: (e, check) => {\n row.toggleRowSelected(check ?? e?.target?.checked);\n },\n disabled: row.isSelectionLocked,\n checked,\n indeterminate: row.isSomeSelected,\n },\n ];\n};\n\nexport const defaultGetToggleAllRowsSelectedProps = (props, { instance }) => [\n props,\n {\n onChange: (e) => {\n instance.toggleAllRowsSelected(e.target.checked);\n },\n checked: instance.isAllRowsSelected,\n indeterminate: Boolean(\n !instance.isAllRowsSelected &&\n Object.keys(instance.state.selectedRowIds).length\n ),\n },\n];\n\nexport const defaultGetToggleAllPageRowsSelectedProps = (\n props,\n { instance }\n) => [\n props,\n {\n onChange(e) {\n instance.toggleAllPageRowsSelected(e.target.checked);\n },\n checked: instance.isAllPageRowsSelected,\n indeterminate: Boolean(\n !instance.isAllPageRowsSelected &&\n instance.page.some(({ id }) => instance.state.selectedRowIds[id])\n ),\n },\n];\n\nexport function reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n selectedRowIds: {},\n lockedSelectionRowIds: {},\n ...state,\n };\n }\n\n if (action.type === actions.resetSelectedRows) {\n return {\n ...state,\n selectedRowIds: instance.initialState.selectedRowIds || {},\n };\n }\n\n if (action.type === actions.toggleAllRowsSelected) {\n const { value: setSelected } = action;\n const {\n isAllRowsSelected,\n rowsById,\n initialRowsById,\n nonGroupedRowsById = rowsById,\n applyToggleAllRowsSelectedToPrefilteredRows,\n } = instance;\n\n const rowsToSelect = applyToggleAllRowsSelectedToPrefilteredRows\n ? initialRowsById\n : nonGroupedRowsById;\n\n const selectAll =\n typeof setSelected !== \"undefined\" ? setSelected : !isAllRowsSelected;\n\n // Only remove/add the rows that are visible on the screen\n // Leave all the other rows that are selected alone.\n const selectedRowIds = { ...state.selectedRowIds };\n\n if (selectAll) {\n Object.keys(rowsToSelect).forEach((rowId) => {\n const isSelectionLocked = state.lockedSelectionRowIds[rowId];\n if (!isSelectionLocked) {\n selectedRowIds[rowId] = true;\n }\n });\n } else {\n Object.keys(rowsToSelect).forEach((rowId) => {\n const isSelectionLocked = state.lockedSelectionRowIds[rowId];\n if (!isSelectionLocked) {\n delete selectedRowIds[rowId];\n }\n });\n }\n\n return {\n ...state,\n selectedRowIds,\n };\n }\n\n if (action.type === actions.toggleRowSelected) {\n const { id, value: setSelected } = action;\n const isSelectionLocked = state.lockedSelectionRowIds[id];\n if (isSelectionLocked) {\n return state;\n }\n\n const { rowsById, selectSubRows = true, getSubRows } = instance;\n const isSelected = state.selectedRowIds[id];\n const shouldExist =\n typeof setSelected !== \"undefined\" ? setSelected : !isSelected;\n\n if (isSelected === shouldExist) {\n return state;\n }\n\n const newSelectedRowIds = { ...state.selectedRowIds };\n\n const handleRowById = (rowId) => {\n const row = rowsById[rowId];\n\n if (!row.isGrouped) {\n if (shouldExist) {\n newSelectedRowIds[rowId] = true;\n } else {\n delete newSelectedRowIds[rowId];\n }\n }\n\n if (selectSubRows && getSubRows(row)) {\n getSubRows(row).forEach((subrow) => {\n handleRowById(subrow.id);\n });\n }\n };\n\n handleRowById(id);\n\n return {\n ...state,\n selectedRowIds: newSelectedRowIds,\n };\n }\n\n if (action.type === actions.toggleAllPageRowsSelected) {\n const { value: setSelected } = action;\n const {\n page,\n rowsById,\n selectSubRows = true,\n isAllPageRowsSelected,\n getSubRows,\n } = instance;\n\n const selectAll =\n typeof setSelected !== \"undefined\" ? setSelected : !isAllPageRowsSelected;\n const newSelectedRowIds = { ...state.selectedRowIds };\n\n const handleRowById = (rowId) => {\n const row = rowsById[rowId];\n const isSelectionLocked = state.lockedSelectionRowIds[rowId];\n\n if (!isSelectionLocked && !row.isGrouped) {\n if (selectAll) {\n newSelectedRowIds[rowId] = true;\n } else {\n delete newSelectedRowIds[rowId];\n }\n }\n\n if (selectSubRows && getSubRows(row)) {\n getSubRows(row).forEach((subrow) => {\n handleRowById(subrow.id);\n });\n }\n };\n\n page.forEach((row) => handleRowById(row.id));\n\n return {\n ...state,\n selectedRowIds: newSelectedRowIds,\n };\n }\n\n if (action.type === actions.resetLockedSelectionRows) {\n return {\n ...state,\n lockedSelectionRowIds: instance.initialState.lockedSelectionRowIds || {},\n };\n }\n\n if (action.type === actions.toggleRowLockedSelection) {\n const { id, value: setLockedSelection } = action;\n const { rowsById, selectSubRows = true, getSubRows } = instance;\n const isLockedSelection = state.lockedSelectionRowIds[id];\n const shouldExist =\n typeof setLockedSelection !== \"undefined\"\n ? setLockedSelection\n : !isLockedSelection;\n\n if (isLockedSelection === shouldExist) {\n return state;\n }\n\n const newLockedSelectionRowIds = { ...state.lockedSelectionRowIds };\n\n const handleRowById = (rowId) => {\n const row = rowsById[rowId];\n\n if (!row.isGrouped) {\n if (shouldExist) {\n newLockedSelectionRowIds[rowId] = true;\n } else {\n delete newLockedSelectionRowIds[rowId];\n }\n }\n\n if (selectSubRows && getSubRows(row)) {\n getSubRows(row).forEach((subrow) => {\n handleRowById(subrow.id);\n });\n }\n };\n\n handleRowById(id);\n\n return {\n ...state,\n lockedSelectionRowIds: newLockedSelectionRowIds,\n };\n }\n\n return state;\n}\n\nfunction getRowIsSelected(row, selectedRowIds, getSubRows) {\n if (selectedRowIds[row.id]) {\n return true;\n }\n\n const subRows = getSubRows(row);\n\n if (subRows && subRows.length) {\n let allChildrenSelected = true;\n let someSelected = false;\n\n subRows.forEach((subRow) => {\n // Bail out early if we know both of these\n if (someSelected && !allChildrenSelected) {\n return;\n }\n\n if (getRowIsSelected(subRow, selectedRowIds, getSubRows)) {\n someSelected = true;\n } else {\n allChildrenSelected = false;\n }\n });\n\n if (allChildrenSelected) {\n return true;\n }\n\n if (someSelected) {\n return null;\n }\n }\n\n return false;\n}\n\nexport function useInstance(instance) {\n const {\n data,\n rows,\n getHooks,\n plugins,\n rowsById,\n initialRowsById,\n nonGroupedRowsById = rowsById,\n autoResetSelectedRows = true,\n autoResetLockedSelectionRows = true,\n state: { selectedRowIds, lockedSelectionRowIds },\n selectSubRows = true,\n dispatch,\n page,\n getSubRows,\n applyToggleAllRowsSelectedToPrefilteredRows,\n } = instance;\n\n ensurePluginOrder(\n plugins,\n [\"useFilters\", \"useGroupBy\", \"useSortBy\", \"useExpanded\", \"usePagination\"],\n \"useHvRowSelection\"\n );\n\n const rowsToSelect = applyToggleAllRowsSelectedToPrefilteredRows\n ? initialRowsById\n : nonGroupedRowsById;\n\n const selectedFlatRows = useMemo(() => {\n const selectedRows: any[] = [];\n\n rows.forEach((row) => {\n const isSelected = selectSubRows\n ? getRowIsSelected(row, selectedRowIds, getSubRows)\n : !!selectedRowIds[row.id];\n row.isSelected = !!isSelected;\n row.isSomeSelected = isSelected === null;\n\n if (isSelected) {\n selectedRows.push(row);\n }\n });\n\n return selectedRows;\n }, [rows, selectSubRows, selectedRowIds, getSubRows]);\n\n const existsLockedRows = !!Object.keys(lockedSelectionRowIds).length;\n\n const isNoRowsSelected = !(\n Object.keys(rowsToSelect).length && selectedFlatRows.length\n );\n\n let isNoPageRowsSelected;\n let isAllRowsSelected;\n let isAllPageRowsSelected;\n\n let isAllSelectableRowsUnselected;\n let isAllSelectablePageRowsUnselected;\n let isAllSelectableRowsSelected;\n let isAllSelectablePageRowsSelected;\n\n if (isNoRowsSelected) {\n isAllRowsSelected = false;\n isAllPageRowsSelected = false;\n\n isAllSelectableRowsSelected =\n existsLockedRows &&\n !Object.keys(rowsToSelect).some((id) => !lockedSelectionRowIds[id]);\n isAllSelectablePageRowsSelected = isAllSelectableRowsSelected;\n\n isAllSelectableRowsUnselected = isAllSelectableRowsSelected;\n isAllSelectablePageRowsUnselected = isAllSelectableRowsSelected;\n\n isNoPageRowsSelected = true;\n } else {\n isAllRowsSelected = !Object.keys(rowsToSelect).some(\n (id) => !selectedRowIds[id]\n );\n\n if (isAllRowsSelected) {\n isAllSelectableRowsSelected = true;\n isAllSelectablePageRowsSelected = true;\n\n isAllSelectableRowsUnselected =\n existsLockedRows &&\n Object.keys(rowsToSelect).filter((id) => !lockedSelectionRowIds[id])\n .length === 0;\n isAllSelectablePageRowsUnselected = isAllSelectableRowsUnselected;\n\n isNoPageRowsSelected = false;\n isAllPageRowsSelected = true;\n } else {\n isAllSelectableRowsSelected =\n existsLockedRows &&\n !Object.keys(rowsToSelect)\n .filter((id) => !lockedSelectionRowIds[id])\n .some((id) => !selectedRowIds[id]);\n\n isAllSelectableRowsUnselected =\n !existsLockedRows ||\n !Object.keys(rowsToSelect)\n .filter((id) => !lockedSelectionRowIds[id])\n .some((id) => selectedRowIds[id]);\n\n isAllPageRowsSelected = !(\n page &&\n page.length &&\n page.some(({ id }) => !selectedRowIds[id])\n );\n\n if (isAllPageRowsSelected) {\n isAllSelectablePageRowsSelected = true;\n\n isAllSelectablePageRowsUnselected =\n existsLockedRows &&\n page &&\n page.length &&\n page.filter(({ id }) => !lockedSelectionRowIds[id]).length === 0;\n\n isNoPageRowsSelected = false;\n } else {\n isAllSelectablePageRowsSelected =\n existsLockedRows &&\n !(\n page &&\n page.length &&\n page\n .filter(({ id }) => !lockedSelectionRowIds[id])\n .some(({ id }) => !selectedRowIds[id])\n );\n\n isAllSelectablePageRowsUnselected =\n !existsLockedRows ||\n !(\n page &&\n page.length &&\n page\n .filter(({ id }) => !lockedSelectionRowIds[id])\n .some(({ id }) => selectedRowIds[id])\n );\n\n isNoPageRowsSelected = !(\n page &&\n page.length &&\n page.some(({ id }) => selectedRowIds[id])\n );\n }\n }\n }\n\n const getAutoResetSelectedRows = useGetLatest(autoResetSelectedRows);\n\n const getAutoResetLockedSelectionRows = useGetLatest(\n autoResetLockedSelectionRows\n );\n\n useMountedLayoutEffect(() => {\n if (getAutoResetSelectedRows()) {\n dispatch({ type: actions.resetSelectedRows });\n }\n if (getAutoResetLockedSelectionRows()) {\n dispatch({ type: actions.resetLockedSelectionRows });\n }\n }, [dispatch, data]);\n\n const toggleAllRowsSelected = useCallback(\n (value) => dispatch({ type: actions.toggleAllRowsSelected, value }),\n [dispatch]\n );\n\n const toggleAllPageRowsSelected = useCallback(\n (value) => dispatch({ type: actions.toggleAllPageRowsSelected, value }),\n [dispatch]\n );\n\n const toggleRowSelected = useCallback(\n (id, value) => dispatch({ type: actions.toggleRowSelected, id, value }),\n [dispatch]\n );\n\n const getInstance = useGetLatest(instance);\n\n const getToggleAllRowsSelectedProps = makePropGetter(\n getHooks().getToggleAllRowsSelectedProps,\n {\n instance: getInstance(),\n }\n );\n\n const getToggleAllPageRowsSelectedProps = makePropGetter(\n getHooks().getToggleAllPageRowsSelectedProps,\n { instance: getInstance() }\n );\n\n const toggleRowLockedSelection = useCallback(\n (id, value) =>\n dispatch({ type: actions.toggleRowLockedSelection, id, value }),\n [dispatch]\n );\n\n Object.assign(instance, {\n selectedFlatRows,\n isNoRowsSelected,\n isNoPageRowsSelected,\n isAllRowsSelected,\n isAllPageRowsSelected,\n isAllSelectableRowsSelected,\n isAllSelectablePageRowsSelected,\n isAllSelectableRowsUnselected,\n isAllSelectablePageRowsUnselected,\n toggleRowSelected,\n toggleAllRowsSelected,\n getToggleAllRowsSelectedProps,\n getToggleAllPageRowsSelectedProps,\n toggleAllPageRowsSelected,\n toggleRowLockedSelection,\n });\n}\n\nexport function prepareRow(row, { instance }) {\n row.toggleRowSelected = (set) => instance.toggleRowSelected(row.id, set);\n row.getToggleRowSelectedProps = makePropGetter(\n instance.getHooks().getToggleRowSelectedProps,\n {\n instance,\n row,\n }\n );\n\n row.toggleRowLockedSelection = (set) =>\n instance.toggleRowLockedSelection(row.id, set);\n row.isSelectionLocked =\n instance.state?.lockedSelectionRowIds?.[row.id] || false;\n}\n\nconst useRowSelection: UseRowSelectionProps = (hooks) => {\n hooks.visibleColumns.push(visibleColumnsHook);\n\n hooks.getRowProps.push(getRowPropsHook);\n\n hooks.getToggleRowSelectedProps = [defaultGetToggleRowSelectedProps];\n hooks.getToggleAllRowsSelectedProps = [defaultGetToggleAllRowsSelectedProps];\n hooks.getToggleAllPageRowsSelectedProps = [\n defaultGetToggleAllPageRowsSelectedProps,\n ];\n\n hooks.stateReducers.push(reducer);\n hooks.useInstance.push(useInstance);\n hooks.prepareRow.push(prepareRow);\n};\n\nuseRowSelection.pluginName = \"useHvRowSelection\";\n\nexport default useRowSelection;\n"],"names":["actions","resetSelectedRows","toggleAllRowsSelected","toggleRowSelected","toggleAllPageRowsSelected","resetLockedSelectionRows","toggleRowLockedSelection","DEFAULT_LABELS","selectRowCheckBoxAriaLabel","CellWithCheckBox","row","labels","labelsProp","useLabels","onChange","checked","disabled","indeterminate","getToggleRowSelectedProps","HvCheckBox","visibleColumnsHook","columns","selectionColumn","id","variant","width","sticky","Cell","getRowPropsHook","props","nextProps","selected","isSelected","defaultGetToggleRowSelectedProps","meta","instance","manualRowSelectedKey","original","e","check","target","isSelectionLocked","isSomeSelected","defaultGetToggleAllRowsSelectedProps","isAllRowsSelected","Boolean","Object","keys","state","selectedRowIds","length","defaultGetToggleAllPageRowsSelectedProps","isAllPageRowsSelected","page","some","reducer","action","previousState","type","init","lockedSelectionRowIds","initialState","value","setSelected","rowsById","initialRowsById","nonGroupedRowsById","applyToggleAllRowsSelectedToPrefilteredRows","rowsToSelect","selectAll","forEach","rowId","selectSubRows","getSubRows","shouldExist","newSelectedRowIds","handleRowById","isGrouped","subrow","setLockedSelection","isLockedSelection","newLockedSelectionRowIds","getRowIsSelected","subRows","allChildrenSelected","someSelected","subRow","useInstance","data","rows","getHooks","plugins","autoResetSelectedRows","autoResetLockedSelectionRows","dispatch","selectedFlatRows","useMemo","selectedRows","push","existsLockedRows","isNoRowsSelected","isNoPageRowsSelected","isAllSelectableRowsUnselected","isAllSelectablePageRowsUnselected","isAllSelectableRowsSelected","isAllSelectablePageRowsSelected","filter","getAutoResetSelectedRows","useGetLatest","getAutoResetLockedSelectionRows","useMountedLayoutEffect","useCallback","getInstance","getToggleAllRowsSelectedProps","makePropGetter","getToggleAllPageRowsSelectedProps","assign","prepareRow","set","useRowSelection","hooks","visibleColumns","getRowProps","stateReducers","pluginName"],"mappings":"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"}
@@ -40,12 +40,12 @@ const useHvTableSetup = (hooks) => {
40
40
  hooks.useInstance.push(useInstanceHook);
41
41
  };
42
42
  useHvTableSetup.pluginName = "useHvTableSetup";
43
- function useHvTable(props, ...plugins) {
43
+ function useHvTable(options, ...plugins) {
44
44
  const {
45
45
  data: dataProp,
46
46
  columns: columnsProp,
47
47
  ...others
48
- } = props;
48
+ } = options;
49
49
  const data = useDefaultData(dataProp);
50
50
  const columns = useDefaultColumns(columnsProp, data);
51
51
  ensureCorePluginInstallation(plugins, "useHvPagination", usePagination);
@@ -1 +1 @@
1
- {"version":3,"file":"useTable.js","sources":["../../../../../src/components/Table/hooks/useTable.ts"],"sourcesContent":["import { useMemo } from \"react\";\nimport {\n useTable,\n usePagination,\n useExpanded,\n useSortBy,\n useResizeColumns,\n Cell,\n CellPropGetter,\n CellProps,\n Column,\n ColumnInstance,\n ColumnInterface,\n FooterPropGetter,\n HeaderPropGetter,\n HeaderProps,\n Hooks,\n PluginHook,\n Renderer,\n Row,\n RowPropGetter,\n TableCellProps,\n TableFooterProps,\n TableHeaderProps,\n TableInstance,\n TableOptions,\n TablePropGetter,\n TableProps,\n TableRowProps,\n TableState,\n UseColumnOrderInstanceProps,\n UseColumnOrderState,\n UseExpandedHooks,\n UseExpandedInstanceProps,\n UseExpandedOptions,\n UseExpandedState,\n UseFiltersColumnOptions,\n UseFiltersColumnProps,\n UseFiltersInstanceProps,\n UseFiltersOptions,\n UseFiltersState,\n UseGlobalFiltersInstanceProps,\n UseGlobalFiltersOptions,\n UseGlobalFiltersState,\n UseGroupByCellProps,\n UseGroupByColumnOptions,\n UseGroupByColumnProps,\n UseGroupByHooks,\n UseGroupByInstanceProps,\n UseGroupByOptions,\n UseGroupByRowProps,\n UseGroupByState,\n UsePaginationInstanceProps,\n UsePaginationOptions,\n UsePaginationState,\n UseResizeColumnsColumnOptions,\n UseResizeColumnsColumnProps,\n UseResizeColumnsOptions,\n UseResizeColumnsState,\n UseSortByColumnOptions,\n UseSortByColumnProps,\n UseSortByHooks,\n UseSortByInstanceProps,\n UseSortByOptions,\n UseSortByState,\n} from \"react-table\";\nimport useHvTableStyles, {\n UseHvTableStylesTableOptions,\n UseHvTableStylesColumnOptions,\n UseHvTableStylesTableCellProps,\n UseHvTableStylesTableRowProps,\n} from \"./useTableStyles\";\nimport {\n UseHvTableStickyCellProps,\n UseHvTableStickyColumnProps,\n UseHvTableStickyHooks,\n UseHvTableStickyTableInstance,\n UseHvTableStickyTableOptions,\n UseHvTableStickyTableProps,\n} from \"./useSticky\";\nimport { UseHvSortByColumnProps, UseHvSortByTableCellProps } from \"./useSortBy\";\nimport {\n UseHvRowSelectionHooks,\n UseHvRowSelectionRowInstance,\n UseHvRowSelectionState,\n UseHvRowSelectionTableInstance,\n UseHvRowSelectionTableOptions,\n UseHvRowSelectionTableRowProps,\n} from \"./useRowSelection\";\nimport {\n UseHvPaginationHooks,\n UseHvPaginationTableInstance,\n} from \"./usePagination\";\nimport {\n UseHvBulkActionsHooks,\n UseHvBulkActionsTableInstanceProps,\n UseHvBulkActionsTableOptions,\n} from \"./useBulkActions\";\nimport {\n UseHvRowExpandTableOptions,\n UseHvRowExpandRowInstance,\n UseHvRowExpandTableRowProps,\n} from \"./useRowExpand\";\nimport {\n UseHvHeaderGroupsColumnProps,\n UseHvHeaderGroupsCellProps,\n UseHvHeaderGroupsInstance,\n} from \"./useHeaderGroups\";\nimport {\n UseHvResizeColumnProps,\n UseHvResizeTableCellProps,\n} from \"./useResizeColumns\";\nimport { HvExtraProps } from \"../../../types\";\n\n// #region ##### TYPES #####\n\ntype Accessor<D extends object> = (\n originalRow: D,\n index: number,\n sub: {\n subRows: D[];\n depth: number;\n data: D[];\n }\n) => CellValue;\n\ntype StringKey<D> = Extract<keyof D, string>;\ntype IdType<D> = StringKey<D> | string;\ntype CellValue<V = any> = V;\n\ninterface HvColumnInterfaceBasedOnValue<\n D extends object = Record<string, unknown>,\n V = any\n> {\n Cell?: Renderer<HvCellProps<D, V>>;\n}\n\ninterface HvColumnGroupInterface<D extends object> {\n columns: Array<HvTableColumnConfig<D>>;\n}\n\ntype HvColumnGroup<D extends object = Record<string, unknown>> =\n HvTableColumnOptions<D> &\n HvColumnGroupInterface<D> &\n (\n | { Header: string }\n | ({ id: IdType<D> } & {\n Header: Renderer<HeaderProps<D>>;\n })\n ) & { accessor?: Accessor<D> }; // Not used, but needed for backwards compatibility\n\ntype ValueOf<T> = T[keyof T];\n\n// The accessors like `foo.bar` are not supported, use functions instead\ntype HvColumnWithStrictAccessor<D extends object = Record<string, unknown>> =\n HvTableColumnOptions<D> &\n ValueOf<{\n [K in keyof D]: {\n accessor: K;\n } & HvColumnInterfaceBasedOnValue<D, D[K]>;\n }>;\n\ntype HvColumnWithLooseAccessor<D extends object = Record<string, unknown>> =\n HvTableColumnOptions<D> &\n HvColumnInterfaceBasedOnValue<D> &\n (\n | { Header: string }\n | { id: IdType<D> }\n | { accessor: keyof D extends never ? IdType<D> : never }\n ) & {\n accessor?: keyof D extends never ? IdType<D> | Accessor<D> : Accessor<D>;\n };\n\nexport type HvCellProps<D extends object, V = any> = CellProps<D, V> & {\n column: HvColumnInstance<D>;\n row: HvRowInstance<D>;\n cell: HvCellInstance<D, V>;\n};\n\nexport type HvTableDefinitionConfig<\n D extends object = Record<string, unknown>\n> = HvTableOptions<D>;\n\nexport type HvTableColumnConfig<D extends object = Record<string, unknown>> =\n | HvColumnGroup<D>\n | HvColumnWithLooseAccessor<D>\n | HvColumnWithStrictAccessor<D>;\n\n// #region HOOKS\nexport interface HvHooks<D extends object = Record<string, unknown>>\n extends Hooks<D>,\n UseExpandedHooks<D>,\n UseGroupByHooks<D>,\n UseSortByHooks<D>,\n UseHvRowSelectionHooks<D>,\n UseHvTableStickyHooks<D>,\n UseHvPaginationHooks<D>,\n UseHvBulkActionsHooks<D> {}\n// #endregion\n\n// #region STATE\nexport interface HvTableState<D extends object = Record<string, unknown>>\n extends TableState<D>,\n UseColumnOrderState<D>,\n UseExpandedState<D>,\n UseFiltersState<D>,\n UseGlobalFiltersState<D>,\n UseGroupByState<D>,\n UsePaginationState<D>,\n UseResizeColumnsState<D>,\n UseSortByState<D>,\n UseHvRowSelectionState<D> {\n rowCount: number;\n}\n// #endregion\n\n// #region OPTIONS\nexport interface HvTableOptions<D extends object>\n extends Omit<TableOptions<D>, \"columns\" | \"data\">,\n UseExpandedOptions<D>,\n UseFiltersOptions<D>,\n UseFiltersOptions<D>,\n UseGlobalFiltersOptions<D>,\n UseGroupByOptions<D>,\n UsePaginationOptions<D>,\n UseResizeColumnsOptions<D>,\n UseSortByOptions<D>,\n UseHvTableStylesTableOptions,\n UseHvRowSelectionTableOptions,\n UseHvTableStickyTableOptions,\n UseHvBulkActionsTableOptions,\n UseHvRowExpandTableOptions {\n columns?: Array<HvTableColumnConfig<D>>;\n data?: D[];\n\n initialState?: Partial<HvTableState<D>>;\n\n labels?: Record<string, string>;\n}\n\nexport interface HvTableColumnOptions<\n D extends object = Record<string, unknown>\n> extends ColumnInterface<D>,\n UseFiltersColumnOptions<D>,\n UseGroupByColumnOptions<D>,\n UseResizeColumnsColumnOptions<D>,\n UseSortByColumnOptions<D>,\n UseHvTableStylesColumnOptions {}\n// #endregion\n\n// #region INSTANCE\nexport interface HvTableInstance<D extends object = Record<string, unknown>>\n extends TableInstance<D>,\n Omit<HvTableOptions<D>, \"columns\" | \"pageCount\" | \"initialState\" | \"data\">,\n UseColumnOrderInstanceProps<D>,\n UseExpandedInstanceProps<D>,\n UseFiltersInstanceProps<D>,\n UseGlobalFiltersInstanceProps<D>,\n UseGroupByInstanceProps<D>,\n UsePaginationInstanceProps<D>,\n UseSortByInstanceProps<D>,\n UseHvRowSelectionTableInstance<D>,\n UseHvTableStickyTableInstance<D>,\n UseHvHeaderGroupsInstance,\n UseHvPaginationTableInstance<D>,\n UseHvBulkActionsTableInstanceProps<D> {\n initialState: Partial<HvTableState<D>>;\n state: HvTableState<D>;\n columns: Array<HvColumnInstance<D>>;\n allColumns: Array<HvColumnInstance<D>>;\n visibleColumns: Array<HvColumnInstance<D>>;\n headers: Array<HvColumnInstance<D>>;\n flatHeaders: Array<HvColumnInstance<D>>;\n rows: Array<HvRowInstance<D>>;\n page: Array<HvRowInstance<D>>;\n rowsById: Record<string, HvRowInstance<D>>;\n flatRows: Array<HvRowInstance<D>>;\n getHooks: () => HvHooks<D>;\n getTableProps: (propGetter?: TablePropGetter<D>) => HvUseTableProps;\n selectedFlatRows: Array<HvRowInstance<D>>;\n\n initialRows: Array<HvRowInstance<D>>;\n initialRowsById: Record<string, HvRowInstance<D>>;\n\n labels: Record<string, string>;\n}\n\nexport interface HvColumnInstance<D extends object = Record<string, unknown>>\n extends ColumnInstance<D>,\n Omit<HvTableColumnOptions<D>, \"id\">,\n UseFiltersColumnProps<D>,\n UseGroupByColumnProps<D>,\n UseResizeColumnsColumnProps<D>,\n UseSortByColumnProps<D> {\n Cell?: Renderer<HvCellProps<D>>;\n columns: Array<HvColumnInstance<D>>;\n parent: HvColumnInstance<D>; // not documented\n placeholderOf?: HvColumnInstance;\n getHeaderProps: (propGetter?: HeaderPropGetter<D>) => HvUseTableHeaderProps;\n getFooterProps: (propGetter?: FooterPropGetter<D>) => HvUseTableFooterProps;\n}\n\nexport type HvColumn<D extends object = Record<string, unknown>> = Column<D>;\n\nexport interface HvRowInstance<D extends object = Record<string, unknown>>\n extends Row<D>,\n UseGroupByRowProps<D>,\n UseHvRowSelectionRowInstance,\n UseHvRowExpandRowInstance<D> {\n cells: Array<HvCellInstance<D>>;\n allCells: Array<HvCellInstance<D>>;\n getRowProps: (propGetter?: RowPropGetter<D>) => HvUseTableRowProps;\n index: number;\n original: D;\n id: string;\n subRows: Array<HvRowInstance<D>>;\n}\n\nexport interface HvCellInstance<\n D extends object = Record<string, unknown>,\n V = any\n> extends Cell<D, V>,\n UseGroupByCellProps<D> {\n column: HvColumnInstance<D>;\n row: HvRowInstance<D>;\n getCellProps: (propGetter?: CellPropGetter<D>) => HvUseTableCellProps;\n}\n// #endregion\n\n// #region PROPS\nexport interface HvUseTableProps\n extends TableProps,\n UseHvTableStickyTableProps {}\n\nexport interface HvUseTableHeaderProps\n extends TableHeaderProps,\n UseHvTableStylesTableCellProps,\n UseHvTableStickyColumnProps,\n UseHvHeaderGroupsColumnProps,\n UseHvResizeColumnProps,\n UseHvSortByColumnProps {}\nexport interface HvUseTableFooterProps\n extends TableFooterProps,\n UseHvTableStylesTableCellProps {}\n\nexport interface HvUseTableRowProps\n extends TableRowProps,\n UseHvTableStylesTableRowProps,\n UseHvRowSelectionTableRowProps,\n UseHvRowExpandTableRowProps {}\n\nexport interface HvUseTableCellProps\n extends TableCellProps,\n UseHvTableStylesTableCellProps,\n UseHvTableStickyCellProps,\n UseHvHeaderGroupsCellProps,\n UseHvResizeTableCellProps,\n UseHvSortByTableCellProps {}\n\n// #endregion\n\nexport type UseHvTableProps = <D extends object = Record<string, unknown>>(\n options: HvTableOptions<D>,\n ...plugins: Array<PluginHook<D>>\n) => HvTableInstance<D>;\n\nexport { PluginHook as HvTablePluginHook };\n\n// #endregion ##### TYPES #####\n\nconst toTitleCase = (str) => {\n return str\n .replace(/([^A-Z])([A-Z])/g, \"$1 $2\") // split cameCase\n .replace(/[_-]+/g, \" \") // split snake_case and lisp-case\n .toLowerCase()\n .replace(/(^\\w|\\b\\w)/g, (m) => m.toUpperCase()) // title case words\n .replace(/\\s+/g, \" \") // collapse repeated whitespace\n .trim(); // remove leading/trailing whitespace\n};\n\nconst useDefaultData = (data) =>\n useMemo(() => {\n return data || [];\n }, [data]);\n\nconst useDefaultColumns = (columns, data) =>\n useMemo(() => {\n if (columns != null) {\n return columns;\n }\n\n const uniqueKeys = Object.keys(Object.assign({}, ...data));\n return uniqueKeys\n .filter((key) => ![\"subRows\", \"subComponent\"].includes(key))\n .map((key) => ({\n accessor: key,\n Header: toTitleCase(key),\n }));\n }, [columns, data]);\n\nconst ensureCorePluginInstallation = (\n plugins,\n hvPluginName,\n corePluginToInstall\n) => {\n const indexOfCorePlugin = plugins.findIndex(\n (plugin) => plugin.pluginName === corePluginToInstall.pluginName\n );\n const indexOfHvPlugin = plugins.findIndex(\n (plugin) => plugin.pluginName === hvPluginName\n );\n\n if (\n indexOfHvPlugin !== -1 &&\n (indexOfCorePlugin === -1 || indexOfCorePlugin > indexOfHvPlugin)\n ) {\n if (indexOfCorePlugin > -1) {\n plugins.splice(indexOfCorePlugin, 1);\n }\n\n plugins.splice(indexOfHvPlugin, 0, corePluginToInstall);\n }\n};\n\nconst useInstanceHook = (instance) => {\n const { rowsById } = instance;\n\n Object.assign(instance, {\n initialRowsById: rowsById,\n });\n};\n\nconst useHvTableSetup = (hooks) => {\n hooks.useInstance.push(useInstanceHook);\n};\n\nuseHvTableSetup.pluginName = \"useHvTableSetup\";\n\nfunction useHvTable<D extends object = Record<string, unknown>>(\n props: { data?: D[] } & HvExtraProps,\n ...plugins: any\n) {\n const { data: dataProp, columns: columnsProp, ...others } = props;\n\n const data = useDefaultData(dataProp);\n const columns = useDefaultColumns(columnsProp, data);\n\n ensureCorePluginInstallation(plugins, \"useHvPagination\", usePagination);\n ensureCorePluginInstallation(plugins, \"useHvRowExpand\", useExpanded);\n ensureCorePluginInstallation(plugins, \"useHvSortBy\", useSortBy);\n ensureCorePluginInstallation(plugins, \"useHvResizeColumns\", useResizeColumns);\n\n const indexOfHvTableStylesPlugin = plugins.findIndex(\n (plugin) => plugin.pluginName === \"useHvTableStyles\"\n );\n if (indexOfHvTableStylesPlugin === -1) {\n plugins.push(useHvTableStyles);\n }\n\n // main hook call\n return useTable(\n {\n data,\n columns,\n ...others,\n },\n useHvTableSetup,\n ...plugins\n );\n}\n\nexport default useHvTable;\n"],"names":["toTitleCase","str","replace","toLowerCase","m","toUpperCase","trim","useDefaultData","data","useMemo","useDefaultColumns","columns","uniqueKeys","Object","keys","assign","filter","key","includes","map","accessor","Header","ensureCorePluginInstallation","plugins","hvPluginName","corePluginToInstall","indexOfCorePlugin","findIndex","plugin","pluginName","indexOfHvPlugin","splice","useInstanceHook","instance","rowsById","initialRowsById","useHvTableSetup","hooks","useInstance","push","useHvTable","props","dataProp","columnsProp","others","usePagination","useExpanded","useSortBy","useResizeColumns","indexOfHvTableStylesPlugin","useHvTableStyles","useTable"],"mappings":";;;;AAkXA,MAAMA,cAAeC,CAAQ,QAAA;AACpBA,SAAAA,IACJC,QAAQ,oBAAoB,OAAO,EACnCA,QAAQ,UAAU,GAAG,EACrBC,cACAD,QAAQ,eAAgBE,CAAAA,MAAMA,EAAEC,YAAa,CAAA,EAC7CH,QAAQ,QAAQ,GAAG,EACnBI;AACL;AAEA,MAAMC,iBAAkBC,CACtBC,SAAAA,QAAQ,MAAM;AACZ,SAAOD,QAAQ,CAAA;AACjB,GAAG,CAACA,IAAI,CAAC;AAEX,MAAME,oBAAoBA,CAACC,SAASH,SAClCC,QAAQ,MAAM;AACZ,MAAIE,WAAW,MAAM;AACZA,WAAAA;AAAAA,EACT;AAEMC,QAAAA,aAAaC,OAAOC,KAAKD,OAAOE,OAAO,CAAC,GAAG,GAAGP,IAAI,CAAC;AACzD,SAAOI,WACJI,OAAQC,CAAQ,QAAA,CAAC,CAAC,WAAW,cAAc,EAAEC,SAASD,GAAG,CAAC,EAC1DE,IAAKF,CAAS,SAAA;AAAA,IACbG,UAAUH;AAAAA,IACVI,QAAQrB,YAAYiB,GAAG;AAAA,EACvB,EAAA;AACN,GAAG,CAACN,SAASH,IAAI,CAAC;AAEpB,MAAMc,+BAA+BA,CACnCC,SACAC,cACAC,wBACG;AACH,QAAMC,oBAAoBH,QAAQI,UAC/BC,YAAWA,OAAOC,eAAeJ,oBAAoBI,UAAU;AAElE,QAAMC,kBAAkBP,QAAQI,UAC7BC,CAAWA,WAAAA,OAAOC,eAAeL,YAAY;AAGhD,MACEM,oBAAoB,OACnBJ,sBAAsB,MAAMA,oBAAoBI,kBACjD;AACA,QAAIJ,oBAAoB,IAAI;AAClBK,cAAAA,OAAOL,mBAAmB,CAAC;AAAA,IACrC;AAEQK,YAAAA,OAAOD,iBAAiB,GAAGL,mBAAmB;AAAA,EACxD;AACF;AAEA,MAAMO,kBAAmBC,CAAa,aAAA;AAC9B,QAAA;AAAA,IAAEC;AAAAA,EAAaD,IAAAA;AAErBpB,SAAOE,OAAOkB,UAAU;AAAA,IACtBE,iBAAiBD;AAAAA,EAAAA,CAClB;AACH;AAEA,MAAME,kBAAmBC,CAAU,UAAA;AAC3BC,QAAAA,YAAYC,KAAKP,eAAe;AACxC;AAEAI,gBAAgBP,aAAa;AAE7B,SAASW,WACPC,UACGlB,SACH;AACM,QAAA;AAAA,IAAEf,MAAMkC;AAAAA,IAAU/B,SAASgC;AAAAA,IAAa,GAAGC;AAAAA,EAAWH,IAAAA;AAEtDjC,QAAAA,OAAOD,eAAemC,QAAQ;AAC9B/B,QAAAA,UAAUD,kBAAkBiC,aAAanC,IAAI;AAEtBe,+BAAAA,SAAS,mBAAmBsB,aAAa;AACzCtB,+BAAAA,SAAS,kBAAkBuB,WAAW;AACtCvB,+BAAAA,SAAS,eAAewB,SAAS;AACjCxB,+BAAAA,SAAS,sBAAsByB,gBAAgB;AAE5E,QAAMC,6BAA6B1B,QAAQI,UACxCC,CAAWA,WAAAA,OAAOC,eAAe,kBAAkB;AAEtD,MAAIoB,+BAA+B,IAAI;AACrC1B,YAAQgB,KAAKW,gBAAgB;AAAA,EAC/B;AAGA,SAAOC,SACL;AAAA,IACE3C;AAAAA,IACAG;AAAAA,IACA,GAAGiC;AAAAA,EAAAA,GAELR,iBACA,GAAGb,OAAO;AAEd;"}
1
+ {"version":3,"file":"useTable.js","sources":["../../../../../src/components/Table/hooks/useTable.ts"],"sourcesContent":["import { useMemo } from \"react\";\nimport {\n useTable,\n usePagination,\n useExpanded,\n useSortBy,\n useResizeColumns,\n Cell,\n CellPropGetter,\n CellProps,\n ColumnInstance,\n ColumnInterface,\n FooterPropGetter,\n HeaderPropGetter,\n HeaderProps,\n Hooks,\n PluginHook,\n Renderer,\n Row,\n RowPropGetter,\n TableCellProps,\n TableFooterProps,\n TableHeaderProps,\n TableInstance,\n TableOptions,\n TablePropGetter,\n TableProps,\n TableRowProps,\n TableState,\n UseColumnOrderInstanceProps,\n UseColumnOrderState,\n UseExpandedHooks,\n UseExpandedInstanceProps,\n UseExpandedOptions,\n UseExpandedState,\n UseFiltersColumnOptions,\n UseFiltersColumnProps,\n UseFiltersInstanceProps,\n UseFiltersOptions,\n UseFiltersState,\n UseGlobalFiltersInstanceProps,\n UseGlobalFiltersOptions,\n UseGlobalFiltersState,\n UseGroupByCellProps,\n UseGroupByColumnOptions,\n UseGroupByColumnProps,\n UseGroupByHooks,\n UseGroupByInstanceProps,\n UseGroupByOptions,\n UseGroupByRowProps,\n UseGroupByState,\n UsePaginationInstanceProps,\n UsePaginationOptions,\n UsePaginationState,\n UseResizeColumnsColumnOptions,\n UseResizeColumnsColumnProps,\n UseResizeColumnsOptions,\n UseResizeColumnsState,\n UseSortByColumnOptions,\n UseSortByColumnProps,\n UseSortByHooks,\n UseSortByInstanceProps,\n UseSortByOptions,\n UseSortByState,\n} from \"react-table\";\nimport useHvTableStyles, {\n UseHvTableStylesTableOptions,\n UseHvTableStylesColumnOptions,\n UseHvTableStylesTableCellProps,\n UseHvTableStylesTableRowProps,\n} from \"./useTableStyles\";\nimport {\n UseHvTableStickyCellProps,\n UseHvTableStickyColumnProps,\n UseHvTableStickyHooks,\n UseHvTableStickyTableInstance,\n UseHvTableStickyTableOptions,\n UseHvTableStickyTableProps,\n} from \"./useSticky\";\nimport { UseHvSortByColumnProps, UseHvSortByTableCellProps } from \"./useSortBy\";\nimport {\n UseHvRowSelectionHooks,\n UseHvRowSelectionRowInstance,\n UseHvRowSelectionState,\n UseHvRowSelectionTableInstance,\n UseHvRowSelectionTableOptions,\n UseHvRowSelectionTableRowProps,\n} from \"./useRowSelection\";\nimport {\n UseHvPaginationHooks,\n UseHvPaginationTableInstance,\n} from \"./usePagination\";\nimport {\n UseHvBulkActionsHooks,\n UseHvBulkActionsTableInstanceProps,\n UseHvBulkActionsTableOptions,\n} from \"./useBulkActions\";\nimport {\n UseHvRowExpandTableOptions,\n UseHvRowExpandRowInstance,\n UseHvRowExpandTableRowProps,\n} from \"./useRowExpand\";\nimport {\n UseHvHeaderGroupsColumnProps,\n UseHvHeaderGroupsCellProps,\n UseHvHeaderGroupsInstance,\n} from \"./useHeaderGroups\";\nimport {\n UseHvResizeColumnProps,\n UseHvResizeTableCellProps,\n} from \"./useResizeColumns\";\nimport { HvExtraProps } from \"../../../types\";\n\n// #region ##### TYPES #####\n\ntype Accessor<D extends object> = (\n originalRow: D,\n index: number,\n sub: {\n subRows: D[];\n depth: number;\n data: D[];\n }\n) => CellValue;\n\ntype StringKey<D> = Extract<keyof D, string>;\ntype IdType<D> = StringKey<D> | string;\ntype CellValue<V = any> = V;\n\ninterface HvColumnInterfaceBasedOnValue<\n D extends object = Record<string, unknown>,\n V = any\n> {\n Cell?: Renderer<HvCellProps<D, V>>;\n}\n\ninterface HvColumnGroupInterface<D extends object> {\n columns: Array<HvTableColumnConfig<D>>;\n}\n\ntype HvColumnGroup<D extends object = Record<string, unknown>> =\n HvTableColumnOptions<D> &\n HvColumnGroupInterface<D> &\n (\n | { Header: string }\n | ({ id: IdType<D> } & {\n Header: Renderer<HeaderProps<D>>;\n })\n ) & { accessor?: Accessor<D> }; // Not used, but needed for backwards compatibility\n\ntype ValueOf<T> = T[keyof T];\n\n// The accessors like `foo.bar` are not supported, use functions instead\ntype HvColumnWithStrictAccessor<D extends object = Record<string, unknown>> =\n HvTableColumnOptions<D> &\n ValueOf<{\n [K in keyof D]: {\n accessor: K;\n } & HvColumnInterfaceBasedOnValue<D, D[K]>;\n }>;\n\ntype HvColumnWithLooseAccessor<D extends object = Record<string, unknown>> =\n HvTableColumnOptions<D> &\n HvColumnInterfaceBasedOnValue<D> &\n (\n | { Header: string }\n | { id: IdType<D> }\n | { accessor: keyof D extends never ? IdType<D> : never }\n ) & {\n accessor?: keyof D extends never ? IdType<D> | Accessor<D> : Accessor<D>;\n };\n\nexport type HvCellProps<D extends object, V = any> = CellProps<D, V> & {\n column: HvColumnInstance<D>;\n row: HvRowInstance<D>;\n cell: HvCellInstance<D, V>;\n};\n\nexport type HvTableDefinitionConfig<\n D extends object = Record<string, unknown>\n> = HvTableOptions<D>;\n\nexport type HvTableColumnConfig<D extends object = Record<string, unknown>> =\n | HvColumnGroup<D>\n | HvColumnWithLooseAccessor<D>\n | HvColumnWithStrictAccessor<D>;\n\n// #region HOOKS\nexport interface HvHooks<D extends object = Record<string, unknown>>\n extends Omit<\n Hooks<D>,\n | \"getToggleRowSelectedProps\"\n | \"getToggleAllRowsSelectedProps\"\n | \"getToggleAllPageRowsSelectedProps\"\n >,\n UseExpandedHooks<D>,\n UseGroupByHooks<D>,\n UseSortByHooks<D>,\n UseHvRowSelectionHooks<D>,\n UseHvTableStickyHooks<D>,\n UseHvPaginationHooks<D>,\n UseHvBulkActionsHooks<D> {}\n// #endregion\n\n// #region STATE\nexport interface HvTableState<D extends object = Record<string, unknown>>\n extends TableState<D>,\n UseColumnOrderState<D>,\n UseExpandedState<D>,\n UseFiltersState<D>,\n UseGlobalFiltersState<D>,\n UseGroupByState<D>,\n UsePaginationState<D>,\n UseResizeColumnsState<D>,\n UseSortByState<D>,\n UseHvRowSelectionState<D> {\n rowCount: number;\n}\n// #endregion\n\n// #region OPTIONS\nexport interface HvTableOptions<D extends object>\n extends Omit<TableOptions<D>, \"columns\" | \"data\">,\n UseExpandedOptions<D>,\n UseFiltersOptions<D>,\n UseFiltersOptions<D>,\n UseGlobalFiltersOptions<D>,\n UseGroupByOptions<D>,\n UsePaginationOptions<D>,\n UseResizeColumnsOptions<D>,\n UseSortByOptions<D>,\n UseHvTableStylesTableOptions,\n UseHvRowSelectionTableOptions,\n UseHvTableStickyTableOptions,\n UseHvBulkActionsTableOptions,\n UseHvRowExpandTableOptions {\n columns?: Array<HvTableColumnConfig<D>>;\n data?: D[];\n initialState?: Partial<HvTableState<D>>;\n labels?: Record<string, string>;\n}\n\nexport interface HvTableColumnOptions<\n D extends object = Record<string, unknown>\n> extends ColumnInterface<D>,\n UseFiltersColumnOptions<D>,\n UseGroupByColumnOptions<D>,\n UseResizeColumnsColumnOptions<D>,\n UseSortByColumnOptions<D>,\n UseHvTableStylesColumnOptions {}\n// #endregion\n\n// #region INSTANCE\nexport interface HvTableInstance<D extends object = Record<string, unknown>>\n extends Omit<\n TableInstance<D>,\n \"getToggleAllRowsSelectedProps\" | \"getToggleAllPageRowsSelectedProps\"\n >,\n Omit<HvTableOptions<D>, \"columns\" | \"pageCount\" | \"initialState\" | \"data\">,\n UseColumnOrderInstanceProps<D>,\n Omit<UseExpandedInstanceProps<D>, \"rows\">,\n Omit<UseFiltersInstanceProps<D>, \"rows\" | \"rowsById\" | \"flatRows\">,\n Omit<UseGlobalFiltersInstanceProps<D>, \"rows\" | \"rowsById\" | \"flatRows\">,\n Omit<UseGroupByInstanceProps<D>, \"rows\" | \"rowsById\" | \"flatRows\">,\n Omit<UsePaginationInstanceProps<D>, \"page\">,\n Omit<UseSortByInstanceProps<D>, \"rows\">,\n Omit<UseHvRowSelectionTableInstance<D>, \"selectedFlatRows\">,\n UseHvTableStickyTableInstance<D>,\n UseHvHeaderGroupsInstance,\n UseHvPaginationTableInstance<D>,\n UseHvBulkActionsTableInstanceProps<D> {\n initialState: Partial<HvTableState<D>>;\n state: HvTableState<D>;\n columns: Array<HvColumnInstance<D>>;\n allColumns: Array<HvColumnInstance<D>>;\n visibleColumns: Array<HvColumnInstance<D>>;\n headers: Array<HvColumnInstance<D>>;\n flatHeaders: Array<HvColumnInstance<D>>;\n rows: Array<HvRowInstance<D>>;\n page: Array<HvRowInstance<D>>;\n rowsById: Record<string, HvRowInstance<D>>;\n flatRows: Array<HvRowInstance<D>>;\n getHooks: () => HvHooks<D>;\n getTableProps: (\n propGetter?: TablePropGetter<D> & HvExtraProps\n ) => HvUseTableProps;\n selectedFlatRows: Array<HvRowInstance<D>>;\n initialRows: Array<HvRowInstance<D>>;\n initialRowsById: Record<string, HvRowInstance<D>>;\n labels: Record<string, string>;\n}\n\nexport interface HvColumnInstance<D extends object = Record<string, unknown>>\n extends Omit<\n ColumnInstance<D>,\n \"Cell\" | \"columns\" | \"parent\" | \"placeholderOf\"\n >,\n Omit<HvTableColumnOptions<D>, \"id\">,\n UseFiltersColumnProps<D>,\n UseGroupByColumnProps<D>,\n UseResizeColumnsColumnProps<D>,\n UseSortByColumnProps<D> {\n Cell?: Renderer<HvCellProps<D>>;\n columns: Array<HvColumnInstance<D>>;\n parent: HvColumnInstance<D>; // not documented\n placeholderOf?: HvColumnInstance;\n getHeaderProps: (propGetter?: HeaderPropGetter<D>) => HvUseTableHeaderProps;\n getFooterProps: (propGetter?: FooterPropGetter<D>) => HvUseTableFooterProps;\n}\n\nexport interface HvRowInstance<D extends object = Record<string, unknown>>\n extends Omit<\n Row<D>,\n | \"getToggleRowExpandedProps\"\n | \"getToggleRowSelectedProps\"\n | \"cells\"\n | \"allCells\"\n | \"subRows\"\n >,\n Omit<UseGroupByRowProps<D>, \"subRows\">,\n Omit<UseHvRowSelectionRowInstance, \"subRows\">,\n Omit<UseHvRowExpandRowInstance<D>, \"subRows\"> {\n cells: Array<HvCellInstance<D>>;\n allCells: Array<HvCellInstance<D>>;\n getRowProps: (propGetter?: RowPropGetter<D>) => HvUseTableRowProps;\n index: number;\n original: D;\n id: string;\n subRows: Array<HvRowInstance<D>>;\n}\n\nexport interface HvCellInstance<\n D extends object = Record<string, unknown>,\n V = any\n> extends Omit<Cell<D, V>, \"column\" | \"row\">,\n UseGroupByCellProps<D> {\n column: HvColumnInstance<D>;\n row: HvRowInstance<D>;\n getCellProps: (\n propGetter?: CellPropGetter<D> & HvExtraProps\n ) => HvUseTableCellProps;\n}\n// #endregion\n\n// #region PROPS\nexport interface HvUseTableProps\n extends TableProps,\n UseHvTableStickyTableProps {}\n\nexport interface HvUseTableHeaderProps\n extends TableHeaderProps,\n UseHvTableStylesTableCellProps,\n UseHvTableStickyColumnProps,\n UseHvHeaderGroupsColumnProps,\n UseHvResizeColumnProps,\n UseHvSortByColumnProps {}\nexport interface HvUseTableFooterProps\n extends TableFooterProps,\n UseHvTableStylesTableCellProps {}\n\nexport interface HvUseTableRowProps\n extends TableRowProps,\n UseHvTableStylesTableRowProps,\n UseHvRowSelectionTableRowProps,\n UseHvRowExpandTableRowProps {}\n\nexport interface HvUseTableCellProps\n extends TableCellProps,\n UseHvTableStylesTableCellProps,\n UseHvTableStickyCellProps,\n UseHvHeaderGroupsCellProps,\n UseHvResizeTableCellProps,\n UseHvSortByTableCellProps {}\n\n// #endregion\n\nexport type UseHvTableProps = <D extends object = Record<string, unknown>>(\n options: HvTableOptions<D>,\n ...plugins: Array<PluginHook<D>>\n) => HvTableInstance<D>;\n\nexport { PluginHook as HvTablePluginHook };\n\n// #endregion ##### TYPES #####\n\nconst toTitleCase = (str) => {\n return str\n .replace(/([^A-Z])([A-Z])/g, \"$1 $2\") // split cameCase\n .replace(/[_-]+/g, \" \") // split snake_case and lisp-case\n .toLowerCase()\n .replace(/(^\\w|\\b\\w)/g, (m) => m.toUpperCase()) // title case words\n .replace(/\\s+/g, \" \") // collapse repeated whitespace\n .trim(); // remove leading/trailing whitespace\n};\n\nconst useDefaultData = (data) =>\n useMemo(() => {\n return data || [];\n }, [data]);\n\nconst useDefaultColumns = (columns, data) =>\n useMemo(() => {\n if (columns != null) {\n return columns;\n }\n\n const uniqueKeys = Object.keys(Object.assign({}, ...data));\n return uniqueKeys\n .filter((key) => ![\"subRows\", \"subComponent\"].includes(key))\n .map((key) => ({\n accessor: key,\n Header: toTitleCase(key),\n }));\n }, [columns, data]);\n\nconst ensureCorePluginInstallation = (\n plugins,\n hvPluginName,\n corePluginToInstall\n) => {\n const indexOfCorePlugin = plugins.findIndex(\n (plugin) => plugin.pluginName === corePluginToInstall.pluginName\n );\n const indexOfHvPlugin = plugins.findIndex(\n (plugin) => plugin.pluginName === hvPluginName\n );\n\n if (\n indexOfHvPlugin !== -1 &&\n (indexOfCorePlugin === -1 || indexOfCorePlugin > indexOfHvPlugin)\n ) {\n if (indexOfCorePlugin > -1) {\n plugins.splice(indexOfCorePlugin, 1);\n }\n\n plugins.splice(indexOfHvPlugin, 0, corePluginToInstall);\n }\n};\n\nconst useInstanceHook = (instance) => {\n const { rowsById } = instance;\n\n Object.assign(instance, {\n initialRowsById: rowsById,\n });\n};\n\nconst useHvTableSetup = (hooks) => {\n hooks.useInstance.push(useInstanceHook);\n};\n\nuseHvTableSetup.pluginName = \"useHvTableSetup\";\n\nfunction useHvTable<D extends object = Record<string, unknown>>(\n options: HvTableOptions<D>,\n ...plugins: Array<PluginHook<D>>\n): HvTableInstance<D> {\n const { data: dataProp, columns: columnsProp, ...others } = options;\n\n const data = useDefaultData(dataProp);\n const columns = useDefaultColumns(columnsProp, data);\n\n ensureCorePluginInstallation(plugins, \"useHvPagination\", usePagination);\n ensureCorePluginInstallation(plugins, \"useHvRowExpand\", useExpanded);\n ensureCorePluginInstallation(plugins, \"useHvSortBy\", useSortBy);\n ensureCorePluginInstallation(plugins, \"useHvResizeColumns\", useResizeColumns);\n\n const indexOfHvTableStylesPlugin = plugins.findIndex(\n (plugin) => plugin.pluginName === \"useHvTableStyles\"\n );\n if (indexOfHvTableStylesPlugin === -1) {\n plugins.push(useHvTableStyles);\n }\n\n // Main hook call\n return useTable<D>(\n {\n data,\n columns,\n ...others,\n },\n useHvTableSetup,\n ...plugins\n ) as any;\n}\n\nexport default useHvTable;\n"],"names":["toTitleCase","str","replace","toLowerCase","m","toUpperCase","trim","useDefaultData","data","useMemo","useDefaultColumns","columns","uniqueKeys","Object","keys","assign","filter","key","includes","map","accessor","Header","ensureCorePluginInstallation","plugins","hvPluginName","corePluginToInstall","indexOfCorePlugin","findIndex","plugin","pluginName","indexOfHvPlugin","splice","useInstanceHook","instance","rowsById","initialRowsById","useHvTableSetup","hooks","useInstance","push","useHvTable","options","dataProp","columnsProp","others","usePagination","useExpanded","useSortBy","useResizeColumns","indexOfHvTableStylesPlugin","useHvTableStyles","useTable"],"mappings":";;;;AAiYA,MAAMA,cAAeC,CAAQ,QAAA;AACpBA,SAAAA,IACJC,QAAQ,oBAAoB,OAAO,EACnCA,QAAQ,UAAU,GAAG,EACrBC,cACAD,QAAQ,eAAgBE,CAAAA,MAAMA,EAAEC,YAAa,CAAA,EAC7CH,QAAQ,QAAQ,GAAG,EACnBI;AACL;AAEA,MAAMC,iBAAkBC,CACtBC,SAAAA,QAAQ,MAAM;AACZ,SAAOD,QAAQ,CAAA;AACjB,GAAG,CAACA,IAAI,CAAC;AAEX,MAAME,oBAAoBA,CAACC,SAASH,SAClCC,QAAQ,MAAM;AACZ,MAAIE,WAAW,MAAM;AACZA,WAAAA;AAAAA,EACT;AAEMC,QAAAA,aAAaC,OAAOC,KAAKD,OAAOE,OAAO,CAAC,GAAG,GAAGP,IAAI,CAAC;AACzD,SAAOI,WACJI,OAAQC,CAAQ,QAAA,CAAC,CAAC,WAAW,cAAc,EAAEC,SAASD,GAAG,CAAC,EAC1DE,IAAKF,CAAS,SAAA;AAAA,IACbG,UAAUH;AAAAA,IACVI,QAAQrB,YAAYiB,GAAG;AAAA,EACvB,EAAA;AACN,GAAG,CAACN,SAASH,IAAI,CAAC;AAEpB,MAAMc,+BAA+BA,CACnCC,SACAC,cACAC,wBACG;AACH,QAAMC,oBAAoBH,QAAQI,UAC/BC,YAAWA,OAAOC,eAAeJ,oBAAoBI,UAAU;AAElE,QAAMC,kBAAkBP,QAAQI,UAC7BC,CAAWA,WAAAA,OAAOC,eAAeL,YAAY;AAGhD,MACEM,oBAAoB,OACnBJ,sBAAsB,MAAMA,oBAAoBI,kBACjD;AACA,QAAIJ,oBAAoB,IAAI;AAClBK,cAAAA,OAAOL,mBAAmB,CAAC;AAAA,IACrC;AAEQK,YAAAA,OAAOD,iBAAiB,GAAGL,mBAAmB;AAAA,EACxD;AACF;AAEA,MAAMO,kBAAmBC,CAAa,aAAA;AAC9B,QAAA;AAAA,IAAEC;AAAAA,EAAaD,IAAAA;AAErBpB,SAAOE,OAAOkB,UAAU;AAAA,IACtBE,iBAAiBD;AAAAA,EAAAA,CAClB;AACH;AAEA,MAAME,kBAAmBC,CAAU,UAAA;AAC3BC,QAAAA,YAAYC,KAAKP,eAAe;AACxC;AAEAI,gBAAgBP,aAAa;AAE7B,SAASW,WACPC,YACGlB,SACiB;AACd,QAAA;AAAA,IAAEf,MAAMkC;AAAAA,IAAU/B,SAASgC;AAAAA,IAAa,GAAGC;AAAAA,EAAWH,IAAAA;AAEtDjC,QAAAA,OAAOD,eAAemC,QAAQ;AAC9B/B,QAAAA,UAAUD,kBAAkBiC,aAAanC,IAAI;AAEtBe,+BAAAA,SAAS,mBAAmBsB,aAAa;AACzCtB,+BAAAA,SAAS,kBAAkBuB,WAAW;AACtCvB,+BAAAA,SAAS,eAAewB,SAAS;AACjCxB,+BAAAA,SAAS,sBAAsByB,gBAAgB;AAE5E,QAAMC,6BAA6B1B,QAAQI,UACxCC,CAAWA,WAAAA,OAAOC,eAAe,kBAAkB;AAEtD,MAAIoB,+BAA+B,IAAI;AACrC1B,YAAQgB,KAAKW,gBAAgB;AAAA,EAC/B;AAGA,SAAOC,SACL;AAAA,IACE3C;AAAAA,IACAG;AAAAA,IACA,GAAGiC;AAAAA,EAAAA,GAELR,iBACA,GAAGb,OAAO;AAEd;"}
@@ -1 +1 @@
1
- {"version":3,"file":"renderers.js","sources":["../../../../../src/components/Table/renderers/renderers.tsx"],"sourcesContent":["import { DropDownXS, DropRightXS } from \"@hitachivantara/uikit-react-icons\";\nimport { setId } from \"utils\";\nimport {\n HvOverflowTooltip,\n HvTag,\n HvTypography,\n HvButton,\n HvTableColumnConfig,\n HvRowInstance,\n HvTagProps,\n HvBaseSwitchProps,\n HvListValue,\n} from \"components\";\nimport DateColumnCell from \"./DateColumnCell/index\";\nimport SwitchColumnCell from \"./SwitchColumnCell\";\nimport ProgressColumnCell from \"./ProgressColumnCell\";\nimport DropdownColumnCell from \"./DropdownColumnCell\";\nimport { hvStringFallback, hvNumberFallback } from \"../utils\";\n\nexport function hvTextColumn<\n D extends Record<string, unknown>,\n C extends HvTableColumnConfig<D>\n>(col: C): HvTableColumnConfig<D> {\n return {\n Cell: (cellProps) => (\n <HvOverflowTooltip data={hvStringFallback(cellProps?.value)} />\n ),\n sortType: \"alphanumeric\",\n ...col,\n };\n}\n\nexport function hvNumberColumn<\n D extends Record<string, unknown>,\n C extends HvTableColumnConfig<D>\n>(col: C): HvTableColumnConfig<D> {\n return {\n Cell: ({ value }) => hvNumberFallback(value),\n align: \"right\",\n sortType: \"number\",\n ...col,\n };\n}\n\nexport function hvDateColumn<\n D extends Record<string, unknown>,\n C extends HvTableColumnConfig<D>\n>(col: C, dateFormat?: string): HvTableColumnConfig<D> {\n return {\n Cell: (cellProps) => (\n <DateColumnCell date={cellProps?.value} dateFormat={dateFormat} />\n ),\n sortType: \"alphanumeric\",\n sortDescFirst: true,\n ...col,\n };\n}\n\nexport function hvExpandColumn<D extends Record<string, unknown>>(\n col: HvTableColumnConfig<D>,\n expandRowButtonAriaLabel: string,\n collapseRowButtonAriaLabel: string,\n getCanRowExpand?: (row: HvRowInstance<D>) => boolean\n): HvTableColumnConfig<D> {\n return {\n Cell: (cellProps) => {\n const { value, row } = cellProps;\n const { onClick } = row.getToggleRowExpandedProps();\n\n const hasContent = getCanRowExpand?.(row) ?? true;\n\n return (\n <>\n {hasContent && (\n <HvButton\n icon\n variant=\"secondaryGhost\"\n aria-label={\n row.isExpanded\n ? collapseRowButtonAriaLabel\n : expandRowButtonAriaLabel\n }\n aria-expanded={row.isExpanded}\n onClick={onClick}\n style={{ position: \"absolute\", left: 0, top: 0 }}\n >\n {row.isExpanded ? <DropDownXS /> : <DropRightXS />}\n </HvButton>\n )}\n\n <HvOverflowTooltip data={hvStringFallback(value)} />\n </>\n );\n },\n // @ts-ignore\n sortType: \"alphanumeric\",\n cellStyle: {\n position: \"relative\",\n },\n ...col,\n };\n}\n\nexport function hvTagColumn<\n D extends Record<string, unknown>,\n C extends HvTableColumnConfig<D>\n>(\n col: C,\n valueDataKey: keyof D,\n colorDataKey: keyof D,\n textColorDataKey: keyof D,\n // eslint-disable-next-line @typescript-eslint/default-param-last\n fromRowData: boolean = false,\n tagProps?: HvTagProps\n): HvTableColumnConfig<D> {\n return {\n Cell: (cellProps) => {\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 Record<string, unknown>,\n C extends HvTableColumnConfig<D>\n>(\n col: C,\n switchLabel: string,\n falseLabel?: string,\n trueLabel?: string,\n switchProps?: HvBaseSwitchProps\n): HvTableColumnConfig<D> {\n return {\n Cell: (cellProps) => {\n const { value, row } = cellProps;\n return (\n <SwitchColumnCell\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 Record<string, unknown>,\n C extends HvTableColumnConfig<D>\n>(\n col: C,\n id: string,\n placeholder: string,\n disabledPlaceholder: string,\n onChange?: (identifier: string, value: HvListValue) => void\n): HvTableColumnConfig<D> {\n return {\n Cell: (cellProps) => {\n const { value, row, column } = cellProps;\n const dsbld = value.length < 1;\n return (\n <DropdownColumnCell\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 Record<string, number>,\n C extends HvTableColumnConfig<D>\n>(\n col: C,\n getPartial?: (row: HvRowInstance<D>) => number,\n getTotal?: (row: HvRowInstance<D>) => number,\n color?: \"primary\" | \"secondary\"\n): HvTableColumnConfig<D> {\n return {\n Cell: (cellProps) => {\n const { row } = cellProps;\n const partial = getPartial?.(row) || 0;\n const total = getTotal?.(row);\n\n if (total) {\n return (\n <ProgressColumnCell 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","Cell","cellProps","_jsx","HvOverflowTooltip","data","hvStringFallback","value","sortType","hvNumberColumn","hvNumberFallback","align","hvDateColumn","dateFormat","DateColumnCell","date","sortDescFirst","hvExpandColumn","expandRowButtonAriaLabel","collapseRowButtonAriaLabel","getCanRowExpand","row","onClick","getToggleRowExpandedProps","hasContent","_Fragment","children","HvButton","icon","variant","isExpanded","style","position","left","top","DropDownXS","DropRightXS","cellStyle","hvTagColumn","valueDataKey","colorDataKey","textColorDataKey","fromRowData","tagProps","name","color","textColor","original","HvTag","label","HvTypography","type","tabIndex","paddingTop","paddingBottom","hvSwitchColumn","switchLabel","falseLabel","trueLabel","switchProps","SwitchColumnCell","checked","id","hvDropdownColumn","placeholder","disabledPlaceholder","onChange","column","dsbld","length","DropdownColumnCell","values","val","disabled","dropdownProps","setId","hvProgressColumn","getPartial","getTotal","partial","total","ProgressColumnCell"],"mappings":"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"}
1
+ {"version":3,"file":"renderers.js","sources":["../../../../../src/components/Table/renderers/renderers.tsx"],"sourcesContent":["import { DropDownXS, DropRightXS } from \"@hitachivantara/uikit-react-icons\";\nimport { setId } from \"utils\";\nimport {\n HvOverflowTooltip,\n HvTag,\n HvTypography,\n HvButton,\n HvTableColumnConfig,\n HvRowInstance,\n HvTagProps,\n HvBaseSwitchProps,\n HvListValue,\n} from \"components\";\nimport DateColumnCell from \"./DateColumnCell/index\";\nimport SwitchColumnCell from \"./SwitchColumnCell\";\nimport ProgressColumnCell from \"./ProgressColumnCell\";\nimport DropdownColumnCell from \"./DropdownColumnCell\";\nimport { hvStringFallback, hvNumberFallback } from \"../utils\";\n\nexport function hvTextColumn<\n D extends Record<string, unknown>,\n C extends HvTableColumnConfig<D>\n>(col: C): HvTableColumnConfig<D> {\n return {\n Cell: (cellProps) => (\n <HvOverflowTooltip data={hvStringFallback(cellProps?.value)} />\n ),\n sortType: \"alphanumeric\",\n ...col,\n };\n}\n\nexport function hvNumberColumn<\n D extends Record<string, unknown>,\n C extends HvTableColumnConfig<D>\n>(col: C): HvTableColumnConfig<D> {\n return {\n Cell: ({ value }) => hvNumberFallback(value),\n align: \"right\",\n sortType: \"number\",\n ...col,\n };\n}\n\nexport function hvDateColumn<\n D extends Record<string, unknown>,\n C extends HvTableColumnConfig<D>\n>(col: C, dateFormat?: string): HvTableColumnConfig<D> {\n return {\n Cell: (cellProps) => (\n <DateColumnCell date={cellProps?.value} dateFormat={dateFormat} />\n ),\n sortType: \"alphanumeric\",\n sortDescFirst: true,\n ...col,\n };\n}\n\nexport function hvExpandColumn<D extends Record<string, unknown>>(\n col: HvTableColumnConfig<D>,\n expandRowButtonAriaLabel: string,\n collapseRowButtonAriaLabel: string,\n getCanRowExpand?: (row: HvRowInstance<D>) => boolean\n): HvTableColumnConfig<D> {\n return {\n Cell: (cellProps) => {\n const { value, row } = cellProps;\n const { onClick } = row.getToggleRowExpandedProps();\n\n const hasContent = getCanRowExpand?.(row) ?? true;\n\n return (\n <>\n {hasContent && (\n <HvButton\n icon\n variant=\"secondaryGhost\"\n aria-label={\n row.isExpanded\n ? collapseRowButtonAriaLabel\n : expandRowButtonAriaLabel\n }\n aria-expanded={row.isExpanded}\n onClick={onClick}\n style={{ position: \"absolute\", left: 0, top: 0 }}\n >\n {row.isExpanded ? <DropDownXS /> : <DropRightXS />}\n </HvButton>\n )}\n\n <HvOverflowTooltip data={hvStringFallback(value)} />\n </>\n );\n },\n // @ts-ignore\n sortType: \"alphanumeric\",\n cellStyle: {\n position: \"relative\",\n },\n ...col,\n };\n}\n\nexport function hvTagColumn<\n D extends Record<string, unknown>,\n C extends HvTableColumnConfig<D>,\n A extends Record<string, unknown>\n>(\n col: C,\n valueDataKey: keyof A,\n colorDataKey: keyof A,\n textColorDataKey: keyof A,\n fromRowData: boolean = false,\n tagProps?: HvTagProps\n): HvTableColumnConfig<D> {\n return {\n Cell: (cellProps) => {\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 Record<string, unknown>,\n C extends HvTableColumnConfig<D>\n>(\n col: C,\n switchLabel: string,\n falseLabel?: string,\n trueLabel?: string,\n switchProps?: HvBaseSwitchProps\n): HvTableColumnConfig<D> {\n return {\n Cell: (cellProps) => {\n const { value, row } = cellProps;\n return (\n <SwitchColumnCell\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 Record<string, unknown>,\n C extends HvTableColumnConfig<D>\n>(\n col: C,\n id: string,\n placeholder: string,\n disabledPlaceholder: string,\n onChange?: (identifier: string, value: HvListValue) => void\n): HvTableColumnConfig<D> {\n return {\n Cell: (cellProps) => {\n const { value, row, column } = cellProps;\n const dsbld = value.length < 1;\n return (\n <DropdownColumnCell\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 Record<string, unknown>,\n C extends HvTableColumnConfig<D>\n>(\n col: C,\n getPartial?: (row: HvRowInstance<D>) => number,\n getTotal?: (row: HvRowInstance<D>) => number,\n color?: \"primary\" | \"secondary\"\n): HvTableColumnConfig<D> {\n return {\n Cell: (cellProps) => {\n const { row } = cellProps;\n const partial = getPartial?.(row) || 0;\n const total = getTotal?.(row);\n\n if (total) {\n return (\n <ProgressColumnCell 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","Cell","cellProps","_jsx","HvOverflowTooltip","data","hvStringFallback","value","sortType","hvNumberColumn","hvNumberFallback","align","hvDateColumn","dateFormat","DateColumnCell","date","sortDescFirst","hvExpandColumn","expandRowButtonAriaLabel","collapseRowButtonAriaLabel","getCanRowExpand","row","onClick","getToggleRowExpandedProps","hasContent","_Fragment","children","HvButton","icon","variant","isExpanded","style","position","left","top","DropDownXS","DropRightXS","cellStyle","hvTagColumn","valueDataKey","colorDataKey","textColorDataKey","fromRowData","tagProps","name","color","textColor","original","HvTag","label","HvTypography","type","tabIndex","paddingTop","paddingBottom","hvSwitchColumn","switchLabel","falseLabel","trueLabel","switchProps","SwitchColumnCell","checked","id","hvDropdownColumn","placeholder","disabledPlaceholder","onChange","column","dsbld","length","DropdownColumnCell","values","val","disabled","dropdownProps","setId","hvProgressColumn","getPartial","getTotal","partial","total","ProgressColumnCell"],"mappings":"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"}
@@ -35,6 +35,7 @@ const HvTag = ({
35
35
  ...others
36
36
  }) => {
37
37
  var _a, _b;
38
+ console.log(type);
38
39
  const {
39
40
  activeTheme,
40
41
  selectedMode
@@ -1 +1 @@
1
- {"version":3,"file":"Tag.js","sources":["../../../../src/components/Tag/Tag.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport { CSSProperties, useState } from \"react\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\nimport { ChipProps as MuiChipProps } from \"@mui/material/Chip\";\nimport { HvBaseProps } from \"../../types\";\nimport { StyledChip, StyledButton, StyledCloseXS } from \"./Tag.styles\";\nimport { getOnDeleteCallback, hasDeleteAction, hasClickAction } from \"./utils\";\nimport { HvSemanticColorKeys, HvCategoricalColorKeys } from \"types/tokens\";\nimport { HvButtonProps } from \"../Button\";\nimport tagClasses, { HvTagClasses } from \"./tagClasses\";\nimport { useTheme } from \"hooks\";\n\nexport type HvTagProps = 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?: HvSemanticColorKeys | HvCategoricalColorKeys | string;\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;\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.sema7;\n const defaultCategoricalColor = colors.cviz1;\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 = ({\n classes,\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}: HvTagProps) => {\n const { activeTheme, selectedMode } = useTheme();\n\n const getDeleteIcon = () => {\n const disabledSemanticColor = type === \"semantic\" ? \"atmo5\" : \"base2\";\n const { tabIndex = 0 } = deleteButtonProps;\n\n return (\n <StyledButton\n classes={{\n startIcon: clsx(tagClasses.tagButton, classes?.tagButton),\n focusVisible: clsx(tagClasses.focusVisible, classes?.focusVisible),\n root: clsx(tagClasses.button, classes?.button),\n }}\n aria-label={deleteButtonArialLabel}\n tabIndex={tabIndex}\n variant=\"secondaryGhost\"\n {...deleteButtonProps}\n >\n <StyledCloseXS\n iconSize=\"XS\"\n style={{\n ...(disabled ? { cursor: \"not-allowed\" } : undefined),\n height: 16,\n }}\n color={disabled ? disabledSemanticColor : \"base2\"}\n $color={disabled ? disabledSemanticColor : \"base2\"}\n />\n </StyledButton>\n );\n };\n\n const inlineStyle = {\n ...style,\n };\n\n let categoricalBackgroundColor;\n\n if (type === \"semantic\") {\n inlineStyle.backgroundColor = getColor(color, type, {});\n } else if (type === \"categorical\") {\n categoricalBackgroundColor = getColor(\n color,\n type,\n activeTheme?.colors?.modes[selectedMode]\n );\n\n inlineStyle.backgroundColor = `${categoricalBackgroundColor}30`;\n }\n\n const [hover, setHover] = useState(false);\n\n return (\n <StyledChip\n label={label}\n className={clsx(classes?.root, className, tagClasses.root)}\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: clsx(\n tagClasses.chipRoot,\n classes?.chipRoot,\n type === \"categorical\" &&\n clsx(tagClasses.categorical, classes?.categorical),\n disabled && clsx(tagClasses.disabled, classes?.disabled),\n !!onClick && clsx(tagClasses.clickable, classes?.clickable),\n type === \"categorical\" &&\n !disabled &&\n clsx(tagClasses.categoricalFocus, classes?.categoricalFocus),\n type === \"categorical\" &&\n disabled &&\n clsx(tagClasses.categoricalDisabled, classes?.categoricalDisabled)\n ),\n label: clsx(tagClasses.label, classes?.label),\n deleteIcon: clsx(\n classes?.deleteIcon,\n tagClasses.deleteIcon,\n disabled &&\n clsx(tagClasses.disabledDeleteIcon, classes?.disabledDeleteIcon)\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 $type={type}\n $disabled={disabled || false}\n $categoricalFocus={type === \"categorical\" && !disabled}\n $categoricalDisabled={(type === \"categorical\" && disabled) || false}\n $base1Color={\n activeTheme?.colors?.modes[selectedMode].base1 || theme.colors.base1\n }\n {...others}\n />\n );\n};\n"],"names":["getColor","customColor","type","colors","defaultSemanticColor","theme","sema7","defaultCategoricalColor","cviz1","backgroundColor","HvTag","classes","className","style","label","disabled","color","deleteIcon","onDelete","onClick","role","deleteButtonArialLabel","deleteButtonProps","others","activeTheme","selectedMode","useTheme","getDeleteIcon","disabledSemanticColor","tabIndex","StyledButton","startIcon","clsx","tagClasses","tagButton","focusVisible","root","button","variant","children","StyledCloseXS","iconSize","cursor","undefined","height","$color","inlineStyle","categoricalBackgroundColor","modes","hover","setHover","useState","StyledChip","onMouseEnter","onMouseLeave","boxShadow","chipRoot","categorical","clickable","categoricalFocus","categoricalDisabled","disabledDeleteIcon","hasDeleteAction","getOnDeleteCallback","hasClickAction","$type","$disabled","$categoricalFocus","$categoricalDisabled","$base1Color","base1"],"mappings":"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"}
1
+ {"version":3,"file":"Tag.js","sources":["../../../../src/components/Tag/Tag.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport { CSSProperties, useState } from \"react\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\nimport { ChipProps as MuiChipProps } from \"@mui/material/Chip\";\nimport { HvBaseProps } from \"../../types\";\nimport { StyledChip, StyledButton, StyledCloseXS } from \"./Tag.styles\";\nimport { getOnDeleteCallback, hasDeleteAction, hasClickAction } from \"./utils\";\nimport { HvSemanticColorKeys, HvCategoricalColorKeys } from \"types/tokens\";\nimport { HvButtonProps } from \"../Button\";\nimport tagClasses, { HvTagClasses } from \"./tagClasses\";\nimport { useTheme } from \"hooks\";\n\nexport type HvTagProps = 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?: HvSemanticColorKeys | HvCategoricalColorKeys | string;\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;\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.sema7;\n const defaultCategoricalColor = colors.cviz1;\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 = ({\n classes,\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}: HvTagProps) => {\n console.log(type);\n const { activeTheme, selectedMode } = useTheme();\n\n const getDeleteIcon = () => {\n const disabledSemanticColor = type === \"semantic\" ? \"atmo5\" : \"base2\";\n const { tabIndex = 0 } = deleteButtonProps;\n\n return (\n <StyledButton\n classes={{\n startIcon: clsx(tagClasses.tagButton, classes?.tagButton),\n focusVisible: clsx(tagClasses.focusVisible, classes?.focusVisible),\n root: clsx(tagClasses.button, classes?.button),\n }}\n aria-label={deleteButtonArialLabel}\n tabIndex={tabIndex}\n variant=\"secondaryGhost\"\n {...deleteButtonProps}\n >\n <StyledCloseXS\n iconSize=\"XS\"\n style={{\n ...(disabled ? { cursor: \"not-allowed\" } : undefined),\n height: 16,\n }}\n color={disabled ? disabledSemanticColor : \"base2\"}\n $color={disabled ? disabledSemanticColor : \"base2\"}\n />\n </StyledButton>\n );\n };\n\n const inlineStyle = {\n ...style,\n };\n\n let categoricalBackgroundColor;\n\n if (type === \"semantic\") {\n inlineStyle.backgroundColor = getColor(color, type, {});\n } else if (type === \"categorical\") {\n categoricalBackgroundColor = getColor(\n color,\n type,\n activeTheme?.colors?.modes[selectedMode]\n );\n\n inlineStyle.backgroundColor = `${categoricalBackgroundColor}30`;\n }\n\n const [hover, setHover] = useState(false);\n\n return (\n <StyledChip\n label={label}\n className={clsx(classes?.root, className, tagClasses.root)}\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: clsx(\n tagClasses.chipRoot,\n classes?.chipRoot,\n type === \"categorical\" &&\n clsx(tagClasses.categorical, classes?.categorical),\n disabled && clsx(tagClasses.disabled, classes?.disabled),\n !!onClick && clsx(tagClasses.clickable, classes?.clickable),\n type === \"categorical\" &&\n !disabled &&\n clsx(tagClasses.categoricalFocus, classes?.categoricalFocus),\n type === \"categorical\" &&\n disabled &&\n clsx(tagClasses.categoricalDisabled, classes?.categoricalDisabled)\n ),\n label: clsx(tagClasses.label, classes?.label),\n deleteIcon: clsx(\n classes?.deleteIcon,\n tagClasses.deleteIcon,\n disabled &&\n clsx(tagClasses.disabledDeleteIcon, classes?.disabledDeleteIcon)\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 $type={type}\n $disabled={disabled || false}\n $categoricalFocus={type === \"categorical\" && !disabled}\n $categoricalDisabled={(type === \"categorical\" && disabled) || false}\n $base1Color={\n activeTheme?.colors?.modes[selectedMode].base1 || theme.colors.base1\n }\n {...others}\n />\n );\n};\n"],"names":["getColor","customColor","type","colors","defaultSemanticColor","theme","sema7","defaultCategoricalColor","cviz1","backgroundColor","HvTag","classes","className","style","label","disabled","color","deleteIcon","onDelete","onClick","role","deleteButtonArialLabel","deleteButtonProps","others","console","log","activeTheme","selectedMode","useTheme","getDeleteIcon","disabledSemanticColor","tabIndex","StyledButton","startIcon","clsx","tagClasses","tagButton","focusVisible","root","button","variant","children","StyledCloseXS","iconSize","cursor","undefined","height","$color","inlineStyle","categoricalBackgroundColor","modes","hover","setHover","useState","StyledChip","onMouseEnter","onMouseLeave","boxShadow","chipRoot","categorical","clickable","categoricalFocus","categoricalDisabled","disabledDeleteIcon","hasDeleteAction","getOnDeleteCallback","hasClickAction","$type","$disabled","$categoricalFocus","$categoricalDisabled","$base1Color","base1"],"mappings":"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"}