@hitachivantara/uikit-react-core 5.0.0-next.12 → 5.0.0-next.14

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 (920) hide show
  1. package/dist/cjs/components/Accordion/Accordion.cjs +38 -11
  2. package/dist/cjs/components/Accordion/Accordion.cjs.map +1 -1
  3. package/dist/cjs/components/Accordion/Accordion.styles.cjs +2 -1
  4. package/dist/cjs/components/Accordion/Accordion.styles.cjs.map +1 -1
  5. package/dist/cjs/components/ActionBar/ActionBar.cjs +8 -3
  6. package/dist/cjs/components/ActionBar/ActionBar.cjs.map +1 -1
  7. package/dist/cjs/components/ActionBar/ActionBar.styles.cjs +1 -1
  8. package/dist/cjs/components/ActionsGeneric/ActionsGeneric.cjs +42 -14
  9. package/dist/cjs/components/ActionsGeneric/ActionsGeneric.cjs.map +1 -1
  10. package/dist/cjs/components/ActionsGeneric/ActionsGeneric.styles.cjs +5 -3
  11. package/dist/cjs/components/ActionsGeneric/ActionsGeneric.styles.cjs.map +1 -1
  12. package/dist/cjs/components/AppSwitcher/Action/Action.cjs +55 -13
  13. package/dist/cjs/components/AppSwitcher/Action/Action.cjs.map +1 -1
  14. package/dist/cjs/components/AppSwitcher/Action/Action.styles.cjs +5 -3
  15. package/dist/cjs/components/AppSwitcher/Action/Action.styles.cjs.map +1 -1
  16. package/dist/cjs/components/AppSwitcher/AppSwitcher.cjs +38 -16
  17. package/dist/cjs/components/AppSwitcher/AppSwitcher.cjs.map +1 -1
  18. package/dist/cjs/components/AppSwitcher/AppSwitcher.styles.cjs +11 -1
  19. package/dist/cjs/components/AppSwitcher/AppSwitcher.styles.cjs.map +1 -1
  20. package/dist/cjs/components/AppSwitcher/TitleWithTooltip.cjs +16 -2
  21. package/dist/cjs/components/AppSwitcher/TitleWithTooltip.cjs.map +1 -1
  22. package/dist/cjs/components/Avatar/Avatar.cjs +39 -10
  23. package/dist/cjs/components/Avatar/Avatar.cjs.map +1 -1
  24. package/dist/cjs/components/Avatar/Avatar.styles.cjs +6 -1
  25. package/dist/cjs/components/Avatar/Avatar.styles.cjs.map +1 -1
  26. package/dist/cjs/components/Badge/Badge.cjs +24 -7
  27. package/dist/cjs/components/Badge/Badge.cjs.map +1 -1
  28. package/dist/cjs/components/Badge/Badge.styles.cjs +1 -1
  29. package/dist/cjs/components/Banner/Banner.cjs +34 -8
  30. package/dist/cjs/components/Banner/Banner.cjs.map +1 -1
  31. package/dist/cjs/components/Banner/Banner.styles.cjs +1 -1
  32. package/dist/cjs/components/Banner/Banner.styles.cjs.map +1 -1
  33. package/dist/cjs/components/Banner/BannerContent/ActionContainer/ActionContainer.cjs +31 -10
  34. package/dist/cjs/components/Banner/BannerContent/ActionContainer/ActionContainer.cjs.map +1 -1
  35. package/dist/cjs/components/Banner/BannerContent/ActionContainer/ActionContainer.styles.cjs +5 -3
  36. package/dist/cjs/components/Banner/BannerContent/ActionContainer/ActionContainer.styles.cjs.map +1 -1
  37. package/dist/cjs/components/Banner/BannerContent/BannerContent.cjs +35 -13
  38. package/dist/cjs/components/Banner/BannerContent/BannerContent.cjs.map +1 -1
  39. package/dist/cjs/components/Banner/BannerContent/BannerContent.styles.cjs +5 -4
  40. package/dist/cjs/components/Banner/BannerContent/BannerContent.styles.cjs.map +1 -1
  41. package/dist/cjs/components/Banner/BannerContent/MessageContainer/MessageContainer.cjs +21 -7
  42. package/dist/cjs/components/Banner/BannerContent/MessageContainer/MessageContainer.cjs.map +1 -1
  43. package/dist/cjs/components/Banner/BannerContent/MessageContainer/MessageContainer.styles.cjs +5 -3
  44. package/dist/cjs/components/Banner/BannerContent/MessageContainer/MessageContainer.styles.cjs.map +1 -1
  45. package/dist/cjs/components/BaseCheckBox/BaseCheckBox.cjs +37 -6
  46. package/dist/cjs/components/BaseCheckBox/BaseCheckBox.cjs.map +1 -1
  47. package/dist/cjs/components/BaseCheckBox/BaseCheckBox.styles.cjs +3 -1
  48. package/dist/cjs/components/BaseCheckBox/BaseCheckBox.styles.cjs.map +1 -1
  49. package/dist/cjs/components/BaseDropdown/BaseDropdown.cjs +97 -61
  50. package/dist/cjs/components/BaseDropdown/BaseDropdown.cjs.map +1 -1
  51. package/dist/cjs/components/BaseDropdown/BaseDropdown.styles.cjs +14 -14
  52. package/dist/cjs/components/BaseDropdown/BaseDropdown.styles.cjs.map +1 -1
  53. package/dist/cjs/components/BaseInput/BaseInput.cjs +49 -19
  54. package/dist/cjs/components/BaseInput/BaseInput.cjs.map +1 -1
  55. package/dist/cjs/components/BaseInput/BaseInput.styles.cjs +6 -6
  56. package/dist/cjs/components/BaseInput/BaseInput.styles.cjs.map +1 -1
  57. package/dist/cjs/components/BaseInput/validations.cjs +17 -14
  58. package/dist/cjs/components/BaseInput/validations.cjs.map +1 -1
  59. package/dist/cjs/components/BaseRadio/BaseRadio.cjs +31 -5
  60. package/dist/cjs/components/BaseRadio/BaseRadio.cjs.map +1 -1
  61. package/dist/cjs/components/BaseRadio/BaseRadio.styles.cjs +1 -1
  62. package/dist/cjs/components/BaseRadio/BaseRadio.styles.cjs.map +1 -1
  63. package/dist/cjs/components/BaseSwitch/BaseSwitch.cjs +31 -10
  64. package/dist/cjs/components/BaseSwitch/BaseSwitch.cjs.map +1 -1
  65. package/dist/cjs/components/BaseSwitch/BaseSwitch.styles.cjs +1 -1
  66. package/dist/cjs/components/BaseSwitch/BaseSwitch.styles.cjs.map +1 -1
  67. package/dist/cjs/components/Box/Box.cjs +8 -3
  68. package/dist/cjs/components/Box/Box.cjs.map +1 -1
  69. package/dist/cjs/components/BreadCrumb/BreadCrumb.cjs +36 -15
  70. package/dist/cjs/components/BreadCrumb/BreadCrumb.cjs.map +1 -1
  71. package/dist/cjs/components/BreadCrumb/BreadCrumb.styles.cjs +5 -3
  72. package/dist/cjs/components/BreadCrumb/BreadCrumb.styles.cjs.map +1 -1
  73. package/dist/cjs/components/BreadCrumb/Page/Page.cjs +20 -5
  74. package/dist/cjs/components/BreadCrumb/Page/Page.cjs.map +1 -1
  75. package/dist/cjs/components/BreadCrumb/Page/Page.styles.cjs +11 -7
  76. package/dist/cjs/components/BreadCrumb/Page/Page.styles.cjs.map +1 -1
  77. package/dist/cjs/components/BreadCrumb/PathElement/PathElement.cjs +9 -6
  78. package/dist/cjs/components/BreadCrumb/PathElement/PathElement.cjs.map +1 -1
  79. package/dist/cjs/components/BreadCrumb/PathElement/PathElement.styles.cjs +1 -1
  80. package/dist/cjs/components/BreadCrumb/utils.cjs +12 -3
  81. package/dist/cjs/components/BreadCrumb/utils.cjs.map +1 -1
  82. package/dist/cjs/components/BulkActions/BulkActions.cjs +57 -23
  83. package/dist/cjs/components/BulkActions/BulkActions.cjs.map +1 -1
  84. package/dist/cjs/components/BulkActions/BulkActions.styles.cjs +10 -6
  85. package/dist/cjs/components/BulkActions/BulkActions.styles.cjs.map +1 -1
  86. package/dist/cjs/components/Button/Button.cjs +26 -6
  87. package/dist/cjs/components/Button/Button.cjs.map +1 -1
  88. package/dist/cjs/components/Button/Button.styles.cjs +15 -20
  89. package/dist/cjs/components/Button/Button.styles.cjs.map +1 -1
  90. package/dist/cjs/components/Calendar/Calendar.cjs +93 -0
  91. package/dist/cjs/components/Calendar/Calendar.cjs.map +1 -0
  92. package/dist/cjs/components/Calendar/Calendar.styles.cjs +66 -0
  93. package/dist/cjs/components/Calendar/Calendar.styles.cjs.map +1 -0
  94. package/dist/cjs/components/Calendar/CalendarHeader/CalendarHeader.cjs +169 -0
  95. package/dist/cjs/components/Calendar/CalendarHeader/CalendarHeader.cjs.map +1 -0
  96. package/dist/cjs/components/Calendar/CalendarHeader/CalendarHeader.styles.cjs +82 -0
  97. package/dist/cjs/components/Calendar/CalendarHeader/CalendarHeader.styles.cjs.map +1 -0
  98. package/dist/cjs/components/Calendar/CalendarHeader/calendarHeaderClasses.cjs +8 -0
  99. package/dist/cjs/components/Calendar/CalendarHeader/calendarHeaderClasses.cjs.map +1 -0
  100. package/dist/cjs/components/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.cjs +57 -0
  101. package/dist/cjs/components/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.cjs.map +1 -0
  102. package/dist/cjs/components/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.styles.cjs +36 -0
  103. package/dist/cjs/components/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.styles.cjs.map +1 -0
  104. package/dist/cjs/components/Calendar/CalendarNavigation/ComposedNavigation/composedNavigationClasses.cjs +8 -0
  105. package/dist/cjs/components/Calendar/CalendarNavigation/ComposedNavigation/composedNavigationClasses.cjs.map +1 -0
  106. package/dist/cjs/components/Calendar/CalendarNavigation/MonthSelector/MonthSelector.cjs +53 -0
  107. package/dist/cjs/components/Calendar/CalendarNavigation/MonthSelector/MonthSelector.cjs.map +1 -0
  108. package/dist/cjs/components/Calendar/CalendarNavigation/MonthSelector/MonthSelector.styles.cjs +75 -0
  109. package/dist/cjs/components/Calendar/CalendarNavigation/MonthSelector/MonthSelector.styles.cjs.map +1 -0
  110. package/dist/cjs/components/Calendar/CalendarNavigation/MonthSelector/monthSelectorClasses.cjs +8 -0
  111. package/dist/cjs/components/Calendar/CalendarNavigation/MonthSelector/monthSelectorClasses.cjs.map +1 -0
  112. package/dist/cjs/components/Calendar/CalendarNavigation/Navigation/Navigation.cjs +59 -0
  113. package/dist/cjs/components/Calendar/CalendarNavigation/Navigation/Navigation.cjs.map +1 -0
  114. package/dist/cjs/components/Calendar/CalendarNavigation/Navigation/Navigation.styles.cjs +106 -0
  115. package/dist/cjs/components/Calendar/CalendarNavigation/Navigation/Navigation.styles.cjs.map +1 -0
  116. package/dist/cjs/components/Calendar/CalendarNavigation/Navigation/navigationClasses.cjs +8 -0
  117. package/dist/cjs/components/Calendar/CalendarNavigation/Navigation/navigationClasses.cjs.map +1 -0
  118. package/dist/cjs/components/Calendar/CalendarWeekLabels/CalendarWeekLabels.cjs +25 -0
  119. package/dist/cjs/components/Calendar/CalendarWeekLabels/CalendarWeekLabels.cjs.map +1 -0
  120. package/dist/cjs/components/Calendar/CalendarWeekLabels/CalendarWeekLabels.styles.cjs +25 -0
  121. package/dist/cjs/components/Calendar/CalendarWeekLabels/CalendarWeekLabels.styles.cjs.map +1 -0
  122. package/dist/cjs/components/Calendar/CalendarWeekLabels/calendarWeekLabelsClasses.cjs +8 -0
  123. package/dist/cjs/components/Calendar/CalendarWeekLabels/calendarWeekLabelsClasses.cjs.map +1 -0
  124. package/dist/cjs/components/Calendar/SingleCalendar/CalendarCell.cjs +87 -0
  125. package/dist/cjs/components/Calendar/SingleCalendar/CalendarCell.cjs.map +1 -0
  126. package/dist/cjs/components/Calendar/SingleCalendar/CalendarCell.styles.cjs +97 -0
  127. package/dist/cjs/components/Calendar/SingleCalendar/CalendarCell.styles.cjs.map +1 -0
  128. package/dist/cjs/components/Calendar/SingleCalendar/SingleCalendar.cjs +152 -0
  129. package/dist/cjs/components/Calendar/SingleCalendar/SingleCalendar.cjs.map +1 -0
  130. package/dist/cjs/components/Calendar/SingleCalendar/SingleCalendar.styles.cjs +73 -0
  131. package/dist/cjs/components/Calendar/SingleCalendar/SingleCalendar.styles.cjs.map +1 -0
  132. package/dist/cjs/components/Calendar/SingleCalendar/calendarCellClasses.cjs +8 -0
  133. package/dist/cjs/components/Calendar/SingleCalendar/calendarCellClasses.cjs.map +1 -0
  134. package/dist/cjs/components/Calendar/SingleCalendar/singleCalendarClasses.cjs +8 -0
  135. package/dist/cjs/components/Calendar/SingleCalendar/singleCalendarClasses.cjs.map +1 -0
  136. package/dist/cjs/components/Calendar/calendarClasses.cjs +8 -0
  137. package/dist/cjs/components/Calendar/calendarClasses.cjs.map +1 -0
  138. package/dist/cjs/components/Calendar/enums.cjs +32 -0
  139. package/dist/cjs/components/Calendar/enums.cjs.map +1 -0
  140. package/dist/cjs/components/Calendar/model.cjs +50 -0
  141. package/dist/cjs/components/Calendar/model.cjs.map +1 -0
  142. package/dist/cjs/components/Calendar/utils.cjs +145 -0
  143. package/dist/cjs/components/Calendar/utils.cjs.map +1 -0
  144. package/dist/cjs/components/Card/Card.cjs +22 -15
  145. package/dist/cjs/components/Card/Card.cjs.map +1 -1
  146. package/dist/cjs/components/Card/Card.styles.cjs +8 -8
  147. package/dist/cjs/components/Card/Card.styles.cjs.map +1 -1
  148. package/dist/cjs/components/Card/Content/Content.cjs +9 -3
  149. package/dist/cjs/components/Card/Content/Content.cjs.map +1 -1
  150. package/dist/cjs/components/Card/Content/Content.styles.cjs +3 -3
  151. package/dist/cjs/components/Card/Content/Content.styles.cjs.map +1 -1
  152. package/dist/cjs/components/Card/Header/Header.cjs +26 -19
  153. package/dist/cjs/components/Card/Header/Header.cjs.map +1 -1
  154. package/dist/cjs/components/Card/Header/Header.styles.cjs +7 -7
  155. package/dist/cjs/components/Card/Header/Header.styles.cjs.map +1 -1
  156. package/dist/cjs/components/Card/Media/Media.cjs +15 -6
  157. package/dist/cjs/components/Card/Media/Media.cjs.map +1 -1
  158. package/dist/cjs/components/Card/Media/Media.styles.cjs +3 -3
  159. package/dist/cjs/components/Card/Media/Media.styles.cjs.map +1 -1
  160. package/dist/cjs/components/CheckBox/CheckBox.cjs +56 -17
  161. package/dist/cjs/components/CheckBox/CheckBox.cjs.map +1 -1
  162. package/dist/cjs/components/CheckBox/CheckBox.styles.cjs +1 -1
  163. package/dist/cjs/components/CheckBox/CheckBox.styles.cjs.map +1 -1
  164. package/dist/cjs/components/CheckBoxGroup/CheckBoxGroup.cjs +62 -19
  165. package/dist/cjs/components/CheckBoxGroup/CheckBoxGroup.cjs.map +1 -1
  166. package/dist/cjs/components/CheckBoxGroup/CheckBoxGroup.styles.cjs +3 -1
  167. package/dist/cjs/components/CheckBoxGroup/CheckBoxGroup.styles.cjs.map +1 -1
  168. package/dist/cjs/components/Container/Container.cjs +20 -12
  169. package/dist/cjs/components/Container/Container.cjs.map +1 -1
  170. package/dist/cjs/components/Container/Container.styles.cjs +1 -1
  171. package/dist/cjs/components/Container/Container.styles.cjs.map +1 -1
  172. package/dist/cjs/components/Controls/Controls.cjs +33 -16
  173. package/dist/cjs/components/Controls/Controls.cjs.map +1 -1
  174. package/dist/cjs/components/Controls/Controls.styles.cjs +1 -1
  175. package/dist/cjs/components/Controls/LeftControl/LeftControl.cjs +14 -6
  176. package/dist/cjs/components/Controls/LeftControl/LeftControl.cjs.map +1 -1
  177. package/dist/cjs/components/Controls/LeftControl/LeftControl.styles.cjs +1 -1
  178. package/dist/cjs/components/Controls/RightControl/RightControl.cjs +15 -3
  179. package/dist/cjs/components/Controls/RightControl/RightControl.cjs.map +1 -1
  180. package/dist/cjs/components/Controls/RightControl/RightControl.styles.cjs +5 -3
  181. package/dist/cjs/components/Controls/RightControl/RightControl.styles.cjs.map +1 -1
  182. package/dist/cjs/components/Dialog/Actions/Actions.cjs +12 -6
  183. package/dist/cjs/components/Dialog/Actions/Actions.cjs.map +1 -1
  184. package/dist/cjs/components/Dialog/Actions/Actions.styles.cjs +1 -1
  185. package/dist/cjs/components/Dialog/Content/Content.cjs +8 -3
  186. package/dist/cjs/components/Dialog/Content/Content.cjs.map +1 -1
  187. package/dist/cjs/components/Dialog/Content/Content.styles.cjs +1 -1
  188. package/dist/cjs/components/Dialog/Dialog.cjs +62 -29
  189. package/dist/cjs/components/Dialog/Dialog.cjs.map +1 -1
  190. package/dist/cjs/components/Dialog/Dialog.styles.cjs +1 -1
  191. package/dist/cjs/components/Dialog/Title/Title.cjs +20 -12
  192. package/dist/cjs/components/Dialog/Title/Title.cjs.map +1 -1
  193. package/dist/cjs/components/Dialog/Title/Title.styles.cjs +2 -1
  194. package/dist/cjs/components/Dialog/Title/Title.styles.cjs.map +1 -1
  195. package/dist/cjs/components/DotPagination/DotPagination.cjs +30 -10
  196. package/dist/cjs/components/DotPagination/DotPagination.cjs.map +1 -1
  197. package/dist/cjs/components/DotPagination/DotPagination.styles.cjs +8 -4
  198. package/dist/cjs/components/DotPagination/DotPagination.styles.cjs.map +1 -1
  199. package/dist/cjs/components/DropDownMenu/DropDownMenu.cjs +63 -23
  200. package/dist/cjs/components/DropDownMenu/DropDownMenu.cjs.map +1 -1
  201. package/dist/cjs/components/DropDownMenu/DropDownMenu.styles.cjs +5 -3
  202. package/dist/cjs/components/DropDownMenu/DropDownMenu.styles.cjs.map +1 -1
  203. package/dist/cjs/components/Dropdown/Dropdown.cjs +98 -22
  204. package/dist/cjs/components/Dropdown/Dropdown.cjs.map +1 -1
  205. package/dist/cjs/components/Dropdown/Dropdown.styles.cjs +5 -3
  206. package/dist/cjs/components/Dropdown/Dropdown.styles.cjs.map +1 -1
  207. package/dist/cjs/components/Dropdown/List/List.cjs +84 -28
  208. package/dist/cjs/components/Dropdown/List/List.cjs.map +1 -1
  209. package/dist/cjs/components/Dropdown/List/List.styles.cjs +6 -4
  210. package/dist/cjs/components/Dropdown/List/List.styles.cjs.map +1 -1
  211. package/dist/cjs/components/Dropdown/utils.cjs +1 -1
  212. package/dist/cjs/components/Dropdown/utils.cjs.map +1 -1
  213. package/dist/cjs/components/EmptyState/EmptyState.cjs +28 -16
  214. package/dist/cjs/components/EmptyState/EmptyState.cjs.map +1 -1
  215. package/dist/cjs/components/EmptyState/EmptyState.styles.cjs +1 -1
  216. package/dist/cjs/components/EmptyState/EmptyState.styles.cjs.map +1 -1
  217. package/dist/cjs/components/FileUploader/DropZone/DropZone.cjs +102 -53
  218. package/dist/cjs/components/FileUploader/DropZone/DropZone.cjs.map +1 -1
  219. package/dist/cjs/components/FileUploader/DropZone/DropZone.styles.cjs +1 -1
  220. package/dist/cjs/components/FileUploader/DropZone/DropZone.styles.cjs.map +1 -1
  221. package/dist/cjs/components/FileUploader/File/File.cjs +58 -22
  222. package/dist/cjs/components/FileUploader/File/File.cjs.map +1 -1
  223. package/dist/cjs/components/FileUploader/File/File.styles.cjs +1 -1
  224. package/dist/cjs/components/FileUploader/FileList/FileList.cjs +15 -5
  225. package/dist/cjs/components/FileUploader/FileList/FileList.cjs.map +1 -1
  226. package/dist/cjs/components/FileUploader/FileList/FileList.styles.cjs +1 -1
  227. package/dist/cjs/components/FileUploader/FileList/FileList.styles.cjs.map +1 -1
  228. package/dist/cjs/components/FileUploader/FileUploader.cjs +22 -5
  229. package/dist/cjs/components/FileUploader/FileUploader.cjs.map +1 -1
  230. package/dist/cjs/components/FileUploader/Preview/Preview.cjs +15 -9
  231. package/dist/cjs/components/FileUploader/Preview/Preview.cjs.map +1 -1
  232. package/dist/cjs/components/FileUploader/Preview/Preview.styles.cjs +1 -1
  233. package/dist/cjs/components/FileUploader/Preview/Preview.styles.cjs.map +1 -1
  234. package/dist/cjs/components/FileUploader/utils.cjs +1 -1
  235. package/dist/cjs/components/FileUploader/utils.cjs.map +1 -1
  236. package/dist/cjs/components/Focus/Focus.cjs +16 -11
  237. package/dist/cjs/components/Focus/Focus.cjs.map +1 -1
  238. package/dist/cjs/components/Focus/Focus.styles.cjs +1 -1
  239. package/dist/cjs/components/Focus/utils.cjs +1 -1
  240. package/dist/cjs/components/Footer/Footer.cjs +25 -11
  241. package/dist/cjs/components/Footer/Footer.cjs.map +1 -1
  242. package/dist/cjs/components/Footer/Footer.styles.cjs +1 -1
  243. package/dist/cjs/components/Footer/Footer.styles.cjs.map +1 -1
  244. package/dist/cjs/components/Forms/Adornment/Adornment.cjs +31 -4
  245. package/dist/cjs/components/Forms/Adornment/Adornment.cjs.map +1 -1
  246. package/dist/cjs/components/Forms/Adornment/Adornment.styles.cjs +5 -1
  247. package/dist/cjs/components/Forms/Adornment/Adornment.styles.cjs.map +1 -1
  248. package/dist/cjs/components/Forms/CharCounter/CharCounter.cjs +29 -7
  249. package/dist/cjs/components/Forms/CharCounter/CharCounter.cjs.map +1 -1
  250. package/dist/cjs/components/Forms/CharCounter/CharCounter.styles.cjs +1 -1
  251. package/dist/cjs/components/Forms/FormElement/FormElement.cjs +17 -3
  252. package/dist/cjs/components/Forms/FormElement/FormElement.cjs.map +1 -1
  253. package/dist/cjs/components/Forms/FormElement/context/FormElementDescriptorsContext.cjs.map +1 -1
  254. package/dist/cjs/components/Forms/FormElement/utils/FormUtils.cjs +2 -1
  255. package/dist/cjs/components/Forms/FormElement/utils/FormUtils.cjs.map +1 -1
  256. package/dist/cjs/components/Forms/InfoMessage/InfoMessage.cjs +13 -4
  257. package/dist/cjs/components/Forms/InfoMessage/InfoMessage.cjs.map +1 -1
  258. package/dist/cjs/components/Forms/InfoMessage/InfoMessage.styles.cjs +1 -1
  259. package/dist/cjs/components/Forms/Label/Label.cjs +19 -10
  260. package/dist/cjs/components/Forms/Label/Label.cjs.map +1 -1
  261. package/dist/cjs/components/Forms/Label/Label.styles.cjs +1 -1
  262. package/dist/cjs/components/Forms/Suggestions/Suggestions.cjs +28 -7
  263. package/dist/cjs/components/Forms/Suggestions/Suggestions.cjs.map +1 -1
  264. package/dist/cjs/components/Forms/Suggestions/Suggestions.styles.cjs +1 -1
  265. package/dist/cjs/components/Forms/WarningText/WarningText.cjs +22 -8
  266. package/dist/cjs/components/Forms/WarningText/WarningText.cjs.map +1 -1
  267. package/dist/cjs/components/Forms/WarningText/WarningText.styles.cjs +3 -1
  268. package/dist/cjs/components/Forms/WarningText/WarningText.styles.cjs.map +1 -1
  269. package/dist/cjs/components/GlobalActions/GlobalActions.cjs +29 -12
  270. package/dist/cjs/components/GlobalActions/GlobalActions.cjs.map +1 -1
  271. package/dist/cjs/components/GlobalActions/GlobalActions.styles.cjs +1 -1
  272. package/dist/cjs/components/GlobalActions/GlobalActions.styles.cjs.map +1 -1
  273. package/dist/cjs/components/Grid/Grid.cjs +10 -6
  274. package/dist/cjs/components/Grid/Grid.cjs.map +1 -1
  275. package/dist/cjs/components/Header/Actions/Actions.cjs +7 -3
  276. package/dist/cjs/components/Header/Actions/Actions.cjs.map +1 -1
  277. package/dist/cjs/components/Header/Actions/Actions.styles.cjs +1 -1
  278. package/dist/cjs/components/Header/Actions/Actions.styles.cjs.map +1 -1
  279. package/dist/cjs/components/Header/Brand/Brand.cjs +12 -8
  280. package/dist/cjs/components/Header/Brand/Brand.cjs.map +1 -1
  281. package/dist/cjs/components/Header/Brand/Brand.styles.cjs +31 -18
  282. package/dist/cjs/components/Header/Brand/Brand.styles.cjs.map +1 -1
  283. package/dist/cjs/components/Header/Header.cjs +11 -3
  284. package/dist/cjs/components/Header/Header.cjs.map +1 -1
  285. package/dist/cjs/components/Header/Header.styles.cjs +1 -1
  286. package/dist/cjs/components/Header/Navigation/MenuBar/MenuBar.cjs +18 -4
  287. package/dist/cjs/components/Header/Navigation/MenuBar/MenuBar.cjs.map +1 -1
  288. package/dist/cjs/components/Header/Navigation/MenuBar/MenuBar.styles.cjs +1 -1
  289. package/dist/cjs/components/Header/Navigation/MenuItem/MenuItem.cjs +35 -7
  290. package/dist/cjs/components/Header/Navigation/MenuItem/MenuItem.cjs.map +1 -1
  291. package/dist/cjs/components/Header/Navigation/MenuItem/MenuItem.styles.cjs +20 -15
  292. package/dist/cjs/components/Header/Navigation/MenuItem/MenuItem.styles.cjs.map +1 -1
  293. package/dist/cjs/components/Header/Navigation/Navigation.cjs +16 -3
  294. package/dist/cjs/components/Header/Navigation/Navigation.cjs.map +1 -1
  295. package/dist/cjs/components/Header/Navigation/Navigation.styles.cjs +1 -1
  296. package/dist/cjs/components/Header/Navigation/utils/FocusContext.cjs +6 -3
  297. package/dist/cjs/components/Header/Navigation/utils/FocusContext.cjs.map +1 -1
  298. package/dist/cjs/components/Header/Navigation/utils/SelectionContext.cjs +1 -1
  299. package/dist/cjs/components/Input/Input.cjs +114 -43
  300. package/dist/cjs/components/Input/Input.cjs.map +1 -1
  301. package/dist/cjs/components/Input/Input.styles.cjs +5 -3
  302. package/dist/cjs/components/Input/Input.styles.cjs.map +1 -1
  303. package/dist/cjs/components/Kpi/Kpi.cjs +48 -17
  304. package/dist/cjs/components/Kpi/Kpi.cjs.map +1 -1
  305. package/dist/cjs/components/Kpi/Kpi.styles.cjs +1 -1
  306. package/dist/cjs/components/Link/Link.cjs +9 -3
  307. package/dist/cjs/components/Link/Link.cjs.map +1 -1
  308. package/dist/cjs/components/Link/Link.styles.cjs +1 -1
  309. package/dist/cjs/components/List/List.cjs +105 -33
  310. package/dist/cjs/components/List/List.cjs.map +1 -1
  311. package/dist/cjs/components/List/List.styles.cjs +16 -6
  312. package/dist/cjs/components/List/List.styles.cjs.map +1 -1
  313. package/dist/cjs/components/List/utils.cjs +1 -1
  314. package/dist/cjs/components/List/utils.cjs.map +1 -1
  315. package/dist/cjs/components/ListContainer/ListContainer.cjs +12 -3
  316. package/dist/cjs/components/ListContainer/ListContainer.cjs.map +1 -1
  317. package/dist/cjs/components/ListContainer/ListItem/ListItem.cjs +33 -13
  318. package/dist/cjs/components/ListContainer/ListItem/ListItem.cjs.map +1 -1
  319. package/dist/cjs/components/ListContainer/ListItem/ListItem.styles.cjs +1 -1
  320. package/dist/cjs/components/ListContainer/ListItem/ListItem.styles.cjs.map +1 -1
  321. package/dist/cjs/components/Loading/Loading.cjs +19 -6
  322. package/dist/cjs/components/Loading/Loading.cjs.map +1 -1
  323. package/dist/cjs/components/Loading/Loading.styles.cjs +1 -1
  324. package/dist/cjs/components/Login/Login.cjs +14 -5
  325. package/dist/cjs/components/Login/Login.cjs.map +1 -1
  326. package/dist/cjs/components/Login/Login.styles.cjs +1 -1
  327. package/dist/cjs/components/MultiButton/MultiButton.cjs +20 -15
  328. package/dist/cjs/components/MultiButton/MultiButton.cjs.map +1 -1
  329. package/dist/cjs/components/MultiButton/MultiButton.styles.cjs +16 -11
  330. package/dist/cjs/components/MultiButton/MultiButton.styles.cjs.map +1 -1
  331. package/dist/cjs/components/OverflowTooltip/OverflowTooltip.cjs +21 -4
  332. package/dist/cjs/components/OverflowTooltip/OverflowTooltip.cjs.map +1 -1
  333. package/dist/cjs/components/OverflowTooltip/OverflowTooltip.styles.cjs +3 -1
  334. package/dist/cjs/components/OverflowTooltip/OverflowTooltip.styles.cjs.map +1 -1
  335. package/dist/cjs/components/Pagination/ButtonIconTooltip.cjs +13 -1
  336. package/dist/cjs/components/Pagination/ButtonIconTooltip.cjs.map +1 -1
  337. package/dist/cjs/components/Pagination/Pagination.cjs +129 -28
  338. package/dist/cjs/components/Pagination/Pagination.cjs.map +1 -1
  339. package/dist/cjs/components/Pagination/Pagination.styles.cjs +11 -10
  340. package/dist/cjs/components/Pagination/Pagination.styles.cjs.map +1 -1
  341. package/dist/cjs/components/Pagination/Select.cjs +32 -8
  342. package/dist/cjs/components/Pagination/Select.cjs.map +1 -1
  343. package/dist/cjs/components/Pagination/Select.styles.cjs +1 -1
  344. package/dist/cjs/components/Pagination/Select.styles.cjs.map +1 -1
  345. package/dist/cjs/components/Pagination/utils.cjs +1 -1
  346. package/dist/cjs/components/Panel/Panel.cjs +8 -3
  347. package/dist/cjs/components/Panel/Panel.cjs.map +1 -1
  348. package/dist/cjs/components/Panel/Panel.styles.cjs +1 -1
  349. package/dist/cjs/components/ProgressBar/ProgressBar.cjs +31 -10
  350. package/dist/cjs/components/ProgressBar/ProgressBar.cjs.map +1 -1
  351. package/dist/cjs/components/ProgressBar/ProgressBar.styles.cjs +1 -1
  352. package/dist/cjs/components/Radio/Radio.cjs +52 -17
  353. package/dist/cjs/components/Radio/Radio.cjs.map +1 -1
  354. package/dist/cjs/components/Radio/Radio.styles.cjs +1 -1
  355. package/dist/cjs/components/RadioGroup/RadioGroup.cjs +51 -15
  356. package/dist/cjs/components/RadioGroup/RadioGroup.cjs.map +1 -1
  357. package/dist/cjs/components/RadioGroup/RadioGroup.styles.cjs +4 -1
  358. package/dist/cjs/components/RadioGroup/RadioGroup.styles.cjs.map +1 -1
  359. package/dist/cjs/components/SelectionList/SelectionList.cjs +47 -9
  360. package/dist/cjs/components/SelectionList/SelectionList.cjs.map +1 -1
  361. package/dist/cjs/components/SelectionList/SelectionList.styles.cjs +13 -5
  362. package/dist/cjs/components/SelectionList/SelectionList.styles.cjs.map +1 -1
  363. package/dist/cjs/components/SimpleGrid/SimpleGrid.cjs +9 -3
  364. package/dist/cjs/components/SimpleGrid/SimpleGrid.cjs.map +1 -1
  365. package/dist/cjs/components/SimpleGrid/SimpleGrid.styles.cjs +1 -1
  366. package/dist/cjs/components/SimpleGrid/SimpleGrid.styles.cjs.map +1 -1
  367. package/dist/cjs/components/Snackbar/Snackbar.cjs +49 -15
  368. package/dist/cjs/components/Snackbar/Snackbar.cjs.map +1 -1
  369. package/dist/cjs/components/Snackbar/Snackbar.styles.cjs +1 -1
  370. package/dist/cjs/components/Snackbar/Snackbar.styles.cjs.map +1 -1
  371. package/dist/cjs/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.cjs +32 -9
  372. package/dist/cjs/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.cjs.map +1 -1
  373. package/dist/cjs/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.styles.cjs +1 -1
  374. package/dist/cjs/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.styles.cjs.map +1 -1
  375. package/dist/cjs/components/Snackbar/SnackbarProvider/SnackbarProvider.cjs +28 -4
  376. package/dist/cjs/components/Snackbar/SnackbarProvider/SnackbarProvider.cjs.map +1 -1
  377. package/dist/cjs/components/Snackbar/snackbarClasses.cjs +1 -1
  378. package/dist/cjs/components/Stack/Stack.cjs +30 -9
  379. package/dist/cjs/components/Stack/Stack.cjs.map +1 -1
  380. package/dist/cjs/components/Stack/Stack.styles.cjs +1 -1
  381. package/dist/cjs/components/Switch/Switch.cjs +47 -14
  382. package/dist/cjs/components/Switch/Switch.cjs.map +1 -1
  383. package/dist/cjs/components/Switch/Switch.styles.cjs +1 -1
  384. package/dist/cjs/components/Tab/Tab.cjs +15 -18
  385. package/dist/cjs/components/Tab/Tab.cjs.map +1 -1
  386. package/dist/cjs/components/Tab/Tab.styles.cjs +3 -1
  387. package/dist/cjs/components/Tab/Tab.styles.cjs.map +1 -1
  388. package/dist/cjs/components/Table/Table.cjs +14 -3
  389. package/dist/cjs/components/Table/Table.cjs.map +1 -1
  390. package/dist/cjs/components/Table/TableBody/TableBody.cjs +26 -7
  391. package/dist/cjs/components/Table/TableBody/TableBody.cjs.map +1 -1
  392. package/dist/cjs/components/Table/TableCell/TableCell.cjs +36 -6
  393. package/dist/cjs/components/Table/TableCell/TableCell.cjs.map +1 -1
  394. package/dist/cjs/components/Table/TableContainer/TableContainer.cjs +7 -3
  395. package/dist/cjs/components/Table/TableContainer/TableContainer.cjs.map +1 -1
  396. package/dist/cjs/components/Table/TableHead/TableHead.cjs +12 -3
  397. package/dist/cjs/components/Table/TableHead/TableHead.cjs.map +1 -1
  398. package/dist/cjs/components/Table/TableHeader/TableHeader.cjs +65 -12
  399. package/dist/cjs/components/Table/TableHeader/TableHeader.cjs.map +1 -1
  400. package/dist/cjs/components/Table/TableHeader/TableHeader.styles.cjs +16 -8
  401. package/dist/cjs/components/Table/TableHeader/TableHeader.styles.cjs.map +1 -1
  402. package/dist/cjs/components/Table/TableHeader/utils.cjs +1 -1
  403. package/dist/cjs/components/Table/TableRow/TableRow.cjs +20 -6
  404. package/dist/cjs/components/Table/TableRow/TableRow.cjs.map +1 -1
  405. package/dist/cjs/components/Table/hooks/useHeaderGroups.cjs.map +1 -1
  406. package/dist/cjs/components/Table/hooks/useRowExpand.cjs +17 -5
  407. package/dist/cjs/components/Table/hooks/useRowExpand.cjs.map +1 -1
  408. package/dist/cjs/components/Table/hooks/useRowSelection.cjs +11 -3
  409. package/dist/cjs/components/Table/hooks/useRowSelection.cjs.map +1 -1
  410. package/dist/cjs/components/Table/hooks/useSticky.cjs.map +1 -1
  411. package/dist/cjs/components/Table/hooks/useTable.cjs.map +1 -1
  412. package/dist/cjs/components/Table/renderers/DateColumnCell/DateColumnCell.cjs +5 -3
  413. package/dist/cjs/components/Table/renderers/DateColumnCell/DateColumnCell.cjs.map +1 -1
  414. package/dist/cjs/components/Table/renderers/DropdownColumnCell/DropdownColumnCell.cjs +10 -3
  415. package/dist/cjs/components/Table/renderers/DropdownColumnCell/DropdownColumnCell.cjs.map +1 -1
  416. package/dist/cjs/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.cjs +10 -2
  417. package/dist/cjs/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.cjs.map +1 -1
  418. package/dist/cjs/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.styles.cjs +1 -1
  419. package/dist/cjs/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.styles.cjs.map +1 -1
  420. package/dist/cjs/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.cjs +17 -6
  421. package/dist/cjs/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.cjs.map +1 -1
  422. package/dist/cjs/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.styles.cjs +1 -1
  423. package/dist/cjs/components/Table/renderers/renderers.cjs +66 -25
  424. package/dist/cjs/components/Table/renderers/renderers.cjs.map +1 -1
  425. package/dist/cjs/components/Table/utils/fallbacks.cjs +2 -2
  426. package/dist/cjs/components/Table/utils/utils.cjs +1 -1
  427. package/dist/cjs/components/Tabs/Tabs.cjs +14 -10
  428. package/dist/cjs/components/Tabs/Tabs.cjs.map +1 -1
  429. package/dist/cjs/components/Tabs/Tabs.styles.cjs +3 -1
  430. package/dist/cjs/components/Tabs/Tabs.styles.cjs.map +1 -1
  431. package/dist/cjs/components/Tag/Tag.cjs +58 -28
  432. package/dist/cjs/components/Tag/Tag.cjs.map +1 -1
  433. package/dist/cjs/components/Tag/Tag.styles.cjs +1 -1
  434. package/dist/cjs/components/Tag/Tag.styles.cjs.map +1 -1
  435. package/dist/cjs/components/Tag/utils.cjs +1 -1
  436. package/dist/cjs/components/TagsInput/TagsInput.cjs +130 -46
  437. package/dist/cjs/components/TagsInput/TagsInput.cjs.map +1 -1
  438. package/dist/cjs/components/TagsInput/TagsInput.styles.cjs +45 -25
  439. package/dist/cjs/components/TagsInput/TagsInput.styles.cjs.map +1 -1
  440. package/dist/cjs/components/TextArea/TextArea.cjs +72 -23
  441. package/dist/cjs/components/TextArea/TextArea.cjs.map +1 -1
  442. package/dist/cjs/components/TextArea/TextArea.styles.cjs +14 -6
  443. package/dist/cjs/components/TextArea/TextArea.styles.cjs.map +1 -1
  444. package/dist/cjs/components/ToggleButton/ToggleButton.cjs +11 -3
  445. package/dist/cjs/components/ToggleButton/ToggleButton.cjs.map +1 -1
  446. package/dist/cjs/components/Tooltip/Tooltip.cjs +24 -11
  447. package/dist/cjs/components/Tooltip/Tooltip.cjs.map +1 -1
  448. package/dist/cjs/components/Tooltip/Tooltip.styles.cjs +1 -1
  449. package/dist/cjs/components/Tooltip/Tooltip.styles.cjs.map +1 -1
  450. package/dist/cjs/components/Typography/Typography.cjs +21 -4
  451. package/dist/cjs/components/Typography/Typography.cjs.map +1 -1
  452. package/dist/cjs/components/Typography/utils.cjs +7 -1
  453. package/dist/cjs/components/Typography/utils.cjs.map +1 -1
  454. package/dist/cjs/hocs/withId.cjs +5 -2
  455. package/dist/cjs/hocs/withId.cjs.map +1 -1
  456. package/dist/cjs/hocs/withTooltip.cjs +24 -5
  457. package/dist/cjs/hocs/withTooltip.cjs.map +1 -1
  458. package/dist/cjs/hooks/useClickOutside.cjs +1 -1
  459. package/dist/cjs/hooks/useComputation.cjs +16 -0
  460. package/dist/cjs/hooks/useComputation.cjs.map +1 -0
  461. package/dist/cjs/hooks/useControlled.cjs +1 -1
  462. package/dist/cjs/hooks/useImageLoaded.cjs +1 -1
  463. package/dist/cjs/hooks/useLabels.cjs +1 -1
  464. package/dist/cjs/hooks/useSelectionPath.cjs +1 -1
  465. package/dist/cjs/hooks/useSelectionPath.cjs.map +1 -1
  466. package/dist/cjs/hooks/useTheme.cjs +12 -0
  467. package/dist/cjs/hooks/useTheme.cjs.map +1 -0
  468. package/dist/cjs/hooks/useUniqueId.cjs.map +1 -1
  469. package/dist/cjs/hooks/useWidth.cjs +1 -1
  470. package/dist/cjs/index.cjs +22 -5
  471. package/dist/cjs/index.cjs.map +1 -1
  472. package/dist/cjs/providers/Provider.cjs +19 -19
  473. package/dist/cjs/providers/Provider.cjs.map +1 -1
  474. package/dist/cjs/providers/ThemeProvider.cjs +21 -21
  475. package/dist/cjs/providers/ThemeProvider.cjs.map +1 -1
  476. package/dist/cjs/utils/Random.cjs +0 -9
  477. package/dist/cjs/utils/Random.cjs.map +1 -1
  478. package/dist/cjs/utils/classes.cjs +1 -1
  479. package/dist/cjs/utils/classes.cjs.map +1 -1
  480. package/dist/cjs/{emotion/cache.cjs → utils/emotion.cjs} +2 -2
  481. package/dist/cjs/utils/emotion.cjs.map +1 -0
  482. package/dist/cjs/utils/focusUtils.cjs +1 -1
  483. package/dist/cjs/utils/focusableElementFinder.cjs.map +1 -1
  484. package/dist/cjs/utils/iconVariant.cjs +16 -5
  485. package/dist/cjs/utils/iconVariant.cjs.map +1 -1
  486. package/dist/cjs/utils/keyboardUtils/keyCheck.cjs +1 -1
  487. package/dist/cjs/utils/keyboardUtils/keyboardCodes.cjs +1 -1
  488. package/dist/cjs/utils/multiSelectionEventHandler.cjs.map +1 -1
  489. package/dist/cjs/utils/setId.cjs +1 -1
  490. package/dist/cjs/utils/sizes.cjs +1 -1
  491. package/dist/cjs/utils/theme.cjs +40 -24
  492. package/dist/cjs/utils/theme.cjs.map +1 -1
  493. package/dist/cjs/utils/transientOptions.cjs +1 -1
  494. package/dist/esm/components/Accordion/Accordion.js +37 -10
  495. package/dist/esm/components/Accordion/Accordion.js.map +1 -1
  496. package/dist/esm/components/Accordion/Accordion.styles.js +1 -0
  497. package/dist/esm/components/Accordion/Accordion.styles.js.map +1 -1
  498. package/dist/esm/components/ActionBar/ActionBar.js +7 -2
  499. package/dist/esm/components/ActionBar/ActionBar.js.map +1 -1
  500. package/dist/esm/components/ActionsGeneric/ActionsGeneric.js +42 -14
  501. package/dist/esm/components/ActionsGeneric/ActionsGeneric.js.map +1 -1
  502. package/dist/esm/components/ActionsGeneric/ActionsGeneric.styles.js +4 -2
  503. package/dist/esm/components/ActionsGeneric/ActionsGeneric.styles.js.map +1 -1
  504. package/dist/esm/components/AppSwitcher/Action/Action.js +54 -12
  505. package/dist/esm/components/AppSwitcher/Action/Action.js.map +1 -1
  506. package/dist/esm/components/AppSwitcher/Action/Action.styles.js +4 -2
  507. package/dist/esm/components/AppSwitcher/Action/Action.styles.js.map +1 -1
  508. package/dist/esm/components/AppSwitcher/AppSwitcher.js +37 -15
  509. package/dist/esm/components/AppSwitcher/AppSwitcher.js.map +1 -1
  510. package/dist/esm/components/AppSwitcher/AppSwitcher.styles.js +10 -0
  511. package/dist/esm/components/AppSwitcher/AppSwitcher.styles.js.map +1 -1
  512. package/dist/esm/components/AppSwitcher/TitleWithTooltip.js +16 -2
  513. package/dist/esm/components/AppSwitcher/TitleWithTooltip.js.map +1 -1
  514. package/dist/esm/components/Avatar/Avatar.js +38 -9
  515. package/dist/esm/components/Avatar/Avatar.js.map +1 -1
  516. package/dist/esm/components/Avatar/Avatar.styles.js +5 -0
  517. package/dist/esm/components/Avatar/Avatar.styles.js.map +1 -1
  518. package/dist/esm/components/Badge/Badge.js +23 -6
  519. package/dist/esm/components/Badge/Badge.js.map +1 -1
  520. package/dist/esm/components/Banner/Banner.js +33 -7
  521. package/dist/esm/components/Banner/Banner.js.map +1 -1
  522. package/dist/esm/components/Banner/Banner.styles.js.map +1 -1
  523. package/dist/esm/components/Banner/BannerContent/ActionContainer/ActionContainer.js +30 -9
  524. package/dist/esm/components/Banner/BannerContent/ActionContainer/ActionContainer.js.map +1 -1
  525. package/dist/esm/components/Banner/BannerContent/ActionContainer/ActionContainer.styles.js +4 -2
  526. package/dist/esm/components/Banner/BannerContent/ActionContainer/ActionContainer.styles.js.map +1 -1
  527. package/dist/esm/components/Banner/BannerContent/BannerContent.js +34 -12
  528. package/dist/esm/components/Banner/BannerContent/BannerContent.js.map +1 -1
  529. package/dist/esm/components/Banner/BannerContent/BannerContent.styles.js +4 -3
  530. package/dist/esm/components/Banner/BannerContent/BannerContent.styles.js.map +1 -1
  531. package/dist/esm/components/Banner/BannerContent/MessageContainer/MessageContainer.js +20 -6
  532. package/dist/esm/components/Banner/BannerContent/MessageContainer/MessageContainer.js.map +1 -1
  533. package/dist/esm/components/Banner/BannerContent/MessageContainer/MessageContainer.styles.js +4 -2
  534. package/dist/esm/components/Banner/BannerContent/MessageContainer/MessageContainer.styles.js.map +1 -1
  535. package/dist/esm/components/BaseCheckBox/BaseCheckBox.js +36 -5
  536. package/dist/esm/components/BaseCheckBox/BaseCheckBox.js.map +1 -1
  537. package/dist/esm/components/BaseCheckBox/BaseCheckBox.styles.js +2 -0
  538. package/dist/esm/components/BaseCheckBox/BaseCheckBox.styles.js.map +1 -1
  539. package/dist/esm/components/BaseDropdown/BaseDropdown.js +97 -61
  540. package/dist/esm/components/BaseDropdown/BaseDropdown.js.map +1 -1
  541. package/dist/esm/components/BaseDropdown/BaseDropdown.styles.js +13 -13
  542. package/dist/esm/components/BaseDropdown/BaseDropdown.styles.js.map +1 -1
  543. package/dist/esm/components/BaseInput/BaseInput.js +48 -18
  544. package/dist/esm/components/BaseInput/BaseInput.js.map +1 -1
  545. package/dist/esm/components/BaseInput/BaseInput.styles.js +5 -5
  546. package/dist/esm/components/BaseInput/BaseInput.styles.js.map +1 -1
  547. package/dist/esm/components/BaseInput/validations.js +16 -13
  548. package/dist/esm/components/BaseInput/validations.js.map +1 -1
  549. package/dist/esm/components/BaseRadio/BaseRadio.js +30 -4
  550. package/dist/esm/components/BaseRadio/BaseRadio.js.map +1 -1
  551. package/dist/esm/components/BaseRadio/BaseRadio.styles.js.map +1 -1
  552. package/dist/esm/components/BaseSwitch/BaseSwitch.js +30 -9
  553. package/dist/esm/components/BaseSwitch/BaseSwitch.js.map +1 -1
  554. package/dist/esm/components/BaseSwitch/BaseSwitch.styles.js.map +1 -1
  555. package/dist/esm/components/Box/Box.js +7 -2
  556. package/dist/esm/components/Box/Box.js.map +1 -1
  557. package/dist/esm/components/BreadCrumb/BreadCrumb.js +35 -14
  558. package/dist/esm/components/BreadCrumb/BreadCrumb.js.map +1 -1
  559. package/dist/esm/components/BreadCrumb/BreadCrumb.styles.js +4 -2
  560. package/dist/esm/components/BreadCrumb/BreadCrumb.styles.js.map +1 -1
  561. package/dist/esm/components/BreadCrumb/Page/Page.js +19 -4
  562. package/dist/esm/components/BreadCrumb/Page/Page.js.map +1 -1
  563. package/dist/esm/components/BreadCrumb/Page/Page.styles.js +10 -6
  564. package/dist/esm/components/BreadCrumb/Page/Page.styles.js.map +1 -1
  565. package/dist/esm/components/BreadCrumb/PathElement/PathElement.js +8 -5
  566. package/dist/esm/components/BreadCrumb/PathElement/PathElement.js.map +1 -1
  567. package/dist/esm/components/BreadCrumb/utils.js +11 -2
  568. package/dist/esm/components/BreadCrumb/utils.js.map +1 -1
  569. package/dist/esm/components/BulkActions/BulkActions.js +57 -23
  570. package/dist/esm/components/BulkActions/BulkActions.js.map +1 -1
  571. package/dist/esm/components/BulkActions/BulkActions.styles.js +9 -5
  572. package/dist/esm/components/BulkActions/BulkActions.styles.js.map +1 -1
  573. package/dist/esm/components/Button/Button.js +25 -5
  574. package/dist/esm/components/Button/Button.js.map +1 -1
  575. package/dist/esm/components/Button/Button.styles.js +14 -19
  576. package/dist/esm/components/Button/Button.styles.js.map +1 -1
  577. package/dist/esm/components/Calendar/Calendar.js +91 -0
  578. package/dist/esm/components/Calendar/Calendar.js.map +1 -0
  579. package/dist/esm/components/Calendar/Calendar.styles.js +64 -0
  580. package/dist/esm/components/Calendar/Calendar.styles.js.map +1 -0
  581. package/dist/esm/components/Calendar/CalendarHeader/CalendarHeader.js +162 -0
  582. package/dist/esm/components/Calendar/CalendarHeader/CalendarHeader.js.map +1 -0
  583. package/dist/esm/components/Calendar/CalendarHeader/CalendarHeader.styles.js +80 -0
  584. package/dist/esm/components/Calendar/CalendarHeader/CalendarHeader.styles.js.map +1 -0
  585. package/dist/esm/components/Calendar/CalendarHeader/calendarHeaderClasses.js +8 -0
  586. package/dist/esm/components/Calendar/CalendarHeader/calendarHeaderClasses.js.map +1 -0
  587. package/dist/esm/components/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.js +55 -0
  588. package/dist/esm/components/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.js.map +1 -0
  589. package/dist/esm/components/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.styles.js +34 -0
  590. package/dist/esm/components/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.styles.js.map +1 -0
  591. package/dist/esm/components/Calendar/CalendarNavigation/ComposedNavigation/composedNavigationClasses.js +8 -0
  592. package/dist/esm/components/Calendar/CalendarNavigation/ComposedNavigation/composedNavigationClasses.js.map +1 -0
  593. package/dist/esm/components/Calendar/CalendarNavigation/MonthSelector/MonthSelector.js +51 -0
  594. package/dist/esm/components/Calendar/CalendarNavigation/MonthSelector/MonthSelector.js.map +1 -0
  595. package/dist/esm/components/Calendar/CalendarNavigation/MonthSelector/MonthSelector.styles.js +73 -0
  596. package/dist/esm/components/Calendar/CalendarNavigation/MonthSelector/MonthSelector.styles.js.map +1 -0
  597. package/dist/esm/components/Calendar/CalendarNavigation/MonthSelector/monthSelectorClasses.js +8 -0
  598. package/dist/esm/components/Calendar/CalendarNavigation/MonthSelector/monthSelectorClasses.js.map +1 -0
  599. package/dist/esm/components/Calendar/CalendarNavigation/Navigation/Navigation.js +57 -0
  600. package/dist/esm/components/Calendar/CalendarNavigation/Navigation/Navigation.js.map +1 -0
  601. package/dist/esm/components/Calendar/CalendarNavigation/Navigation/Navigation.styles.js +104 -0
  602. package/dist/esm/components/Calendar/CalendarNavigation/Navigation/Navigation.styles.js.map +1 -0
  603. package/dist/esm/components/Calendar/CalendarNavigation/Navigation/navigationClasses.js +8 -0
  604. package/dist/esm/components/Calendar/CalendarNavigation/Navigation/navigationClasses.js.map +1 -0
  605. package/dist/esm/components/Calendar/CalendarWeekLabels/CalendarWeekLabels.js +23 -0
  606. package/dist/esm/components/Calendar/CalendarWeekLabels/CalendarWeekLabels.js.map +1 -0
  607. package/dist/esm/components/Calendar/CalendarWeekLabels/CalendarWeekLabels.styles.js +23 -0
  608. package/dist/esm/components/Calendar/CalendarWeekLabels/CalendarWeekLabels.styles.js.map +1 -0
  609. package/dist/esm/components/Calendar/CalendarWeekLabels/calendarWeekLabelsClasses.js +8 -0
  610. package/dist/esm/components/Calendar/CalendarWeekLabels/calendarWeekLabelsClasses.js.map +1 -0
  611. package/dist/esm/components/Calendar/SingleCalendar/CalendarCell.js +85 -0
  612. package/dist/esm/components/Calendar/SingleCalendar/CalendarCell.js.map +1 -0
  613. package/dist/esm/components/Calendar/SingleCalendar/CalendarCell.styles.js +95 -0
  614. package/dist/esm/components/Calendar/SingleCalendar/CalendarCell.styles.js.map +1 -0
  615. package/dist/esm/components/Calendar/SingleCalendar/SingleCalendar.js +149 -0
  616. package/dist/esm/components/Calendar/SingleCalendar/SingleCalendar.js.map +1 -0
  617. package/dist/esm/components/Calendar/SingleCalendar/SingleCalendar.styles.js +71 -0
  618. package/dist/esm/components/Calendar/SingleCalendar/SingleCalendar.styles.js.map +1 -0
  619. package/dist/esm/components/Calendar/SingleCalendar/calendarCellClasses.js +8 -0
  620. package/dist/esm/components/Calendar/SingleCalendar/calendarCellClasses.js.map +1 -0
  621. package/dist/esm/components/Calendar/SingleCalendar/singleCalendarClasses.js +8 -0
  622. package/dist/esm/components/Calendar/SingleCalendar/singleCalendarClasses.js.map +1 -0
  623. package/dist/esm/components/Calendar/calendarClasses.js +8 -0
  624. package/dist/esm/components/Calendar/calendarClasses.js.map +1 -0
  625. package/dist/esm/components/Calendar/enums.js +32 -0
  626. package/dist/esm/components/Calendar/enums.js.map +1 -0
  627. package/dist/esm/components/Calendar/model.js +50 -0
  628. package/dist/esm/components/Calendar/model.js.map +1 -0
  629. package/dist/esm/components/Calendar/utils.js +142 -0
  630. package/dist/esm/components/Calendar/utils.js.map +1 -0
  631. package/dist/esm/components/Card/Card.js +21 -14
  632. package/dist/esm/components/Card/Card.js.map +1 -1
  633. package/dist/esm/components/Card/Card.styles.js +1 -1
  634. package/dist/esm/components/Card/Card.styles.js.map +1 -1
  635. package/dist/esm/components/Card/Content/Content.js +8 -2
  636. package/dist/esm/components/Card/Content/Content.js.map +1 -1
  637. package/dist/esm/components/Card/Content/Content.styles.js +1 -1
  638. package/dist/esm/components/Card/Content/Content.styles.js.map +1 -1
  639. package/dist/esm/components/Card/Header/Header.js +25 -18
  640. package/dist/esm/components/Card/Header/Header.js.map +1 -1
  641. package/dist/esm/components/Card/Header/Header.styles.js +1 -1
  642. package/dist/esm/components/Card/Header/Header.styles.js.map +1 -1
  643. package/dist/esm/components/Card/Media/Media.js +14 -5
  644. package/dist/esm/components/Card/Media/Media.js.map +1 -1
  645. package/dist/esm/components/Card/Media/Media.styles.js +1 -1
  646. package/dist/esm/components/Card/Media/Media.styles.js.map +1 -1
  647. package/dist/esm/components/CheckBox/CheckBox.js +55 -16
  648. package/dist/esm/components/CheckBox/CheckBox.js.map +1 -1
  649. package/dist/esm/components/CheckBox/CheckBox.styles.js.map +1 -1
  650. package/dist/esm/components/CheckBoxGroup/CheckBoxGroup.js +61 -18
  651. package/dist/esm/components/CheckBoxGroup/CheckBoxGroup.js.map +1 -1
  652. package/dist/esm/components/CheckBoxGroup/CheckBoxGroup.styles.js +2 -0
  653. package/dist/esm/components/CheckBoxGroup/CheckBoxGroup.styles.js.map +1 -1
  654. package/dist/esm/components/Container/Container.js +19 -11
  655. package/dist/esm/components/Container/Container.js.map +1 -1
  656. package/dist/esm/components/Container/Container.styles.js.map +1 -1
  657. package/dist/esm/components/Controls/Controls.js +32 -15
  658. package/dist/esm/components/Controls/Controls.js.map +1 -1
  659. package/dist/esm/components/Controls/LeftControl/LeftControl.js +13 -5
  660. package/dist/esm/components/Controls/LeftControl/LeftControl.js.map +1 -1
  661. package/dist/esm/components/Controls/RightControl/RightControl.js +14 -2
  662. package/dist/esm/components/Controls/RightControl/RightControl.js.map +1 -1
  663. package/dist/esm/components/Controls/RightControl/RightControl.styles.js +4 -2
  664. package/dist/esm/components/Controls/RightControl/RightControl.styles.js.map +1 -1
  665. package/dist/esm/components/Dialog/Actions/Actions.js +11 -5
  666. package/dist/esm/components/Dialog/Actions/Actions.js.map +1 -1
  667. package/dist/esm/components/Dialog/Content/Content.js +7 -2
  668. package/dist/esm/components/Dialog/Content/Content.js.map +1 -1
  669. package/dist/esm/components/Dialog/Dialog.js +62 -29
  670. package/dist/esm/components/Dialog/Dialog.js.map +1 -1
  671. package/dist/esm/components/Dialog/Title/Title.js +19 -11
  672. package/dist/esm/components/Dialog/Title/Title.js.map +1 -1
  673. package/dist/esm/components/Dialog/Title/Title.styles.js +1 -0
  674. package/dist/esm/components/Dialog/Title/Title.styles.js.map +1 -1
  675. package/dist/esm/components/DotPagination/DotPagination.js +29 -9
  676. package/dist/esm/components/DotPagination/DotPagination.js.map +1 -1
  677. package/dist/esm/components/DotPagination/DotPagination.styles.js +7 -3
  678. package/dist/esm/components/DotPagination/DotPagination.styles.js.map +1 -1
  679. package/dist/esm/components/DropDownMenu/DropDownMenu.js +63 -23
  680. package/dist/esm/components/DropDownMenu/DropDownMenu.js.map +1 -1
  681. package/dist/esm/components/DropDownMenu/DropDownMenu.styles.js +4 -2
  682. package/dist/esm/components/DropDownMenu/DropDownMenu.styles.js.map +1 -1
  683. package/dist/esm/components/Dropdown/Dropdown.js +97 -21
  684. package/dist/esm/components/Dropdown/Dropdown.js.map +1 -1
  685. package/dist/esm/components/Dropdown/Dropdown.styles.js +4 -2
  686. package/dist/esm/components/Dropdown/Dropdown.styles.js.map +1 -1
  687. package/dist/esm/components/Dropdown/List/List.js +83 -27
  688. package/dist/esm/components/Dropdown/List/List.js.map +1 -1
  689. package/dist/esm/components/Dropdown/List/List.styles.js +5 -3
  690. package/dist/esm/components/Dropdown/List/List.styles.js.map +1 -1
  691. package/dist/esm/components/Dropdown/utils.js.map +1 -1
  692. package/dist/esm/components/EmptyState/EmptyState.js +28 -16
  693. package/dist/esm/components/EmptyState/EmptyState.js.map +1 -1
  694. package/dist/esm/components/EmptyState/EmptyState.styles.js.map +1 -1
  695. package/dist/esm/components/FileUploader/DropZone/DropZone.js +101 -52
  696. package/dist/esm/components/FileUploader/DropZone/DropZone.js.map +1 -1
  697. package/dist/esm/components/FileUploader/DropZone/DropZone.styles.js.map +1 -1
  698. package/dist/esm/components/FileUploader/File/File.js +57 -21
  699. package/dist/esm/components/FileUploader/File/File.js.map +1 -1
  700. package/dist/esm/components/FileUploader/FileList/FileList.js +14 -4
  701. package/dist/esm/components/FileUploader/FileList/FileList.js.map +1 -1
  702. package/dist/esm/components/FileUploader/FileList/FileList.styles.js.map +1 -1
  703. package/dist/esm/components/FileUploader/FileUploader.js +21 -4
  704. package/dist/esm/components/FileUploader/FileUploader.js.map +1 -1
  705. package/dist/esm/components/FileUploader/Preview/Preview.js +14 -8
  706. package/dist/esm/components/FileUploader/Preview/Preview.js.map +1 -1
  707. package/dist/esm/components/FileUploader/Preview/Preview.styles.js.map +1 -1
  708. package/dist/esm/components/FileUploader/utils.js.map +1 -1
  709. package/dist/esm/components/Focus/Focus.js +15 -10
  710. package/dist/esm/components/Focus/Focus.js.map +1 -1
  711. package/dist/esm/components/Footer/Footer.js +24 -10
  712. package/dist/esm/components/Footer/Footer.js.map +1 -1
  713. package/dist/esm/components/Footer/Footer.styles.js.map +1 -1
  714. package/dist/esm/components/Forms/Adornment/Adornment.js +30 -3
  715. package/dist/esm/components/Forms/Adornment/Adornment.js.map +1 -1
  716. package/dist/esm/components/Forms/Adornment/Adornment.styles.js +4 -0
  717. package/dist/esm/components/Forms/Adornment/Adornment.styles.js.map +1 -1
  718. package/dist/esm/components/Forms/CharCounter/CharCounter.js +28 -6
  719. package/dist/esm/components/Forms/CharCounter/CharCounter.js.map +1 -1
  720. package/dist/esm/components/Forms/FormElement/FormElement.js +16 -2
  721. package/dist/esm/components/Forms/FormElement/FormElement.js.map +1 -1
  722. package/dist/esm/components/Forms/FormElement/context/FormElementDescriptorsContext.js.map +1 -1
  723. package/dist/esm/components/Forms/FormElement/utils/FormUtils.js +1 -0
  724. package/dist/esm/components/Forms/FormElement/utils/FormUtils.js.map +1 -1
  725. package/dist/esm/components/Forms/InfoMessage/InfoMessage.js +12 -3
  726. package/dist/esm/components/Forms/InfoMessage/InfoMessage.js.map +1 -1
  727. package/dist/esm/components/Forms/Label/Label.js +18 -9
  728. package/dist/esm/components/Forms/Label/Label.js.map +1 -1
  729. package/dist/esm/components/Forms/Suggestions/Suggestions.js +27 -6
  730. package/dist/esm/components/Forms/Suggestions/Suggestions.js.map +1 -1
  731. package/dist/esm/components/Forms/WarningText/WarningText.js +21 -7
  732. package/dist/esm/components/Forms/WarningText/WarningText.js.map +1 -1
  733. package/dist/esm/components/Forms/WarningText/WarningText.styles.js +2 -0
  734. package/dist/esm/components/Forms/WarningText/WarningText.styles.js.map +1 -1
  735. package/dist/esm/components/GlobalActions/GlobalActions.js +29 -12
  736. package/dist/esm/components/GlobalActions/GlobalActions.js.map +1 -1
  737. package/dist/esm/components/GlobalActions/GlobalActions.styles.js.map +1 -1
  738. package/dist/esm/components/Grid/Grid.js +9 -5
  739. package/dist/esm/components/Grid/Grid.js.map +1 -1
  740. package/dist/esm/components/Header/Actions/Actions.js +6 -2
  741. package/dist/esm/components/Header/Actions/Actions.js.map +1 -1
  742. package/dist/esm/components/Header/Actions/Actions.styles.js.map +1 -1
  743. package/dist/esm/components/Header/Brand/Brand.js +12 -8
  744. package/dist/esm/components/Header/Brand/Brand.js.map +1 -1
  745. package/dist/esm/components/Header/Brand/Brand.styles.js +30 -17
  746. package/dist/esm/components/Header/Brand/Brand.styles.js.map +1 -1
  747. package/dist/esm/components/Header/Header.js +10 -2
  748. package/dist/esm/components/Header/Header.js.map +1 -1
  749. package/dist/esm/components/Header/Navigation/MenuBar/MenuBar.js +17 -3
  750. package/dist/esm/components/Header/Navigation/MenuBar/MenuBar.js.map +1 -1
  751. package/dist/esm/components/Header/Navigation/MenuItem/MenuItem.js +34 -6
  752. package/dist/esm/components/Header/Navigation/MenuItem/MenuItem.js.map +1 -1
  753. package/dist/esm/components/Header/Navigation/MenuItem/MenuItem.styles.js +19 -14
  754. package/dist/esm/components/Header/Navigation/MenuItem/MenuItem.styles.js.map +1 -1
  755. package/dist/esm/components/Header/Navigation/Navigation.js +15 -2
  756. package/dist/esm/components/Header/Navigation/Navigation.js.map +1 -1
  757. package/dist/esm/components/Header/Navigation/utils/FocusContext.js +5 -2
  758. package/dist/esm/components/Header/Navigation/utils/FocusContext.js.map +1 -1
  759. package/dist/esm/components/Input/Input.js +113 -42
  760. package/dist/esm/components/Input/Input.js.map +1 -1
  761. package/dist/esm/components/Input/Input.styles.js +4 -2
  762. package/dist/esm/components/Input/Input.styles.js.map +1 -1
  763. package/dist/esm/components/Kpi/Kpi.js +48 -17
  764. package/dist/esm/components/Kpi/Kpi.js.map +1 -1
  765. package/dist/esm/components/Link/Link.js +8 -2
  766. package/dist/esm/components/Link/Link.js.map +1 -1
  767. package/dist/esm/components/List/List.js +104 -32
  768. package/dist/esm/components/List/List.js.map +1 -1
  769. package/dist/esm/components/List/List.styles.js +15 -5
  770. package/dist/esm/components/List/List.styles.js.map +1 -1
  771. package/dist/esm/components/List/utils.js.map +1 -1
  772. package/dist/esm/components/ListContainer/ListContainer.js +11 -2
  773. package/dist/esm/components/ListContainer/ListContainer.js.map +1 -1
  774. package/dist/esm/components/ListContainer/ListItem/ListItem.js +32 -12
  775. package/dist/esm/components/ListContainer/ListItem/ListItem.js.map +1 -1
  776. package/dist/esm/components/ListContainer/ListItem/ListItem.styles.js.map +1 -1
  777. package/dist/esm/components/Loading/Loading.js +18 -5
  778. package/dist/esm/components/Loading/Loading.js.map +1 -1
  779. package/dist/esm/components/Login/Login.js +13 -4
  780. package/dist/esm/components/Login/Login.js.map +1 -1
  781. package/dist/esm/components/MultiButton/MultiButton.js +19 -14
  782. package/dist/esm/components/MultiButton/MultiButton.js.map +1 -1
  783. package/dist/esm/components/MultiButton/MultiButton.styles.js +15 -10
  784. package/dist/esm/components/MultiButton/MultiButton.styles.js.map +1 -1
  785. package/dist/esm/components/OverflowTooltip/OverflowTooltip.js +20 -3
  786. package/dist/esm/components/OverflowTooltip/OverflowTooltip.js.map +1 -1
  787. package/dist/esm/components/OverflowTooltip/OverflowTooltip.styles.js +2 -0
  788. package/dist/esm/components/OverflowTooltip/OverflowTooltip.styles.js.map +1 -1
  789. package/dist/esm/components/Pagination/ButtonIconTooltip.js +13 -1
  790. package/dist/esm/components/Pagination/ButtonIconTooltip.js.map +1 -1
  791. package/dist/esm/components/Pagination/Pagination.js +129 -28
  792. package/dist/esm/components/Pagination/Pagination.js.map +1 -1
  793. package/dist/esm/components/Pagination/Pagination.styles.js +10 -9
  794. package/dist/esm/components/Pagination/Pagination.styles.js.map +1 -1
  795. package/dist/esm/components/Pagination/Select.js +32 -8
  796. package/dist/esm/components/Pagination/Select.js.map +1 -1
  797. package/dist/esm/components/Pagination/Select.styles.js.map +1 -1
  798. package/dist/esm/components/Panel/Panel.js +7 -2
  799. package/dist/esm/components/Panel/Panel.js.map +1 -1
  800. package/dist/esm/components/ProgressBar/ProgressBar.js +30 -9
  801. package/dist/esm/components/ProgressBar/ProgressBar.js.map +1 -1
  802. package/dist/esm/components/Radio/Radio.js +51 -16
  803. package/dist/esm/components/Radio/Radio.js.map +1 -1
  804. package/dist/esm/components/RadioGroup/RadioGroup.js +50 -14
  805. package/dist/esm/components/RadioGroup/RadioGroup.js.map +1 -1
  806. package/dist/esm/components/RadioGroup/RadioGroup.styles.js +3 -0
  807. package/dist/esm/components/RadioGroup/RadioGroup.styles.js.map +1 -1
  808. package/dist/esm/components/SelectionList/SelectionList.js +46 -8
  809. package/dist/esm/components/SelectionList/SelectionList.js.map +1 -1
  810. package/dist/esm/components/SelectionList/SelectionList.styles.js +12 -4
  811. package/dist/esm/components/SelectionList/SelectionList.styles.js.map +1 -1
  812. package/dist/esm/components/SimpleGrid/SimpleGrid.js +8 -2
  813. package/dist/esm/components/SimpleGrid/SimpleGrid.js.map +1 -1
  814. package/dist/esm/components/SimpleGrid/SimpleGrid.styles.js.map +1 -1
  815. package/dist/esm/components/Snackbar/Snackbar.js +48 -14
  816. package/dist/esm/components/Snackbar/Snackbar.js.map +1 -1
  817. package/dist/esm/components/Snackbar/Snackbar.styles.js.map +1 -1
  818. package/dist/esm/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.js +32 -9
  819. package/dist/esm/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.js.map +1 -1
  820. package/dist/esm/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.styles.js.map +1 -1
  821. package/dist/esm/components/Snackbar/SnackbarProvider/SnackbarProvider.js +28 -4
  822. package/dist/esm/components/Snackbar/SnackbarProvider/SnackbarProvider.js.map +1 -1
  823. package/dist/esm/components/Stack/Stack.js +29 -8
  824. package/dist/esm/components/Stack/Stack.js.map +1 -1
  825. package/dist/esm/components/Switch/Switch.js +46 -13
  826. package/dist/esm/components/Switch/Switch.js.map +1 -1
  827. package/dist/esm/components/Tab/Tab.js +14 -17
  828. package/dist/esm/components/Tab/Tab.js.map +1 -1
  829. package/dist/esm/components/Tab/Tab.styles.js +2 -0
  830. package/dist/esm/components/Tab/Tab.styles.js.map +1 -1
  831. package/dist/esm/components/Table/Table.js +13 -2
  832. package/dist/esm/components/Table/Table.js.map +1 -1
  833. package/dist/esm/components/Table/TableBody/TableBody.js +25 -6
  834. package/dist/esm/components/Table/TableBody/TableBody.js.map +1 -1
  835. package/dist/esm/components/Table/TableCell/TableCell.js +35 -5
  836. package/dist/esm/components/Table/TableCell/TableCell.js.map +1 -1
  837. package/dist/esm/components/Table/TableContainer/TableContainer.js +6 -2
  838. package/dist/esm/components/Table/TableContainer/TableContainer.js.map +1 -1
  839. package/dist/esm/components/Table/TableHead/TableHead.js +11 -2
  840. package/dist/esm/components/Table/TableHead/TableHead.js.map +1 -1
  841. package/dist/esm/components/Table/TableHeader/TableHeader.js +64 -11
  842. package/dist/esm/components/Table/TableHeader/TableHeader.js.map +1 -1
  843. package/dist/esm/components/Table/TableHeader/TableHeader.styles.js +15 -7
  844. package/dist/esm/components/Table/TableHeader/TableHeader.styles.js.map +1 -1
  845. package/dist/esm/components/Table/TableRow/TableRow.js +19 -5
  846. package/dist/esm/components/Table/TableRow/TableRow.js.map +1 -1
  847. package/dist/esm/components/Table/hooks/useHeaderGroups.js.map +1 -1
  848. package/dist/esm/components/Table/hooks/useRowExpand.js +17 -5
  849. package/dist/esm/components/Table/hooks/useRowExpand.js.map +1 -1
  850. package/dist/esm/components/Table/hooks/useRowSelection.js +11 -3
  851. package/dist/esm/components/Table/hooks/useRowSelection.js.map +1 -1
  852. package/dist/esm/components/Table/hooks/useSticky.js.map +1 -1
  853. package/dist/esm/components/Table/hooks/useTable.js.map +1 -1
  854. package/dist/esm/components/Table/renderers/DateColumnCell/DateColumnCell.js +5 -3
  855. package/dist/esm/components/Table/renderers/DateColumnCell/DateColumnCell.js.map +1 -1
  856. package/dist/esm/components/Table/renderers/DropdownColumnCell/DropdownColumnCell.js +10 -3
  857. package/dist/esm/components/Table/renderers/DropdownColumnCell/DropdownColumnCell.js.map +1 -1
  858. package/dist/esm/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.js +10 -2
  859. package/dist/esm/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.js.map +1 -1
  860. package/dist/esm/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.styles.js.map +1 -1
  861. package/dist/esm/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.js +17 -6
  862. package/dist/esm/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.js.map +1 -1
  863. package/dist/esm/components/Table/renderers/renderers.js +65 -24
  864. package/dist/esm/components/Table/renderers/renderers.js.map +1 -1
  865. package/dist/esm/components/Table/utils/fallbacks.js +1 -1
  866. package/dist/esm/components/Tabs/Tabs.js +13 -9
  867. package/dist/esm/components/Tabs/Tabs.js.map +1 -1
  868. package/dist/esm/components/Tabs/Tabs.styles.js +2 -0
  869. package/dist/esm/components/Tabs/Tabs.styles.js.map +1 -1
  870. package/dist/esm/components/Tag/Tag.js +58 -28
  871. package/dist/esm/components/Tag/Tag.js.map +1 -1
  872. package/dist/esm/components/Tag/Tag.styles.js.map +1 -1
  873. package/dist/esm/components/TagsInput/TagsInput.js +129 -45
  874. package/dist/esm/components/TagsInput/TagsInput.js.map +1 -1
  875. package/dist/esm/components/TagsInput/TagsInput.styles.js +44 -24
  876. package/dist/esm/components/TagsInput/TagsInput.styles.js.map +1 -1
  877. package/dist/esm/components/TextArea/TextArea.js +71 -22
  878. package/dist/esm/components/TextArea/TextArea.js.map +1 -1
  879. package/dist/esm/components/TextArea/TextArea.styles.js +13 -5
  880. package/dist/esm/components/TextArea/TextArea.styles.js.map +1 -1
  881. package/dist/esm/components/ToggleButton/ToggleButton.js +10 -2
  882. package/dist/esm/components/ToggleButton/ToggleButton.js.map +1 -1
  883. package/dist/esm/components/Tooltip/Tooltip.js +24 -11
  884. package/dist/esm/components/Tooltip/Tooltip.js.map +1 -1
  885. package/dist/esm/components/Tooltip/Tooltip.styles.js.map +1 -1
  886. package/dist/esm/components/Typography/Typography.js +20 -3
  887. package/dist/esm/components/Typography/Typography.js.map +1 -1
  888. package/dist/esm/components/Typography/utils.js +6 -0
  889. package/dist/esm/components/Typography/utils.js.map +1 -1
  890. package/dist/esm/hocs/withId.js +5 -2
  891. package/dist/esm/hocs/withId.js.map +1 -1
  892. package/dist/esm/hocs/withTooltip.js +24 -5
  893. package/dist/esm/hocs/withTooltip.js.map +1 -1
  894. package/dist/esm/hooks/useComputation.js +16 -0
  895. package/dist/esm/hooks/useComputation.js.map +1 -0
  896. package/dist/esm/hooks/useSelectionPath.js.map +1 -1
  897. package/dist/esm/hooks/useTheme.js +12 -0
  898. package/dist/esm/hooks/useTheme.js.map +1 -0
  899. package/dist/esm/hooks/useUniqueId.js.map +1 -1
  900. package/dist/esm/index.js +240 -229
  901. package/dist/esm/index.js.map +1 -1
  902. package/dist/esm/providers/Provider.js +19 -19
  903. package/dist/esm/providers/Provider.js.map +1 -1
  904. package/dist/esm/providers/ThemeProvider.js +19 -21
  905. package/dist/esm/providers/ThemeProvider.js.map +1 -1
  906. package/dist/esm/utils/Random.js +0 -9
  907. package/dist/esm/utils/Random.js.map +1 -1
  908. package/dist/esm/utils/classes.js.map +1 -1
  909. package/dist/esm/{emotion/cache.js → utils/emotion.js} +1 -1
  910. package/dist/esm/utils/emotion.js.map +1 -0
  911. package/dist/esm/utils/focusableElementFinder.js.map +1 -1
  912. package/dist/esm/utils/iconVariant.js +16 -5
  913. package/dist/esm/utils/iconVariant.js.map +1 -1
  914. package/dist/esm/utils/multiSelectionEventHandler.js.map +1 -1
  915. package/dist/esm/utils/theme.js +40 -24
  916. package/dist/esm/utils/theme.js.map +1 -1
  917. package/dist/types/index.d.ts +194 -116
  918. package/package.json +7 -6
  919. package/dist/cjs/emotion/cache.cjs.map +0 -1
  920. package/dist/esm/emotion/cache.js.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\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","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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"}
