@hitachivantara/uikit-react-core 5.0.1 → 5.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (220) hide show
  1. package/dist/cjs/components/ActionsGeneric/ActionsGeneric.styles.cjs +8 -4
  2. package/dist/cjs/components/ActionsGeneric/ActionsGeneric.styles.cjs.map +1 -1
  3. package/dist/cjs/components/Banner/BannerContent/ActionContainer/ActionContainer.styles.cjs +10 -6
  4. package/dist/cjs/components/Banner/BannerContent/ActionContainer/ActionContainer.styles.cjs.map +1 -1
  5. package/dist/cjs/components/BaseDropdown/BaseDropdown.cjs +1 -0
  6. package/dist/cjs/components/BaseDropdown/BaseDropdown.cjs.map +1 -1
  7. package/dist/cjs/components/BaseDropdown/BaseDropdown.styles.cjs +22 -14
  8. package/dist/cjs/components/BaseDropdown/BaseDropdown.styles.cjs.map +1 -1
  9. package/dist/cjs/components/BreadCrumb/BreadCrumb.styles.cjs +9 -5
  10. package/dist/cjs/components/BreadCrumb/BreadCrumb.styles.cjs.map +1 -1
  11. package/dist/cjs/components/BreadCrumb/Page/Page.styles.cjs +8 -4
  12. package/dist/cjs/components/BreadCrumb/Page/Page.styles.cjs.map +1 -1
  13. package/dist/cjs/components/Dialog/Dialog.styles.cjs +9 -5
  14. package/dist/cjs/components/Dialog/Dialog.styles.cjs.map +1 -1
  15. package/dist/cjs/components/DropDownMenu/DropDownMenu.styles.cjs +9 -5
  16. package/dist/cjs/components/DropDownMenu/DropDownMenu.styles.cjs.map +1 -1
  17. package/dist/cjs/components/Dropdown/List/List.styles.cjs +4 -5
  18. package/dist/cjs/components/Dropdown/List/List.styles.cjs.map +1 -1
  19. package/dist/cjs/components/Dropdown/dropdownClasses.cjs +1 -1
  20. package/dist/cjs/components/Dropdown/dropdownClasses.cjs.map +1 -1
  21. package/dist/cjs/components/FileUploader/File/File.styles.cjs +16 -12
  22. package/dist/cjs/components/FileUploader/File/File.styles.cjs.map +1 -1
  23. package/dist/cjs/components/FileUploader/Preview/Preview.styles.cjs +9 -5
  24. package/dist/cjs/components/FileUploader/Preview/Preview.styles.cjs.map +1 -1
  25. package/dist/cjs/components/Header/Brand/Brand.styles.cjs +9 -5
  26. package/dist/cjs/components/Header/Brand/Brand.styles.cjs.map +1 -1
  27. package/dist/cjs/components/Pagination/Pagination.cjs +1 -1
  28. package/dist/cjs/components/Pagination/Pagination.cjs.map +1 -1
  29. package/dist/cjs/components/Slider/Slider.cjs +301 -0
  30. package/dist/cjs/components/Slider/Slider.cjs.map +1 -0
  31. package/dist/cjs/components/Slider/Slider.styles.cjs +334 -0
  32. package/dist/cjs/components/Slider/Slider.styles.cjs.map +1 -0
  33. package/dist/cjs/components/Slider/SliderInput/SliderInput.cjs +66 -0
  34. package/dist/cjs/components/Slider/SliderInput/SliderInput.cjs.map +1 -0
  35. package/dist/cjs/components/Slider/SliderInput/SliderInput.styles.cjs +55 -0
  36. package/dist/cjs/components/Slider/SliderInput/SliderInput.styles.cjs.map +1 -0
  37. package/dist/cjs/components/Slider/SliderInput/sliderInputClasses.cjs +8 -0
  38. package/dist/cjs/components/Slider/SliderInput/sliderInputClasses.cjs.map +1 -0
  39. package/dist/cjs/components/Slider/base.cjs +251 -0
  40. package/dist/cjs/components/Slider/base.cjs.map +1 -0
  41. package/dist/cjs/components/Slider/sliderClasses.cjs +8 -0
  42. package/dist/cjs/components/Slider/sliderClasses.cjs.map +1 -0
  43. package/dist/cjs/components/Slider/utils.cjs +217 -0
  44. package/dist/cjs/components/Slider/utils.cjs.map +1 -0
  45. package/dist/cjs/components/Table/Table.cjs +1 -1
  46. package/dist/cjs/components/Table/Table.cjs.map +1 -1
  47. package/dist/cjs/components/Table/TableBody/TableBody.cjs +1 -1
  48. package/dist/cjs/components/Table/TableBody/TableBody.cjs.map +1 -1
  49. package/dist/cjs/components/Table/TableBody/tableBodyClasses.cjs.map +1 -1
  50. package/dist/cjs/components/Table/TableCell/TableCell.cjs +1 -1
  51. package/dist/cjs/components/Table/TableCell/TableCell.cjs.map +1 -1
  52. package/dist/cjs/components/Table/TableCell/tableCellClasses.cjs.map +1 -1
  53. package/dist/cjs/components/Table/TableContainer/TableContainer.cjs +1 -1
  54. package/dist/cjs/components/Table/TableContainer/TableContainer.cjs.map +1 -1
  55. package/dist/cjs/components/Table/TableContainer/tableContainerClasses.cjs.map +1 -1
  56. package/dist/cjs/components/Table/TableHead/TableHead.cjs +1 -1
  57. package/dist/cjs/components/Table/TableHead/TableHead.cjs.map +1 -1
  58. package/dist/cjs/components/Table/TableHead/tableHeadClasses.cjs.map +1 -1
  59. package/dist/cjs/components/Table/TableHeader/TableHeader.cjs +2 -2
  60. package/dist/cjs/components/Table/TableHeader/TableHeader.cjs.map +1 -1
  61. package/dist/cjs/components/Table/TableHeader/TableHeader.styles.cjs +15 -8
  62. package/dist/cjs/components/Table/TableHeader/TableHeader.styles.cjs.map +1 -1
  63. package/dist/cjs/components/Table/TableHeader/tableHeaderClasses.cjs.map +1 -1
  64. package/dist/cjs/components/Table/TableRow/TableRow.cjs +1 -1
  65. package/dist/cjs/components/Table/TableRow/TableRow.cjs.map +1 -1
  66. package/dist/cjs/components/Table/TableRow/tableRowClasses.cjs.map +1 -1
  67. package/dist/cjs/components/Table/hooks/useRowSelection.cjs.map +1 -1
  68. package/dist/cjs/components/Table/hooks/useSortBy.cjs.map +1 -1
  69. package/dist/cjs/components/Table/hooks/useTable.cjs +24 -20
  70. package/dist/cjs/components/Table/hooks/useTable.cjs.map +1 -1
  71. package/dist/cjs/components/Table/renderers/DateColumnCell/DateColumnCell.cjs.map +1 -1
  72. package/dist/cjs/components/Table/renderers/DropdownColumnCell/DropdownColumnCell.cjs.map +1 -1
  73. package/dist/cjs/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.cjs.map +1 -1
  74. package/dist/cjs/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.cjs.map +1 -1
  75. package/dist/cjs/components/Table/renderers/renderers.cjs +14 -12
  76. package/dist/cjs/components/Table/renderers/renderers.cjs.map +1 -1
  77. package/dist/cjs/components/Table/tableClasses.cjs.map +1 -1
  78. package/dist/cjs/components/Table/utils/fallbacks.cjs.map +1 -1
  79. package/dist/cjs/components/Tag/Tag.styles.cjs +9 -5
  80. package/dist/cjs/components/Tag/Tag.styles.cjs.map +1 -1
  81. package/dist/cjs/components/VerticalNavigation/Header/Header.styles.cjs +8 -4
  82. package/dist/cjs/components/VerticalNavigation/Header/Header.styles.cjs.map +1 -1
  83. package/dist/cjs/components/VerticalNavigation/Navigation/Navigation.cjs +76 -17
  84. package/dist/cjs/components/VerticalNavigation/Navigation/Navigation.cjs.map +1 -1
  85. package/dist/cjs/components/VerticalNavigation/Navigation/Navigation.styles.cjs +4 -1
  86. package/dist/cjs/components/VerticalNavigation/Navigation/Navigation.styles.cjs.map +1 -1
  87. package/dist/cjs/components/VerticalNavigation/Navigation/navigationClasses.cjs +1 -1
  88. package/dist/cjs/components/VerticalNavigation/Navigation/navigationClasses.cjs.map +1 -1
  89. package/dist/cjs/components/VerticalNavigation/NavigationPopup/NavigationPopup.cjs +58 -0
  90. package/dist/cjs/components/VerticalNavigation/NavigationPopup/NavigationPopup.cjs.map +1 -0
  91. package/dist/cjs/components/VerticalNavigation/NavigationPopup/NavigationPopup.styles.cjs +16 -0
  92. package/dist/cjs/components/VerticalNavigation/NavigationPopup/NavigationPopup.styles.cjs.map +1 -0
  93. package/dist/cjs/components/VerticalNavigation/TreeView/IconWrapper/IconWrapper.cjs +41 -0
  94. package/dist/cjs/components/VerticalNavigation/TreeView/IconWrapper/IconWrapper.cjs.map +1 -0
  95. package/dist/cjs/components/VerticalNavigation/TreeView/IconWrapper/IconWrapper.styles.cjs +42 -0
  96. package/dist/cjs/components/VerticalNavigation/TreeView/IconWrapper/IconWrapper.styles.cjs.map +1 -0
  97. package/dist/cjs/components/VerticalNavigation/TreeView/TooltipWrapper/TooltipWrapper.cjs +24 -0
  98. package/dist/cjs/components/VerticalNavigation/TreeView/TooltipWrapper/TooltipWrapper.cjs.map +1 -0
  99. package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.cjs +43 -45
  100. package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.cjs.map +1 -1
  101. package/dist/cjs/components/VerticalNavigation/VerticalNavigation.cjs +6 -2
  102. package/dist/cjs/components/VerticalNavigation/VerticalNavigation.cjs.map +1 -1
  103. package/dist/cjs/components/VerticalNavigation/VerticalNavigation.styles.cjs +6 -4
  104. package/dist/cjs/components/VerticalNavigation/VerticalNavigation.styles.cjs.map +1 -1
  105. package/dist/cjs/components/VerticalNavigation/VerticalNavigationContext.cjs.map +1 -1
  106. package/dist/cjs/components/VerticalNavigation/utils/VerticalNavigation.utils.cjs +7 -0
  107. package/dist/cjs/components/VerticalNavigation/utils/VerticalNavigation.utils.cjs.map +1 -0
  108. package/dist/cjs/index.cjs +4 -0
  109. package/dist/cjs/index.cjs.map +1 -1
  110. package/dist/esm/components/ActionsGeneric/ActionsGeneric.styles.js +8 -4
  111. package/dist/esm/components/ActionsGeneric/ActionsGeneric.styles.js.map +1 -1
  112. package/dist/esm/components/Banner/BannerContent/ActionContainer/ActionContainer.styles.js +10 -6
  113. package/dist/esm/components/Banner/BannerContent/ActionContainer/ActionContainer.styles.js.map +1 -1
  114. package/dist/esm/components/BaseDropdown/BaseDropdown.js +1 -0
  115. package/dist/esm/components/BaseDropdown/BaseDropdown.js.map +1 -1
  116. package/dist/esm/components/BaseDropdown/BaseDropdown.styles.js +22 -14
  117. package/dist/esm/components/BaseDropdown/BaseDropdown.styles.js.map +1 -1
  118. package/dist/esm/components/BreadCrumb/BreadCrumb.styles.js +9 -5
  119. package/dist/esm/components/BreadCrumb/BreadCrumb.styles.js.map +1 -1
  120. package/dist/esm/components/BreadCrumb/Page/Page.styles.js +8 -4
  121. package/dist/esm/components/BreadCrumb/Page/Page.styles.js.map +1 -1
  122. package/dist/esm/components/Dialog/Dialog.styles.js +9 -5
  123. package/dist/esm/components/Dialog/Dialog.styles.js.map +1 -1
  124. package/dist/esm/components/DropDownMenu/DropDownMenu.styles.js +9 -5
  125. package/dist/esm/components/DropDownMenu/DropDownMenu.styles.js.map +1 -1
  126. package/dist/esm/components/Dropdown/List/List.styles.js +4 -5
  127. package/dist/esm/components/Dropdown/List/List.styles.js.map +1 -1
  128. package/dist/esm/components/Dropdown/dropdownClasses.js +1 -1
  129. package/dist/esm/components/Dropdown/dropdownClasses.js.map +1 -1
  130. package/dist/esm/components/FileUploader/File/File.styles.js +16 -12
  131. package/dist/esm/components/FileUploader/File/File.styles.js.map +1 -1
  132. package/dist/esm/components/FileUploader/Preview/Preview.styles.js +9 -5
  133. package/dist/esm/components/FileUploader/Preview/Preview.styles.js.map +1 -1
  134. package/dist/esm/components/Header/Brand/Brand.styles.js +9 -5
  135. package/dist/esm/components/Header/Brand/Brand.styles.js.map +1 -1
  136. package/dist/esm/components/Pagination/Pagination.js +1 -1
  137. package/dist/esm/components/Pagination/Pagination.js.map +1 -1
  138. package/dist/esm/components/Slider/Slider.js +299 -0
  139. package/dist/esm/components/Slider/Slider.js.map +1 -0
  140. package/dist/esm/components/Slider/Slider.styles.js +330 -0
  141. package/dist/esm/components/Slider/Slider.styles.js.map +1 -0
  142. package/dist/esm/components/Slider/SliderInput/SliderInput.js +64 -0
  143. package/dist/esm/components/Slider/SliderInput/SliderInput.js.map +1 -0
  144. package/dist/esm/components/Slider/SliderInput/SliderInput.styles.js +53 -0
  145. package/dist/esm/components/Slider/SliderInput/SliderInput.styles.js.map +1 -0
  146. package/dist/esm/components/Slider/SliderInput/sliderInputClasses.js +8 -0
  147. package/dist/esm/components/Slider/SliderInput/sliderInputClasses.js.map +1 -0
  148. package/dist/esm/components/Slider/base.js +251 -0
  149. package/dist/esm/components/Slider/base.js.map +1 -0
  150. package/dist/esm/components/Slider/sliderClasses.js +8 -0
  151. package/dist/esm/components/Slider/sliderClasses.js.map +1 -0
  152. package/dist/esm/components/Slider/utils.js +217 -0
  153. package/dist/esm/components/Slider/utils.js.map +1 -0
  154. package/dist/esm/components/Table/Table.js +1 -1
  155. package/dist/esm/components/Table/Table.js.map +1 -1
  156. package/dist/esm/components/Table/TableBody/TableBody.js +1 -1
  157. package/dist/esm/components/Table/TableBody/TableBody.js.map +1 -1
  158. package/dist/esm/components/Table/TableBody/tableBodyClasses.js.map +1 -1
  159. package/dist/esm/components/Table/TableCell/TableCell.js +1 -1
  160. package/dist/esm/components/Table/TableCell/TableCell.js.map +1 -1
  161. package/dist/esm/components/Table/TableCell/tableCellClasses.js.map +1 -1
  162. package/dist/esm/components/Table/TableContainer/TableContainer.js +1 -1
  163. package/dist/esm/components/Table/TableContainer/TableContainer.js.map +1 -1
  164. package/dist/esm/components/Table/TableContainer/tableContainerClasses.js.map +1 -1
  165. package/dist/esm/components/Table/TableHead/TableHead.js +1 -1
  166. package/dist/esm/components/Table/TableHead/TableHead.js.map +1 -1
  167. package/dist/esm/components/Table/TableHead/tableHeadClasses.js.map +1 -1
  168. package/dist/esm/components/Table/TableHeader/TableHeader.js +2 -2
  169. package/dist/esm/components/Table/TableHeader/TableHeader.js.map +1 -1
  170. package/dist/esm/components/Table/TableHeader/TableHeader.styles.js +15 -8
  171. package/dist/esm/components/Table/TableHeader/TableHeader.styles.js.map +1 -1
  172. package/dist/esm/components/Table/TableHeader/tableHeaderClasses.js.map +1 -1
  173. package/dist/esm/components/Table/TableRow/TableRow.js +1 -1
  174. package/dist/esm/components/Table/TableRow/TableRow.js.map +1 -1
  175. package/dist/esm/components/Table/TableRow/tableRowClasses.js.map +1 -1
  176. package/dist/esm/components/Table/hooks/useRowSelection.js.map +1 -1
  177. package/dist/esm/components/Table/hooks/useSortBy.js.map +1 -1
  178. package/dist/esm/components/Table/hooks/useTable.js +24 -20
  179. package/dist/esm/components/Table/hooks/useTable.js.map +1 -1
  180. package/dist/esm/components/Table/renderers/DateColumnCell/DateColumnCell.js.map +1 -1
  181. package/dist/esm/components/Table/renderers/DropdownColumnCell/DropdownColumnCell.js.map +1 -1
  182. package/dist/esm/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.js.map +1 -1
  183. package/dist/esm/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.js.map +1 -1
  184. package/dist/esm/components/Table/renderers/renderers.js +15 -13
  185. package/dist/esm/components/Table/renderers/renderers.js.map +1 -1
  186. package/dist/esm/components/Table/tableClasses.js.map +1 -1
  187. package/dist/esm/components/Table/utils/fallbacks.js.map +1 -1
  188. package/dist/esm/components/Tag/Tag.styles.js +9 -5
  189. package/dist/esm/components/Tag/Tag.styles.js.map +1 -1
  190. package/dist/esm/components/VerticalNavigation/Header/Header.styles.js +8 -4
  191. package/dist/esm/components/VerticalNavigation/Header/Header.styles.js.map +1 -1
  192. package/dist/esm/components/VerticalNavigation/Navigation/Navigation.js +77 -19
  193. package/dist/esm/components/VerticalNavigation/Navigation/Navigation.js.map +1 -1
  194. package/dist/esm/components/VerticalNavigation/Navigation/Navigation.styles.js +4 -1
  195. package/dist/esm/components/VerticalNavigation/Navigation/Navigation.styles.js.map +1 -1
  196. package/dist/esm/components/VerticalNavigation/Navigation/navigationClasses.js +1 -1
  197. package/dist/esm/components/VerticalNavigation/Navigation/navigationClasses.js.map +1 -1
  198. package/dist/esm/components/VerticalNavigation/NavigationPopup/NavigationPopup.js +56 -0
  199. package/dist/esm/components/VerticalNavigation/NavigationPopup/NavigationPopup.js.map +1 -0
  200. package/dist/esm/components/VerticalNavigation/NavigationPopup/NavigationPopup.styles.js +14 -0
  201. package/dist/esm/components/VerticalNavigation/NavigationPopup/NavigationPopup.styles.js.map +1 -0
  202. package/dist/esm/components/VerticalNavigation/TreeView/IconWrapper/IconWrapper.js +41 -0
  203. package/dist/esm/components/VerticalNavigation/TreeView/IconWrapper/IconWrapper.js.map +1 -0
  204. package/dist/esm/components/VerticalNavigation/TreeView/IconWrapper/IconWrapper.styles.js +40 -0
  205. package/dist/esm/components/VerticalNavigation/TreeView/IconWrapper/IconWrapper.styles.js.map +1 -0
  206. package/dist/esm/components/VerticalNavigation/TreeView/TooltipWrapper/TooltipWrapper.js +24 -0
  207. package/dist/esm/components/VerticalNavigation/TreeView/TooltipWrapper/TooltipWrapper.js.map +1 -0
  208. package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.js +43 -45
  209. package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.js.map +1 -1
  210. package/dist/esm/components/VerticalNavigation/VerticalNavigation.js +6 -2
  211. package/dist/esm/components/VerticalNavigation/VerticalNavigation.js.map +1 -1
  212. package/dist/esm/components/VerticalNavigation/VerticalNavigation.styles.js +6 -4
  213. package/dist/esm/components/VerticalNavigation/VerticalNavigation.styles.js.map +1 -1
  214. package/dist/esm/components/VerticalNavigation/VerticalNavigationContext.js.map +1 -1
  215. package/dist/esm/components/VerticalNavigation/utils/VerticalNavigation.utils.js +7 -0
  216. package/dist/esm/components/VerticalNavigation/utils/VerticalNavigation.utils.js.map +1 -0
  217. package/dist/esm/index.js +22 -18
  218. package/dist/esm/index.js.map +1 -1
  219. package/dist/types/index.d.ts +374 -272
  220. package/package.json +7 -5
