@hitachivantara/uikit-react-core 5.0.0-next.4 → 5.0.0-next.5

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 (630) hide show
  1. package/dist/cjs/components/Accordion/Accordion.cjs.map +1 -1
  2. package/dist/cjs/components/ActionBar/ActionBar.cjs.map +1 -1
  3. package/dist/cjs/components/ActionsGeneric/ActionsGeneric.cjs.map +1 -1
  4. package/dist/cjs/components/AppSwitcher/Action/Action.cjs.map +1 -1
  5. package/dist/cjs/components/AppSwitcher/AppSwitcher.cjs.map +1 -1
  6. package/dist/cjs/components/Avatar/Avatar.cjs.map +1 -1
  7. package/dist/cjs/components/Badge/Badge.cjs.map +1 -1
  8. package/dist/cjs/components/Banner/Banner.cjs.map +1 -1
  9. package/dist/cjs/components/Banner/BannerContent/ActionContainer/ActionContainer.cjs.map +1 -1
  10. package/dist/cjs/components/Banner/BannerContent/BannerContent.cjs.map +1 -1
  11. package/dist/cjs/components/Banner/BannerContent/MessageContainer/MessageContainer.cjs.map +1 -1
  12. package/dist/cjs/components/BaseCheckBox/BaseCheckBox.styles.cjs +2 -2
  13. package/dist/cjs/components/BaseCheckBox/BaseCheckBox.styles.cjs.map +1 -1
  14. package/dist/cjs/components/BaseInput/BaseInput.cjs +73 -39
  15. package/dist/cjs/components/BaseInput/BaseInput.cjs.map +1 -1
  16. package/dist/cjs/components/BaseInput/BaseInput.styles.cjs +3 -31
  17. package/dist/cjs/components/BaseInput/BaseInput.styles.cjs.map +1 -1
  18. package/dist/cjs/components/BaseRadio/BaseRadio.styles.cjs +2 -2
  19. package/dist/cjs/components/BaseRadio/BaseRadio.styles.cjs.map +1 -1
  20. package/dist/cjs/components/BreadCrumb/BreadCrumb.cjs.map +1 -1
  21. package/dist/cjs/components/Card/Card.cjs.map +1 -1
  22. package/dist/cjs/components/Card/Content/Content.cjs.map +1 -1
  23. package/dist/cjs/components/Card/Header/Header.cjs.map +1 -1
  24. package/dist/cjs/components/Card/Media/Media.cjs.map +1 -1
  25. package/dist/cjs/components/CheckBoxGroup/CheckBoxGroup.styles.cjs +4 -4
  26. package/dist/cjs/components/CheckBoxGroup/CheckBoxGroup.styles.cjs.map +1 -1
  27. package/dist/cjs/components/Container/Container.cjs.map +1 -1
  28. package/dist/cjs/components/Controls/Controls.cjs +75 -0
  29. package/dist/cjs/components/Controls/Controls.cjs.map +1 -0
  30. package/dist/cjs/components/Controls/Controls.styles.cjs +39 -0
  31. package/dist/cjs/components/Controls/Controls.styles.cjs.map +1 -0
  32. package/dist/cjs/components/Controls/LeftControl/LeftControl.cjs +45 -0
  33. package/dist/cjs/components/Controls/LeftControl/LeftControl.cjs.map +1 -0
  34. package/dist/cjs/components/Controls/LeftControl/LeftControl.styles.cjs +24 -0
  35. package/dist/cjs/components/Controls/LeftControl/LeftControl.styles.cjs.map +1 -0
  36. package/dist/cjs/components/Controls/LeftControl/leftControlClasses.cjs +8 -0
  37. package/dist/cjs/components/Controls/LeftControl/leftControlClasses.cjs.map +1 -0
  38. package/dist/cjs/components/Controls/RightControl/RightControl.cjs +50 -0
  39. package/dist/cjs/components/Controls/RightControl/RightControl.cjs.map +1 -0
  40. package/dist/cjs/components/Controls/RightControl/RightControl.styles.cjs +43 -0
  41. package/dist/cjs/components/Controls/RightControl/RightControl.styles.cjs.map +1 -0
  42. package/dist/cjs/components/Controls/RightControl/rightControlClasses.cjs +8 -0
  43. package/dist/cjs/components/Controls/RightControl/rightControlClasses.cjs.map +1 -0
  44. package/dist/cjs/components/Controls/context/ControlsContext.cjs +12 -0
  45. package/dist/cjs/components/Controls/context/ControlsContext.cjs.map +1 -0
  46. package/dist/cjs/components/Controls/index.cjs +7 -0
  47. package/dist/cjs/components/Controls/index.cjs.map +1 -0
  48. package/dist/cjs/components/Dialog/Dialog.cjs +1 -1
  49. package/dist/cjs/components/Dialog/Dialog.cjs.map +1 -1
  50. package/dist/cjs/components/DotPagination/DotPagination.styles.cjs +7 -5
  51. package/dist/cjs/components/DotPagination/DotPagination.styles.cjs.map +1 -1
  52. package/dist/cjs/components/DropDownMenu/DropDownMenu.cjs +1 -1
  53. package/dist/cjs/components/DropDownMenu/DropDownMenu.cjs.map +1 -1
  54. package/dist/cjs/components/Dropdown/Dropdown.cjs +5 -6
  55. package/dist/cjs/components/Dropdown/Dropdown.cjs.map +1 -1
  56. package/dist/cjs/components/Dropdown/List/List.cjs +9 -9
  57. package/dist/cjs/components/Dropdown/List/List.cjs.map +1 -1
  58. package/dist/cjs/components/Dropdown/List/List.styles.cjs +8 -5
  59. package/dist/cjs/components/Dropdown/List/List.styles.cjs.map +1 -1
  60. package/dist/cjs/components/Dropdown/List/{dropdownListClasses.cjs → listClasses.cjs} +1 -1
  61. package/dist/cjs/components/Dropdown/List/listClasses.cjs.map +1 -0
  62. package/dist/cjs/components/Dropdown/dropdownClasses.cjs +1 -1
  63. package/dist/cjs/components/Dropdown/dropdownClasses.cjs.map +1 -1
  64. package/dist/cjs/components/FileUploader/DropZone/DropZone.cjs +1 -1
  65. package/dist/cjs/components/FileUploader/DropZone/DropZone.cjs.map +1 -1
  66. package/dist/cjs/components/FileUploader/DropZone/DropZone.styles.cjs +15 -15
  67. package/dist/cjs/components/FileUploader/DropZone/DropZone.styles.cjs.map +1 -1
  68. package/dist/cjs/components/FileUploader/File/File.cjs.map +1 -1
  69. package/dist/cjs/components/FileUploader/FileList/FileList.cjs.map +1 -1
  70. package/dist/cjs/components/Focus/Focus.cjs +1 -1
  71. package/dist/cjs/components/Focus/Focus.cjs.map +1 -1
  72. package/dist/cjs/components/Footer/Footer.cjs.map +1 -1
  73. package/dist/cjs/components/Forms/Adornment/Adornment.cjs.map +1 -1
  74. package/dist/cjs/components/Forms/CharCounter/CharCounter.cjs.map +1 -1
  75. package/dist/cjs/components/Forms/FormElement/FormElement.cjs.map +1 -1
  76. package/dist/cjs/components/Forms/InfoMessage/InfoMessage.cjs.map +1 -1
  77. package/dist/cjs/components/Forms/Label/Label.cjs.map +1 -1
  78. package/dist/cjs/components/Forms/Suggestions/Suggestions.cjs.map +1 -1
  79. package/dist/cjs/components/Forms/WarningText/WarningText.cjs.map +1 -1
  80. package/dist/cjs/components/Forms/WarningText/WarningText.styles.cjs +4 -4
  81. package/dist/cjs/components/Forms/WarningText/WarningText.styles.cjs.map +1 -1
  82. package/dist/cjs/components/GlobalActions/GlobalActions.cjs +2 -2
  83. package/dist/cjs/components/GlobalActions/GlobalActions.cjs.map +1 -1
  84. package/dist/cjs/components/GlobalActions/GlobalActions.styles.cjs +5 -5
  85. package/dist/cjs/components/GlobalActions/GlobalActions.styles.cjs.map +1 -1
  86. package/dist/cjs/components/GlobalActions/globalActionsClasses.cjs +1 -1
  87. package/dist/cjs/components/GlobalActions/globalActionsClasses.cjs.map +1 -1
  88. package/dist/cjs/components/Input/Input.cjs.map +1 -1
  89. package/dist/cjs/components/Link/Link.cjs.map +1 -1
  90. package/dist/cjs/components/List/List.cjs.map +1 -1
  91. package/dist/cjs/components/ListContainer/ListContainer.cjs.map +1 -1
  92. package/dist/cjs/components/ListContainer/ListItem/ListItem.cjs.map +1 -1
  93. package/dist/cjs/components/MultiButton/MultiButton.cjs.map +1 -1
  94. package/dist/cjs/components/MultiButton/MultiButton.styles.cjs +7 -7
  95. package/dist/cjs/components/MultiButton/MultiButton.styles.cjs.map +1 -1
  96. package/dist/cjs/components/OverflowTooltip/OverflowTooltip.cjs.map +1 -1
  97. package/dist/cjs/components/Pagination/Pagination.cjs.map +1 -1
  98. package/dist/cjs/components/Pagination/utils.cjs.map +1 -1
  99. package/dist/cjs/components/ProgressBar/ProgressBar.cjs.map +1 -1
  100. package/dist/cjs/components/RadioGroup/RadioGroup.styles.cjs +4 -4
  101. package/dist/cjs/components/RadioGroup/RadioGroup.styles.cjs.map +1 -1
  102. package/dist/cjs/components/SelectionList/SelectionList.cjs.map +1 -1
  103. package/dist/cjs/components/Snackbar/Snackbar.cjs.map +1 -1
  104. package/dist/cjs/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.cjs.map +1 -1
  105. package/dist/cjs/components/Snackbar/SnackbarProvider/SnackbarProvider.cjs +2 -2
  106. package/dist/cjs/components/Snackbar/SnackbarProvider/SnackbarProvider.cjs.map +1 -1
  107. package/dist/cjs/components/Stack/Stack.cjs +3 -3
  108. package/dist/cjs/components/Stack/Stack.cjs.map +1 -1
  109. package/dist/cjs/components/Table/Table.cjs +1 -1
  110. package/dist/cjs/components/Table/Table.cjs.map +1 -1
  111. package/dist/cjs/components/Table/TableBody/TableBody.cjs +1 -1
  112. package/dist/cjs/components/Table/TableBody/TableBody.cjs.map +1 -1
  113. package/dist/cjs/components/Table/TableCell/TableCell.cjs +2 -2
  114. package/dist/cjs/components/Table/TableCell/TableCell.cjs.map +1 -1
  115. package/dist/cjs/components/Table/TableContainer/TableContainer.cjs +1 -1
  116. package/dist/cjs/components/Table/TableContainer/TableContainer.cjs.map +1 -1
  117. package/dist/cjs/components/Table/TableHead/TableHead.cjs +1 -1
  118. package/dist/cjs/components/Table/TableHead/TableHead.cjs.map +1 -1
  119. package/dist/cjs/components/Table/TableHeader/TableHeader.cjs +3 -3
  120. package/dist/cjs/components/Table/TableHeader/TableHeader.cjs.map +1 -1
  121. package/dist/cjs/components/Table/TableRow/TableRow.cjs +6 -6
  122. package/dist/cjs/components/Table/TableRow/TableRow.cjs.map +1 -1
  123. package/dist/cjs/components/Table/hooks/useBulkActions.cjs +0 -1
  124. package/dist/cjs/components/Table/hooks/useBulkActions.cjs.map +1 -1
  125. package/dist/cjs/components/Table/hooks/useHeaderGroups.cjs +0 -4
  126. package/dist/cjs/components/Table/hooks/useHeaderGroups.cjs.map +1 -1
  127. package/dist/cjs/components/Table/hooks/usePagination.cjs +0 -1
  128. package/dist/cjs/components/Table/hooks/usePagination.cjs.map +1 -1
  129. package/dist/cjs/components/Table/hooks/useResizeColumns.cjs +0 -3
  130. package/dist/cjs/components/Table/hooks/useResizeColumns.cjs.map +1 -1
  131. package/dist/cjs/components/Table/hooks/useRowExpand.cjs +0 -3
  132. package/dist/cjs/components/Table/hooks/useRowExpand.cjs.map +1 -1
  133. package/dist/cjs/components/Table/hooks/useRowSelection.cjs +0 -3
  134. package/dist/cjs/components/Table/hooks/useRowSelection.cjs.map +1 -1
  135. package/dist/cjs/components/Table/hooks/useSortBy.cjs +0 -3
  136. package/dist/cjs/components/Table/hooks/useSortBy.cjs.map +1 -1
  137. package/dist/cjs/components/Table/hooks/useSticky.cjs +0 -6
  138. package/dist/cjs/components/Table/hooks/useSticky.cjs.map +1 -1
  139. package/dist/cjs/components/Table/hooks/useTable.cjs +3 -4
  140. package/dist/cjs/components/Table/hooks/useTable.cjs.map +1 -1
  141. package/dist/cjs/components/Table/hooks/useTableStyles.cjs +0 -3
  142. package/dist/cjs/components/Table/hooks/useTableStyles.cjs.map +1 -1
  143. package/dist/cjs/components/Table/renderers/DateColumnCell/DateColumnCell.cjs +24 -0
  144. package/dist/cjs/components/Table/renderers/DateColumnCell/DateColumnCell.cjs.map +1 -0
  145. package/dist/cjs/components/Table/renderers/DropdownColumnCell/DropdownColumnCell.cjs +25 -0
  146. package/dist/cjs/components/Table/renderers/DropdownColumnCell/DropdownColumnCell.cjs.map +1 -0
  147. package/dist/cjs/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.cjs +27 -0
  148. package/dist/cjs/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.cjs.map +1 -0
  149. package/dist/cjs/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.styles.cjs +62 -0
  150. package/dist/cjs/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.styles.cjs.map +1 -0
  151. package/dist/cjs/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.cjs +33 -0
  152. package/dist/cjs/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.cjs.map +1 -0
  153. package/dist/cjs/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.styles.cjs +40 -0
  154. package/dist/cjs/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.styles.cjs.map +1 -0
  155. package/dist/cjs/components/Table/renderers/renderers.cjs +199 -0
  156. package/dist/cjs/components/Table/renderers/renderers.cjs.map +1 -0
  157. package/dist/cjs/components/Table/utils/utils.cjs +4 -4
  158. package/dist/cjs/components/Table/utils/utils.cjs.map +1 -1
  159. package/dist/cjs/components/Tabs/Tabs.styles.cjs +2 -2
  160. package/dist/cjs/components/Tabs/Tabs.styles.cjs.map +1 -1
  161. package/dist/cjs/components/Tag/Tag.cjs.map +1 -1
  162. package/dist/cjs/components/TagsInput/TagsInput.cjs +1 -1
  163. package/dist/cjs/components/TagsInput/TagsInput.cjs.map +1 -1
  164. package/dist/cjs/components/TagsInput/TagsInput.styles.cjs +37 -22
  165. package/dist/cjs/components/TagsInput/TagsInput.styles.cjs.map +1 -1
  166. package/dist/cjs/components/TagsInput/tagsInputClasses.cjs +1 -1
  167. package/dist/cjs/components/TagsInput/tagsInputClasses.cjs.map +1 -1
  168. package/dist/cjs/components/TextArea/TextArea.styles.cjs +10 -8
  169. package/dist/cjs/components/TextArea/TextArea.styles.cjs.map +1 -1
  170. package/dist/cjs/components/Tooltip/Tooltip.cjs.map +1 -1
  171. package/dist/cjs/components/Typography/Typography.cjs +6 -2
  172. package/dist/cjs/components/Typography/Typography.cjs.map +1 -1
  173. package/dist/cjs/components/Typography/typographyClasses.cjs +8 -0
  174. package/dist/cjs/components/Typography/typographyClasses.cjs.map +1 -0
  175. package/dist/cjs/hocs/withTooltip.cjs.map +1 -1
  176. package/dist/cjs/index.cjs +58 -3
  177. package/dist/cjs/index.cjs.map +1 -1
  178. package/dist/cjs/providers/ThemeProvider.cjs.map +1 -1
  179. package/dist/cjs/utils/theme.cjs +1 -0
  180. package/dist/cjs/utils/theme.cjs.map +1 -1
  181. package/dist/esm/components/Accordion/Accordion.js.map +1 -1
  182. package/dist/esm/components/ActionBar/ActionBar.js.map +1 -1
  183. package/dist/esm/components/ActionsGeneric/ActionsGeneric.js.map +1 -1
  184. package/dist/esm/components/AppSwitcher/Action/Action.js.map +1 -1
  185. package/dist/esm/components/AppSwitcher/AppSwitcher.js.map +1 -1
  186. package/dist/esm/components/Avatar/Avatar.js.map +1 -1
  187. package/dist/esm/components/Badge/Badge.js.map +1 -1
  188. package/dist/esm/components/Banner/Banner.js.map +1 -1
  189. package/dist/esm/components/Banner/BannerContent/ActionContainer/ActionContainer.js.map +1 -1
  190. package/dist/esm/components/Banner/BannerContent/BannerContent.js.map +1 -1
  191. package/dist/esm/components/Banner/BannerContent/MessageContainer/MessageContainer.js.map +1 -1
  192. package/dist/esm/components/BaseCheckBox/BaseCheckBox.styles.js +2 -2
  193. package/dist/esm/components/BaseCheckBox/BaseCheckBox.styles.js.map +1 -1
  194. package/dist/esm/components/BaseInput/BaseInput.js +74 -40
  195. package/dist/esm/components/BaseInput/BaseInput.js.map +1 -1
  196. package/dist/esm/components/BaseInput/BaseInput.styles.js +3 -31
  197. package/dist/esm/components/BaseInput/BaseInput.styles.js.map +1 -1
  198. package/dist/esm/components/BaseRadio/BaseRadio.styles.js +2 -2
  199. package/dist/esm/components/BaseRadio/BaseRadio.styles.js.map +1 -1
  200. package/dist/esm/components/BreadCrumb/BreadCrumb.js.map +1 -1
  201. package/dist/esm/components/Card/Card.js.map +1 -1
  202. package/dist/esm/components/Card/Content/Content.js.map +1 -1
  203. package/dist/esm/components/Card/Header/Header.js.map +1 -1
  204. package/dist/esm/components/Card/Media/Media.js.map +1 -1
  205. package/dist/esm/components/CheckBoxGroup/CheckBoxGroup.styles.js +4 -4
  206. package/dist/esm/components/CheckBoxGroup/CheckBoxGroup.styles.js.map +1 -1
  207. package/dist/esm/components/Container/Container.js.map +1 -1
  208. package/dist/esm/components/Controls/Controls.js +73 -0
  209. package/dist/esm/components/Controls/Controls.js.map +1 -0
  210. package/dist/esm/components/Controls/Controls.styles.js +37 -0
  211. package/dist/esm/components/Controls/Controls.styles.js.map +1 -0
  212. package/dist/esm/components/Controls/LeftControl/LeftControl.js +43 -0
  213. package/dist/esm/components/Controls/LeftControl/LeftControl.js.map +1 -0
  214. package/dist/esm/components/Controls/LeftControl/LeftControl.styles.js +22 -0
  215. package/dist/esm/components/Controls/LeftControl/LeftControl.styles.js.map +1 -0
  216. package/dist/esm/components/Controls/LeftControl/leftControlClasses.js +8 -0
  217. package/dist/esm/components/Controls/LeftControl/leftControlClasses.js.map +1 -0
  218. package/dist/esm/components/Controls/RightControl/RightControl.js +48 -0
  219. package/dist/esm/components/Controls/RightControl/RightControl.js.map +1 -0
  220. package/dist/esm/components/Controls/RightControl/RightControl.styles.js +41 -0
  221. package/dist/esm/components/Controls/RightControl/RightControl.styles.js.map +1 -0
  222. package/dist/esm/components/Controls/RightControl/rightControlClasses.js +8 -0
  223. package/dist/esm/components/Controls/RightControl/rightControlClasses.js.map +1 -0
  224. package/dist/esm/components/Controls/context/ControlsContext.js +10 -0
  225. package/dist/esm/components/Controls/context/ControlsContext.js.map +1 -0
  226. package/dist/esm/components/Controls/index.js +7 -0
  227. package/dist/esm/components/Controls/index.js.map +1 -0
  228. package/dist/esm/components/Dialog/Dialog.js +1 -1
  229. package/dist/esm/components/Dialog/Dialog.js.map +1 -1
  230. package/dist/esm/components/DotPagination/DotPagination.styles.js +7 -5
  231. package/dist/esm/components/DotPagination/DotPagination.styles.js.map +1 -1
  232. package/dist/esm/components/DropDownMenu/DropDownMenu.js +1 -1
  233. package/dist/esm/components/DropDownMenu/DropDownMenu.js.map +1 -1
  234. package/dist/esm/components/Dropdown/Dropdown.js +5 -6
  235. package/dist/esm/components/Dropdown/Dropdown.js.map +1 -1
  236. package/dist/esm/components/Dropdown/List/List.js +2 -2
  237. package/dist/esm/components/Dropdown/List/List.js.map +1 -1
  238. package/dist/esm/components/Dropdown/List/List.styles.js +8 -5
  239. package/dist/esm/components/Dropdown/List/List.styles.js.map +1 -1
  240. package/dist/esm/components/Dropdown/List/{dropdownListClasses.js → listClasses.js} +1 -1
  241. package/dist/esm/components/Dropdown/List/listClasses.js.map +1 -0
  242. package/dist/esm/components/Dropdown/dropdownClasses.js +1 -1
  243. package/dist/esm/components/Dropdown/dropdownClasses.js.map +1 -1
  244. package/dist/esm/components/FileUploader/DropZone/DropZone.js +1 -1
  245. package/dist/esm/components/FileUploader/DropZone/DropZone.js.map +1 -1
  246. package/dist/esm/components/FileUploader/DropZone/DropZone.styles.js +15 -15
  247. package/dist/esm/components/FileUploader/DropZone/DropZone.styles.js.map +1 -1
  248. package/dist/esm/components/FileUploader/File/File.js.map +1 -1
  249. package/dist/esm/components/FileUploader/FileList/FileList.js.map +1 -1
  250. package/dist/esm/components/Focus/Focus.js +1 -1
  251. package/dist/esm/components/Focus/Focus.js.map +1 -1
  252. package/dist/esm/components/Footer/Footer.js.map +1 -1
  253. package/dist/esm/components/Forms/Adornment/Adornment.js.map +1 -1
  254. package/dist/esm/components/Forms/CharCounter/CharCounter.js.map +1 -1
  255. package/dist/esm/components/Forms/FormElement/FormElement.js.map +1 -1
  256. package/dist/esm/components/Forms/InfoMessage/InfoMessage.js.map +1 -1
  257. package/dist/esm/components/Forms/Label/Label.js.map +1 -1
  258. package/dist/esm/components/Forms/Suggestions/Suggestions.js.map +1 -1
  259. package/dist/esm/components/Forms/WarningText/WarningText.js.map +1 -1
  260. package/dist/esm/components/Forms/WarningText/WarningText.styles.js +4 -4
  261. package/dist/esm/components/Forms/WarningText/WarningText.styles.js.map +1 -1
  262. package/dist/esm/components/GlobalActions/GlobalActions.js +2 -2
  263. package/dist/esm/components/GlobalActions/GlobalActions.js.map +1 -1
  264. package/dist/esm/components/GlobalActions/GlobalActions.styles.js +5 -5
  265. package/dist/esm/components/GlobalActions/GlobalActions.styles.js.map +1 -1
  266. package/dist/esm/components/GlobalActions/globalActionsClasses.js +1 -1
  267. package/dist/esm/components/GlobalActions/globalActionsClasses.js.map +1 -1
  268. package/dist/esm/components/Input/Input.js.map +1 -1
  269. package/dist/esm/components/Link/Link.js.map +1 -1
  270. package/dist/esm/components/List/List.js.map +1 -1
  271. package/dist/esm/components/ListContainer/ListContainer.js.map +1 -1
  272. package/dist/esm/components/ListContainer/ListItem/ListItem.js.map +1 -1
  273. package/dist/esm/components/MultiButton/MultiButton.js.map +1 -1
  274. package/dist/esm/components/MultiButton/MultiButton.styles.js +7 -7
  275. package/dist/esm/components/MultiButton/MultiButton.styles.js.map +1 -1
  276. package/dist/esm/components/OverflowTooltip/OverflowTooltip.js.map +1 -1
  277. package/dist/esm/components/Pagination/Pagination.js.map +1 -1
  278. package/dist/esm/components/Pagination/utils.js.map +1 -1
  279. package/dist/esm/components/ProgressBar/ProgressBar.js.map +1 -1
  280. package/dist/esm/components/RadioGroup/RadioGroup.styles.js +4 -4
  281. package/dist/esm/components/RadioGroup/RadioGroup.styles.js.map +1 -1
  282. package/dist/esm/components/SelectionList/SelectionList.js.map +1 -1
  283. package/dist/esm/components/Snackbar/Snackbar.js.map +1 -1
  284. package/dist/esm/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.js.map +1 -1
  285. package/dist/esm/components/Snackbar/SnackbarProvider/SnackbarProvider.js +2 -2
  286. package/dist/esm/components/Snackbar/SnackbarProvider/SnackbarProvider.js.map +1 -1
  287. package/dist/esm/components/Stack/Stack.js +2 -2
  288. package/dist/esm/components/Stack/Stack.js.map +1 -1
  289. package/dist/esm/components/Table/Table.js +1 -1
  290. package/dist/esm/components/Table/Table.js.map +1 -1
  291. package/dist/esm/components/Table/TableBody/TableBody.js +1 -1
  292. package/dist/esm/components/Table/TableBody/TableBody.js.map +1 -1
  293. package/dist/esm/components/Table/TableCell/TableCell.js +2 -2
  294. package/dist/esm/components/Table/TableCell/TableCell.js.map +1 -1
  295. package/dist/esm/components/Table/TableContainer/TableContainer.js +1 -1
  296. package/dist/esm/components/Table/TableContainer/TableContainer.js.map +1 -1
  297. package/dist/esm/components/Table/TableHead/TableHead.js +1 -1
  298. package/dist/esm/components/Table/TableHead/TableHead.js.map +1 -1
  299. package/dist/esm/components/Table/TableHeader/TableHeader.js +3 -3
  300. package/dist/esm/components/Table/TableHeader/TableHeader.js.map +1 -1
  301. package/dist/esm/components/Table/TableRow/TableRow.js +6 -6
  302. package/dist/esm/components/Table/TableRow/TableRow.js.map +1 -1
  303. package/dist/esm/components/Table/hooks/useBulkActions.js +1 -2
  304. package/dist/esm/components/Table/hooks/useBulkActions.js.map +1 -1
  305. package/dist/esm/components/Table/hooks/useHeaderGroups.js +1 -5
  306. package/dist/esm/components/Table/hooks/useHeaderGroups.js.map +1 -1
  307. package/dist/esm/components/Table/hooks/usePagination.js +1 -2
  308. package/dist/esm/components/Table/hooks/usePagination.js.map +1 -1
  309. package/dist/esm/components/Table/hooks/useResizeColumns.js +1 -4
  310. package/dist/esm/components/Table/hooks/useResizeColumns.js.map +1 -1
  311. package/dist/esm/components/Table/hooks/useRowExpand.js +1 -4
  312. package/dist/esm/components/Table/hooks/useRowExpand.js.map +1 -1
  313. package/dist/esm/components/Table/hooks/useRowSelection.js +1 -4
  314. package/dist/esm/components/Table/hooks/useRowSelection.js.map +1 -1
  315. package/dist/esm/components/Table/hooks/useSortBy.js +1 -4
  316. package/dist/esm/components/Table/hooks/useSortBy.js.map +1 -1
  317. package/dist/esm/components/Table/hooks/useSticky.js +1 -7
  318. package/dist/esm/components/Table/hooks/useSticky.js.map +1 -1
  319. package/dist/esm/components/Table/hooks/useTable.js +3 -4
  320. package/dist/esm/components/Table/hooks/useTable.js.map +1 -1
  321. package/dist/esm/components/Table/hooks/useTableStyles.js +1 -4
  322. package/dist/esm/components/Table/hooks/useTableStyles.js.map +1 -1
  323. package/dist/esm/components/Table/renderers/DateColumnCell/DateColumnCell.js +22 -0
  324. package/dist/esm/components/Table/renderers/DateColumnCell/DateColumnCell.js.map +1 -0
  325. package/dist/esm/components/Table/renderers/DropdownColumnCell/DropdownColumnCell.js +25 -0
  326. package/dist/esm/components/Table/renderers/DropdownColumnCell/DropdownColumnCell.js.map +1 -0
  327. package/dist/esm/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.js +27 -0
  328. package/dist/esm/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.js.map +1 -0
  329. package/dist/esm/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.styles.js +60 -0
  330. package/dist/esm/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.styles.js.map +1 -0
  331. package/dist/esm/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.js +33 -0
  332. package/dist/esm/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.js.map +1 -0
  333. package/dist/esm/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.styles.js +38 -0
  334. package/dist/esm/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.styles.js.map +1 -0
  335. package/dist/esm/components/Table/renderers/renderers.js +199 -0
  336. package/dist/esm/components/Table/renderers/renderers.js.map +1 -0
  337. package/dist/esm/components/Table/utils/utils.js +4 -4
  338. package/dist/esm/components/Table/utils/utils.js.map +1 -1
  339. package/dist/esm/components/Tabs/Tabs.styles.js +2 -2
  340. package/dist/esm/components/Tabs/Tabs.styles.js.map +1 -1
  341. package/dist/esm/components/Tag/Tag.js.map +1 -1
  342. package/dist/esm/components/TagsInput/TagsInput.js +1 -1
  343. package/dist/esm/components/TagsInput/TagsInput.js.map +1 -1
  344. package/dist/esm/components/TagsInput/TagsInput.styles.js +37 -22
  345. package/dist/esm/components/TagsInput/TagsInput.styles.js.map +1 -1
  346. package/dist/esm/components/TagsInput/tagsInputClasses.js +1 -1
  347. package/dist/esm/components/TagsInput/tagsInputClasses.js.map +1 -1
  348. package/dist/esm/components/TextArea/TextArea.styles.js +10 -8
  349. package/dist/esm/components/TextArea/TextArea.styles.js.map +1 -1
  350. package/dist/esm/components/Tooltip/Tooltip.js.map +1 -1
  351. package/dist/esm/components/Typography/Typography.js +5 -2
  352. package/dist/esm/components/Typography/Typography.js.map +1 -1
  353. package/dist/esm/components/Typography/typographyClasses.js +8 -0
  354. package/dist/esm/components/Typography/typographyClasses.js.map +1 -0
  355. package/dist/esm/hocs/withTooltip.js.map +1 -1
  356. package/dist/esm/index.js +254 -202
  357. package/dist/esm/index.js.map +1 -1
  358. package/dist/esm/providers/ThemeProvider.js.map +1 -1
  359. package/dist/esm/utils/theme.js +1 -0
  360. package/dist/esm/utils/theme.js.map +1 -1
  361. package/dist/types/components/Accordion/Accordion.d.ts +2 -1
  362. package/dist/types/components/Accordion/Accordion.d.ts.map +1 -1
  363. package/dist/types/components/Accordion/Accordion.styles.d.ts +1 -0
  364. package/dist/types/components/Accordion/Accordion.styles.d.ts.map +1 -1
  365. package/dist/types/components/ActionBar/ActionBar.d.ts +1 -1
  366. package/dist/types/components/ActionBar/ActionBar.d.ts.map +1 -1
  367. package/dist/types/components/ActionsGeneric/ActionsGeneric.d.ts +1 -1
  368. package/dist/types/components/ActionsGeneric/ActionsGeneric.d.ts.map +1 -1
  369. package/dist/types/components/AppSwitcher/Action/Action.d.ts +1 -1
  370. package/dist/types/components/AppSwitcher/Action/Action.d.ts.map +1 -1
  371. package/dist/types/components/AppSwitcher/Action/Action.styles.d.ts +1 -0
  372. package/dist/types/components/AppSwitcher/Action/Action.styles.d.ts.map +1 -1
  373. package/dist/types/components/AppSwitcher/AppSwitcher.d.ts +1 -1
  374. package/dist/types/components/AppSwitcher/AppSwitcher.d.ts.map +1 -1
  375. package/dist/types/components/AppSwitcher/AppSwitcher.styles.d.ts +1 -0
  376. package/dist/types/components/AppSwitcher/AppSwitcher.styles.d.ts.map +1 -1
  377. package/dist/types/components/Avatar/Avatar.d.ts +6 -6
  378. package/dist/types/components/Avatar/Avatar.d.ts.map +1 -1
  379. package/dist/types/components/Badge/Badge.d.ts +1 -1
  380. package/dist/types/components/Badge/Badge.d.ts.map +1 -1
  381. package/dist/types/components/Banner/Banner.d.ts +3 -2
  382. package/dist/types/components/Banner/Banner.d.ts.map +1 -1
  383. package/dist/types/components/Banner/BannerContent/ActionContainer/ActionContainer.d.ts +1 -1
  384. package/dist/types/components/Banner/BannerContent/ActionContainer/ActionContainer.d.ts.map +1 -1
  385. package/dist/types/components/Banner/BannerContent/BannerContent.d.ts +3 -2
  386. package/dist/types/components/Banner/BannerContent/BannerContent.d.ts.map +1 -1
  387. package/dist/types/components/Banner/BannerContent/MessageContainer/MessageContainer.d.ts +1 -1
  388. package/dist/types/components/Banner/BannerContent/MessageContainer/MessageContainer.d.ts.map +1 -1
  389. package/dist/types/components/BaseDropdown/BaseDropdown.styles.d.ts +1 -0
  390. package/dist/types/components/BaseDropdown/BaseDropdown.styles.d.ts.map +1 -1
  391. package/dist/types/components/BaseInput/BaseInput.d.ts +1 -1
  392. package/dist/types/components/BaseInput/BaseInput.d.ts.map +1 -1
  393. package/dist/types/components/BaseInput/BaseInput.styles.d.ts.map +1 -1
  394. package/dist/types/components/BreadCrumb/BreadCrumb.d.ts +5 -5
  395. package/dist/types/components/BreadCrumb/BreadCrumb.d.ts.map +1 -1
  396. package/dist/types/components/Card/Card.d.ts +1 -1
  397. package/dist/types/components/Card/Card.d.ts.map +1 -1
  398. package/dist/types/components/Card/Content/Content.d.ts +1 -1
  399. package/dist/types/components/Card/Content/Content.d.ts.map +1 -1
  400. package/dist/types/components/Card/Header/Header.d.ts +1 -1
  401. package/dist/types/components/Card/Header/Header.d.ts.map +1 -1
  402. package/dist/types/components/Card/Media/Media.d.ts +1 -1
  403. package/dist/types/components/Card/Media/Media.d.ts.map +1 -1
  404. package/dist/types/components/Container/Container.d.ts +1 -1
  405. package/dist/types/components/Container/Container.d.ts.map +1 -1
  406. package/dist/types/components/Controls/Controls.d.ts +42 -0
  407. package/dist/types/components/Controls/Controls.d.ts.map +1 -0
  408. package/dist/types/components/Controls/Controls.styles.d.ts +10 -0
  409. package/dist/types/components/Controls/Controls.styles.d.ts.map +1 -0
  410. package/dist/types/components/Controls/LeftControl/LeftControl.d.ts +18 -0
  411. package/dist/types/components/Controls/LeftControl/LeftControl.d.ts.map +1 -0
  412. package/dist/types/components/Controls/LeftControl/LeftControl.styles.d.ts +6 -0
  413. package/dist/types/components/Controls/LeftControl/LeftControl.styles.d.ts.map +1 -0
  414. package/dist/types/components/Controls/LeftControl/index.d.ts +4 -0
  415. package/dist/types/components/Controls/LeftControl/index.d.ts.map +1 -0
  416. package/dist/types/components/Controls/LeftControl/leftControlClasses.d.ts +6 -0
  417. package/dist/types/components/Controls/LeftControl/leftControlClasses.d.ts.map +1 -0
  418. package/dist/types/components/Controls/RightControl/RightControl.d.ts +21 -0
  419. package/dist/types/components/Controls/RightControl/RightControl.d.ts.map +1 -0
  420. package/dist/types/components/Controls/RightControl/RightControl.styles.d.ts +7 -0
  421. package/dist/types/components/Controls/RightControl/RightControl.styles.d.ts.map +1 -0
  422. package/dist/types/components/Controls/RightControl/index.d.ts +4 -0
  423. package/dist/types/components/Controls/RightControl/index.d.ts.map +1 -0
  424. package/dist/types/components/Controls/RightControl/rightControlClasses.d.ts +7 -0
  425. package/dist/types/components/Controls/RightControl/rightControlClasses.d.ts.map +1 -0
  426. package/dist/types/components/Controls/context/ControlsContext.d.ts +15 -0
  427. package/dist/types/components/Controls/context/ControlsContext.d.ts.map +1 -0
  428. package/dist/types/components/Controls/index.d.ts +11 -0
  429. package/dist/types/components/Controls/index.d.ts.map +1 -0
  430. package/dist/types/components/Dialog/Content/Content.styles.d.ts +1 -0
  431. package/dist/types/components/Dialog/Content/Content.styles.d.ts.map +1 -1
  432. package/dist/types/components/Dialog/Dialog.d.ts +1 -1
  433. package/dist/types/components/Dialog/Dialog.d.ts.map +1 -1
  434. package/dist/types/components/DotPagination/DotPagination.styles.d.ts +1 -20
  435. package/dist/types/components/DotPagination/DotPagination.styles.d.ts.map +1 -1
  436. package/dist/types/components/DropDownMenu/DropDownMenu.d.ts +1 -1
  437. package/dist/types/components/DropDownMenu/DropDownMenu.d.ts.map +1 -1
  438. package/dist/types/components/Dropdown/Dropdown.d.ts +3 -1
  439. package/dist/types/components/Dropdown/Dropdown.d.ts.map +1 -1
  440. package/dist/types/components/Dropdown/Dropdown.styles.d.ts +1 -0
  441. package/dist/types/components/Dropdown/Dropdown.styles.d.ts.map +1 -1
  442. package/dist/types/components/Dropdown/List/List.d.ts +1 -1
  443. package/dist/types/components/Dropdown/List/List.d.ts.map +1 -1
  444. package/dist/types/components/Dropdown/List/List.styles.d.ts +1 -27
  445. package/dist/types/components/Dropdown/List/List.styles.d.ts.map +1 -1
  446. package/dist/types/components/Dropdown/List/index.d.ts +2 -0
  447. package/dist/types/components/Dropdown/List/index.d.ts.map +1 -1
  448. package/dist/types/components/Dropdown/List/{dropdownListClasses.d.ts → listClasses.d.ts} +1 -1
  449. package/dist/types/components/Dropdown/List/listClasses.d.ts.map +1 -0
  450. package/dist/types/components/Dropdown/dropdownClasses.d.ts +3 -2
  451. package/dist/types/components/Dropdown/dropdownClasses.d.ts.map +1 -1
  452. package/dist/types/components/Dropdown/index.d.ts +2 -0
  453. package/dist/types/components/Dropdown/index.d.ts.map +1 -1
  454. package/dist/types/components/EmptyState/EmptyState.styles.d.ts +1 -0
  455. package/dist/types/components/EmptyState/EmptyState.styles.d.ts.map +1 -1
  456. package/dist/types/components/FileUploader/DropZone/DropZone.d.ts +1 -1
  457. package/dist/types/components/FileUploader/DropZone/DropZone.styles.d.ts +1 -0
  458. package/dist/types/components/FileUploader/DropZone/DropZone.styles.d.ts.map +1 -1
  459. package/dist/types/components/FileUploader/File/File.d.ts +1 -1
  460. package/dist/types/components/FileUploader/File/File.styles.d.ts +2 -0
  461. package/dist/types/components/FileUploader/File/File.styles.d.ts.map +1 -1
  462. package/dist/types/components/FileUploader/FileList/FileList.d.ts +1 -1
  463. package/dist/types/components/Focus/Focus.d.ts +1 -1
  464. package/dist/types/components/Focus/Focus.d.ts.map +1 -1
  465. package/dist/types/components/Footer/Footer.d.ts +1 -1
  466. package/dist/types/components/Footer/Footer.d.ts.map +1 -1
  467. package/dist/types/components/Footer/Footer.styles.d.ts +2 -0
  468. package/dist/types/components/Footer/Footer.styles.d.ts.map +1 -1
  469. package/dist/types/components/Forms/Adornment/Adornment.d.ts +2 -2
  470. package/dist/types/components/Forms/Adornment/Adornment.d.ts.map +1 -1
  471. package/dist/types/components/Forms/CharCounter/CharCounter.d.ts +1 -1
  472. package/dist/types/components/Forms/CharCounter/CharCounter.d.ts.map +1 -1
  473. package/dist/types/components/Forms/CharCounter/CharCounter.styles.d.ts +1 -0
  474. package/dist/types/components/Forms/CharCounter/CharCounter.styles.d.ts.map +1 -1
  475. package/dist/types/components/Forms/FormElement/FormElement.d.ts +1 -1
  476. package/dist/types/components/Forms/FormElement/FormElement.d.ts.map +1 -1
  477. package/dist/types/components/Forms/InfoMessage/InfoMessage.d.ts +1 -1
  478. package/dist/types/components/Forms/InfoMessage/InfoMessage.d.ts.map +1 -1
  479. package/dist/types/components/Forms/InfoMessage/InfoMessage.styles.d.ts +1 -0
  480. package/dist/types/components/Forms/InfoMessage/InfoMessage.styles.d.ts.map +1 -1
  481. package/dist/types/components/Forms/Label/Label.d.ts +1 -1
  482. package/dist/types/components/Forms/Label/Label.d.ts.map +1 -1
  483. package/dist/types/components/Forms/Label/Label.styles.d.ts +1 -0
  484. package/dist/types/components/Forms/Label/Label.styles.d.ts.map +1 -1
  485. package/dist/types/components/Forms/Suggestions/Suggestions.d.ts +1 -1
  486. package/dist/types/components/Forms/Suggestions/Suggestions.d.ts.map +1 -1
  487. package/dist/types/components/Forms/WarningText/WarningText.d.ts +1 -1
  488. package/dist/types/components/Forms/WarningText/WarningText.d.ts.map +1 -1
  489. package/dist/types/components/Forms/WarningText/WarningText.styles.d.ts +1 -0
  490. package/dist/types/components/Forms/WarningText/WarningText.styles.d.ts.map +1 -1
  491. package/dist/types/components/GlobalActions/GlobalActions.d.ts +1 -1
  492. package/dist/types/components/GlobalActions/GlobalActions.d.ts.map +1 -1
  493. package/dist/types/components/GlobalActions/globalActionsClasses.d.ts +5 -0
  494. package/dist/types/components/GlobalActions/globalActionsClasses.d.ts.map +1 -1
  495. package/dist/types/components/Input/Input.d.ts +1 -1
  496. package/dist/types/components/Input/Input.d.ts.map +1 -1
  497. package/dist/types/components/Kpi/Kpi.styles.d.ts +3 -0
  498. package/dist/types/components/Kpi/Kpi.styles.d.ts.map +1 -1
  499. package/dist/types/components/Link/Link.d.ts +1 -1
  500. package/dist/types/components/Link/Link.d.ts.map +1 -1
  501. package/dist/types/components/List/List.d.ts +4 -4
  502. package/dist/types/components/List/List.d.ts.map +1 -1
  503. package/dist/types/components/ListContainer/ListContainer.d.ts +2 -2
  504. package/dist/types/components/ListContainer/ListContainer.d.ts.map +1 -1
  505. package/dist/types/components/ListContainer/ListItem/ListItem.d.ts +1 -1
  506. package/dist/types/components/ListContainer/ListItem/ListItem.d.ts.map +1 -1
  507. package/dist/types/components/Loading/Loading.styles.d.ts +1 -0
  508. package/dist/types/components/Loading/Loading.styles.d.ts.map +1 -1
  509. package/dist/types/components/MultiButton/MultiButton.d.ts +1 -1
  510. package/dist/types/components/MultiButton/MultiButton.d.ts.map +1 -1
  511. package/dist/types/components/OverflowTooltip/OverflowTooltip.d.ts +3 -2
  512. package/dist/types/components/OverflowTooltip/OverflowTooltip.d.ts.map +1 -1
  513. package/dist/types/components/Pagination/Pagination.d.ts +8 -6
  514. package/dist/types/components/Pagination/Pagination.d.ts.map +1 -1
  515. package/dist/types/components/Pagination/utils.d.ts +1 -1
  516. package/dist/types/components/Pagination/utils.d.ts.map +1 -1
  517. package/dist/types/components/ProgressBar/ProgressBar.d.ts +3 -2
  518. package/dist/types/components/ProgressBar/ProgressBar.d.ts.map +1 -1
  519. package/dist/types/components/ProgressBar/ProgressBar.styles.d.ts +1 -0
  520. package/dist/types/components/ProgressBar/ProgressBar.styles.d.ts.map +1 -1
  521. package/dist/types/components/SelectionList/SelectionList.d.ts +1 -1
  522. package/dist/types/components/SelectionList/SelectionList.d.ts.map +1 -1
  523. package/dist/types/components/Snackbar/Snackbar.d.ts +3 -2
  524. package/dist/types/components/Snackbar/Snackbar.d.ts.map +1 -1
  525. package/dist/types/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.d.ts +1 -1
  526. package/dist/types/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.d.ts.map +1 -1
  527. package/dist/types/components/Snackbar/SnackbarProvider/SnackbarProvider.d.ts +2 -1
  528. package/dist/types/components/Snackbar/SnackbarProvider/SnackbarProvider.d.ts.map +1 -1
  529. package/dist/types/components/Stack/Stack.d.ts +4 -3
  530. package/dist/types/components/Stack/Stack.d.ts.map +1 -1
  531. package/dist/types/components/Table/Table.d.ts +3 -3
  532. package/dist/types/components/Table/Table.d.ts.map +1 -1
  533. package/dist/types/components/Table/TableBody/TableBody.d.ts +2 -2
  534. package/dist/types/components/Table/TableBody/TableBody.d.ts.map +1 -1
  535. package/dist/types/components/Table/TableCell/TableCell.d.ts +8 -8
  536. package/dist/types/components/Table/TableCell/TableCell.d.ts.map +1 -1
  537. package/dist/types/components/Table/TableContainer/TableContainer.d.ts +2 -2
  538. package/dist/types/components/Table/TableContainer/TableContainer.d.ts.map +1 -1
  539. package/dist/types/components/Table/TableHead/TableHead.d.ts +2 -2
  540. package/dist/types/components/Table/TableHead/TableHead.d.ts.map +1 -1
  541. package/dist/types/components/Table/TableHeader/TableHeader.d.ts +11 -10
  542. package/dist/types/components/Table/TableHeader/TableHeader.d.ts.map +1 -1
  543. package/dist/types/components/Table/TableRow/TableRow.d.ts +2 -2
  544. package/dist/types/components/Table/TableRow/TableRow.d.ts.map +1 -1
  545. package/dist/types/components/Table/hooks/index.d.ts +12 -0
  546. package/dist/types/components/Table/hooks/index.d.ts.map +1 -1
  547. package/dist/types/components/Table/hooks/useBulkActions.d.ts +0 -1
  548. package/dist/types/components/Table/hooks/useBulkActions.d.ts.map +1 -1
  549. package/dist/types/components/Table/hooks/useHeaderGroups.d.ts +0 -12
  550. package/dist/types/components/Table/hooks/useHeaderGroups.d.ts.map +1 -1
  551. package/dist/types/components/Table/hooks/usePagination.d.ts +0 -1
  552. package/dist/types/components/Table/hooks/usePagination.d.ts.map +1 -1
  553. package/dist/types/components/Table/hooks/useResizeColumns.d.ts +0 -7
  554. package/dist/types/components/Table/hooks/useResizeColumns.d.ts.map +1 -1
  555. package/dist/types/components/Table/hooks/useRowExpand.d.ts +0 -10
  556. package/dist/types/components/Table/hooks/useRowExpand.d.ts.map +1 -1
  557. package/dist/types/components/Table/hooks/useRowSelection.d.ts +0 -7
  558. package/dist/types/components/Table/hooks/useRowSelection.d.ts.map +1 -1
  559. package/dist/types/components/Table/hooks/useSortBy.d.ts +0 -8
  560. package/dist/types/components/Table/hooks/useSortBy.d.ts.map +1 -1
  561. package/dist/types/components/Table/hooks/useSticky.d.ts +0 -18
  562. package/dist/types/components/Table/hooks/useSticky.d.ts.map +1 -1
  563. package/dist/types/components/Table/hooks/useTable.d.ts +4 -1
  564. package/dist/types/components/Table/hooks/useTable.d.ts.map +1 -1
  565. package/dist/types/components/Table/hooks/useTableStyles.d.ts +0 -7
  566. package/dist/types/components/Table/hooks/useTableStyles.d.ts.map +1 -1
  567. package/dist/types/components/Table/index.d.ts +1 -0
  568. package/dist/types/components/Table/index.d.ts.map +1 -1
  569. package/dist/types/components/Table/renderers/DateColumnCell/DateColumnCell.d.ts +10 -0
  570. package/dist/types/components/Table/renderers/DateColumnCell/DateColumnCell.d.ts.map +1 -0
  571. package/dist/types/components/Table/renderers/DateColumnCell/index.d.ts +2 -0
  572. package/dist/types/components/Table/renderers/DateColumnCell/index.d.ts.map +1 -0
  573. package/dist/types/components/Table/renderers/DropdownColumnCell/DropdownColumnCell.d.ts +17 -0
  574. package/dist/types/components/Table/renderers/DropdownColumnCell/DropdownColumnCell.d.ts.map +1 -0
  575. package/dist/types/components/Table/renderers/DropdownColumnCell/index.d.ts +2 -0
  576. package/dist/types/components/Table/renderers/DropdownColumnCell/index.d.ts.map +1 -0
  577. package/dist/types/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.d.ts +13 -0
  578. package/dist/types/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.d.ts.map +1 -0
  579. package/dist/types/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.styles.d.ts +13 -0
  580. package/dist/types/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.styles.d.ts.map +1 -0
  581. package/dist/types/components/Table/renderers/ProgressColumnCell/index.d.ts +3 -0
  582. package/dist/types/components/Table/renderers/ProgressColumnCell/index.d.ts.map +1 -0
  583. package/dist/types/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.d.ts +19 -0
  584. package/dist/types/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.d.ts.map +1 -0
  585. package/dist/types/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.styles.d.ts +28 -0
  586. package/dist/types/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.styles.d.ts.map +1 -0
  587. package/dist/types/components/Table/renderers/SwitchColumnCell/index.d.ts +2 -0
  588. package/dist/types/components/Table/renderers/SwitchColumnCell/index.d.ts.map +1 -0
  589. package/dist/types/components/Table/renderers/index.d.ts +6 -0
  590. package/dist/types/components/Table/renderers/index.d.ts.map +1 -0
  591. package/dist/types/components/Table/renderers/renderers.d.ts +9 -0
  592. package/dist/types/components/Table/renderers/renderers.d.ts.map +1 -0
  593. package/dist/types/components/Table/utils/utils.d.ts +8 -8
  594. package/dist/types/components/Tag/Tag.d.ts +3 -2
  595. package/dist/types/components/Tag/Tag.d.ts.map +1 -1
  596. package/dist/types/components/TagsInput/TagsInput.d.ts +1 -1
  597. package/dist/types/components/TagsInput/TagsInput.d.ts.map +1 -1
  598. package/dist/types/components/TagsInput/TagsInput.styles.d.ts +7 -124
  599. package/dist/types/components/TagsInput/TagsInput.styles.d.ts.map +1 -1
  600. package/dist/types/components/TagsInput/tagsInputClasses.d.ts.map +1 -1
  601. package/dist/types/components/TextArea/TextArea.styles.d.ts +1 -12
  602. package/dist/types/components/TextArea/TextArea.styles.d.ts.map +1 -1
  603. package/dist/types/components/Tooltip/Tooltip.d.ts +4 -4
  604. package/dist/types/components/Tooltip/Tooltip.d.ts.map +1 -1
  605. package/dist/types/components/Typography/Typography.d.ts +5 -0
  606. package/dist/types/components/Typography/Typography.d.ts.map +1 -1
  607. package/dist/types/components/Typography/index.d.ts +2 -0
  608. package/dist/types/components/Typography/index.d.ts.map +1 -1
  609. package/dist/types/components/Typography/typographyClasses.d.ts +36 -0
  610. package/dist/types/components/Typography/typographyClasses.d.ts.map +1 -0
  611. package/dist/types/components/index.d.ts +1 -0
  612. package/dist/types/components/index.d.ts.map +1 -1
  613. package/dist/types/index.d.ts +2 -1
  614. package/dist/types/index.d.ts.map +1 -1
  615. package/dist/types/providers/ThemeProvider.d.ts +8 -8
  616. package/dist/types/providers/ThemeProvider.d.ts.map +1 -1
  617. package/dist/types/types/generic.d.ts +25 -0
  618. package/dist/types/types/generic.d.ts.map +1 -0
  619. package/dist/types/types/index.d.ts +4 -24
  620. package/dist/types/types/index.d.ts.map +1 -1
  621. package/dist/types/types/theme.d.ts +7 -7
  622. package/dist/types/types/theme.d.ts.map +1 -1
  623. package/dist/types/types/tokens.d.ts +7 -0
  624. package/dist/types/types/tokens.d.ts.map +1 -1
  625. package/dist/types/utils/theme.d.ts +2 -2
  626. package/dist/types/utils/theme.d.ts.map +1 -1
  627. package/package.json +4 -4
  628. package/dist/cjs/components/Dropdown/List/dropdownListClasses.cjs.map +0 -1
  629. package/dist/esm/components/Dropdown/List/dropdownListClasses.js.map +0 -1
  630. package/dist/types/components/Dropdown/List/dropdownListClasses.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"useRowSelection.js","sources":["../../../../../src/components/Table/hooks/useRowSelection.tsx"],"sourcesContent":["import { ChangeEvent, useCallback, useMemo } from \"react\";\nimport {\n Hooks,\n IdType,\n PropGetter,\n Row,\n actions,\n ensurePluginOrder,\n useGetLatest,\n useMountedLayoutEffect,\n makePropGetter,\n} from \"react-table\";\nimport { useLabels } from \"hooks\";\nimport { HvCheckBox } from \"components\";\n\n// #region ##### TYPES #####\n\n// getRowProps:\nexport interface UseHvRowSelectionTableRowProps {\n selected?: boolean;\n}\n\nexport interface UseHvRowSelectionRowCheckboxProps {\n onChange?: (e: ChangeEvent, checked?: boolean) => void;\n checked?: boolean;\n disabled?: boolean;\n indeterminate?: boolean;\n}\n\nexport interface UseHvRowSelectionBulkCheckboxProps {\n onChange?: (e: ChangeEvent, checked?: boolean) => void;\n checked?: boolean;\n indeterminate?: boolean;\n}\n\nexport type UseHvRowSelectionTableOptions = Partial<{\n autoResetSelectedRows: boolean;\n autoResetLockedSelectionRows: boolean;\n selectSubRows: boolean;\n manualRowSelectedKey: string;\n applyToggleAllRowsSelectedToPrefilteredRows: boolean;\n}>;\n\nexport interface UseHvRowSelectionHooks<D extends object> {\n getToggleRowSelectedProps: Array<\n PropGetter<D, UseHvRowSelectionRowCheckboxProps>\n >;\n getToggleAllRowsSelectedProps: Array<\n PropGetter<D, UseHvRowSelectionBulkCheckboxProps>\n >;\n getToggleAllPageRowsSelectedProps: Array<\n PropGetter<D, UseHvRowSelectionBulkCheckboxProps>\n >;\n}\n\nexport interface UseHvRowSelectionState<D extends object> {\n selectedRowIds: Record<IdType<D>, boolean>;\n lockedSelectionRowIds: Record<IdType<D>, boolean>;\n}\n\nexport interface UseHvRowSelectionTableInstance<D extends object> {\n toggleRowSelected: (rowId: IdType<D>, set?: boolean) => void;\n toggleAllRowsSelected: (value?: boolean) => void;\n toggleAllPageRowsSelected: (value?: boolean) => void;\n getToggleAllRowsSelectedProps: (\n props?: Partial<UseHvRowSelectionBulkCheckboxProps>\n ) => UseHvRowSelectionBulkCheckboxProps;\n getToggleAllPageRowsSelectedProps: (\n props?: Partial<UseHvRowSelectionBulkCheckboxProps>\n ) => UseHvRowSelectionBulkCheckboxProps;\n\n isNoRowsSelected: boolean;\n isNoPageRowsSelected: boolean;\n isAllRowsSelected: boolean;\n isAllPageRowsSelected: boolean;\n isAllSelectableRowsSelected: boolean;\n isAllSelectablePageRowsSelected: boolean;\n isAllSelectableRowsUnselected: boolean;\n isAllSelectablePageRowsUnselected: boolean;\n\n selectedFlatRows: Array<Row<D>>;\n}\n\nexport interface UseHvRowSelectionRowInstance {\n isSelected: boolean;\n isSomeSelected: boolean;\n toggleRowSelected: (set?: boolean) => void;\n getToggleRowSelectedProps: (\n props?: Partial<UseHvRowSelectionRowCheckboxProps>\n ) => UseHvRowSelectionRowCheckboxProps;\n}\n\nexport type UseRowSelectionProps = (<\n D extends object = Record<string, unknown>\n>(\n hooks: Hooks<D>\n) => void) & { pluginName: string };\n\n// #endregion ##### TYPES #####\n\n// Actions\nactions.resetSelectedRows = \"resetSelectedRows\";\nactions.toggleAllRowsSelected = \"toggleAllRowsSelected\";\nactions.toggleRowSelected = \"toggleRowSelected\";\nactions.toggleAllPageRowsSelected = \"toggleAllPageRowsSelected\";\n\nactions.resetLockedSelectionRows = \"resetLockedSelectionRows\";\nactions.toggleRowLockedSelection = \"toggleRowLockedSelection\";\n\nexport const 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\nexport const 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\nexport const getRowPropsHook = (props, { row }) => {\n const nextProps: UseHvRowSelectionTableRowProps = {\n selected: row.isSelected,\n };\n\n return [props, nextProps];\n};\n\nexport const defaultGetToggleRowSelectedProps = (props, { instance, row }) => {\n const { manualRowSelectedKey = \"isSelected\" } = instance;\n let checked = false;\n\n if (row.original && row.original[manualRowSelectedKey]) {\n checked = true;\n } else {\n checked = row.isSelected;\n }\n\n return [\n props,\n {\n onChange: (e, check) => {\n row.toggleRowSelected(check ?? e?.target?.checked);\n },\n disabled: row.isSelectionLocked,\n checked,\n indeterminate: row.isSomeSelected,\n },\n ];\n};\n\nexport const defaultGetToggleAllRowsSelectedProps = (props, { instance }) => [\n props,\n {\n onChange: (e) => {\n instance.toggleAllRowsSelected(e.target.checked);\n },\n checked: instance.isAllRowsSelected,\n indeterminate: Boolean(\n !instance.isAllRowsSelected &&\n Object.keys(instance.state.selectedRowIds).length\n ),\n },\n];\n\nexport const defaultGetToggleAllPageRowsSelectedProps = (\n props,\n { instance }\n) => [\n props,\n {\n onChange(e) {\n instance.toggleAllPageRowsSelected(e.target.checked);\n },\n checked: instance.isAllPageRowsSelected,\n indeterminate: Boolean(\n !instance.isAllPageRowsSelected &&\n instance.page.some(({ id }) => instance.state.selectedRowIds[id])\n ),\n },\n];\n\nexport function reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n selectedRowIds: {},\n lockedSelectionRowIds: {},\n ...state,\n };\n }\n\n if (action.type === actions.resetSelectedRows) {\n return {\n ...state,\n selectedRowIds: instance.initialState.selectedRowIds || {},\n };\n }\n\n if (action.type === actions.toggleAllRowsSelected) {\n const { value: setSelected } = action;\n const {\n isAllRowsSelected,\n rowsById,\n initialRowsById,\n nonGroupedRowsById = rowsById,\n applyToggleAllRowsSelectedToPrefilteredRows,\n } = instance;\n\n const rowsToSelect = applyToggleAllRowsSelectedToPrefilteredRows\n ? initialRowsById\n : nonGroupedRowsById;\n\n const selectAll =\n typeof setSelected !== \"undefined\" ? setSelected : !isAllRowsSelected;\n\n // Only remove/add the rows that are visible on the screen\n // Leave all the other rows that are selected alone.\n const selectedRowIds = { ...state.selectedRowIds };\n\n if (selectAll) {\n Object.keys(rowsToSelect).forEach((rowId) => {\n const isSelectionLocked = state.lockedSelectionRowIds[rowId];\n if (!isSelectionLocked) {\n selectedRowIds[rowId] = true;\n }\n });\n } else {\n Object.keys(rowsToSelect).forEach((rowId) => {\n const isSelectionLocked = state.lockedSelectionRowIds[rowId];\n if (!isSelectionLocked) {\n delete selectedRowIds[rowId];\n }\n });\n }\n\n return {\n ...state,\n selectedRowIds,\n };\n }\n\n if (action.type === actions.toggleRowSelected) {\n const { id, value: setSelected } = action;\n const isSelectionLocked = state.lockedSelectionRowIds[id];\n if (isSelectionLocked) {\n return state;\n }\n\n const { rowsById, selectSubRows = true, getSubRows } = instance;\n const isSelected = state.selectedRowIds[id];\n const shouldExist =\n typeof setSelected !== \"undefined\" ? setSelected : !isSelected;\n\n if (isSelected === shouldExist) {\n return state;\n }\n\n const newSelectedRowIds = { ...state.selectedRowIds };\n\n const handleRowById = (rowId) => {\n const row = rowsById[rowId];\n\n if (!row.isGrouped) {\n if (shouldExist) {\n newSelectedRowIds[rowId] = true;\n } else {\n delete newSelectedRowIds[rowId];\n }\n }\n\n if (selectSubRows && getSubRows(row)) {\n getSubRows(row).forEach((subrow) => {\n handleRowById(subrow.id);\n });\n }\n };\n\n handleRowById(id);\n\n return {\n ...state,\n selectedRowIds: newSelectedRowIds,\n };\n }\n\n if (action.type === actions.toggleAllPageRowsSelected) {\n const { value: setSelected } = action;\n const {\n page,\n rowsById,\n selectSubRows = true,\n isAllPageRowsSelected,\n getSubRows,\n } = instance;\n\n const selectAll =\n typeof setSelected !== \"undefined\" ? setSelected : !isAllPageRowsSelected;\n const newSelectedRowIds = { ...state.selectedRowIds };\n\n const handleRowById = (rowId) => {\n const row = rowsById[rowId];\n const isSelectionLocked = state.lockedSelectionRowIds[rowId];\n\n if (!isSelectionLocked && !row.isGrouped) {\n if (selectAll) {\n newSelectedRowIds[rowId] = true;\n } else {\n delete newSelectedRowIds[rowId];\n }\n }\n\n if (selectSubRows && getSubRows(row)) {\n getSubRows(row).forEach((subrow) => {\n handleRowById(subrow.id);\n });\n }\n };\n\n page.forEach((row) => handleRowById(row.id));\n\n return {\n ...state,\n selectedRowIds: newSelectedRowIds,\n };\n }\n\n if (action.type === actions.resetLockedSelectionRows) {\n return {\n ...state,\n lockedSelectionRowIds: instance.initialState.lockedSelectionRowIds || {},\n };\n }\n\n if (action.type === actions.toggleRowLockedSelection) {\n const { id, value: setLockedSelection } = action;\n const { rowsById, selectSubRows = true, getSubRows } = instance;\n const isLockedSelection = state.lockedSelectionRowIds[id];\n const shouldExist =\n typeof setLockedSelection !== \"undefined\"\n ? setLockedSelection\n : !isLockedSelection;\n\n if (isLockedSelection === shouldExist) {\n return state;\n }\n\n const newLockedSelectionRowIds = { ...state.lockedSelectionRowIds };\n\n const handleRowById = (rowId) => {\n const row = rowsById[rowId];\n\n if (!row.isGrouped) {\n if (shouldExist) {\n newLockedSelectionRowIds[rowId] = true;\n } else {\n delete newLockedSelectionRowIds[rowId];\n }\n }\n\n if (selectSubRows && getSubRows(row)) {\n getSubRows(row).forEach((subrow) => {\n handleRowById(subrow.id);\n });\n }\n };\n\n handleRowById(id);\n\n return {\n ...state,\n lockedSelectionRowIds: newLockedSelectionRowIds,\n };\n }\n\n return state;\n}\n\nfunction getRowIsSelected(row, selectedRowIds, getSubRows) {\n if (selectedRowIds[row.id]) {\n return true;\n }\n\n const subRows = getSubRows(row);\n\n if (subRows && subRows.length) {\n let allChildrenSelected = true;\n let someSelected = false;\n\n subRows.forEach((subRow) => {\n // Bail out early if we know both of these\n if (someSelected && !allChildrenSelected) {\n return;\n }\n\n if (getRowIsSelected(subRow, selectedRowIds, getSubRows)) {\n someSelected = true;\n } else {\n allChildrenSelected = false;\n }\n });\n\n if (allChildrenSelected) {\n return true;\n }\n\n if (someSelected) {\n return null;\n }\n }\n\n return false;\n}\n\nexport function useInstance(instance) {\n const {\n data,\n rows,\n getHooks,\n plugins,\n rowsById,\n initialRowsById,\n nonGroupedRowsById = rowsById,\n autoResetSelectedRows = true,\n autoResetLockedSelectionRows = true,\n state: { selectedRowIds, lockedSelectionRowIds },\n selectSubRows = true,\n dispatch,\n page,\n getSubRows,\n applyToggleAllRowsSelectedToPrefilteredRows,\n } = instance;\n\n ensurePluginOrder(\n plugins,\n [\"useFilters\", \"useGroupBy\", \"useSortBy\", \"useExpanded\", \"usePagination\"],\n \"useHvRowSelection\"\n );\n\n const rowsToSelect = applyToggleAllRowsSelectedToPrefilteredRows\n ? initialRowsById\n : nonGroupedRowsById;\n\n const selectedFlatRows = useMemo(() => {\n const selectedRows: any[] = [];\n\n rows.forEach((row) => {\n const isSelected = selectSubRows\n ? getRowIsSelected(row, selectedRowIds, getSubRows)\n : !!selectedRowIds[row.id];\n row.isSelected = !!isSelected;\n row.isSomeSelected = isSelected === null;\n\n if (isSelected) {\n selectedRows.push(row);\n }\n });\n\n return selectedRows;\n }, [rows, selectSubRows, selectedRowIds, getSubRows]);\n\n const existsLockedRows = !!Object.keys(lockedSelectionRowIds).length;\n\n const isNoRowsSelected = !(\n Object.keys(rowsToSelect).length && selectedFlatRows.length\n );\n\n let isNoPageRowsSelected;\n let isAllRowsSelected;\n let isAllPageRowsSelected;\n\n let isAllSelectableRowsUnselected;\n let isAllSelectablePageRowsUnselected;\n let isAllSelectableRowsSelected;\n let isAllSelectablePageRowsSelected;\n\n if (isNoRowsSelected) {\n isAllRowsSelected = false;\n isAllPageRowsSelected = false;\n\n isAllSelectableRowsSelected =\n existsLockedRows &&\n !Object.keys(rowsToSelect).some((id) => !lockedSelectionRowIds[id]);\n isAllSelectablePageRowsSelected = isAllSelectableRowsSelected;\n\n isAllSelectableRowsUnselected = isAllSelectableRowsSelected;\n isAllSelectablePageRowsUnselected = isAllSelectableRowsSelected;\n\n isNoPageRowsSelected = true;\n } else {\n isAllRowsSelected = !Object.keys(rowsToSelect).some(\n (id) => !selectedRowIds[id]\n );\n\n if (isAllRowsSelected) {\n isAllSelectableRowsSelected = true;\n isAllSelectablePageRowsSelected = true;\n\n isAllSelectableRowsUnselected =\n existsLockedRows &&\n Object.keys(rowsToSelect).filter((id) => !lockedSelectionRowIds[id])\n .length === 0;\n isAllSelectablePageRowsUnselected = isAllSelectableRowsUnselected;\n\n isNoPageRowsSelected = false;\n isAllPageRowsSelected = true;\n } else {\n isAllSelectableRowsSelected =\n existsLockedRows &&\n !Object.keys(rowsToSelect)\n .filter((id) => !lockedSelectionRowIds[id])\n .some((id) => !selectedRowIds[id]);\n\n isAllSelectableRowsUnselected =\n !existsLockedRows ||\n !Object.keys(rowsToSelect)\n .filter((id) => !lockedSelectionRowIds[id])\n .some((id) => selectedRowIds[id]);\n\n isAllPageRowsSelected = !(\n page &&\n page.length &&\n page.some(({ id }) => !selectedRowIds[id])\n );\n\n if (isAllPageRowsSelected) {\n isAllSelectablePageRowsSelected = true;\n\n isAllSelectablePageRowsUnselected =\n existsLockedRows &&\n page &&\n page.length &&\n page.filter(({ id }) => !lockedSelectionRowIds[id]).length === 0;\n\n isNoPageRowsSelected = false;\n } else {\n isAllSelectablePageRowsSelected =\n existsLockedRows &&\n !(\n page &&\n page.length &&\n page\n .filter(({ id }) => !lockedSelectionRowIds[id])\n .some(({ id }) => !selectedRowIds[id])\n );\n\n isAllSelectablePageRowsUnselected =\n !existsLockedRows ||\n !(\n page &&\n page.length &&\n page\n .filter(({ id }) => !lockedSelectionRowIds[id])\n .some(({ id }) => selectedRowIds[id])\n );\n\n isNoPageRowsSelected = !(\n page &&\n page.length &&\n page.some(({ id }) => selectedRowIds[id])\n );\n }\n }\n }\n\n const getAutoResetSelectedRows = useGetLatest(autoResetSelectedRows);\n\n const getAutoResetLockedSelectionRows = useGetLatest(\n autoResetLockedSelectionRows\n );\n\n useMountedLayoutEffect(() => {\n if (getAutoResetSelectedRows()) {\n dispatch({ type: actions.resetSelectedRows });\n }\n if (getAutoResetLockedSelectionRows()) {\n dispatch({ type: actions.resetLockedSelectionRows });\n }\n }, [dispatch, data]);\n\n const toggleAllRowsSelected = useCallback(\n (value) => dispatch({ type: actions.toggleAllRowsSelected, value }),\n [dispatch]\n );\n\n const toggleAllPageRowsSelected = useCallback(\n (value) => dispatch({ type: actions.toggleAllPageRowsSelected, value }),\n [dispatch]\n );\n\n const toggleRowSelected = useCallback(\n (id, value) => dispatch({ type: actions.toggleRowSelected, id, value }),\n [dispatch]\n );\n\n const getInstance = useGetLatest(instance);\n\n const getToggleAllRowsSelectedProps = makePropGetter(\n getHooks().getToggleAllRowsSelectedProps,\n {\n instance: getInstance(),\n }\n );\n\n const getToggleAllPageRowsSelectedProps = makePropGetter(\n getHooks().getToggleAllPageRowsSelectedProps,\n { instance: getInstance() }\n );\n\n const toggleRowLockedSelection = useCallback(\n (id, value) =>\n dispatch({ type: actions.toggleRowLockedSelection, id, value }),\n [dispatch]\n );\n\n Object.assign(instance, {\n selectedFlatRows,\n isNoRowsSelected,\n isNoPageRowsSelected,\n isAllRowsSelected,\n isAllPageRowsSelected,\n isAllSelectableRowsSelected,\n isAllSelectablePageRowsSelected,\n isAllSelectableRowsUnselected,\n isAllSelectablePageRowsUnselected,\n toggleRowSelected,\n toggleAllRowsSelected,\n getToggleAllRowsSelectedProps,\n getToggleAllPageRowsSelectedProps,\n toggleAllPageRowsSelected,\n toggleRowLockedSelection,\n });\n}\n\nexport function prepareRow(row, { instance }) {\n row.toggleRowSelected = (set) => instance.toggleRowSelected(row.id, set);\n row.getToggleRowSelectedProps = makePropGetter(\n instance.getHooks().getToggleRowSelectedProps,\n {\n instance,\n row,\n }\n );\n\n row.toggleRowLockedSelection = (set) =>\n instance.toggleRowLockedSelection(row.id, set);\n row.isSelectionLocked =\n instance.state?.lockedSelectionRowIds?.[row.id] || false;\n}\n\nconst useRowSelection: UseRowSelectionProps = (hooks) => {\n hooks.visibleColumns.push(visibleColumnsHook);\n\n hooks.getRowProps.push(getRowPropsHook);\n\n hooks.getToggleRowSelectedProps = [defaultGetToggleRowSelectedProps];\n hooks.getToggleAllRowsSelectedProps = [defaultGetToggleAllRowsSelectedProps];\n hooks.getToggleAllPageRowsSelectedProps = [\n defaultGetToggleAllPageRowsSelectedProps,\n ];\n\n hooks.stateReducers.push(reducer);\n hooks.useInstance.push(useInstance);\n hooks.prepareRow.push(prepareRow);\n};\n\nuseRowSelection.pluginName = \"useHvRowSelection\";\n\nexport default useRowSelection;\n"],"names":["actions","resetSelectedRows","toggleAllRowsSelected","toggleRowSelected","toggleAllPageRowsSelected","resetLockedSelectionRows","toggleRowLockedSelection","DEFAULT_LABELS","selectRowCheckBoxAriaLabel","CellWithCheckBox","row","labels","labelsProp","useLabels","onChange","checked","disabled","indeterminate","getToggleRowSelectedProps","HvCheckBox","visibleColumnsHook","columns","selectionColumn","id","variant","width","sticky","Cell","getRowPropsHook","props","nextProps","selected","isSelected","defaultGetToggleRowSelectedProps","instance","manualRowSelectedKey","original","e","check","target","isSelectionLocked","isSomeSelected","defaultGetToggleAllRowsSelectedProps","isAllRowsSelected","Boolean","Object","keys","state","selectedRowIds","length","defaultGetToggleAllPageRowsSelectedProps","isAllPageRowsSelected","page","some","reducer","action","previousState","type","init","lockedSelectionRowIds","initialState","value","setSelected","rowsById","initialRowsById","nonGroupedRowsById","applyToggleAllRowsSelectedToPrefilteredRows","rowsToSelect","selectAll","forEach","rowId","selectSubRows","getSubRows","shouldExist","newSelectedRowIds","handleRowById","isGrouped","subrow","setLockedSelection","isLockedSelection","newLockedSelectionRowIds","getRowIsSelected","subRows","allChildrenSelected","someSelected","subRow","useInstance","data","rows","getHooks","plugins","autoResetSelectedRows","autoResetLockedSelectionRows","dispatch","selectedFlatRows","useMemo","selectedRows","push","existsLockedRows","isNoRowsSelected","isNoPageRowsSelected","isAllSelectableRowsUnselected","isAllSelectablePageRowsUnselected","isAllSelectableRowsSelected","isAllSelectablePageRowsSelected","filter","getAutoResetSelectedRows","useGetLatest","getAutoResetLockedSelectionRows","useMountedLayoutEffect","useCallback","getInstance","getToggleAllRowsSelectedProps","makePropGetter","getToggleAllPageRowsSelectedProps","assign","prepareRow","set","useRowSelection","hooks","visibleColumns","getRowProps","stateReducers","pluginName"],"mappings":"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"}