@@ -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\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":";AAgEA,MAAMA,WAAYC,CAAAA,UAAU,cAAcC,KAAKD,KAAK;AAEpD,MAAME,iBAAiBA,CAAC;AAAA,EAAEC;AAAAA,EAAQC;AAAO,MAAM;;AACzCL,MAAAA,SAASI,MAAM,GAAG;AACbA,WAAAA;AAAAA,EACT;AAEA,MAAIC,UAAU,MAAM;AAElBD,aAASD,eAAeE,MAAM;AAC1BL,QAAAA,SAASI,MAAM,GAAG;AACbA,aAAAA;AAAAA,IACT;AAEM,UAAA;AAAA,MAAEE;AAAAA,IAAYD,IAAAA;AAEhBC,SAAAA,mCAASC,UAAS,GAAG;AACvBH,gBAASE,wCAASE,KAAMC,CAAAA,QAAQA,IAAIL,UAAU,UAArCE,mBAA4CF;AACjDJ,UAAAA,SAASI,MAAM,GAAG;AACbA,eAAAA;AAAAA,MACT;AAAA,IACF;AAAA,EACF;AAEOM,SAAAA;AACT;AAEA,MAAMC,wBAAwBA,CAACC,QAAQC,UAAU;AACxCC,SAAAA,OAAOF,QAAQC,KAAK;AAEvBD,MAAAA,OAAOP,UAAU,MAAM;AACHO,0BAAAA,OAAOP,QAAQQ,KAAK;AAAA,EAC5C;AACF;AAEA,MAAME,qBAAqBA,CAACT,SAAS;AAAA,EAAEU;AAAS,MAAM;AACpD,QAAMC,YAAmB,CAAA;AACzB,QAAMC,aAAoB,CAAA;AAC1B,QAAMC,SAAgB,CAAA;AAEtBb,UAAQc,QAASR,CAAW,WAAA;;AAC1B,UAAMR,UAASD,oBAAeS,MAAM,MAArBT,mBAAwBkB;AAEvCV,0BAAsBC,QAAQ;AAAA,MAAER;AAAAA,IAAAA,CAAQ;AAExC,QAAIA,WAAW,QAAQ;AACrBa,gBAAUK,KAAKV,MAAM;AAAA,IAAA,WACZR,WAAW,SAAS;AAC7Bc,iBAAWI,KAAKV,MAAM;AAAA,IAAA,OACjB;AACLO,aAAOG,KAAKV,MAAM;AAAA,IACpB;AAAA,EAAA,CACD;AAEGO,MAAAA,OAAOZ,SAAS,GAAG;AACf,UAAA,CAACgB,cAAc,IAAIJ;AACzBR,0BAAsBY,gBAAgB;AAAA,MAAEC,kBAAkB;AAAA,IAAA,CAAM;AAE1DC,UAAAA,gBAAgBN,OAAOA,OAAOZ,SAAS;AAC7CI,0BAAsBc,eAAe;AAAA,MAAEC,iBAAiB;AAAA,IAAA,CAAM;AAAA,EAChE;AAEMC,QAAAA,gBAAgBV,UAAUV,SAAS;AACzC,MAAIoB,eAAe;AACXC,UAAAA,iBAAiBX,UAAUA,UAAUV,SAAS;AAEpDI,0BAAsBiB,gBAAgB;AAAA,MAAEC,kBAAkB;AAAA,IAAA,CAAM;AAAA,EAClE;AAEMC,QAAAA,iBAAiBZ,WAAWX,SAAS;AAC3C,MAAIuB,gBAAgB;AACZ,UAAA,CAACC,gBAAgB,IAAIb;AAE3BP,0BAAsBoB,kBAAkB;AAAA,MAAEC,oBAAoB;AAAA,IAAA,CAAM;AAAA,EACtE;AAEAhB,WAASiB,mBAAmBN,iBAAiBG;AAE7C,SAAO,CAAC,GAAGb,WAAW,GAAGE,QAAQ,GAAGD,UAAU;AAChD;AAEA,MAAMgB,kCAAkCA,CAACC,SAASC,QAAQ,MAAM;AAC1D,MAAA,EAACD,mCAAS5B,SAAQ;AACpB;AAAA,EACF;AAEA,WAAS8B,IAAIF,QAAQ5B,SAAS,GAAG8B,MAAM,IAAIA,KAAK,GAAG;AACjD,UAAMC,SAASH,QAAQE;AAEvBC,WAAOC,aAAaH;AAEd,UAAA;AAAA,MAAED,SAASK;AAAAA,IAAeF,IAAAA;AAC5BE,SAAAA,yCAAYjC,UAAS,GAAG;AAC1B2B,sCAAgCM,YAAYJ,KAAK;AAAA,IACnD;AAEA,QAAIE,OAAOG,WAAW;AACpBL,eAASE,OAAOI;AAAAA,IAClB;AAAA,EACF;AACF;AAEA,MAAMC,kBAAmB3B,CAAa,aAAA;AACpCkB,kCAAgClB,SAASmB,OAAO;AAE1CS,QAAAA,cAAcC,aAAa7B,QAAQ;AACzCA,WAAS8B,oBAAoBC,eAC3B/B,SAASgC,SAAAA,EAAWF,mBACpB;AAAA,IACE9B,UAAU4B,YAAW;AAAA,EAAA,CACtB;AAEL;AAEA,MAAMK,cAAcA,OAAO;AAAA,EACzBC,OAAO;AAAA,IACLC,SAAS;AAAA,IACTC,MAAM;AAAA,EACR;AACF;AAEA,MAAMC,eAAeA,CAACf,QAAQgB,iBAAiB;AAC7C,QAAMzC,QAA8D;AAAA,IAClEqC,OAAO;AAAA,MACLC,SAAS;AAAA,MACTC,MAAO,GAAEd,OAAOI,cAAcJ,OAAOiB;AAAAA,MACrCC,YAAYF,eAAe,UAAU;AAAA,MACrCG,gBAAgBnB,OAAOoB;AAAAA,MAEvBC,OAAQ,GAAErB,OAAOI;AAAAA,MACjBkB,UAAW,GAAEtB,OAAOiB;AAAAA,IACtB;AAAA,EAAA;AAGEjB,MAAAA,OAAOlC,UAAU,MAAM;AACzBS,UAAMgD,eAAe;AAErB,UAAMC,SACJxB,OAAOlC,WAAW,SAASkC,OAAOyB,YAAYzB,OAAOC;AAEjDW,UAAAA,MAAMZ,OAAOlC,UAAW,GAAE0D;AAEhC,QAAIxB,OAAOT,kBAAkB;AAC3BhB,YAAMmD,uBAAuB;AAAA,IAC/B;AAEA,QAAI1B,OAAON,oBAAoB;AAC7BnB,YAAMoD,yBAAyB;AAAA,IACjC;AAAA,EAAA,OACK;AACL,QAAI3B,OAAOd,kBAAkB;AAC3BX,YAAMqC,MAAMgB,aAAa;AAAA,IAC3B;AAEA,QAAI5B,OAAOZ,iBAAiB;AAC1Bb,YAAMqC,MAAMiB,cAAc;AAAA,IAC5B;AAAA,EACF;AAEOtD,SAAAA;AACT;AAqBA,MAAMuD,oBAAoBA,CAACvD,OAAO;AAAA,EAAEG;AAAS,MAAM;AACjD,QAAMqD,YAAwC;AAAA,IAC5CC,cAActD,SAASsD;AAAAA,IACvBC,eAAevD,SAASiB;AAAAA,EAAAA;AAGnB,SAAA,CAACpB,OAAOwD,SAAS;AAC1B;AAGaG,MAAAA,wBAAwBA,CAAC3D,OAAO;AAAA,EAAEG;AAAS,MAAM;AAC5D,QAAMqD,YAAY;AAAA,IAChBC,cAActD,SAASsD;AAAAA,EAAAA;AAGlB,SAAA,CAACzD,OAAOwD,SAAS;AAC1B;AAGaI,MAAAA,0BAA0BA,CAAC5D,OAAO;AAAA,EAAEG;AAAS,MAAM;AAC9D,QAAMqD,YAAYrD,SAASiB,mBAAmBgB,YAAAA,IAAgB,CAAA;AAEvD,SAAA,CAACpC,OAAOwD,SAAS;AAC1B;AAGA,MAAMK,qBAAqBA,CAAC7D,OAAO;AAAA,EAAEG;AAAAA,EAAUJ;AAAO,MAAM;AAC1D,QAAMyD,YAAYrD,SAASiB,mBAAmBoB,aAAazC,QAAQ,IAAI,IAAI;AAEpE,SAAA,CAACC,OAAOwD,SAAS;AAC1B;AAGA,MAAMM,kBAAkBA,CAAC9D,OAAO;AAAA,EAAEG;AAAS,MAAM;AAC/C,QAAMqD,YAAYrD,SAASiB,mBAAmBgB,YAAAA,IAAgB,CAAA;AAEvD,SAAA,CAACpC,OAAOwD,SAAS;AAC1B;AAGA,MAAMO,mBAAmBA,CAAC/D,OAAO;AAAA,EAAEG;AAAAA,EAAU6D;AAAK,MAAM;AAChDR,QAAAA,YAAuCrD,SAASiB,mBAClDoB,aAAawB,KAAKjE,QAAQ,KAAK,IAC/B;AAEG,SAAA,CAACC,OAAOwD,SAAS;AAC1B;AAEA,MAAMS,YAA+BC,CAAU,UAAA;AACvCC,QAAAA,eAAe1D,KAAKP,kBAAkB;AACtCkE,QAAAA,YAAY3D,KAAKqB,eAAe;AAGhCuC,QAAAA,cAAc5D,KAAK8C,iBAAiB;AAEpCtB,QAAAA,oBAAoB,CAAC0B,qBAAqB;AAE1CW,QAAAA,oBAAoB7D,KAAKmD,uBAAuB;AAEhDW,QAAAA,eAAe9D,KAAKoD,kBAAkB;AAEtCzB,QAAAA,YAAY3B,KAAKqD,eAAe;AAEhCtB,QAAAA,aAAa/B,KAAKsD,gBAAgB;AAC1C;AAEAE,UAAUO,aAAa;AAEvB,MAAA,cAAeP;"}
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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"}
@@ -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\";\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;"}
1
+ {"version":3,"file":"useTable.js","sources":["../../../../../src/components/Table/hooks/useTable.ts"],"sourcesContent":["import { useMemo } from \"react\";\nimport {\n useTable,\n usePagination,\n useExpanded,\n useSortBy,\n useResizeColumns,\n Cell,\n CellPropGetter,\n CellProps,\n Column,\n ColumnInstance,\n ColumnInterface,\n FooterPropGetter,\n HeaderPropGetter,\n HeaderProps,\n Hooks,\n PluginHook,\n Renderer,\n Row,\n RowPropGetter,\n TableCellProps,\n TableFooterProps,\n TableHeaderProps,\n TableInstance,\n TableOptions,\n TablePropGetter,\n TableProps,\n TableRowProps,\n TableState,\n UseColumnOrderInstanceProps,\n UseColumnOrderState,\n UseExpandedHooks,\n UseExpandedInstanceProps,\n UseExpandedOptions,\n UseExpandedState,\n UseFiltersColumnOptions,\n UseFiltersColumnProps,\n UseFiltersInstanceProps,\n UseFiltersOptions,\n UseFiltersState,\n UseGlobalFiltersInstanceProps,\n UseGlobalFiltersOptions,\n UseGlobalFiltersState,\n UseGroupByCellProps,\n UseGroupByColumnOptions,\n UseGroupByColumnProps,\n UseGroupByHooks,\n UseGroupByInstanceProps,\n UseGroupByOptions,\n UseGroupByRowProps,\n UseGroupByState,\n UsePaginationInstanceProps,\n UsePaginationOptions,\n UsePaginationState,\n UseResizeColumnsColumnOptions,\n UseResizeColumnsColumnProps,\n UseResizeColumnsOptions,\n UseResizeColumnsState,\n UseSortByColumnOptions,\n UseSortByColumnProps,\n UseSortByHooks,\n UseSortByInstanceProps,\n UseSortByOptions,\n UseSortByState,\n} from \"react-table\";\nimport useHvTableStyles, {\n UseHvTableStylesTableOptions,\n UseHvTableStylesColumnOptions,\n UseHvTableStylesTableCellProps,\n UseHvTableStylesTableRowProps,\n} from \"./useTableStyles\";\nimport {\n UseHvTableStickyCellProps,\n UseHvTableStickyColumnProps,\n UseHvTableStickyHooks,\n UseHvTableStickyTableInstance,\n UseHvTableStickyTableOptions,\n UseHvTableStickyTableProps,\n} from \"./useSticky\";\nimport { UseHvSortByColumnProps, UseHvSortByTableCellProps } from \"./useSortBy\";\nimport {\n UseHvRowSelectionHooks,\n UseHvRowSelectionRowInstance,\n UseHvRowSelectionState,\n UseHvRowSelectionTableInstance,\n UseHvRowSelectionTableOptions,\n UseHvRowSelectionTableRowProps,\n} from \"./useRowSelection\";\nimport {\n UseHvPaginationHooks,\n UseHvPaginationTableInstance,\n} from \"./usePagination\";\nimport {\n UseHvBulkActionsHooks,\n UseHvBulkActionsTableInstanceProps,\n UseHvBulkActionsTableOptions,\n} from \"./useBulkActions\";\nimport {\n UseHvRowExpandTableOptions,\n UseHvRowExpandRowInstance,\n UseHvRowExpandTableRowProps,\n} from \"./useRowExpand\";\nimport {\n UseHvHeaderGroupsColumnProps,\n UseHvHeaderGroupsCellProps,\n UseHvHeaderGroupsInstance,\n} from \"./useHeaderGroups\";\nimport {\n UseHvResizeColumnProps,\n UseHvResizeTableCellProps,\n} from \"./useResizeColumns\";\nimport { HvExtraProps } from \"../../../types\";\n\n// #region ##### TYPES #####\n\ntype Accessor<D extends object> = (\n originalRow: D,\n index: number,\n sub: {\n subRows: D[];\n depth: number;\n data: D[];\n }\n) => CellValue;\n\ntype StringKey<D> = Extract<keyof D, string>;\ntype IdType<D> = StringKey<D> | string;\ntype CellValue<V = any> = V;\n\ninterface HvColumnInterfaceBasedOnValue<\n D extends object = Record<string, unknown>,\n V = any\n> {\n Cell?: Renderer<HvCellProps<D, V>>;\n}\n\ninterface HvColumnGroupInterface<D extends object> {\n columns: Array<HvTableColumnConfig<D>>;\n}\n\ntype HvColumnGroup<D extends object = Record<string, unknown>> =\n HvTableColumnOptions<D> &\n HvColumnGroupInterface<D> &\n (\n | { Header: string }\n | ({ id: IdType<D> } & {\n Header: Renderer<HeaderProps<D>>;\n })\n ) & { accessor?: Accessor<D> }; // Not used, but needed for backwards compatibility\n\ntype ValueOf<T> = T[keyof T];\n\n// The accessors like `foo.bar` are not supported, use functions instead\ntype HvColumnWithStrictAccessor<D extends object = Record<string, unknown>> =\n HvTableColumnOptions<D> &\n ValueOf<{\n [K in keyof D]: {\n accessor: K;\n } & HvColumnInterfaceBasedOnValue<D, D[K]>;\n }>;\n\ntype HvColumnWithLooseAccessor<D extends object = Record<string, unknown>> =\n HvTableColumnOptions<D> &\n HvColumnInterfaceBasedOnValue<D> &\n (\n | { Header: string }\n | { id: IdType<D> }\n | { accessor: keyof D extends never ? IdType<D> : never }\n ) & {\n accessor?: keyof D extends never ? IdType<D> | Accessor<D> : Accessor<D>;\n };\n\nexport type HvCellProps<D extends object, V = any> = CellProps<D, V> & {\n column: HvColumnInstance<D>;\n row: HvRowInstance<D>;\n cell: HvCellInstance<D, V>;\n};\n\nexport type HvTableDefinitionConfig<\n D extends object = Record<string, unknown>\n> = HvTableOptions<D>;\n\nexport type HvTableColumnConfig<D extends object = Record<string, unknown>> =\n | HvColumnGroup<D>\n | HvColumnWithLooseAccessor<D>\n | HvColumnWithStrictAccessor<D>;\n\n// #region HOOKS\nexport interface HvHooks<D extends object = Record<string, unknown>>\n extends Hooks<D>,\n UseExpandedHooks<D>,\n UseGroupByHooks<D>,\n UseSortByHooks<D>,\n UseHvRowSelectionHooks<D>,\n UseHvTableStickyHooks<D>,\n UseHvPaginationHooks<D>,\n UseHvBulkActionsHooks<D> {}\n// #endregion\n\n// #region STATE\nexport interface HvTableState<D extends object = Record<string, unknown>>\n extends TableState<D>,\n UseColumnOrderState<D>,\n UseExpandedState<D>,\n UseFiltersState<D>,\n UseGlobalFiltersState<D>,\n UseGroupByState<D>,\n UsePaginationState<D>,\n UseResizeColumnsState<D>,\n UseSortByState<D>,\n UseHvRowSelectionState<D> {\n rowCount: number;\n}\n// #endregion\n\n// #region OPTIONS\nexport interface HvTableOptions<D extends object>\n extends Omit<TableOptions<D>, \"columns\" | \"data\">,\n UseExpandedOptions<D>,\n UseFiltersOptions<D>,\n UseFiltersOptions<D>,\n UseGlobalFiltersOptions<D>,\n UseGroupByOptions<D>,\n UsePaginationOptions<D>,\n UseResizeColumnsOptions<D>,\n UseSortByOptions<D>,\n UseHvTableStylesTableOptions,\n UseHvRowSelectionTableOptions,\n UseHvTableStickyTableOptions,\n UseHvBulkActionsTableOptions,\n UseHvRowExpandTableOptions {\n columns?: Array<HvTableColumnConfig<D>>;\n data?: D[];\n\n initialState?: Partial<HvTableState<D>>;\n\n labels?: Record<string, string>;\n}\n\nexport interface HvTableColumnOptions<\n D extends object = Record<string, unknown>\n> extends ColumnInterface<D>,\n UseFiltersColumnOptions<D>,\n UseGroupByColumnOptions<D>,\n UseResizeColumnsColumnOptions<D>,\n UseSortByColumnOptions<D>,\n UseHvTableStylesColumnOptions {}\n// #endregion\n\n// #region INSTANCE\nexport interface HvTableInstance<D extends object = Record<string, unknown>>\n extends TableInstance<D>,\n Omit<HvTableOptions<D>, \"columns\" | \"pageCount\" | \"initialState\" | \"data\">,\n UseColumnOrderInstanceProps<D>,\n UseExpandedInstanceProps<D>,\n UseFiltersInstanceProps<D>,\n UseGlobalFiltersInstanceProps<D>,\n UseGroupByInstanceProps<D>,\n UsePaginationInstanceProps<D>,\n UseSortByInstanceProps<D>,\n UseHvRowSelectionTableInstance<D>,\n UseHvTableStickyTableInstance<D>,\n UseHvHeaderGroupsInstance,\n UseHvPaginationTableInstance<D>,\n UseHvBulkActionsTableInstanceProps<D> {\n initialState: Partial<HvTableState<D>>;\n state: HvTableState<D>;\n columns: Array<HvColumnInstance<D>>;\n allColumns: Array<HvColumnInstance<D>>;\n visibleColumns: Array<HvColumnInstance<D>>;\n headers: Array<HvColumnInstance<D>>;\n flatHeaders: Array<HvColumnInstance<D>>;\n rows: Array<HvRowInstance<D>>;\n page: Array<HvRowInstance<D>>;\n rowsById: Record<string, HvRowInstance<D>>;\n flatRows: Array<HvRowInstance<D>>;\n getHooks: () => HvHooks<D>;\n getTableProps: (propGetter?: TablePropGetter<D>) => HvUseTableProps;\n selectedFlatRows: Array<HvRowInstance<D>>;\n\n initialRows: Array<HvRowInstance<D>>;\n initialRowsById: Record<string, HvRowInstance<D>>;\n\n labels: Record<string, string>;\n}\n\nexport interface HvColumnInstance<D extends object = Record<string, unknown>>\n extends ColumnInstance<D>,\n Omit<HvTableColumnOptions<D>, \"id\">,\n UseFiltersColumnProps<D>,\n UseGroupByColumnProps<D>,\n UseResizeColumnsColumnProps<D>,\n UseSortByColumnProps<D> {\n Cell?: Renderer<HvCellProps<D>>;\n columns: Array<HvColumnInstance<D>>;\n parent: HvColumnInstance<D>; // not documented\n placeholderOf?: HvColumnInstance;\n getHeaderProps: (propGetter?: HeaderPropGetter<D>) => HvUseTableHeaderProps;\n getFooterProps: (propGetter?: FooterPropGetter<D>) => HvUseTableFooterProps;\n}\n\nexport type HvColumn<D extends object = Record<string, unknown>> = Column<D>;\n\nexport interface HvRowInstance<D extends object = Record<string, unknown>>\n extends Row<D>,\n UseGroupByRowProps<D>,\n UseHvRowSelectionRowInstance,\n UseHvRowExpandRowInstance<D> {\n cells: Array<HvCellInstance<D>>;\n allCells: Array<HvCellInstance<D>>;\n getRowProps: (propGetter?: RowPropGetter<D>) => HvUseTableRowProps;\n index: number;\n original: D;\n id: string;\n subRows: Array<HvRowInstance<D>>;\n}\n\nexport interface HvCellInstance<\n D extends object = Record<string, unknown>,\n V = any\n> extends Cell<D, V>,\n UseGroupByCellProps<D> {\n column: HvColumnInstance<D>;\n row: HvRowInstance<D>;\n getCellProps: (propGetter?: CellPropGetter<D>) => HvUseTableCellProps;\n}\n// #endregion\n\n// #region PROPS\nexport interface HvUseTableProps\n extends TableProps,\n UseHvTableStickyTableProps {}\n\nexport interface HvUseTableHeaderProps\n extends TableHeaderProps,\n UseHvTableStylesTableCellProps,\n UseHvTableStickyColumnProps,\n UseHvHeaderGroupsColumnProps,\n UseHvResizeColumnProps,\n UseHvSortByColumnProps {}\nexport interface HvUseTableFooterProps\n extends TableFooterProps,\n UseHvTableStylesTableCellProps {}\n\nexport interface HvUseTableRowProps\n extends TableRowProps,\n UseHvTableStylesTableRowProps,\n UseHvRowSelectionTableRowProps,\n UseHvRowExpandTableRowProps {}\n\nexport interface HvUseTableCellProps\n extends TableCellProps,\n UseHvTableStylesTableCellProps,\n UseHvTableStickyCellProps,\n UseHvHeaderGroupsCellProps,\n UseHvResizeTableCellProps,\n UseHvSortByTableCellProps {}\n\n// #endregion\n\nexport type UseHvTableProps = <D extends object = Record<string, unknown>>(\n options: HvTableOptions<D>,\n ...plugins: Array<PluginHook<D>>\n) => HvTableInstance<D>;\n\nexport { PluginHook as HvTablePluginHook };\n\n// #endregion ##### TYPES #####\n\nconst toTitleCase = (str) => {\n return str\n .replace(/([^A-Z])([A-Z])/g, \"$1 $2\") // split cameCase\n .replace(/[_-]+/g, \" \") // split snake_case and lisp-case\n .toLowerCase()\n .replace(/(^\\w|\\b\\w)/g, (m) => m.toUpperCase()) // title case words\n .replace(/\\s+/g, \" \") // collapse repeated whitespace\n .trim(); // remove leading/trailing whitespace\n};\n\nconst useDefaultData = (data) =>\n useMemo(() => {\n return data || [];\n }, [data]);\n\nconst useDefaultColumns = (columns, data) =>\n useMemo(() => {\n if (columns != null) {\n return columns;\n }\n\n const uniqueKeys = Object.keys(Object.assign({}, ...data));\n return uniqueKeys\n .filter((key) => ![\"subRows\", \"subComponent\"].includes(key))\n .map((key) => ({\n accessor: key,\n Header: toTitleCase(key),\n }));\n }, [columns, data]);\n\nconst ensureCorePluginInstallation = (\n plugins,\n hvPluginName,\n corePluginToInstall\n) => {\n const indexOfCorePlugin = plugins.findIndex(\n (plugin) => plugin.pluginName === corePluginToInstall.pluginName\n );\n const indexOfHvPlugin = plugins.findIndex(\n (plugin) => plugin.pluginName === hvPluginName\n );\n\n if (\n indexOfHvPlugin !== -1 &&\n (indexOfCorePlugin === -1 || indexOfCorePlugin > indexOfHvPlugin)\n ) {\n if (indexOfCorePlugin > -1) {\n plugins.splice(indexOfCorePlugin, 1);\n }\n\n plugins.splice(indexOfHvPlugin, 0, corePluginToInstall);\n }\n};\n\nconst useInstanceHook = (instance) => {\n const { rowsById } = instance;\n\n Object.assign(instance, {\n initialRowsById: rowsById,\n });\n};\n\nconst useHvTableSetup = (hooks) => {\n hooks.useInstance.push(useInstanceHook);\n};\n\nuseHvTableSetup.pluginName = \"useHvTableSetup\";\n\nfunction useHvTable<D extends object = Record<string, unknown>>(\n props: { data?: D[] } & HvExtraProps,\n ...plugins: any\n) {\n const { data: dataProp, columns: columnsProp, ...others } = props;\n\n const data = useDefaultData(dataProp);\n const columns = useDefaultColumns(columnsProp, data);\n\n ensureCorePluginInstallation(plugins, \"useHvPagination\", usePagination);\n ensureCorePluginInstallation(plugins, \"useHvRowExpand\", useExpanded);\n ensureCorePluginInstallation(plugins, \"useHvSortBy\", useSortBy);\n ensureCorePluginInstallation(plugins, \"useHvResizeColumns\", useResizeColumns);\n\n const indexOfHvTableStylesPlugin = plugins.findIndex(\n (plugin) => plugin.pluginName === \"useHvTableStyles\"\n );\n if (indexOfHvTableStylesPlugin === -1) {\n plugins.push(useHvTableStyles);\n }\n\n // main hook call\n return useTable(\n {\n data,\n columns,\n ...others,\n },\n useHvTableSetup,\n ...plugins\n );\n}\n\nexport default useHvTable;\n"],"names":["toTitleCase","str","replace","toLowerCase","m","toUpperCase","trim","useDefaultData","data","useMemo","useDefaultColumns","columns","uniqueKeys","Object","keys","assign","filter","key","includes","map","accessor","Header","ensureCorePluginInstallation","plugins","hvPluginName","corePluginToInstall","indexOfCorePlugin","findIndex","plugin","pluginName","indexOfHvPlugin","splice","useInstanceHook","instance","rowsById","initialRowsById","useHvTableSetup","hooks","useInstance","push","useHvTable","props","dataProp","columnsProp","others","usePagination","useExpanded","useSortBy","useResizeColumns","indexOfHvTableStylesPlugin","useHvTableStyles","useTable"],"mappings":";;;;AAkXA,MAAMA,cAAeC,CAAQ,QAAA;AACpBA,SAAAA,IACJC,QAAQ,oBAAoB,OAAO,EACnCA,QAAQ,UAAU,GAAG,EACrBC,cACAD,QAAQ,eAAgBE,CAAAA,MAAMA,EAAEC,YAAa,CAAA,EAC7CH,QAAQ,QAAQ,GAAG,EACnBI;AACL;AAEA,MAAMC,iBAAkBC,CACtBC,SAAAA,QAAQ,MAAM;AACZ,SAAOD,QAAQ,CAAA;AACjB,GAAG,CAACA,IAAI,CAAC;AAEX,MAAME,oBAAoBA,CAACC,SAASH,SAClCC,QAAQ,MAAM;AACZ,MAAIE,WAAW,MAAM;AACZA,WAAAA;AAAAA,EACT;AAEMC,QAAAA,aAAaC,OAAOC,KAAKD,OAAOE,OAAO,CAAC,GAAG,GAAGP,IAAI,CAAC;AACzD,SAAOI,WACJI,OAAQC,CAAQ,QAAA,CAAC,CAAC,WAAW,cAAc,EAAEC,SAASD,GAAG,CAAC,EAC1DE,IAAKF,CAAS,SAAA;AAAA,IACbG,UAAUH;AAAAA,IACVI,QAAQrB,YAAYiB,GAAG;AAAA,EACvB,EAAA;AACN,GAAG,CAACN,SAASH,IAAI,CAAC;AAEpB,MAAMc,+BAA+BA,CACnCC,SACAC,cACAC,wBACG;AACH,QAAMC,oBAAoBH,QAAQI,UAC/BC,YAAWA,OAAOC,eAAeJ,oBAAoBI,UAAU;AAElE,QAAMC,kBAAkBP,QAAQI,UAC7BC,CAAWA,WAAAA,OAAOC,eAAeL,YAAY;AAGhD,MACEM,oBAAoB,OACnBJ,sBAAsB,MAAMA,oBAAoBI,kBACjD;AACA,QAAIJ,oBAAoB,IAAI;AAClBK,cAAAA,OAAOL,mBAAmB,CAAC;AAAA,IACrC;AAEQK,YAAAA,OAAOD,iBAAiB,GAAGL,mBAAmB;AAAA,EACxD;AACF;AAEA,MAAMO,kBAAmBC,CAAa,aAAA;AAC9B,QAAA;AAAA,IAAEC;AAAAA,EAAaD,IAAAA;AAErBpB,SAAOE,OAAOkB,UAAU;AAAA,IACtBE,iBAAiBD;AAAAA,EAAAA,CAClB;AACH;AAEA,MAAME,kBAAmBC,CAAU,UAAA;AAC3BC,QAAAA,YAAYC,KAAKP,eAAe;AACxC;AAEAI,gBAAgBP,aAAa;AAE7B,SAASW,WACPC,UACGlB,SACH;AACM,QAAA;AAAA,IAAEf,MAAMkC;AAAAA,IAAU/B,SAASgC;AAAAA,IAAa,GAAGC;AAAAA,EAAWH,IAAAA;AAEtDjC,QAAAA,OAAOD,eAAemC,QAAQ;AAC9B/B,QAAAA,UAAUD,kBAAkBiC,aAAanC,IAAI;AAEtBe,+BAAAA,SAAS,mBAAmBsB,aAAa;AACzCtB,+BAAAA,SAAS,kBAAkBuB,WAAW;AACtCvB,+BAAAA,SAAS,eAAewB,SAAS;AACjCxB,+BAAAA,SAAS,sBAAsByB,gBAAgB;AAE5E,QAAMC,6BAA6B1B,QAAQI,UACxCC,CAAWA,WAAAA,OAAOC,eAAe,kBAAkB;AAEtD,MAAIoB,+BAA+B,IAAI;AACrC1B,YAAQgB,KAAKW,gBAAgB;AAAA,EAC/B;AAGA,SAAOC,SACL;AAAA,IACE3C;AAAAA,IACAG;AAAAA,IACA,GAAGiC;AAAAA,EAAAA,GAELR,iBACA,GAAGb,OAAO;AAEd;"}
@@ -1,6 +1,6 @@
1
- import { jsx } from "@emotion/react/jsx-runtime";
2
1
  import { useMemo } from "react";