@@ -1 +1 @@
1
- {"version":3,"file":"TableRow.cjs","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 \"./tableRowClasses\";\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.secondary),\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","secondary","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.cjs","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\";\nimport tableRowClasses, { HvTableRowClasses } from \"./tableRowClasses\";\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 interface HvTableRowProps\n extends HvBaseProps<HTMLTableRowElement, { children }> {\n /** Content to be rendered */\n children: React.ReactNode;\n /** The component used for the root node. Either a string to use a HTML element or a component. Defaults to tbody. */\n component?: React.ElementType;\n /** Whether the table row will shade on hover. */\n hover?: boolean;\n /** Whether the table row will have the selected shading. */\n selected?: boolean;\n /** Whether the table row is expanded. */\n expanded?: boolean;\n /** Whether the table row background is striped. */\n striped?: boolean;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvTableRowClasses;\n}\n\nconst defaultComponent = \"tr\";\n\nconst 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.secondary),\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","secondary","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":"tableRowClasses.cjs","sources":["../../../../../src/components/Table/TableRow/tableRowClasses.ts"],"sourcesContent":["import { getClasses } from \"~/utils\";\n\nexport type HvTableRowClasses = {\n /** Styles applied to the component root class. */\n root?: string;\n /** Styles applied to the component root when selected. */\n selected?: string;\n /** Styles applied to the component root when expanded. */\n expanded?: string;\n /** Styles applied to the component root when striped. */\n striped?: string;\n /** Styles applied to the component root on hover. */\n hover?: string;\n /** Styles applied to the component root when inside a `HvTableHead`. */\n head?: string;\n /** Styles applied to the component root when inside a `HvTableBody`. */\n body?: string;\n /** Styles applied to the component root when inside a `HvTableFooter`. */\n footer?: string;\n /** Styles applied to the component root when its table variant is list. */\n variantList?: string;\n /** Styles applied to the component root when its table variant is list. */\n variantListHead?: string;\n};\n\nconst classKeys: string[] = [\n \"root\",\n \"selected\",\n \"expanded\",\n \"striped\",\n \"hover\",\n \"head\",\n \"body\",\n \"footer\",\n \"variantList\",\n \"variantListHead\",\n];\n\nconst tableRowClasses = getClasses<HvTableRowClasses>(classKeys, \"HvTableRow\");\n\nexport default tableRowClasses;\n"],"names":["classKeys","tableRowClasses","getClasses"],"mappings":";;;AAyBA,MAAMA,YAAsB,CAC1B,QACA,YACA,YACA,WACA,SACA,QACA,QACA,UACA,eACA,iBAAiB;AAGnB,MAAMC,kBAAkBC,QAA8BF,WAAAA,WAAW,YAAY;AAE7E,MAAA,oBAAeC;;"}
1
+ {"version":3,"file":"tableRowClasses.cjs","sources":["../../../../../src/components/Table/TableRow/tableRowClasses.ts"],"sourcesContent":["import { getClasses } from \"~/utils\";\n\nexport interface HvTableRowClasses {\n /** Styles applied to the component root class. */\n root?: string;\n /** Styles applied to the component root when selected. */\n selected?: string;\n /** Styles applied to the component root when expanded. */\n expanded?: string;\n /** Styles applied to the component root when striped. */\n striped?: string;\n /** Styles applied to the component root on hover. */\n hover?: string;\n /** Styles applied to the component root when inside a `HvTableHead`. */\n head?: string;\n /** Styles applied to the component root when inside a `HvTableBody`. */\n body?: string;\n /** Styles applied to the component root when inside a `HvTableFooter`. */\n footer?: string;\n /** Styles applied to the component root when its table variant is list. */\n variantList?: string;\n /** Styles applied to the component root when its table variant is list. */\n variantListHead?: string;\n}\n\nconst classKeys: string[] = [\n \"root\",\n \"selected\",\n \"expanded\",\n \"striped\",\n \"hover\",\n \"head\",\n \"body\",\n \"footer\",\n \"variantList\",\n \"variantListHead\",\n];\n\nconst tableRowClasses = getClasses<HvTableRowClasses>(classKeys, \"HvTableRow\");\n\nexport default tableRowClasses;\n"],"names":["classKeys","tableRowClasses","getClasses"],"mappings":";;;AAyBA,MAAMA,YAAsB,CAC1B,QACA,YACA,YACA,WACA,SACA,QACA,QACA,UACA,eACA,iBAAiB;AAGnB,MAAMC,kBAAkBC,QAA8BF,WAAAA,WAAW,YAAY;AAE7E,MAAA,oBAAeC;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useRowSelection.cjs","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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"}
1
+ {"version":3,"file":"useRowSelection.cjs","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 isSelectionLocked: boolean;\n toggleRowLockedSelection: (set?: boolean) => void;\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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useSortBy.cjs","sources":["../../../../../src/components/Table/hooks/useSortBy.ts"],"sourcesContent":["import { ensurePluginOrder, Hooks } from \"react-table\";\n\n// #region ##### TYPES #####\n\n// getHeaderProps:\nexport interface UseHvSortByColumnProps {\n sortable?: boolean;\n sorted?: boolean;\n sortDirection?: \"descending\" | \"ascending\";\n onClick:\n | ((\n e: React.MouseEvent<HTMLTableHeaderCellElement | HTMLTableCellElement>\n ) => void)\n | undefined;\n}\n\n// getCellProps:\nexport interface UseHvSortByTableCellProps {\n sorted?: boolean;\n}\n\nexport type UseHvSortByProps = (<D extends object = Record<string, unknown>>(\n hooks: Hooks<D>\n) => void) & { pluginName: string };\n\n// #endregion ##### TYPES #####\n\n// props target: <table><thead><tr><th>\nconst getHeaderPropsHook = (props, { instance, column }) => {\n const { isMultiSortEvent = (e) => e.shiftKey } = instance;\n\n const sortDirection = column.isSortedDesc ? \"descending\" : \"ascending\";\n\n const nextProps: UseHvSortByColumnProps = {\n sortable: column.canSort,\n sorted: column.isSorted,\n sortDirection: column.isSorted ? sortDirection : undefined,\n\n onClick: column.canSort\n ? (e) => {\n e.persist();\n column.toggleSortBy(\n undefined,\n !instance.disableMultiSort && isMultiSortEvent(e)\n );\n }\n : undefined,\n };\n\n return [props, nextProps];\n};\n\n// props target: <table><tbody><tr><td>\nconst getCellPropsHook = (props, { cell }) => {\n const nextProps: UseHvSortByTableCellProps = {\n sorted: cell.column.isSorted,\n };\n\n return [props, nextProps];\n};\n\nconst useInstanceHook = (instance) => {\n ensurePluginOrder(instance.plugins, [\"useSortBy\"], \"useHvSortBy\");\n};\n\nconst useSortBy: UseHvSortByProps = (hooks) => {\n // props target: <table><thead><tr><th>\n hooks.getHeaderProps.push(getHeaderPropsHook);\n // props target: <table><tbody><tr><td>\n hooks.getCellProps.push(getCellPropsHook);\n\n hooks.useInstance.push(useInstanceHook);\n};\n\nuseSortBy.pluginName = \"useHvSortBy\";\n\nexport default useSortBy;\n"],"names":["getHeaderPropsHook","props","instance","column","isMultiSortEvent","e","shiftKey","sortDirection","isSortedDesc","nextProps","sortable","canSort","sorted","isSorted","undefined","onClick","persist","toggleSortBy","disableMultiSort","getCellPropsHook","cell","useInstanceHook","ensurePluginOrder","plugins","useSortBy","hooks","getHeaderProps","push","getCellProps","useInstance","pluginName"],"mappings":";;;AA4BA,MAAMA,qBAAqBA,CAACC,OAAO;AAAA,EAAEC;AAAAA,EAAUC;AAAO,MAAM;AACpD,QAAA;AAAA,IAAEC,mBAAoBC,OAAMA,EAAEC;AAAAA,EAAaJ,IAAAA;AAE3CK,QAAAA,gBAAgBJ,OAAOK,eAAe,eAAe;AAE3D,QAAMC,YAAoC;AAAA,IACxCC,UAAUP,OAAOQ;AAAAA,IACjBC,QAAQT,OAAOU;AAAAA,IACfN,eAAeJ,OAAOU,WAAWN,gBAAgBO;AAAAA,IAEjDC,SAASZ,OAAOQ,UACXN,CAAM,MAAA;AACLA,QAAEW,QAAS;AACXb,aAAOc,aACLH,QACA,CAACZ,SAASgB,oBAAoBd,iBAAiBC,CAAC,CAAC;AAAA,IAGrDS,IAAAA;AAAAA,EAAAA;AAGC,SAAA,CAACb,OAAOQ,SAAS;AAC1B;AAGA,MAAMU,mBAAmBA,CAAClB,OAAO;AAAA,EAAEmB;AAAK,MAAM;AAC5C,QAAMX,YAAuC;AAAA,IAC3CG,QAAQQ,KAAKjB,OAAOU;AAAAA,EAAAA;AAGf,SAAA,CAACZ,OAAOQ,SAAS;AAC1B;AAEA,MAAMY,kBAAmBnB,CAAa,aAAA;AACpCoB,aAAAA,kBAAkBpB,SAASqB,SAAS,CAAC,WAAW,GAAG,aAAa;AAClE;AAEA,MAAMC,YAA+BC,CAAU,UAAA;AAEvCC,QAAAA,eAAeC,KAAK3B,kBAAkB;AAEtC4B,QAAAA,aAAaD,KAAKR,gBAAgB;AAElCU,QAAAA,YAAYF,KAAKN,eAAe;AACxC;AAEAG,UAAUM,aAAa;AAEvB,MAAA,cAAeN;;"}
1
+ {"version":3,"file":"useSortBy.cjs","sources":["../../../../../src/components/Table/hooks/useSortBy.ts"],"sourcesContent":["import { ensurePluginOrder, Hooks } from \"react-table\";\n\n// #region ##### TYPES #####\n\n// getHeaderProps:\nexport interface UseHvSortByColumnProps {\n sortable?: boolean;\n sorted?: boolean;\n sortDirection?: \"descending\" | \"ascending\";\n onClick?: (e: React.MouseEvent<HTMLTableCellElement>) => void;\n}\n\n// getCellProps:\nexport interface UseHvSortByTableCellProps {\n sorted?: boolean;\n}\n\nexport type UseHvSortByProps = (<D extends object = Record<string, unknown>>(\n hooks: Hooks<D>\n) => void) & { pluginName: string };\n\n// #endregion ##### TYPES #####\n\n// props target: <table><thead><tr><th>\nconst getHeaderPropsHook = (props, { instance, column }) => {\n const { isMultiSortEvent = (e) => e.shiftKey } = instance;\n\n const sortDirection = column.isSortedDesc ? \"descending\" : \"ascending\";\n\n const nextProps: UseHvSortByColumnProps = {\n sortable: column.canSort,\n sorted: column.isSorted,\n sortDirection: column.isSorted ? sortDirection : undefined,\n\n onClick: column.canSort\n ? (e) => {\n e.persist();\n column.toggleSortBy(\n undefined,\n !instance.disableMultiSort && isMultiSortEvent(e)\n );\n }\n : undefined,\n };\n\n return [props, nextProps];\n};\n\n// props target: <table><tbody><tr><td>\nconst getCellPropsHook = (props, { cell }) => {\n const nextProps: UseHvSortByTableCellProps = {\n sorted: cell.column.isSorted,\n };\n\n return [props, nextProps];\n};\n\nconst useInstanceHook = (instance) => {\n ensurePluginOrder(instance.plugins, [\"useSortBy\"], \"useHvSortBy\");\n};\n\nconst useSortBy: UseHvSortByProps = (hooks) => {\n // props target: <table><thead><tr><th>\n hooks.getHeaderProps.push(getHeaderPropsHook);\n // props target: <table><tbody><tr><td>\n hooks.getCellProps.push(getCellPropsHook);\n\n hooks.useInstance.push(useInstanceHook);\n};\n\nuseSortBy.pluginName = \"useHvSortBy\";\n\nexport default useSortBy;\n"],"names":["getHeaderPropsHook","props","instance","column","isMultiSortEvent","e","shiftKey","sortDirection","isSortedDesc","nextProps","sortable","canSort","sorted","isSorted","undefined","onClick","persist","toggleSortBy","disableMultiSort","getCellPropsHook","cell","useInstanceHook","ensurePluginOrder","plugins","useSortBy","hooks","getHeaderProps","push","getCellProps","useInstance","pluginName"],"mappings":";;;AAwBA,MAAMA,qBAAqBA,CAACC,OAAO;AAAA,EAAEC;AAAAA,EAAUC;AAAO,MAAM;AACpD,QAAA;AAAA,IAAEC,mBAAoBC,OAAMA,EAAEC;AAAAA,EAAaJ,IAAAA;AAE3CK,QAAAA,gBAAgBJ,OAAOK,eAAe,eAAe;AAE3D,QAAMC,YAAoC;AAAA,IACxCC,UAAUP,OAAOQ;AAAAA,IACjBC,QAAQT,OAAOU;AAAAA,IACfN,eAAeJ,OAAOU,WAAWN,gBAAgBO;AAAAA,IAEjDC,SAASZ,OAAOQ,UACXN,CAAM,MAAA;AACLA,QAAEW,QAAS;AACXb,aAAOc,aACLH,QACA,CAACZ,SAASgB,oBAAoBd,iBAAiBC,CAAC,CAAC;AAAA,IAGrDS,IAAAA;AAAAA,EAAAA;AAGC,SAAA,CAACb,OAAOQ,SAAS;AAC1B;AAGA,MAAMU,mBAAmBA,CAAClB,OAAO;AAAA,EAAEmB;AAAK,MAAM;AAC5C,QAAMX,YAAuC;AAAA,IAC3CG,QAAQQ,KAAKjB,OAAOU;AAAAA,EAAAA;AAGf,SAAA,CAACZ,OAAOQ,SAAS;AAC1B;AAEA,MAAMY,kBAAmBnB,CAAa,aAAA;AACpCoB,aAAAA,kBAAkBpB,SAASqB,SAAS,CAAC,WAAW,GAAG,aAAa;AAClE;AAEA,MAAMC,YAA+BC,CAAU,UAAA;AAEvCC,QAAAA,eAAeC,KAAK3B,kBAAkB;AAEtC4B,QAAAA,aAAaD,KAAKR,gBAAgB;AAElCU,QAAAA,YAAYF,KAAKN,eAAe;AACxC;AAEAG,UAAUM,aAAa;AAEvB,MAAA,cAAeN;;"}
@@ -6,20 +6,24 @@ const useTableStyles = require("./useTableStyles.cjs");
6
6
  const toTitleCase = (str) => {
7
7
  return str.replace(/([^A-Z])([A-Z])/g, "$1 $2").replace(/[_-]+/g, " ").toLowerCase().replace(/(^\w|\b\w)/g, (m) => m.toUpperCase()).replace(/\s+/g, " ").trim();
8
8
  };
