@hitachivantara/uikit-react-core 5.22.0 → 5.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (446) hide show
  1. package/dist/cjs/components/Accordion/Accordion.cjs +17 -15
  2. package/dist/cjs/components/Accordion/Accordion.cjs.map +1 -1
  3. package/dist/cjs/components/ActionBar/ActionBar.cjs +2 -1
  4. package/dist/cjs/components/ActionBar/ActionBar.cjs.map +1 -1
  5. package/dist/cjs/components/ActionsGeneric/ActionsGeneric.cjs +13 -11
  6. package/dist/cjs/components/ActionsGeneric/ActionsGeneric.cjs.map +1 -1
  7. package/dist/cjs/components/AppSwitcher/AppSwitcher.cjs +16 -14
  8. package/dist/cjs/components/AppSwitcher/AppSwitcher.cjs.map +1 -1
  9. package/dist/cjs/components/Avatar/Avatar.cjs +41 -35
  10. package/dist/cjs/components/Avatar/Avatar.cjs.map +1 -1
  11. package/dist/cjs/components/Avatar/Avatar.styles.cjs +92 -134
  12. package/dist/cjs/components/Avatar/Avatar.styles.cjs.map +1 -1
  13. package/dist/cjs/components/Badge/Badge.cjs +20 -16
  14. package/dist/cjs/components/Badge/Badge.cjs.map +1 -1
  15. package/dist/cjs/components/Badge/Badge.styles.cjs +23 -69
  16. package/dist/cjs/components/Badge/Badge.styles.cjs.map +1 -1
  17. package/dist/cjs/components/Banner/Banner.cjs +22 -20
  18. package/dist/cjs/components/Banner/Banner.cjs.map +1 -1
  19. package/dist/cjs/components/Banner/BannerContent/BannerContent.cjs +1 -1
  20. package/dist/cjs/components/Banner/BannerContent/BannerContent.cjs.map +1 -1
  21. package/dist/cjs/components/BaseCheckBox/BaseCheckBox.cjs +21 -19
  22. package/dist/cjs/components/BaseCheckBox/BaseCheckBox.cjs.map +1 -1
  23. package/dist/cjs/components/BaseDropdown/BaseDropdown.cjs +26 -24
  24. package/dist/cjs/components/BaseDropdown/BaseDropdown.cjs.map +1 -1
  25. package/dist/cjs/components/BaseInput/BaseInput.cjs +23 -21
  26. package/dist/cjs/components/BaseInput/BaseInput.cjs.map +1 -1
  27. package/dist/cjs/components/BaseRadio/BaseRadio.cjs +2 -1
  28. package/dist/cjs/components/BaseRadio/BaseRadio.cjs.map +1 -1
  29. package/dist/cjs/components/BaseSwitch/BaseSwitch.cjs +2 -1
  30. package/dist/cjs/components/BaseSwitch/BaseSwitch.cjs.map +1 -1
  31. package/dist/cjs/components/Box/Box.cjs +9 -8
  32. package/dist/cjs/components/Box/Box.cjs.map +1 -1
  33. package/dist/cjs/components/BreadCrumb/BreadCrumb.cjs +14 -12
  34. package/dist/cjs/components/BreadCrumb/BreadCrumb.cjs.map +1 -1
  35. package/dist/cjs/components/BulkActions/BulkActions.cjs +22 -20
  36. package/dist/cjs/components/BulkActions/BulkActions.cjs.map +1 -1
  37. package/dist/cjs/components/Button/Button.cjs +4 -3
  38. package/dist/cjs/components/Button/Button.cjs.map +1 -1
  39. package/dist/cjs/components/Calendar/Calendar.cjs +20 -18
  40. package/dist/cjs/components/Calendar/Calendar.cjs.map +1 -1
  41. package/dist/cjs/components/Card/Card.cjs +13 -11
  42. package/dist/cjs/components/Card/Card.cjs.map +1 -1
  43. package/dist/cjs/components/Carousel/Carousel.cjs +2 -2
  44. package/dist/cjs/components/Carousel/Carousel.cjs.map +1 -1
  45. package/dist/cjs/components/Carousel/CarouselControls.cjs +2 -3
  46. package/dist/cjs/components/Carousel/CarouselControls.cjs.map +1 -1
  47. package/dist/cjs/components/Carousel/CarouselSlide/CarouselSlide.cjs +1 -1
  48. package/dist/cjs/components/Carousel/CarouselSlide/CarouselSlide.cjs.map +1 -1
  49. package/dist/cjs/components/CheckBox/CheckBox.cjs +29 -27
  50. package/dist/cjs/components/CheckBox/CheckBox.cjs.map +1 -1
  51. package/dist/cjs/components/CheckBoxGroup/CheckBoxGroup.cjs +28 -26
  52. package/dist/cjs/components/CheckBoxGroup/CheckBoxGroup.cjs.map +1 -1
  53. package/dist/cjs/components/ColorPicker/ColorPicker.cjs +34 -32
  54. package/dist/cjs/components/ColorPicker/ColorPicker.cjs.map +1 -1
  55. package/dist/cjs/components/Container/Container.cjs +9 -7
  56. package/dist/cjs/components/Container/Container.cjs.map +1 -1
  57. package/dist/cjs/components/Controls/Controls.cjs +14 -12
  58. package/dist/cjs/components/Controls/Controls.cjs.map +1 -1
  59. package/dist/cjs/components/DatePicker/DatePicker.cjs +39 -37
  60. package/dist/cjs/components/DatePicker/DatePicker.cjs.map +1 -1
  61. package/dist/cjs/components/Dialog/Actions/Actions.cjs +9 -7
  62. package/dist/cjs/components/Dialog/Actions/Actions.cjs.map +1 -1
  63. package/dist/cjs/components/Dialog/Content/Content.cjs +8 -6
  64. package/dist/cjs/components/Dialog/Content/Content.cjs.map +1 -1
  65. package/dist/cjs/components/Dialog/Dialog.cjs +16 -14
  66. package/dist/cjs/components/Dialog/Dialog.cjs.map +1 -1
  67. package/dist/cjs/components/Dialog/Title/Title.cjs +11 -9
  68. package/dist/cjs/components/Dialog/Title/Title.cjs.map +1 -1
  69. package/dist/cjs/components/DotPagination/DotPagination.cjs +14 -12
  70. package/dist/cjs/components/DotPagination/DotPagination.cjs.map +1 -1
  71. package/dist/cjs/components/Drawer/Drawer.cjs +13 -11
  72. package/dist/cjs/components/Drawer/Drawer.cjs.map +1 -1
  73. package/dist/cjs/components/DropDownMenu/DropDownMenu.cjs +20 -17
  74. package/dist/cjs/components/DropDownMenu/DropDownMenu.cjs.map +1 -1
  75. package/dist/cjs/components/Dropdown/Dropdown.cjs +2 -1
  76. package/dist/cjs/components/Dropdown/Dropdown.cjs.map +1 -1
  77. package/dist/cjs/components/EmptyState/EmptyState.cjs +2 -1
  78. package/dist/cjs/components/EmptyState/EmptyState.cjs.map +1 -1
  79. package/dist/cjs/components/FileUploader/File/File.cjs +0 -1
  80. package/dist/cjs/components/FileUploader/File/File.cjs.map +1 -1
  81. package/dist/cjs/components/FileUploader/FileUploader.cjs +17 -15
  82. package/dist/cjs/components/FileUploader/FileUploader.cjs.map +1 -1
  83. package/dist/cjs/components/FileUploader/Preview/Preview.cjs +0 -1
  84. package/dist/cjs/components/FileUploader/Preview/Preview.cjs.map +1 -1
  85. package/dist/cjs/components/FilterGroup/FilterGroup.cjs +30 -28
  86. package/dist/cjs/components/FilterGroup/FilterGroup.cjs.map +1 -1
  87. package/dist/cjs/components/FilterGroup/FilterGroupContext.cjs +8 -6
  88. package/dist/cjs/components/FilterGroup/FilterGroupContext.cjs.map +1 -1
  89. package/dist/cjs/components/Footer/Footer.cjs +2 -1
  90. package/dist/cjs/components/Footer/Footer.cjs.map +1 -1
  91. package/dist/cjs/components/Forms/CharCounter/CharCounter.cjs +13 -11
  92. package/dist/cjs/components/Forms/CharCounter/CharCounter.cjs.map +1 -1
  93. package/dist/cjs/components/Forms/FormElement/FormElement.cjs +15 -13
  94. package/dist/cjs/components/Forms/FormElement/FormElement.cjs.map +1 -1
  95. package/dist/cjs/components/Forms/InfoMessage/InfoMessage.cjs +11 -9
  96. package/dist/cjs/components/Forms/InfoMessage/InfoMessage.cjs.map +1 -1
  97. package/dist/cjs/components/Forms/Label/Label.cjs +13 -11
  98. package/dist/cjs/components/Forms/Label/Label.cjs.map +1 -1
  99. package/dist/cjs/components/Forms/WarningText/WarningText.cjs +16 -14
  100. package/dist/cjs/components/Forms/WarningText/WarningText.cjs.map +1 -1
  101. package/dist/cjs/components/GlobalActions/GlobalActions.cjs +13 -11
  102. package/dist/cjs/components/GlobalActions/GlobalActions.cjs.map +1 -1
  103. package/dist/cjs/components/Grid/Grid.cjs +10 -8
  104. package/dist/cjs/components/Grid/Grid.cjs.map +1 -1
  105. package/dist/cjs/components/Header/Actions/Actions.cjs +8 -6
  106. package/dist/cjs/components/Header/Actions/Actions.cjs.map +1 -1
  107. package/dist/cjs/components/Header/Brand/Brand.cjs +9 -7
  108. package/dist/cjs/components/Header/Brand/Brand.cjs.map +1 -1
  109. package/dist/cjs/components/Header/Header.cjs +2 -1
  110. package/dist/cjs/components/Header/Header.cjs.map +1 -1
  111. package/dist/cjs/components/Header/Navigation/Navigation.cjs +11 -9
  112. package/dist/cjs/components/Header/Navigation/Navigation.cjs.map +1 -1
  113. package/dist/cjs/components/InlineEditor/InlineEditor.cjs +18 -16
  114. package/dist/cjs/components/InlineEditor/InlineEditor.cjs.map +1 -1
  115. package/dist/cjs/components/Input/Input.cjs +2 -1
  116. package/dist/cjs/components/Input/Input.cjs.map +1 -1
  117. package/dist/cjs/components/Kpi/Kpi.cjs +13 -11
  118. package/dist/cjs/components/Kpi/Kpi.cjs.map +1 -1
  119. package/dist/cjs/components/Link/Link.cjs +11 -9
  120. package/dist/cjs/components/Link/Link.cjs.map +1 -1
  121. package/dist/cjs/components/List/List.cjs +21 -19
  122. package/dist/cjs/components/List/List.cjs.map +1 -1
  123. package/dist/cjs/components/ListContainer/ListContainer.cjs +12 -10
  124. package/dist/cjs/components/ListContainer/ListContainer.cjs.map +1 -1
  125. package/dist/cjs/components/ListContainer/ListItem/ListItem.cjs +20 -18
  126. package/dist/cjs/components/ListContainer/ListItem/ListItem.cjs.map +1 -1
  127. package/dist/cjs/components/Loading/Loading.cjs +2 -1
  128. package/dist/cjs/components/Loading/Loading.cjs.map +1 -1
  129. package/dist/cjs/components/Login/Login.cjs +10 -8
  130. package/dist/cjs/components/Login/Login.cjs.map +1 -1
  131. package/dist/cjs/components/MultiButton/MultiButton.cjs +11 -9
  132. package/dist/cjs/components/MultiButton/MultiButton.cjs.map +1 -1
  133. package/dist/cjs/components/OverflowTooltip/OverflowTooltip.cjs +12 -10
  134. package/dist/cjs/components/OverflowTooltip/OverflowTooltip.cjs.map +1 -1
  135. package/dist/cjs/components/Pagination/ButtonIconTooltip.cjs +0 -1
  136. package/dist/cjs/components/Pagination/ButtonIconTooltip.cjs.map +1 -1
  137. package/dist/cjs/components/Pagination/Pagination.cjs +22 -20
  138. package/dist/cjs/components/Pagination/Pagination.cjs.map +1 -1
  139. package/dist/cjs/components/Pagination/Select.cjs +1 -1
  140. package/dist/cjs/components/Pagination/Select.cjs.map +1 -1
  141. package/dist/cjs/components/Panel/Panel.cjs +9 -7
  142. package/dist/cjs/components/Panel/Panel.cjs.map +1 -1
  143. package/dist/cjs/components/ProgressBar/ProgressBar.cjs +2 -1
  144. package/dist/cjs/components/ProgressBar/ProgressBar.cjs.map +1 -1
  145. package/dist/cjs/components/QueryBuilder/QueryBuilder.cjs +13 -11
  146. package/dist/cjs/components/QueryBuilder/QueryBuilder.cjs.map +1 -1
  147. package/dist/cjs/components/QueryBuilder/Rule/Rule.cjs +0 -1
  148. package/dist/cjs/components/QueryBuilder/Rule/Rule.cjs.map +1 -1
  149. package/dist/cjs/components/QueryBuilder/RuleGroup/RuleGroup.cjs +1 -2
  150. package/dist/cjs/components/QueryBuilder/RuleGroup/RuleGroup.cjs.map +1 -1
  151. package/dist/cjs/components/Radio/Radio.cjs +2 -1
  152. package/dist/cjs/components/Radio/Radio.cjs.map +1 -1
  153. package/dist/cjs/components/RadioGroup/RadioGroup.cjs +25 -23
  154. package/dist/cjs/components/RadioGroup/RadioGroup.cjs.map +1 -1
  155. package/dist/cjs/components/ScrollTo/Horizontal/ScrollToHorizontal.cjs +18 -16
  156. package/dist/cjs/components/ScrollTo/Horizontal/ScrollToHorizontal.cjs.map +1 -1
  157. package/dist/cjs/components/ScrollTo/Vertical/ScrollToVertical.cjs +19 -17
  158. package/dist/cjs/components/ScrollTo/Vertical/ScrollToVertical.cjs.map +1 -1
  159. package/dist/cjs/components/SelectionList/SelectionList.cjs +27 -25
  160. package/dist/cjs/components/SelectionList/SelectionList.cjs.map +1 -1
  161. package/dist/cjs/components/SimpleGrid/SimpleGrid.cjs +9 -7
  162. package/dist/cjs/components/SimpleGrid/SimpleGrid.cjs.map +1 -1
  163. package/dist/cjs/components/Slider/Slider.cjs +37 -35
  164. package/dist/cjs/components/Slider/Slider.cjs.map +1 -1
  165. package/dist/cjs/components/Snackbar/Snackbar.cjs +1 -1
  166. package/dist/cjs/components/Snackbar/Snackbar.cjs.map +1 -1
  167. package/dist/cjs/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.cjs +1 -1
  168. package/dist/cjs/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.cjs.map +1 -1
  169. package/dist/cjs/components/Snackbar/SnackbarProvider/SnackbarProvider.cjs +2 -2
  170. package/dist/cjs/components/Snackbar/SnackbarProvider/SnackbarProvider.cjs.map +1 -1
  171. package/dist/cjs/components/Stack/Stack.cjs +13 -11
  172. package/dist/cjs/components/Stack/Stack.cjs.map +1 -1
  173. package/dist/cjs/components/Switch/Switch.cjs +2 -1
  174. package/dist/cjs/components/Switch/Switch.cjs.map +1 -1
  175. package/dist/cjs/components/Tab/Tab.cjs +8 -6
  176. package/dist/cjs/components/Tab/Tab.cjs.map +1 -1
  177. package/dist/cjs/components/Table/Table.cjs +12 -10
  178. package/dist/cjs/components/Table/Table.cjs.map +1 -1
  179. package/dist/cjs/components/Table/TableHeader/TableHeader.cjs +2 -3
  180. package/dist/cjs/components/Table/TableHeader/TableHeader.cjs.map +1 -1
  181. package/dist/cjs/components/Table/hooks/useRowExpand.cjs +0 -1
  182. package/dist/cjs/components/Table/hooks/useRowExpand.cjs.map +1 -1
  183. package/dist/cjs/components/Table/renderers/renderers.cjs +0 -1
  184. package/dist/cjs/components/Table/renderers/renderers.cjs.map +1 -1
  185. package/dist/cjs/components/Tabs/Tabs.cjs +6 -4
  186. package/dist/cjs/components/Tabs/Tabs.cjs.map +1 -1
  187. package/dist/cjs/components/Tag/Tag.cjs +18 -16
  188. package/dist/cjs/components/Tag/Tag.cjs.map +1 -1
  189. package/dist/cjs/components/TagsInput/TagsInput.cjs +39 -37
  190. package/dist/cjs/components/TagsInput/TagsInput.cjs.map +1 -1
  191. package/dist/cjs/components/TextArea/TextArea.cjs +2 -1
  192. package/dist/cjs/components/TextArea/TextArea.cjs.map +1 -1
  193. package/dist/cjs/components/TimeAgo/TimeAgo.cjs +14 -12
  194. package/dist/cjs/components/TimeAgo/TimeAgo.cjs.map +1 -1
  195. package/dist/cjs/components/TimePicker/TimePicker.cjs +3 -2
  196. package/dist/cjs/components/TimePicker/TimePicker.cjs.map +1 -1
  197. package/dist/cjs/components/ToggleButton/ToggleButton.cjs +2 -2
  198. package/dist/cjs/components/ToggleButton/ToggleButton.cjs.map +1 -1
  199. package/dist/cjs/components/Tooltip/Tooltip.cjs +2 -1
  200. package/dist/cjs/components/Tooltip/Tooltip.cjs.map +1 -1
  201. package/dist/cjs/components/Typography/Typography.cjs +2 -1
  202. package/dist/cjs/components/Typography/Typography.cjs.map +1 -1
  203. package/dist/cjs/components/VerticalNavigation/Header/Header.cjs +0 -2
  204. package/dist/cjs/components/VerticalNavigation/Header/Header.cjs.map +1 -1
  205. package/dist/cjs/components/VerticalNavigation/NavigationSlider/NavigationSlider.cjs +0 -1
  206. package/dist/cjs/components/VerticalNavigation/NavigationSlider/NavigationSlider.cjs.map +1 -1
  207. package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.cjs +1 -0
  208. package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.cjs.map +1 -1
  209. package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.styles.cjs +10 -6
  210. package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.styles.cjs.map +1 -1
  211. package/dist/cjs/components/VerticalNavigation/VerticalNavigation.cjs +12 -10
  212. package/dist/cjs/components/VerticalNavigation/VerticalNavigation.cjs.map +1 -1
  213. package/dist/cjs/hooks/useDefaultProps.cjs +41 -0
  214. package/dist/cjs/hooks/useDefaultProps.cjs.map +1 -0
  215. package/dist/cjs/index.cjs +9 -4
  216. package/dist/cjs/index.cjs.map +1 -1
  217. package/dist/cjs/utils/classes.cjs +1 -1
  218. package/dist/cjs/utils/classes.cjs.map +1 -1
  219. package/dist/esm/components/Accordion/Accordion.js +17 -15
  220. package/dist/esm/components/Accordion/Accordion.js.map +1 -1
  221. package/dist/esm/components/ActionBar/ActionBar.js +2 -1
  222. package/dist/esm/components/ActionBar/ActionBar.js.map +1 -1
  223. package/dist/esm/components/ActionsGeneric/ActionsGeneric.js +13 -11
  224. package/dist/esm/components/ActionsGeneric/ActionsGeneric.js.map +1 -1
  225. package/dist/esm/components/AppSwitcher/AppSwitcher.js +16 -14
  226. package/dist/esm/components/AppSwitcher/AppSwitcher.js.map +1 -1
  227. package/dist/esm/components/Avatar/Avatar.js +42 -37
  228. package/dist/esm/components/Avatar/Avatar.js.map +1 -1
  229. package/dist/esm/components/Avatar/Avatar.styles.js +92 -132
  230. package/dist/esm/components/Avatar/Avatar.styles.js.map +1 -1
  231. package/dist/esm/components/Badge/Badge.js +23 -18
  232. package/dist/esm/components/Badge/Badge.js.map +1 -1
  233. package/dist/esm/components/Badge/Badge.styles.js +23 -67
  234. package/dist/esm/components/Badge/Badge.styles.js.map +1 -1
  235. package/dist/esm/components/Banner/Banner.js +22 -20
  236. package/dist/esm/components/Banner/Banner.js.map +1 -1
  237. package/dist/esm/components/Banner/BannerContent/BannerContent.js +1 -1
  238. package/dist/esm/components/Banner/BannerContent/BannerContent.js.map +1 -1
  239. package/dist/esm/components/BaseCheckBox/BaseCheckBox.js +21 -19
  240. package/dist/esm/components/BaseCheckBox/BaseCheckBox.js.map +1 -1
  241. package/dist/esm/components/BaseDropdown/BaseDropdown.js +26 -24
  242. package/dist/esm/components/BaseDropdown/BaseDropdown.js.map +1 -1
  243. package/dist/esm/components/BaseInput/BaseInput.js +23 -21
  244. package/dist/esm/components/BaseInput/BaseInput.js.map +1 -1
  245. package/dist/esm/components/BaseRadio/BaseRadio.js +2 -1
  246. package/dist/esm/components/BaseRadio/BaseRadio.js.map +1 -1
  247. package/dist/esm/components/BaseSwitch/BaseSwitch.js +2 -1
  248. package/dist/esm/components/BaseSwitch/BaseSwitch.js.map +1 -1
  249. package/dist/esm/components/Box/Box.js +9 -8
  250. package/dist/esm/components/Box/Box.js.map +1 -1
  251. package/dist/esm/components/BreadCrumb/BreadCrumb.js +14 -12
  252. package/dist/esm/components/BreadCrumb/BreadCrumb.js.map +1 -1
  253. package/dist/esm/components/BulkActions/BulkActions.js +22 -20
  254. package/dist/esm/components/BulkActions/BulkActions.js.map +1 -1
  255. package/dist/esm/components/Button/Button.js +4 -3
  256. package/dist/esm/components/Button/Button.js.map +1 -1
  257. package/dist/esm/components/Calendar/Calendar.js +20 -18
  258. package/dist/esm/components/Calendar/Calendar.js.map +1 -1
  259. package/dist/esm/components/Card/Card.js +13 -11
  260. package/dist/esm/components/Card/Card.js.map +1 -1
  261. package/dist/esm/components/Carousel/Carousel.js +2 -2
  262. package/dist/esm/components/Carousel/Carousel.js.map +1 -1
  263. package/dist/esm/components/Carousel/CarouselControls.js +2 -3
  264. package/dist/esm/components/Carousel/CarouselControls.js.map +1 -1
  265. package/dist/esm/components/Carousel/CarouselSlide/CarouselSlide.js +1 -1
  266. package/dist/esm/components/Carousel/CarouselSlide/CarouselSlide.js.map +1 -1
  267. package/dist/esm/components/CheckBox/CheckBox.js +29 -27
  268. package/dist/esm/components/CheckBox/CheckBox.js.map +1 -1
  269. package/dist/esm/components/CheckBoxGroup/CheckBoxGroup.js +28 -26
  270. package/dist/esm/components/CheckBoxGroup/CheckBoxGroup.js.map +1 -1
  271. package/dist/esm/components/ColorPicker/ColorPicker.js +34 -32
  272. package/dist/esm/components/ColorPicker/ColorPicker.js.map +1 -1
  273. package/dist/esm/components/Container/Container.js +9 -7
  274. package/dist/esm/components/Container/Container.js.map +1 -1
  275. package/dist/esm/components/Controls/Controls.js +14 -12
  276. package/dist/esm/components/Controls/Controls.js.map +1 -1
  277. package/dist/esm/components/DatePicker/DatePicker.js +39 -37
  278. package/dist/esm/components/DatePicker/DatePicker.js.map +1 -1
  279. package/dist/esm/components/Dialog/Actions/Actions.js +9 -7
  280. package/dist/esm/components/Dialog/Actions/Actions.js.map +1 -1
  281. package/dist/esm/components/Dialog/Content/Content.js +8 -6
  282. package/dist/esm/components/Dialog/Content/Content.js.map +1 -1
  283. package/dist/esm/components/Dialog/Dialog.js +16 -14
  284. package/dist/esm/components/Dialog/Dialog.js.map +1 -1
  285. package/dist/esm/components/Dialog/Title/Title.js +11 -9
  286. package/dist/esm/components/Dialog/Title/Title.js.map +1 -1
  287. package/dist/esm/components/DotPagination/DotPagination.js +14 -12
  288. package/dist/esm/components/DotPagination/DotPagination.js.map +1 -1
  289. package/dist/esm/components/Drawer/Drawer.js +13 -11
  290. package/dist/esm/components/Drawer/Drawer.js.map +1 -1
  291. package/dist/esm/components/DropDownMenu/DropDownMenu.js +20 -17
  292. package/dist/esm/components/DropDownMenu/DropDownMenu.js.map +1 -1
  293. package/dist/esm/components/Dropdown/Dropdown.js +2 -1
  294. package/dist/esm/components/Dropdown/Dropdown.js.map +1 -1
  295. package/dist/esm/components/EmptyState/EmptyState.js +2 -1
  296. package/dist/esm/components/EmptyState/EmptyState.js.map +1 -1
  297. package/dist/esm/components/FileUploader/File/File.js +0 -1
  298. package/dist/esm/components/FileUploader/File/File.js.map +1 -1
  299. package/dist/esm/components/FileUploader/FileUploader.js +17 -15
  300. package/dist/esm/components/FileUploader/FileUploader.js.map +1 -1
  301. package/dist/esm/components/FileUploader/Preview/Preview.js +0 -1
  302. package/dist/esm/components/FileUploader/Preview/Preview.js.map +1 -1
  303. package/dist/esm/components/FilterGroup/FilterGroup.js +30 -28
  304. package/dist/esm/components/FilterGroup/FilterGroup.js.map +1 -1
  305. package/dist/esm/components/FilterGroup/FilterGroupContext.js +8 -6
  306. package/dist/esm/components/FilterGroup/FilterGroupContext.js.map +1 -1
  307. package/dist/esm/components/Footer/Footer.js +2 -1
  308. package/dist/esm/components/Footer/Footer.js.map +1 -1
  309. package/dist/esm/components/Forms/CharCounter/CharCounter.js +13 -11
  310. package/dist/esm/components/Forms/CharCounter/CharCounter.js.map +1 -1
  311. package/dist/esm/components/Forms/FormElement/FormElement.js +15 -13
  312. package/dist/esm/components/Forms/FormElement/FormElement.js.map +1 -1
  313. package/dist/esm/components/Forms/InfoMessage/InfoMessage.js +11 -9
  314. package/dist/esm/components/Forms/InfoMessage/InfoMessage.js.map +1 -1
  315. package/dist/esm/components/Forms/Label/Label.js +13 -11
  316. package/dist/esm/components/Forms/Label/Label.js.map +1 -1
  317. package/dist/esm/components/Forms/WarningText/WarningText.js +16 -14
  318. package/dist/esm/components/Forms/WarningText/WarningText.js.map +1 -1
  319. package/dist/esm/components/GlobalActions/GlobalActions.js +13 -11
  320. package/dist/esm/components/GlobalActions/GlobalActions.js.map +1 -1
  321. package/dist/esm/components/Grid/Grid.js +10 -8
  322. package/dist/esm/components/Grid/Grid.js.map +1 -1
  323. package/dist/esm/components/Header/Actions/Actions.js +8 -6
  324. package/dist/esm/components/Header/Actions/Actions.js.map +1 -1
  325. package/dist/esm/components/Header/Brand/Brand.js +9 -7
  326. package/dist/esm/components/Header/Brand/Brand.js.map +1 -1
  327. package/dist/esm/components/Header/Header.js +2 -1
  328. package/dist/esm/components/Header/Header.js.map +1 -1
  329. package/dist/esm/components/Header/Navigation/Navigation.js +11 -9
  330. package/dist/esm/components/Header/Navigation/Navigation.js.map +1 -1
  331. package/dist/esm/components/InlineEditor/InlineEditor.js +18 -16
  332. package/dist/esm/components/InlineEditor/InlineEditor.js.map +1 -1
  333. package/dist/esm/components/Input/Input.js +2 -1
  334. package/dist/esm/components/Input/Input.js.map +1 -1
  335. package/dist/esm/components/Kpi/Kpi.js +13 -11
  336. package/dist/esm/components/Kpi/Kpi.js.map +1 -1
  337. package/dist/esm/components/Link/Link.js +11 -9
  338. package/dist/esm/components/Link/Link.js.map +1 -1
  339. package/dist/esm/components/List/List.js +21 -19
  340. package/dist/esm/components/List/List.js.map +1 -1
  341. package/dist/esm/components/ListContainer/ListContainer.js +12 -10
  342. package/dist/esm/components/ListContainer/ListContainer.js.map +1 -1
  343. package/dist/esm/components/ListContainer/ListItem/ListItem.js +20 -18
  344. package/dist/esm/components/ListContainer/ListItem/ListItem.js.map +1 -1
  345. package/dist/esm/components/Loading/Loading.js +2 -1
  346. package/dist/esm/components/Loading/Loading.js.map +1 -1
  347. package/dist/esm/components/Login/Login.js +10 -8
  348. package/dist/esm/components/Login/Login.js.map +1 -1
  349. package/dist/esm/components/MultiButton/MultiButton.js +11 -9
  350. package/dist/esm/components/MultiButton/MultiButton.js.map +1 -1
  351. package/dist/esm/components/OverflowTooltip/OverflowTooltip.js +12 -10
  352. package/dist/esm/components/OverflowTooltip/OverflowTooltip.js.map +1 -1
  353. package/dist/esm/components/Pagination/ButtonIconTooltip.js +0 -1
  354. package/dist/esm/components/Pagination/ButtonIconTooltip.js.map +1 -1
  355. package/dist/esm/components/Pagination/Pagination.js +22 -20
  356. package/dist/esm/components/Pagination/Pagination.js.map +1 -1
  357. package/dist/esm/components/Pagination/Select.js +1 -1
  358. package/dist/esm/components/Pagination/Select.js.map +1 -1
  359. package/dist/esm/components/Panel/Panel.js +9 -7
  360. package/dist/esm/components/Panel/Panel.js.map +1 -1
  361. package/dist/esm/components/ProgressBar/ProgressBar.js +2 -1
  362. package/dist/esm/components/ProgressBar/ProgressBar.js.map +1 -1
  363. package/dist/esm/components/QueryBuilder/QueryBuilder.js +13 -11
  364. package/dist/esm/components/QueryBuilder/QueryBuilder.js.map +1 -1
  365. package/dist/esm/components/QueryBuilder/Rule/Rule.js +0 -1
  366. package/dist/esm/components/QueryBuilder/Rule/Rule.js.map +1 -1
  367. package/dist/esm/components/QueryBuilder/RuleGroup/RuleGroup.js +1 -2
  368. package/dist/esm/components/QueryBuilder/RuleGroup/RuleGroup.js.map +1 -1
  369. package/dist/esm/components/Radio/Radio.js +2 -1
  370. package/dist/esm/components/Radio/Radio.js.map +1 -1
  371. package/dist/esm/components/RadioGroup/RadioGroup.js +25 -23
  372. package/dist/esm/components/RadioGroup/RadioGroup.js.map +1 -1
  373. package/dist/esm/components/ScrollTo/Horizontal/ScrollToHorizontal.js +18 -16
  374. package/dist/esm/components/ScrollTo/Horizontal/ScrollToHorizontal.js.map +1 -1
  375. package/dist/esm/components/ScrollTo/Vertical/ScrollToVertical.js +19 -17
  376. package/dist/esm/components/ScrollTo/Vertical/ScrollToVertical.js.map +1 -1
  377. package/dist/esm/components/SelectionList/SelectionList.js +27 -25
  378. package/dist/esm/components/SelectionList/SelectionList.js.map +1 -1
  379. package/dist/esm/components/SimpleGrid/SimpleGrid.js +9 -7
  380. package/dist/esm/components/SimpleGrid/SimpleGrid.js.map +1 -1
  381. package/dist/esm/components/Slider/Slider.js +37 -35
  382. package/dist/esm/components/Slider/Slider.js.map +1 -1
  383. package/dist/esm/components/Snackbar/Snackbar.js +1 -1
  384. package/dist/esm/components/Snackbar/Snackbar.js.map +1 -1
  385. package/dist/esm/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.js +1 -1
  386. package/dist/esm/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.js.map +1 -1
  387. package/dist/esm/components/Snackbar/SnackbarProvider/SnackbarProvider.js +2 -2
  388. package/dist/esm/components/Snackbar/SnackbarProvider/SnackbarProvider.js.map +1 -1
  389. package/dist/esm/components/Stack/Stack.js +13 -11
  390. package/dist/esm/components/Stack/Stack.js.map +1 -1
  391. package/dist/esm/components/Switch/Switch.js +2 -1
  392. package/dist/esm/components/Switch/Switch.js.map +1 -1
  393. package/dist/esm/components/Tab/Tab.js +8 -6
  394. package/dist/esm/components/Tab/Tab.js.map +1 -1
  395. package/dist/esm/components/Table/Table.js +12 -10
  396. package/dist/esm/components/Table/Table.js.map +1 -1
  397. package/dist/esm/components/Table/TableHeader/TableHeader.js +2 -3
  398. package/dist/esm/components/Table/TableHeader/TableHeader.js.map +1 -1
  399. package/dist/esm/components/Table/hooks/useRowExpand.js +0 -1
  400. package/dist/esm/components/Table/hooks/useRowExpand.js.map +1 -1
  401. package/dist/esm/components/Table/renderers/renderers.js +0 -1
  402. package/dist/esm/components/Table/renderers/renderers.js.map +1 -1
  403. package/dist/esm/components/Tabs/Tabs.js +6 -4
  404. package/dist/esm/components/Tabs/Tabs.js.map +1 -1
  405. package/dist/esm/components/Tag/Tag.js +18 -16
  406. package/dist/esm/components/Tag/Tag.js.map +1 -1
  407. package/dist/esm/components/TagsInput/TagsInput.js +39 -37
  408. package/dist/esm/components/TagsInput/TagsInput.js.map +1 -1
  409. package/dist/esm/components/TextArea/TextArea.js +2 -1
  410. package/dist/esm/components/TextArea/TextArea.js.map +1 -1
  411. package/dist/esm/components/TimeAgo/TimeAgo.js +14 -12
  412. package/dist/esm/components/TimeAgo/TimeAgo.js.map +1 -1
  413. package/dist/esm/components/TimePicker/TimePicker.js +3 -2
  414. package/dist/esm/components/TimePicker/TimePicker.js.map +1 -1
  415. package/dist/esm/components/ToggleButton/ToggleButton.js +2 -2
  416. package/dist/esm/components/ToggleButton/ToggleButton.js.map +1 -1
  417. package/dist/esm/components/Tooltip/Tooltip.js +2 -1
  418. package/dist/esm/components/Tooltip/Tooltip.js.map +1 -1
  419. package/dist/esm/components/Typography/Typography.js +2 -1
  420. package/dist/esm/components/Typography/Typography.js.map +1 -1
  421. package/dist/esm/components/VerticalNavigation/Header/Header.js +0 -2
  422. package/dist/esm/components/VerticalNavigation/Header/Header.js.map +1 -1
  423. package/dist/esm/components/VerticalNavigation/NavigationSlider/NavigationSlider.js +0 -1
  424. package/dist/esm/components/VerticalNavigation/NavigationSlider/NavigationSlider.js.map +1 -1
  425. package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.js +1 -0
  426. package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.js.map +1 -1
  427. package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.styles.js +10 -6
  428. package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.styles.js.map +1 -1
  429. package/dist/esm/components/VerticalNavigation/VerticalNavigation.js +12 -10
  430. package/dist/esm/components/VerticalNavigation/VerticalNavigation.js.map +1 -1
  431. package/dist/esm/hooks/useDefaultProps.js +41 -0
  432. package/dist/esm/hooks/useDefaultProps.js.map +1 -0
  433. package/dist/esm/index.js +213 -208
  434. package/dist/esm/index.js.map +1 -1
  435. package/dist/esm/utils/classes.js +1 -1
  436. package/dist/esm/utils/classes.js.map +1 -1
  437. package/dist/types/index.d.ts +279 -244
  438. package/package.json +5 -5
  439. package/dist/cjs/components/Avatar/avatarClasses.cjs +0 -8
  440. package/dist/cjs/components/Avatar/avatarClasses.cjs.map +0 -1
  441. package/dist/cjs/components/Badge/badgeClasses.cjs +0 -8
  442. package/dist/cjs/components/Badge/badgeClasses.cjs.map +0 -1
  443. package/dist/esm/components/Avatar/avatarClasses.js +0 -8
  444. package/dist/esm/components/Avatar/avatarClasses.js.map +0 -1
  445. package/dist/esm/components/Badge/badgeClasses.js +0 -8
  446. package/dist/esm/components/Badge/badgeClasses.js.map +0 -1