3
2
  import dayjs from "dayjs";
3
+ import { jsx } from "@emotion/react/jsx-runtime";
4
4
  import { HvOverflowTooltip } from "../../../OverflowTooltip/OverflowTooltip.js";
5
5
  const HvDateColumnCell = ({
6
6
  date,
@@ -9,9 +9,11 @@ const HvDateColumnCell = ({
9
9
  const formattedDate = useMemo(() => {
10
10
  if (date)
11
11
  return dayjs(date).format(dateFormat !== "ISO8601" ? dateFormat : void 0);
12
- return "\u2014";
12
+ return "";
13
13
  }, [date, dateFormat]);
14
- return /* @__PURE__ */ jsx(HvOverflowTooltip, { data: formattedDate });
14
+ return /* @__PURE__ */ jsx(HvOverflowTooltip, {
15
+ data: formattedDate
16
+ });
15
17
  };
16
18
  const DateColumnCell = HvDateColumnCell;
17
19
  export {
@@ -1 +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"],"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;AAEd,SAAA,oBAAC,mBAAkB,EAAA,MAAMC,cAAiB,CAAA;AACnD;AAEA,MAAA,iBAAeH;"}
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;"}
@@ -7,9 +7,16 @@ const HvDateColumnCell = ({
7
7
  placeholder,
8
8
  dropdownProps
9
9
  }) => {
10
- return /* @__PURE__ */ jsx(HvDropdown, { onChange: (item) => {
11
- onChange == null ? void 0 : onChange(item);
12
- }, placeholder, disabled, values, disablePortal: true, ...dropdownProps });
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
+ });
13
20
  };
14
21
  const DropdownColumnCell = HvDateColumnCell;
15
22
  export {
@@ -1 +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","item"],"mappings":";;AAeA,MAAMA,mBAAmBA,CAAC;AAAA,EACxBC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AACwB,MAA0B;AAEhD,SAAA,oBAAC,YACC,EAAA,UAAWC,CAAS,SAAA;AAClBH,yCAAWG;AAAAA,EAAoB,GAEjC,aACA,UACA,QACA,eAAa,MACb,GAAID,cACJ,CAAA;AAEN;AAEA,MAAA,qBAAeL;"}
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;"}
@@ -1,5 +1,5 @@
1
- import { jsx } from "@emotion/react/jsx-runtime";
2
1
  import { StyledRoot, StyledContainer, StyledLinearProgress } from "./ProgressColumnCell.styles.js";
2
+ import { jsx } from "@emotion/react/jsx-runtime";
3
3
  const normalizeProgressBar = (value, max) => {
4
4
  return max > 0 ? Math.floor(value * 100 / max) : 0;
5
5
  };
@@ -9,7 +9,15 @@ const HvProgressColumnCell = ({
9
9
  color = "primary"
10
10
  }) => {
11
11
  const percentage = normalizeProgressBar(partial, total);
12
- return /* @__PURE__ */ jsx(StyledRoot, { children: /* @__PURE__ */ jsx(StyledContainer, { children: /* @__PURE__ */ jsx(StyledLinearProgress, { color, variant: "determinate", value: percentage }) }) });
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
+ });
13
21
  };
14
22
  const ProgressColumnCell = HvProgressColumnCell;
15
23
  export {
@@ -1 +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"],"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,SACG,oBAAA,YAAA,EACC,UAAC,oBAAA,iBAAA,EACC,UAAC,oBAAA,sBAAA,EACC,OACA,SAAQ,eACR,OAAOE,YAAW,EAAA,CAEtB,EACF,CAAA;AAEJ;AAEA,MAAA,qBAAeJ;"}
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;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ProgressColumnCell.styles.js","sources":["../../../../../../src/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.styles.tsx"],"sourcesContent":["import styled from \"@emotion/styled\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\nimport {\n LinearProgress as MuiLinearProgress,\n linearProgressClasses as MuiLinearProgressClasses,\n} from \"@mui/material\";\n\nexport const StyledRoot = styled(\"div\")({\n display: \"flex\",\n width: \"100%\",\n});\n\nexport const StyledContainer = styled(\"div\")({\n width: \"100%\",\n margin: \"auto\",\n});\n\nexport const StyledLinearProgress = styled(MuiLinearProgress)({\n height: 8,\n\n [`&.${MuiLinearProgressClasses.root}`]: {\n backgroundColor: theme.colors.atmo4,\n },\n\n [`& .${MuiLinearProgressClasses.colorPrimary}`]: {\n backgroundColor: theme.colors.atmo4,\n },\n\n [`& .${MuiLinearProgressClasses.barColorPrimary}`]: {\n backgroundColor: theme.colors.sema1,\n },\n\n [`& .${MuiLinearProgressClasses.barColorSecondary}`]: {\n backgroundColor: theme.colors.acce1,\n },\n});\n"],"names":["StyledRoot","process","env","NODE_ENV","target","label","name","styles","map","toString","_EMOTION_STRINGIFIED_CSS_ERROR__","StyledContainer","StyledLinearProgress","MuiLinearProgress","height","MuiLinearProgressClasses","root","backgroundColor","theme","colors","atmo4","colorPrimary","barColorPrimary","sema1","barColorSecondary","acce1"],"mappings":";;;;;;AAOO,MAAMA,aAAoB,wBAAA,OAAKC,QAAAC,IAAAC,aAAA,eAAA;AAAA,EAAAC,QAAA;AAAA,IAAA;AAAA,EAAAA,QAAA;AAAA,EAAAC,OAAA;AAAA,CAAA,EAACJ,QAAAC,IAAAC,aAAA,eAAA;AAAA,EAAAG,MAAA;AAAA,EAAAC,QAAA;AAAA,IAAA;AAAA,EAAAD,MAAA;AAAA,EAAAC,QAAA;AAAA,EAAAC,KAAA;AAAA,EAAAC,UAAAC;AAAA,CAGrC;AAEK,MAAMC,kBAAyB,wBAAA,OAAKV,QAAAC,IAAAC,aAAA,eAAA;AAAA,EAAAC,QAAA;AAAA,IAAA;AAAA,EAAAA,QAAA;AAAA,EAAAC,OAAA;AAAA,CAAA,EAACJ,QAAAC,IAAAC,aAAA,eAAA;AAAA,EAAAG,MAAA;AAAA,EAAAC,QAAA;AAAA,IAAA;AAAA,EAAAD,MAAA;AAAA,EAAAC,QAAA;AAAA,EAAAC,KAAA;AAAA,EAAAC,UAAAC;AAAA,CAG1C;AAEK,MAAME,uBAA8BC,wBAAAA,gBAAiBZ,QAAAC,IAAAC,aAAA,eAAA;AAAA,EAAAC,QAAA;AAAA,IAAA;AAAA,EAAAA,QAAA;AAAA,EAAAC,OAAA;AAAA,CAAA,EAAE;AAAA,EAC5DS,QAAQ;AAAA,EAER,CAAE,KAAIC,sBAAyBC,SAAS;AAAA,IACtCC,iBAAiBC,MAAMC,OAAOC;AAAAA,EAChC;AAAA,EAEA,CAAE,MAAKL,sBAAyBM,iBAAiB;AAAA,IAC/CJ,iBAAiBC,MAAMC,OAAOC;AAAAA,EAChC;AAAA,EAEA,CAAE,MAAKL,sBAAyBO,oBAAoB;AAAA,IAClDL,iBAAiBC,MAAMC,OAAOI;AAAAA,EAChC;AAAA,EAEA,CAAE,MAAKR,sBAAyBS,sBAAsB;AAAA,IACpDP,iBAAiBC,MAAMC,OAAOM;AAAAA,EAChC;AACF,GAACxB,QAAAC,IAAAC,aAAC,eAAA,KAAA,qwDAAA;"}
1
+ {"version":3,"file":"ProgressColumnCell.styles.js","sources":["../../../../../../src/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.styles.tsx"],"sourcesContent":["import styled from \"@emotion/styled\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\nimport {\n LinearProgress as MuiLinearProgress,\n linearProgressClasses as MuiLinearProgressClasses,\n} from \"@mui/material\";\n\nexport const StyledRoot = styled(\"div\")({\n display: \"flex\",\n width: \"100%\",\n});\n\nexport const StyledContainer = styled(\"div\")({\n width: \"100%\",\n margin: \"auto\",\n});\n\nexport const StyledLinearProgress = styled(MuiLinearProgress)({\n height: 8,\n\n [`&.${MuiLinearProgressClasses.root}`]: {\n backgroundColor: theme.colors.atmo4,\n },\n\n [`& .${MuiLinearProgressClasses.colorPrimary}`]: {\n backgroundColor: theme.colors.atmo4,\n },\n\n [`& .${MuiLinearProgressClasses.barColorPrimary}`]: {\n backgroundColor: theme.colors.sema1,\n },\n\n [`& .${MuiLinearProgressClasses.barColorSecondary}`]: {\n backgroundColor: theme.colors.acce1,\n },\n});\n"],"names":["StyledRoot","process","env","NODE_ENV","target","label","name","styles","map","toString","_EMOTION_STRINGIFIED_CSS_ERROR__","StyledContainer","StyledLinearProgress","MuiLinearProgress","height","MuiLinearProgressClasses","root","backgroundColor","theme","colors","atmo4","colorPrimary","barColorPrimary","sema1","barColorSecondary","acce1"],"mappings":";;;;;;AAOO,MAAMA,aAAoB,wBAAA,OAAKC,QAAAC,IAAAC,aAAA,eAAA;AAAA,EAAAC,QAAA;AAAA,IAAA;AAAA,EAAAA,QAAA;AAAA,EAAAC,OAAA;AAAA,CAAA,EAACJ,QAAAC,IAAAC,aAAA,eAAA;AAAA,EAAAG,MAAA;AAAA,EAAAC,QAAA;AAAA,IAAA;AAAA,EAAAD,MAAA;AAAA,EAAAC,QAAA;AAAA,EAAAC,KAAA;AAAA,EAAAC,UAAAC;AAAA,CAGrC;AAEK,MAAMC,kBAAyB,wBAAA,OAAKV,QAAAC,IAAAC,aAAA,eAAA;AAAA,EAAAC,QAAA;AAAA,IAAA;AAAA,EAAAA,QAAA;AAAA,EAAAC,OAAA;AAAA,CAAA,EAACJ,QAAAC,IAAAC,aAAA,eAAA;AAAA,EAAAG,MAAA;AAAA,EAAAC,QAAA;AAAA,IAAA;AAAA,EAAAD,MAAA;AAAA,EAAAC,QAAA;AAAA,EAAAC,KAAA;AAAA,EAAAC,UAAAC;AAAA,CAG1C;AAEK,MAAME,uBAA8BC,wBAAAA,gBAAiBZ,QAAAC,IAAAC,aAAA,eAAA;AAAA,EAAAC,QAAA;AAAA,IAAA;AAAA,EAAAA,QAAA;AAAA,EAAAC,OAAA;AAAA,CAAA,EAAE;AAAA,EAC5DS,QAAQ;AAAA,EAER,CAAE,KAAIC,sBAAyBC,MAAM,GAAG;AAAA,IACtCC,iBAAiBC,MAAMC,OAAOC;AAAAA,EAChC;AAAA,EAEA,CAAE,MAAKL,sBAAyBM,cAAc,GAAG;AAAA,IAC/CJ,iBAAiBC,MAAMC,OAAOC;AAAAA,EAChC;AAAA,EAEA,CAAE,MAAKL,sBAAyBO,iBAAiB,GAAG;AAAA,IAClDL,iBAAiBC,MAAMC,OAAOI;AAAAA,EAChC;AAAA,EAEA,CAAE,MAAKR,sBAAyBS,mBAAmB,GAAG;AAAA,IACpDP,iBAAiBC,MAAMC,OAAOM;AAAAA,EAChC;AACF,GAACxB,QAAAC,IAAAC,aAAC,eAAA,KAAA,qwDAAA;"}
@@ -1,5 +1,5 @@
1
- import { jsxs, Fragment, jsx } from "@emotion/react/jsx-runtime";
2
1
  import { StyledNo, StyledYes } from "./SwitchColumnCell.styles.js";