9
- const useDefaultData = (data) => React.useMemo(() => {
10
- return data || [];
11
- }, [data]);
12
- const useDefaultColumns = (columns, data) => React.useMemo(() => {
13
- if (columns != null) {
14
- return columns;
15
- }
16
- const uniqueKeys = Object.keys(Object.assign({}, ...data));
17
- return uniqueKeys.filter((key) => !["subRows", "subComponent"].includes(key)).map((key) => ({
18
- accessor: key,
19
- Header: toTitleCase(key)
20
- }));
21
- }, [columns, data]);
22
- const ensureCorePluginInstallation = (plugins, hvPluginName, corePluginToInstall) => {
9
+ function useDefaultData(data) {
10
+ return React.useMemo(() => {
11
+ return data || [];
12
+ }, [data]);
13
+ }
14
+ function useDefaultColumns(data, columns) {
15
+ return React.useMemo(() => {
16
+ if (columns != null) {
17
+ return columns;
18
+ }
19
+ const uniqueKeys = Object.keys(Object.assign({}, ...data));
20
+ return uniqueKeys.filter((key) => !["subRows", "subComponent"].includes(key)).map((key) => ({
21
+ accessor: key,
22
+ Header: toTitleCase(key)
23
+ }));
24
+ }, [columns, data]);
25
+ }
26
+ function ensureCorePluginInstallation(plugins, hvPluginName, corePluginToInstall) {
23
27
  const indexOfCorePlugin = plugins.findIndex((plugin) => plugin.pluginName === corePluginToInstall.pluginName);
24
28
  const indexOfHvPlugin = plugins.findIndex((plugin) => plugin.pluginName === hvPluginName);
25
29
  if (indexOfHvPlugin !== -1 && (indexOfCorePlugin === -1 || indexOfCorePlugin > indexOfHvPlugin)) {
@@ -28,18 +32,18 @@ const ensureCorePluginInstallation = (plugins, hvPluginName, corePluginToInstall
28
32
  }
29
33
  plugins.splice(indexOfHvPlugin, 0, corePluginToInstall);
30
34
  }
31
- };
32
- const useInstanceHook = (instance) => {
35
+ }
36
+ function useInstanceHook(instance) {
33
37
  const {
34
38
  rowsById
35
39
  } = instance;
36
40
  Object.assign(instance, {
37
41
  initialRowsById: rowsById
38
42
  });
39
- };
40
- const useHvTableSetup = (hooks) => {
43
+ }
44
+ function useHvTableSetup(hooks) {
41
45
  hooks.useInstance.push(useInstanceHook);
42
- };
46
+ }
43
47
  useHvTableSetup.pluginName = "useHvTableSetup";