@@ -1,18 +1,20 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const clsx = require("clsx");
4
+ const useDefaultProps = require("../../hooks/useDefaultProps.cjs");
4
5
  const Link_styles = require("./Link.styles.cjs");
5
6
  const linkClasses = require("./linkClasses.cjs");
6
7
  const jsxRuntime = require("@emotion/react/jsx-runtime");
7
- const HvLink = ({
8
- onClick,
9
- classes,
10
- className,
11
- route,
12
- data,
13
- children,
14
- ...others
15
- }) => {
8
+ const HvLink = (props) => {
9
+ const {
10
+ onClick,
11
+ classes,
12
+ className,
13
+ route,
14
+ data,
15
+ children,
16
+ ...others
17
+ } = useDefaultProps.useDefaultProps("HvLink", props);
16
18
  const handleClick = (event) => {
17
19
  event.preventDefault();
18
20
  onClick == null ? void 0 : onClick(event, data);
@@ -1 +1 @@
1
- {"version":3,"file":"Link.cjs","sources":["../../../../src/components/Link/Link.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\n\nimport { MouseEventHandler } from \"react\";\n\nimport { HvBaseProps } from \"@core/types/generic\";\n\nimport { StyledA } from \"./Link.styles\";\nimport linkClasses, { HvLinkClasses } from \"./linkClasses\";\n\nexport interface HvLinkProps extends HvBaseProps<HTMLAnchorElement, \"onClick\"> {\n onClick?: (\n event: MouseEventHandler<HTMLAnchorElement>,\n data: any\n ) => void | undefined;\n route?: string;\n data?: any;\n children: any;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvLinkClasses;\n}\n\nexport const HvLink = ({\n onClick,\n classes,\n className,\n route,\n data,\n children,\n ...others\n}: HvLinkProps) => {\n const handleClick = (event) => {\n event.preventDefault();\n\n onClick?.(event, data);\n };\n\n return (\n <StyledA\n href={route}\n onClick={onClick != null ? handleClick : undefined}\n className={clsx(className, linkClasses.a, classes?.a)}\n {...others}\n >\n {children}\n </StyledA>\n );\n};\n"],"names":["HvLink","onClick","classes","className","route","data","children","others","handleClick","event","preventDefault","StyledA","href","undefined","clsx","linkClasses","a"],"mappings":";;;;;;AAqBO,MAAMA,SAASA,CAAC;AAAA,EACrBC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACA,GAAGC;AACQ,MAAM;AACjB,QAAMC,cAAeC,CAAU,UAAA;AAC7BA,UAAMC,eAAe;AAErBT,uCAAUQ,OAAOJ;AAAAA,EAAI;AAGvB,wCACGM,YAAAA,SAAO;AAAA,IACNC,MAAMR;AAAAA,IACNH,SAASA,WAAW,OAAOO,cAAcK;AAAAA,IACzCV,WAAWW,KAAKX,KAAAA,WAAWY,YAAYC,QAAAA,GAAGd,mCAASc,CAAC;AAAA,IAAE,GAClDT;AAAAA,IAAMD;AAAAA,EAAAA,CAGH;AAEb;;"}
1
+ {"version":3,"file":"Link.cjs","sources":["../../../../src/components/Link/Link.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\n\nimport { MouseEventHandler } from \"react\";\n\nimport { HvBaseProps } from \"@core/types/generic\";\n\nimport { StyledA } from \"./Link.styles\";\nimport linkClasses, { HvLinkClasses } from \"./linkClasses\";\n\nexport interface HvLinkProps extends HvBaseProps<HTMLAnchorElement, \"onClick\"> {\n onClick?: (\n event: MouseEventHandler<HTMLAnchorElement>,\n data: any\n ) => void | undefined;\n route?: string;\n data?: any;\n children: any;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvLinkClasses;\n}\n\nexport const HvLink = (props: HvLinkProps) => {\n const { onClick, classes, className, route, data, children, ...others } =\n useDefaultProps(\"HvLink\", props);\n\n const handleClick = (event) => {\n event.preventDefault();\n\n onClick?.(event, data);\n };\n\n return (\n <StyledA\n href={route}\n onClick={onClick != null ? handleClick : undefined}\n className={clsx(className, linkClasses.a, classes?.a)}\n {...others}\n >\n {children}\n </StyledA>\n );\n};\n"],"names":["HvLink","props","onClick","classes","className","route","data","children","others","useDefaultProps","handleClick","event","preventDefault","StyledA","href","undefined","clsx","linkClasses","a"],"mappings":";;;;;;;AAsBaA,MAAAA,SAASA,CAACC,UAAuB;AACtC,QAAA;AAAA,IAAEC;AAAAA,IAASC;AAAAA,IAASC;AAAAA,IAAWC;AAAAA,IAAOC;AAAAA,IAAMC;AAAAA,IAAU,GAAGC;AAAAA,EAAAA,IAC7DC,gBAAgB,gBAAA,UAAUR,KAAK;AAEjC,QAAMS,cAAeC,CAAU,UAAA;AAC7BA,UAAMC,eAAe;AAErBV,uCAAUS,OAAOL;AAAAA,EAAI;AAGvB,wCACGO,YAAAA,SAAO;AAAA,IACNC,MAAMT;AAAAA,IACNH,SAASA,WAAW,OAAOQ,cAAcK;AAAAA,IACzCX,WAAWY,KAAKZ,KAAAA,WAAWa,YAAYC,QAAAA,GAAGf,mCAASe,CAAC;AAAA,IAAE,GAClDV;AAAAA,IAAMD;AAAAA,EAAAA,CAGH;AAEb;;"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const React = require("react");
4
+ const useDefaultProps = require("../../hooks/useDefaultProps.cjs");
4
5
  const clsx = require("clsx");
5
6
  const setId = require("../../utils/setId.cjs");
6
7
  const wrapperTooltip = require("../../utils/wrapperTooltip.cjs");
@@ -15,25 +16,26 @@ const DEFAULT_LABELS = {
15
16
  selectAll: "Select All",
16
17
  selectionConjunction: "/"
17
18
  };
18
- const HvList = ({
19
- id,
20
- classes,
21
- className,
22
- multiSelect = false,
23
- hasTooltips = false,
24
- showSelectAll = false,
25
- labels = DEFAULT_LABELS,
26
- useSelector = false,
27
- selectable = true,
28
- singleSelectionToggle = true,
29
- condensed = false,
30
- onChange,
31
- onClick,
32
- values: valuesProp = [],
33
- height,
34
- virtualized = false,
35
- ...others
36
- }) => {
19
+ const HvList = (props) => {
20
+ const {
21
+ id,
22
+ classes,
23
+ className,
24
+ multiSelect = false,
25
+ hasTooltips = false,
26
+ showSelectAll = false,
27
+ labels = DEFAULT_LABELS,
28
+ useSelector = false,
29
+ selectable = true,
30
+ singleSelectionToggle = true,
31
+ condensed = false,
32
+ onChange,
33
+ onClick,
34
+ values: valuesProp = [],
35
+ height,
36
+ virtualized = false,
37
+ ...others
38
+ } = useDefaultProps.useDefaultProps("HvList", props);
37
39
  const [list, setList, selection] = useSelectableList.useSelectableList(valuesProp);
38
40
  const listRef = React.useRef(null);
39
41
  React.useEffect(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"List.cjs","sources":["../../../../src/components/List/List.tsx"],"sourcesContent":["import { forwardRef, isValidElement, useEffect, useMemo, useRef } from \"react\";\n\nimport { clsx } from \"clsx\";\n\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { HvListContainer } from \"@core/components/ListContainer\";\nimport { HvTypography } from \"@core/components/Typography\";\nimport { setId } from \"@core/utils/setId\";\nimport { wrapperTooltip } from \"@core/utils/wrapperTooltip\";\n\nimport {\n StyledFixedSizeList,\n StyledSelectAllCheckBox,\n StyledLink,\n StyledMultiSelectCheckBox,\n StyledSingleSelectRadio,\n StyledListItem,\n StyledDropRightXS,\n} from \"./List.styles\";\nimport listClasses, { HvListClasses } from \"./listClasses\";\nimport { useSelectableList } from \"./useSelectableList\";\nimport { parseList } from \"./utils\";\nimport { HvListLabels, HvListValue } from \"./types\";\n\nexport interface HvListProps\n extends HvBaseProps<HTMLUListElement, \"onChange\" | \"onClick\"> {\n /**\n * A list containing the elements to be rendered.\n *\n * - id: The id of the item.\n * - label: The label of the element to be rendered.\n * - selected: The selection state of the element.\n * - disabled: The disabled state of the element.\n * - isHidden: Is item visible.\n * - icon: The icon.\n * - showNavIcon: If true renders the navigation icon on the right.\n * - path: The path to navigate to.\n */\n values: HvListValue[];\n /** If true renders a multi select list. */\n multiSelect?: boolean;\n /**\n * If true renders select all option for multi selection lists with selectors.\n * note: It will only be rendered if multiSelect and useSelector props are set to true.\n */\n showSelectAll?: boolean;\n /** An object containing all the labels for the dropdown. */\n labels?: HvListLabels;\n /** If true renders list items with radio or checkbox selectors. */\n useSelector?: boolean;\n /** Call back fired when list item is selected. Returns selection state. */\n onChange?: (value: HvListValue[]) => void;\n /** Call back fired when list item is selected. Returns selected item. */\n onClick?: (\n event: React.ChangeEvent<HTMLLIElement>,\n value: HvListValue\n ) => void;\n /** If `true` the list items will show the selection state. */\n selectable?: boolean;\n /** If `true`, selection can be toggled when single selection. */\n singleSelectionToggle?: boolean;\n /** If `true` the list will be rendered without vertical spacing. */\n condensed?: boolean;\n /** If `true` the dropdown will show tooltips when user mouseenter text in list */\n hasTooltips?: boolean;\n /** Experimental. Height of the dropdown, in case you want to control it from a prop. Styles can also be used through dropdownListContainer class. Required in case virtualized is used */\n height?: number;\n /** Experimental. Uses dropdown in a virtualized form, where not all options are rendered initially. Good for use cases with a lot of options. */\n virtualized?: boolean;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvListClasses;\n}\n\nconst DEFAULT_LABELS = {\n selectAll: \"Select All\",\n selectionConjunction: \"/\",\n};\n\n/**\n * Component used to show a set of related data to the user.\n */\nexport const HvList = ({\n id,\n classes,\n className,\n multiSelect = false,\n hasTooltips = false,\n showSelectAll = false,\n labels = DEFAULT_LABELS,\n useSelector = false,\n selectable = true,\n singleSelectionToggle = true,\n condensed = false,\n onChange,\n onClick,\n values: valuesProp = [],\n height,\n virtualized = false,\n ...others\n}: HvListProps) => {\n const [list, setList, selection] = useSelectableList(valuesProp);\n const listRef = useRef<any>(null);\n\n useEffect(() => {\n const passedProps = { multiSelect, selectable, singleSelectionToggle };\n const parsedList: HvListValue[] = parseList(\n undefined,\n passedProps,\n undefined,\n valuesProp\n );\n\n setList(parsedList);\n }, [valuesProp, multiSelect, selectable, singleSelectionToggle, setList]);\n\n const handleSelect = (evt, item) => {\n if (!item.path) evt.preventDefault();\n if (item.disabled) return;\n\n const passedProps = { multiSelect, selectable, singleSelectionToggle };\n const parsedList = parseList(item, passedProps, undefined, list);\n setList(parsedList);\n\n onClick?.(evt, item);\n onChange?.(parsedList);\n };\n\n const handleSelectAll = () => {\n const passedProps = { multiSelect, selectable, singleSelectionToggle };\n const anySelectableSelected = list.some(\n (elem) => elem.selected || elem.disabled\n );\n const parsedList = parseList(\n undefined,\n passedProps,\n !anySelectableSelected,\n list\n );\n setList(parsedList);\n\n onChange?.(parsedList);\n };\n\n const renderLeftIcon = (item) => {\n return isValidElement(item.icon)\n ? item.icon\n : item.icon?.({\n isSelected: item.selected,\n isDisabled: item.disabled,\n });\n };\n\n const renderSelectAll = () => {\n const { selectAll, selectionConjunction } = labels;\n\n const anySelected = !!selection?.length;\n const allSelected = selection.length === list.length;\n\n const selectionLabel = (\n <HvTypography component=\"span\">\n {!anySelected ? (\n <>\n <b>{selectAll}</b>\n {` (${list.length})`}\n </>\n ) : (\n <>\n <b>{selection.length}</b>\n {`\\xa0${selectionConjunction}\\xa0`}\n {list.length}\n </>\n )}\n </HvTypography>\n );\n\n return (\n <StyledSelectAllCheckBox\n id={setId(id, \"select-all\")}\n label={selectionLabel}\n onChange={handleSelectAll}\n className={clsx(\n listClasses.selectAllSelector,\n classes?.selectAllSelector\n )}\n indeterminate={anySelected && !allSelected}\n checked={allSelected}\n />\n );\n };\n\n const renderItemText = (item) => {\n const ItemText = wrapperTooltip(hasTooltips, item.label, item.label);\n\n return !multiSelect && item.path ? (\n <StyledLink\n key={item.label}\n route={item.path}\n classes={{ a: clsx(listClasses.link, classes?.link) }}\n >\n <ItemText />\n </StyledLink>\n ) : (\n <ItemText />\n );\n };\n\n const renderMultiSelectItem = (item, itemId) => {\n if (useSelector) {\n const Selection = wrapperTooltip(\n hasTooltips,\n <StyledMultiSelectCheckBox\n id={setId(itemId, \"selector\")}\n label={item.label}\n checked={item.selected}\n disabled={item.disabled}\n onChange={(evt) => handleSelect(evt, item)}\n classes={{\n root: clsx(listClasses.selectorRoot, classes?.selectorRoot),\n container: clsx(\n listClasses.selectorContainer,\n classes?.selectorContainer\n ),\n label: clsx(listClasses.truncate, classes?.truncate),\n }}\n />,\n item.label\n );\n return <Selection />;\n }\n\n return renderItemText(item);\n };\n\n const renderSingleSelectItem = (item, itemId) => {\n if (useSelector) {\n const Selection = wrapperTooltip(\n hasTooltips,\n <StyledSingleSelectRadio\n id={setId(itemId, \"selector\")}\n label={item.label}\n checked={item.selected}\n disabled={item.disabled}\n classes={{\n root: clsx(listClasses.selectorRoot, classes?.selectorRoot),\n container: clsx(\n listClasses.selectorContainer,\n classes?.selectorContainer\n ),\n label: clsx(listClasses.truncate, classes?.truncate),\n }}\n />,\n item.label\n );\n return <Selection />;\n }\n return renderItemText(item);\n };\n\n const renderListItem = (item, i, otherProps = {}) => {\n const itemId = setId(id, \"item\", i);\n const selected = item.selected || false;\n\n let startAdornment = null;\n if (!useSelector && item.icon) {\n startAdornment = renderLeftIcon(item);\n }\n\n return (\n <StyledListItem\n key={i}\n id={itemId}\n role={selectable ? \"option\" : \"menuitem\"}\n disabled={item.disabled || undefined}\n className={clsx(listClasses.item, classes?.item)}\n classes={{\n selected:\n useSelector || multiSelect\n ? clsx(listClasses.itemSelector, classes?.itemSelector)\n : undefined,\n }}\n selected={multiSelect || selected ? selected : undefined}\n onClick={(evt) => handleSelect(evt, item)}\n startAdornment={startAdornment}\n endAdornment={\n item.showNavIcon && (\n <StyledDropRightXS\n className={clsx(listClasses.box, classes?.box)}\n iconSize=\"XS\"\n />\n )\n }\n $applySelected={useSelector || multiSelect}\n {...otherProps}\n >\n {multiSelect\n ? renderMultiSelectItem(item, itemId)\n : renderSingleSelectItem(item, itemId)}\n </StyledListItem>\n );\n };\n\n const filteredList = list.filter((it) => !it.isHidden);\n const anySelected = list\n .map((item) => item.selected && !item.disabled)\n .reduce((result, selected) => result || selected, false);\n\n const selectedItemIndex = list.findIndex((item) => item.selected);\n useEffect(() => {\n if (selectedItemIndex >= 0 && listRef.current !== null) {\n listRef.current.scrollToItem(selectedItemIndex);\n }\n }, [listRef, selectedItemIndex]);\n\n const ListItem = ({ index, style }) => {\n const item = filteredList[index];\n const tabIndex =\n item.tabIndex ||\n (!anySelected && index === 0) ||\n (item.selected && !item.disabled)\n ? 0\n : -1;\n\n return renderListItem(item, index, {\n style: {\n ...style,\n top: `${parseFloat(style.top) + 5}px`,\n left: `${parseFloat(style.left) + 5}px`,\n width: `calc(${parseFloat(style.width)}% - 10px)`,\n },\n tabIndex,\n interactive: true,\n condensed,\n disableGutters: useSelector,\n });\n };\n\n const renderFixedList = useMemo(() => {\n return forwardRef(({ ...rest }, ref) => (\n <HvListContainer\n id={id}\n className={clsx(className, listClasses.root, classes?.root)}\n role={selectable ? \"listbox\" : \"menu\"}\n interactive\n condensed={condensed}\n disableGutters={useSelector}\n aria-multiselectable={(selectable && multiSelect) || undefined}\n ref={ref}\n {...rest}\n />\n ));\n }, [id, useSelector, className, classes, condensed, selectable, multiSelect]);\n\n return (\n <>\n {multiSelect && useSelector && showSelectAll && renderSelectAll()}\n\n {filteredList.length > 0 && !virtualized && (\n <HvListContainer\n id={id}\n className={clsx(className, listClasses.root, classes?.root)}\n role={selectable ? \"listbox\" : \"menu\"}\n interactive\n condensed={condensed}\n disableGutters={useSelector}\n aria-multiselectable={(selectable && multiSelect) || undefined}\n {...others}\n >\n {filteredList.map((item, i) => renderListItem(item, i))}\n </HvListContainer>\n )}\n {filteredList.length > 0 && virtualized && (\n <StyledFixedSizeList\n ref={listRef}\n className={clsx(\n listClasses.virtualizedRoot,\n classes?.virtualizedRoot\n )}\n height={(height || 0) + 5}\n width=\"100%\"\n itemCount={filteredList.length}\n itemSize={condensed ? 32 : 40}\n innerElementType={renderFixedList}\n {...others}\n >\n {ListItem}\n </StyledFixedSizeList>\n )}\n </>\n );\n};\n"],"names":["DEFAULT_LABELS","selectAll","selectionConjunction","HvList","id","classes","className","multiSelect","hasTooltips","showSelectAll","labels","useSelector","selectable","singleSelectionToggle","condensed","onChange","onClick","values","valuesProp","height","virtualized","others","list","setList","selection","useSelectableList","listRef","useRef","useEffect","passedProps","parsedList","parseList","undefined","handleSelect","evt","item","path","preventDefault","disabled","handleSelectAll","anySelectableSelected","some","elem","selected","renderLeftIcon","isValidElement","icon","isSelected","isDisabled","renderSelectAll","anySelected","length","allSelected","selectionLabel","HvTypography","component","children","_jsxs","_Fragment","_jsx","StyledSelectAllCheckBox","setId","label","clsx","listClasses","selectAllSelector","indeterminate","checked","renderItemText","ItemText","wrapperTooltip","StyledLink","route","a","link","renderMultiSelectItem","itemId","Selection","StyledMultiSelectCheckBox","root","selectorRoot","container","selectorContainer","truncate","renderSingleSelectItem","StyledSingleSelectRadio","renderListItem","i","otherProps","startAdornment","StyledListItem","role","itemSelector","endAdornment","showNavIcon","StyledDropRightXS","box","iconSize","$applySelected","filteredList","filter","it","isHidden","map","reduce","result","selectedItemIndex","findIndex","current","scrollToItem","ListItem","index","style","tabIndex","top","parseFloat","left","width","interactive","disableGutters","renderFixedList","useMemo","forwardRef","rest","ref","HvListContainer","StyledFixedSizeList","virtualizedRoot","itemCount","itemSize","innerElementType"],"mappings":"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"}
1
+ {"version":3,"file":"List.cjs","sources":["../../../../src/components/List/List.tsx"],"sourcesContent":["import { forwardRef, isValidElement, useEffect, useMemo, useRef } from \"react\";\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\n\nimport { clsx } from \"clsx\";\n\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { HvListContainer } from \"@core/components/ListContainer\";\nimport { HvTypography } from \"@core/components/Typography\";\nimport { setId } from \"@core/utils/setId\";\nimport { wrapperTooltip } from \"@core/utils/wrapperTooltip\";\n\nimport {\n StyledFixedSizeList,\n StyledSelectAllCheckBox,\n StyledLink,\n StyledMultiSelectCheckBox,\n StyledSingleSelectRadio,\n StyledListItem,\n StyledDropRightXS,\n} from \"./List.styles\";\nimport listClasses, { HvListClasses } from \"./listClasses\";\nimport { useSelectableList } from \"./useSelectableList\";\nimport { parseList } from \"./utils\";\nimport { HvListLabels, HvListValue } from \"./types\";\n\nexport interface HvListProps\n extends HvBaseProps<HTMLUListElement, \"onChange\" | \"onClick\"> {\n /**\n * A list containing the elements to be rendered.\n *\n * - id: The id of the item.\n * - label: The label of the element to be rendered.\n * - selected: The selection state of the element.\n * - disabled: The disabled state of the element.\n * - isHidden: Is item visible.\n * - icon: The icon.\n * - showNavIcon: If true renders the navigation icon on the right.\n * - path: The path to navigate to.\n */\n values: HvListValue[];\n /** If true renders a multi select list. */\n multiSelect?: boolean;\n /**\n * If true renders select all option for multi selection lists with selectors.\n * note: It will only be rendered if multiSelect and useSelector props are set to true.\n */\n showSelectAll?: boolean;\n /** An object containing all the labels for the dropdown. */\n labels?: HvListLabels;\n /** If true renders list items with radio or checkbox selectors. */\n useSelector?: boolean;\n /** Call back fired when list item is selected. Returns selection state. */\n onChange?: (value: HvListValue[]) => void;\n /** Call back fired when list item is selected. Returns selected item. */\n onClick?: (\n event: React.ChangeEvent<HTMLLIElement>,\n value: HvListValue\n ) => void;\n /** If `true` the list items will show the selection state. */\n selectable?: boolean;\n /** If `true`, selection can be toggled when single selection. */\n singleSelectionToggle?: boolean;\n /** If `true` the list will be rendered without vertical spacing. */\n condensed?: boolean;\n /** If `true` the dropdown will show tooltips when user mouseenter text in list */\n hasTooltips?: boolean;\n /** Experimental. Height of the dropdown, in case you want to control it from a prop. Styles can also be used through dropdownListContainer class. Required in case virtualized is used */\n height?: number;\n /** Experimental. Uses dropdown in a virtualized form, where not all options are rendered initially. Good for use cases with a lot of options. */\n virtualized?: boolean;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvListClasses;\n}\n\nconst DEFAULT_LABELS = {\n selectAll: \"Select All\",\n selectionConjunction: \"/\",\n};\n\n/**\n * Component used to show a set of related data to the user.\n */\nexport const HvList = (props: HvListProps) => {\n const {\n id,\n classes,\n className,\n multiSelect = false,\n hasTooltips = false,\n showSelectAll = false,\n labels = DEFAULT_LABELS,\n useSelector = false,\n selectable = true,\n singleSelectionToggle = true,\n condensed = false,\n onChange,\n onClick,\n values: valuesProp = [],\n height,\n virtualized = false,\n ...others\n } = useDefaultProps(\"HvList\", props);\n\n const [list, setList, selection] = useSelectableList(valuesProp);\n const listRef = useRef<any>(null);\n\n useEffect(() => {\n const passedProps = { multiSelect, selectable, singleSelectionToggle };\n const parsedList: HvListValue[] = parseList(\n undefined,\n passedProps,\n undefined,\n valuesProp\n );\n\n setList(parsedList);\n }, [valuesProp, multiSelect, selectable, singleSelectionToggle, setList]);\n\n const handleSelect = (evt, item) => {\n if (!item.path) evt.preventDefault();\n if (item.disabled) return;\n\n const passedProps = { multiSelect, selectable, singleSelectionToggle };\n const parsedList = parseList(item, passedProps, undefined, list);\n setList(parsedList);\n\n onClick?.(evt, item);\n onChange?.(parsedList);\n };\n\n const handleSelectAll = () => {\n const passedProps = { multiSelect, selectable, singleSelectionToggle };\n const anySelectableSelected = list.some(\n (elem) => elem.selected || elem.disabled\n );\n const parsedList = parseList(\n undefined,\n passedProps,\n !anySelectableSelected,\n list\n );\n setList(parsedList);\n\n onChange?.(parsedList);\n };\n\n const renderLeftIcon = (item) => {\n return isValidElement(item.icon)\n ? item.icon\n : item.icon?.({\n isSelected: item.selected,\n isDisabled: item.disabled,\n });\n };\n\n const renderSelectAll = () => {\n const { selectAll, selectionConjunction } = labels;\n\n const anySelected = !!selection?.length;\n const allSelected = selection.length === list.length;\n\n const selectionLabel = (\n <HvTypography component=\"span\">\n {!anySelected ? (\n <>\n <b>{selectAll}</b>\n {` (${list.length})`}\n </>\n ) : (\n <>\n <b>{selection.length}</b>\n {`\\xa0${selectionConjunction}\\xa0`}\n {list.length}\n </>\n )}\n </HvTypography>\n );\n\n return (\n <StyledSelectAllCheckBox\n id={setId(id, \"select-all\")}\n label={selectionLabel}\n onChange={handleSelectAll}\n className={clsx(\n listClasses.selectAllSelector,\n classes?.selectAllSelector\n )}\n indeterminate={anySelected && !allSelected}\n checked={allSelected}\n />\n );\n };\n\n const renderItemText = (item) => {\n const ItemText = wrapperTooltip(hasTooltips, item.label, item.label);\n\n return !multiSelect && item.path ? (\n <StyledLink\n key={item.label}\n route={item.path}\n classes={{ a: clsx(listClasses.link, classes?.link) }}\n >\n <ItemText />\n </StyledLink>\n ) : (\n <ItemText />\n );\n };\n\n const renderMultiSelectItem = (item, itemId) => {\n if (useSelector) {\n const Selection = wrapperTooltip(\n hasTooltips,\n <StyledMultiSelectCheckBox\n id={setId(itemId, \"selector\")}\n label={item.label}\n checked={item.selected}\n disabled={item.disabled}\n onChange={(evt) => handleSelect(evt, item)}\n classes={{\n root: clsx(listClasses.selectorRoot, classes?.selectorRoot),\n container: clsx(\n listClasses.selectorContainer,\n classes?.selectorContainer\n ),\n label: clsx(listClasses.truncate, classes?.truncate),\n }}\n />,\n item.label\n );\n return <Selection />;\n }\n\n return renderItemText(item);\n };\n\n const renderSingleSelectItem = (item, itemId) => {\n if (useSelector) {\n const Selection = wrapperTooltip(\n hasTooltips,\n <StyledSingleSelectRadio\n id={setId(itemId, \"selector\")}\n label={item.label}\n checked={item.selected}\n disabled={item.disabled}\n classes={{\n root: clsx(listClasses.selectorRoot, classes?.selectorRoot),\n container: clsx(\n listClasses.selectorContainer,\n classes?.selectorContainer\n ),\n label: clsx(listClasses.truncate, classes?.truncate),\n }}\n />,\n item.label\n );\n return <Selection />;\n }\n return renderItemText(item);\n };\n\n const renderListItem = (item, i, otherProps = {}) => {\n const itemId = setId(id, \"item\", i);\n const selected = item.selected || false;\n\n let startAdornment = null;\n if (!useSelector && item.icon) {\n startAdornment = renderLeftIcon(item);\n }\n\n return (\n <StyledListItem\n key={i}\n id={itemId}\n role={selectable ? \"option\" : \"menuitem\"}\n disabled={item.disabled || undefined}\n className={clsx(listClasses.item, classes?.item)}\n classes={{\n selected:\n useSelector || multiSelect\n ? clsx(listClasses.itemSelector, classes?.itemSelector)\n : undefined,\n }}\n selected={multiSelect || selected ? selected : undefined}\n onClick={(evt) => handleSelect(evt, item)}\n startAdornment={startAdornment}\n endAdornment={\n item.showNavIcon && (\n <StyledDropRightXS\n className={clsx(listClasses.box, classes?.box)}\n iconSize=\"XS\"\n />\n )\n }\n $applySelected={useSelector || multiSelect}\n {...otherProps}\n >\n {multiSelect\n ? renderMultiSelectItem(item, itemId)\n : renderSingleSelectItem(item, itemId)}\n </StyledListItem>\n );\n };\n\n const filteredList = list.filter((it) => !it.isHidden);\n const anySelected = list\n .map((item) => item.selected && !item.disabled)\n .reduce((result, selected) => result || selected, false);\n\n const selectedItemIndex = list.findIndex((item) => item.selected);\n useEffect(() => {\n if (selectedItemIndex >= 0 && listRef.current !== null) {\n listRef.current.scrollToItem(selectedItemIndex);\n }\n }, [listRef, selectedItemIndex]);\n\n const ListItem = ({ index, style }) => {\n const item = filteredList[index];\n const tabIndex =\n item.tabIndex ||\n (!anySelected && index === 0) ||\n (item.selected && !item.disabled)\n ? 0\n : -1;\n\n return renderListItem(item, index, {\n style: {\n ...style,\n top: `${parseFloat(style.top) + 5}px`,\n left: `${parseFloat(style.left) + 5}px`,\n width: `calc(${parseFloat(style.width)}% - 10px)`,\n },\n tabIndex,\n interactive: true,\n condensed,\n disableGutters: useSelector,\n });\n };\n\n const renderFixedList = useMemo(() => {\n return forwardRef(({ ...rest }, ref) => (\n <HvListContainer\n id={id}\n className={clsx(className, listClasses.root, classes?.root)}\n role={selectable ? \"listbox\" : \"menu\"}\n interactive\n condensed={condensed}\n disableGutters={useSelector}\n aria-multiselectable={(selectable && multiSelect) || undefined}\n ref={ref}\n {...rest}\n />\n ));\n }, [id, useSelector, className, classes, condensed, selectable, multiSelect]);\n\n return (\n <>\n {multiSelect && useSelector && showSelectAll && renderSelectAll()}\n\n {filteredList.length > 0 && !virtualized && (\n <HvListContainer\n id={id}\n className={clsx(className, listClasses.root, classes?.root)}\n role={selectable ? \"listbox\" : \"menu\"}\n interactive\n condensed={condensed}\n disableGutters={useSelector}\n aria-multiselectable={(selectable && multiSelect) || undefined}\n {...others}\n >\n {filteredList.map((item, i) => renderListItem(item, i))}\n </HvListContainer>\n )}\n {filteredList.length > 0 && virtualized && (\n <StyledFixedSizeList\n ref={listRef}\n className={clsx(\n listClasses.virtualizedRoot,\n classes?.virtualizedRoot\n )}\n height={(height || 0) + 5}\n width=\"100%\"\n itemCount={filteredList.length}\n itemSize={condensed ? 32 : 40}\n innerElementType={renderFixedList}\n {...others}\n >\n {ListItem}\n </StyledFixedSizeList>\n )}\n </>\n );\n};\n"],"names":["DEFAULT_LABELS","selectAll","selectionConjunction","HvList","props","id","classes","className","multiSelect","hasTooltips","showSelectAll","labels","useSelector","selectable","singleSelectionToggle","condensed","onChange","onClick","values","valuesProp","height","virtualized","others","useDefaultProps","list","setList","selection","useSelectableList","listRef","useRef","useEffect","passedProps","parsedList","parseList","undefined","handleSelect","evt","item","path","preventDefault","disabled","handleSelectAll","anySelectableSelected","some","elem","selected","renderLeftIcon","isValidElement","icon","isSelected","isDisabled","renderSelectAll","anySelected","length","allSelected","selectionLabel","HvTypography","component","children","_jsxs","_Fragment","_jsx","StyledSelectAllCheckBox","setId","label","clsx","listClasses","selectAllSelector","indeterminate","checked","renderItemText","ItemText","wrapperTooltip","StyledLink","route","a","link","renderMultiSelectItem","itemId","Selection","StyledMultiSelectCheckBox","root","selectorRoot","container","selectorContainer","truncate","renderSingleSelectItem","StyledSingleSelectRadio","renderListItem","i","otherProps","startAdornment","StyledListItem","role","itemSelector","endAdornment","showNavIcon","StyledDropRightXS","box","iconSize","$applySelected","filteredList","filter","it","isHidden","map","reduce","result","selectedItemIndex","findIndex","current","scrollToItem","ListItem","index","style","tabIndex","top","parseFloat","left","width","interactive","disableGutters","renderFixedList","useMemo","forwardRef","rest","ref","HvListContainer","StyledFixedSizeList","virtualizedRoot","itemCount","itemSize","innerElementType"],"mappings":"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"}
@@ -3,21 +3,23 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const React = require("react");
4
4
  const clsx = require("clsx");
5
5
  const useForkRef = require("../../hooks/useForkRef.cjs");
6
+ const useDefaultProps = require("../../hooks/useDefaultProps.cjs");
6
7
  const listContainerClasses = require("./listContainerClasses.cjs");
7
8
  const jsxRuntime = require("@emotion/react/jsx-runtime");
8
9
  const ListContext = require("./ListContext/ListContext.cjs");
9
10
  const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
10
11
  const React__default = /* @__PURE__ */ _interopDefault(React);
11
- const HvListContainer = React__default.default.forwardRef(({
12
- id,
13
- classes,
14
- className,
15
- interactive = false,
16
- condensed,
17
- disableGutters,
18
- children,
19
- ...others
20
- }, externalRef) => {
12
+ const HvListContainer = React__default.default.forwardRef((props, externalRef) => {
13
+ const {
14
+ id,
15
+ classes,
16
+ className,
17
+ interactive = false,
18
+ condensed,
19
+ disableGutters,
20
+ children,
21
+ ...others
22
+ } = useDefaultProps.useDefaultProps("HvListContainer", props);
21
23
  const containerRef = React.useRef(null);
22
24
  const {
23
25
  topContainerRef,
@@ -1 +1 @@
1
- {"version":3,"file":"ListContainer.cjs","sources":["../../../../src/components/ListContainer/ListContainer.tsx"],"sourcesContent":["import React, { useRef, useContext, useMemo } from \"react\";\n\nimport { clsx } from \"clsx\";\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { useForkRef } from \"@core/hooks/useForkRef\";\n\nimport HvListContext from \"./ListContext\";\nimport listContainerClasses, {\n HvListContainerClasses,\n} from \"./listContainerClasses\";\n\nexport interface HvListContainerProps extends HvBaseProps<HTMLUListElement> {\n /**\n * If the list items should be focusable and react to mouse over events.\n * Defaults to true if the list is selectable, false otherwise.\n */\n interactive?: boolean;\n /** If `true` compact the vertical spacing between list items. */\n condensed?: boolean;\n /** If `true`, the list items' left and right padding is removed. */\n disableGutters?: boolean;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvListContainerClasses;\n}\n\n/**\n * A <b>list</b> is any enumeration of a set of items.\n * The simple list is for continuous <b>vertical indexes of text or icons+text</b>. The content of these lists must be simple: ideally simples fields.\n * This pattern is ideal for <b>selections</b>. It should be used inside a HvPanel.\n */\nexport const HvListContainer = React.forwardRef(\n (\n {\n id,\n classes,\n className,\n interactive = false,\n condensed,\n disableGutters,\n children,\n ...others\n }: HvListContainerProps,\n externalRef\n ) => {\n const containerRef = useRef(null);\n\n const { topContainerRef, nesting = -1 } = useContext<any>(HvListContext);\n\n const listContext = useMemo(\n () => ({\n topContainerRef: topContainerRef || containerRef,\n condensed,\n disableGutters,\n interactive,\n nesting: nesting + 1,\n }),\n [condensed, disableGutters, interactive, nesting, topContainerRef]\n );\n\n const renderChildren = () => {\n if (!interactive) {\n return children;\n }\n\n const anySelected = React.Children.toArray(children)\n .map((child: any) => child.props.selected && !child.props.disabled)\n .reduce((result, selected) => result || selected, false);\n\n return React.Children.map(children, (child: any, i) => {\n const tabIndex =\n child.props.tabIndex ||\n (!anySelected && i === 0) ||\n (child.props.selected && !child.props.disabled)\n ? 0\n : -1;\n\n return React.cloneElement(child, {\n tabIndex,\n interactive,\n });\n });\n };\n\n const handleRef = useForkRef(externalRef, containerRef);\n\n return (\n <HvListContext.Provider value={listContext}>\n <ul\n ref={handleRef}\n id={id}\n className={clsx(className, listContainerClasses.root, classes?.root)}\n {...others}\n >\n {renderChildren()}\n </ul>\n </HvListContext.Provider>\n );\n }\n);\n"],"names":["HvListContainer","React","forwardRef","id","classes","className","interactive","condensed","disableGutters","children","others","externalRef","containerRef","useRef","topContainerRef","nesting","useContext","HvListContext","listContext","useMemo","renderChildren","anySelected","Children","toArray","map","child","props","selected","disabled","reduce","result","i","tabIndex","cloneElement","handleRef","useForkRef","_jsx","Provider","value","ref","clsx","listContainerClasses","root"],"mappings":";;;;;;;;;;AA8BaA,MAAAA,kBAAkBC,eAAAA,QAAMC,WACnC,CACE;AAAA,EACEC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC,cAAc;AAAA,EACdC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACA,GAAGC;AACiB,GACtBC,gBACG;AACGC,QAAAA,eAAeC,aAAO,IAAI;AAE1B,QAAA;AAAA,IAAEC;AAAAA,IAAiBC,UAAU;AAAA,EAAA,IAAOC,MAAAA,WAAgBC,YAAAA,OAAa;AAEjEC,QAAAA,cAAcC,MAAAA,QAClB,OAAO;AAAA,IACLL,iBAAiBA,mBAAmBF;AAAAA,IACpCL;AAAAA,IACAC;AAAAA,IACAF;AAAAA,IACAS,SAASA,UAAU;AAAA,EAAA,IAErB,CAACR,WAAWC,gBAAgBF,aAAaS,SAASD,eAAe,CACnE;AAEA,QAAMM,iBAAiBA,MAAM;AAC3B,QAAI,CAACd,aAAa;AACTG,aAAAA;AAAAA,IACT;AAEMY,UAAAA,cAAcpB,eAAAA,QAAMqB,SAASC,QAAQd,QAAQ,EAChDe,IAAI,CAACC,UAAeA,MAAMC,MAAMC,YAAY,CAACF,MAAMC,MAAME,QAAQ,EACjEC,OAAO,CAACC,QAAQH,aAAaG,UAAUH,UAAU,KAAK;AAEzD,WAAO1B,eAAAA,QAAMqB,SAASE,IAAIf,UAAU,CAACgB,OAAYM,MAAM;AACrD,YAAMC,WACJP,MAAMC,MAAMM,YACX,CAACX,eAAeU,MAAM,KACtBN,MAAMC,MAAMC,YAAY,CAACF,MAAMC,MAAME,WAClC,IACA;AAEC3B,aAAAA,eAAAA,QAAMgC,aAAaR,OAAO;AAAA,QAC/BO;AAAAA,QACA1B;AAAAA,MAAAA,CACD;AAAA,IAAA,CACF;AAAA,EAAA;AAGG4B,QAAAA,YAAYC,WAAAA,WAAWxB,aAAaC,YAAY;AAGpDwB,SAAAA,2BAAAA,IAACnB,oBAAcoB,UAAQ;AAAA,IAACC,OAAOpB;AAAAA,IAAYT,yCACzC,MAAA;AAAA,MACE8B,KAAKL;AAAAA,MACL/B;AAAAA,MACAE,WAAWmC,KAAKnC,KAAAA,WAAWoC,qBAAqBC,QAAAA,MAAMtC,mCAASsC,IAAI;AAAA,MAAE,GACjEhC;AAAAA,MAAMD,UAETW,eAAe;AAAA,IAAA,CACd;AAAA,EAAA,CACkB;AAE5B,CACF;;"}
1
+ {"version":3,"file":"ListContainer.cjs","sources":["../../../../src/components/ListContainer/ListContainer.tsx"],"sourcesContent":["import React, { useRef, useContext, useMemo } from \"react\";\n\nimport { clsx } from \"clsx\";\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { useForkRef } from \"@core/hooks/useForkRef\";\n\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\nimport HvListContext from \"./ListContext\";\nimport listContainerClasses, {\n HvListContainerClasses,\n} from \"./listContainerClasses\";\n\nexport interface HvListContainerProps extends HvBaseProps<HTMLUListElement> {\n /**\n * If the list items should be focusable and react to mouse over events.\n * Defaults to true if the list is selectable, false otherwise.\n */\n interactive?: boolean;\n /** If `true` compact the vertical spacing between list items. */\n condensed?: boolean;\n /** If `true`, the list items' left and right padding is removed. */\n disableGutters?: boolean;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvListContainerClasses;\n}\n\n/**\n * A <b>list</b> is any enumeration of a set of items.\n * The simple list is for continuous <b>vertical indexes of text or icons+text</b>. The content of these lists must be simple: ideally simples fields.\n * This pattern is ideal for <b>selections</b>. It should be used inside a HvPanel.\n */\nexport const HvListContainer = React.forwardRef(\n (props: HvListContainerProps, externalRef) => {\n const {\n id,\n classes,\n className,\n interactive = false,\n condensed,\n disableGutters,\n children,\n ...others\n } = useDefaultProps(\"HvListContainer\", props);\n const containerRef = useRef(null);\n\n const { topContainerRef, nesting = -1 } = useContext<any>(HvListContext);\n\n const listContext = useMemo(\n () => ({\n topContainerRef: topContainerRef || containerRef,\n condensed,\n disableGutters,\n interactive,\n nesting: nesting + 1,\n }),\n [condensed, disableGutters, interactive, nesting, topContainerRef]\n );\n\n const renderChildren = () => {\n if (!interactive) {\n return children;\n }\n\n const anySelected = React.Children.toArray(children)\n .map((child: any) => child.props.selected && !child.props.disabled)\n .reduce((result, selected) => result || selected, false);\n\n return React.Children.map(children, (child: any, i) => {\n const tabIndex =\n child.props.tabIndex ||\n (!anySelected && i === 0) ||\n (child.props.selected && !child.props.disabled)\n ? 0\n : -1;\n\n return React.cloneElement(child, {\n tabIndex,\n interactive,\n });\n });\n };\n\n const handleRef = useForkRef(externalRef, containerRef);\n\n return (\n <HvListContext.Provider value={listContext}>\n <ul\n ref={handleRef}\n id={id}\n className={clsx(className, listContainerClasses.root, classes?.root)}\n {...others}\n >\n {renderChildren()}\n </ul>\n </HvListContext.Provider>\n );\n }\n);\n"],"names":["HvListContainer","React","forwardRef","props","externalRef","id","classes","className","interactive","condensed","disableGutters","children","others","useDefaultProps","containerRef","useRef","topContainerRef","nesting","useContext","HvListContext","listContext","useMemo","renderChildren","anySelected","Children","toArray","map","child","selected","disabled","reduce","result","i","tabIndex","cloneElement","handleRef","useForkRef","_jsx","Provider","value","ref","clsx","listContainerClasses","root"],"mappings":";;;;;;;;;;;AA+BO,MAAMA,kBAAkBC,eAAAA,QAAMC,WACnC,CAACC,OAA6BC,gBAAgB;AACtC,QAAA;AAAA,IACJC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC,cAAc;AAAA,IACdC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACA,GAAGC;AAAAA,EAAAA,IACDC,gBAAgB,gBAAA,mBAAmBV,KAAK;AACtCW,QAAAA,eAAeC,aAAO,IAAI;AAE1B,QAAA;AAAA,IAAEC;AAAAA,IAAiBC,UAAU;AAAA,EAAA,IAAOC,MAAAA,WAAgBC,YAAAA,OAAa;AAEjEC,QAAAA,cAAcC,MAAAA,QAClB,OAAO;AAAA,IACLL,iBAAiBA,mBAAmBF;AAAAA,IACpCL;AAAAA,IACAC;AAAAA,IACAF;AAAAA,IACAS,SAASA,UAAU;AAAA,EAAA,IAErB,CAACR,WAAWC,gBAAgBF,aAAaS,SAASD,eAAe,CACnE;AAEA,QAAMM,iBAAiBA,MAAM;AAC3B,QAAI,CAACd,aAAa;AACTG,aAAAA;AAAAA,IACT;AAEMY,UAAAA,cAActB,eAAAA,QAAMuB,SAASC,QAAQd,QAAQ,EAChDe,IAAI,CAACC,UAAeA,MAAMxB,MAAMyB,YAAY,CAACD,MAAMxB,MAAM0B,QAAQ,EACjEC,OAAO,CAACC,QAAQH,aAAaG,UAAUH,UAAU,KAAK;AAEzD,WAAO3B,eAAAA,QAAMuB,SAASE,IAAIf,UAAU,CAACgB,OAAYK,MAAM;AACrD,YAAMC,WACJN,MAAMxB,MAAM8B,YACX,CAACV,eAAeS,MAAM,KACtBL,MAAMxB,MAAMyB,YAAY,CAACD,MAAMxB,MAAM0B,WAClC,IACA;AAEC5B,aAAAA,eAAAA,QAAMiC,aAAaP,OAAO;AAAA,QAC/BM;AAAAA,QACAzB;AAAAA,MAAAA,CACD;AAAA,IAAA,CACF;AAAA,EAAA;AAGG2B,QAAAA,YAAYC,WAAAA,WAAWhC,aAAaU,YAAY;AAGpDuB,SAAAA,2BAAAA,IAAClB,oBAAcmB,UAAQ;AAAA,IAACC,OAAOnB;AAAAA,IAAYT,yCACzC,MAAA;AAAA,MACE6B,KAAKL;AAAAA,MACL9B;AAAAA,MACAE,WAAWkC,KAAKlC,KAAAA,WAAWmC,qBAAqBC,QAAAA,MAAMrC,mCAASqC,IAAI;AAAA,MAAE,GACjE/B;AAAAA,MAAMD,UAETW,eAAe;AAAA,IAAA,CACd;AAAA,EAAA,CACkB;AAE5B,CACF;;"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const clsx = require("clsx");
4
4
  const React = require("react");
5
+ const useDefaultProps = require("../../../hooks/useDefaultProps.cjs");
5
6
  const ListItem_styles = require("./ListItem.styles.cjs");
6
7
  const listItemClasses = require("./listItemClasses.cjs");
7
8
  const jsxRuntime = require("@emotion/react/jsx-runtime");
@@ -29,24 +30,25 @@ const applyClassNameToElement = (element, className, externalClassname) => {
29
30
  }
30
31
  return null;
31
32
  };
32
- const HvListItem = ({
33
- id,
34
- classes,
35
- className,
36
- role,
37
- value,
38
- selected,
39
- disabled,
40
- interactive: interactiveProp,
41
- condensed: condensedProp,
42
- disableGutters: disableGuttersProp,
43
- startAdornment,
44
- endAdornment,
45
- onClick,
46
- children,
47
- tabIndex,
48
- ...others
49
- }) => {
33
+ const HvListItem = (props) => {
34
+ const {
35
+ id,
36
+ classes,
37
+ className,
38
+ role,
39
+ value,
40
+ selected,
41
+ disabled,
42
+ interactive: interactiveProp,
43
+ condensed: condensedProp,
44
+ disableGutters: disableGuttersProp,
45
+ startAdornment,
46
+ endAdornment,
47
+ onClick,
48
+ children,
49
+ tabIndex,
50
+ ...others
51
+ } = useDefaultProps.useDefaultProps("HvListItem", props);
50
52
  const {
51
53
  topContainerRef,
52
54
  condensed: condensedContext,
@@ -1 +1 @@
1
- {"version":3,"file":"ListItem.cjs","sources":["../../../../../src/components/ListContainer/ListItem/ListItem.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\n\nimport React, { useCallback, useContext, useMemo } from \"react\";\n\nimport { HvBaseProps } from \"@core/types/generic\";\n\nimport HvListContext from \"../ListContext\";\nimport { StyledListItem, StyledFocus } from \"./ListItem.styles\";\nimport listItemClasses, { HvListItemClasses } from \"./listItemClasses\";\n\nexport interface HvListItemProps extends HvBaseProps<HTMLLIElement> {\n /**\n * Overrides the implicit list item role.\n * It defaults to \"option\" if unspecified and the container list role is \"listbox\".\n */\n role?: string;\n /** Indicates if the list item is selected. */\n selected?: boolean;\n /** If true, the list item will be disabled. */\n disabled?: boolean;\n /**\n * If the list item is focusable and reacts to mouse over events.\n * Defaults to true if the container list is interactive, false otherwise.\n */\n interactive?: boolean;\n /**\n * If `true` compacts the vertical spacing intended to separate the list items.\n * Defaults to the value set in container list.\n */\n condensed?: boolean;\n /**\n * If `true`, the left and right padding is removed.\n * Defaults to the value set in container list.\n */\n disableGutters?: boolean;\n /**\n * Element placed before the children.\n * Also removes the left padding (gutter).\n *\n * Some modifications are applied, assuming that it is either an icon (changing the color when the item is disabled)\n * or a selector (preventing the double focus ring, propagating the checked and disabled states and wiring the onChange event).\n * If unwanted, the element should be placed directly as a child.\n */\n startAdornment?: React.ReactNode;\n /**\n * Element placed after the children and aligned next to the margin.\n * Also removes the right padding (gutter).\n *\n * Some modifications are applied, assuming that it is an icon (changing the color when the item is disabled).\n * If unwanted, the element should be placed directly as a child.\n */\n endAdornment?: React.ReactNode;\n /** The value to be set on the 'li' element */\n value?: any;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvListItemClasses;\n}\n\nconst applyClassNameAndStateToElement = (\n element,\n selected,\n disabled,\n onClick,\n className,\n externalClassname\n) => {\n if (element != null) {\n return React.cloneElement(element, {\n className: clsx(className, externalClassname, element?.props?.className),\n checked: !!selected,\n disabled,\n onChange: (evt) => onClick?.(evt),\n });\n }\n\n return null;\n};\n\nconst applyClassNameToElement = (element, className, externalClassname) => {\n if (element != null) {\n return React.cloneElement(element, {\n className: clsx(className, externalClassname, element?.props?.className),\n });\n }\n\n return null;\n};\n\n/**\n * ListItem description/documentation paragraph\n */\nexport const HvListItem = ({\n id,\n classes,\n className,\n role,\n value,\n selected,\n disabled,\n interactive: interactiveProp,\n condensed: condensedProp,\n disableGutters: disableGuttersProp,\n startAdornment,\n endAdornment,\n onClick,\n children,\n tabIndex,\n ...others\n}: HvListItemProps) => {\n const {\n topContainerRef,\n condensed: condensedContext,\n disableGutters: disableGuttersContext,\n interactive: interactiveContext,\n } = useContext<any>(HvListContext);\n\n const condensed = condensedProp != null ? condensedProp : condensedContext;\n const disableGutters =\n disableGuttersProp != null ? disableGuttersProp : disableGuttersContext;\n const interactive =\n interactiveProp != null ? interactiveProp : interactiveContext;\n\n const handleOnClick = useCallback(\n (evt) => {\n if (!disabled) {\n onClick?.(evt);\n }\n },\n [disabled, onClick]\n );\n\n const clonedStartAdornment = useMemo(\n () =>\n applyClassNameAndStateToElement(\n startAdornment,\n selected,\n disabled,\n handleOnClick,\n clsx(\n listItemClasses.startAdornment,\n disabled && listItemClasses.disabled\n ),\n clsx(classes?.startAdornment, disabled && classes?.disabled)\n ),\n [\n classes?.startAdornment,\n classes?.disabled,\n disabled,\n handleOnClick,\n selected,\n startAdornment,\n ]\n );\n const clonedEndAdornment = useMemo(\n () =>\n applyClassNameToElement(\n endAdornment,\n clsx(\n listItemClasses.endAdornment,\n disabled && listItemClasses.disabled\n ),\n clsx(classes?.endAdornment, disabled && classes?.disabled)\n ),\n [classes?.endAdornment, classes?.disabled, disabled, endAdornment]\n );\n\n const roleOptionAriaProps =\n role === \"option\" || role === \"menuitem\"\n ? {\n \"aria-disabled\": disabled || undefined,\n \"aria-selected\": selected,\n }\n : {};\n\n const listItem = (\n <StyledListItem\n id={id}\n role={role}\n value={value}\n onClick={handleOnClick}\n onKeyDown={() => {}}\n className={clsx(\n className,\n listItemClasses.root,\n classes?.root,\n !disableGutters && clsx(listItemClasses.gutters, classes?.gutters),\n condensed && clsx(listItemClasses.condensed, classes?.condensed),\n interactive && clsx(listItemClasses.interactive, classes?.interactive),\n selected && clsx(listItemClasses.selected, classes?.selected),\n disabled && clsx(listItemClasses.disabled, classes?.disabled),\n startAdornment != null &&\n clsx(listItemClasses.withStartAdornment, classes?.withStartAdornment),\n endAdornment != null &&\n clsx(listItemClasses.withEndAdornment, classes?.withEndAdornment)\n )}\n $gutters={!disableGutters}\n $interactive={interactive}\n $disabled={disabled || false}\n $selected={selected || false}\n $startAdornment={startAdornment != null}\n $endAdornment={endAdornment != null}\n {...roleOptionAriaProps}\n {...others}\n >\n {clonedStartAdornment}\n {children}\n {clonedEndAdornment}\n </StyledListItem>\n );\n\n return interactiveProp ? (\n <StyledFocus\n rootRef={topContainerRef}\n selected={selected}\n disabledClass={disabled || undefined}\n strategy={role === \"option\" ? \"listbox\" : \"menu\"}\n classes={{ focus: clsx(classes?.focus, listItemClasses.focus) }}\n configuration={{\n tabIndex,\n }}\n >\n {listItem}\n </StyledFocus>\n ) : (\n listItem\n );\n};\n"],"names":["applyClassNameAndStateToElement","element","selected","disabled","onClick","className","externalClassname","React","cloneElement","clsx","props","checked","onChange","evt","applyClassNameToElement","HvListItem","id","classes","role","value","interactive","interactiveProp","condensed","condensedProp","disableGutters","disableGuttersProp","startAdornment","endAdornment","children","tabIndex","others","topContainerRef","condensedContext","disableGuttersContext","interactiveContext","useContext","HvListContext","handleOnClick","useCallback","clonedStartAdornment","useMemo","listItemClasses","clonedEndAdornment","roleOptionAriaProps","undefined","listItem","StyledListItem","onKeyDown","root","gutters","withStartAdornment","withEndAdornment","$gutters","$interactive","$disabled","$selected","$startAdornment","$endAdornment","StyledFocus","rootRef","disabledClass","strategy","focus","configuration"],"mappings":"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"}
1
+ {"version":3,"file":"ListItem.cjs","sources":["../../../../../src/components/ListContainer/ListItem/ListItem.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\n\nimport React, { useCallback, useContext, useMemo } from \"react\";\n\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\n\nimport HvListContext from \"../ListContext\";\nimport { StyledListItem, StyledFocus } from \"./ListItem.styles\";\nimport listItemClasses, { HvListItemClasses } from \"./listItemClasses\";\n\nexport interface HvListItemProps extends HvBaseProps<HTMLLIElement> {\n /**\n * Overrides the implicit list item role.\n * It defaults to \"option\" if unspecified and the container list role is \"listbox\".\n */\n role?: string;\n /** Indicates if the list item is selected. */\n selected?: boolean;\n /** If true, the list item will be disabled. */\n disabled?: boolean;\n /**\n * If the list item is focusable and reacts to mouse over events.\n * Defaults to true if the container list is interactive, false otherwise.\n */\n interactive?: boolean;\n /**\n * If `true` compacts the vertical spacing intended to separate the list items.\n * Defaults to the value set in container list.\n */\n condensed?: boolean;\n /**\n * If `true`, the left and right padding is removed.\n * Defaults to the value set in container list.\n */\n disableGutters?: boolean;\n /**\n * Element placed before the children.\n * Also removes the left padding (gutter).\n *\n * Some modifications are applied, assuming that it is either an icon (changing the color when the item is disabled)\n * or a selector (preventing the double focus ring, propagating the checked and disabled states and wiring the onChange event).\n * If unwanted, the element should be placed directly as a child.\n */\n startAdornment?: React.ReactNode;\n /**\n * Element placed after the children and aligned next to the margin.\n * Also removes the right padding (gutter).\n *\n * Some modifications are applied, assuming that it is an icon (changing the color when the item is disabled).\n * If unwanted, the element should be placed directly as a child.\n */\n endAdornment?: React.ReactNode;\n /** The value to be set on the 'li' element */\n value?: any;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvListItemClasses;\n}\n\nconst applyClassNameAndStateToElement = (\n element,\n selected,\n disabled,\n onClick,\n className,\n externalClassname\n) => {\n if (element != null) {\n return React.cloneElement(element, {\n className: clsx(className, externalClassname, element?.props?.className),\n checked: !!selected,\n disabled,\n onChange: (evt) => onClick?.(evt),\n });\n }\n\n return null;\n};\n\nconst applyClassNameToElement = (element, className, externalClassname) => {\n if (element != null) {\n return React.cloneElement(element, {\n className: clsx(className, externalClassname, element?.props?.className),\n });\n }\n\n return null;\n};\n\n/**\n * ListItem description/documentation paragraph\n */\nexport const HvListItem = (props: HvListItemProps) => {\n const {\n id,\n classes,\n className,\n role,\n value,\n selected,\n disabled,\n interactive: interactiveProp,\n condensed: condensedProp,\n disableGutters: disableGuttersProp,\n startAdornment,\n endAdornment,\n onClick,\n children,\n tabIndex,\n ...others\n } = useDefaultProps(\"HvListItem\", props);\n\n const {\n topContainerRef,\n condensed: condensedContext,\n disableGutters: disableGuttersContext,\n interactive: interactiveContext,\n } = useContext<any>(HvListContext);\n\n const condensed = condensedProp != null ? condensedProp : condensedContext;\n const disableGutters =\n disableGuttersProp != null ? disableGuttersProp : disableGuttersContext;\n const interactive =\n interactiveProp != null ? interactiveProp : interactiveContext;\n\n const handleOnClick = useCallback(\n (evt) => {\n if (!disabled) {\n onClick?.(evt);\n }\n },\n [disabled, onClick]\n );\n\n const clonedStartAdornment = useMemo(\n () =>\n applyClassNameAndStateToElement(\n startAdornment,\n selected,\n disabled,\n handleOnClick,\n clsx(\n listItemClasses.startAdornment,\n disabled && listItemClasses.disabled\n ),\n clsx(classes?.startAdornment, disabled && classes?.disabled)\n ),\n [\n classes?.startAdornment,\n classes?.disabled,\n disabled,\n handleOnClick,\n selected,\n startAdornment,\n ]\n );\n const clonedEndAdornment = useMemo(\n () =>\n applyClassNameToElement(\n endAdornment,\n clsx(\n listItemClasses.endAdornment,\n disabled && listItemClasses.disabled\n ),\n clsx(classes?.endAdornment, disabled && classes?.disabled)\n ),\n [classes?.endAdornment, classes?.disabled, disabled, endAdornment]\n );\n\n const roleOptionAriaProps =\n role === \"option\" || role === \"menuitem\"\n ? {\n \"aria-disabled\": disabled || undefined,\n \"aria-selected\": selected,\n }\n : {};\n\n const listItem = (\n <StyledListItem\n id={id}\n role={role}\n value={value}\n onClick={handleOnClick}\n onKeyDown={() => {}}\n className={clsx(\n className,\n listItemClasses.root,\n classes?.root,\n !disableGutters && clsx(listItemClasses.gutters, classes?.gutters),\n condensed && clsx(listItemClasses.condensed, classes?.condensed),\n interactive && clsx(listItemClasses.interactive, classes?.interactive),\n selected && clsx(listItemClasses.selected, classes?.selected),\n disabled && clsx(listItemClasses.disabled, classes?.disabled),\n startAdornment != null &&\n clsx(listItemClasses.withStartAdornment, classes?.withStartAdornment),\n endAdornment != null &&\n clsx(listItemClasses.withEndAdornment, classes?.withEndAdornment)\n )}\n $gutters={!disableGutters}\n $interactive={interactive}\n $disabled={disabled || false}\n $selected={selected || false}\n $startAdornment={startAdornment != null}\n $endAdornment={endAdornment != null}\n {...roleOptionAriaProps}\n {...others}\n >\n {clonedStartAdornment}\n {children}\n {clonedEndAdornment}\n </StyledListItem>\n );\n\n return interactiveProp ? (\n <StyledFocus\n rootRef={topContainerRef}\n selected={selected}\n disabledClass={disabled || undefined}\n strategy={role === \"option\" ? \"listbox\" : \"menu\"}\n classes={{ focus: clsx(classes?.focus, listItemClasses.focus) }}\n configuration={{\n tabIndex,\n }}\n >\n {listItem}\n </StyledFocus>\n ) : (\n listItem\n );\n};\n"],"names":["applyClassNameAndStateToElement","element","selected","disabled","onClick","className","externalClassname","React","cloneElement","clsx","props","checked","onChange","evt","applyClassNameToElement","HvListItem","id","classes","role","value","interactive","interactiveProp","condensed","condensedProp","disableGutters","disableGuttersProp","startAdornment","endAdornment","children","tabIndex","others","useDefaultProps","topContainerRef","condensedContext","disableGuttersContext","interactiveContext","useContext","HvListContext","handleOnClick","useCallback","clonedStartAdornment","useMemo","listItemClasses","clonedEndAdornment","roleOptionAriaProps","undefined","listItem","StyledListItem","onKeyDown","root","gutters","withStartAdornment","withEndAdornment","$gutters","$interactive","$disabled","$selected","$startAdornment","$endAdornment","StyledFocus","rootRef","disabledClass","strategy","focus","configuration"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const uikitStyles = require("@hitachivantara/uikit-styles");
4
+ const useDefaultProps = require("../../hooks/useDefaultProps.cjs");
4
5
  const clsx = require("clsx");
5
6
  const range = require("lodash/range");
6
7
  const Loading_styles = require("./Loading.styles.cjs");
@@ -17,7 +18,7 @@ const HvLoading = (props) => {
17
18
  classes,
18
19
  className,
19
20
  ...others
20
- } = props;
21
+ } = useDefaultProps.useDefaultProps("HvLoading", props);
21
22
  const getColor = (colorName) => {
22
23
  return color ? uikitStyles.theme.colors[color] || color : uikitStyles.theme.colors[colorName];
23
24
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Loading.cjs","sources":["../../../../src/components/Loading/Loading.tsx"],"sourcesContent":["import { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { clsx } from \"clsx\";\n\nimport range from \"lodash/range\";\n\nimport { HvBaseProps } from \"@core/types/generic\";\n\nimport {\n StyledBar,\n StyledBarContainer,\n StyledLabel,\n StyledRoot,\n} from \"./Loading.styles\";\nimport loadingClasses, { HvLoadingClasses } from \"./loadingClasses\";\n\nexport interface HvLoadingProps extends HvBaseProps {\n /** Indicates if the component should be render in a small size. */\n small?: boolean;\n /** The label to be displayed. */\n label?: string | React.ReactNode;\n /** Whether the loading animation is hidden. */\n hidden?: boolean;\n /** Color applied to the bars. */\n color?: string;\n classes?: HvLoadingClasses;\n}\n\n/**\n * Loading provides feedback about a process that is taking place in the application.\n */\nexport const HvLoading = (props: HvLoadingProps) => {\n const { color, hidden, small, label, classes, className, ...others } = props;\n\n const getColor = (colorName: string) => {\n return color ? theme.colors[color] || color : theme.colors[colorName];\n };\n\n const size = small ? \"small\" : \"regular\";\n const colorVariant = color ? \"Color\" : \"\";\n const variant = `${size}${colorVariant}`;\n\n const inline = { backgroundColor: getColor(small ? \"secondary\" : \"brand\") };\n return (\n <StyledRoot\n hidden={!!hidden}\n className={clsx(\n className,\n loadingClasses.root,\n classes?.root,\n hidden && clsx(classes?.hidden, loadingClasses.hidden)\n )}\n {...others}\n >\n <StyledBarContainer\n className={clsx(loadingClasses.barContainer, classes?.barContainer)}\n >\n {range(0, 3).map((e) => (\n <StyledBar\n key={e}\n style={inline}\n className={clsx(\n loadingClasses.loadingBar,\n classes?.loadingBar,\n loadingClasses[variant],\n classes?.[variant]\n )}\n $variant={variant}\n />\n ))}\n </StyledBarContainer>\n {label && (\n <StyledLabel\n variant=\"caption1\"\n className={clsx(loadingClasses.label, classes?.label)}\n >\n {label}\n </StyledLabel>\n )}\n </StyledRoot>\n );\n};\n"],"names":["HvLoading","props","color","hidden","small","label","classes","className","others","getColor","colorName","theme","colors","size","colorVariant","variant","inline","backgroundColor","StyledRoot","clsx","loadingClasses","root","children","_jsx","StyledBarContainer","barContainer","range","map","e","StyledBar","style","loadingBar","$variant","StyledLabel"],"mappings":";;;;;;;;;;AA+BaA,MAAAA,YAAYA,CAACC,UAA0B;AAC5C,QAAA;AAAA,IAAEC;AAAAA,IAAOC;AAAAA,IAAQC;AAAAA,IAAOC;AAAAA,IAAOC;AAAAA,IAASC;AAAAA,IAAW,GAAGC;AAAAA,EAAWP,IAAAA;AAEjEQ,QAAAA,WAAWA,CAACC,cAAsB;AAC/BR,WAAAA,QAAQS,kBAAMC,OAAOV,KAAK,KAAKA,QAAQS,YAAAA,MAAMC,OAAOF,SAAS;AAAA,EAAA;AAGhEG,QAAAA,OAAOT,QAAQ,UAAU;AACzBU,QAAAA,eAAeZ,QAAQ,UAAU;AACjCa,QAAAA,UAAW,GAAEF,OAAOC;AAE1B,QAAME,SAAS;AAAA,IAAEC,iBAAiBR,SAASL,QAAQ,cAAc,OAAO;AAAA,EAAA;AACxE,yCACGc,eAAAA,YAAU;AAAA,IACTf,QAAQ,CAAC,CAACA;AAAAA,IACVI,WAAWY,KAAAA,KACTZ,WACAa,eAAAA,QAAeC,MACff,mCAASe,MACTlB,UAAUgB,KAAKb,KAAAA,mCAASH,QAAQiB,eAAAA,QAAejB,MAAM,CACvD;AAAA,IAAE,GACEK;AAAAA,IAAMc,UAAA,CAEVC,2BAAAA,IAACC,mCAAkB;AAAA,MACjBjB,WAAWY,KAAAA,KAAKC,eAAAA,QAAeK,cAAcnB,mCAASmB,YAAY;AAAA,MAAEH,UAEnEI,eAAAA,QAAM,GAAG,CAAC,EAAEC,IAAKC,CAAAA,qCACfC,0BAAS;AAAA,QAERC,OAAOd;AAAAA,QACPT,WAAWY,KACTC,KAAAA,uBAAeW,YACfzB,mCAASyB,YACTX,eAAAA,QAAeL,OAAO,GACtBT,mCAAUS,QACZ;AAAA,QACAiB,UAAUjB;AAAAA,MAAQ,GARba,CASN,CACF;AAAA,IAAA,CACiB,GACnBvB,SACCkB,2BAAAA,IAACU,4BAAW;AAAA,MACVlB,SAAQ;AAAA,MACRR,WAAWY,KAAAA,KAAKC,eAAAA,QAAef,OAAOC,mCAASD,KAAK;AAAA,MAAEiB,UAErDjB;AAAAA,IAAAA,CACU,CACd;AAAA,EAAA,CACS;AAEhB;;"}
1
+ {"version":3,"file":"Loading.cjs","sources":["../../../../src/components/Loading/Loading.tsx"],"sourcesContent":["import { theme } from \"@hitachivantara/uikit-styles\";\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\n\nimport { clsx } from \"clsx\";\n\nimport range from \"lodash/range\";\n\nimport { HvBaseProps } from \"@core/types/generic\";\n\nimport {\n StyledBar,\n StyledBarContainer,\n StyledLabel,\n StyledRoot,\n} from \"./Loading.styles\";\nimport loadingClasses, { HvLoadingClasses } from \"./loadingClasses\";\n\nexport interface HvLoadingProps extends HvBaseProps {\n /** Indicates if the component should be render in a small size. */\n small?: boolean;\n /** The label to be displayed. */\n label?: string | React.ReactNode;\n /** Whether the loading animation is hidden. */\n hidden?: boolean;\n /** Color applied to the bars. */\n color?: string;\n classes?: HvLoadingClasses;\n}\n\n/**\n * Loading provides feedback about a process that is taking place in the application.\n */\nexport const HvLoading = (props: HvLoadingProps) => {\n const { color, hidden, small, label, classes, className, ...others } =\n useDefaultProps(\"HvLoading\", props);\n\n const getColor = (colorName: string) => {\n return color ? theme.colors[color] || color : theme.colors[colorName];\n };\n\n const size = small ? \"small\" : \"regular\";\n const colorVariant = color ? \"Color\" : \"\";\n const variant = `${size}${colorVariant}`;\n\n const inline = { backgroundColor: getColor(small ? \"secondary\" : \"brand\") };\n return (\n <StyledRoot\n hidden={!!hidden}\n className={clsx(\n className,\n loadingClasses.root,\n classes?.root,\n hidden && clsx(classes?.hidden, loadingClasses.hidden)\n )}\n {...others}\n >\n <StyledBarContainer\n className={clsx(loadingClasses.barContainer, classes?.barContainer)}\n >\n {range(0, 3).map((e) => (\n <StyledBar\n key={e}\n style={inline}\n className={clsx(\n loadingClasses.loadingBar,\n classes?.loadingBar,\n loadingClasses[variant],\n classes?.[variant]\n )}\n $variant={variant}\n />\n ))}\n </StyledBarContainer>\n {label && (\n <StyledLabel\n variant=\"caption1\"\n className={clsx(loadingClasses.label, classes?.label)}\n >\n {label}\n </StyledLabel>\n )}\n </StyledRoot>\n );\n};\n"],"names":["HvLoading","props","color","hidden","small","label","classes","className","others","useDefaultProps","getColor","colorName","theme","colors","size","colorVariant","variant","inline","backgroundColor","StyledRoot","clsx","loadingClasses","root","children","_jsx","StyledBarContainer","barContainer","range","map","e","StyledBar","style","loadingBar","$variant","StyledLabel"],"mappings":";;;;;;;;;;;AAgCaA,MAAAA,YAAYA,CAACC,UAA0B;AAC5C,QAAA;AAAA,IAAEC;AAAAA,IAAOC;AAAAA,IAAQC;AAAAA,IAAOC;AAAAA,IAAOC;AAAAA,IAASC;AAAAA,IAAW,GAAGC;AAAAA,EAAAA,IAC1DC,gBAAgB,gBAAA,aAAaR,KAAK;AAE9BS,QAAAA,WAAWA,CAACC,cAAsB;AAC/BT,WAAAA,QAAQU,kBAAMC,OAAOX,KAAK,KAAKA,QAAQU,YAAAA,MAAMC,OAAOF,SAAS;AAAA,EAAA;AAGhEG,QAAAA,OAAOV,QAAQ,UAAU;AACzBW,QAAAA,eAAeb,QAAQ,UAAU;AACjCc,QAAAA,UAAW,GAAEF,OAAOC;AAE1B,QAAME,SAAS;AAAA,IAAEC,iBAAiBR,SAASN,QAAQ,cAAc,OAAO;AAAA,EAAA;AACxE,yCACGe,eAAAA,YAAU;AAAA,IACThB,QAAQ,CAAC,CAACA;AAAAA,IACVI,WAAWa,KAAAA,KACTb,WACAc,eAAAA,QAAeC,MACfhB,mCAASgB,MACTnB,UAAUiB,KAAKd,KAAAA,mCAASH,QAAQkB,eAAAA,QAAelB,MAAM,CACvD;AAAA,IAAE,GACEK;AAAAA,IAAMe,UAAA,CAEVC,2BAAAA,IAACC,mCAAkB;AAAA,MACjBlB,WAAWa,KAAAA,KAAKC,eAAAA,QAAeK,cAAcpB,mCAASoB,YAAY;AAAA,MAAEH,UAEnEI,eAAAA,QAAM,GAAG,CAAC,EAAEC,IAAKC,CAAAA,qCACfC,0BAAS;AAAA,QAERC,OAAOd;AAAAA,QACPV,WAAWa,KACTC,KAAAA,uBAAeW,YACf1B,mCAAS0B,YACTX,eAAAA,QAAeL,OAAO,GACtBV,mCAAUU,QACZ;AAAA,QACAiB,UAAUjB;AAAAA,MAAQ,GARba,CASN,CACF;AAAA,IAAA,CACiB,GACnBxB,SACCmB,2BAAAA,IAACU,4BAAW;AAAA,MACVlB,SAAQ;AAAA,MACRT,WAAWa,KAAAA,KAAKC,eAAAA,QAAehB,OAAOC,mCAASD,KAAK;AAAA,MAAEkB,UAErDlB;AAAAA,IAAAA,CACU,CACd;AAAA,EAAA,CACS;AAEhB;;"}
@@ -1,17 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const clsx = require("clsx");
4
+ const useDefaultProps = require("../../hooks/useDefaultProps.cjs");
4
5
  const Login_styles = require("./Login.styles.cjs");
5
6
  const loginClasses = require("./loginClasses.cjs");
6
7
  const jsxRuntime = require("@emotion/react/jsx-runtime");
7
- const HvLogin = ({
8
- id,
9
- className,
10
- classes,
11
- children,
12
- background,
13
- ...others
14
- }) => {
8
+ const HvLogin = (props) => {
9
+ const {
10
+ id,
11
+ className,
12
+ classes,
13
+ children,
14
+ background,
15
+ ...others
16
+ } = useDefaultProps.useDefaultProps("HvLogin", props);
15
17
  return /* @__PURE__ */ jsxRuntime.jsx(Login_styles.StyledRoot, {
16
18
  id,
17
19
  className: clsx.clsx(className, loginClasses.default.root, classes == null ? void 0 : classes.root),
@@ -1 +1 @@
1
- {"version":3,"file":"Login.cjs","sources":["../../../../src/components/Login/Login.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\n\nimport { HvBaseProps } from \"@core/types/generic\";\n\nimport { StyledFormContainer, StyledRoot } from \"./Login.styles\";\nimport loginClasses, { HvLoginClasses } from \"./loginClasses\";\n\nexport interface HvLoginProps extends HvBaseProps {\n /**\n * The path for the background image.\n */\n background?: string;\n /**\n * Class names to be applied.\n */\n classes?: HvLoginClasses;\n}\n\n/**\n * Container layout for the login form.\n */\nexport const HvLogin = ({\n id,\n className,\n classes,\n children,\n background,\n ...others\n}: HvLoginProps) => {\n return (\n <StyledRoot\n id={id}\n className={clsx(className, loginClasses.root, classes?.root)}\n style={{\n backgroundImage: background && `url(${background})`,\n }}\n {...others}\n >\n <StyledFormContainer\n className={clsx(loginClasses.formContainer, classes?.formContainer)}\n >\n {children}\n </StyledFormContainer>\n </StyledRoot>\n );\n};\n"],"names":["HvLogin","id","className","classes","children","background","others","StyledRoot","clsx","loginClasses","root","style","backgroundImage","StyledFormContainer","formContainer"],"mappings":";;;;;;AAqBO,MAAMA,UAAUA,CAAC;AAAA,EACtBC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACA,GAAGC;AACS,MAAM;AAClB,wCACGC,aAAAA,YAAU;AAAA,IACTN;AAAAA,IACAC,WAAWM,KAAKN,KAAAA,WAAWO,aAAaC,QAAAA,MAAMP,mCAASO,IAAI;AAAA,IAC3DC,OAAO;AAAA,MACLC,iBAAiBP,cAAe,OAAMA;AAAAA,IACxC;AAAA,IAAE,GACEC;AAAAA,IAAMF,yCAETS,kCAAmB;AAAA,MAClBX,WAAWM,KAAAA,KAAKC,aAAAA,QAAaK,eAAeX,mCAASW,aAAa;AAAA,MAAEV;AAAAA,IAAAA,CAGjD;AAAA,EAAA,CACX;AAEhB;;"}
1
+ {"version":3,"file":"Login.cjs","sources":["../../../../src/components/Login/Login.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\n\nimport { HvBaseProps } from \"@core/types/generic\";\n\nimport { StyledFormContainer, StyledRoot } from \"./Login.styles\";\nimport loginClasses, { HvLoginClasses } from \"./loginClasses\";\n\nexport interface HvLoginProps extends HvBaseProps {\n /**\n * The path for the background image.\n */\n background?: string;\n /**\n * Class names to be applied.\n */\n classes?: HvLoginClasses;\n}\n\n/**\n * Container layout for the login form.\n */\nexport const HvLogin = (props: HvLoginProps) => {\n const { id, className, classes, children, background, ...others } =\n useDefaultProps(\"HvLogin\", props);\n\n return (\n <StyledRoot\n id={id}\n className={clsx(className, loginClasses.root, classes?.root)}\n style={{\n backgroundImage: background && `url(${background})`,\n }}\n {...others}\n >\n <StyledFormContainer\n className={clsx(loginClasses.formContainer, classes?.formContainer)}\n >\n {children}\n </StyledFormContainer>\n </StyledRoot>\n );\n};\n"],"names":["HvLogin","props","id","className","classes","children","background","others","useDefaultProps","StyledRoot","clsx","loginClasses","root","style","backgroundImage","StyledFormContainer","formContainer"],"mappings":";;;;;;;AAsBaA,MAAAA,UAAUA,CAACC,UAAwB;AACxC,QAAA;AAAA,IAAEC;AAAAA,IAAIC;AAAAA,IAAWC;AAAAA,IAASC;AAAAA,IAAUC;AAAAA,IAAY,GAAGC;AAAAA,EAAAA,IACvDC,gBAAgB,gBAAA,WAAWP,KAAK;AAElC,wCACGQ,aAAAA,YAAU;AAAA,IACTP;AAAAA,IACAC,WAAWO,KAAKP,KAAAA,WAAWQ,aAAaC,QAAAA,MAAMR,mCAASQ,IAAI;AAAA,IAC3DC,OAAO;AAAA,MACLC,iBAAiBR,cAAe,OAAMA;AAAAA,IACxC;AAAA,IAAE,GACEC;AAAAA,IAAMF,yCAETU,kCAAmB;AAAA,MAClBZ,WAAWO,KAAAA,KAAKC,aAAAA,QAAaK,eAAeZ,mCAASY,aAAa;AAAA,MAAEX;AAAAA,IAAAA,CAGjD;AAAA,EAAA,CACX;AAEhB;;"}
@@ -1,21 +1,23 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const clsx = require("clsx");
4
+ const useDefaultProps = require("../../hooks/useDefaultProps.cjs");
4
5
  const React = require("react");
5
6
  const MultiButton_styles = require("./MultiButton.styles.cjs");
6
7
  const multiButtonClasses = require("./multiButtonClasses.cjs");
7
8
  const jsxRuntime = require("@emotion/react/jsx-runtime");
8
9
  const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
9
10
  const React__default = /* @__PURE__ */ _interopDefault(React);
10
- const HvMultiButton = ({
11
- className,
12
- children,
13
- classes,
14
- disabled = false,
15
- vertical = false,
16
- variant = "secondarySubtle",
17
- ...others
18
- }) => {
11
+ const HvMultiButton = (props) => {
12
+ const {
13
+ className,
14
+ children,
15
+ classes,
16
+ disabled = false,
17
+ vertical = false,
18
+ variant = "secondarySubtle",
19
+ ...others
20
+ } = useDefaultProps.useDefaultProps("HvMultiButton", props);
19
21
  return /* @__PURE__ */ jsxRuntime.jsx(MultiButton_styles.StyledRoot, {
20
22
  className: clsx.clsx(className, multiButtonClasses.default.root, classes == null ? void 0 : classes.root, vertical && clsx.clsx(classes == null ? void 0 : classes.vertical, multiButtonClasses.default.vertical)),
21
23
  $vertical: vertical,
@@ -1 +1 @@
1
- {"version":3,"file":"MultiButton.cjs","sources":["../../../../src/components/MultiButton/MultiButton.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\n\nimport React, { cloneElement } from \"react\";\n\nimport { HvButtonVariant } from \"@core/components/Button\";\nimport { HvBaseProps } from \"@core/types/generic\";\n\nimport { StyledButton, StyledRoot } from \"./MultiButton.styles\";\nimport multiButtonClasses, { HvMultiButtonClasses } from \"./multiButtonClasses\";\n\nexport interface HvMultiButtonProps extends HvBaseProps {\n /** If all the buttons are disabled. */\n disabled?: boolean;\n /** If the MultiButton is to be displayed vertically. */\n vertical?: boolean;\n /** Category of button to use */\n variant?: HvButtonVariant;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvMultiButtonClasses;\n}\n\nexport const HvMultiButton = ({\n className,\n children,\n classes,\n disabled = false,\n vertical = false,\n variant = \"secondarySubtle\",\n ...others\n}: HvMultiButtonProps) => {\n return (\n <StyledRoot\n className={clsx(\n className,\n multiButtonClasses.root,\n classes?.root,\n vertical && clsx(classes?.vertical, multiButtonClasses.vertical)\n )}\n $vertical={vertical}\n {...others}\n >\n {React.Children.map(children, (child) => {\n if (React.isValidElement(child)) {\n const childIsSelected = !!child.props.selected;\n\n const btn = cloneElement(child as React.ReactElement, {\n variant,\n disabled: disabled || child.props.disabled,\n \"aria-pressed\": childIsSelected,\n className: clsx(\n child.props.className,\n multiButtonClasses.button,\n classes?.button,\n childIsSelected &&\n clsx(multiButtonClasses.selected, classes?.selected)\n ),\n });\n\n const StyledBtn = StyledButton(btn);\n\n return React.createElement(StyledBtn);\n }\n })}\n </StyledRoot>\n );\n};\n"],"names":["HvMultiButton","className","children","classes","disabled","vertical","variant","others","StyledRoot","clsx","multiButtonClasses","root","$vertical","React","Children","map","child","isValidElement","childIsSelected","props","selected","btn","cloneElement","button","StyledBtn","StyledButton","createElement"],"mappings":";;;;;;;;;AAqBO,MAAMA,gBAAgBA,CAAC;AAAA,EAC5BC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC,WAAW;AAAA,EACXC,WAAW;AAAA,EACXC,UAAU;AAAA,EACV,GAAGC;AACe,MAAM;AACxB,wCACGC,mBAAAA,YAAU;AAAA,IACTP,WAAWQ,KAAAA,KACTR,WACAS,mBAAAA,QAAmBC,MACnBR,mCAASQ,MACTN,YAAYI,KAAKN,KAAAA,mCAASE,UAAUK,mBAAAA,QAAmBL,QAAQ,CACjE;AAAA,IACAO,WAAWP;AAAAA,IAAS,GAChBE;AAAAA,IAAML,UAETW,eAAAA,QAAMC,SAASC,IAAIb,UAAWc,CAAU,UAAA;AACnCH,UAAAA,eAAAA,QAAMI,eAAeD,KAAK,GAAG;AAC/B,cAAME,kBAAkB,CAAC,CAACF,MAAMG,MAAMC;AAEhCC,cAAAA,MAAMC,mBAAaN,OAA6B;AAAA,UACpDV;AAAAA,UACAF,UAAUA,YAAYY,MAAMG,MAAMf;AAAAA,UAClC,gBAAgBc;AAAAA,UAChBjB,WAAWQ,KAAAA,KACTO,MAAMG,MAAMlB,WACZS,mBAAmBa,QAAAA,QACnBpB,mCAASoB,QACTL,mBACET,KAAAA,KAAKC,mBAAAA,QAAmBU,UAAUjB,mCAASiB,QAAQ,CACvD;AAAA,QAAA,CACD;AAEKI,cAAAA,YAAYC,gCAAaJ,GAAG;AAE3BR,eAAAA,eAAAA,QAAMa,cAAcF,SAAS;AAAA,MACtC;AAAA,IAAA,CACD;AAAA,EAAA,CACS;AAEhB;;"}
1
+ {"version":3,"file":"MultiButton.cjs","sources":["../../../../src/components/MultiButton/MultiButton.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\n\nimport React, { cloneElement } from \"react\";\n\nimport { HvButtonVariant } from \"@core/components/Button\";\nimport { HvBaseProps } from \"@core/types/generic\";\n\nimport { StyledButton, StyledRoot } from \"./MultiButton.styles\";\nimport multiButtonClasses, { HvMultiButtonClasses } from \"./multiButtonClasses\";\n\nexport interface HvMultiButtonProps extends HvBaseProps {\n /** If all the buttons are disabled. */\n disabled?: boolean;\n /** If the MultiButton is to be displayed vertically. */\n vertical?: boolean;\n /** Category of button to use */\n variant?: HvButtonVariant;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvMultiButtonClasses;\n}\n\nexport const HvMultiButton = (props: HvMultiButtonProps) => {\n const {\n className,\n children,\n classes,\n disabled = false,\n vertical = false,\n variant = \"secondarySubtle\",\n ...others\n } = useDefaultProps(\"HvMultiButton\", props);\n\n return (\n <StyledRoot\n className={clsx(\n className,\n multiButtonClasses.root,\n classes?.root,\n vertical && clsx(classes?.vertical, multiButtonClasses.vertical)\n )}\n $vertical={vertical}\n {...others}\n >\n {React.Children.map(children, (child) => {\n if (React.isValidElement(child)) {\n const childIsSelected = !!child.props.selected;\n\n const btn = cloneElement(child as React.ReactElement, {\n variant,\n disabled: disabled || child.props.disabled,\n \"aria-pressed\": childIsSelected,\n className: clsx(\n child.props.className,\n multiButtonClasses.button,\n classes?.button,\n childIsSelected &&\n clsx(multiButtonClasses.selected, classes?.selected)\n ),\n });\n\n const StyledBtn = StyledButton(btn);\n\n return React.createElement(StyledBtn);\n }\n })}\n </StyledRoot>\n );\n};\n"],"names":["HvMultiButton","props","className","children","classes","disabled","vertical","variant","others","useDefaultProps","StyledRoot","clsx","multiButtonClasses","root","$vertical","React","Children","map","child","isValidElement","childIsSelected","selected","btn","cloneElement","button","StyledBtn","StyledButton","createElement"],"mappings":";;;;;;;;;;AAsBaA,MAAAA,gBAAgBA,CAACC,UAA8B;AACpD,QAAA;AAAA,IACJC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC,WAAW;AAAA,IACXC,WAAW;AAAA,IACXC,UAAU;AAAA,IACV,GAAGC;AAAAA,EAAAA,IACDC,gBAAgB,gBAAA,iBAAiBR,KAAK;AAE1C,wCACGS,mBAAAA,YAAU;AAAA,IACTR,WAAWS,KAAAA,KACTT,WACAU,mBAAAA,QAAmBC,MACnBT,mCAASS,MACTP,YAAYK,KAAKP,KAAAA,mCAASE,UAAUM,mBAAAA,QAAmBN,QAAQ,CACjE;AAAA,IACAQ,WAAWR;AAAAA,IAAS,GAChBE;AAAAA,IAAML,UAETY,eAAAA,QAAMC,SAASC,IAAId,UAAWe,CAAU,UAAA;AACnCH,UAAAA,eAAAA,QAAMI,eAAeD,KAAK,GAAG;AAC/B,cAAME,kBAAkB,CAAC,CAACF,MAAMjB,MAAMoB;AAEhCC,cAAAA,MAAMC,mBAAaL,OAA6B;AAAA,UACpDX;AAAAA,UACAF,UAAUA,YAAYa,MAAMjB,MAAMI;AAAAA,UAClC,gBAAgBe;AAAAA,UAChBlB,WAAWS,KAAAA,KACTO,MAAMjB,MAAMC,WACZU,mBAAmBY,QAAAA,QACnBpB,mCAASoB,QACTJ,mBACET,KAAAA,KAAKC,mBAAAA,QAAmBS,UAAUjB,mCAASiB,QAAQ,CACvD;AAAA,QAAA,CACD;AAEKI,cAAAA,YAAYC,gCAAaJ,GAAG;AAE3BP,eAAAA,eAAAA,QAAMY,cAAcF,SAAS;AAAA,MACtC;AAAA,IAAA,CACD;AAAA,EAAA,CACS;AAEhB;;"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const clsx = require("clsx");
4
+ const useDefaultProps = require("../../hooks/useDefaultProps.cjs");
4
5
  const React = require("react");
5
6
  const reactResizeDetector = require("react-resize-detector");
6
7
  const OverflowTooltip_styles = require("./OverflowTooltip.styles.cjs");
@@ -9,17 +10,18 @@ const jsxRuntime = require("@emotion/react/jsx-runtime");
9
10
  const Tooltip = require("../Tooltip/Tooltip.cjs");
10
11
  const Typography = require("../Typography/Typography.cjs");
11
12
  const isParagraph = (children = "") => /\s/.test(children);
12
- const HvOverflowTooltip = ({
13
- id,
14
- classes,
15
- className,
16
- data,
17
- open,
18
- paragraphOverflow,
19
- placement = "top-start",
20
- tooltipsProps
21
- }) => {
13
+ const HvOverflowTooltip = (props) => {
22
14
  var _a;
15
+ const {
16
+ id,
17
+ classes,
18
+ className,
19
+ data,
20
+ open,
21
+ paragraphOverflow,
22
+ placement = "top-start",
23
+ tooltipsProps
24
+ } = useDefaultProps.useDefaultProps("HvOverflowTooltip", props);
23
25
  const {
24
26
  width = 0,
25
27
  ref
@@ -1 +1 @@
1
- {"version":3,"file":"OverflowTooltip.cjs","sources":["../../../../src/components/OverflowTooltip/OverflowTooltip.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\n\nimport { useMemo } from \"react\";\n\nimport { useResizeDetector } from \"react-resize-detector\";\n\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { HvTooltip, HvTooltipProps } from \"@core/components/Tooltip\";\nimport { HvTypography } from \"@core/components/Typography\";\n\nimport { StyledDataContainer } from \"./OverflowTooltip.styles\";\nimport overflowTooltipClasses, {\n HvOverflowTooltipClasses,\n} from \"./overflowTooltipClasses\";\n\nexport interface HvOverflowTooltipProps extends HvBaseProps {\n /** The node that will be rendered inside the tooltip. */\n data: React.ReactNode;\n /** If true, the tooltip is shown. */\n open?: boolean;\n /** If `true` the overflow tooltip will always use the paragraph overflow style. */\n paragraphOverflow?: boolean;\n /** Tooltip placement. */\n placement?:\n | \"bottom-end\"\n | \"bottom-start\"\n | \"bottom\"\n | \"left-end\"\n | \"left-start\"\n | \"left\"\n | \"right-end\"\n | \"right-start\"\n | \"right\"\n | \"top-end\"\n | \"top-start\"\n | \"top\";\n /** Extra properties to add to the tooltip. */\n tooltipsProps?: Partial<HvTooltipProps>;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvOverflowTooltipClasses;\n}\n\nconst isParagraph = (children = \"\") => /\\s/.test(children);\n\n/**\n * This component generates a tooltip whenever the text is overflowed.\n */\nexport const HvOverflowTooltip = ({\n id,\n classes,\n className,\n data,\n open,\n paragraphOverflow,\n placement = \"top-start\",\n tooltipsProps,\n}: HvOverflowTooltipProps) => {\n const { width = 0, ref } = useResizeDetector({\n refreshMode: \"debounce\",\n refreshOptions: {\n trailing: true,\n },\n handleHeight: false,\n });\n const scrollWidth = ref.current?.scrollWidth || 0;\n // The difference should be higher than a pixel to be considered as overflowing\n const isOverflowing = scrollWidth - width >= 1;\n\n const isParag = useMemo(\n () => paragraphOverflow && isParagraph(data?.toString()),\n [data, paragraphOverflow]\n );\n\n const content = useMemo(\n () => (\n <StyledDataContainer\n ref={ref}\n className={clsx(\n className,\n !isParag &&\n clsx(overflowTooltipClasses.tooltipAnchor, classes?.tooltipAnchor),\n isParag &&\n clsx(\n overflowTooltipClasses.tooltipAnchorParagraph,\n classes?.tooltipAnchorParagraph\n )\n )}\n $isParag={isParag}\n >\n {data}\n </StyledDataContainer>\n ),\n [\n className,\n classes?.tooltipAnchor,\n classes?.tooltipAnchorParagraph,\n data,\n isParag,\n ref,\n ]\n );\n\n return open || isOverflowing ? (\n <HvTooltip\n id={id}\n disableHoverListener={!isOverflowing}\n open={open}\n placement={placement}\n title={\n <HvTypography\n className={clsx(\n overflowTooltipClasses.tooltipData,\n classes?.tooltipData\n )}\n variant=\"body\"\n >\n {data}\n </HvTypography>\n }\n {...tooltipsProps}\n >\n {content}\n </HvTooltip>\n ) : (\n content\n );\n};\n"],"names":["isParagraph","children","test","HvOverflowTooltip","id","classes","className","data","open","paragraphOverflow","placement","tooltipsProps","width","ref","useResizeDetector","refreshMode","refreshOptions","trailing","handleHeight","scrollWidth","current","isOverflowing","isParag","useMemo","toString","content","_jsx","StyledDataContainer","clsx","overflowTooltipClasses","tooltipAnchor","tooltipAnchorParagraph","$isParag","HvTooltip","disableHoverListener","title","HvTypography","tooltipData","variant"],"mappings":";;;;;;;;;;AA0CA,MAAMA,cAAcA,CAACC,WAAW,OAAO,KAAKC,KAAKD,QAAQ;AAKlD,MAAME,oBAAoBA,CAAC;AAAA,EAChCC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC,YAAY;AAAA,EACZC;AACsB,MAAM;;AACtB,QAAA;AAAA,IAAEC,QAAQ;AAAA,IAAGC;AAAAA,MAAQC,sCAAkB;AAAA,IAC3CC,aAAa;AAAA,IACbC,gBAAgB;AAAA,MACdC,UAAU;AAAA,IACZ;AAAA,IACAC,cAAc;AAAA,EAAA,CACf;AACKC,QAAAA,gBAAcN,SAAIO,YAAJP,mBAAaM,gBAAe;AAE1CE,QAAAA,gBAAgBF,cAAcP,SAAS;AAE7C,QAAMU,UAAUC,MAAAA,QACd,MAAMd,qBAAqBT,YAAYO,6BAAMiB,UAAU,GACvD,CAACjB,MAAME,iBAAiB,CAC1B;AAEA,QAAMgB,UAAUF,MAAAA,QACd,MACEG,2BAAAA,IAACC,uBAAAA,qBAAmB;AAAA,IAClBd;AAAAA,IACAP,WAAWsB,KACTtB,KAAAA,WACA,CAACgB,WACCM,UAAKC,uBAAuBC,QAAAA,eAAezB,mCAASyB,aAAa,GACnER,WACEM,UACEC,uBAAAA,QAAuBE,wBACvB1B,mCAAS0B,sBACX,CACJ;AAAA,IACAC,UAAUV;AAAAA,IAAQrB,UAEjBM;AAAAA,EACkB,CAAA,GAEvB,CACED,WACAD,mCAASyB,eACTzB,mCAAS0B,wBACTxB,MACAe,SACAT,GAAG,CAEP;AAEOL,SAAAA,QAAQa,gBACbK,2BAAAA,IAACO,mBAAS;AAAA,IACR7B;AAAAA,IACA8B,sBAAsB,CAACb;AAAAA,IACvBb;AAAAA,IACAE;AAAAA,IACAyB,sCACGC,yBAAY;AAAA,MACX9B,WAAWsB,KAAAA,KACTC,uBAAAA,QAAuBQ,aACvBhC,mCAASgC,WACX;AAAA,MACAC,SAAQ;AAAA,MAAMrC,UAEbM;AAAAA,IAAAA,CACW;AAAA,IACf,GACGI;AAAAA,IAAaV,UAEhBwB;AAAAA,EACQ,CAAA,IAEXA;AAEJ;;"}
1
+ {"version":3,"file":"OverflowTooltip.cjs","sources":["../../../../src/components/OverflowTooltip/OverflowTooltip.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\n\nimport { useMemo } from \"react\";\n\nimport { useResizeDetector } from \"react-resize-detector\";\n\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { HvTooltip, HvTooltipProps } from \"@core/components/Tooltip\";\nimport { HvTypography } from \"@core/components/Typography\";\n\nimport { StyledDataContainer } from \"./OverflowTooltip.styles\";\nimport overflowTooltipClasses, {\n HvOverflowTooltipClasses,\n} from \"./overflowTooltipClasses\";\n\nexport interface HvOverflowTooltipProps extends HvBaseProps {\n /** The node that will be rendered inside the tooltip. */\n data: React.ReactNode;\n /** If true, the tooltip is shown. */\n open?: boolean;\n /** If `true` the overflow tooltip will always use the paragraph overflow style. */\n paragraphOverflow?: boolean;\n /** Tooltip placement. */\n placement?:\n | \"bottom-end\"\n | \"bottom-start\"\n | \"bottom\"\n | \"left-end\"\n | \"left-start\"\n | \"left\"\n | \"right-end\"\n | \"right-start\"\n | \"right\"\n | \"top-end\"\n | \"top-start\"\n | \"top\";\n /** Extra properties to add to the tooltip. */\n tooltipsProps?: Partial<HvTooltipProps>;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvOverflowTooltipClasses;\n}\n\nconst isParagraph = (children = \"\") => /\\s/.test(children);\n\n/**\n * This component generates a tooltip whenever the text is overflowed.\n */\nexport const HvOverflowTooltip = (props: HvOverflowTooltipProps) => {\n const {\n id,\n classes,\n className,\n data,\n open,\n paragraphOverflow,\n placement = \"top-start\",\n tooltipsProps,\n } = useDefaultProps(\"HvOverflowTooltip\", props);\n\n const { width = 0, ref } = useResizeDetector({\n refreshMode: \"debounce\",\n refreshOptions: {\n trailing: true,\n },\n handleHeight: false,\n });\n const scrollWidth = ref.current?.scrollWidth || 0;\n // The difference should be higher than a pixel to be considered as overflowing\n const isOverflowing = scrollWidth - width >= 1;\n\n const isParag = useMemo(\n () => paragraphOverflow && isParagraph(data?.toString()),\n [data, paragraphOverflow]\n );\n\n const content = useMemo(\n () => (\n <StyledDataContainer\n ref={ref}\n className={clsx(\n className,\n !isParag &&\n clsx(overflowTooltipClasses.tooltipAnchor, classes?.tooltipAnchor),\n isParag &&\n clsx(\n overflowTooltipClasses.tooltipAnchorParagraph,\n classes?.tooltipAnchorParagraph\n )\n )}\n $isParag={isParag}\n >\n {data}\n </StyledDataContainer>\n ),\n [\n className,\n classes?.tooltipAnchor,\n classes?.tooltipAnchorParagraph,\n data,\n isParag,\n ref,\n ]\n );\n\n return open || isOverflowing ? (\n <HvTooltip\n id={id}\n disableHoverListener={!isOverflowing}\n open={open}\n placement={placement}\n title={\n <HvTypography\n className={clsx(\n overflowTooltipClasses.tooltipData,\n classes?.tooltipData\n )}\n variant=\"body\"\n >\n {data}\n </HvTypography>\n }\n {...tooltipsProps}\n >\n {content}\n </HvTooltip>\n ) : (\n content\n );\n};\n"],"names":["isParagraph","children","test","HvOverflowTooltip","props","id","classes","className","data","open","paragraphOverflow","placement","tooltipsProps","useDefaultProps","width","ref","useResizeDetector","refreshMode","refreshOptions","trailing","handleHeight","scrollWidth","current","isOverflowing","isParag","useMemo","toString","content","_jsx","StyledDataContainer","clsx","overflowTooltipClasses","tooltipAnchor","tooltipAnchorParagraph","$isParag","HvTooltip","disableHoverListener","title","HvTypography","tooltipData","variant"],"mappings":";;;;;;;;;;;AA2CA,MAAMA,cAAcA,CAACC,WAAW,OAAO,KAAKC,KAAKD,QAAQ;AAK5CE,MAAAA,oBAAoBA,CAACC,UAAkC;;AAC5D,QAAA;AAAA,IACJC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC,YAAY;AAAA,IACZC;AAAAA,EAAAA,IACEC,gBAAgB,gBAAA,qBAAqBT,KAAK;AAExC,QAAA;AAAA,IAAEU,QAAQ;AAAA,IAAGC;AAAAA,MAAQC,sCAAkB;AAAA,IAC3CC,aAAa;AAAA,IACbC,gBAAgB;AAAA,MACdC,UAAU;AAAA,IACZ;AAAA,IACAC,cAAc;AAAA,EAAA,CACf;AACKC,QAAAA,gBAAcN,SAAIO,YAAJP,mBAAaM,gBAAe;AAE1CE,QAAAA,gBAAgBF,cAAcP,SAAS;AAE7C,QAAMU,UAAUC,MAAAA,QACd,MAAMf,qBAAqBV,YAAYQ,6BAAMkB,UAAU,GACvD,CAAClB,MAAME,iBAAiB,CAC1B;AAEA,QAAMiB,UAAUF,MAAAA,QACd,MACEG,2BAAAA,IAACC,uBAAAA,qBAAmB;AAAA,IAClBd;AAAAA,IACAR,WAAWuB,KACTvB,KAAAA,WACA,CAACiB,WACCM,UAAKC,uBAAuBC,QAAAA,eAAe1B,mCAAS0B,aAAa,GACnER,WACEM,UACEC,uBAAAA,QAAuBE,wBACvB3B,mCAAS2B,sBACX,CACJ;AAAA,IACAC,UAAUV;AAAAA,IAAQvB,UAEjBO;AAAAA,EACkB,CAAA,GAEvB,CACED,WACAD,mCAAS0B,eACT1B,mCAAS2B,wBACTzB,MACAgB,SACAT,GAAG,CAEP;AAEON,SAAAA,QAAQc,gBACbK,2BAAAA,IAACO,mBAAS;AAAA,IACR9B;AAAAA,IACA+B,sBAAsB,CAACb;AAAAA,IACvBd;AAAAA,IACAE;AAAAA,IACA0B,sCACGC,yBAAY;AAAA,MACX/B,WAAWuB,KAAAA,KACTC,uBAAAA,QAAuBQ,aACvBjC,mCAASiC,WACX;AAAA,MACAC,SAAQ;AAAA,MAAMvC,UAEbO;AAAAA,IAAAA,CACW;AAAA,IACf,GACGI;AAAAA,IAAaX,UAEhB0B;AAAAA,EACQ,CAAA,IAEXA;AAEJ;;"}