2
+ import { jsxs, Fragment, jsx } from "@emotion/react/jsx-runtime";
3
3
  import { HvBaseSwitch } from "../../../BaseSwitch/BaseSwitch.js";
4
4
  const HvSwitchColumnCell = ({
5
5
  checked,
@@ -9,11 +9,22 @@ const HvSwitchColumnCell = ({
9
9
  trueLabel,
10
10
  switchProps
11
11
  }) => {
12
- return /* @__PURE__ */ jsxs(Fragment, { children: [
13
- falseLabel != null && /* @__PURE__ */ jsx(StyledNo, { "aria-hidden": "true", variant: "body", children: falseLabel }),
14
- /* @__PURE__ */ jsx(HvBaseSwitch, { "aria-label": switchLabel, checked, value, ...switchProps }),
15
- trueLabel != null && /* @__PURE__ */ jsx(StyledYes, { "aria-hidden": "true", variant: "body", children: trueLabel })
16
- ] });
12
+ return /* @__PURE__ */ jsxs(Fragment, {
13
+ children: [falseLabel != null && /* @__PURE__ */ jsx(StyledNo, {
14
+ "aria-hidden": "true",
15
+ variant: "body",
16
+ children: falseLabel
17
+ }), /* @__PURE__ */ jsx(HvBaseSwitch, {
18
+ "aria-label": switchLabel,
19
+ checked,
20
+ value,
21
+ ...switchProps
22
+ }), trueLabel != null && /* @__PURE__ */ jsx(StyledYes, {
23
+ "aria-hidden": "true",
24
+ variant: "body",
25
+ children: trueLabel
26
+ })]
27
+ });
17
28
  };
18
29
  const SwitchColumnCell = HvSwitchColumnCell;
19
30
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"SwitchColumnCell.js","sources":["../../../../../../src/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.tsx"],"sourcesContent":["import { HvBaseSwitch, HvBaseSwitchProps } from \"components\";\nimport { StyledYes, StyledNo } from \"./SwitchColumnCell.styles\";\n\nexport interface HvSwitchColumnCellProp {\n /** Whether the switch is checked or not. */\n checked: boolean;\n /** The switch label. */\n value: number | string | undefined;\n /** The value of the switch. */\n switchLabel: string;\n /** The right switch label. */\n falseLabel?: string;\n /** The left switch label. */\n trueLabel?: string;\n /** Extra props to be passed to the switch. */\n switchProps?: HvBaseSwitchProps;\n}\n\nconst HvSwitchColumnCell = ({\n checked,\n value,\n switchLabel,\n falseLabel,\n trueLabel,\n switchProps,\n}: HvSwitchColumnCellProp): JSX.Element | null => {\n return (\n <>\n {falseLabel != null && (\n <StyledNo aria-hidden=\"true\" variant=\"body\">\n {falseLabel}\n </StyledNo>\n )}\n <HvBaseSwitch\n aria-label={switchLabel}\n checked={checked}\n value={value}\n {...switchProps}\n />\n {trueLabel != null && (\n <StyledYes aria-hidden=\"true\" variant=\"body\">\n {trueLabel}\n </StyledYes>\n )}\n </>\n );\n};\n\nexport default HvSwitchColumnCell;\n"],"names":["HvSwitchColumnCell","checked","value","switchLabel","falseLabel","trueLabel","switchProps"],"mappings":";;;AAkBA,MAAMA,qBAAqBA,CAAC;AAAA,EAC1BC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AACsB,MAA0B;AAChD,SAEKF,qBAAAA,UAAAA,EAAAA,UAAAA;AAAAA,IAAAA,cAAc,QACZ,oBAAA,UAAA,EAAS,eAAY,QAAO,SAAQ,QAClCA,UACH,WAAA,CAAA;AAAA,wBAED,cACC,EAAA,cAAYD,aACZ,SACA,OACIG,GAAAA,aAAY;AAAA,IAEjBD,aAAa,QACX,oBAAA,WAAA,EAAU,eAAY,QAAO,SAAQ,QACnCA,UACH,UAAA,CAAA;AAAA,EAEJ,EAAA,CAAA;AAEJ;AAEA,MAAA,mBAAeL;"}
1
+ {"version":3,"file":"SwitchColumnCell.js","sources":["../../../../../../src/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.tsx"],"sourcesContent":["import { HvBaseSwitch, HvBaseSwitchProps } from \"components\";\nimport { StyledYes, StyledNo } from \"./SwitchColumnCell.styles\";\n\nexport interface HvSwitchColumnCellProp {\n /** Whether the switch is checked or not. */\n checked: boolean;\n /** The switch label. */\n value: number | string | undefined;\n /** The value of the switch. */\n switchLabel: string;\n /** The right switch label. */\n falseLabel?: string;\n /** The left switch label. */\n trueLabel?: string;\n /** Extra props to be passed to the switch. */\n switchProps?: HvBaseSwitchProps;\n}\n\nconst HvSwitchColumnCell = ({\n checked,\n value,\n switchLabel,\n falseLabel,\n trueLabel,\n switchProps,\n}: HvSwitchColumnCellProp): JSX.Element | null => {\n return (\n <>\n {falseLabel != null && (\n <StyledNo aria-hidden=\"true\" variant=\"body\">\n {falseLabel}\n </StyledNo>\n )}\n <HvBaseSwitch\n aria-label={switchLabel}\n checked={checked}\n value={value}\n {...switchProps}\n />\n {trueLabel != null && (\n <StyledYes aria-hidden=\"true\" variant=\"body\">\n {trueLabel}\n </StyledYes>\n )}\n </>\n );\n};\n\nexport default HvSwitchColumnCell;\n"],"names":["HvSwitchColumnCell","checked","value","switchLabel","falseLabel","trueLabel","switchProps","_Fragment","children","StyledNo","variant","_jsx","HvBaseSwitch","StyledYes"],"mappings":";;;AAkBA,MAAMA,qBAAqBA,CAAC;AAAA,EAC1BC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AACsB,MAA0B;AAChD,8BACEC,UAAA;AAAA,IAAAC,WACGJ,cAAc,4BACZK,UAAQ;AAAA,MAAC,eAAY;AAAA,MAAOC,SAAQ;AAAA,MAAMF,UACxCJ;AAAAA,IAAAA,CAEJ,GACDO,oBAACC,cAAY;AAAA,MACX,cAAYT;AAAAA,MACZF;AAAAA,MACAC;AAAAA,MAAa,GACTI;AAAAA,IAAW,CAAA,GAEhBD,aAAa,4BACXQ,WAAS;AAAA,MAAC,eAAY;AAAA,MAAOH,SAAQ;AAAA,MAAMF,UACzCH;AAAAA,IAAAA,CAEJ,CAAA;AAAA,EAAA,CACA;AAEP;AAEA,MAAA,mBAAeL;"}