1
+ {"version":3,"file":"useRowSelection.js","sources":["../../../../../src/components/Table/hooks/useRowSelection.tsx"],"sourcesContent":["import { ChangeEvent, useCallback, useMemo } from \"react\";\nimport {\n Hooks,\n IdType,\n PropGetter,\n Row,\n actions,\n ensurePluginOrder,\n useGetLatest,\n useMountedLayoutEffect,\n makePropGetter,\n} from \"react-table\";\nimport { useLabels } from \"hooks\";\nimport { HvCheckBox } from \"components\";\n\n// #region ##### TYPES #####\n\n// getRowProps:\nexport interface UseHvRowSelectionTableRowProps {\n selected?: boolean;\n}\n\nexport interface UseHvRowSelectionRowCheckboxProps {\n onChange?: (e: ChangeEvent, checked?: boolean) => void;\n checked?: boolean;\n disabled?: boolean;\n indeterminate?: boolean;\n}\n\nexport interface UseHvRowSelectionBulkCheckboxProps {\n onChange?: (e: ChangeEvent, checked?: boolean) => void;\n checked?: boolean;\n indeterminate?: boolean;\n}\n\nexport type UseHvRowSelectionTableOptions = Partial<{\n autoResetSelectedRows: boolean;\n autoResetLockedSelectionRows: boolean;\n selectSubRows: boolean;\n manualRowSelectedKey: string;\n applyToggleAllRowsSelectedToPrefilteredRows: boolean;\n}>;\n\nexport interface UseHvRowSelectionHooks<D extends object> {\n getToggleRowSelectedProps: Array<\n PropGetter<D, UseHvRowSelectionRowCheckboxProps>\n >;\n getToggleAllRowsSelectedProps: Array<\n PropGetter<D, UseHvRowSelectionBulkCheckboxProps>\n >;\n getToggleAllPageRowsSelectedProps: Array<\n PropGetter<D, UseHvRowSelectionBulkCheckboxProps>\n >;\n}\n\nexport interface UseHvRowSelectionState<D extends object> {\n selectedRowIds: Record<IdType<D>, boolean>;\n lockedSelectionRowIds: Record<IdType<D>, boolean>;\n}\n\nexport interface UseHvRowSelectionTableInstance<D extends object> {\n toggleRowSelected: (rowId: IdType<D>, set?: boolean) => void;\n toggleAllRowsSelected: (value?: boolean) => void;\n toggleAllPageRowsSelected: (value?: boolean) => void;\n getToggleAllRowsSelectedProps: (\n props?: Partial<UseHvRowSelectionBulkCheckboxProps>\n ) => UseHvRowSelectionBulkCheckboxProps;\n getToggleAllPageRowsSelectedProps: (\n props?: Partial<UseHvRowSelectionBulkCheckboxProps>\n ) => UseHvRowSelectionBulkCheckboxProps;\n\n isNoRowsSelected: boolean;\n isNoPageRowsSelected: boolean;\n isAllRowsSelected: boolean;\n isAllPageRowsSelected: boolean;\n isAllSelectableRowsSelected: boolean;\n isAllSelectablePageRowsSelected: boolean;\n isAllSelectableRowsUnselected: boolean;\n isAllSelectablePageRowsUnselected: boolean;\n\n selectedFlatRows: Array<Row<D>>;\n}\n\nexport interface UseHvRowSelectionRowInstance {\n isSelected: boolean;\n isSomeSelected: boolean;\n toggleRowSelected: (set?: boolean) => void;\n getToggleRowSelectedProps: (\n props?: Partial<UseHvRowSelectionRowCheckboxProps>\n ) => UseHvRowSelectionRowCheckboxProps;\n}\n\nexport type UseRowSelectionProps = (<\n D extends object = Record<string, unknown>\n>(\n hooks: Hooks<D>\n) => void) & { pluginName: string };\n\n// #endregion ##### TYPES #####\n\n// Actions\nactions.resetSelectedRows = \"resetSelectedRows\";\nactions.toggleAllRowsSelected = \"toggleAllRowsSelected\";\nactions.toggleRowSelected = \"toggleRowSelected\";\nactions.toggleAllPageRowsSelected = \"toggleAllPageRowsSelected\";\n\nactions.resetLockedSelectionRows = \"resetLockedSelectionRows\";\nactions.toggleRowLockedSelection = \"toggleRowLockedSelection\";\n\nconst DEFAULT_LABELS = {\n selectRowCheckBoxAriaLabel: \"Select this row\",\n};\n\nexport const CellWithCheckBox = ({ row, labels: labelsProp }) => {\n const labels = useLabels(DEFAULT_LABELS, labelsProp);\n\n const { onChange, checked, disabled, indeterminate } =\n row.getToggleRowSelectedProps();\n\n return (\n <HvCheckBox\n onChange={onChange}\n checked={checked}\n disabled={disabled}\n indeterminate={indeterminate}\n aria-label={labels.selectRowCheckBoxAriaLabel}\n />\n );\n};\n\nconst visibleColumnsHook = (columns) => {\n const selectionColumn = {\n id: \"_hv_selection\",\n variant: \"checkbox\",\n\n width: 32,\n\n // this will only work when using useHvTableSticky\n // but ensures it stays left of any sticky column\n sticky: \"left\",\n\n Cell: CellWithCheckBox,\n };\n\n return [selectionColumn, ...columns];\n};\n\nconst getRowPropsHook = (props, { row }) => {\n const nextProps: UseHvRowSelectionTableRowProps = {\n selected: row.isSelected,\n };\n\n return [props, nextProps];\n};\n\nexport const defaultGetToggleRowSelectedProps = (props, { instance, row }) => {\n const { manualRowSelectedKey = \"isSelected\" } = instance;\n let checked = false;\n\n if (row.original && row.original[manualRowSelectedKey]) {\n checked = true;\n } else {\n checked = row.isSelected;\n }\n\n return [\n props,\n {\n onChange: (e, check) => {\n row.toggleRowSelected(check ?? e?.target?.checked);\n },\n disabled: row.isSelectionLocked,\n checked,\n indeterminate: row.isSomeSelected,\n },\n ];\n};\n\nexport const defaultGetToggleAllRowsSelectedProps = (props, { instance }) => [\n props,\n {\n onChange: (e) => {\n instance.toggleAllRowsSelected(e.target.checked);\n },\n checked: instance.isAllRowsSelected,\n indeterminate: Boolean(\n !instance.isAllRowsSelected &&\n Object.keys(instance.state.selectedRowIds).length\n ),\n },\n];\n\nexport const defaultGetToggleAllPageRowsSelectedProps = (\n props,\n { instance }\n) => [\n props,\n {\n onChange(e) {\n instance.toggleAllPageRowsSelected(e.target.checked);\n },\n checked: instance.isAllPageRowsSelected,\n indeterminate: Boolean(\n !instance.isAllPageRowsSelected &&\n instance.page.some(({ id }) => instance.state.selectedRowIds[id])\n ),\n },\n];\n\nexport function reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n selectedRowIds: {},\n lockedSelectionRowIds: {},\n ...state,\n };\n }\n\n if (action.type === actions.resetSelectedRows) {\n return {\n ...state,\n selectedRowIds: instance.initialState.selectedRowIds || {},\n };\n }\n\n if (action.type === actions.toggleAllRowsSelected) {\n const { value: setSelected } = action;\n const {\n isAllRowsSelected,\n rowsById,\n initialRowsById,\n nonGroupedRowsById = rowsById,\n applyToggleAllRowsSelectedToPrefilteredRows,\n } = instance;\n\n const rowsToSelect = applyToggleAllRowsSelectedToPrefilteredRows\n ? initialRowsById\n : nonGroupedRowsById;\n\n const selectAll =\n typeof setSelected !== \"undefined\" ? setSelected : !isAllRowsSelected;\n\n // Only remove/add the rows that are visible on the screen\n // Leave all the other rows that are selected alone.\n const selectedRowIds = { ...state.selectedRowIds };\n\n if (selectAll) {\n Object.keys(rowsToSelect).forEach((rowId) => {\n const isSelectionLocked = state.lockedSelectionRowIds[rowId];\n if (!isSelectionLocked) {\n selectedRowIds[rowId] = true;\n }\n });\n } else {\n Object.keys(rowsToSelect).forEach((rowId) => {\n const isSelectionLocked = state.lockedSelectionRowIds[rowId];\n if (!isSelectionLocked) {\n delete selectedRowIds[rowId];\n }\n });\n }\n\n return {\n ...state,\n selectedRowIds,\n };\n }\n\n if (action.type === actions.toggleRowSelected) {\n const { id, value: setSelected } = action;\n const isSelectionLocked = state.lockedSelectionRowIds[id];\n if (isSelectionLocked) {\n return state;\n }\n\n const { rowsById, selectSubRows = true, getSubRows } = instance;\n const isSelected = state.selectedRowIds[id];\n const shouldExist =\n typeof setSelected !== \"undefined\" ? setSelected : !isSelected;\n\n if (isSelected === shouldExist) {\n return state;\n }\n\n const newSelectedRowIds = { ...state.selectedRowIds };\n\n const handleRowById = (rowId) => {\n const row = rowsById[rowId];\n\n if (!row.isGrouped) {\n if (shouldExist) {\n newSelectedRowIds[rowId] = true;\n } else {\n delete newSelectedRowIds[rowId];\n }\n }\n\n if (selectSubRows && getSubRows(row)) {\n getSubRows(row).forEach((subrow) => {\n handleRowById(subrow.id);\n });\n }\n };\n\n handleRowById(id);\n\n return {\n ...state,\n selectedRowIds: newSelectedRowIds,\n };\n }\n\n if (action.type === actions.toggleAllPageRowsSelected) {\n const { value: setSelected } = action;\n const {\n page,\n rowsById,\n selectSubRows = true,\n isAllPageRowsSelected,\n getSubRows,\n } = instance;\n\n const selectAll =\n typeof setSelected !== \"undefined\" ? setSelected : !isAllPageRowsSelected;\n const newSelectedRowIds = { ...state.selectedRowIds };\n\n const handleRowById = (rowId) => {\n const row = rowsById[rowId];\n const isSelectionLocked = state.lockedSelectionRowIds[rowId];\n\n if (!isSelectionLocked && !row.isGrouped) {\n if (selectAll) {\n newSelectedRowIds[rowId] = true;\n } else {\n delete newSelectedRowIds[rowId];\n }\n }\n\n if (selectSubRows && getSubRows(row)) {\n getSubRows(row).forEach((subrow) => {\n handleRowById(subrow.id);\n });\n }\n };\n\n page.forEach((row) => handleRowById(row.id));\n\n return {\n ...state,\n selectedRowIds: newSelectedRowIds,\n };\n }\n\n if (action.type === actions.resetLockedSelectionRows) {\n return {\n ...state,\n lockedSelectionRowIds: instance.initialState.lockedSelectionRowIds || {},\n };\n }\n\n if (action.type === actions.toggleRowLockedSelection) {\n const { id, value: setLockedSelection } = action;\n const { rowsById, selectSubRows = true, getSubRows } = instance;\n const isLockedSelection = state.lockedSelectionRowIds[id];\n const shouldExist =\n typeof setLockedSelection !== \"undefined\"\n ? setLockedSelection\n : !isLockedSelection;\n\n if (isLockedSelection === shouldExist) {\n return state;\n }\n\n const newLockedSelectionRowIds = { ...state.lockedSelectionRowIds };\n\n const handleRowById = (rowId) => {\n const row = rowsById[rowId];\n\n if (!row.isGrouped) {\n if (shouldExist) {\n newLockedSelectionRowIds[rowId] = true;\n } else {\n delete newLockedSelectionRowIds[rowId];\n }\n }\n\n if (selectSubRows && getSubRows(row)) {\n getSubRows(row).forEach((subrow) => {\n handleRowById(subrow.id);\n });\n }\n };\n\n handleRowById(id);\n\n return {\n ...state,\n lockedSelectionRowIds: newLockedSelectionRowIds,\n };\n }\n\n return state;\n}\n\nfunction getRowIsSelected(row, selectedRowIds, getSubRows) {\n if (selectedRowIds[row.id]) {\n return true;\n }\n\n const subRows = getSubRows(row);\n\n if (subRows && subRows.length) {\n let allChildrenSelected = true;\n let someSelected = false;\n\n subRows.forEach((subRow) => {\n // Bail out early if we know both of these\n if (someSelected && !allChildrenSelected) {\n return;\n }\n\n if (getRowIsSelected(subRow, selectedRowIds, getSubRows)) {\n someSelected = true;\n } else {\n allChildrenSelected = false;\n }\n });\n\n if (allChildrenSelected) {\n return true;\n }\n\n if (someSelected) {\n return null;\n }\n }\n\n return false;\n}\n\nexport function useInstance(instance) {\n const {\n data,\n rows,\n getHooks,\n plugins,\n rowsById,\n initialRowsById,\n nonGroupedRowsById = rowsById,\n autoResetSelectedRows = true,\n autoResetLockedSelectionRows = true,\n state: { selectedRowIds, lockedSelectionRowIds },\n selectSubRows = true,\n dispatch,\n page,\n getSubRows,\n applyToggleAllRowsSelectedToPrefilteredRows,\n } = instance;\n\n ensurePluginOrder(\n plugins,\n [\"useFilters\", \"useGroupBy\", \"useSortBy\", \"useExpanded\", \"usePagination\"],\n \"useHvRowSelection\"\n );\n\n const rowsToSelect = applyToggleAllRowsSelectedToPrefilteredRows\n ? initialRowsById\n : nonGroupedRowsById;\n\n const selectedFlatRows = useMemo(() => {\n const selectedRows: any[] = [];\n\n rows.forEach((row) => {\n const isSelected = selectSubRows\n ? getRowIsSelected(row, selectedRowIds, getSubRows)\n : !!selectedRowIds[row.id];\n row.isSelected = !!isSelected;\n row.isSomeSelected = isSelected === null;\n\n if (isSelected) {\n selectedRows.push(row);\n }\n });\n\n return selectedRows;\n }, [rows, selectSubRows, selectedRowIds, getSubRows]);\n\n const existsLockedRows = !!Object.keys(lockedSelectionRowIds).length;\n\n const isNoRowsSelected = !(\n Object.keys(rowsToSelect).length && selectedFlatRows.length\n );\n\n let isNoPageRowsSelected;\n let isAllRowsSelected;\n let isAllPageRowsSelected;\n\n let isAllSelectableRowsUnselected;\n let isAllSelectablePageRowsUnselected;\n let isAllSelectableRowsSelected;\n let isAllSelectablePageRowsSelected;\n\n if (isNoRowsSelected) {\n isAllRowsSelected = false;\n isAllPageRowsSelected = false;\n\n isAllSelectableRowsSelected =\n existsLockedRows &&\n !Object.keys(rowsToSelect).some((id) => !lockedSelectionRowIds[id]);\n isAllSelectablePageRowsSelected = isAllSelectableRowsSelected;\n\n isAllSelectableRowsUnselected = isAllSelectableRowsSelected;\n isAllSelectablePageRowsUnselected = isAllSelectableRowsSelected;\n\n isNoPageRowsSelected = true;\n } else {\n isAllRowsSelected = !Object.keys(rowsToSelect).some(\n (id) => !selectedRowIds[id]\n );\n\n if (isAllRowsSelected) {\n isAllSelectableRowsSelected = true;\n isAllSelectablePageRowsSelected = true;\n\n isAllSelectableRowsUnselected =\n existsLockedRows &&\n Object.keys(rowsToSelect).filter((id) => !lockedSelectionRowIds[id])\n .length === 0;\n isAllSelectablePageRowsUnselected = isAllSelectableRowsUnselected;\n\n isNoPageRowsSelected = false;\n isAllPageRowsSelected = true;\n } else {\n isAllSelectableRowsSelected =\n existsLockedRows &&\n !Object.keys(rowsToSelect)\n .filter((id) => !lockedSelectionRowIds[id])\n .some((id) => !selectedRowIds[id]);\n\n isAllSelectableRowsUnselected =\n !existsLockedRows ||\n !Object.keys(rowsToSelect)\n .filter((id) => !lockedSelectionRowIds[id])\n .some((id) => selectedRowIds[id]);\n\n isAllPageRowsSelected = !(\n page &&\n page.length &&\n page.some(({ id }) => !selectedRowIds[id])\n );\n\n if (isAllPageRowsSelected) {\n isAllSelectablePageRowsSelected = true;\n\n isAllSelectablePageRowsUnselected =\n existsLockedRows &&\n page &&\n page.length &&\n page.filter(({ id }) => !lockedSelectionRowIds[id]).length === 0;\n\n isNoPageRowsSelected = false;\n } else {\n isAllSelectablePageRowsSelected =\n existsLockedRows &&\n !(\n page &&\n page.length &&\n page\n .filter(({ id }) => !lockedSelectionRowIds[id])\n .some(({ id }) => !selectedRowIds[id])\n );\n\n isAllSelectablePageRowsUnselected =\n !existsLockedRows ||\n !(\n page &&\n page.length &&\n page\n .filter(({ id }) => !lockedSelectionRowIds[id])\n .some(({ id }) => selectedRowIds[id])\n );\n\n isNoPageRowsSelected = !(\n page &&\n page.length &&\n page.some(({ id }) => selectedRowIds[id])\n );\n }\n }\n }\n\n const getAutoResetSelectedRows = useGetLatest(autoResetSelectedRows);\n\n const getAutoResetLockedSelectionRows = useGetLatest(\n autoResetLockedSelectionRows\n );\n\n useMountedLayoutEffect(() => {\n if (getAutoResetSelectedRows()) {\n dispatch({ type: actions.resetSelectedRows });\n }\n if (getAutoResetLockedSelectionRows()) {\n dispatch({ type: actions.resetLockedSelectionRows });\n }\n }, [dispatch, data]);\n\n const toggleAllRowsSelected = useCallback(\n (value) => dispatch({ type: actions.toggleAllRowsSelected, value }),\n [dispatch]\n );\n\n const toggleAllPageRowsSelected = useCallback(\n (value) => dispatch({ type: actions.toggleAllPageRowsSelected, value }),\n [dispatch]\n );\n\n const toggleRowSelected = useCallback(\n (id, value) => dispatch({ type: actions.toggleRowSelected, id, value }),\n [dispatch]\n );\n\n const getInstance = useGetLatest(instance);\n\n const getToggleAllRowsSelectedProps = makePropGetter(\n getHooks().getToggleAllRowsSelectedProps,\n {\n instance: getInstance(),\n }\n );\n\n const getToggleAllPageRowsSelectedProps = makePropGetter(\n getHooks().getToggleAllPageRowsSelectedProps,\n { instance: getInstance() }\n );\n\n const toggleRowLockedSelection = useCallback(\n (id, value) =>\n dispatch({ type: actions.toggleRowLockedSelection, id, value }),\n [dispatch]\n );\n\n Object.assign(instance, {\n selectedFlatRows,\n isNoRowsSelected,\n isNoPageRowsSelected,\n isAllRowsSelected,\n isAllPageRowsSelected,\n isAllSelectableRowsSelected,\n isAllSelectablePageRowsSelected,\n isAllSelectableRowsUnselected,\n isAllSelectablePageRowsUnselected,\n toggleRowSelected,\n toggleAllRowsSelected,\n getToggleAllRowsSelectedProps,\n getToggleAllPageRowsSelectedProps,\n toggleAllPageRowsSelected,\n toggleRowLockedSelection,\n });\n}\n\nexport function prepareRow(row, { instance }) {\n row.toggleRowSelected = (set) => instance.toggleRowSelected(row.id, set);\n row.getToggleRowSelectedProps = makePropGetter(\n instance.getHooks().getToggleRowSelectedProps,\n {\n instance,\n row,\n }\n );\n\n row.toggleRowLockedSelection = (set) =>\n instance.toggleRowLockedSelection(row.id, set);\n row.isSelectionLocked =\n instance.state?.lockedSelectionRowIds?.[row.id] || false;\n}\n\nconst useRowSelection: UseRowSelectionProps = (hooks) => {\n hooks.visibleColumns.push(visibleColumnsHook);\n\n hooks.getRowProps.push(getRowPropsHook);\n\n hooks.getToggleRowSelectedProps = [defaultGetToggleRowSelectedProps];\n hooks.getToggleAllRowsSelectedProps = [defaultGetToggleAllRowsSelectedProps];\n hooks.getToggleAllPageRowsSelectedProps = [\n defaultGetToggleAllPageRowsSelectedProps,\n ];\n\n hooks.stateReducers.push(reducer);\n hooks.useInstance.push(useInstance);\n hooks.prepareRow.push(prepareRow);\n};\n\nuseRowSelection.pluginName = \"useHvRowSelection\";\n\nexport default useRowSelection;\n"],"names":["actions","resetSelectedRows","toggleAllRowsSelected","toggleRowSelected","toggleAllPageRowsSelected","resetLockedSelectionRows","toggleRowLockedSelection","DEFAULT_LABELS","selectRowCheckBoxAriaLabel","CellWithCheckBox","row","labels","labelsProp","useLabels","onChange","checked","disabled","indeterminate","getToggleRowSelectedProps","HvCheckBox","visibleColumnsHook","columns","selectionColumn","id","variant","width","sticky","Cell","getRowPropsHook","props","nextProps","selected","isSelected","defaultGetToggleRowSelectedProps","instance","manualRowSelectedKey","original","e","check","target","isSelectionLocked","isSomeSelected","defaultGetToggleAllRowsSelectedProps","isAllRowsSelected","Boolean","Object","keys","state","selectedRowIds","length","defaultGetToggleAllPageRowsSelectedProps","isAllPageRowsSelected","page","some","reducer","action","previousState","type","init","lockedSelectionRowIds","initialState","value","setSelected","rowsById","initialRowsById","nonGroupedRowsById","applyToggleAllRowsSelectedToPrefilteredRows","rowsToSelect","selectAll","forEach","rowId","selectSubRows","getSubRows","shouldExist","newSelectedRowIds","handleRowById","isGrouped","subrow","setLockedSelection","isLockedSelection","newLockedSelectionRowIds","getRowIsSelected","subRows","allChildrenSelected","someSelected","subRow","useInstance","data","rows","getHooks","plugins","autoResetSelectedRows","autoResetLockedSelectionRows","dispatch","selectedFlatRows","useMemo","selectedRows","push","existsLockedRows","isNoRowsSelected","isNoPageRowsSelected","isAllSelectableRowsUnselected","isAllSelectablePageRowsUnselected","isAllSelectableRowsSelected","isAllSelectablePageRowsSelected","filter","getAutoResetSelectedRows","useGetLatest","getAutoResetLockedSelectionRows","useMountedLayoutEffect","useCallback","getInstance","getToggleAllRowsSelectedProps","makePropGetter","getToggleAllPageRowsSelectedProps","assign","prepareRow","set","useRowSelection","hooks","visibleColumns","getRowProps","stateReducers","pluginName"],"mappings":"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"}
@@ -37,9 +37,6 @@ const useSortBy = (hooks) => {
37
37
  useSortBy.pluginName = "useHvSortBy";
38
38
  const useSortBy$1 = useSortBy;
39
39
  export {
40
- useSortBy$1 as default,
41
- getCellPropsHook,
42
- getHeaderPropsHook,
43
- useInstanceHook
40
+ useSortBy$1 as default
44
41
  };
45
42
  //# sourceMappingURL=useSortBy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useSortBy.js","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>\nexport const 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>\nexport const getCellPropsHook = (props, { cell }) => {\n const nextProps: UseHvSortByTableCellProps = {\n sorted: cell.column.isSorted,\n };\n\n return [props, nextProps];\n};\n\nexport const 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":";AA4BaA,MAAAA,qBAAqBA,CAACC,OAAO;AAAA,EAAEC;AAAAA,EAAUC;AAAO,MAAM;AAC3D,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;AAGaU,MAAAA,mBAAmBA,CAAClB,OAAO;AAAA,EAAEmB;AAAK,MAAM;AACnD,QAAMX,YAAuC;AAAA,IAC3CG,QAAQQ,KAAKjB,OAAOU;AAAAA,EAAAA;AAGf,SAAA,CAACZ,OAAOQ,SAAS;AAC1B;AAEO,MAAMY,kBAAmBnB,CAAa,aAAA;AAC3CoB,oBAAkBpB,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.js","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,oBAAkBpB,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;"}
@@ -197,13 +197,7 @@ useSticky.pluginName = "useHvTableSticky";
197
197
  const useSticky$1 = useSticky;
198
198
  export {
199
199
  useSticky$1 as default,
200
- getCellPropsHook,
201
200
  getHeaderGroupPropsHook,
202
- getHeaderPropsHook,
203
- getRowPropsHook,
204
- getTableHeadPropsHook,
205
- getTablePropsHook,
206
- useInstanceHook,
207
- visibleColumnsHook
201
+ getTableHeadPropsHook
208
202
  };
209
203
  //# sourceMappingURL=useSticky.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useSticky.js","sources":["../../../../../src/components/Table/hooks/useSticky.ts"],"sourcesContent":["import {\n makePropGetter,\n useGetLatest,\n Hooks,\n PropGetter,\n TableCommonProps,\n} from \"react-table\";\nimport { CSSProperties } from \"react\";\n\n// #region ##### TYPES #####\n\nexport interface UseHvTableStickyTableHeadProps extends TableCommonProps {\n stickyHeader?: boolean;\n}\n\nexport type HvTableHeadPropGetter<D extends object> = PropGetter<\n D,\n UseHvTableStickyTableHeadProps\n>;\n\nexport type UseHvTableStickyTableOptions = {\n stickyHeader?: boolean;\n stickyColumns?: boolean;\n};\n\nexport interface UseHvTableStickyHooks<D extends object> {\n getTableHeadProps: Array<HvTableHeadPropGetter<D>>;\n}\n\nexport interface UseHvTableStickyTableInstance<D extends object> {\n getTableHeadProps: (\n propGetter?: HvTableHeadPropGetter<D>\n ) => UseHvTableStickyTableHeadProps;\n\n totalRight?: number;\n hasStickyColumns?: boolean;\n}\n\n// props target: <table>\nexport interface UseHvTableStickyTableProps {\n stickyHeader?: boolean;\n stickyColumns?: boolean;\n}\n\n// props target: <table><thead><tr><th>\nexport interface UseHvTableStickyColumnProps {\n stickyColumn?: boolean;\n stickyColumnMostLeft?: boolean;\n stickyColumnLeastRight?: boolean;\n}\n\n// props target: <table><tbody><tr><td>\nexport interface UseHvTableStickyCellProps {\n stickyColumn?: boolean;\n stickyColumnMostLeft?: boolean;\n stickyColumnLeastRight?: boolean;\n}\n\nexport type UseHvTableSticky = (<D extends object = Record<string, unknown>>(\n hooks: Hooks<D>\n) => void) & { pluginName: string };\n\n// #endregion ##### TYPES #####\n\nconst isSticky = (value) => /left|right/i.test(value);\n\nconst getStickyValue = ({ sticky, parent }) => {\n if (isSticky(sticky)) {\n return sticky;\n }\n\n if (parent != null) {\n // check if parent is sticky\n sticky = getStickyValue(parent);\n if (isSticky(sticky)) {\n return sticky;\n }\n\n const { columns } = parent;\n // check if any column in the same group is sticky\n if (columns?.length > 0) {\n sticky = columns?.find((col) => col.sticky != null)?.sticky;\n if (isSticky(sticky)) {\n return sticky;\n }\n }\n }\n\n return undefined;\n};\n\nconst updateColumnAndParent = (column, props) => {\n Object.assign(column, props);\n\n if (column.parent != null) {\n updateColumnAndParent(column.parent, props);\n }\n};\n\nexport const visibleColumnsHook = (columns, { instance }) => {\n const toTheLeft: any[] = [];\n const toTheRight: any[] = [];\n const others: any[] = [];\n\n columns.forEach((column) => {\n const sticky = getStickyValue(column)?.toLowerCase();\n\n updateColumnAndParent(column, { sticky });\n\n if (sticky === \"left\") {\n toTheLeft.push(column);\n } else if (sticky === \"right\") {\n toTheRight.push(column);\n } else {\n others.push(column);\n }\n });\n\n if (others.length > 0) {\n const [firstNotSticky] = others;\n updateColumnAndParent(firstNotSticky, { isFirstNotSticky: true });\n\n const lastNotSticky = others[others.length - 1];\n updateColumnAndParent(lastNotSticky, { isLastNotSticky: true });\n }\n\n const hasLeftSticky = toTheLeft.length > 0;\n if (hasLeftSticky) {\n const lastLeftSticky = toTheLeft[toTheLeft.length - 1];\n\n updateColumnAndParent(lastLeftSticky, { isLastLeftSticky: true });\n }\n\n const hasRightSticky = toTheRight.length > 0;\n if (hasRightSticky) {\n const [firstRightSticky] = toTheRight;\n\n updateColumnAndParent(firstRightSticky, { isFirstRightSticky: true });\n }\n\n instance.hasStickyColumns = hasLeftSticky || hasRightSticky;\n\n return [...toTheLeft, ...others, ...toTheRight];\n};\n\nconst calculateHeaderWidthsToTheRight = (headers, right = 0) => {\n if (!headers?.length) {\n return;\n }\n\n for (let i = headers.length - 1; i !== -1; i -= 1) {\n const header = headers[i];\n\n header.totalRight = right;\n\n const { headers: subHeaders } = header;\n if (subHeaders?.length > 0) {\n calculateHeaderWidthsToTheRight(subHeaders, right);\n }\n\n if (header.isVisible) {\n right += header.totalWidth;\n }\n }\n};\n\nexport const useInstanceHook = (instance) => {\n calculateHeaderWidthsToTheRight(instance.headers);\n\n const getInstance = useGetLatest(instance);\n instance.getTableHeadProps = makePropGetter(\n instance.getHooks().getTableHeadProps,\n {\n instance: getInstance(),\n }\n );\n};\n\nconst getRowProps = () => ({\n style: {\n display: \"flex\",\n flex: \"1 0 auto\",\n },\n});\n\nconst getCellProps = (header, isHeaderCell) => {\n const props: UseHvTableStickyCellProps & { style: CSSProperties } = {\n style: {\n display: \"inline-flex\",\n flex: `${header.totalWidth} ${header.totalMinWidth} auto`,\n alignItems: isHeaderCell ? \"start\" : \"center\",\n justifyContent: header.align,\n\n width: `${header.totalWidth}px`,\n minWidth: `${header.totalMinWidth}px`,\n },\n };\n\n if (header.sticky != null) {\n props.stickyColumn = true;\n\n const margin =\n header.sticky === \"left\" ? header.totalLeft : header.totalRight;\n\n props.style[header.sticky] = `${margin}px`;\n\n if (header.isLastLeftSticky) {\n props.stickyColumnMostLeft = true;\n }\n\n if (header.isFirstRightSticky) {\n props.stickyColumnLeastRight = true;\n }\n } else {\n if (header.isFirstNotSticky) {\n props.style.borderLeft = 0;\n }\n\n if (header.isLastNotSticky) {\n props.style.borderRight = 0;\n }\n }\n\n return props;\n};\n\n/*\n * STICKY POSITION MANAGEMENT\n * <thead>: sticky if stickyHeader: true\n * <tr>: never sticky\n * <th>: sticky only if that particular column is sticky (left or right)\n */\n\n/*\n * We need to hide the last non sticky column right border, to avoid issues with double borders.\n *\n * This could be done with css, using the `:has()` selector:\n * - \".not-sticky:has(+ .first-right-sticky)\": { border-right: 0 }\n *\n * Until the `:has()` selector is supported by modern browsers,\n * that at the moment is just a proposal https://developer.mozilla.org/en-US/docs/Web/CSS/:has,\n * we need to override the last not sticky column \"borderRight\" here.\n */\n\n// props target: <table>\nexport const getTablePropsHook = (props, { instance }) => {\n const nextProps: UseHvTableStickyTableProps = {\n stickyHeader: instance.stickyHeader,\n stickyColumns: instance.hasStickyColumns,\n };\n\n return [props, nextProps];\n};\n\n// props target: <table><thead>\nexport const getTableHeadPropsHook = (props, { instance }) => {\n const nextProps = {\n stickyHeader: instance.stickyHeader,\n };\n\n return [props, nextProps];\n};\n\n// props target: <table><thead><tr>\nexport const getHeaderGroupPropsHook = (props, { instance }) => {\n const nextProps = instance.hasStickyColumns ? getRowProps() : {};\n\n return [props, nextProps];\n};\n\n// props target: <table><thead><tr><th>\nexport const getHeaderPropsHook = (props, { instance, column }) => {\n const nextProps = instance.hasStickyColumns ? getCellProps(column, true) : {};\n\n return [props, nextProps];\n};\n\n// props target: <table><tbody><tr>\nexport const getRowPropsHook = (props, { instance }) => {\n const nextProps = instance.hasStickyColumns ? getRowProps() : {};\n\n return [props, nextProps];\n};\n\n// props target: <table><tbody><tr><td>\nexport const getCellPropsHook = (props, { instance, cell }) => {\n const nextProps: UseHvTableStickyCellProps = instance.hasStickyColumns\n ? getCellProps(cell.column, false)\n : {};\n\n return [props, nextProps];\n};\n\nconst useSticky: UseHvTableSticky = (hooks) => {\n hooks.visibleColumns.push(visibleColumnsHook);\n hooks.useInstance.push(useInstanceHook);\n\n // props target: <table>\n hooks.getTableProps.push(getTablePropsHook);\n // props target: <table><thead>\n hooks.getTableHeadProps = [getTableHeadPropsHook];\n // props target: <table><thead><tr>\n hooks.getHeaderGroupProps.push(getHeaderGroupPropsHook);\n // props target: <table><thead><tr><th>\n hooks.getHeaderProps.push(getHeaderPropsHook);\n // props target: <table><tbody><tr>\n hooks.getRowProps.push(getRowPropsHook);\n // props target: <table><tbody><tr><td>\n hooks.getCellProps.push(getCellPropsHook);\n};\n\nuseSticky.pluginName = \"useHvTableSticky\";\n\nexport default useSticky;\n"],"names":["isSticky","value","test","getStickyValue","sticky","parent","columns","length","find","col","undefined","updateColumnAndParent","column","props","assign","visibleColumnsHook","instance","toTheLeft","toTheRight","others","forEach","toLowerCase","push","firstNotSticky","isFirstNotSticky","lastNotSticky","isLastNotSticky","hasLeftSticky","lastLeftSticky","isLastLeftSticky","hasRightSticky","firstRightSticky","isFirstRightSticky","hasStickyColumns","calculateHeaderWidthsToTheRight","headers","right","i","header","totalRight","subHeaders","isVisible","totalWidth","useInstanceHook","getInstance","useGetLatest","getTableHeadProps","makePropGetter","getHooks","getRowProps","style","display","flex","getCellProps","isHeaderCell","totalMinWidth","alignItems","justifyContent","align","width","minWidth","stickyColumn","margin","totalLeft","stickyColumnMostLeft","stickyColumnLeastRight","borderLeft","borderRight","getTablePropsHook","nextProps","stickyHeader","stickyColumns","getTableHeadPropsHook","getHeaderGroupPropsHook","getHeaderPropsHook","getRowPropsHook","getCellPropsHook","cell","useSticky","hooks","visibleColumns","useInstance","getTableProps","getHeaderGroupProps","getHeaderProps","pluginName"],"mappings":"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"}
1
+ {"version":3,"file":"useSticky.js","sources":["../../../../../src/components/Table/hooks/useSticky.ts"],"sourcesContent":["import {\n makePropGetter,\n useGetLatest,\n Hooks,\n PropGetter,\n TableCommonProps,\n} from \"react-table\";\nimport { CSSProperties } from \"react\";\n\n// #region ##### TYPES #####\n\nexport interface UseHvTableStickyTableHeadProps extends TableCommonProps {\n stickyHeader?: boolean;\n}\n\nexport type HvTableHeadPropGetter<D extends object> = PropGetter<\n D,\n UseHvTableStickyTableHeadProps\n>;\n\nexport type UseHvTableStickyTableOptions = {\n stickyHeader?: boolean;\n stickyColumns?: boolean;\n};\n\nexport interface UseHvTableStickyHooks<D extends object> {\n getTableHeadProps: Array<HvTableHeadPropGetter<D>>;\n}\n\nexport interface UseHvTableStickyTableInstance<D extends object> {\n getTableHeadProps: (\n propGetter?: HvTableHeadPropGetter<D>\n ) => UseHvTableStickyTableHeadProps;\n\n totalRight?: number;\n hasStickyColumns?: boolean;\n}\n\n// props target: <table>\nexport interface UseHvTableStickyTableProps {\n stickyHeader?: boolean;\n stickyColumns?: boolean;\n}\n\n// props target: <table><thead><tr><th>\nexport interface UseHvTableStickyColumnProps {\n stickyColumn?: boolean;\n stickyColumnMostLeft?: boolean;\n stickyColumnLeastRight?: boolean;\n}\n\n// props target: <table><tbody><tr><td>\nexport interface UseHvTableStickyCellProps {\n stickyColumn?: boolean;\n stickyColumnMostLeft?: boolean;\n stickyColumnLeastRight?: boolean;\n}\n\nexport type UseHvTableSticky = (<D extends object = Record<string, unknown>>(\n hooks: Hooks<D>\n) => void) & { pluginName: string };\n\n// #endregion ##### TYPES #####\n\nconst isSticky = (value) => /left|right/i.test(value);\n\nconst getStickyValue = ({ sticky, parent }) => {\n if (isSticky(sticky)) {\n return sticky;\n }\n\n if (parent != null) {\n // check if parent is sticky\n sticky = getStickyValue(parent);\n if (isSticky(sticky)) {\n return sticky;\n }\n\n const { columns } = parent;\n // check if any column in the same group is sticky\n if (columns?.length > 0) {\n sticky = columns?.find((col) => col.sticky != null)?.sticky;\n if (isSticky(sticky)) {\n return sticky;\n }\n }\n }\n\n return undefined;\n};\n\nconst updateColumnAndParent = (column, props) => {\n Object.assign(column, props);\n\n if (column.parent != null) {\n updateColumnAndParent(column.parent, props);\n }\n};\n\nconst visibleColumnsHook = (columns, { instance }) => {\n const toTheLeft: any[] = [];\n const toTheRight: any[] = [];\n const others: any[] = [];\n\n columns.forEach((column) => {\n const sticky = getStickyValue(column)?.toLowerCase();\n\n updateColumnAndParent(column, { sticky });\n\n if (sticky === \"left\") {\n toTheLeft.push(column);\n } else if (sticky === \"right\") {\n toTheRight.push(column);\n } else {\n others.push(column);\n }\n });\n\n if (others.length > 0) {\n const [firstNotSticky] = others;\n updateColumnAndParent(firstNotSticky, { isFirstNotSticky: true });\n\n const lastNotSticky = others[others.length - 1];\n updateColumnAndParent(lastNotSticky, { isLastNotSticky: true });\n }\n\n const hasLeftSticky = toTheLeft.length > 0;\n if (hasLeftSticky) {\n const lastLeftSticky = toTheLeft[toTheLeft.length - 1];\n\n updateColumnAndParent(lastLeftSticky, { isLastLeftSticky: true });\n }\n\n const hasRightSticky = toTheRight.length > 0;\n if (hasRightSticky) {\n const [firstRightSticky] = toTheRight;\n\n updateColumnAndParent(firstRightSticky, { isFirstRightSticky: true });\n }\n\n instance.hasStickyColumns = hasLeftSticky || hasRightSticky;\n\n return [...toTheLeft, ...others, ...toTheRight];\n};\n\nconst calculateHeaderWidthsToTheRight = (headers, right = 0) => {\n if (!headers?.length) {\n return;\n }\n\n for (let i = headers.length - 1; i !== -1; i -= 1) {\n const header = headers[i];\n\n header.totalRight = right;\n\n const { headers: subHeaders } = header;\n if (subHeaders?.length > 0) {\n calculateHeaderWidthsToTheRight(subHeaders, right);\n }\n\n if (header.isVisible) {\n right += header.totalWidth;\n }\n }\n};\n\nconst useInstanceHook = (instance) => {\n calculateHeaderWidthsToTheRight(instance.headers);\n\n const getInstance = useGetLatest(instance);\n instance.getTableHeadProps = makePropGetter(\n instance.getHooks().getTableHeadProps,\n {\n instance: getInstance(),\n }\n );\n};\n\nconst getRowProps = () => ({\n style: {\n display: \"flex\",\n flex: \"1 0 auto\",\n },\n});\n\nconst getCellProps = (header, isHeaderCell) => {\n const props: UseHvTableStickyCellProps & { style: CSSProperties } = {\n style: {\n display: \"inline-flex\",\n flex: `${header.totalWidth} ${header.totalMinWidth} auto`,\n alignItems: isHeaderCell ? \"start\" : \"center\",\n justifyContent: header.align,\n\n width: `${header.totalWidth}px`,\n minWidth: `${header.totalMinWidth}px`,\n },\n };\n\n if (header.sticky != null) {\n props.stickyColumn = true;\n\n const margin =\n header.sticky === \"left\" ? header.totalLeft : header.totalRight;\n\n props.style[header.sticky] = `${margin}px`;\n\n if (header.isLastLeftSticky) {\n props.stickyColumnMostLeft = true;\n }\n\n if (header.isFirstRightSticky) {\n props.stickyColumnLeastRight = true;\n }\n } else {\n if (header.isFirstNotSticky) {\n props.style.borderLeft = 0;\n }\n\n if (header.isLastNotSticky) {\n props.style.borderRight = 0;\n }\n }\n\n return props;\n};\n\n/*\n * STICKY POSITION MANAGEMENT\n * <thead>: sticky if stickyHeader: true\n * <tr>: never sticky\n * <th>: sticky only if that particular column is sticky (left or right)\n */\n\n/*\n * We need to hide the last non sticky column right border, to avoid issues with double borders.\n *\n * This could be done with css, using the `:has()` selector:\n * - \".not-sticky:has(+ .first-right-sticky)\": { border-right: 0 }\n *\n * Until the `:has()` selector is supported by modern browsers,\n * that at the moment is just a proposal https://developer.mozilla.org/en-US/docs/Web/CSS/:has,\n * we need to override the last not sticky column \"borderRight\" here.\n */\n\n// props target: <table>\nconst getTablePropsHook = (props, { instance }) => {\n const nextProps: UseHvTableStickyTableProps = {\n stickyHeader: instance.stickyHeader,\n stickyColumns: instance.hasStickyColumns,\n };\n\n return [props, nextProps];\n};\n\n// props target: <table><thead>\nexport const getTableHeadPropsHook = (props, { instance }) => {\n const nextProps = {\n stickyHeader: instance.stickyHeader,\n };\n\n return [props, nextProps];\n};\n\n// props target: <table><thead><tr>\nexport const getHeaderGroupPropsHook = (props, { instance }) => {\n const nextProps = instance.hasStickyColumns ? getRowProps() : {};\n\n return [props, nextProps];\n};\n\n// props target: <table><thead><tr><th>\nconst getHeaderPropsHook = (props, { instance, column }) => {\n const nextProps = instance.hasStickyColumns ? getCellProps(column, true) : {};\n\n return [props, nextProps];\n};\n\n// props target: <table><tbody><tr>\nconst getRowPropsHook = (props, { instance }) => {\n const nextProps = instance.hasStickyColumns ? getRowProps() : {};\n\n return [props, nextProps];\n};\n\n// props target: <table><tbody><tr><td>\nconst getCellPropsHook = (props, { instance, cell }) => {\n const nextProps: UseHvTableStickyCellProps = instance.hasStickyColumns\n ? getCellProps(cell.column, false)\n : {};\n\n return [props, nextProps];\n};\n\nconst useSticky: UseHvTableSticky = (hooks) => {\n hooks.visibleColumns.push(visibleColumnsHook);\n hooks.useInstance.push(useInstanceHook);\n\n // props target: <table>\n hooks.getTableProps.push(getTablePropsHook);\n // props target: <table><thead>\n hooks.getTableHeadProps = [getTableHeadPropsHook];\n // props target: <table><thead><tr>\n hooks.getHeaderGroupProps.push(getHeaderGroupPropsHook);\n // props target: <table><thead><tr><th>\n hooks.getHeaderProps.push(getHeaderPropsHook);\n // props target: <table><tbody><tr>\n hooks.getRowProps.push(getRowPropsHook);\n // props target: <table><tbody><tr><td>\n hooks.getCellProps.push(getCellPropsHook);\n};\n\nuseSticky.pluginName = \"useHvTableSticky\";\n\nexport default useSticky;\n"],"names":["isSticky","value","test","getStickyValue","sticky","parent","columns","length","find","col","undefined","updateColumnAndParent","column","props","assign","visibleColumnsHook","instance","toTheLeft","toTheRight","others","forEach","toLowerCase","push","firstNotSticky","isFirstNotSticky","lastNotSticky","isLastNotSticky","hasLeftSticky","lastLeftSticky","isLastLeftSticky","hasRightSticky","firstRightSticky","isFirstRightSticky","hasStickyColumns","calculateHeaderWidthsToTheRight","headers","right","i","header","totalRight","subHeaders","isVisible","totalWidth","useInstanceHook","getInstance","useGetLatest","getTableHeadProps","makePropGetter","getHooks","getRowProps","style","display","flex","getCellProps","isHeaderCell","totalMinWidth","alignItems","justifyContent","align","width","minWidth","stickyColumn","margin","totalLeft","stickyColumnMostLeft","stickyColumnLeastRight","borderLeft","borderRight","getTablePropsHook","nextProps","stickyHeader","stickyColumns","getTableHeadPropsHook","getHeaderGroupPropsHook","getHeaderPropsHook","getRowPropsHook","getCellPropsHook","cell","useSticky","hooks","visibleColumns","useInstance","getTableProps","getHeaderGroupProps","getHeaderProps","pluginName"],"mappings":"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"}
@@ -40,7 +40,7 @@ const useHvTableSetup = (hooks) => {
40
40
  hooks.useInstance.push(useInstanceHook);
41
41
  };
42
42
  useHvTableSetup.pluginName = "useHvTableSetup";
43
- const useHvTable = (props, ...plugins) => {
43
+ function useHvTable(props, ...plugins) {
44
44
  const {
45
45
  data: dataProp,
46
46
  columns: columnsProp,
@@ -61,10 +61,9 @@ const useHvTable = (props, ...plugins) => {
61
61
  columns,
62
62
  ...others
63
63
  }, useHvTableSetup, ...plugins);
64
- };
65
- const useHvTable$1 = useHvTable;
64
+ }
66
65
  export {
67
66
  PluginHook as HvTablePluginHook,
68
- useHvTable$1 as default
67
+ useHvTable as default
69
68
  };
70
69
  //# sourceMappingURL=useTable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useTable.js","sources":["../../../../../src/components/Table/hooks/useTable.ts"],"sourcesContent":["import { useMemo } from \"react\";\nimport {\n useTable,\n usePagination,\n useExpanded,\n useSortBy,\n useResizeColumns,\n Cell,\n CellPropGetter,\n CellProps,\n 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\";\n\n// #region ##### TYPES #####\n\ntype Accessor<D extends object> = (\n originalRow: D,\n index: number,\n sub: {\n subRows: D[];\n depth: number;\n data: D[];\n }\n) => CellValue;\n\ntype StringKey<D> = Extract<keyof D, string>;\ntype IdType<D> = StringKey<D> | string;\ntype CellValue<V = any> = V;\n\ninterface HvColumnInterfaceBasedOnValue<\n D extends object = Record<string, unknown>,\n V = any\n> {\n Cell?: Renderer<HvCellProps<D, V>>;\n}\n\ninterface HvColumnGroupInterface<D extends object> {\n columns: Array<HvTableColumnConfig<D>>;\n}\n\ntype HvColumnGroup<D extends object = Record<string, unknown>> =\n HvTableColumnOptions<D> &\n HvColumnGroupInterface<D> &\n (\n | { Header: string }\n | ({ id: IdType<D> } & {\n Header: Renderer<HeaderProps<D>>;\n })\n ) & { accessor?: Accessor<D> }; // Not used, but needed for backwards compatibility\n\ntype ValueOf<T> = T[keyof T];\n\n// The accessors like `foo.bar` are not supported, use functions instead\ntype HvColumnWithStrictAccessor<D extends object = Record<string, unknown>> =\n HvTableColumnOptions<D> &\n ValueOf<{\n [K in keyof D]: {\n accessor: K;\n } & HvColumnInterfaceBasedOnValue<D, D[K]>;\n }>;\n\ntype HvColumnWithLooseAccessor<D extends object = Record<string, unknown>> =\n HvTableColumnOptions<D> &\n HvColumnInterfaceBasedOnValue<D> &\n (\n | { Header: string }\n | { id: IdType<D> }\n | { accessor: keyof D extends never ? IdType<D> : never }\n ) & {\n accessor?: keyof D extends never ? IdType<D> | Accessor<D> : Accessor<D>;\n };\n\nexport type HvCellProps<D extends object, V = any> = CellProps<D, V> & {\n column: HvColumnInstance<D>;\n row: HvRowInstance<D>;\n cell: HvCellInstance<D, V>;\n};\n\nexport type HvTableDefinitionConfig<\n D extends object = Record<string, unknown>\n> = HvTableOptions<D>;\n\nexport type HvTableColumnConfig<D extends object = Record<string, unknown>> =\n | HvColumnGroup<D>\n | HvColumnWithLooseAccessor<D>\n | HvColumnWithStrictAccessor<D>;\n\n// #region HOOKS\nexport interface HvHooks<D extends object = Record<string, unknown>>\n extends Hooks<D>,\n UseExpandedHooks<D>,\n UseGroupByHooks<D>,\n UseSortByHooks<D>,\n UseHvRowSelectionHooks<D>,\n UseHvTableStickyHooks<D>,\n UseHvPaginationHooks<D>,\n UseHvBulkActionsHooks<D> {}\n// #endregion\n\n// #region STATE\nexport interface HvTableState<D extends object = Record<string, unknown>>\n extends TableState<D>,\n UseColumnOrderState<D>,\n UseExpandedState<D>,\n UseFiltersState<D>,\n UseGlobalFiltersState<D>,\n UseGroupByState<D>,\n UsePaginationState<D>,\n UseResizeColumnsState<D>,\n UseSortByState<D>,\n UseHvRowSelectionState<D> {\n rowCount: number;\n}\n// #endregion\n\n// #region OPTIONS\nexport interface HvTableOptions<D extends object>\n extends Omit<TableOptions<D>, \"columns\" | \"data\">,\n UseExpandedOptions<D>,\n UseFiltersOptions<D>,\n UseFiltersOptions<D>,\n UseGlobalFiltersOptions<D>,\n UseGroupByOptions<D>,\n UsePaginationOptions<D>,\n UseResizeColumnsOptions<D>,\n UseSortByOptions<D>,\n UseHvTableStylesTableOptions,\n UseHvRowSelectionTableOptions,\n UseHvTableStickyTableOptions,\n UseHvBulkActionsTableOptions,\n UseHvRowExpandTableOptions {\n columns?: Array<HvTableColumnConfig<D>>;\n data?: D[];\n\n initialState?: Partial<HvTableState<D>>;\n\n labels?: Record<string, string>;\n}\n\nexport interface HvTableColumnOptions<\n D extends object = Record<string, unknown>\n> extends ColumnInterface<D>,\n UseFiltersColumnOptions<D>,\n UseGroupByColumnOptions<D>,\n UseResizeColumnsColumnOptions<D>,\n UseSortByColumnOptions<D>,\n UseHvTableStylesColumnOptions {}\n// #endregion\n\n// #region INSTANCE\nexport interface HvTableInstance<D extends object = Record<string, unknown>>\n extends TableInstance<D>,\n Omit<HvTableOptions<D>, \"columns\" | \"pageCount\" | \"initialState\" | \"data\">,\n UseColumnOrderInstanceProps<D>,\n UseExpandedInstanceProps<D>,\n UseFiltersInstanceProps<D>,\n UseGlobalFiltersInstanceProps<D>,\n UseGroupByInstanceProps<D>,\n UsePaginationInstanceProps<D>,\n UseSortByInstanceProps<D>,\n UseHvRowSelectionTableInstance<D>,\n UseHvTableStickyTableInstance<D>,\n UseHvHeaderGroupsInstance,\n UseHvPaginationTableInstance<D>,\n UseHvBulkActionsTableInstanceProps<D> {\n initialState: Partial<HvTableState<D>>;\n state: HvTableState<D>;\n columns: Array<HvColumnInstance<D>>;\n allColumns: Array<HvColumnInstance<D>>;\n visibleColumns: Array<HvColumnInstance<D>>;\n headers: Array<HvColumnInstance<D>>;\n flatHeaders: Array<HvColumnInstance<D>>;\n rows: Array<HvRowInstance<D>>;\n page: Array<HvRowInstance<D>>;\n rowsById: Record<string, HvRowInstance<D>>;\n flatRows: Array<HvRowInstance<D>>;\n getHooks: () => HvHooks<D>;\n getTableProps: (propGetter?: TablePropGetter<D>) => HvUseTableProps;\n selectedFlatRows: Array<HvRowInstance<D>>;\n\n initialRows: Array<HvRowInstance<D>>;\n initialRowsById: Record<string, HvRowInstance<D>>;\n\n labels: Record<string, string>;\n}\n\nexport interface HvColumnInstance<D extends object = Record<string, unknown>>\n extends ColumnInstance<D>,\n Omit<HvTableColumnOptions<D>, \"id\">,\n UseFiltersColumnProps<D>,\n UseGroupByColumnProps<D>,\n UseResizeColumnsColumnProps<D>,\n UseSortByColumnProps<D> {\n Cell?: Renderer<HvCellProps<D>>;\n columns: Array<HvColumnInstance<D>>;\n parent: HvColumnInstance<D>; // not documented\n placeholderOf?: HvColumnInstance;\n getHeaderProps: (propGetter?: HeaderPropGetter<D>) => HvUseTableHeaderProps;\n getFooterProps: (propGetter?: FooterPropGetter<D>) => HvUseTableFooterProps;\n}\n\nexport interface HvRowInstance<D extends object = Record<string, unknown>>\n extends Row<D>,\n UseGroupByRowProps<D>,\n UseHvRowSelectionRowInstance,\n UseHvRowExpandRowInstance<D> {\n cells: Array<HvCellInstance<D>>;\n allCells: Array<HvCellInstance<D>>;\n getRowProps: (propGetter?: RowPropGetter<D>) => HvUseTableRowProps;\n index: number;\n original: D;\n id: string;\n subRows: Array<HvRowInstance<D>>;\n}\n\nexport interface HvCellInstance<\n D extends object = Record<string, unknown>,\n V = any\n> extends Cell<D, V>,\n UseGroupByCellProps<D> {\n column: HvColumnInstance<D>;\n row: HvRowInstance<D>;\n getCellProps: (propGetter?: CellPropGetter<D>) => HvUseTableCellProps;\n}\n// #endregion\n\n// #region PROPS\nexport interface HvUseTableProps\n extends TableProps,\n UseHvTableStickyTableProps {}\n\nexport interface HvUseTableHeaderProps\n extends TableHeaderProps,\n UseHvTableStylesTableCellProps,\n UseHvTableStickyColumnProps,\n UseHvHeaderGroupsColumnProps,\n UseHvResizeColumnProps,\n UseHvSortByColumnProps {}\nexport interface HvUseTableFooterProps\n extends TableFooterProps,\n UseHvTableStylesTableCellProps {}\n\nexport interface HvUseTableRowProps\n extends TableRowProps,\n UseHvTableStylesTableRowProps,\n UseHvRowSelectionTableRowProps,\n UseHvRowExpandTableRowProps {}\n\nexport interface HvUseTableCellProps\n extends TableCellProps,\n UseHvTableStylesTableCellProps,\n UseHvTableStickyCellProps,\n UseHvHeaderGroupsCellProps,\n UseHvResizeTableCellProps,\n UseHvSortByTableCellProps {}\n\n// #endregion\n\nexport type UseHvTableProps = <D extends object = Record<string, unknown>>(\n options: HvTableOptions<D>,\n ...plugins: Array<PluginHook<D>>\n) => HvTableInstance<D>;\n\nexport { PluginHook as HvTablePluginHook };\n\n// #endregion ##### TYPES #####\n\nconst toTitleCase = (str) => {\n return str\n .replace(/([^A-Z])([A-Z])/g, \"$1 $2\") // split cameCase\n .replace(/[_-]+/g, \" \") // split snake_case and lisp-case\n .toLowerCase()\n .replace(/(^\\w|\\b\\w)/g, (m) => m.toUpperCase()) // title case words\n .replace(/\\s+/g, \" \") // collapse repeated whitespace\n .trim(); // remove leading/trailing whitespace\n};\n\nconst useDefaultData = (data) =>\n useMemo(() => {\n return data || [];\n }, [data]);\n\nconst useDefaultColumns = (columns, data) =>\n useMemo(() => {\n if (columns != null) {\n return columns;\n }\n\n const uniqueKeys = Object.keys(Object.assign({}, ...data));\n return uniqueKeys\n .filter((key) => ![\"subRows\", \"subComponent\"].includes(key))\n .map((key) => ({\n accessor: key,\n Header: toTitleCase(key),\n }));\n }, [columns, data]);\n\nconst ensureCorePluginInstallation = (\n plugins,\n hvPluginName,\n corePluginToInstall\n) => {\n const indexOfCorePlugin = plugins.findIndex(\n (plugin) => plugin.pluginName === corePluginToInstall.pluginName\n );\n const indexOfHvPlugin = plugins.findIndex(\n (plugin) => plugin.pluginName === hvPluginName\n );\n\n if (\n indexOfHvPlugin !== -1 &&\n (indexOfCorePlugin === -1 || indexOfCorePlugin > indexOfHvPlugin)\n ) {\n if (indexOfCorePlugin > -1) {\n plugins.splice(indexOfCorePlugin, 1);\n }\n\n plugins.splice(indexOfHvPlugin, 0, corePluginToInstall);\n }\n};\n\nconst useInstanceHook = (instance) => {\n const { rowsById } = instance;\n\n Object.assign(instance, {\n initialRowsById: rowsById,\n });\n};\n\nconst useHvTableSetup = (hooks) => {\n hooks.useInstance.push(useInstanceHook);\n};\n\nuseHvTableSetup.pluginName = \"useHvTableSetup\";\n\nconst useHvTable = (props, ...plugins) => {\n const { data: dataProp, columns: columnsProp, ...others } = props;\n\n const data = useDefaultData(dataProp);\n const columns = useDefaultColumns(columnsProp, data);\n\n ensureCorePluginInstallation(plugins, \"useHvPagination\", usePagination);\n ensureCorePluginInstallation(plugins, \"useHvRowExpand\", useExpanded);\n ensureCorePluginInstallation(plugins, \"useHvSortBy\", useSortBy);\n ensureCorePluginInstallation(plugins, \"useHvResizeColumns\", useResizeColumns);\n\n const indexOfHvTableStylesPlugin = plugins.findIndex(\n (plugin) => plugin.pluginName === \"useHvTableStyles\"\n );\n if (indexOfHvTableStylesPlugin === -1) {\n plugins.push(useHvTableStyles);\n }\n\n // main hook call\n return useTable(\n {\n data,\n columns,\n ...others,\n },\n useHvTableSetup,\n ...plugins\n );\n};\n\nexport default useHvTable;\n"],"names":["toTitleCase","str","replace","toLowerCase","m","toUpperCase","trim","useDefaultData","data","useMemo","useDefaultColumns","columns","uniqueKeys","Object","keys","assign","filter","key","includes","map","accessor","Header","ensureCorePluginInstallation","plugins","hvPluginName","corePluginToInstall","indexOfCorePlugin","findIndex","plugin","pluginName","indexOfHvPlugin","splice","useInstanceHook","instance","rowsById","initialRowsById","useHvTableSetup","hooks","useInstance","push","useHvTable","props","dataProp","columnsProp","others","usePagination","useExpanded","useSortBy","useResizeColumns","indexOfHvTableStylesPlugin","useHvTableStyles","useTable"],"mappings":";;;;AA8WA,MAAMA,cAAeC,CAAQ,QAAA;AACpBA,SAAAA,IACJC,QAAQ,oBAAoB,OAAO,EACnCA,QAAQ,UAAU,GAAG,EACrBC,cACAD,QAAQ,eAAgBE,CAAAA,MAAMA,EAAEC,YAAa,CAAA,EAC7CH,QAAQ,QAAQ,GAAG,EACnBI;AACL;AAEA,MAAMC,iBAAkBC,CACtBC,SAAAA,QAAQ,MAAM;AACZ,SAAOD,QAAQ,CAAA;AACjB,GAAG,CAACA,IAAI,CAAC;AAEX,MAAME,oBAAoBA,CAACC,SAASH,SAClCC,QAAQ,MAAM;AACZ,MAAIE,WAAW,MAAM;AACZA,WAAAA;AAAAA,EACT;AAEMC,QAAAA,aAAaC,OAAOC,KAAKD,OAAOE,OAAO,CAAC,GAAG,GAAGP,IAAI,CAAC;AACzD,SAAOI,WACJI,OAAQC,CAAQ,QAAA,CAAC,CAAC,WAAW,cAAc,EAAEC,SAASD,GAAG,CAAC,EAC1DE,IAAKF,CAAS,SAAA;AAAA,IACbG,UAAUH;AAAAA,IACVI,QAAQrB,YAAYiB,GAAG;AAAA,EACvB,EAAA;AACN,GAAG,CAACN,SAASH,IAAI,CAAC;AAEpB,MAAMc,+BAA+BA,CACnCC,SACAC,cACAC,wBACG;AACH,QAAMC,oBAAoBH,QAAQI,UAC/BC,YAAWA,OAAOC,eAAeJ,oBAAoBI,UAAU;AAElE,QAAMC,kBAAkBP,QAAQI,UAC7BC,CAAWA,WAAAA,OAAOC,eAAeL,YAAY;AAGhD,MACEM,oBAAoB,OACnBJ,sBAAsB,MAAMA,oBAAoBI,kBACjD;AACA,QAAIJ,oBAAoB,IAAI;AAClBK,cAAAA,OAAOL,mBAAmB,CAAC;AAAA,IACrC;AAEQK,YAAAA,OAAOD,iBAAiB,GAAGL,mBAAmB;AAAA,EACxD;AACF;AAEA,MAAMO,kBAAmBC,CAAa,aAAA;AAC9B,QAAA;AAAA,IAAEC;AAAAA,EAAaD,IAAAA;AAErBpB,SAAOE,OAAOkB,UAAU;AAAA,IACtBE,iBAAiBD;AAAAA,EAAAA,CAClB;AACH;AAEA,MAAME,kBAAmBC,CAAU,UAAA;AAC3BC,QAAAA,YAAYC,KAAKP,eAAe;AACxC;AAEAI,gBAAgBP,aAAa;AAE7B,MAAMW,aAAaA,CAACC,UAAUlB,YAAY;AAClC,QAAA;AAAA,IAAEf,MAAMkC;AAAAA,IAAU/B,SAASgC;AAAAA,OAAgBC;AAAAA,EAAWH,IAAAA;AAEtDjC,QAAAA,OAAOD,eAAemC,QAAQ;AAC9B/B,QAAAA,UAAUD,kBAAkBiC,aAAanC,IAAI;AAEtBe,+BAAAA,SAAS,mBAAmBsB,aAAa;AACzCtB,+BAAAA,SAAS,kBAAkBuB,WAAW;AACtCvB,+BAAAA,SAAS,eAAewB,SAAS;AACjCxB,+BAAAA,SAAS,sBAAsByB,gBAAgB;AAE5E,QAAMC,6BAA6B1B,QAAQI,UACxCC,CAAWA,WAAAA,OAAOC,eAAe,kBAAkB;AAEtD,MAAIoB,+BAA+B,IAAI;AACrC1B,YAAQgB,KAAKW,gBAAgB;AAAA,EAC/B;AAGA,SAAOC,SACL;AAAA,IACE3C;AAAAA,IACAG;AAAAA,IACA,GAAGiC;AAAAA,EAAAA,GAELR,iBACA,GAAGb,OAAO;AAEd;AAEA,MAAA,eAAeiB;"}
1
+ {"version":3,"file":"useTable.js","sources":["../../../../../src/components/Table/hooks/useTable.ts"],"sourcesContent":["import { useMemo } from \"react\";\nimport {\n useTable,\n usePagination,\n useExpanded,\n useSortBy,\n useResizeColumns,\n Cell,\n CellPropGetter,\n CellProps,\n ColumnInstance,\n ColumnInterface,\n FooterPropGetter,\n HeaderPropGetter,\n HeaderProps,\n Hooks,\n PluginHook,\n Renderer,\n Row,\n RowPropGetter,\n TableCellProps,\n TableFooterProps,\n TableHeaderProps,\n TableInstance,\n TableOptions,\n TablePropGetter,\n TableProps,\n TableRowProps,\n TableState,\n UseColumnOrderInstanceProps,\n UseColumnOrderState,\n UseExpandedHooks,\n UseExpandedInstanceProps,\n UseExpandedOptions,\n UseExpandedState,\n UseFiltersColumnOptions,\n UseFiltersColumnProps,\n UseFiltersInstanceProps,\n UseFiltersOptions,\n UseFiltersState,\n UseGlobalFiltersInstanceProps,\n UseGlobalFiltersOptions,\n UseGlobalFiltersState,\n UseGroupByCellProps,\n UseGroupByColumnOptions,\n UseGroupByColumnProps,\n UseGroupByHooks,\n UseGroupByInstanceProps,\n UseGroupByOptions,\n UseGroupByRowProps,\n UseGroupByState,\n UsePaginationInstanceProps,\n UsePaginationOptions,\n UsePaginationState,\n UseResizeColumnsColumnOptions,\n UseResizeColumnsColumnProps,\n UseResizeColumnsOptions,\n UseResizeColumnsState,\n UseSortByColumnOptions,\n UseSortByColumnProps,\n UseSortByHooks,\n UseSortByInstanceProps,\n UseSortByOptions,\n UseSortByState,\n} from \"react-table\";\nimport useHvTableStyles, {\n UseHvTableStylesTableOptions,\n UseHvTableStylesColumnOptions,\n UseHvTableStylesTableCellProps,\n UseHvTableStylesTableRowProps,\n} from \"./useTableStyles\";\nimport {\n UseHvTableStickyCellProps,\n UseHvTableStickyColumnProps,\n UseHvTableStickyHooks,\n UseHvTableStickyTableInstance,\n UseHvTableStickyTableOptions,\n UseHvTableStickyTableProps,\n} from \"./useSticky\";\nimport { UseHvSortByColumnProps, UseHvSortByTableCellProps } from \"./useSortBy\";\nimport {\n UseHvRowSelectionHooks,\n UseHvRowSelectionRowInstance,\n UseHvRowSelectionState,\n UseHvRowSelectionTableInstance,\n UseHvRowSelectionTableOptions,\n UseHvRowSelectionTableRowProps,\n} from \"./useRowSelection\";\nimport {\n UseHvPaginationHooks,\n UseHvPaginationTableInstance,\n} from \"./usePagination\";\nimport {\n UseHvBulkActionsHooks,\n UseHvBulkActionsTableInstanceProps,\n UseHvBulkActionsTableOptions,\n} from \"./useBulkActions\";\nimport {\n UseHvRowExpandTableOptions,\n UseHvRowExpandRowInstance,\n UseHvRowExpandTableRowProps,\n} from \"./useRowExpand\";\nimport {\n UseHvHeaderGroupsColumnProps,\n UseHvHeaderGroupsCellProps,\n UseHvHeaderGroupsInstance,\n} from \"./useHeaderGroups\";\nimport {\n UseHvResizeColumnProps,\n UseHvResizeTableCellProps,\n} from \"./useResizeColumns\";\nimport { HvExtraProps } from \"../../../types\";\n\n// #region ##### TYPES #####\n\ntype Accessor<D extends object> = (\n originalRow: D,\n index: number,\n sub: {\n subRows: D[];\n depth: number;\n data: D[];\n }\n) => CellValue;\n\ntype StringKey<D> = Extract<keyof D, string>;\ntype IdType<D> = StringKey<D> | string;\ntype CellValue<V = any> = V;\n\ninterface HvColumnInterfaceBasedOnValue<\n D extends object = Record<string, unknown>,\n V = any\n> {\n Cell?: Renderer<HvCellProps<D, V>>;\n}\n\ninterface HvColumnGroupInterface<D extends object> {\n columns: Array<HvTableColumnConfig<D>>;\n}\n\ntype HvColumnGroup<D extends object = Record<string, unknown>> =\n HvTableColumnOptions<D> &\n HvColumnGroupInterface<D> &\n (\n | { Header: string }\n | ({ id: IdType<D> } & {\n Header: Renderer<HeaderProps<D>>;\n })\n ) & { accessor?: Accessor<D> }; // Not used, but needed for backwards compatibility\n\ntype ValueOf<T> = T[keyof T];\n\n// The accessors like `foo.bar` are not supported, use functions instead\ntype HvColumnWithStrictAccessor<D extends object = Record<string, unknown>> =\n HvTableColumnOptions<D> &\n ValueOf<{\n [K in keyof D]: {\n accessor: K;\n } & HvColumnInterfaceBasedOnValue<D, D[K]>;\n }>;\n\ntype HvColumnWithLooseAccessor<D extends object = Record<string, unknown>> =\n HvTableColumnOptions<D> &\n HvColumnInterfaceBasedOnValue<D> &\n (\n | { Header: string }\n | { id: IdType<D> }\n | { accessor: keyof D extends never ? IdType<D> : never }\n ) & {\n accessor?: keyof D extends never ? IdType<D> | Accessor<D> : Accessor<D>;\n };\n\nexport type HvCellProps<D extends object, V = any> = CellProps<D, V> & {\n column: HvColumnInstance<D>;\n row: HvRowInstance<D>;\n cell: HvCellInstance<D, V>;\n};\n\nexport type HvTableDefinitionConfig<\n D extends object = Record<string, unknown>\n> = HvTableOptions<D>;\n\nexport type HvTableColumnConfig<D extends object = Record<string, unknown>> =\n | HvColumnGroup<D>\n | HvColumnWithLooseAccessor<D>\n | HvColumnWithStrictAccessor<D>;\n\n// #region HOOKS\nexport interface HvHooks<D extends object = Record<string, unknown>>\n extends Hooks<D>,\n UseExpandedHooks<D>,\n UseGroupByHooks<D>,\n UseSortByHooks<D>,\n UseHvRowSelectionHooks<D>,\n UseHvTableStickyHooks<D>,\n UseHvPaginationHooks<D>,\n UseHvBulkActionsHooks<D> {}\n// #endregion\n\n// #region STATE\nexport interface HvTableState<D extends object = Record<string, unknown>>\n extends TableState<D>,\n UseColumnOrderState<D>,\n UseExpandedState<D>,\n UseFiltersState<D>,\n UseGlobalFiltersState<D>,\n UseGroupByState<D>,\n UsePaginationState<D>,\n UseResizeColumnsState<D>,\n UseSortByState<D>,\n UseHvRowSelectionState<D> {\n rowCount: number;\n}\n// #endregion\n\n// #region OPTIONS\nexport interface HvTableOptions<D extends object>\n extends Omit<TableOptions<D>, \"columns\" | \"data\">,\n UseExpandedOptions<D>,\n UseFiltersOptions<D>,\n UseFiltersOptions<D>,\n UseGlobalFiltersOptions<D>,\n UseGroupByOptions<D>,\n UsePaginationOptions<D>,\n UseResizeColumnsOptions<D>,\n UseSortByOptions<D>,\n UseHvTableStylesTableOptions,\n UseHvRowSelectionTableOptions,\n UseHvTableStickyTableOptions,\n UseHvBulkActionsTableOptions,\n UseHvRowExpandTableOptions {\n columns?: Array<HvTableColumnConfig<D>>;\n data?: D[];\n\n initialState?: Partial<HvTableState<D>>;\n\n labels?: Record<string, string>;\n}\n\nexport interface HvTableColumnOptions<\n D extends object = Record<string, unknown>\n> extends ColumnInterface<D>,\n UseFiltersColumnOptions<D>,\n UseGroupByColumnOptions<D>,\n UseResizeColumnsColumnOptions<D>,\n UseSortByColumnOptions<D>,\n UseHvTableStylesColumnOptions {}\n// #endregion\n\n// #region INSTANCE\nexport interface HvTableInstance<D extends object = Record<string, unknown>>\n extends TableInstance<D>,\n Omit<HvTableOptions<D>, \"columns\" | \"pageCount\" | \"initialState\" | \"data\">,\n UseColumnOrderInstanceProps<D>,\n UseExpandedInstanceProps<D>,\n UseFiltersInstanceProps<D>,\n UseGlobalFiltersInstanceProps<D>,\n UseGroupByInstanceProps<D>,\n UsePaginationInstanceProps<D>,\n UseSortByInstanceProps<D>,\n UseHvRowSelectionTableInstance<D>,\n UseHvTableStickyTableInstance<D>,\n UseHvHeaderGroupsInstance,\n UseHvPaginationTableInstance<D>,\n UseHvBulkActionsTableInstanceProps<D> {\n initialState: Partial<HvTableState<D>>;\n state: HvTableState<D>;\n columns: Array<HvColumnInstance<D>>;\n allColumns: Array<HvColumnInstance<D>>;\n visibleColumns: Array<HvColumnInstance<D>>;\n headers: Array<HvColumnInstance<D>>;\n flatHeaders: Array<HvColumnInstance<D>>;\n rows: Array<HvRowInstance<D>>;\n page: Array<HvRowInstance<D>>;\n rowsById: Record<string, HvRowInstance<D>>;\n flatRows: Array<HvRowInstance<D>>;\n getHooks: () => HvHooks<D>;\n getTableProps: (propGetter?: TablePropGetter<D>) => HvUseTableProps;\n selectedFlatRows: Array<HvRowInstance<D>>;\n\n initialRows: Array<HvRowInstance<D>>;\n initialRowsById: Record<string, HvRowInstance<D>>;\n\n labels: Record<string, string>;\n}\n\nexport interface HvColumnInstance<D extends object = Record<string, unknown>>\n extends ColumnInstance<D>,\n Omit<HvTableColumnOptions<D>, \"id\">,\n UseFiltersColumnProps<D>,\n UseGroupByColumnProps<D>,\n UseResizeColumnsColumnProps<D>,\n UseSortByColumnProps<D> {\n Cell?: Renderer<HvCellProps<D>>;\n columns: Array<HvColumnInstance<D>>;\n parent: HvColumnInstance<D>; // not documented\n placeholderOf?: HvColumnInstance;\n getHeaderProps: (propGetter?: HeaderPropGetter<D>) => HvUseTableHeaderProps;\n getFooterProps: (propGetter?: FooterPropGetter<D>) => HvUseTableFooterProps;\n}\n\nexport interface HvRowInstance<D extends object = Record<string, unknown>>\n extends Row<D>,\n UseGroupByRowProps<D>,\n UseHvRowSelectionRowInstance,\n UseHvRowExpandRowInstance<D> {\n cells: Array<HvCellInstance<D>>;\n allCells: Array<HvCellInstance<D>>;\n getRowProps: (propGetter?: RowPropGetter<D>) => HvUseTableRowProps;\n index: number;\n original: D;\n id: string;\n subRows: Array<HvRowInstance<D>>;\n}\n\nexport interface HvCellInstance<\n D extends object = Record<string, unknown>,\n V = any\n> extends Cell<D, V>,\n UseGroupByCellProps<D> {\n column: HvColumnInstance<D>;\n row: HvRowInstance<D>;\n getCellProps: (propGetter?: CellPropGetter<D>) => HvUseTableCellProps;\n}\n// #endregion\n\n// #region PROPS\nexport interface HvUseTableProps\n extends TableProps,\n UseHvTableStickyTableProps {}\n\nexport interface HvUseTableHeaderProps\n extends TableHeaderProps,\n UseHvTableStylesTableCellProps,\n UseHvTableStickyColumnProps,\n UseHvHeaderGroupsColumnProps,\n UseHvResizeColumnProps,\n UseHvSortByColumnProps {}\nexport interface HvUseTableFooterProps\n extends TableFooterProps,\n UseHvTableStylesTableCellProps {}\n\nexport interface HvUseTableRowProps\n extends TableRowProps,\n UseHvTableStylesTableRowProps,\n UseHvRowSelectionTableRowProps,\n UseHvRowExpandTableRowProps {}\n\nexport interface HvUseTableCellProps\n extends TableCellProps,\n UseHvTableStylesTableCellProps,\n UseHvTableStickyCellProps,\n UseHvHeaderGroupsCellProps,\n UseHvResizeTableCellProps,\n UseHvSortByTableCellProps {}\n\n// #endregion\n\nexport type UseHvTableProps = <D extends object = Record<string, unknown>>(\n options: HvTableOptions<D>,\n ...plugins: Array<PluginHook<D>>\n) => HvTableInstance<D>;\n\nexport { PluginHook as HvTablePluginHook };\n\n// #endregion ##### TYPES #####\n\nconst toTitleCase = (str) => {\n return str\n .replace(/([^A-Z])([A-Z])/g, \"$1 $2\") // split cameCase\n .replace(/[_-]+/g, \" \") // split snake_case and lisp-case\n .toLowerCase()\n .replace(/(^\\w|\\b\\w)/g, (m) => m.toUpperCase()) // title case words\n .replace(/\\s+/g, \" \") // collapse repeated whitespace\n .trim(); // remove leading/trailing whitespace\n};\n\nconst useDefaultData = (data) =>\n useMemo(() => {\n return data || [];\n }, [data]);\n\nconst useDefaultColumns = (columns, data) =>\n useMemo(() => {\n if (columns != null) {\n return columns;\n }\n\n const uniqueKeys = Object.keys(Object.assign({}, ...data));\n return uniqueKeys\n .filter((key) => ![\"subRows\", \"subComponent\"].includes(key))\n .map((key) => ({\n accessor: key,\n Header: toTitleCase(key),\n }));\n }, [columns, data]);\n\nconst ensureCorePluginInstallation = (\n plugins,\n hvPluginName,\n corePluginToInstall\n) => {\n const indexOfCorePlugin = plugins.findIndex(\n (plugin) => plugin.pluginName === corePluginToInstall.pluginName\n );\n const indexOfHvPlugin = plugins.findIndex(\n (plugin) => plugin.pluginName === hvPluginName\n );\n\n if (\n indexOfHvPlugin !== -1 &&\n (indexOfCorePlugin === -1 || indexOfCorePlugin > indexOfHvPlugin)\n ) {\n if (indexOfCorePlugin > -1) {\n plugins.splice(indexOfCorePlugin, 1);\n }\n\n plugins.splice(indexOfHvPlugin, 0, corePluginToInstall);\n }\n};\n\nconst useInstanceHook = (instance) => {\n const { rowsById } = instance;\n\n Object.assign(instance, {\n initialRowsById: rowsById,\n });\n};\n\nconst useHvTableSetup = (hooks) => {\n hooks.useInstance.push(useInstanceHook);\n};\n\nuseHvTableSetup.pluginName = \"useHvTableSetup\";\n\nfunction useHvTable<D extends object = Record<string, unknown>>(\n props: { data?: D[] } & HvExtraProps,\n ...plugins: any\n) {\n const { data: dataProp, columns: columnsProp, ...others } = props;\n\n const data = useDefaultData(dataProp);\n const columns = useDefaultColumns(columnsProp, data);\n\n ensureCorePluginInstallation(plugins, \"useHvPagination\", usePagination);\n ensureCorePluginInstallation(plugins, \"useHvRowExpand\", useExpanded);\n ensureCorePluginInstallation(plugins, \"useHvSortBy\", useSortBy);\n ensureCorePluginInstallation(plugins, \"useHvResizeColumns\", useResizeColumns);\n\n const indexOfHvTableStylesPlugin = plugins.findIndex(\n (plugin) => plugin.pluginName === \"useHvTableStyles\"\n );\n if (indexOfHvTableStylesPlugin === -1) {\n plugins.push(useHvTableStyles);\n }\n\n // main hook call\n return useTable(\n {\n data,\n columns,\n ...others,\n },\n useHvTableSetup,\n ...plugins\n );\n}\n\nexport default useHvTable;\n"],"names":["toTitleCase","str","replace","toLowerCase","m","toUpperCase","trim","useDefaultData","data","useMemo","useDefaultColumns","columns","uniqueKeys","Object","keys","assign","filter","key","includes","map","accessor","Header","ensureCorePluginInstallation","plugins","hvPluginName","corePluginToInstall","indexOfCorePlugin","findIndex","plugin","pluginName","indexOfHvPlugin","splice","useInstanceHook","instance","rowsById","initialRowsById","useHvTableSetup","hooks","useInstance","push","useHvTable","props","dataProp","columnsProp","others","usePagination","useExpanded","useSortBy","useResizeColumns","indexOfHvTableStylesPlugin","useHvTableStyles","useTable"],"mappings":";;;;AA+WA,MAAMA,cAAeC,CAAQ,QAAA;AACpBA,SAAAA,IACJC,QAAQ,oBAAoB,OAAO,EACnCA,QAAQ,UAAU,GAAG,EACrBC,cACAD,QAAQ,eAAgBE,CAAAA,MAAMA,EAAEC,YAAa,CAAA,EAC7CH,QAAQ,QAAQ,GAAG,EACnBI;AACL;AAEA,MAAMC,iBAAkBC,CACtBC,SAAAA,QAAQ,MAAM;AACZ,SAAOD,QAAQ,CAAA;AACjB,GAAG,CAACA,IAAI,CAAC;AAEX,MAAME,oBAAoBA,CAACC,SAASH,SAClCC,QAAQ,MAAM;AACZ,MAAIE,WAAW,MAAM;AACZA,WAAAA;AAAAA,EACT;AAEMC,QAAAA,aAAaC,OAAOC,KAAKD,OAAOE,OAAO,CAAC,GAAG,GAAGP,IAAI,CAAC;AACzD,SAAOI,WACJI,OAAQC,CAAQ,QAAA,CAAC,CAAC,WAAW,cAAc,EAAEC,SAASD,GAAG,CAAC,EAC1DE,IAAKF,CAAS,SAAA;AAAA,IACbG,UAAUH;AAAAA,IACVI,QAAQrB,YAAYiB,GAAG;AAAA,EACvB,EAAA;AACN,GAAG,CAACN,SAASH,IAAI,CAAC;AAEpB,MAAMc,+BAA+BA,CACnCC,SACAC,cACAC,wBACG;AACH,QAAMC,oBAAoBH,QAAQI,UAC/BC,YAAWA,OAAOC,eAAeJ,oBAAoBI,UAAU;AAElE,QAAMC,kBAAkBP,QAAQI,UAC7BC,CAAWA,WAAAA,OAAOC,eAAeL,YAAY;AAGhD,MACEM,oBAAoB,OACnBJ,sBAAsB,MAAMA,oBAAoBI,kBACjD;AACA,QAAIJ,oBAAoB,IAAI;AAClBK,cAAAA,OAAOL,mBAAmB,CAAC;AAAA,IACrC;AAEQK,YAAAA,OAAOD,iBAAiB,GAAGL,mBAAmB;AAAA,EACxD;AACF;AAEA,MAAMO,kBAAmBC,CAAa,aAAA;AAC9B,QAAA;AAAA,IAAEC;AAAAA,EAAaD,IAAAA;AAErBpB,SAAOE,OAAOkB,UAAU;AAAA,IACtBE,iBAAiBD;AAAAA,EAAAA,CAClB;AACH;AAEA,MAAME,kBAAmBC,CAAU,UAAA;AAC3BC,QAAAA,YAAYC,KAAKP,eAAe;AACxC;AAEAI,gBAAgBP,aAAa;AAE7B,SAASW,WACPC,UACGlB,SACH;AACM,QAAA;AAAA,IAAEf,MAAMkC;AAAAA,IAAU/B,SAASgC;AAAAA,OAAgBC;AAAAA,EAAWH,IAAAA;AAEtDjC,QAAAA,OAAOD,eAAemC,QAAQ;AAC9B/B,QAAAA,UAAUD,kBAAkBiC,aAAanC,IAAI;AAEtBe,+BAAAA,SAAS,mBAAmBsB,aAAa;AACzCtB,+BAAAA,SAAS,kBAAkBuB,WAAW;AACtCvB,+BAAAA,SAAS,eAAewB,SAAS;AACjCxB,+BAAAA,SAAS,sBAAsByB,gBAAgB;AAE5E,QAAMC,6BAA6B1B,QAAQI,UACxCC,CAAWA,WAAAA,OAAOC,eAAe,kBAAkB;AAEtD,MAAIoB,+BAA+B,IAAI;AACrC1B,YAAQgB,KAAKW,gBAAgB;AAAA,EAC/B;AAGA,SAAOC,SACL;AAAA,IACE3C;AAAAA,IACAG;AAAAA,IACA,GAAGiC;AAAAA,EAAAA,GAELR,iBACA,GAAGb,OAAO;AAEd;"}
@@ -85,9 +85,6 @@ useTableStyles.pluginName = "useHvTableStyles";
85
85
  const useHvTableStyles = useTableStyles;
86
86
  export {
87
87
  useHvTableStyles as default,
88
- getCellPropsHook,
89
- getHeaderFooterPropsHook,
90
- getRowPropsHook,
91
- getTablePropsHook
88
+ getHeaderFooterPropsHook
92
89
  };
93
90
  //# sourceMappingURL=useTableStyles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useTableStyles.js","sources":["../../../../../src/components/Table/hooks/useTableStyles.ts"],"sourcesContent":["import clsx from \"clsx\";\nimport { CSSProperties } from \"react\";\nimport { Hooks } from \"react-table\";\n\n// #region ##### TYPES #####\n\nexport type UseHvTableStylesTableOptions = {\n style?: CSSProperties;\n className?: string;\n classes?: Record<string, string>;\n\n component?: any;\n};\n\n// column definition:\nexport interface UseHvTableStylesColumnOptions {\n variant?: \"checkbox\" | \"expand\" | \"actions\" | \"default\" | \"none\";\n align?: \"center\" | \"inherit\" | \"justify\" | \"left\" | \"right\";\n\n style?: CSSProperties;\n className?: string;\n classes?: Record<string, string>;\n\n headerStyle?: CSSProperties;\n headerClassName?: string;\n headerClasses?: Record<string, string>;\n\n cellStyle?: CSSProperties;\n cellClassName?: string;\n cellClasses?: Record<string, string>;\n}\n\n// PROPS:\nexport interface UseHvTableStylesTableRowProps {\n hover?: boolean;\n}\n\nexport interface UseHvTableStylesTableCellProps {\n style?: CSSProperties;\n className?: string;\n classes?: Record<string, string>;\n\n variant?: \"checkbox\" | \"expand\" | \"actions\" | \"default\" | \"none\";\n align?: \"center\" | \"inherit\" | \"justify\" | \"left\" | \"right\";\n}\n\nexport type UseTableStylesProps = (<D extends object = Record<string, unknown>>(\n hooks: Hooks<D>\n) => void) & { pluginName: string };\n\n// #endregion ##### TYPES #####\n\n// props target: <table>\nexport const getTablePropsHook = (props, { instance }) => {\n const nextProps: UseHvTableStylesTableOptions = {\n component: instance.tableComponent,\n };\n\n if (instance.style != null) {\n nextProps.style = instance.style;\n }\n\n if (instance.className != null) {\n nextProps.className = instance.className;\n }\n\n if (instance.classes != null) {\n nextProps.classes = instance.classes;\n }\n\n return [props, nextProps];\n};\n\n// props target: <table><thead><tr><th>\nexport const getHeaderFooterPropsHook = (props, { column }) => {\n const nextProps: UseHvTableStylesColumnOptions = {\n variant: column.variant,\n align: column.align,\n };\n\n if (column.style != null || column.headerStyle != null) {\n nextProps.style = {\n ...props.style,\n ...column.style,\n ...column.headerStyle,\n };\n }\n\n if (column.className != null || column.headerClassName != null) {\n nextProps.className = clsx(\n props.className,\n column.className,\n column.headerClassName\n );\n }\n\n if (column.classes != null || column.headerClasses) {\n nextProps.classes = {\n ...props.classes,\n ...column.classes,\n ...column.headerClasses,\n };\n }\n\n return [props, nextProps];\n};\n\n// props target: <table><tbody><tr>\nexport const getRowPropsHook = (props) => {\n const nextProps: UseHvTableStylesTableRowProps = {\n hover: true,\n };\n\n return [props, nextProps];\n};\n\n// props target: <table><tbody><tr><td>\nexport const getCellPropsHook = (props, { cell }) => {\n const nextProps: UseHvTableStylesTableCellProps = {\n variant: cell.column.variant,\n align: cell.column.align,\n };\n\n if (cell.column.style != null || cell.column.cellStyle != null) {\n nextProps.style = {\n ...props.style,\n ...cell.column.style,\n ...cell.column.cellStyle,\n };\n }\n\n if (cell.column.className != null || cell.column.cellClassName != null) {\n nextProps.className = clsx(\n props.className,\n cell.column.className,\n cell.column.cellClassName\n );\n }\n\n if (cell.column.classes != null || cell.column.cellClasses) {\n nextProps.classes = {\n ...props.classes,\n ...cell.column.classes,\n ...cell.column.cellClasses,\n };\n }\n\n return [props, nextProps];\n};\n\nconst useTableStyles: UseTableStylesProps = (hooks) => {\n // props target: <table>\n hooks.getTableProps.push(getTablePropsHook);\n // props target: <table><thead><tr><th>\n hooks.getHeaderProps.push(getHeaderFooterPropsHook);\n // props target: <table><tfoot><tr><td>\n hooks.getFooterProps.push(getHeaderFooterPropsHook);\n // props target: <table><tbody><tr>\n hooks.getRowProps.push(getRowPropsHook);\n // props target: <table><tbody><tr><td>\n hooks.getCellProps.push(getCellPropsHook);\n};\n\nuseTableStyles.pluginName = \"useHvTableStyles\";\n\nexport default useTableStyles;\n"],"names":["getTablePropsHook","props","instance","nextProps","component","tableComponent","style","className","classes","getHeaderFooterPropsHook","column","variant","align","headerStyle","headerClassName","clsx","headerClasses","getRowPropsHook","hover","getCellPropsHook","cell","cellStyle","cellClassName","cellClasses","useTableStyles","hooks","getTableProps","push","getHeaderProps","getFooterProps","getRowProps","getCellProps","pluginName"],"mappings":";AAqDaA,MAAAA,oBAAoBA,CAACC,OAAO;AAAA,EAAEC;AAAS,MAAM;AACxD,QAAMC,YAA0C;AAAA,IAC9CC,WAAWF,SAASG;AAAAA,EAAAA;AAGlBH,MAAAA,SAASI,SAAS,MAAM;AAC1BH,cAAUG,QAAQJ,SAASI;AAAAA,EAC7B;AAEIJ,MAAAA,SAASK,aAAa,MAAM;AAC9BJ,cAAUI,YAAYL,SAASK;AAAAA,EACjC;AAEIL,MAAAA,SAASM,WAAW,MAAM;AAC5BL,cAAUK,UAAUN,SAASM;AAAAA,EAC/B;AAEO,SAAA,CAACP,OAAOE,SAAS;AAC1B;AAGaM,MAAAA,2BAA2BA,CAACR,OAAO;AAAA,EAAES;AAAO,MAAM;AAC7D,QAAMP,YAA2C;AAAA,IAC/CQ,SAASD,OAAOC;AAAAA,IAChBC,OAAOF,OAAOE;AAAAA,EAAAA;AAGhB,MAAIF,OAAOJ,SAAS,QAAQI,OAAOG,eAAe,MAAM;AACtDV,cAAUG,QAAQ;AAAA,MAChB,GAAGL,MAAMK;AAAAA,MACT,GAAGI,OAAOJ;AAAAA,MACV,GAAGI,OAAOG;AAAAA,IAAAA;AAAAA,EAEd;AAEA,MAAIH,OAAOH,aAAa,QAAQG,OAAOI,mBAAmB,MAAM;AAC9DX,cAAUI,YAAYQ,KACpBd,MAAMM,WACNG,OAAOH,WACPG,OAAOI,eAAe;AAAA,EAE1B;AAEA,MAAIJ,OAAOF,WAAW,QAAQE,OAAOM,eAAe;AAClDb,cAAUK,UAAU;AAAA,MAClB,GAAGP,MAAMO;AAAAA,MACT,GAAGE,OAAOF;AAAAA,MACV,GAAGE,OAAOM;AAAAA,IAAAA;AAAAA,EAEd;AAEO,SAAA,CAACf,OAAOE,SAAS;AAC1B;AAGO,MAAMc,kBAAmBhB,CAAU,UAAA;AACxC,QAAME,YAA2C;AAAA,IAC/Ce,OAAO;AAAA,EAAA;AAGF,SAAA,CAACjB,OAAOE,SAAS;AAC1B;AAGagB,MAAAA,mBAAmBA,CAAClB,OAAO;AAAA,EAAEmB;AAAK,MAAM;AACnD,QAAMjB,YAA4C;AAAA,IAChDQ,SAASS,KAAKV,OAAOC;AAAAA,IACrBC,OAAOQ,KAAKV,OAAOE;AAAAA,EAAAA;AAGrB,MAAIQ,KAAKV,OAAOJ,SAAS,QAAQc,KAAKV,OAAOW,aAAa,MAAM;AAC9DlB,cAAUG,QAAQ;AAAA,MAChB,GAAGL,MAAMK;AAAAA,MACT,GAAGc,KAAKV,OAAOJ;AAAAA,MACf,GAAGc,KAAKV,OAAOW;AAAAA,IAAAA;AAAAA,EAEnB;AAEA,MAAID,KAAKV,OAAOH,aAAa,QAAQa,KAAKV,OAAOY,iBAAiB,MAAM;AAC5Df,cAAAA,YAAYQ,KACpBd,MAAMM,WACNa,KAAKV,OAAOH,WACZa,KAAKV,OAAOY,aAAa;AAAA,EAE7B;AAEA,MAAIF,KAAKV,OAAOF,WAAW,QAAQY,KAAKV,OAAOa,aAAa;AAC1DpB,cAAUK,UAAU;AAAA,MAClB,GAAGP,MAAMO;AAAAA,MACT,GAAGY,KAAKV,OAAOF;AAAAA,MACf,GAAGY,KAAKV,OAAOa;AAAAA,IAAAA;AAAAA,EAEnB;AAEO,SAAA,CAACtB,OAAOE,SAAS;AAC1B;AAEA,MAAMqB,iBAAuCC,CAAU,UAAA;AAE/CC,QAAAA,cAAcC,KAAK3B,iBAAiB;AAEpC4B,QAAAA,eAAeD,KAAKlB,wBAAwB;AAE5CoB,QAAAA,eAAeF,KAAKlB,wBAAwB;AAE5CqB,QAAAA,YAAYH,KAAKV,eAAe;AAEhCc,QAAAA,aAAaJ,KAAKR,gBAAgB;AAC1C;AAEAK,eAAeQ,aAAa;AAE5B,MAAA,mBAAeR;"}
1
+ {"version":3,"file":"useTableStyles.js","sources":["../../../../../src/components/Table/hooks/useTableStyles.ts"],"sourcesContent":["import clsx from \"clsx\";\nimport { CSSProperties } from \"react\";\nimport { Hooks } from \"react-table\";\n\n// #region ##### TYPES #####\n\nexport type UseHvTableStylesTableOptions = {\n style?: CSSProperties;\n className?: string;\n classes?: Record<string, string>;\n component?: any;\n};\n\n// column definition:\nexport interface UseHvTableStylesColumnOptions {\n variant?: \"checkbox\" | \"expand\" | \"actions\" | \"default\" | \"none\";\n align?: \"center\" | \"inherit\" | \"justify\" | \"left\" | \"right\";\n\n style?: CSSProperties;\n className?: string;\n classes?: Record<string, string>;\n\n headerStyle?: CSSProperties;\n headerClassName?: string;\n headerClasses?: Record<string, string>;\n\n cellStyle?: CSSProperties;\n cellClassName?: string;\n cellClasses?: Record<string, string>;\n}\n\n// PROPS:\nexport interface UseHvTableStylesTableRowProps {\n hover?: boolean;\n}\n\nexport interface UseHvTableStylesTableCellProps {\n style?: CSSProperties;\n className?: string;\n classes?: Record<string, string>;\n variant?: \"checkbox\" | \"expand\" | \"actions\" | \"default\" | \"none\";\n align?: \"center\" | \"inherit\" | \"justify\" | \"left\" | \"right\";\n}\n\nexport type UseTableStylesProps = (<D extends object = Record<string, unknown>>(\n hooks: Hooks<D>\n) => void) & { pluginName: string };\n\n// #endregion ##### TYPES #####\n\n// props target: <table>\nconst getTablePropsHook = (props, { instance }) => {\n const nextProps: UseHvTableStylesTableOptions = {\n component: instance.tableComponent,\n };\n\n if (instance.style != null) {\n nextProps.style = instance.style;\n }\n\n if (instance.className != null) {\n nextProps.className = instance.className;\n }\n\n if (instance.classes != null) {\n nextProps.classes = instance.classes;\n }\n\n return [props, nextProps];\n};\n\n// props target: <table><thead><tr><th>\nexport const getHeaderFooterPropsHook = (props, { column }) => {\n const nextProps: UseHvTableStylesColumnOptions = {\n variant: column.variant,\n align: column.align,\n };\n\n if (column.style != null || column.headerStyle != null) {\n nextProps.style = {\n ...props.style,\n ...column.style,\n ...column.headerStyle,\n };\n }\n\n if (column.className != null || column.headerClassName != null) {\n nextProps.className = clsx(\n props.className,\n column.className,\n column.headerClassName\n );\n }\n\n if (column.classes != null || column.headerClasses) {\n nextProps.classes = {\n ...props.classes,\n ...column.classes,\n ...column.headerClasses,\n };\n }\n\n return [props, nextProps];\n};\n\n// props target: <table><tbody><tr>\nconst getRowPropsHook = (props) => {\n const nextProps: UseHvTableStylesTableRowProps = {\n hover: true,\n };\n\n return [props, nextProps];\n};\n\n// props target: <table><tbody><tr><td>\nconst getCellPropsHook = (props, { cell }) => {\n const nextProps: UseHvTableStylesTableCellProps = {\n variant: cell.column.variant,\n align: cell.column.align,\n };\n\n if (cell.column.style != null || cell.column.cellStyle != null) {\n nextProps.style = {\n ...props.style,\n ...cell.column.style,\n ...cell.column.cellStyle,\n };\n }\n\n if (cell.column.className != null || cell.column.cellClassName != null) {\n nextProps.className = clsx(\n props.className,\n cell.column.className,\n cell.column.cellClassName\n );\n }\n\n if (cell.column.classes != null || cell.column.cellClasses) {\n nextProps.classes = {\n ...props.classes,\n ...cell.column.classes,\n ...cell.column.cellClasses,\n };\n }\n\n return [props, nextProps];\n};\n\nconst useTableStyles: UseTableStylesProps = (hooks) => {\n // props target: <table>\n hooks.getTableProps.push(getTablePropsHook);\n // props target: <table><thead><tr><th>\n hooks.getHeaderProps.push(getHeaderFooterPropsHook);\n // props target: <table><tfoot><tr><td>\n hooks.getFooterProps.push(getHeaderFooterPropsHook);\n // props target: <table><tbody><tr>\n hooks.getRowProps.push(getRowPropsHook);\n // props target: <table><tbody><tr><td>\n hooks.getCellProps.push(getCellPropsHook);\n};\n\nuseTableStyles.pluginName = \"useHvTableStyles\";\n\nexport default useTableStyles;\n"],"names":["getTablePropsHook","props","instance","nextProps","component","tableComponent","style","className","classes","getHeaderFooterPropsHook","column","variant","align","headerStyle","headerClassName","clsx","headerClasses","getRowPropsHook","hover","getCellPropsHook","cell","cellStyle","cellClassName","cellClasses","useTableStyles","hooks","getTableProps","push","getHeaderProps","getFooterProps","getRowProps","getCellProps","pluginName"],"mappings":";AAmDA,MAAMA,oBAAoBA,CAACC,OAAO;AAAA,EAAEC;AAAS,MAAM;AACjD,QAAMC,YAA0C;AAAA,IAC9CC,WAAWF,SAASG;AAAAA,EAAAA;AAGlBH,MAAAA,SAASI,SAAS,MAAM;AAC1BH,cAAUG,QAAQJ,SAASI;AAAAA,EAC7B;AAEIJ,MAAAA,SAASK,aAAa,MAAM;AAC9BJ,cAAUI,YAAYL,SAASK;AAAAA,EACjC;AAEIL,MAAAA,SAASM,WAAW,MAAM;AAC5BL,cAAUK,UAAUN,SAASM;AAAAA,EAC/B;AAEO,SAAA,CAACP,OAAOE,SAAS;AAC1B;AAGaM,MAAAA,2BAA2BA,CAACR,OAAO;AAAA,EAAES;AAAO,MAAM;AAC7D,QAAMP,YAA2C;AAAA,IAC/CQ,SAASD,OAAOC;AAAAA,IAChBC,OAAOF,OAAOE;AAAAA,EAAAA;AAGhB,MAAIF,OAAOJ,SAAS,QAAQI,OAAOG,eAAe,MAAM;AACtDV,cAAUG,QAAQ;AAAA,MAChB,GAAGL,MAAMK;AAAAA,MACT,GAAGI,OAAOJ;AAAAA,MACV,GAAGI,OAAOG;AAAAA,IAAAA;AAAAA,EAEd;AAEA,MAAIH,OAAOH,aAAa,QAAQG,OAAOI,mBAAmB,MAAM;AAC9DX,cAAUI,YAAYQ,KACpBd,MAAMM,WACNG,OAAOH,WACPG,OAAOI,eAAe;AAAA,EAE1B;AAEA,MAAIJ,OAAOF,WAAW,QAAQE,OAAOM,eAAe;AAClDb,cAAUK,UAAU;AAAA,MAClB,GAAGP,MAAMO;AAAAA,MACT,GAAGE,OAAOF;AAAAA,MACV,GAAGE,OAAOM;AAAAA,IAAAA;AAAAA,EAEd;AAEO,SAAA,CAACf,OAAOE,SAAS;AAC1B;AAGA,MAAMc,kBAAmBhB,CAAU,UAAA;AACjC,QAAME,YAA2C;AAAA,IAC/Ce,OAAO;AAAA,EAAA;AAGF,SAAA,CAACjB,OAAOE,SAAS;AAC1B;AAGA,MAAMgB,mBAAmBA,CAAClB,OAAO;AAAA,EAAEmB;AAAK,MAAM;AAC5C,QAAMjB,YAA4C;AAAA,IAChDQ,SAASS,KAAKV,OAAOC;AAAAA,IACrBC,OAAOQ,KAAKV,OAAOE;AAAAA,EAAAA;AAGrB,MAAIQ,KAAKV,OAAOJ,SAAS,QAAQc,KAAKV,OAAOW,aAAa,MAAM;AAC9DlB,cAAUG,QAAQ;AAAA,MAChB,GAAGL,MAAMK;AAAAA,MACT,GAAGc,KAAKV,OAAOJ;AAAAA,MACf,GAAGc,KAAKV,OAAOW;AAAAA,IAAAA;AAAAA,EAEnB;AAEA,MAAID,KAAKV,OAAOH,aAAa,QAAQa,KAAKV,OAAOY,iBAAiB,MAAM;AAC5Df,cAAAA,YAAYQ,KACpBd,MAAMM,WACNa,KAAKV,OAAOH,WACZa,KAAKV,OAAOY,aAAa;AAAA,EAE7B;AAEA,MAAIF,KAAKV,OAAOF,WAAW,QAAQY,KAAKV,OAAOa,aAAa;AAC1DpB,cAAUK,UAAU;AAAA,MAClB,GAAGP,MAAMO;AAAAA,MACT,GAAGY,KAAKV,OAAOF;AAAAA,MACf,GAAGY,KAAKV,OAAOa;AAAAA,IAAAA;AAAAA,EAEnB;AAEO,SAAA,CAACtB,OAAOE,SAAS;AAC1B;AAEA,MAAMqB,iBAAuCC,CAAU,UAAA;AAE/CC,QAAAA,cAAcC,KAAK3B,iBAAiB;AAEpC4B,QAAAA,eAAeD,KAAKlB,wBAAwB;AAE5CoB,QAAAA,eAAeF,KAAKlB,wBAAwB;AAE5CqB,QAAAA,YAAYH,KAAKV,eAAe;AAEhCc,QAAAA,aAAaJ,KAAKR,gBAAgB;AAC1C;AAEAK,eAAeQ,aAAa;AAE5B,MAAA,mBAAeR;"}
@@ -0,0 +1,22 @@
1
+ import { useMemo } from "react";
2
+ import dayjs from "dayjs";
3
+ import { jsx } from "@emotion/react/jsx-runtime";
4
+ import { HvOverflowTooltip } from "../../../OverflowTooltip/OverflowTooltip.js";
5
+ const HvDateColumnCell = ({
6
+ date,
7
+ dateFormat
8
+ }) => {
9
+ const formattedDate = useMemo(() => {
10
+ if (date)
11
+ return dayjs(date).format(dateFormat !== "ISO8601" ? dateFormat : void 0);
12
+ return "\u2014";
13
+ }, [date, dateFormat]);
14
+ return /* @__PURE__ */ jsx(HvOverflowTooltip, {
15
+ data: formattedDate
16
+ });
17
+ };
18
+ const DateColumnCell = HvDateColumnCell;
19
+ export {
20
+ DateColumnCell as default
21
+ };
22
+ //# sourceMappingURL=DateColumnCell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DateColumnCell.js","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,QAAQ,MAAM;AAC9BH,QAAAA;AACF,aAAOI,MAAMJ,IAAI,EAAEK,OACjBJ,eAAe,YAAYA,aAAaK,MAAS;AAE9C,WAAA;AAAA,EAAA,GACN,CAACN,MAAMC,UAAU,CAAC;AAErB,6BAAQM,mBAAiB;AAAA,IAACC,MAAMN;AAAAA,EAAAA,CAAiB;AACnD;AAEA,MAAA,iBAAeH;"}
@@ -0,0 +1,25 @@
1
+ import { jsx } from "@emotion/react/jsx-runtime";
2
+ import { HvDropdown } from "../../../Dropdown/Dropdown.js";
3
+ const HvDateColumnCell = ({
4
+ values,
5
+ disabled,
6
+ onChange,
7
+ placeholder,
8
+ dropdownProps
9
+ }) => {
10
+ return /* @__PURE__ */ jsx(HvDropdown, {
11
+ onChange: (item) => {
12
+ onChange == null ? void 0 : onChange(item);
13
+ },
14
+ placeholder,
15
+ disabled,
16
+ values,
17
+ disablePortal: true,
18
+ ...dropdownProps
19
+ });
20
+ };
21
+ const DropdownColumnCell = HvDateColumnCell;
22
+ export {
23
+ DropdownColumnCell as default
24
+ };
25
+ //# sourceMappingURL=DropdownColumnCell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DropdownColumnCell.js","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,6BACGC,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;"}
@@ -0,0 +1,27 @@
1
+ import { StyledRoot, StyledContainer, StyledLinearProgress } from "./ProgressColumnCell.styles.js";
2
+ import { jsx } from "@emotion/react/jsx-runtime";
3
+ const normalizeProgressBar = (value, max) => {
4
+ return max > 0 ? Math.floor(value * 100 / max) : 0;
5
+ };
6
+ const HvProgressColumnCell = ({
7
+ partial,
8
+ total,
9
+ color = "primary"
10
+ }) => {
11
+ const percentage = normalizeProgressBar(partial, total);
12
+ return /* @__PURE__ */ jsx(StyledRoot, {
13
+ children: /* @__PURE__ */ jsx(StyledContainer, {
14
+ children: /* @__PURE__ */ jsx(StyledLinearProgress, {
15
+ color,
16
+ variant: "determinate",
17
+ value: percentage
18
+ })
19
+ })
20
+ });
21
+ };
22
+ const ProgressColumnCell = HvProgressColumnCell;
23
+ export {
24
+ ProgressColumnCell as default,
25
+ normalizeProgressBar
26
+ };
27
+ //# sourceMappingURL=ProgressColumnCell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProgressColumnCell.js","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,6BACGG,YAAU;AAAA,IAAAC,8BACRC,iBAAe;AAAA,MAAAD,8BACbE,sBAAoB;AAAA,QACnBL;AAAAA,QACAM,SAAQ;AAAA,QACRb,OAAOQ;AAAAA,MAAAA,CAAW;AAAA,IAAA,CAClB;AAAA,EAAA,CAEO;AAEjB;AAEA,MAAA,qBAAeJ;"}