44
48
  function useHvTable(options, ...plugins) {
45
49
  const {
@@ -48,7 +52,7 @@ function useHvTable(options, ...plugins) {
48
52
  ...others
49
53
  } = options;
50
54
  const data = useDefaultData(dataProp);
51
- const columns = useDefaultColumns(columnsProp, data);
55
+ const columns = useDefaultColumns(data, columnsProp);
52
56
  ensureCorePluginInstallation(plugins, "useHvPagination", reactTable.usePagination);
53
57
  ensureCorePluginInstallation(plugins, "useHvRowExpand", reactTable.useExpanded);
54
58
  ensureCorePluginInstallation(plugins, "useHvSortBy", reactTable.useSortBy);
@@ -1 +1 @@
1
- {"version":3,"file":"useTable.cjs","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,MAAAA,QAAQ,MAAM;AACZ,SAAOD,QAAQ,CAAA;AACjB,GAAG,CAACA,IAAI,CAAC;AAEX,MAAME,oBAAoBA,CAACC,SAASH,SAClCC,cAAQ,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,WAAAA,aAAa;AACzCtB,+BAAAA,SAAS,kBAAkBuB,WAAAA,WAAW;AACtCvB,+BAAAA,SAAS,eAAewB,WAAAA,SAAS;AACjCxB,+BAAAA,SAAS,sBAAsByB,WAAAA,gBAAgB;AAE5E,QAAMC,6BAA6B1B,QAAQI,UACxCC,CAAWA,WAAAA,OAAOC,eAAe,kBAAkB;AAEtD,MAAIoB,+BAA+B,IAAI;AACrC1B,YAAQgB,KAAKW,eAAAA,OAAgB;AAAA,EAC/B;AAGA,SAAOC,oBACL;AAAA,IACE3C;AAAAA,IACAG;AAAAA,IACA,GAAGiC;AAAAA,EAAAA,GAELR,iBACA,GAAGb,OAAO;AAEd;;;;;;"}
1
+ {"version":3,"file":"useTable.cjs","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 ColumnInstance,\n ColumnInterface,\n Hooks,\n Renderer,\n Row,\n TableCellProps,\n TableFooterProps,\n TableHeaderProps,\n TableInstance,\n TableOptions,\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 UseRowStateState,\n UseRowStateOptions,\n UseGlobalFiltersColumnOptions,\n UseRowStateInstanceProps,\n UseRowStateRowProps,\n UseTableHeaderGroupProps,\n PluginHook,\n ActionType,\n ReducerTableState,\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 { HvTableRowProps } from \"../TableRow\";\nimport { HvTableProps } from \"../Table\";\nimport { HvTableCellProps } from \"../TableCell\";\nimport { HvTableHeaderProps } from \"../TableHeader\";\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 ValueOf<T> = T[keyof T];\ntype StringKey<D> = Extract<keyof D, string>;\ntype IdType<D> = StringKey<D> | string;\ntype CellValue<V = any> = V;\n\ntype HvHeaderProps<D extends object = Record<string, unknown>> =\n HvTableInstance<D> & {\n column: HvColumnInstance<D>;\n };\n\ninterface HvMetaBase<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n> {\n instance: HvTableInstance<D, H>;\n userProps: any;\n}\n\nexport type HvMeta<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer,\n Extension = never,\n M = HvMetaBase<D, H>\n> = [Extension] extends [never] ? M : M & Extension;\n\nexport type HvPropGetter<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer,\n Props extends object = Record<string, unknown>,\n T extends object = never,\n P = Partial<Props>\n> = ((props: P, meta: HvMeta<D, H, T>) => P | P[]) | P | P[];\n\nexport type HvTableHeaderRenderer<D extends object = Record<string, unknown>> =\n Renderer<HvHeaderProps<D>>;\n\ntype HvFooterProps<D extends object = Record<string, unknown>> =\n HvTableInstance<D> & {\n column: HvColumnInstance<D>;\n };\n\ninterface HvHeaderGroup<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n> extends HvColumnInstance<D, H>,\n Omit<UseTableHeaderGroupProps<D>, \"headers\"> {\n headers: Array<HvHeaderGroup<D, H>>;\n}\n\ntype HvRowPropGetter<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n> = HvPropGetter<D, H, HvUseTableRowProps, { row: HvRowInstance<D, H> }>;\n\ntype HvTablePropGetter<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n> = HvPropGetter<D, H, HvUseTableProps>;\n\ntype HvCellPropGetter<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n> = HvPropGetter<D, H, HvUseTableCellProps, { cell: HvCellInstance<D, H> }>;\n\ntype HvHeaderPropGetter<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n> = HvPropGetter<D, H, HvUseTableHeaderProps, { column: HvHeaderGroup<D, H> }>;\n\ntype HvFooterPropGetter<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n> = HvPropGetter<D, H, HvUseTableFooterProps, { column: HvHeaderGroup<D, H> }>;\n\nexport interface HvCellProps<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer,\n V = any\n> extends HvTableInstance<D, H> {\n column: HvColumnInstance<D, H>;\n row: HvRowInstance<D, H>;\n cell: HvCellInstance<D, H, V>;\n value: CellValue<V>;\n}\n\nexport type HvTableDefinitionConfig<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n> = HvTableOptions<D, H>;\n\ninterface HvColumnInterfaceBasedOnValue<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer,\n V = any\n> {\n Cell?: Renderer<HvCellProps<D, H, V>>;\n}\n\ninterface HvColumnGroupInterface<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n> {\n columns: Array<HvTableColumnConfig<D, H>>;\n}\n\ntype HvColumnGroup<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n> = HvTableColumnOptions<D, H> &\n HvColumnGroupInterface<D, H> &\n (\n | { Header: H }\n | ({ id: IdType<D> } & {\n Header: H;\n })\n ) & { accessor?: Accessor<D> };\n\ntype HvColumnWithStrictAccessor<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n> = HvTableColumnOptions<D, H> &\n ValueOf<{\n [K in keyof D]: {\n accessor: K;\n } & HvColumnInterfaceBasedOnValue<D, H, D[K]>;\n }>;\n\ntype HvColumnWithLooseAccessor<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n> = HvTableColumnOptions<D, H> &\n HvColumnInterfaceBasedOnValue<D, H> &\n (\n | { Header: H }\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 HvTableColumnConfig<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n> =\n | HvColumnGroup<D, H>\n | HvColumnWithLooseAccessor<D, H>\n | HvColumnWithStrictAccessor<D, H>;\n\n// #region HOOKS\nexport interface HvHooks<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n> extends Omit<Hooks<D>, \"useOptions\">,\n Partial<UseExpandedHooks<D>>,\n Partial<UseGroupByHooks<D>>,\n Partial<UseSortByHooks<D>>,\n Partial<UseHvRowSelectionHooks<D>>,\n Partial<UseHvTableStickyHooks<D>>,\n Partial<UseHvPaginationHooks<D>>,\n Partial<UseHvBulkActionsHooks<D>> {\n useOptions: Array<\n (\n options: HvTableOptions<D, H>,\n args: HvTableOptions<D, H>\n ) => HvTableOptions<D, H>\n >;\n stateReducers: Array<\n (\n newState: HvTableState<D>,\n action: ActionType,\n previousState?: HvTableState<D>,\n instance?: HvTableState<D>\n ) => ReducerTableState<D> | undefined\n >;\n columns: Array<\n (\n columns: Array<HvTableColumnConfig<D, H>>,\n meta: HvMeta<D, H>\n ) => Array<HvTableColumnConfig<D, H>>\n >;\n allColumns: Array<\n (\n allColumns: Array<HvColumnInstance<D, H>>,\n meta: HvMeta<D, H>\n ) => Array<HvTableColumnConfig<D, H>>\n >;\n visibleColumns: Array<\n (\n allColumns: Array<HvColumnInstance<D, H>>,\n meta: HvMeta<D, H>\n ) => Array<HvTableColumnConfig<D, H>>\n >;\n headerGroups: Array<\n (\n allColumns: Array<HvHeaderGroup<D, H>>,\n meta: HvMeta<D, H>\n ) => Array<HvHeaderGroup<D, H>>\n >;\n useInstanceBeforeDimensions: Array<(instance: HvTableInstance<D, H>) => void>;\n useInstance: Array<(instance: HvTableInstance<D, H>) => void>;\n useControlledState: Array<\n (state: HvTableState<D>, meta: HvMeta<D, H>) => HvTableState<D>\n >;\n getTableProps: Array<HvTablePropGetter<D, H>>;\n getHeaderProps: Array<HvHeaderPropGetter<D>>;\n getFooterProps: Array<HvFooterPropGetter<D>>;\n getRowProps: Array<HvRowPropGetter<D>>;\n getCellProps: Array<HvCellPropGetter<D>>;\n useFinalInstance: Array<(instance: HvTableInstance<D, H>) => void>;\n}\n// #endregion\n\n// #region STATE\nexport interface HvTableState<D extends object = Record<string, unknown>>\n extends TableState<D>,\n Partial<UseColumnOrderState<D>>,\n Partial<UseExpandedState<D>>,\n Partial<UseFiltersState<D>>,\n Partial<UseGlobalFiltersState<D>>,\n Partial<UseGroupByState<D>>,\n Partial<UsePaginationState<D>>,\n Partial<UseResizeColumnsState<D>>,\n Partial<UseSortByState<D>>,\n Partial<UseRowStateState<D>>,\n Partial<UseHvRowSelectionState<D>> {\n rowCount: number;\n}\n// #endregion\n\n// #region OPTIONS\nexport interface HvTableOptions<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n> extends Omit<\n TableOptions<D>,\n | \"columns\"\n | \"data\"\n | \"defaultColumn\"\n | \"stateReducer\"\n | \"useControlledState\"\n | \"getRowId\"\n >,\n Partial<UseExpandedOptions<D>>,\n Partial<UseFiltersOptions<D>>,\n Partial<UseGlobalFiltersOptions<D>>,\n Partial<UseGroupByOptions<D>>,\n Partial<UsePaginationOptions<D>>,\n Partial<UseResizeColumnsOptions<D>>,\n Partial<UseSortByOptions<D>>,\n Partial<UseRowStateOptions<D>>,\n Partial<UseHvTableStylesTableOptions>,\n Partial<UseHvRowSelectionTableOptions>,\n Partial<UseHvTableStickyTableOptions>,\n Partial<UseHvBulkActionsTableOptions>,\n Partial<UseHvRowExpandTableOptions> {\n columns?: Array<HvTableColumnConfig<D, H>>;\n data?: D[];\n initialState?: Partial<HvTableState<D>>;\n labels?: Record<string, string>;\n defaultColumn?: Partial<HvTableColumnConfig<D, H>>;\n stateReducer?: (\n newState: HvTableState<D>,\n action: ActionType,\n previousState: HvTableState<D>,\n instance?: HvTableInstance<D, H>\n ) => HvTableState<D>;\n useControlledState?: (\n state: HvTableState<D>,\n meta: HvMeta<D, H>\n ) => HvTableState<D>;\n getRowId?: (\n originalRow: D,\n relativeIndex: number,\n parent?: HvRowInstance<D, H>\n ) => string;\n}\n\nexport interface HvTableColumnOptions<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n> extends Omit<ColumnInterface<D>, \"Header\" | \"Footer\">,\n Partial<UseFiltersColumnOptions<D>>,\n Partial<UseGroupByColumnOptions<D>>,\n Partial<UseResizeColumnsColumnOptions<D>>,\n Partial<UseSortByColumnOptions<D>>,\n Partial<UseGlobalFiltersColumnOptions<D>>,\n Partial<UseHvTableStylesColumnOptions> {\n Header?: H;\n Footer?: Renderer<HvFooterProps<D>>;\n}\n// #endregion\n\n// #region INSTANCE\nexport interface HvTableInstance<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n> extends Omit<\n TableInstance<D>,\n | \"pageCount\"\n | \"data\"\n | \"columns\"\n | \"rows\"\n | \"allColumns\"\n | \"visibleColumns\"\n | \"headers\"\n | \"flatHeaders\"\n | \"rowsById\"\n | \"prepareRow\"\n | \"flatRows\"\n | \"headerGroups\"\n | \"footerGroups\"\n | \"defaultColumn\"\n | \"stateReducer\"\n | \"useControlledState\"\n | \"getRowId\"\n | \"getHooks\"\n | \"getTableProps\"\n >,\n Omit<HvTableOptions<D, H>, \"pageCount\" | \"columns\">,\n Partial<UseColumnOrderInstanceProps<D>>,\n Partial<Omit<UseExpandedInstanceProps<D>, \"rows\">>,\n Partial<Omit<UseFiltersInstanceProps<D>, \"rows\" | \"rowsById\" | \"flatRows\">>,\n Partial<\n Omit<UseGlobalFiltersInstanceProps<D>, \"rows\" | \"rowsById\" | \"flatRows\">\n >,\n Partial<Omit<UseGroupByInstanceProps<D>, \"rows\" | \"rowsById\" | \"flatRows\">>,\n Partial<Omit<UsePaginationInstanceProps<D>, \"page\">>,\n Partial<Omit<UseSortByInstanceProps<D>, \"rows\">>,\n Partial<UseRowStateInstanceProps<D>>,\n Partial<Omit<UseHvRowSelectionTableInstance<D>, \"selectedFlatRows\">>,\n Partial<UseHvTableStickyTableInstance<D>>,\n Partial<UseHvHeaderGroupsInstance>,\n Partial<UseHvPaginationTableInstance<D>>,\n Partial<UseHvBulkActionsTableInstanceProps<D>> {\n initialState: Partial<HvTableState<D>>;\n state: HvTableState<D>;\n columns: Array<HvColumnInstance<D, H>>;\n allColumns: Array<HvColumnInstance<D, H>>;\n visibleColumns: Array<HvColumnInstance<D, H>>;\n headers: Array<HvColumnInstance<D, H>>;\n flatHeaders: Array<HvColumnInstance<D, H>>;\n rows: Array<HvRowInstance<D, H>>;\n page: Array<HvRowInstance<D, H>>;\n rowsById: Record<string, HvRowInstance<D, H>>;\n flatRows: Array<HvRowInstance<D, H>>;\n getHooks: () => HvHooks<D>;\n getTableProps: (propGetter?: HvTablePropGetter<D, H>) => HvUseTableProps;\n prepareRow: (row: HvRowInstance<D, H>) => void;\n selectedFlatRows: Array<HvRowInstance<D, H>>;\n initialRows: Array<HvRowInstance<D, H>>;\n initialRowsById: Record<string, HvRowInstance<D, H>>;\n labels: Record<string, string>;\n headerGroups: Array<HvHeaderGroup<D, H>>;\n footerGroups: Array<HvHeaderGroup<D, H>>;\n}\n\nexport interface HvColumnInstance<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n> extends Omit<\n ColumnInstance<D>,\n | \"Cell\"\n | \"columns\"\n | \"parent\"\n | \"placeholderOf\"\n | \"id\"\n | \"Header\"\n | \"getHeaderProps\"\n | \"getFooterProps\"\n | \"Footer\"\n >,\n HvTableColumnOptions<D, H>,\n Partial<UseFiltersColumnProps<D>>,\n Partial<UseGroupByColumnProps<D>>,\n Partial<UseResizeColumnsColumnProps<D>>,\n Partial<UseSortByColumnProps<D>> {\n Cell?: Renderer<HvCellProps<D, H>>;\n columns: Array<HvColumnInstance<D, H>>;\n parent: HvColumnInstance<D, H>;\n placeholderOf?: HvColumnInstance<D, H>;\n getHeaderProps: (\n propGetter?: HvHeaderPropGetter<D, H>\n ) => HvUseTableHeaderProps;\n getFooterProps: (\n propGetter?: HvFooterPropGetter<D, H>\n ) => HvUseTableFooterProps;\n}\n\nexport interface HvRowInstance<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n> extends Omit<Row<D>, \"cells\" | \"allCells\" | \"subRows\" | \"getRowProps\">,\n Partial<Omit<UseGroupByRowProps<D>, \"subRows\" | \"values\">>,\n Partial<UseRowStateRowProps<D>>,\n Partial<Omit<UseHvRowExpandRowInstance<D>, \"subRows\">>,\n Partial<UseHvRowSelectionRowInstance> {\n cells: Array<HvCellInstance<D, H>>;\n allCells: Array<HvCellInstance<D, H>>;\n getRowProps: (propGetter?: HvRowPropGetter<D, H>) => HvUseTableRowProps;\n index: number;\n original: D;\n id: string;\n subRows: Array<HvRowInstance<D, H>>;\n}\n\nexport interface HvCellInstance<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer,\n V = any\n> extends Omit<Cell<D, V>, \"column\" | \"row\" | \"getCellProps\">,\n Partial<UseGroupByCellProps<D>> {\n column: HvColumnInstance<D, H>;\n row: HvRowInstance<D, H>;\n getCellProps: (propGetter?: HvCellPropGetter<D, H>) => HvUseTableCellProps;\n}\n// #endregion\n\n// #region PROPS\nexport interface HvUseTableProps\n extends Omit<TableProps, \"role\">,\n UseHvTableStickyTableProps,\n HvTableProps {}\n\nexport interface HvUseTableHeaderProps\n extends Omit<TableHeaderProps, \"role\">,\n Omit<UseHvTableStylesTableCellProps, \"classes\">,\n UseHvTableStickyColumnProps,\n UseHvHeaderGroupsColumnProps,\n UseHvResizeColumnProps,\n Omit<UseHvSortByColumnProps, \"sortDirection\">,\n HvTableHeaderProps {}\n\nexport interface HvUseTableFooterProps\n extends TableFooterProps,\n UseHvTableStylesTableCellProps {}\n\nexport interface HvUseTableRowProps\n extends Omit<TableRowProps, \"role\">,\n UseHvTableStylesTableRowProps,\n UseHvRowSelectionTableRowProps,\n UseHvRowExpandTableRowProps,\n HvTableRowProps {}\n\nexport interface HvUseTableCellProps\n extends Omit<TableCellProps, \"role\">,\n Omit<UseHvTableStylesTableCellProps, \"variant\" | \"classes\">,\n UseHvTableStickyCellProps,\n UseHvHeaderGroupsCellProps,\n UseHvResizeTableCellProps,\n UseHvSortByTableCellProps,\n HvTableCellProps {}\n\n// #endregion\n\nexport type UseHvTableProps = <\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n>(\n options: HvTableOptions<D, H>,\n ...plugins: Array<PluginHook<D>>\n) => HvTableInstance<D, H>;\n\nexport { PluginHook as HvTablePluginHook };\n\n// #endregion ##### TYPES #####\n\nconst toTitleCase = (str: string) => {\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\nfunction useDefaultData<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n>(data?: HvTableOptions<D, H>[\"data\"]) {\n return useMemo(() => {\n return data || [];\n }, [data]);\n}\n\nfunction useDefaultColumns<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n>(\n data: NonNullable<HvTableOptions<D, H>[\"data\"]>,\n columns?: HvTableOptions<D, H>[\"columns\"]\n) {\n return useMemo(() => {\n if (columns != null) {\n return columns;\n }\n\n const uniqueKeys = Object.keys(Object.assign({}, ...data));\n\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}\n\nfunction ensureCorePluginInstallation<\n D extends object = Record<string, unknown>\n>(\n plugins: PluginHook<D>[],\n hvPluginName: string,\n corePluginToInstall: PluginHook<D>\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\nfunction useInstanceHook<D extends object = Record<string, unknown>>(\n instance: TableInstance<D>\n) {\n const { rowsById } = instance;\n\n Object.assign(instance, {\n initialRowsById: rowsById,\n });\n}\n\nfunction useHvTableSetup<D extends object = Record<string, unknown>>(\n hooks: Hooks<D>\n) {\n hooks.useInstance.push(useInstanceHook);\n}\nuseHvTableSetup.pluginName = \"useHvTableSetup\";\n\nfunction useHvTable<\n D extends object = Record<string, unknown>,\n H extends HvTableHeaderRenderer | undefined = HvTableHeaderRenderer\n>(\n options: HvTableOptions<D, H>,\n ...plugins: PluginHook<D>[]\n): HvTableInstance<D, H> {\n const { data: dataProp, columns: columnsProp, ...others } = options;\n\n const data = useDefaultData<D, H>(dataProp);\n const columns = useDefaultColumns<D, H>(data, columnsProp);\n\n ensureCorePluginInstallation<D>(plugins, \"useHvPagination\", usePagination);\n ensureCorePluginInstallation<D>(plugins, \"useHvRowExpand\", useExpanded);\n ensureCorePluginInstallation<D>(plugins, \"useHvSortBy\", useSortBy);\n ensureCorePluginInstallation<D>(\n plugins,\n \"useHvResizeColumns\",\n useResizeColumns\n );\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 } as any,\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":";;;;;AAmlBA,MAAMA,cAAcA,CAACC,QAAgB;AAC5BA,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,SAASC,eAGPC,MAAqC;AACrC,SAAOC,cAAQ,MAAM;AACnB,WAAOD,QAAQ,CAAA;AAAA,EAAE,GAChB,CAACA,IAAI,CAAC;AACX;AAEA,SAASE,kBAIPF,MACAG,SACA;AACA,SAAOF,cAAQ,MAAM;AACnB,QAAIE,WAAW,MAAM;AACZA,aAAAA;AAAAA,IACT;AAEMC,UAAAA,aAAaC,OAAOC,KAAKD,OAAOE,OAAO,CAAC,GAAG,GAAGP,IAAI,CAAC;AAEzD,WAAOI,WACJI,OAAQC,CAAQ,QAAA,CAAC,CAAC,WAAW,cAAc,EAAEC,SAASD,GAAG,CAAC,EAC1DE,IAAKF,CAAS,SAAA;AAAA,MACbG,UAAUH;AAAAA,MACVI,QAAQrB,YAAYiB,GAAG;AAAA,IACvB,EAAA;AAAA,EAAA,GACH,CAACN,SAASH,IAAI,CAAC;AACpB;AAEA,SAASc,6BAGPC,SACAC,cACAC,qBACA;AACA,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,SAASO,gBACPC,UACA;AACM,QAAA;AAAA,IAAEC;AAAAA,EAAaD,IAAAA;AAErBpB,SAAOE,OAAOkB,UAAU;AAAA,IACtBE,iBAAiBD;AAAAA,EAAAA,CAClB;AACH;AAEA,SAASE,gBACPC,OACA;AACMC,QAAAA,YAAYC,KAAKP,eAAe;AACxC;AACAI,gBAAgBP,aAAa;AAE7B,SAASW,WAIPC,YACGlB,SACoB;AACjB,QAAA;AAAA,IAAEf,MAAMkC;AAAAA,IAAU/B,SAASgC;AAAAA,IAAa,GAAGC;AAAAA,EAAWH,IAAAA;AAEtDjC,QAAAA,OAAOD,eAAqBmC,QAAQ;AACpC/B,QAAAA,UAAUD,kBAAwBF,MAAMmC,WAAW;AAEzBpB,+BAAAA,SAAS,mBAAmBsB,WAAAA,aAAa;AACzCtB,+BAAAA,SAAS,kBAAkBuB,WAAAA,WAAW;AACtCvB,+BAAAA,SAAS,eAAewB,WAAAA,SAAS;AAE/DxB,+BAAAA,SACA,sBACAyB,WAAAA,gBAAgB;AAGlB,QAAMC,6BAA6B1B,QAAQI,UACxCC,CAAWA,WAAAA,OAAOC,eAAe,kBAAkB;AAEtD,MAAIoB,+BAA+B,IAAI;AACrC1B,YAAQgB,KAAKW,eAAAA,OAAgB;AAAA,EAC/B;AAGA,SAAOC,oBACL;AAAA,IACE3C;AAAAA,IACAG;AAAAA,IACA,GAAGiC;AAAAA,EAAAA,GAELR,iBACA,GAAGb,OAAO;AAEd;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"DateColumnCell.cjs","sources":["../../../../../../src/components/Table/renderers/DateColumnCell/DateColumnCell.tsx"],"sourcesContent":["import { useMemo } from \"react\";\nimport dayjs from \"dayjs\";\nimport { HvOverflowTooltip } from \"~/components\";\n\nexport interface HvDateColumnCellProp {\n /** The date's text representation format. */\n dateFormat?: string;\n /** Date to render. */\n date?: string;\n}\n\nconst HvDateColumnCell = ({\n date,\n dateFormat,\n}: HvDateColumnCellProp): JSX.Element | null => {\n const formattedDate = useMemo(() => {\n if (date)\n return dayjs(date).format(\n dateFormat !== \"ISO8601\" ? dateFormat : undefined\n );\n return \"—\";\n }, [date, dateFormat]);\n\n return <HvOverflowTooltip data={formattedDate} />;\n};\n\nexport default HvDateColumnCell;\n"],"names":["HvDateColumnCell","date","dateFormat","formattedDate","useMemo","dayjs","format","undefined","HvOverflowTooltip","data"],"mappings":";;;;;;;;AAWA,MAAMA,mBAAmBA,CAAC;AAAA,EACxBC;AAAAA,EACAC;AACoB,MAA0B;AACxCC,QAAAA,gBAAgBC,MAAAA,QAAQ,MAAM;AAC9BH,QAAAA;AACF,aAAOI,uBAAMJ,IAAI,EAAEK,OACjBJ,eAAe,YAAYA,aAAaK,MAAS;AAE9C,WAAA;AAAA,EAAA,GACN,CAACN,MAAMC,UAAU,CAAC;AAErB,wCAAQM,gBAAAA,mBAAiB;AAAA,IAACC,MAAMN;AAAAA,EAAAA,CAAiB;AACnD;AAEA,MAAA,iBAAeH;;"}
1
+ {"version":3,"file":"DateColumnCell.cjs","sources":["../../../../../../src/components/Table/renderers/DateColumnCell/DateColumnCell.tsx"],"sourcesContent":["import { useMemo } from \"react\";\nimport dayjs from \"dayjs\";\nimport { HvOverflowTooltip } from \"~/components\";\n\nexport interface HvDateColumnCellProp {\n /** The date's text representation format. */\n dateFormat?: string;\n /** Date to render. */\n date?: string;\n}\n\nconst HvDateColumnCell = ({\n date,\n dateFormat,\n}: HvDateColumnCellProp): JSX.Element => {\n const formattedDate = useMemo(() => {\n if (date)\n return dayjs(date).format(\n dateFormat !== \"ISO8601\" ? dateFormat : undefined\n );\n return \"—\";\n }, [date, dateFormat]);\n\n return <HvOverflowTooltip data={formattedDate} />;\n};\n\nexport default HvDateColumnCell;\n"],"names":["HvDateColumnCell","date","dateFormat","formattedDate","useMemo","dayjs","format","undefined","HvOverflowTooltip","data"],"mappings":";;;;;;;;AAWA,MAAMA,mBAAmBA,CAAC;AAAA,EACxBC;AAAAA,EACAC;AACoB,MAAmB;AACjCC,QAAAA,gBAAgBC,MAAAA,QAAQ,MAAM;AAC9BH,QAAAA;AACF,aAAOI,uBAAMJ,IAAI,EAAEK,OACjBJ,eAAe,YAAYA,aAAaK,MAAS;AAE9C,WAAA;AAAA,EAAA,GACN,CAACN,MAAMC,UAAU,CAAC;AAErB,wCAAQM,gBAAAA,mBAAiB;AAAA,IAACC,MAAMN;AAAAA,EAAAA,CAAiB;AACnD;AAEA,MAAA,iBAAeH;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownColumnCell.cjs","sources":["../../../../../../src/components/Table/renderers/DropdownColumnCell/DropdownColumnCell.tsx"],"sourcesContent":["import { HvDropdownProps, HvDropdown, HvListValue } from \"~/components\";\n\nexport interface HvDropdownColumnCellProp {\n /** Values to render in the dropdown. */\n values: HvListValue[];\n /** Placeholder text for when the dropdown is empty. */\n placeholder: string;\n /** The whether the dropdown is disabled. */\n disabled: boolean;\n /** Function called when there is change on the dropdown. */\n onChange?: (value: HvListValue) => void;\n /** Extra props to be passed onto the dropdown. */\n dropdownProps?: HvDropdownProps;\n}\n\nconst HvDateColumnCell = ({\n values,\n disabled,\n onChange,\n placeholder,\n dropdownProps,\n}: HvDropdownColumnCellProp): JSX.Element | null => {\n return (\n <HvDropdown\n onChange={(item) => {\n onChange?.(item as HvListValue);\n }}\n placeholder={placeholder}\n disabled={disabled}\n values={values}\n disablePortal\n {...dropdownProps}\n />\n );\n};\n\nexport default HvDateColumnCell;\n"],"names":["HvDateColumnCell","values","disabled","onChange","placeholder","dropdownProps","HvDropdown","item","disablePortal"],"mappings":";;;;AAeA,MAAMA,mBAAmBA,CAAC;AAAA,EACxBC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AACwB,MAA0B;AAClD,wCACGC,SAAAA,YAAU;AAAA,IACTH,UAAWI,CAAS,SAAA;AAClBJ,2CAAWI;AAAAA,IACb;AAAA,IACAH;AAAAA,IACAF;AAAAA,IACAD;AAAAA,IACAO,eAAa;AAAA,IAAA,GACTH;AAAAA,EAAAA,CACJ;AAEN;AAEA,MAAA,qBAAeL;;"}
1
+ {"version":3,"file":"DropdownColumnCell.cjs","sources":["../../../../../../src/components/Table/renderers/DropdownColumnCell/DropdownColumnCell.tsx"],"sourcesContent":["import { HvDropdownProps, HvDropdown, HvListValue } from \"~/components\";\n\nexport interface HvDropdownColumnCellProp {\n /** Values to render in the dropdown. */\n values: HvListValue[];\n /** Placeholder text for when the dropdown is empty. */\n placeholder: string;\n /** The whether the dropdown is disabled. */\n disabled: boolean;\n /** Function called when there is change on the dropdown. */\n onChange?: (value: HvListValue) => void;\n /** Extra props to be passed onto the dropdown. */\n dropdownProps?: HvDropdownProps;\n}\n\nconst HvDateColumnCell = ({\n values,\n disabled,\n onChange,\n placeholder,\n dropdownProps,\n}: HvDropdownColumnCellProp): JSX.Element => {\n return (\n <HvDropdown\n onChange={(item) => {\n onChange?.(item as HvListValue);\n }}\n placeholder={placeholder}\n disabled={disabled}\n values={values}\n disablePortal\n {...dropdownProps}\n />\n );\n};\n\nexport default HvDateColumnCell;\n"],"names":["HvDateColumnCell","values","disabled","onChange","placeholder","dropdownProps","HvDropdown","item","disablePortal"],"mappings":";;;;AAeA,MAAMA,mBAAmBA,CAAC;AAAA,EACxBC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AACwB,MAAmB;AAC3C,wCACGC,SAAAA,YAAU;AAAA,IACTH,UAAWI,CAAS,SAAA;AAClBJ,2CAAWI;AAAAA,IACb;AAAA,IACAH;AAAAA,IACAF;AAAAA,IACAD;AAAAA,IACAO,eAAa;AAAA,IAAA,GACTH;AAAAA,EAAAA,CACJ;AAEN;AAEA,MAAA,qBAAeL;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ProgressColumnCell.cjs","sources":["../../../../../../src/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.tsx"],"sourcesContent":["import {\n StyledRoot,\n StyledContainer,\n StyledLinearProgress,\n} from \"./ProgressColumnCell.styles\";\n\nexport interface HvProgressColumnCellProp {\n /** Current value of the bar. */\n partial: number;\n /** Maximum value of the bar. */\n total: number;\n /** The color of the bar. */\n color?: \"primary\" | \"secondary\";\n}\n\nexport const normalizeProgressBar = (value: number, max: number) => {\n return max > 0 ? Math.floor((value * 100) / max) : 0;\n};\n\nconst HvProgressColumnCell = ({\n partial,\n total,\n color = \"primary\",\n}: HvProgressColumnCellProp): JSX.Element | null => {\n const percentage = normalizeProgressBar(partial, total);\n\n return (\n <StyledRoot>\n <StyledContainer>\n <StyledLinearProgress\n color={color}\n variant=\"determinate\"\n value={percentage}\n />\n </StyledContainer>\n </StyledRoot>\n );\n};\n\nexport default HvProgressColumnCell;\n"],"names":["normalizeProgressBar","value","max","Math","floor","HvProgressColumnCell","partial","total","color","percentage","StyledRoot","children","StyledContainer","StyledLinearProgress","variant"],"mappings":";;;;AAeaA,MAAAA,uBAAuBA,CAACC,OAAeC,QAAgB;AAClE,SAAOA,MAAM,IAAIC,KAAKC,MAAOH,QAAQ,MAAOC,GAAG,IAAI;AACrD;AAEA,MAAMG,uBAAuBA,CAAC;AAAA,EAC5BC;AAAAA,EACAC;AAAAA,EACAC,QAAQ;AACgB,MAA0B;AAC5CC,QAAAA,aAAaT,qBAAqBM,SAASC,KAAK;AAEtD,wCACGG,0BAAAA,YAAU;AAAA,IAAAC,yCACRC,2CAAe;AAAA,MAAAD,yCACbE,gDAAoB;AAAA,QACnBL;AAAAA,QACAM,SAAQ;AAAA,QACRb,OAAOQ;AAAAA,MAAAA,CAAW;AAAA,IAAA,CAClB;AAAA,EAAA,CAEO;AAEjB;AAEA,MAAA,qBAAeJ;;;"}
1
+ {"version":3,"file":"ProgressColumnCell.cjs","sources":["../../../../../../src/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.tsx"],"sourcesContent":["import {\n StyledRoot,\n StyledContainer,\n StyledLinearProgress,\n} from \"./ProgressColumnCell.styles\";\n\nexport interface HvProgressColumnCellProp {\n /** Current value of the bar. */\n partial: number;\n /** Maximum value of the bar. */\n total: number;\n /** The color of the bar. */\n color?: \"primary\" | \"secondary\";\n}\n\nexport const normalizeProgressBar = (value: number, max: number) => {\n return max > 0 ? Math.floor((value * 100) / max) : 0;\n};\n\nconst HvProgressColumnCell = ({\n partial,\n total,\n color = \"primary\",\n}: HvProgressColumnCellProp): JSX.Element => {\n const percentage = normalizeProgressBar(partial, total);\n\n return (\n <StyledRoot>\n <StyledContainer>\n <StyledLinearProgress\n color={color}\n variant=\"determinate\"\n value={percentage}\n />\n </StyledContainer>\n </StyledRoot>\n );\n};\n\nexport default HvProgressColumnCell;\n"],"names":["normalizeProgressBar","value","max","Math","floor","HvProgressColumnCell","partial","total","color","percentage","StyledRoot","children","StyledContainer","StyledLinearProgress","variant"],"mappings":";;;;AAeaA,MAAAA,uBAAuBA,CAACC,OAAeC,QAAgB;AAClE,SAAOA,MAAM,IAAIC,KAAKC,MAAOH,QAAQ,MAAOC,GAAG,IAAI;AACrD;AAEA,MAAMG,uBAAuBA,CAAC;AAAA,EAC5BC;AAAAA,EACAC;AAAAA,EACAC,QAAQ;AACgB,MAAmB;AACrCC,QAAAA,aAAaT,qBAAqBM,SAASC,KAAK;AAEtD,wCACGG,0BAAAA,YAAU;AAAA,IAAAC,yCACRC,2CAAe;AAAA,MAAAD,yCACbE,gDAAoB;AAAA,QACnBL;AAAAA,QACAM,SAAQ;AAAA,QACRb,OAAOQ;AAAAA,MAAAA,CAAW;AAAA,IAAA,CAClB;AAAA,EAAA,CAEO;AAEjB;AAEA,MAAA,qBAAeJ;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"SwitchColumnCell.cjs","sources":["../../../../../../src/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.tsx"],"sourcesContent":["import { HvBaseSwitch, HvBaseSwitchProps } from \"~/components\";\nimport { StyledYes, StyledNo } from \"./SwitchColumnCell.styles\";\n\nexport interface HvSwitchColumnCellProp {\n /** Whether the switch is checked or not. */\n checked: boolean;\n /** The switch label. */\n value: number | string | undefined;\n /** The value of the switch. */\n switchLabel: string;\n /** The right switch label. */\n falseLabel?: string;\n /** The left switch label. */\n trueLabel?: string;\n /** Extra props to be passed to the switch. */\n switchProps?: HvBaseSwitchProps;\n}\n\nconst HvSwitchColumnCell = ({\n checked,\n value,\n switchLabel,\n falseLabel,\n trueLabel,\n switchProps,\n}: HvSwitchColumnCellProp): JSX.Element | null => {\n return (\n <>\n {falseLabel != null && (\n <StyledNo aria-hidden=\"true\" variant=\"body\">\n {falseLabel}\n </StyledNo>\n )}\n <HvBaseSwitch\n aria-label={switchLabel}\n checked={checked}\n value={value}\n {...switchProps}\n />\n {trueLabel != null && (\n <StyledYes aria-hidden=\"true\" variant=\"body\">\n {trueLabel}\n </StyledYes>\n )}\n </>\n );\n};\n\nexport default HvSwitchColumnCell;\n"],"names":["HvSwitchColumnCell","checked","value","switchLabel","falseLabel","trueLabel","switchProps","_Fragment","children","StyledNo","variant","_jsx","HvBaseSwitch","StyledYes"],"mappings":";;;;;AAkBA,MAAMA,qBAAqBA,CAAC;AAAA,EAC1BC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AACsB,MAA0B;AAChD,yCACEC,WAAAA,UAAA;AAAA,IAAAC,WACGJ,cAAc,uCACZK,wBAAAA,UAAQ;AAAA,MAAC,eAAY;AAAA,MAAOC,SAAQ;AAAA,MAAMF,UACxCJ;AAAAA,IAAAA,CAEJ,GACDO,2BAAAA,IAACC,yBAAY;AAAA,MACX,cAAYT;AAAAA,MACZF;AAAAA,MACAC;AAAAA,MAAa,GACTI;AAAAA,IAAW,CAAA,GAEhBD,aAAa,uCACXQ,wBAAAA,WAAS;AAAA,MAAC,eAAY;AAAA,MAAOH,SAAQ;AAAA,MAAMF,UACzCH;AAAAA,IAAAA,CAEJ,CAAA;AAAA,EAAA,CACA;AAEP;AAEA,MAAA,mBAAeL;;"}
1
+ {"version":3,"file":"SwitchColumnCell.cjs","sources":["../../../../../../src/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.tsx"],"sourcesContent":["import { HvBaseSwitch, HvBaseSwitchProps } from \"~/components\";\nimport { StyledYes, StyledNo } from \"./SwitchColumnCell.styles\";\n\nexport interface HvSwitchColumnCellProp {\n /** Whether the switch is checked or not. */\n checked: boolean;\n /** The switch label. */\n value: number | string | undefined;\n /** The value of the switch. */\n switchLabel: string;\n /** The right switch label. */\n falseLabel?: string;\n /** The left switch label. */\n trueLabel?: string;\n /** Extra props to be passed to the switch. */\n switchProps?: HvBaseSwitchProps;\n}\n\nconst HvSwitchColumnCell = ({\n checked,\n value,\n switchLabel,\n falseLabel,\n trueLabel,\n switchProps,\n}: HvSwitchColumnCellProp): JSX.Element => {\n return (\n <>\n {falseLabel != null && (\n <StyledNo aria-hidden=\"true\" variant=\"body\">\n {falseLabel}\n </StyledNo>\n )}\n <HvBaseSwitch\n aria-label={switchLabel}\n checked={checked}\n value={value}\n {...switchProps}\n />\n {trueLabel != null && (\n <StyledYes aria-hidden=\"true\" variant=\"body\">\n {trueLabel}\n </StyledYes>\n )}\n </>\n );\n};\n\nexport default HvSwitchColumnCell;\n"],"names":["HvSwitchColumnCell","checked","value","switchLabel","falseLabel","trueLabel","switchProps","_Fragment","children","StyledNo","variant","_jsx","HvBaseSwitch","StyledYes"],"mappings":";;;;;AAkBA,MAAMA,qBAAqBA,CAAC;AAAA,EAC1BC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AACsB,MAAmB;AACzC,yCACEC,WAAAA,UAAA;AAAA,IAAAC,WACGJ,cAAc,uCACZK,wBAAAA,UAAQ;AAAA,MAAC,eAAY;AAAA,MAAOC,SAAQ;AAAA,MAAMF,UACxCJ;AAAAA,IAAAA,CAEJ,GACDO,2BAAAA,IAACC,yBAAY;AAAA,MACX,cAAYT;AAAAA,MACZF;AAAAA,MACAC;AAAAA,MAAa,GACTI;AAAAA,IAAW,CAAA,GAEhBD,aAAa,uCACXQ,wBAAAA,WAAS;AAAA,MAAC,eAAY;AAAA,MAAOH,SAAQ;AAAA,MAAMF,UACzCH;AAAAA,IAAAA,CAEJ,CAAA;AAAA,EAAA,CACA;AAEP;AAEA,MAAA,mBAAeL;;"}
@@ -15,7 +15,7 @@ const setId = require("../../../utils/setId.cjs");
15
15
  function hvTextColumn(col) {
16
16
  return {
17
17
  Cell: (cellProps) => /* @__PURE__ */ jsxRuntime.jsx(OverflowTooltip.HvOverflowTooltip, {
18
- data: fallbacks.hvStringFallback(cellProps == null ? void 0 : cellProps.value)
18
+ data: fallbacks.hvStringFallback(cellProps.value)
19
19
  }),
20
20
  sortType: "alphanumeric",
21
21
  ...col
@@ -23,9 +23,9 @@ function hvTextColumn(col) {
23
23
  }
24
24
  function hvNumberColumn(col) {
25
25
  return {
26
- Cell: ({
27
- value
28
- }) => fallbacks.hvNumberFallback(value),
26
+ Cell: (cellProps) => /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, {
27
+ children: fallbacks.hvNumberFallback(cellProps.value)
28
+ }),
29
29
  align: "right",
30
30
  sortType: "number",
31
31
  ...col
@@ -34,7 +34,7 @@ function hvNumberColumn(col) {
34
34
  function hvDateColumn(col, dateFormat) {
35
35
  return {
36
36
  Cell: (cellProps) => /* @__PURE__ */ jsxRuntime.jsx(DateColumnCell.default, {
37
- date: cellProps == null ? void 0 : cellProps.value,
37
+ date: cellProps.value,
38
38
  dateFormat
39
39
  }),
40
40
  sortType: "alphanumeric",
@@ -45,13 +45,12 @@ function hvDateColumn(col, dateFormat) {
45
45
  function hvExpandColumn(col, expandRowButtonAriaLabel, collapseRowButtonAriaLabel, getCanRowExpand) {
46
46
  return {
47
47
  Cell: (cellProps) => {
48
+ var _a;
48
49
  const {
49
50
  value,
50
51
  row
51
52
  } = cellProps;
52
- const {
53
- onClick
54
- } = row.getToggleRowExpandedProps();
53
+ const expandedProps = (_a = row.getToggleRowExpandedProps) == null ? void 0 : _a.call(row);
55
54
  const hasContent = (getCanRowExpand == null ? void 0 : getCanRowExpand(row)) ?? true;
56
55
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, {
57
56
  children: [hasContent && /* @__PURE__ */ jsxRuntime.jsx(Button.HvButton, {
@@ -59,7 +58,7 @@ function hvExpandColumn(col, expandRowButtonAriaLabel, collapseRowButtonAriaLabe
59
58
  variant: "secondaryGhost",
60
59
  "aria-label": row.isExpanded ? collapseRowButtonAriaLabel : expandRowButtonAriaLabel,
61
60
  "aria-expanded": row.isExpanded,
62
- onClick,
61
+ onClick: expandedProps == null ? void 0 : expandedProps.onClick,
63
62
  style: {
64
63
  position: "absolute",
65
64
  left: 0,
@@ -71,7 +70,6 @@ function hvExpandColumn(col, expandRowButtonAriaLabel, collapseRowButtonAriaLabe
71
70
  })]
72
71
  });
73
72
  },
74
- // @ts-ignore
75
73
  sortType: "alphanumeric",
76
74
  cellStyle: {
77
75
  position: "relative"
@@ -87,7 +85,9 @@ function hvTagColumn(col, valueDataKey, colorDataKey, textColorDataKey, fromRowD
87
85
  row
88
86
  } = cellProps;
89
87
  if (!value) {
90
- return "—";
88
+ return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, {
89
+ children: "—"
90
+ });
91
91
  }
92
92
  const {
93
93
  [valueDataKey]: name,
@@ -179,7 +179,9 @@ function hvProgressColumn(col, getPartial, getTotal, color) {
179
179
  color
180
180
  });
181
181
  }
182
- return "—";
182
+ return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, {
183
+ children: "—"
184
+ });
183
185
  },
184
186
  cellStyle: {
185
187
  paddingTop: 0,