@hitachivantara/uikit-react-core 5.22.1 → 5.24.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 (622) 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 +22 -20
  10. package/dist/cjs/components/Avatar/Avatar.cjs.map +1 -1
  11. package/dist/cjs/components/Badge/Badge.cjs +2 -1
  12. package/dist/cjs/components/Badge/Badge.cjs.map +1 -1
  13. package/dist/cjs/components/Banner/Banner.cjs +22 -20
  14. package/dist/cjs/components/Banner/Banner.cjs.map +1 -1
  15. package/dist/cjs/components/Banner/BannerContent/BannerContent.cjs +1 -1
  16. package/dist/cjs/components/Banner/BannerContent/BannerContent.cjs.map +1 -1
  17. package/dist/cjs/components/BaseCheckBox/BaseCheckBox.cjs +38 -28
  18. package/dist/cjs/components/BaseCheckBox/BaseCheckBox.cjs.map +1 -1
  19. package/dist/cjs/components/BaseCheckBox/BaseCheckBox.styles.cjs +23 -43
  20. package/dist/cjs/components/BaseCheckBox/BaseCheckBox.styles.cjs.map +1 -1
  21. package/dist/cjs/components/BaseDropdown/BaseDropdown.cjs +76 -64
  22. package/dist/cjs/components/BaseDropdown/BaseDropdown.cjs.map +1 -1
  23. package/dist/cjs/components/BaseDropdown/BaseDropdown.styles.cjs +105 -194
  24. package/dist/cjs/components/BaseDropdown/BaseDropdown.styles.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 +18 -9
  28. package/dist/cjs/components/BaseRadio/BaseRadio.cjs.map +1 -1
  29. package/dist/cjs/components/BaseRadio/BaseRadio.styles.cjs +20 -38
  30. package/dist/cjs/components/BaseRadio/BaseRadio.styles.cjs.map +1 -1
  31. package/dist/cjs/components/BaseSwitch/BaseSwitch.cjs +23 -15
  32. package/dist/cjs/components/BaseSwitch/BaseSwitch.cjs.map +1 -1
  33. package/dist/cjs/components/BaseSwitch/BaseSwitch.styles.cjs +60 -74
  34. package/dist/cjs/components/BaseSwitch/BaseSwitch.styles.cjs.map +1 -1
  35. package/dist/cjs/components/Box/Box.cjs +9 -8
  36. package/dist/cjs/components/Box/Box.cjs.map +1 -1
  37. package/dist/cjs/components/BreadCrumb/BreadCrumb.cjs +31 -25
  38. package/dist/cjs/components/BreadCrumb/BreadCrumb.cjs.map +1 -1
  39. package/dist/cjs/components/BreadCrumb/BreadCrumb.styles.cjs +24 -48
  40. package/dist/cjs/components/BreadCrumb/BreadCrumb.styles.cjs.map +1 -1
  41. package/dist/cjs/components/BreadCrumb/PathElement/PathElement.cjs +8 -6
  42. package/dist/cjs/components/BreadCrumb/PathElement/PathElement.cjs.map +1 -1
  43. package/dist/cjs/components/BreadCrumb/PathElement/PathElement.styles.cjs +12 -20
  44. package/dist/cjs/components/BreadCrumb/PathElement/PathElement.styles.cjs.map +1 -1
  45. package/dist/cjs/components/BulkActions/BulkActions.cjs +62 -33
  46. package/dist/cjs/components/BulkActions/BulkActions.cjs.map +1 -1
  47. package/dist/cjs/components/BulkActions/BulkActions.styles.cjs +34 -105
  48. package/dist/cjs/components/BulkActions/BulkActions.styles.cjs.map +1 -1
  49. package/dist/cjs/components/Button/Button.cjs +4 -3
  50. package/dist/cjs/components/Button/Button.cjs.map +1 -1
  51. package/dist/cjs/components/Calendar/Calendar.cjs +20 -18
  52. package/dist/cjs/components/Calendar/Calendar.cjs.map +1 -1
  53. package/dist/cjs/components/Card/Card.cjs +13 -11
  54. package/dist/cjs/components/Card/Card.cjs.map +1 -1
  55. package/dist/cjs/components/Carousel/Carousel.cjs +2 -2
  56. package/dist/cjs/components/Carousel/Carousel.cjs.map +1 -1
  57. package/dist/cjs/components/Carousel/CarouselControls.cjs +2 -3
  58. package/dist/cjs/components/Carousel/CarouselControls.cjs.map +1 -1
  59. package/dist/cjs/components/Carousel/CarouselSlide/CarouselSlide.cjs +1 -1
  60. package/dist/cjs/components/Carousel/CarouselSlide/CarouselSlide.cjs.map +1 -1
  61. package/dist/cjs/components/CheckBox/CheckBox.cjs +52 -42
  62. package/dist/cjs/components/CheckBox/CheckBox.cjs.map +1 -1
  63. package/dist/cjs/components/CheckBox/CheckBox.styles.cjs +48 -100
  64. package/dist/cjs/components/CheckBox/CheckBox.styles.cjs.map +1 -1
  65. package/dist/cjs/components/CheckBoxGroup/CheckBoxGroup.cjs +47 -39
  66. package/dist/cjs/components/CheckBoxGroup/CheckBoxGroup.cjs.map +1 -1
  67. package/dist/cjs/components/CheckBoxGroup/CheckBoxGroup.styles.cjs +27 -67
  68. package/dist/cjs/components/CheckBoxGroup/CheckBoxGroup.styles.cjs.map +1 -1
  69. package/dist/cjs/components/ColorPicker/ColorPicker.cjs +34 -32
  70. package/dist/cjs/components/ColorPicker/ColorPicker.cjs.map +1 -1
  71. package/dist/cjs/components/Container/Container.cjs +50 -21
  72. package/dist/cjs/components/Container/Container.cjs.map +1 -1
  73. package/dist/cjs/components/Container/Container.styles.cjs +16 -36
  74. package/dist/cjs/components/Container/Container.styles.cjs.map +1 -1
  75. package/dist/cjs/components/Controls/Controls.cjs +25 -20
  76. package/dist/cjs/components/Controls/Controls.cjs.map +1 -1
  77. package/dist/cjs/components/Controls/Controls.styles.cjs +19 -35
  78. package/dist/cjs/components/Controls/Controls.styles.cjs.map +1 -1
  79. package/dist/cjs/components/Controls/LeftControl/LeftControl.cjs +8 -5
  80. package/dist/cjs/components/Controls/LeftControl/LeftControl.cjs.map +1 -1
  81. package/dist/cjs/components/Controls/LeftControl/LeftControl.styles.cjs +11 -20
  82. package/dist/cjs/components/Controls/LeftControl/LeftControl.styles.cjs.map +1 -1
  83. package/dist/cjs/components/Controls/RightControl/RightControl.cjs +11 -7
  84. package/dist/cjs/components/Controls/RightControl/RightControl.cjs.map +1 -1
  85. package/dist/cjs/components/Controls/RightControl/RightControl.styles.cjs +14 -39
  86. package/dist/cjs/components/Controls/RightControl/RightControl.styles.cjs.map +1 -1
  87. package/dist/cjs/components/DatePicker/DatePicker.cjs +39 -37
  88. package/dist/cjs/components/DatePicker/DatePicker.cjs.map +1 -1
  89. package/dist/cjs/components/Dialog/Actions/Actions.cjs +9 -7
  90. package/dist/cjs/components/Dialog/Actions/Actions.cjs.map +1 -1
  91. package/dist/cjs/components/Dialog/Content/Content.cjs +8 -6
  92. package/dist/cjs/components/Dialog/Content/Content.cjs.map +1 -1
  93. package/dist/cjs/components/Dialog/Dialog.cjs +16 -14
  94. package/dist/cjs/components/Dialog/Dialog.cjs.map +1 -1
  95. package/dist/cjs/components/Dialog/Title/Title.cjs +11 -9
  96. package/dist/cjs/components/Dialog/Title/Title.cjs.map +1 -1
  97. package/dist/cjs/components/DotPagination/DotPagination.cjs +14 -12
  98. package/dist/cjs/components/DotPagination/DotPagination.cjs.map +1 -1
  99. package/dist/cjs/components/Drawer/Drawer.cjs +13 -11
  100. package/dist/cjs/components/Drawer/Drawer.cjs.map +1 -1
  101. package/dist/cjs/components/DropDownMenu/DropDownMenu.cjs +20 -17
  102. package/dist/cjs/components/DropDownMenu/DropDownMenu.cjs.map +1 -1
  103. package/dist/cjs/components/Dropdown/Dropdown.cjs +2 -1
  104. package/dist/cjs/components/Dropdown/Dropdown.cjs.map +1 -1
  105. package/dist/cjs/components/EmptyState/EmptyState.cjs +44 -25
  106. package/dist/cjs/components/EmptyState/EmptyState.cjs.map +1 -1
  107. package/dist/cjs/components/EmptyState/EmptyState.styles.cjs +32 -92
  108. package/dist/cjs/components/EmptyState/EmptyState.styles.cjs.map +1 -1
  109. package/dist/cjs/components/FileUploader/DropZone/DropZone.cjs +36 -30
  110. package/dist/cjs/components/FileUploader/DropZone/DropZone.cjs.map +1 -1
  111. package/dist/cjs/components/FileUploader/DropZone/DropZone.styles.cjs +73 -183
  112. package/dist/cjs/components/FileUploader/DropZone/DropZone.styles.cjs.map +1 -1
  113. package/dist/cjs/components/FileUploader/File/File.cjs +27 -25
  114. package/dist/cjs/components/FileUploader/File/File.cjs.map +1 -1
  115. package/dist/cjs/components/FileUploader/File/File.styles.cjs +64 -148
  116. package/dist/cjs/components/FileUploader/File/File.styles.cjs.map +1 -1
  117. package/dist/cjs/components/FileUploader/FileList/FileList.cjs +8 -6
  118. package/dist/cjs/components/FileUploader/FileList/FileList.cjs.map +1 -1
  119. package/dist/cjs/components/FileUploader/FileList/FileList.styles.cjs +18 -20
  120. package/dist/cjs/components/FileUploader/FileList/FileList.styles.cjs.map +1 -1
  121. package/dist/cjs/components/FileUploader/FileUploader.cjs +17 -15
  122. package/dist/cjs/components/FileUploader/FileUploader.cjs.map +1 -1
  123. package/dist/cjs/components/FileUploader/Preview/Preview.cjs +23 -11
  124. package/dist/cjs/components/FileUploader/Preview/Preview.cjs.map +1 -1
  125. package/dist/cjs/components/FileUploader/Preview/Preview.styles.cjs +28 -61
  126. package/dist/cjs/components/FileUploader/Preview/Preview.styles.cjs.map +1 -1
  127. package/dist/cjs/components/FilterGroup/FilterGroup.cjs +30 -28
  128. package/dist/cjs/components/FilterGroup/FilterGroup.cjs.map +1 -1
  129. package/dist/cjs/components/FilterGroup/FilterGroupContext.cjs +8 -6
  130. package/dist/cjs/components/FilterGroup/FilterGroupContext.cjs.map +1 -1
  131. package/dist/cjs/components/Footer/Footer.cjs +2 -1
  132. package/dist/cjs/components/Footer/Footer.cjs.map +1 -1
  133. package/dist/cjs/components/Forms/CharCounter/CharCounter.cjs +13 -11
  134. package/dist/cjs/components/Forms/CharCounter/CharCounter.cjs.map +1 -1
  135. package/dist/cjs/components/Forms/FormElement/FormElement.cjs +15 -13
  136. package/dist/cjs/components/Forms/FormElement/FormElement.cjs.map +1 -1
  137. package/dist/cjs/components/Forms/InfoMessage/InfoMessage.cjs +11 -9
  138. package/dist/cjs/components/Forms/InfoMessage/InfoMessage.cjs.map +1 -1
  139. package/dist/cjs/components/Forms/Label/Label.cjs +13 -11
  140. package/dist/cjs/components/Forms/Label/Label.cjs.map +1 -1
  141. package/dist/cjs/components/Forms/WarningText/WarningText.cjs +16 -14
  142. package/dist/cjs/components/Forms/WarningText/WarningText.cjs.map +1 -1
  143. package/dist/cjs/components/GlobalActions/GlobalActions.cjs +13 -11
  144. package/dist/cjs/components/GlobalActions/GlobalActions.cjs.map +1 -1
  145. package/dist/cjs/components/Grid/Grid.cjs +10 -8
  146. package/dist/cjs/components/Grid/Grid.cjs.map +1 -1
  147. package/dist/cjs/components/Header/Actions/Actions.cjs +8 -6
  148. package/dist/cjs/components/Header/Actions/Actions.cjs.map +1 -1
  149. package/dist/cjs/components/Header/Brand/Brand.cjs +9 -7
  150. package/dist/cjs/components/Header/Brand/Brand.cjs.map +1 -1
  151. package/dist/cjs/components/Header/Header.cjs +2 -1
  152. package/dist/cjs/components/Header/Header.cjs.map +1 -1
  153. package/dist/cjs/components/Header/Navigation/Navigation.cjs +11 -9
  154. package/dist/cjs/components/Header/Navigation/Navigation.cjs.map +1 -1
  155. package/dist/cjs/components/InlineEditor/InlineEditor.cjs +18 -16
  156. package/dist/cjs/components/InlineEditor/InlineEditor.cjs.map +1 -1
  157. package/dist/cjs/components/Input/Input.cjs +2 -1
  158. package/dist/cjs/components/Input/Input.cjs.map +1 -1
  159. package/dist/cjs/components/Kpi/Kpi.cjs +13 -11
  160. package/dist/cjs/components/Kpi/Kpi.cjs.map +1 -1
  161. package/dist/cjs/components/Link/Link.cjs +11 -9
  162. package/dist/cjs/components/Link/Link.cjs.map +1 -1
  163. package/dist/cjs/components/List/List.cjs +21 -19
  164. package/dist/cjs/components/List/List.cjs.map +1 -1
  165. package/dist/cjs/components/List/List.styles.cjs +9 -9
  166. package/dist/cjs/components/List/List.styles.cjs.map +1 -1
  167. package/dist/cjs/components/ListContainer/ListContainer.cjs +12 -10
  168. package/dist/cjs/components/ListContainer/ListContainer.cjs.map +1 -1
  169. package/dist/cjs/components/ListContainer/ListItem/ListItem.cjs +20 -18
  170. package/dist/cjs/components/ListContainer/ListItem/ListItem.cjs.map +1 -1
  171. package/dist/cjs/components/Loading/Loading.cjs +2 -1
  172. package/dist/cjs/components/Loading/Loading.cjs.map +1 -1
  173. package/dist/cjs/components/Login/Login.cjs +10 -8
  174. package/dist/cjs/components/Login/Login.cjs.map +1 -1
  175. package/dist/cjs/components/MultiButton/MultiButton.cjs +11 -9
  176. package/dist/cjs/components/MultiButton/MultiButton.cjs.map +1 -1
  177. package/dist/cjs/components/OverflowTooltip/OverflowTooltip.cjs +12 -10
  178. package/dist/cjs/components/OverflowTooltip/OverflowTooltip.cjs.map +1 -1
  179. package/dist/cjs/components/Pagination/ButtonIconTooltip.cjs +0 -1
  180. package/dist/cjs/components/Pagination/ButtonIconTooltip.cjs.map +1 -1
  181. package/dist/cjs/components/Pagination/Pagination.cjs +22 -20
  182. package/dist/cjs/components/Pagination/Pagination.cjs.map +1 -1
  183. package/dist/cjs/components/Pagination/Select.cjs +1 -1
  184. package/dist/cjs/components/Pagination/Select.cjs.map +1 -1
  185. package/dist/cjs/components/Panel/Panel.cjs +9 -7
  186. package/dist/cjs/components/Panel/Panel.cjs.map +1 -1
  187. package/dist/cjs/components/ProgressBar/ProgressBar.cjs +2 -1
  188. package/dist/cjs/components/ProgressBar/ProgressBar.cjs.map +1 -1
  189. package/dist/cjs/components/QueryBuilder/QueryBuilder.cjs +13 -11
  190. package/dist/cjs/components/QueryBuilder/QueryBuilder.cjs.map +1 -1
  191. package/dist/cjs/components/QueryBuilder/Rule/Rule.cjs +0 -1
  192. package/dist/cjs/components/QueryBuilder/Rule/Rule.cjs.map +1 -1
  193. package/dist/cjs/components/QueryBuilder/RuleGroup/RuleGroup.cjs +1 -2
  194. package/dist/cjs/components/QueryBuilder/RuleGroup/RuleGroup.cjs.map +1 -1
  195. package/dist/cjs/components/Radio/Radio.cjs +25 -17
  196. package/dist/cjs/components/Radio/Radio.cjs.map +1 -1
  197. package/dist/cjs/components/Radio/Radio.styles.cjs +53 -110
  198. package/dist/cjs/components/Radio/Radio.styles.cjs.map +1 -1
  199. package/dist/cjs/components/RadioGroup/RadioGroup.cjs +43 -35
  200. package/dist/cjs/components/RadioGroup/RadioGroup.cjs.map +1 -1
  201. package/dist/cjs/components/RadioGroup/RadioGroup.styles.cjs +26 -67
  202. package/dist/cjs/components/RadioGroup/RadioGroup.styles.cjs.map +1 -1
  203. package/dist/cjs/components/ScrollTo/Horizontal/ScrollToHorizontal.cjs +18 -16
  204. package/dist/cjs/components/ScrollTo/Horizontal/ScrollToHorizontal.cjs.map +1 -1
  205. package/dist/cjs/components/ScrollTo/Vertical/ScrollToVertical.cjs +19 -17
  206. package/dist/cjs/components/ScrollTo/Vertical/ScrollToVertical.cjs.map +1 -1
  207. package/dist/cjs/components/SelectionList/SelectionList.cjs +27 -25
  208. package/dist/cjs/components/SelectionList/SelectionList.cjs.map +1 -1
  209. package/dist/cjs/components/SimpleGrid/SimpleGrid.cjs +9 -7
  210. package/dist/cjs/components/SimpleGrid/SimpleGrid.cjs.map +1 -1
  211. package/dist/cjs/components/Slider/Slider.cjs +37 -35
  212. package/dist/cjs/components/Slider/Slider.cjs.map +1 -1
  213. package/dist/cjs/components/Snackbar/Snackbar.cjs +3 -3
  214. package/dist/cjs/components/Snackbar/Snackbar.cjs.map +1 -1
  215. package/dist/cjs/components/Snackbar/{SnackbarContentWrapper/SnackbarContentWrapper.cjs → SnackbarContent/SnackbarContent.cjs} +5 -5
  216. package/dist/cjs/components/Snackbar/SnackbarContent/SnackbarContent.cjs.map +1 -0
  217. package/dist/cjs/components/Snackbar/{SnackbarContentWrapper/SnackbarContentWrapper.styles.cjs → SnackbarContent/SnackbarContent.styles.cjs} +6 -4
  218. package/dist/cjs/components/Snackbar/SnackbarContent/SnackbarContent.styles.cjs.map +1 -0
  219. package/dist/cjs/components/Snackbar/SnackbarProvider/SnackbarProvider.cjs +11 -10
  220. package/dist/cjs/components/Snackbar/SnackbarProvider/SnackbarProvider.cjs.map +1 -1
  221. package/dist/cjs/components/Stack/Stack.cjs +13 -11
  222. package/dist/cjs/components/Stack/Stack.cjs.map +1 -1
  223. package/dist/cjs/components/Switch/Switch.cjs +19 -12
  224. package/dist/cjs/components/Switch/Switch.cjs.map +1 -1
  225. package/dist/cjs/components/Switch/Switch.styles.cjs +25 -66
  226. package/dist/cjs/components/Switch/Switch.styles.cjs.map +1 -1
  227. package/dist/cjs/components/Tab/Tab.cjs +8 -6
  228. package/dist/cjs/components/Tab/Tab.cjs.map +1 -1
  229. package/dist/cjs/components/Table/Table.cjs +12 -10
  230. package/dist/cjs/components/Table/Table.cjs.map +1 -1
  231. package/dist/cjs/components/Table/TableHeader/TableHeader.cjs +2 -3
  232. package/dist/cjs/components/Table/TableHeader/TableHeader.cjs.map +1 -1
  233. package/dist/cjs/components/Table/hooks/useRowExpand.cjs +0 -1
  234. package/dist/cjs/components/Table/hooks/useRowExpand.cjs.map +1 -1
  235. package/dist/cjs/components/Table/renderers/renderers.cjs +0 -1
  236. package/dist/cjs/components/Table/renderers/renderers.cjs.map +1 -1
  237. package/dist/cjs/components/Tabs/Tabs.cjs +6 -4
  238. package/dist/cjs/components/Tabs/Tabs.cjs.map +1 -1
  239. package/dist/cjs/components/Tag/Tag.cjs +18 -16
  240. package/dist/cjs/components/Tag/Tag.cjs.map +1 -1
  241. package/dist/cjs/components/TagsInput/TagsInput.cjs +39 -37
  242. package/dist/cjs/components/TagsInput/TagsInput.cjs.map +1 -1
  243. package/dist/cjs/components/TextArea/TextArea.cjs +2 -1
  244. package/dist/cjs/components/TextArea/TextArea.cjs.map +1 -1
  245. package/dist/cjs/components/TimeAgo/TimeAgo.cjs +14 -12
  246. package/dist/cjs/components/TimeAgo/TimeAgo.cjs.map +1 -1
  247. package/dist/cjs/components/TimePicker/TimePicker.cjs +3 -2
  248. package/dist/cjs/components/TimePicker/TimePicker.cjs.map +1 -1
  249. package/dist/cjs/components/ToggleButton/ToggleButton.cjs +2 -2
  250. package/dist/cjs/components/ToggleButton/ToggleButton.cjs.map +1 -1
  251. package/dist/cjs/components/Tooltip/Tooltip.cjs +2 -1
  252. package/dist/cjs/components/Tooltip/Tooltip.cjs.map +1 -1
  253. package/dist/cjs/components/Typography/Typography.cjs +2 -1
  254. package/dist/cjs/components/Typography/Typography.cjs.map +1 -1
  255. package/dist/cjs/components/VerticalNavigation/Header/Header.cjs +1 -2
  256. package/dist/cjs/components/VerticalNavigation/Header/Header.cjs.map +1 -1
  257. package/dist/cjs/components/VerticalNavigation/Navigation/Navigation.cjs +3 -1
  258. package/dist/cjs/components/VerticalNavigation/Navigation/Navigation.cjs.map +1 -1
  259. package/dist/cjs/components/VerticalNavigation/NavigationSlider/NavigationSlider.cjs +3 -2
  260. package/dist/cjs/components/VerticalNavigation/NavigationSlider/NavigationSlider.cjs.map +1 -1
  261. package/dist/cjs/components/VerticalNavigation/VerticalNavigation.cjs +12 -10
  262. package/dist/cjs/components/VerticalNavigation/VerticalNavigation.cjs.map +1 -1
  263. package/dist/cjs/hooks/useDefaultProps.cjs +41 -0
  264. package/dist/cjs/hooks/useDefaultProps.cjs.map +1 -0
  265. package/dist/cjs/index.cjs +45 -40
  266. package/dist/cjs/index.cjs.map +1 -1
  267. package/dist/esm/components/Accordion/Accordion.js +17 -15
  268. package/dist/esm/components/Accordion/Accordion.js.map +1 -1
  269. package/dist/esm/components/ActionBar/ActionBar.js +2 -1
  270. package/dist/esm/components/ActionBar/ActionBar.js.map +1 -1
  271. package/dist/esm/components/ActionsGeneric/ActionsGeneric.js +13 -11
  272. package/dist/esm/components/ActionsGeneric/ActionsGeneric.js.map +1 -1
  273. package/dist/esm/components/AppSwitcher/AppSwitcher.js +16 -14
  274. package/dist/esm/components/AppSwitcher/AppSwitcher.js.map +1 -1
  275. package/dist/esm/components/Avatar/Avatar.js +22 -20
  276. package/dist/esm/components/Avatar/Avatar.js.map +1 -1
  277. package/dist/esm/components/Badge/Badge.js +2 -1
  278. package/dist/esm/components/Badge/Badge.js.map +1 -1
  279. package/dist/esm/components/Banner/Banner.js +22 -20
  280. package/dist/esm/components/Banner/Banner.js.map +1 -1
  281. package/dist/esm/components/Banner/BannerContent/BannerContent.js +1 -1
  282. package/dist/esm/components/Banner/BannerContent/BannerContent.js.map +1 -1
  283. package/dist/esm/components/BaseCheckBox/BaseCheckBox.js +39 -30
  284. package/dist/esm/components/BaseCheckBox/BaseCheckBox.js.map +1 -1
  285. package/dist/esm/components/BaseCheckBox/BaseCheckBox.styles.js +23 -41
  286. package/dist/esm/components/BaseCheckBox/BaseCheckBox.styles.js.map +1 -1
  287. package/dist/esm/components/BaseDropdown/BaseDropdown.js +79 -66
  288. package/dist/esm/components/BaseDropdown/BaseDropdown.js.map +1 -1
  289. package/dist/esm/components/BaseDropdown/BaseDropdown.styles.js +105 -192
  290. package/dist/esm/components/BaseDropdown/BaseDropdown.styles.js.map +1 -1
  291. package/dist/esm/components/BaseInput/BaseInput.js +23 -21
  292. package/dist/esm/components/BaseInput/BaseInput.js.map +1 -1
  293. package/dist/esm/components/BaseRadio/BaseRadio.js +18 -10
  294. package/dist/esm/components/BaseRadio/BaseRadio.js.map +1 -1
  295. package/dist/esm/components/BaseRadio/BaseRadio.styles.js +20 -36
  296. package/dist/esm/components/BaseRadio/BaseRadio.styles.js.map +1 -1
  297. package/dist/esm/components/BaseSwitch/BaseSwitch.js +24 -17
  298. package/dist/esm/components/BaseSwitch/BaseSwitch.js.map +1 -1
  299. package/dist/esm/components/BaseSwitch/BaseSwitch.styles.js +60 -72
  300. package/dist/esm/components/BaseSwitch/BaseSwitch.styles.js.map +1 -1
  301. package/dist/esm/components/Box/Box.js +9 -8
  302. package/dist/esm/components/Box/Box.js.map +1 -1
  303. package/dist/esm/components/BreadCrumb/BreadCrumb.js +34 -27
  304. package/dist/esm/components/BreadCrumb/BreadCrumb.js.map +1 -1
  305. package/dist/esm/components/BreadCrumb/BreadCrumb.styles.js +24 -46
  306. package/dist/esm/components/BreadCrumb/BreadCrumb.styles.js.map +1 -1
  307. package/dist/esm/components/BreadCrumb/PathElement/PathElement.js +11 -8
  308. package/dist/esm/components/BreadCrumb/PathElement/PathElement.js.map +1 -1
  309. package/dist/esm/components/BreadCrumb/PathElement/PathElement.styles.js +12 -18
  310. package/dist/esm/components/BreadCrumb/PathElement/PathElement.styles.js.map +1 -1
  311. package/dist/esm/components/BulkActions/BulkActions.js +65 -35
  312. package/dist/esm/components/BulkActions/BulkActions.js.map +1 -1
  313. package/dist/esm/components/BulkActions/BulkActions.styles.js +34 -103
  314. package/dist/esm/components/BulkActions/BulkActions.styles.js.map +1 -1
  315. package/dist/esm/components/Button/Button.js +4 -3
  316. package/dist/esm/components/Button/Button.js.map +1 -1
  317. package/dist/esm/components/Calendar/Calendar.js +20 -18
  318. package/dist/esm/components/Calendar/Calendar.js.map +1 -1
  319. package/dist/esm/components/Card/Card.js +13 -11
  320. package/dist/esm/components/Card/Card.js.map +1 -1
  321. package/dist/esm/components/Carousel/Carousel.js +2 -2
  322. package/dist/esm/components/Carousel/Carousel.js.map +1 -1
  323. package/dist/esm/components/Carousel/CarouselControls.js +2 -3
  324. package/dist/esm/components/Carousel/CarouselControls.js.map +1 -1
  325. package/dist/esm/components/Carousel/CarouselSlide/CarouselSlide.js +1 -1
  326. package/dist/esm/components/Carousel/CarouselSlide/CarouselSlide.js.map +1 -1
  327. package/dist/esm/components/CheckBox/CheckBox.js +55 -44
  328. package/dist/esm/components/CheckBox/CheckBox.js.map +1 -1
  329. package/dist/esm/components/CheckBox/CheckBox.styles.js +48 -98
  330. package/dist/esm/components/CheckBox/CheckBox.styles.js.map +1 -1
  331. package/dist/esm/components/CheckBoxGroup/CheckBoxGroup.js +50 -41
  332. package/dist/esm/components/CheckBoxGroup/CheckBoxGroup.js.map +1 -1
  333. package/dist/esm/components/CheckBoxGroup/CheckBoxGroup.styles.js +27 -65
  334. package/dist/esm/components/CheckBoxGroup/CheckBoxGroup.styles.js.map +1 -1
  335. package/dist/esm/components/ColorPicker/ColorPicker.js +34 -32
  336. package/dist/esm/components/ColorPicker/ColorPicker.js.map +1 -1
  337. package/dist/esm/components/Container/Container.js +49 -23
  338. package/dist/esm/components/Container/Container.js.map +1 -1
  339. package/dist/esm/components/Container/Container.styles.js +16 -34
  340. package/dist/esm/components/Container/Container.styles.js.map +1 -1
  341. package/dist/esm/components/Controls/Controls.js +28 -22
  342. package/dist/esm/components/Controls/Controls.js.map +1 -1
  343. package/dist/esm/components/Controls/Controls.styles.js +19 -33
  344. package/dist/esm/components/Controls/Controls.styles.js.map +1 -1
  345. package/dist/esm/components/Controls/LeftControl/LeftControl.js +11 -7
  346. package/dist/esm/components/Controls/LeftControl/LeftControl.js.map +1 -1
  347. package/dist/esm/components/Controls/LeftControl/LeftControl.styles.js +11 -18
  348. package/dist/esm/components/Controls/LeftControl/LeftControl.styles.js.map +1 -1
  349. package/dist/esm/components/Controls/RightControl/RightControl.js +14 -9
  350. package/dist/esm/components/Controls/RightControl/RightControl.js.map +1 -1
  351. package/dist/esm/components/Controls/RightControl/RightControl.styles.js +14 -37
  352. package/dist/esm/components/Controls/RightControl/RightControl.styles.js.map +1 -1
  353. package/dist/esm/components/DatePicker/DatePicker.js +39 -37
  354. package/dist/esm/components/DatePicker/DatePicker.js.map +1 -1
  355. package/dist/esm/components/Dialog/Actions/Actions.js +9 -7
  356. package/dist/esm/components/Dialog/Actions/Actions.js.map +1 -1
  357. package/dist/esm/components/Dialog/Content/Content.js +8 -6
  358. package/dist/esm/components/Dialog/Content/Content.js.map +1 -1
  359. package/dist/esm/components/Dialog/Dialog.js +16 -14
  360. package/dist/esm/components/Dialog/Dialog.js.map +1 -1
  361. package/dist/esm/components/Dialog/Title/Title.js +11 -9
  362. package/dist/esm/components/Dialog/Title/Title.js.map +1 -1
  363. package/dist/esm/components/DotPagination/DotPagination.js +14 -12
  364. package/dist/esm/components/DotPagination/DotPagination.js.map +1 -1
  365. package/dist/esm/components/Drawer/Drawer.js +13 -11
  366. package/dist/esm/components/Drawer/Drawer.js.map +1 -1
  367. package/dist/esm/components/DropDownMenu/DropDownMenu.js +20 -17
  368. package/dist/esm/components/DropDownMenu/DropDownMenu.js.map +1 -1
  369. package/dist/esm/components/Dropdown/Dropdown.js +2 -1
  370. package/dist/esm/components/Dropdown/Dropdown.js.map +1 -1
  371. package/dist/esm/components/EmptyState/EmptyState.js +45 -27
  372. package/dist/esm/components/EmptyState/EmptyState.js.map +1 -1
  373. package/dist/esm/components/EmptyState/EmptyState.styles.js +32 -90
  374. package/dist/esm/components/EmptyState/EmptyState.styles.js.map +1 -1
  375. package/dist/esm/components/FileUploader/DropZone/DropZone.js +39 -32
  376. package/dist/esm/components/FileUploader/DropZone/DropZone.js.map +1 -1
  377. package/dist/esm/components/FileUploader/DropZone/DropZone.styles.js +73 -181
  378. package/dist/esm/components/FileUploader/DropZone/DropZone.styles.js.map +1 -1
  379. package/dist/esm/components/FileUploader/File/File.js +31 -28
  380. package/dist/esm/components/FileUploader/File/File.js.map +1 -1
  381. package/dist/esm/components/FileUploader/File/File.styles.js +64 -146
  382. package/dist/esm/components/FileUploader/File/File.styles.js.map +1 -1
  383. package/dist/esm/components/FileUploader/FileList/FileList.js +11 -8
  384. package/dist/esm/components/FileUploader/FileList/FileList.js.map +1 -1
  385. package/dist/esm/components/FileUploader/FileList/FileList.styles.js +18 -18
  386. package/dist/esm/components/FileUploader/FileList/FileList.styles.js.map +1 -1
  387. package/dist/esm/components/FileUploader/FileUploader.js +17 -15
  388. package/dist/esm/components/FileUploader/FileUploader.js.map +1 -1
  389. package/dist/esm/components/FileUploader/Preview/Preview.js +27 -14
  390. package/dist/esm/components/FileUploader/Preview/Preview.js.map +1 -1
  391. package/dist/esm/components/FileUploader/Preview/Preview.styles.js +28 -59
  392. package/dist/esm/components/FileUploader/Preview/Preview.styles.js.map +1 -1
  393. package/dist/esm/components/FilterGroup/FilterGroup.js +30 -28
  394. package/dist/esm/components/FilterGroup/FilterGroup.js.map +1 -1
  395. package/dist/esm/components/FilterGroup/FilterGroupContext.js +8 -6
  396. package/dist/esm/components/FilterGroup/FilterGroupContext.js.map +1 -1
  397. package/dist/esm/components/Footer/Footer.js +2 -1
  398. package/dist/esm/components/Footer/Footer.js.map +1 -1
  399. package/dist/esm/components/Forms/CharCounter/CharCounter.js +13 -11
  400. package/dist/esm/components/Forms/CharCounter/CharCounter.js.map +1 -1
  401. package/dist/esm/components/Forms/FormElement/FormElement.js +15 -13
  402. package/dist/esm/components/Forms/FormElement/FormElement.js.map +1 -1
  403. package/dist/esm/components/Forms/InfoMessage/InfoMessage.js +11 -9
  404. package/dist/esm/components/Forms/InfoMessage/InfoMessage.js.map +1 -1
  405. package/dist/esm/components/Forms/Label/Label.js +13 -11
  406. package/dist/esm/components/Forms/Label/Label.js.map +1 -1
  407. package/dist/esm/components/Forms/WarningText/WarningText.js +16 -14
  408. package/dist/esm/components/Forms/WarningText/WarningText.js.map +1 -1
  409. package/dist/esm/components/GlobalActions/GlobalActions.js +13 -11
  410. package/dist/esm/components/GlobalActions/GlobalActions.js.map +1 -1
  411. package/dist/esm/components/Grid/Grid.js +10 -8
  412. package/dist/esm/components/Grid/Grid.js.map +1 -1
  413. package/dist/esm/components/Header/Actions/Actions.js +8 -6
  414. package/dist/esm/components/Header/Actions/Actions.js.map +1 -1
  415. package/dist/esm/components/Header/Brand/Brand.js +9 -7
  416. package/dist/esm/components/Header/Brand/Brand.js.map +1 -1
  417. package/dist/esm/components/Header/Header.js +2 -1
  418. package/dist/esm/components/Header/Header.js.map +1 -1
  419. package/dist/esm/components/Header/Navigation/Navigation.js +11 -9
  420. package/dist/esm/components/Header/Navigation/Navigation.js.map +1 -1
  421. package/dist/esm/components/InlineEditor/InlineEditor.js +18 -16
  422. package/dist/esm/components/InlineEditor/InlineEditor.js.map +1 -1
  423. package/dist/esm/components/Input/Input.js +2 -1
  424. package/dist/esm/components/Input/Input.js.map +1 -1
  425. package/dist/esm/components/Kpi/Kpi.js +13 -11
  426. package/dist/esm/components/Kpi/Kpi.js.map +1 -1
  427. package/dist/esm/components/Link/Link.js +11 -9
  428. package/dist/esm/components/Link/Link.js.map +1 -1
  429. package/dist/esm/components/List/List.js +21 -19
  430. package/dist/esm/components/List/List.js.map +1 -1
  431. package/dist/esm/components/List/List.styles.js +9 -9
  432. package/dist/esm/components/List/List.styles.js.map +1 -1
  433. package/dist/esm/components/ListContainer/ListContainer.js +12 -10
  434. package/dist/esm/components/ListContainer/ListContainer.js.map +1 -1
  435. package/dist/esm/components/ListContainer/ListItem/ListItem.js +20 -18
  436. package/dist/esm/components/ListContainer/ListItem/ListItem.js.map +1 -1
  437. package/dist/esm/components/Loading/Loading.js +2 -1
  438. package/dist/esm/components/Loading/Loading.js.map +1 -1
  439. package/dist/esm/components/Login/Login.js +10 -8
  440. package/dist/esm/components/Login/Login.js.map +1 -1
  441. package/dist/esm/components/MultiButton/MultiButton.js +11 -9
  442. package/dist/esm/components/MultiButton/MultiButton.js.map +1 -1
  443. package/dist/esm/components/OverflowTooltip/OverflowTooltip.js +12 -10
  444. package/dist/esm/components/OverflowTooltip/OverflowTooltip.js.map +1 -1
  445. package/dist/esm/components/Pagination/ButtonIconTooltip.js +0 -1
  446. package/dist/esm/components/Pagination/ButtonIconTooltip.js.map +1 -1
  447. package/dist/esm/components/Pagination/Pagination.js +22 -20
  448. package/dist/esm/components/Pagination/Pagination.js.map +1 -1
  449. package/dist/esm/components/Pagination/Select.js +1 -1
  450. package/dist/esm/components/Pagination/Select.js.map +1 -1
  451. package/dist/esm/components/Panel/Panel.js +9 -7
  452. package/dist/esm/components/Panel/Panel.js.map +1 -1
  453. package/dist/esm/components/ProgressBar/ProgressBar.js +2 -1
  454. package/dist/esm/components/ProgressBar/ProgressBar.js.map +1 -1
  455. package/dist/esm/components/QueryBuilder/QueryBuilder.js +13 -11
  456. package/dist/esm/components/QueryBuilder/QueryBuilder.js.map +1 -1
  457. package/dist/esm/components/QueryBuilder/Rule/Rule.js +0 -1
  458. package/dist/esm/components/QueryBuilder/Rule/Rule.js.map +1 -1
  459. package/dist/esm/components/QueryBuilder/RuleGroup/RuleGroup.js +1 -2
  460. package/dist/esm/components/QueryBuilder/RuleGroup/RuleGroup.js.map +1 -1
  461. package/dist/esm/components/Radio/Radio.js +28 -19
  462. package/dist/esm/components/Radio/Radio.js.map +1 -1
  463. package/dist/esm/components/Radio/Radio.styles.js +53 -108
  464. package/dist/esm/components/Radio/Radio.styles.js.map +1 -1
  465. package/dist/esm/components/RadioGroup/RadioGroup.js +46 -37
  466. package/dist/esm/components/RadioGroup/RadioGroup.js.map +1 -1
  467. package/dist/esm/components/RadioGroup/RadioGroup.styles.js +26 -65
  468. package/dist/esm/components/RadioGroup/RadioGroup.styles.js.map +1 -1
  469. package/dist/esm/components/ScrollTo/Horizontal/ScrollToHorizontal.js +18 -16
  470. package/dist/esm/components/ScrollTo/Horizontal/ScrollToHorizontal.js.map +1 -1
  471. package/dist/esm/components/ScrollTo/Vertical/ScrollToVertical.js +19 -17
  472. package/dist/esm/components/ScrollTo/Vertical/ScrollToVertical.js.map +1 -1
  473. package/dist/esm/components/SelectionList/SelectionList.js +27 -25
  474. package/dist/esm/components/SelectionList/SelectionList.js.map +1 -1
  475. package/dist/esm/components/SimpleGrid/SimpleGrid.js +9 -7
  476. package/dist/esm/components/SimpleGrid/SimpleGrid.js.map +1 -1
  477. package/dist/esm/components/Slider/Slider.js +37 -35
  478. package/dist/esm/components/Slider/Slider.js.map +1 -1
  479. package/dist/esm/components/Snackbar/Snackbar.js +2 -2
  480. package/dist/esm/components/Snackbar/Snackbar.js.map +1 -1
  481. package/dist/esm/components/Snackbar/{SnackbarContentWrapper/SnackbarContentWrapper.js → SnackbarContent/SnackbarContent.js} +4 -4
  482. package/dist/esm/components/Snackbar/SnackbarContent/SnackbarContent.js.map +1 -0
  483. package/dist/esm/components/Snackbar/{SnackbarContentWrapper/SnackbarContentWrapper.styles.js → SnackbarContent/SnackbarContent.styles.js} +6 -4
  484. package/dist/esm/components/Snackbar/SnackbarContent/SnackbarContent.styles.js.map +1 -0
  485. package/dist/esm/components/Snackbar/SnackbarProvider/SnackbarProvider.js +10 -9
  486. package/dist/esm/components/Snackbar/SnackbarProvider/SnackbarProvider.js.map +1 -1
  487. package/dist/esm/components/Stack/Stack.js +13 -11
  488. package/dist/esm/components/Stack/Stack.js.map +1 -1
  489. package/dist/esm/components/Switch/Switch.js +22 -14
  490. package/dist/esm/components/Switch/Switch.js.map +1 -1
  491. package/dist/esm/components/Switch/Switch.styles.js +25 -64
  492. package/dist/esm/components/Switch/Switch.styles.js.map +1 -1
  493. package/dist/esm/components/Tab/Tab.js +8 -6
  494. package/dist/esm/components/Tab/Tab.js.map +1 -1
  495. package/dist/esm/components/Table/Table.js +12 -10
  496. package/dist/esm/components/Table/Table.js.map +1 -1
  497. package/dist/esm/components/Table/TableHeader/TableHeader.js +2 -3
  498. package/dist/esm/components/Table/TableHeader/TableHeader.js.map +1 -1
  499. package/dist/esm/components/Table/hooks/useRowExpand.js +0 -1
  500. package/dist/esm/components/Table/hooks/useRowExpand.js.map +1 -1
  501. package/dist/esm/components/Table/renderers/renderers.js +0 -1
  502. package/dist/esm/components/Table/renderers/renderers.js.map +1 -1
  503. package/dist/esm/components/Tabs/Tabs.js +6 -4
  504. package/dist/esm/components/Tabs/Tabs.js.map +1 -1
  505. package/dist/esm/components/Tag/Tag.js +18 -16
  506. package/dist/esm/components/Tag/Tag.js.map +1 -1
  507. package/dist/esm/components/TagsInput/TagsInput.js +39 -37
  508. package/dist/esm/components/TagsInput/TagsInput.js.map +1 -1
  509. package/dist/esm/components/TextArea/TextArea.js +2 -1
  510. package/dist/esm/components/TextArea/TextArea.js.map +1 -1
  511. package/dist/esm/components/TimeAgo/TimeAgo.js +14 -12
  512. package/dist/esm/components/TimeAgo/TimeAgo.js.map +1 -1
  513. package/dist/esm/components/TimePicker/TimePicker.js +3 -2
  514. package/dist/esm/components/TimePicker/TimePicker.js.map +1 -1
  515. package/dist/esm/components/ToggleButton/ToggleButton.js +2 -2
  516. package/dist/esm/components/ToggleButton/ToggleButton.js.map +1 -1
  517. package/dist/esm/components/Tooltip/Tooltip.js +2 -1
  518. package/dist/esm/components/Tooltip/Tooltip.js.map +1 -1
  519. package/dist/esm/components/Typography/Typography.js +2 -1
  520. package/dist/esm/components/Typography/Typography.js.map +1 -1
  521. package/dist/esm/components/VerticalNavigation/Header/Header.js +1 -2
  522. package/dist/esm/components/VerticalNavigation/Header/Header.js.map +1 -1
  523. package/dist/esm/components/VerticalNavigation/Navigation/Navigation.js +3 -1
  524. package/dist/esm/components/VerticalNavigation/Navigation/Navigation.js.map +1 -1
  525. package/dist/esm/components/VerticalNavigation/NavigationSlider/NavigationSlider.js +3 -2
  526. package/dist/esm/components/VerticalNavigation/NavigationSlider/NavigationSlider.js.map +1 -1
  527. package/dist/esm/components/VerticalNavigation/VerticalNavigation.js +12 -10
  528. package/dist/esm/components/VerticalNavigation/VerticalNavigation.js.map +1 -1
  529. package/dist/esm/hooks/useDefaultProps.js +41 -0
  530. package/dist/esm/hooks/useDefaultProps.js.map +1 -0
  531. package/dist/esm/index.js +220 -215
  532. package/dist/esm/index.js.map +1 -1
  533. package/dist/types/index.d.ts +579 -411
  534. package/package.json +5 -5
  535. package/dist/cjs/components/BaseCheckBox/baseCheckBoxClasses.cjs +0 -8
  536. package/dist/cjs/components/BaseCheckBox/baseCheckBoxClasses.cjs.map +0 -1
  537. package/dist/cjs/components/BaseDropdown/baseDropdownClasses.cjs +0 -8
  538. package/dist/cjs/components/BaseDropdown/baseDropdownClasses.cjs.map +0 -1
  539. package/dist/cjs/components/BaseRadio/baseRadioClasses.cjs +0 -8
  540. package/dist/cjs/components/BaseRadio/baseRadioClasses.cjs.map +0 -1
  541. package/dist/cjs/components/BaseSwitch/baseSwitchClasses.cjs +0 -8
  542. package/dist/cjs/components/BaseSwitch/baseSwitchClasses.cjs.map +0 -1
  543. package/dist/cjs/components/BreadCrumb/PathElement/pathElementClasses.cjs +0 -8
  544. package/dist/cjs/components/BreadCrumb/PathElement/pathElementClasses.cjs.map +0 -1
  545. package/dist/cjs/components/BreadCrumb/breadCrumbClasses.cjs +0 -8
  546. package/dist/cjs/components/BreadCrumb/breadCrumbClasses.cjs.map +0 -1
  547. package/dist/cjs/components/BulkActions/bulkActionsClasses.cjs +0 -8
  548. package/dist/cjs/components/BulkActions/bulkActionsClasses.cjs.map +0 -1
  549. package/dist/cjs/components/CheckBox/checkBoxClasses.cjs +0 -8
  550. package/dist/cjs/components/CheckBox/checkBoxClasses.cjs.map +0 -1
  551. package/dist/cjs/components/CheckBoxGroup/checkBoxGroupClasses.cjs +0 -8
  552. package/dist/cjs/components/CheckBoxGroup/checkBoxGroupClasses.cjs.map +0 -1
  553. package/dist/cjs/components/Container/containerClasses.cjs +0 -8
  554. package/dist/cjs/components/Container/containerClasses.cjs.map +0 -1
  555. package/dist/cjs/components/Controls/LeftControl/leftControlClasses.cjs +0 -8
  556. package/dist/cjs/components/Controls/LeftControl/leftControlClasses.cjs.map +0 -1
  557. package/dist/cjs/components/Controls/RightControl/rightControlClasses.cjs +0 -8
  558. package/dist/cjs/components/Controls/RightControl/rightControlClasses.cjs.map +0 -1
  559. package/dist/cjs/components/Controls/controlClasses.cjs +0 -8
  560. package/dist/cjs/components/Controls/controlClasses.cjs.map +0 -1
  561. package/dist/cjs/components/EmptyState/emptyStateClasses.cjs +0 -8
  562. package/dist/cjs/components/EmptyState/emptyStateClasses.cjs.map +0 -1
  563. package/dist/cjs/components/FileUploader/DropZone/dropZoneClasses.cjs +0 -8
  564. package/dist/cjs/components/FileUploader/DropZone/dropZoneClasses.cjs.map +0 -1
  565. package/dist/cjs/components/FileUploader/File/fileClasses.cjs +0 -8
  566. package/dist/cjs/components/FileUploader/File/fileClasses.cjs.map +0 -1
  567. package/dist/cjs/components/FileUploader/FileList/fileListClasses.cjs +0 -8
  568. package/dist/cjs/components/FileUploader/FileList/fileListClasses.cjs.map +0 -1
  569. package/dist/cjs/components/FileUploader/Preview/previewClasses.cjs +0 -8
  570. package/dist/cjs/components/FileUploader/Preview/previewClasses.cjs.map +0 -1
  571. package/dist/cjs/components/Radio/radioClasses.cjs +0 -8
  572. package/dist/cjs/components/Radio/radioClasses.cjs.map +0 -1
  573. package/dist/cjs/components/RadioGroup/radioGroupClasses.cjs +0 -8
  574. package/dist/cjs/components/RadioGroup/radioGroupClasses.cjs.map +0 -1
  575. package/dist/cjs/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.cjs.map +0 -1
  576. package/dist/cjs/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.styles.cjs.map +0 -1
  577. package/dist/cjs/components/Switch/switchClasses.cjs +0 -8
  578. package/dist/cjs/components/Switch/switchClasses.cjs.map +0 -1
  579. package/dist/esm/components/BaseCheckBox/baseCheckBoxClasses.js +0 -8
  580. package/dist/esm/components/BaseCheckBox/baseCheckBoxClasses.js.map +0 -1
  581. package/dist/esm/components/BaseDropdown/baseDropdownClasses.js +0 -8
  582. package/dist/esm/components/BaseDropdown/baseDropdownClasses.js.map +0 -1
  583. package/dist/esm/components/BaseRadio/baseRadioClasses.js +0 -8
  584. package/dist/esm/components/BaseRadio/baseRadioClasses.js.map +0 -1
  585. package/dist/esm/components/BaseSwitch/baseSwitchClasses.js +0 -8
  586. package/dist/esm/components/BaseSwitch/baseSwitchClasses.js.map +0 -1
  587. package/dist/esm/components/BreadCrumb/PathElement/pathElementClasses.js +0 -8
  588. package/dist/esm/components/BreadCrumb/PathElement/pathElementClasses.js.map +0 -1
  589. package/dist/esm/components/BreadCrumb/breadCrumbClasses.js +0 -8
  590. package/dist/esm/components/BreadCrumb/breadCrumbClasses.js.map +0 -1
  591. package/dist/esm/components/BulkActions/bulkActionsClasses.js +0 -8
  592. package/dist/esm/components/BulkActions/bulkActionsClasses.js.map +0 -1
  593. package/dist/esm/components/CheckBox/checkBoxClasses.js +0 -8
  594. package/dist/esm/components/CheckBox/checkBoxClasses.js.map +0 -1
  595. package/dist/esm/components/CheckBoxGroup/checkBoxGroupClasses.js +0 -8
  596. package/dist/esm/components/CheckBoxGroup/checkBoxGroupClasses.js.map +0 -1
  597. package/dist/esm/components/Container/containerClasses.js +0 -8
  598. package/dist/esm/components/Container/containerClasses.js.map +0 -1
  599. package/dist/esm/components/Controls/LeftControl/leftControlClasses.js +0 -8
  600. package/dist/esm/components/Controls/LeftControl/leftControlClasses.js.map +0 -1
  601. package/dist/esm/components/Controls/RightControl/rightControlClasses.js +0 -8
  602. package/dist/esm/components/Controls/RightControl/rightControlClasses.js.map +0 -1
  603. package/dist/esm/components/Controls/controlClasses.js +0 -8
  604. package/dist/esm/components/Controls/controlClasses.js.map +0 -1
  605. package/dist/esm/components/EmptyState/emptyStateClasses.js +0 -8
  606. package/dist/esm/components/EmptyState/emptyStateClasses.js.map +0 -1
  607. package/dist/esm/components/FileUploader/DropZone/dropZoneClasses.js +0 -8
  608. package/dist/esm/components/FileUploader/DropZone/dropZoneClasses.js.map +0 -1
  609. package/dist/esm/components/FileUploader/File/fileClasses.js +0 -8
  610. package/dist/esm/components/FileUploader/File/fileClasses.js.map +0 -1
  611. package/dist/esm/components/FileUploader/FileList/fileListClasses.js +0 -8
  612. package/dist/esm/components/FileUploader/FileList/fileListClasses.js.map +0 -1
  613. package/dist/esm/components/FileUploader/Preview/previewClasses.js +0 -8
  614. package/dist/esm/components/FileUploader/Preview/previewClasses.js.map +0 -1
  615. package/dist/esm/components/Radio/radioClasses.js +0 -8
  616. package/dist/esm/components/Radio/radioClasses.js.map +0 -1
  617. package/dist/esm/components/RadioGroup/radioGroupClasses.js +0 -8
  618. package/dist/esm/components/RadioGroup/radioGroupClasses.js.map +0 -1
  619. package/dist/esm/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.js.map +0 -1
  620. package/dist/esm/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.styles.js.map +0 -1
  621. package/dist/esm/components/Switch/switchClasses.js +0 -8
  622. package/dist/esm/components/Switch/switchClasses.js.map +0 -1
@@ -1,5 +1,6 @@
1
1
  import { forwardRef } from "react";
2
2
  import { useTheme } from "../../hooks/useTheme.js";
3
+ import { useDefaultProps } from "../../hooks/useDefaultProps.js";
3
4
  import { mapVariant } from "./utils.js";
4
5
  import { useClasses } from "./Typography.styles.js";
5
6
  import { staticClasses } from "./Typography.styles.js";
@@ -40,7 +41,7 @@ const HvTypography = forwardRef((props, ref) => {
40
41
  noWrap = false,
41
42
  paragraph = false,
42
43
  ...others
43
- } = props;
44
+ } = useDefaultProps("HvTypography", props);
44
45
  const {
45
46
  classes,
46
47
  cx
@@ -1 +1 @@
1
- {"version":3,"file":"Typography.js","sources":["../../../../src/components/Typography/Typography.tsx"],"sourcesContent":["import { forwardRef, AllHTMLAttributes, Ref } from \"react\";\n\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { ExtractNames } from \"@core/utils/classes\";\nimport { useTheme } from \"@core/hooks/useTheme\";\n\nimport {\n HvTypographyLegacyVariants,\n HvTypographyVariants,\n mapVariant,\n} from \"./utils\";\nimport { staticClasses, useClasses } from \"./Typography.styles\";\n\nexport { staticClasses as typographyClasses };\n\nexport type HvTypographyClasses = ExtractNames<typeof useClasses>;\n\nconst HvTypographyMap = {\n display: \"h1\",\n title1: \"h1\",\n title2: \"h2\",\n title3: \"h3\",\n title4: \"h4\",\n body: \"p\",\n label: \"span\",\n caption1: \"p\",\n caption2: \"p\",\n // LEGACY\n \"5xlTitle\": \"h1\",\n \"4xlTitle\": \"h1\",\n xxlTitle: \"h1\",\n lTitle: \"h2\",\n sTitle: \"h4\",\n xxsTitle: \"h6\",\n sectionTitle: \"p\",\n placeholderText: \"p\",\n link: \"p\",\n disabledText: \"p\",\n selectedNavText: \"p\",\n vizTextDisabled: \"p\",\n xsInlineLink: \"p\",\n} as const;\n\nexport interface HvTypographyProps\n extends Omit<AllHTMLAttributes<HTMLElement>, \"disabled\">,\n HvBaseProps<HTMLElement> {\n component?: React.ElementType;\n /** Use the variant prop to change the visual style of the Typography. */\n variant?: HvTypographyVariants | HvTypographyLegacyVariants;\n /** If `true` the typography will display the look of a link. */\n link?: boolean;\n /** If `true` the typography will display the look of a disabled state. */\n disabled?: boolean;\n /** If `true`, the text will have a bottom margin. */\n paragraph?: boolean;\n /**\n * If `true`, the text will not wrap, but instead will truncate with a text overflow ellipsis.\n *\n * Note that text overflow can only happen with block or inline-block level elements\n * (the element needs to have a width in order to overflow).\n */\n noWrap?: boolean;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvTypographyClasses;\n}\n\n/**\n * Typography component is used to render text and paragraphs within an interface.\n */\nexport const HvTypography = forwardRef(\n (props: HvTypographyProps, ref: Ref<HTMLElement>) => {\n const {\n className,\n component: ComponentProp,\n classes: classesProp,\n variant: variantProp = \"body\",\n link = false,\n disabled = false,\n noWrap = false,\n paragraph = false,\n ...others\n } = props;\n const { classes, cx } = useClasses(classesProp);\n const { activeTheme } = useTheme();\n\n const variant = mapVariant(variantProp, activeTheme?.name);\n\n const Component =\n ComponentProp || (paragraph && \"p\") || HvTypographyMap[variant] || \"span\";\n\n return (\n <Component\n ref={ref}\n className={cx(classes.root, classes[variant], className, {\n [classes.isLink]: link,\n [classes.noWrap]: noWrap,\n [classes.disabled]: disabled,\n })}\n {...others}\n />\n );\n }\n);\n"],"names":["HvTypographyMap","display","title1","title2","title3","title4","body","label","caption1","caption2","xxlTitle","lTitle","sTitle","xxsTitle","sectionTitle","placeholderText","link","disabledText","selectedNavText","vizTextDisabled","xsInlineLink","HvTypography","forwardRef","props","ref","className","component","ComponentProp","classes","classesProp","variant","variantProp","disabled","noWrap","paragraph","others","cx","useClasses","activeTheme","useTheme","mapVariant","name","Component","root","isLink"],"mappings":";;;;;;AAiBA,MAAMA,kBAAkB;AAAA,EACtBC,SAAS;AAAA,EACTC,QAAQ;AAAA,EACRC,QAAQ;AAAA,EACRC,QAAQ;AAAA,EACRC,QAAQ;AAAA,EACRC,MAAM;AAAA,EACNC,OAAO;AAAA,EACPC,UAAU;AAAA,EACVC,UAAU;AAAA;AAAA,EAEV,YAAY;AAAA,EACZ,YAAY;AAAA,EACZC,UAAU;AAAA,EACVC,QAAQ;AAAA,EACRC,QAAQ;AAAA,EACRC,UAAU;AAAA,EACVC,cAAc;AAAA,EACdC,iBAAiB;AAAA,EACjBC,MAAM;AAAA,EACNC,cAAc;AAAA,EACdC,iBAAiB;AAAA,EACjBC,iBAAiB;AAAA,EACjBC,cAAc;AAChB;AA4BO,MAAMC,eAAeC,WAC1B,CAACC,OAA0BC,QAA0B;AAC7C,QAAA;AAAA,IACJC;AAAAA,IACAC,WAAWC;AAAAA,IACXC,SAASC;AAAAA,IACTC,SAASC,cAAc;AAAA,IACvBf,OAAO;AAAA,IACPgB,WAAW;AAAA,IACXC,SAAS;AAAA,IACTC,YAAY;AAAA,IACZ,GAAGC;AAAAA,EACDZ,IAAAA;AACE,QAAA;AAAA,IAAEK;AAAAA,IAASQ;AAAAA,EAAAA,IAAOC,WAAWR,WAAW;AACxC,QAAA;AAAA,IAAES;AAAAA,MAAgBC,SAAS;AAEjC,QAAMT,UAAUU,WAAWT,aAAaO,2CAAaG,IAAI;AAEzD,QAAMC,YACJf,iBAAkBO,aAAa,OAAQlC,gBAAgB8B,OAAO,KAAK;AAErE,6BACGY,WAAS;AAAA,IACRlB;AAAAA,IACAC,WAAWW,GAAGR,QAAQe,MAAMf,QAAQE,OAAO,GAAGL,WAAW;AAAA,MACvD,CAACG,QAAQgB,MAAM,GAAG5B;AAAAA,MAClB,CAACY,QAAQK,MAAM,GAAGA;AAAAA,MAClB,CAACL,QAAQI,QAAQ,GAAGA;AAAAA,IAAAA,CACrB;AAAA,IAAE,GACCG;AAAAA,EAAAA,CACL;AAEL,CACF;"}
1
+ {"version":3,"file":"Typography.js","sources":["../../../../src/components/Typography/Typography.tsx"],"sourcesContent":["import { forwardRef, AllHTMLAttributes, Ref } from \"react\";\n\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { ExtractNames } from \"@core/utils/classes\";\nimport { useTheme } from \"@core/hooks/useTheme\";\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\n\nimport {\n HvTypographyLegacyVariants,\n HvTypographyVariants,\n mapVariant,\n} from \"./utils\";\nimport { staticClasses, useClasses } from \"./Typography.styles\";\n\nexport { staticClasses as typographyClasses };\n\nexport type HvTypographyClasses = ExtractNames<typeof useClasses>;\n\nconst HvTypographyMap = {\n display: \"h1\",\n title1: \"h1\",\n title2: \"h2\",\n title3: \"h3\",\n title4: \"h4\",\n body: \"p\",\n label: \"span\",\n caption1: \"p\",\n caption2: \"p\",\n // LEGACY\n \"5xlTitle\": \"h1\",\n \"4xlTitle\": \"h1\",\n xxlTitle: \"h1\",\n lTitle: \"h2\",\n sTitle: \"h4\",\n xxsTitle: \"h6\",\n sectionTitle: \"p\",\n placeholderText: \"p\",\n link: \"p\",\n disabledText: \"p\",\n selectedNavText: \"p\",\n vizTextDisabled: \"p\",\n xsInlineLink: \"p\",\n} as const;\n\nexport interface HvTypographyProps\n extends Omit<AllHTMLAttributes<HTMLElement>, \"disabled\">,\n HvBaseProps<HTMLElement> {\n component?: React.ElementType;\n /** Use the variant prop to change the visual style of the Typography. */\n variant?: HvTypographyVariants | HvTypographyLegacyVariants;\n /** If `true` the typography will display the look of a link. */\n link?: boolean;\n /** If `true` the typography will display the look of a disabled state. */\n disabled?: boolean;\n /** If `true`, the text will have a bottom margin. */\n paragraph?: boolean;\n /**\n * If `true`, the text will not wrap, but instead will truncate with a text overflow ellipsis.\n *\n * Note that text overflow can only happen with block or inline-block level elements\n * (the element needs to have a width in order to overflow).\n */\n noWrap?: boolean;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvTypographyClasses;\n}\n\n/**\n * Typography component is used to render text and paragraphs within an interface.\n */\nexport const HvTypography = forwardRef(\n (props: HvTypographyProps, ref: Ref<HTMLElement>) => {\n const {\n className,\n component: ComponentProp,\n classes: classesProp,\n variant: variantProp = \"body\",\n link = false,\n disabled = false,\n noWrap = false,\n paragraph = false,\n ...others\n } = useDefaultProps(\"HvTypography\", props);\n const { classes, cx } = useClasses(classesProp);\n const { activeTheme } = useTheme();\n\n const variant = mapVariant(variantProp, activeTheme?.name);\n\n const Component =\n ComponentProp || (paragraph && \"p\") || HvTypographyMap[variant] || \"span\";\n\n return (\n <Component\n ref={ref}\n className={cx(classes.root, classes[variant], className, {\n [classes.isLink]: link,\n [classes.noWrap]: noWrap,\n [classes.disabled]: disabled,\n })}\n {...others}\n />\n );\n }\n);\n"],"names":["HvTypographyMap","display","title1","title2","title3","title4","body","label","caption1","caption2","xxlTitle","lTitle","sTitle","xxsTitle","sectionTitle","placeholderText","link","disabledText","selectedNavText","vizTextDisabled","xsInlineLink","HvTypography","forwardRef","props","ref","className","component","ComponentProp","classes","classesProp","variant","variantProp","disabled","noWrap","paragraph","others","useDefaultProps","cx","useClasses","activeTheme","useTheme","mapVariant","name","Component","root","isLink"],"mappings":";;;;;;;AAkBA,MAAMA,kBAAkB;AAAA,EACtBC,SAAS;AAAA,EACTC,QAAQ;AAAA,EACRC,QAAQ;AAAA,EACRC,QAAQ;AAAA,EACRC,QAAQ;AAAA,EACRC,MAAM;AAAA,EACNC,OAAO;AAAA,EACPC,UAAU;AAAA,EACVC,UAAU;AAAA;AAAA,EAEV,YAAY;AAAA,EACZ,YAAY;AAAA,EACZC,UAAU;AAAA,EACVC,QAAQ;AAAA,EACRC,QAAQ;AAAA,EACRC,UAAU;AAAA,EACVC,cAAc;AAAA,EACdC,iBAAiB;AAAA,EACjBC,MAAM;AAAA,EACNC,cAAc;AAAA,EACdC,iBAAiB;AAAA,EACjBC,iBAAiB;AAAA,EACjBC,cAAc;AAChB;AA4BO,MAAMC,eAAeC,WAC1B,CAACC,OAA0BC,QAA0B;AAC7C,QAAA;AAAA,IACJC;AAAAA,IACAC,WAAWC;AAAAA,IACXC,SAASC;AAAAA,IACTC,SAASC,cAAc;AAAA,IACvBf,OAAO;AAAA,IACPgB,WAAW;AAAA,IACXC,SAAS;AAAA,IACTC,YAAY;AAAA,IACZ,GAAGC;AAAAA,EAAAA,IACDC,gBAAgB,gBAAgBb,KAAK;AACnC,QAAA;AAAA,IAAEK;AAAAA,IAASS;AAAAA,EAAAA,IAAOC,WAAWT,WAAW;AACxC,QAAA;AAAA,IAAEU;AAAAA,MAAgBC,SAAS;AAEjC,QAAMV,UAAUW,WAAWV,aAAaQ,2CAAaG,IAAI;AAEzD,QAAMC,YACJhB,iBAAkBO,aAAa,OAAQlC,gBAAgB8B,OAAO,KAAK;AAErE,6BACGa,WAAS;AAAA,IACRnB;AAAAA,IACAC,WAAWY,GAAGT,QAAQgB,MAAMhB,QAAQE,OAAO,GAAGL,WAAW;AAAA,MACvD,CAACG,QAAQiB,MAAM,GAAG7B;AAAAA,MAClB,CAACY,QAAQK,MAAM,GAAGA;AAAAA,MAClB,CAACL,QAAQI,QAAQ,GAAGA;AAAAA,IAAAA,CACrB;AAAA,IAAE,GACCG;AAAAA,EAAAA,CACL;AAEL,CACF;"}
@@ -37,8 +37,8 @@ const HvVerticalNavigationHeader = ({
37
37
  ...others,
38
38
  children: [isOpen && headerTitle && slider && /* @__PURE__ */ jsx(HvButton, {
39
39
  icon: true,
40
- variant: "secondaryGhost",
41
40
  onClick: backButtonClickHandler,
41
+ "aria-label": "Back",
42
42
  ...backButtonProps,
43
43
  children: /* @__PURE__ */ jsx(Backwards, {
44
44
  iconSize: "XS"
@@ -48,7 +48,6 @@ const HvVerticalNavigationHeader = ({
48
48
  children: headerTitle && slider ? headerTitle : title
49
49
  }), onCollapseButtonClick && /* @__PURE__ */ jsx(StyledCollapseButton, {
50
50
  icon: true,
51
- variant: "secondaryGhost",
52
51
  onClick: onCollapseButtonClick,
53
52
  classes: {
54
53
  root: isOpen ? "" : verticalNavigationHeaderClasses.minimized
@@ -1 +1 @@
1
- {"version":3,"file":"Header.js","sources":["../../../../../src/components/VerticalNavigation/Header/Header.tsx"],"sourcesContent":["import { Backwards, Forwards, Menu } from \"@hitachivantara/uikit-react-icons\";\n\nimport { MouseEventHandler, useContext, useMemo } from \"react\";\n\nimport { clsx } from \"clsx\";\n\nimport { HvButton, HvButtonProps } from \"@core/components/Button\";\nimport { HvTypography } from \"@core/components/Typography\";\n\nimport { VerticalNavigationContext } from \"../VerticalNavigationContext\";\nimport { StyledCollapseButton, StyledHeader } from \"./Header.styles\";\nimport verticalNavigationHeaderClasses, {\n HvVerticalNavigationHeaderClasses,\n} from \"./headerClasses\";\n\nexport interface HvVerticalNavigationHeaderProps {\n /**\n * Id to be applied to the root node.\n */\n id?: string;\n /**\n * The title text to show on Header.\n */\n title?: string;\n /**\n * Icon to show when Vertical Navigation is collapsed.\n */\n openIcon?: React.ReactNode;\n /**\n * Icon to show when Vertical Navigation is expanded.\n */\n closeIcon?: React.ReactNode;\n /**\n * Props for the collapse button.\n */\n collapseButtonProps?: HvButtonProps;\n /**\n * Props for the back button.\n */\n backButtonProps?: HvButtonProps;\n /**\n * Class names to be applied.\n */\n className?: string;\n /**\n * A Jss Object used to override or extend the styles applied to the component.\n */\n classes?: HvVerticalNavigationHeaderClasses;\n /**\n * Handler for the collapse button.\n */\n onCollapseButtonClick?: MouseEventHandler<HTMLElement>;\n}\n\nexport const HvVerticalNavigationHeader = ({\n title,\n openIcon = <Forwards />,\n closeIcon = <Backwards />,\n collapseButtonProps,\n backButtonProps,\n className,\n classes,\n onCollapseButtonClick,\n ...others\n}: HvVerticalNavigationHeaderProps) => {\n const {\n isOpen,\n useIcons,\n headerTitle,\n slider,\n navigateToParentHandler,\n parentItem,\n } = useContext(VerticalNavigationContext);\n\n openIcon = !useIcons ? <Menu /> : openIcon;\n\n const backButtonClickHandler = () => {\n if (navigateToParentHandler) navigateToParentHandler();\n };\n\n // whenever we're in a sublevel, the parentItem is always a single item.\n // In the first level it's always an array with the first level elements.\n const shouldShowTitle = useMemo(\n () => !slider || (slider && !Array.isArray(parentItem)),\n [parentItem, slider]\n );\n\n return shouldShowTitle ? (\n <StyledHeader\n className={clsx(\n className,\n verticalNavigationHeaderClasses.root,\n classes?.root,\n !isOpen &&\n clsx(verticalNavigationHeaderClasses.minimized, classes?.minimized)\n )}\n {...others}\n >\n {isOpen && headerTitle && slider && (\n <HvButton\n icon\n variant=\"secondaryGhost\"\n onClick={backButtonClickHandler}\n {...backButtonProps}\n >\n <Backwards iconSize=\"XS\" />\n </HvButton>\n )}\n {isOpen && (\n <HvTypography variant={slider ? \"label\" : \"title3\"}>\n {headerTitle && slider ? headerTitle : title}\n </HvTypography>\n )}\n {onCollapseButtonClick && (\n <StyledCollapseButton\n icon\n variant=\"secondaryGhost\"\n onClick={onCollapseButtonClick}\n classes={{\n root: isOpen ? \"\" : verticalNavigationHeaderClasses.minimized,\n }}\n {...collapseButtonProps}\n >\n {isOpen ? closeIcon : openIcon}\n </StyledCollapseButton>\n )}\n </StyledHeader>\n ) : null;\n};\n"],"names":["HvVerticalNavigationHeader","title","openIcon","_jsx","Forwards","closeIcon","Backwards","collapseButtonProps","backButtonProps","className","classes","onCollapseButtonClick","others","isOpen","useIcons","headerTitle","slider","navigateToParentHandler","parentItem","useContext","VerticalNavigationContext","Menu","backButtonClickHandler","shouldShowTitle","useMemo","Array","isArray","StyledHeader","clsx","verticalNavigationHeaderClasses","root","minimized","children","HvButton","icon","variant","onClick","iconSize","HvTypography","StyledCollapseButton"],"mappings":";;;;;;;;;AAsDO,MAAMA,6BAA6BA,CAAC;AAAA,EACzCC;AAAAA,EACAC,WAAWC,oBAACC,YAAU;AAAA,EACtBC,YAAYF,oBAACG,aAAW;AAAA,EACxBC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACA,GAAGC;AAC4B,MAAM;AAC/B,QAAA;AAAA,IACJC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,EAAAA,IACEC,WAAWC,yBAAyB;AAExClB,aAAW,CAACY,WAAWX,oBAACkB,MAAI,CAAA,CAAE,IAAInB;AAElC,QAAMoB,yBAAyBA,MAAM;AAC/BL,QAAAA;AAAiD;EAAA;AAKvD,QAAMM,kBAAkBC,QACtB,MAAM,CAACR,UAAWA,UAAU,CAACS,MAAMC,QAAQR,UAAU,GACrD,CAACA,YAAYF,MAAM,CACrB;AAEOO,SAAAA,uCACJI,cAAY;AAAA,IACXlB,WAAWmB,KACTnB,WACAoB,gCAAgCC,MAChCpB,mCAASoB,MACT,CAACjB,UACCe,KAAKC,gCAAgCE,WAAWrB,mCAASqB,SAAS,CACtE;AAAA,IAAE,GACEnB;AAAAA,IAAMoB,UAAA,CAETnB,UAAUE,eAAeC,8BACvBiB,UAAQ;AAAA,MACPC,MAAI;AAAA,MACJC,SAAQ;AAAA,MACRC,SAASd;AAAAA,MAAuB,GAC5Bd;AAAAA,MAAewB,8BAElB1B,WAAS;AAAA,QAAC+B,UAAS;AAAA,MAAA,CAAM;AAAA,IAAA,CAClB,GAEXxB,UACCV,oBAACmC,cAAY;AAAA,MAACH,SAASnB,SAAS,UAAU;AAAA,MAASgB,UAChDjB,eAAeC,SAASD,cAAcd;AAAAA,IAAAA,CAC3B,GAEfU,yBACCR,oBAACoC,sBAAoB;AAAA,MACnBL,MAAI;AAAA,MACJC,SAAQ;AAAA,MACRC,SAASzB;AAAAA,MACTD,SAAS;AAAA,QACPoB,MAAMjB,SAAS,KAAKgB,gCAAgCE;AAAAA,MACtD;AAAA,MAAE,GACExB;AAAAA,MAAmByB,UAEtBnB,SAASR,YAAYH;AAAAA,IAAAA,CACF,CACvB;AAAA,EACW,CAAA,IACZ;AACN;"}
1
+ {"version":3,"file":"Header.js","sources":["../../../../../src/components/VerticalNavigation/Header/Header.tsx"],"sourcesContent":["import { Backwards, Forwards, Menu } from \"@hitachivantara/uikit-react-icons\";\n\nimport { MouseEventHandler, useContext, useMemo } from \"react\";\n\nimport { clsx } from \"clsx\";\n\nimport { HvButton, HvButtonProps } from \"@core/components/Button\";\nimport { HvTypography } from \"@core/components/Typography\";\n\nimport { VerticalNavigationContext } from \"../VerticalNavigationContext\";\nimport { StyledCollapseButton, StyledHeader } from \"./Header.styles\";\nimport verticalNavigationHeaderClasses, {\n HvVerticalNavigationHeaderClasses,\n} from \"./headerClasses\";\n\nexport interface HvVerticalNavigationHeaderProps {\n /**\n * Id to be applied to the root node.\n */\n id?: string;\n /**\n * The title text to show on Header.\n */\n title?: string;\n /**\n * Icon to show when Vertical Navigation is collapsed.\n */\n openIcon?: React.ReactNode;\n /**\n * Icon to show when Vertical Navigation is expanded.\n */\n closeIcon?: React.ReactNode;\n /**\n * Props for the collapse button.\n */\n collapseButtonProps?: HvButtonProps;\n /**\n * Props for the back button.\n */\n backButtonProps?: HvButtonProps;\n /**\n * Class names to be applied.\n */\n className?: string;\n /**\n * A Jss Object used to override or extend the styles applied to the component.\n */\n classes?: HvVerticalNavigationHeaderClasses;\n /**\n * Handler for the collapse button.\n */\n onCollapseButtonClick?: MouseEventHandler<HTMLElement>;\n}\n\nexport const HvVerticalNavigationHeader = ({\n title,\n openIcon = <Forwards />,\n closeIcon = <Backwards />,\n collapseButtonProps,\n backButtonProps,\n className,\n classes,\n onCollapseButtonClick,\n ...others\n}: HvVerticalNavigationHeaderProps) => {\n const {\n isOpen,\n useIcons,\n headerTitle,\n slider,\n navigateToParentHandler,\n parentItem,\n } = useContext(VerticalNavigationContext);\n\n openIcon = !useIcons ? <Menu /> : openIcon;\n\n const backButtonClickHandler = () => {\n if (navigateToParentHandler) navigateToParentHandler();\n };\n\n // whenever we're in a sublevel, the parentItem is always a single item.\n // In the first level it's always an array with the first level elements.\n const shouldShowTitle = useMemo(\n () => !slider || (slider && !Array.isArray(parentItem)),\n [parentItem, slider]\n );\n\n return shouldShowTitle ? (\n <StyledHeader\n className={clsx(\n className,\n verticalNavigationHeaderClasses.root,\n classes?.root,\n !isOpen &&\n clsx(verticalNavigationHeaderClasses.minimized, classes?.minimized)\n )}\n {...others}\n >\n {isOpen && headerTitle && slider && (\n <HvButton icon onClick={backButtonClickHandler} aria-label=\"Back\" {...backButtonProps}>\n <Backwards iconSize=\"XS\" />\n </HvButton>\n )}\n {isOpen && (\n <HvTypography variant={slider ? \"label\" : \"title3\"}>\n {headerTitle && slider ? headerTitle : title}\n </HvTypography>\n )}\n {onCollapseButtonClick && (\n <StyledCollapseButton\n icon\n onClick={onCollapseButtonClick}\n classes={{\n root: isOpen ? \"\" : verticalNavigationHeaderClasses.minimized,\n }}\n {...collapseButtonProps}\n >\n {isOpen ? closeIcon : openIcon}\n </StyledCollapseButton>\n )}\n </StyledHeader>\n ) : null;\n};\n"],"names":["HvVerticalNavigationHeader","title","openIcon","_jsx","Forwards","closeIcon","Backwards","collapseButtonProps","backButtonProps","className","classes","onCollapseButtonClick","others","isOpen","useIcons","headerTitle","slider","navigateToParentHandler","parentItem","useContext","VerticalNavigationContext","Menu","backButtonClickHandler","shouldShowTitle","useMemo","Array","isArray","StyledHeader","clsx","verticalNavigationHeaderClasses","root","minimized","children","HvButton","icon","onClick","iconSize","HvTypography","variant","StyledCollapseButton"],"mappings":";;;;;;;;;AAsDO,MAAMA,6BAA6BA,CAAC;AAAA,EACzCC;AAAAA,EACAC,WAAWC,oBAACC,YAAU;AAAA,EACtBC,YAAYF,oBAACG,aAAW;AAAA,EACxBC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACA,GAAGC;AAC4B,MAAM;AAC/B,QAAA;AAAA,IACJC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,EAAAA,IACEC,WAAWC,yBAAyB;AAExClB,aAAW,CAACY,WAAWX,oBAACkB,MAAI,CAAA,CAAE,IAAInB;AAElC,QAAMoB,yBAAyBA,MAAM;AAC/BL,QAAAA;AAAiD;EAAA;AAKvD,QAAMM,kBAAkBC,QACtB,MAAM,CAACR,UAAWA,UAAU,CAACS,MAAMC,QAAQR,UAAU,GACrD,CAACA,YAAYF,MAAM,CACrB;AAEOO,SAAAA,uCACJI,cAAY;AAAA,IACXlB,WAAWmB,KACTnB,WACAoB,gCAAgCC,MAChCpB,mCAASoB,MACT,CAACjB,UACCe,KAAKC,gCAAgCE,WAAWrB,mCAASqB,SAAS,CACtE;AAAA,IAAE,GACEnB;AAAAA,IAAMoB,UAAA,CAETnB,UAAUE,eAAeC,8BACvBiB,UAAQ;AAAA,MAACC,MAAI;AAAA,MAACC,SAASb;AAAAA,MAAwB,cAAW;AAAA,MAAM,GAAKd;AAAAA,MAAewB,8BAClF1B,WAAS;AAAA,QAAC8B,UAAS;AAAA,MAAA,CAAM;AAAA,IAAA,CAClB,GAEXvB,UACCV,oBAACkC,cAAY;AAAA,MAACC,SAAStB,SAAS,UAAU;AAAA,MAASgB,UAChDjB,eAAeC,SAASD,cAAcd;AAAAA,IAAAA,CAC3B,GAEfU,yBACCR,oBAACoC,sBAAoB;AAAA,MACnBL,MAAI;AAAA,MACJC,SAASxB;AAAAA,MACTD,SAAS;AAAA,QACPoB,MAAMjB,SAAS,KAAKgB,gCAAgCE;AAAAA,MACtD;AAAA,MAAE,GACExB;AAAAA,MAAmByB,UAEtBnB,SAASR,YAAYH;AAAAA,IAAAA,CACF,CACvB;AAAA,EACW,CAAA,IACZ;AACN;"}
@@ -81,6 +81,7 @@ const HvVerticalNavigationTree = ({
81
81
  selected: selectedProp,
82
82
  defaultSelected,
83
83
  onChange,
84
+ sliderForwardButtonAriaLabel = "Navigate to submenu",
84
85
  ...others
85
86
  }) => {
86
87
  const [selected, setSelected] = useControlled(selectedProp, defaultSelected);
@@ -205,7 +206,8 @@ const HvVerticalNavigationTree = ({
205
206
  data: parentItem.data || withParentData,
206
207
  selected,
207
208
  onNavigateToTarget: navigateToTargetHandler,
208
- onNavigateToChild: navigateToChildHandler
209
+ onNavigateToChild: navigateToChildHandler,
210
+ forwardButtonAriaLabel: sliderForwardButtonAriaLabel
209
211
  }) : /* @__PURE__ */ jsxs(HvVerticalNavigationTreeView, {
210
212
  id: setId(id, "tree"),
211
213
  className: clsx(verticalNavigationTreeClasses.list, classes == null ? void 0 : classes.list),
@@ -1 +1 @@
1
- {"version":3,"file":"Navigation.js","sources":["../../../../../src/components/VerticalNavigation/Navigation/Navigation.tsx"],"sourcesContent":["import { useCallback, useMemo, useContext, useEffect, useState } from \"react\";\n\nimport { clsx } from \"clsx\";\n\nimport uniqueId from \"lodash/uniqueId\";\n\nimport { wrapperTooltip } from \"@core/utils/wrapperTooltip\";\nimport { setId } from \"@core/utils/setId\";\nimport { useControlled } from \"@core/hooks/useControlled\";\nimport { HvBaseProps } from \"@core/types/generic\";\n\nimport {\n HvVerticalNavigationTreeView,\n HvVerticalNavigationTreeViewItem,\n NavigationMode,\n} from \"../TreeView\";\nimport verticalNavigationTreeClasses, {\n HvVerticalNavigationTreeClasses,\n} from \"./navigationClasses\";\nimport { StyledNav } from \"./Navigation.styles\";\nimport { HvVerticalNavigationSlider } from \"../NavigationSlider\";\nimport {\n VerticalNavigationContext,\n NavigationData,\n} from \"../VerticalNavigationContext\";\nimport { getParentItemById } from \"../NavigationSlider/utils/NavigationSlider.utils\";\nimport { NavigationPopupContainer } from \"../NavigationPopup/NavigationPopupContainer\";\n\nexport interface HvVerticalNavigationTreeProps\n extends HvBaseProps<HTMLDivElement, \"onChange\"> {\n /**\n * Id to be applied to the root node.\n */\n id?: string;\n /**\n * Class names to be applied.\n */\n className?: string;\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes?: HvVerticalNavigationTreeClasses;\n /**\n * Modus operandi (role) of the widget instance.\n */\n mode?: NavigationMode;\n /**\n * Can non-leaf nodes be collapsed / expanded.\n */\n collapsible?: boolean;\n /**\n * The ID of the selected page.\n */\n selected?: string;\n /**\n * When uncontrolled, defines the initial selected page ID.\n */\n defaultSelected?: string;\n /**\n * Callback fired when a navigation item is selected.\n *\n * @param {object} event The event source of the callback.\n * @param {object} page The data of the selected page.\n */\n onChange?: (event, page) => void;\n /**\n * Expanded nodes' ids.\n */\n expanded?: string[];\n /**\n * When uncontrolled, defines the initial expanded nodes' ids.\n *\n * It also supports `true` for starting with all nodes expanded.\n * With `false` all nodes will be collapsed.\n *\n * By default it expands the needed nodes to display the current selection, if any.\n */\n defaultExpanded?: string[] | boolean;\n /**\n * Callback fired when tree items are expanded/collapsed.\n *\n * @param {object} event The event source of the callback.\n * @param {array} nodeIds The ids of the expanded nodes (old and new).\n */\n onToggle?: (event, nodeIds) => void;\n /**\n * An array containing the data for each menu item.\n *\n * id - the id to be applied to the root element.\n * label - the label to be rendered on the menu item.\n * data - sub-menu items\n * href - the url used for navigation.\n * target - the behavior when opening an url.\n */\n data?: NavigationData[];\n}\n\nconst createListHierarchy = (\n items,\n id,\n classes?: HvVerticalNavigationTreeClasses,\n mouseEnterHandler?: (event, item) => void,\n disableTooltip = false\n) =>\n items.map((item) => {\n const {\n id: itemId,\n label: itemLabel,\n icon,\n data: children,\n selectable,\n disabled,\n href,\n target,\n } = item;\n\n const ItemText = wrapperTooltip(true, itemLabel, itemLabel);\n\n const itemMouseEnterHandler = (event) => {\n mouseEnterHandler?.(event, item);\n };\n\n return (\n <HvVerticalNavigationTreeViewItem\n id={setId(id, itemId)}\n className={classes?.listItem}\n href={href}\n target={target}\n key={itemId}\n nodeId={itemId}\n label={<ItemText />}\n icon={icon}\n payload={item}\n selectable={selectable}\n disabled={disabled}\n onMouseEnter={itemMouseEnterHandler}\n disableTooltip={disableTooltip}\n >\n {children\n ? createListHierarchy(\n children,\n id,\n classes,\n mouseEnterHandler,\n disableTooltip\n )\n : undefined}\n </HvVerticalNavigationTreeViewItem>\n );\n });\n\nconst getAllParents = (items) => {\n const parents = items.filter(\n (item) => item.data != null && item.data.length > 0\n );\n const childParents = parents.flatMap((item) => getAllParents(item.data));\n\n return [...parents, ...childParents];\n};\n\nfunction pathToElement(data, targetId) {\n const path: string[] = [];\n\n if (data != null && data.length > 0) {\n for (let i = 0; i !== data.length; ++i) {\n const item = data[i];\n if (item.id === targetId) {\n path.push(item.id);\n break;\n }\n\n const subPaths = pathToElement(item.data, targetId);\n if (subPaths.length > 0) {\n path.push(item.id);\n path.push(...subPaths);\n break;\n }\n }\n }\n\n return path;\n}\n\nexport const HvVerticalNavigationTree = ({\n id,\n\n className,\n classes,\n\n data,\n\n mode = \"navigation\",\n\n collapsible = false,\n expanded: expandedProp,\n defaultExpanded,\n onToggle,\n\n selected: selectedProp,\n defaultSelected,\n onChange,\n\n ...others\n}: HvVerticalNavigationTreeProps) => {\n const [selected, setSelected] = useControlled(selectedProp, defaultSelected);\n const [expanded, setExpanded] = useControlled(expandedProp, () => {\n if (defaultExpanded === true) {\n // all parent nodes will be expanded by default\n return getAllParents(data).map((item) => item.id);\n }\n\n if (defaultExpanded === false) {\n // all parent nodes will be collapsed by default\n return [];\n }\n\n if (defaultExpanded == null) {\n if (selected != null) {\n // the path to the selected node will be expanded (default behaviour)\n const path = pathToElement(data, selected);\n return path.slice(0, -1);\n }\n\n // nothing is expanded\n return [];\n }\n\n return defaultExpanded;\n });\n\n const {\n isOpen,\n useIcons,\n slider,\n\n parentItem,\n setParentItem,\n withParentData,\n navigateToChildHandler,\n\n setParentData,\n setParentSelected,\n } = useContext(VerticalNavigationContext);\n\n const [navigationPopup, setNavigationPopup] = useState<{\n // This value is needed to guarantee that the NavigationPopup is fully re-rendered with keeping any previous values\n uniqueKey: string;\n anchorEl: HTMLButtonElement | null;\n fixedMode: boolean;\n data: NavigationData[];\n } | null>(null);\n\n const handleChange = useCallback(\n (event, selectedId, selectedItem) => {\n if (useIcons && !isOpen && selectedItem.data) {\n const currentEventTarget = event.currentTarget;\n setNavigationPopup((prevState) => {\n // We want to close the popup in case the clicked element is the same as the previous one\n return prevState?.anchorEl === currentEventTarget\n ? null\n : {\n uniqueKey: uniqueId(),\n anchorEl: currentEventTarget,\n fixedMode: true,\n data: selectedItem.data,\n };\n });\n\n // We need this stopPropagation or else the Popup will close due to the clickaway being triggered\n event.stopPropagation();\n } else {\n setSelected(selectedId);\n setExpanded((prevState) => {\n if (!isOpen) {\n return [...prevState, ...pathToElement(data, selectedId)];\n }\n return [...prevState];\n });\n setNavigationPopup(null);\n if (onChange) {\n onChange(event, selectedItem);\n }\n }\n },\n [onChange, setSelected, setExpanded, isOpen, useIcons, data]\n );\n\n const treeViewItemMouseEnterHandler = useCallback(\n (event, item) => {\n const isCollapsed = useIcons && !isOpen;\n\n if (isCollapsed && item.data && !navigationPopup?.fixedMode) {\n const currentEventTarget = event.currentTarget;\n\n setNavigationPopup?.({\n uniqueKey: uniqueId(),\n anchorEl: currentEventTarget,\n fixedMode: false,\n data: item.data,\n });\n } else if (isCollapsed && !item.data && !navigationPopup?.fixedMode) {\n setNavigationPopup(null);\n }\n },\n [isOpen, useIcons, navigationPopup]\n );\n\n const handleToggle = useCallback(\n (event, newExpanded) => {\n setExpanded(newExpanded);\n\n if (onToggle) {\n onToggle(event, newExpanded);\n }\n },\n [onToggle, setExpanded]\n );\n\n const children = useMemo(\n () =>\n data &&\n createListHierarchy(\n data,\n id,\n classes,\n treeViewItemMouseEnterHandler,\n navigationPopup?.fixedMode\n ),\n [classes, data, id, navigationPopup, treeViewItemMouseEnterHandler]\n );\n\n useEffect(() => {\n if (!isOpen) {\n setNavigationPopup?.(null);\n }\n }, [isOpen]);\n\n useEffect(() => {\n if (setParentSelected) setParentSelected(selected);\n }, [selected, setSelected, setParentSelected]);\n\n useEffect(() => {\n if (setParentData) setParentData(data);\n }, [data, setParentData]);\n\n useEffect(() => {\n if (\n withParentData &&\n selected &&\n setParentItem &&\n getParentItemById(withParentData, selected)\n ) {\n setParentItem(getParentItemById(withParentData, selected));\n }\n }, [withParentData, selected, setParentItem]);\n\n // navigation slider\n const navigateToTargetHandler = (event, selectedItem) => {\n handleChange(event, selectedItem.id, selectedItem);\n };\n\n const handleNavigationPopupClose = () => {\n setNavigationPopup(null);\n };\n\n const handleStyledNavMouseLeave = () => {\n if (useIcons && !isOpen && !navigationPopup?.fixedMode) {\n setNavigationPopup(null);\n }\n };\n\n const handleNavigationPopupMouseLeave = () => {\n if (!navigationPopup?.fixedMode) {\n handleNavigationPopupClose();\n }\n };\n\n const handleNavigationPopupChange = (event, selectedItem) => {\n handleChange(event, selectedItem.id, selectedItem);\n };\n\n return (\n <StyledNav\n id={id}\n className={clsx(\n className,\n verticalNavigationTreeClasses.root,\n classes?.root,\n !isOpen &&\n !useIcons &&\n clsx(verticalNavigationTreeClasses.collapsed, classes?.collapsed)\n )}\n onMouseLeave={handleStyledNavMouseLeave}\n {...others}\n >\n {slider ? (\n <HvVerticalNavigationSlider\n data={parentItem.data || withParentData}\n selected={selected}\n onNavigateToTarget={navigateToTargetHandler}\n onNavigateToChild={navigateToChildHandler}\n />\n ) : (\n <HvVerticalNavigationTreeView\n id={setId(id, \"tree\")}\n className={clsx(verticalNavigationTreeClasses.list, classes?.list)}\n selectable\n mode={mode}\n collapsible={collapsible}\n selected={selected}\n onChange={handleChange}\n expanded={expanded}\n onToggle={handleToggle}\n >\n {useIcons && !isOpen && navigationPopup && (\n <NavigationPopupContainer\n anchorEl={navigationPopup.anchorEl}\n onClose={handleNavigationPopupClose}\n key={navigationPopup.uniqueKey}\n className={clsx(\n verticalNavigationTreeClasses.navigationPopup,\n classes?.navigationPopup\n )}\n >\n <HvVerticalNavigationTree\n className={clsx(verticalNavigationTreeClasses.popup)}\n id={setId(id, \"navigation-popup-tree\")}\n collapsible\n defaultExpanded\n selected={selected}\n data={navigationPopup.data}\n onChange={handleNavigationPopupChange}\n onMouseLeave={handleNavigationPopupMouseLeave}\n />\n </NavigationPopupContainer>\n )}\n {children}\n </HvVerticalNavigationTreeView>\n )}\n </StyledNav>\n );\n};\n"],"names":["createListHierarchy","items","id","classes","mouseEnterHandler","disableTooltip","map","item","itemId","label","itemLabel","icon","data","children","selectable","disabled","href","target","ItemText","wrapperTooltip","itemMouseEnterHandler","event","HvVerticalNavigationTreeViewItem","setId","className","listItem","nodeId","_jsx","payload","onMouseEnter","undefined","getAllParents","parents","filter","length","childParents","flatMap","pathToElement","targetId","path","i","push","subPaths","HvVerticalNavigationTree","mode","collapsible","expanded","expandedProp","defaultExpanded","onToggle","selected","selectedProp","defaultSelected","onChange","others","setSelected","useControlled","setExpanded","slice","isOpen","useIcons","slider","parentItem","setParentItem","withParentData","navigateToChildHandler","setParentData","setParentSelected","useContext","VerticalNavigationContext","navigationPopup","setNavigationPopup","useState","handleChange","useCallback","selectedId","selectedItem","currentEventTarget","currentTarget","prevState","anchorEl","uniqueKey","uniqueId","fixedMode","stopPropagation","treeViewItemMouseEnterHandler","isCollapsed","handleToggle","newExpanded","useMemo","useEffect","getParentItemById","navigateToTargetHandler","handleNavigationPopupClose","handleStyledNavMouseLeave","handleNavigationPopupMouseLeave","handleNavigationPopupChange","StyledNav","clsx","verticalNavigationTreeClasses","root","collapsed","onMouseLeave","HvVerticalNavigationSlider","onNavigateToTarget","onNavigateToChild","_jsxs","HvVerticalNavigationTreeView","list","NavigationPopupContainer","onClose","popup"],"mappings":"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"}
1
+ {"version":3,"file":"Navigation.js","sources":["../../../../../src/components/VerticalNavigation/Navigation/Navigation.tsx"],"sourcesContent":["import { useCallback, useMemo, useContext, useEffect, useState } from \"react\";\n\nimport { clsx } from \"clsx\";\n\nimport uniqueId from \"lodash/uniqueId\";\n\nimport { wrapperTooltip } from \"@core/utils/wrapperTooltip\";\nimport { setId } from \"@core/utils/setId\";\nimport { useControlled } from \"@core/hooks/useControlled\";\nimport { HvBaseProps } from \"@core/types/generic\";\n\nimport {\n HvVerticalNavigationTreeView,\n HvVerticalNavigationTreeViewItem,\n NavigationMode,\n} from \"../TreeView\";\nimport verticalNavigationTreeClasses, {\n HvVerticalNavigationTreeClasses,\n} from \"./navigationClasses\";\nimport { StyledNav } from \"./Navigation.styles\";\nimport { HvVerticalNavigationSlider } from \"../NavigationSlider\";\nimport {\n VerticalNavigationContext,\n NavigationData,\n} from \"../VerticalNavigationContext\";\nimport { getParentItemById } from \"../NavigationSlider/utils/NavigationSlider.utils\";\nimport { NavigationPopupContainer } from \"../NavigationPopup/NavigationPopupContainer\";\n\nexport interface HvVerticalNavigationTreeProps\n extends HvBaseProps<HTMLDivElement, \"onChange\"> {\n /**\n * Id to be applied to the root node.\n */\n id?: string;\n /**\n * Class names to be applied.\n */\n className?: string;\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes?: HvVerticalNavigationTreeClasses;\n /**\n * Modus operandi (role) of the widget instance.\n */\n mode?: NavigationMode;\n /**\n * Can non-leaf nodes be collapsed / expanded.\n */\n collapsible?: boolean;\n /**\n * The ID of the selected page.\n */\n selected?: string;\n /**\n * When uncontrolled, defines the initial selected page ID.\n */\n defaultSelected?: string;\n /**\n * Callback fired when a navigation item is selected.\n *\n * @param {object} event The event source of the callback.\n * @param {object} page The data of the selected page.\n */\n onChange?: (event, page) => void;\n /**\n * Expanded nodes' ids.\n */\n expanded?: string[];\n /**\n * When uncontrolled, defines the initial expanded nodes' ids.\n *\n * It also supports `true` for starting with all nodes expanded.\n * With `false` all nodes will be collapsed.\n *\n * By default it expands the needed nodes to display the current selection, if any.\n */\n defaultExpanded?: string[] | boolean;\n /**\n * Callback fired when tree items are expanded/collapsed.\n *\n * @param {object} event The event source of the callback.\n * @param {array} nodeIds The ids of the expanded nodes (old and new).\n */\n onToggle?: (event, nodeIds) => void;\n /**\n * An array containing the data for each menu item.\n *\n * id - the id to be applied to the root element.\n * label - the label to be rendered on the menu item.\n * data - sub-menu items\n * href - the url used for navigation.\n * target - the behavior when opening an url.\n */\n data?: NavigationData[];\n /** Aria label to apply to the navigate to submenu button on the navigation slider list items. */\n sliderForwardButtonAriaLabel?: string;\n}\n\nconst createListHierarchy = (\n items,\n id,\n classes?: HvVerticalNavigationTreeClasses,\n mouseEnterHandler?: (event, item) => void,\n disableTooltip = false\n) =>\n items.map((item) => {\n const {\n id: itemId,\n label: itemLabel,\n icon,\n data: children,\n selectable,\n disabled,\n href,\n target,\n } = item;\n\n const ItemText = wrapperTooltip(true, itemLabel, itemLabel);\n\n const itemMouseEnterHandler = (event) => {\n mouseEnterHandler?.(event, item);\n };\n\n return (\n <HvVerticalNavigationTreeViewItem\n id={setId(id, itemId)}\n className={classes?.listItem}\n href={href}\n target={target}\n key={itemId}\n nodeId={itemId}\n label={<ItemText />}\n icon={icon}\n payload={item}\n selectable={selectable}\n disabled={disabled}\n onMouseEnter={itemMouseEnterHandler}\n disableTooltip={disableTooltip}\n >\n {children\n ? createListHierarchy(\n children,\n id,\n classes,\n mouseEnterHandler,\n disableTooltip\n )\n : undefined}\n </HvVerticalNavigationTreeViewItem>\n );\n });\n\nconst getAllParents = (items) => {\n const parents = items.filter(\n (item) => item.data != null && item.data.length > 0\n );\n const childParents = parents.flatMap((item) => getAllParents(item.data));\n\n return [...parents, ...childParents];\n};\n\nfunction pathToElement(data, targetId) {\n const path: string[] = [];\n\n if (data != null && data.length > 0) {\n for (let i = 0; i !== data.length; ++i) {\n const item = data[i];\n if (item.id === targetId) {\n path.push(item.id);\n break;\n }\n\n const subPaths = pathToElement(item.data, targetId);\n if (subPaths.length > 0) {\n path.push(item.id);\n path.push(...subPaths);\n break;\n }\n }\n }\n\n return path;\n}\n\nexport const HvVerticalNavigationTree = ({\n id,\n\n className,\n classes,\n\n data,\n\n mode = \"navigation\",\n\n collapsible = false,\n expanded: expandedProp,\n defaultExpanded,\n onToggle,\n\n selected: selectedProp,\n defaultSelected,\n onChange,\n\n sliderForwardButtonAriaLabel = \"Navigate to submenu\",\n\n ...others\n}: HvVerticalNavigationTreeProps) => {\n const [selected, setSelected] = useControlled(selectedProp, defaultSelected);\n const [expanded, setExpanded] = useControlled(expandedProp, () => {\n if (defaultExpanded === true) {\n // all parent nodes will be expanded by default\n return getAllParents(data).map((item) => item.id);\n }\n\n if (defaultExpanded === false) {\n // all parent nodes will be collapsed by default\n return [];\n }\n\n if (defaultExpanded == null) {\n if (selected != null) {\n // the path to the selected node will be expanded (default behaviour)\n const path = pathToElement(data, selected);\n return path.slice(0, -1);\n }\n\n // nothing is expanded\n return [];\n }\n\n return defaultExpanded;\n });\n\n const {\n isOpen,\n useIcons,\n slider,\n\n parentItem,\n setParentItem,\n withParentData,\n navigateToChildHandler,\n\n setParentData,\n setParentSelected,\n } = useContext(VerticalNavigationContext);\n\n const [navigationPopup, setNavigationPopup] = useState<{\n // This value is needed to guarantee that the NavigationPopup is fully re-rendered with keeping any previous values\n uniqueKey: string;\n anchorEl: HTMLButtonElement | null;\n fixedMode: boolean;\n data: NavigationData[];\n } | null>(null);\n\n const handleChange = useCallback(\n (event, selectedId, selectedItem) => {\n if (useIcons && !isOpen && selectedItem.data) {\n const currentEventTarget = event.currentTarget;\n setNavigationPopup((prevState) => {\n // We want to close the popup in case the clicked element is the same as the previous one\n return prevState?.anchorEl === currentEventTarget\n ? null\n : {\n uniqueKey: uniqueId(),\n anchorEl: currentEventTarget,\n fixedMode: true,\n data: selectedItem.data,\n };\n });\n\n // We need this stopPropagation or else the Popup will close due to the clickaway being triggered\n event.stopPropagation();\n } else {\n setSelected(selectedId);\n setExpanded((prevState) => {\n if (!isOpen) {\n return [...prevState, ...pathToElement(data, selectedId)];\n }\n return [...prevState];\n });\n setNavigationPopup(null);\n if (onChange) {\n onChange(event, selectedItem);\n }\n }\n },\n [onChange, setSelected, setExpanded, isOpen, useIcons, data]\n );\n\n const treeViewItemMouseEnterHandler = useCallback(\n (event, item) => {\n const isCollapsed = useIcons && !isOpen;\n\n if (isCollapsed && item.data && !navigationPopup?.fixedMode) {\n const currentEventTarget = event.currentTarget;\n\n setNavigationPopup?.({\n uniqueKey: uniqueId(),\n anchorEl: currentEventTarget,\n fixedMode: false,\n data: item.data,\n });\n } else if (isCollapsed && !item.data && !navigationPopup?.fixedMode) {\n setNavigationPopup(null);\n }\n },\n [isOpen, useIcons, navigationPopup]\n );\n\n const handleToggle = useCallback(\n (event, newExpanded) => {\n setExpanded(newExpanded);\n\n if (onToggle) {\n onToggle(event, newExpanded);\n }\n },\n [onToggle, setExpanded]\n );\n\n const children = useMemo(\n () =>\n data &&\n createListHierarchy(\n data,\n id,\n classes,\n treeViewItemMouseEnterHandler,\n navigationPopup?.fixedMode\n ),\n [classes, data, id, navigationPopup, treeViewItemMouseEnterHandler]\n );\n\n useEffect(() => {\n if (!isOpen) {\n setNavigationPopup?.(null);\n }\n }, [isOpen]);\n\n useEffect(() => {\n if (setParentSelected) setParentSelected(selected);\n }, [selected, setSelected, setParentSelected]);\n\n useEffect(() => {\n if (setParentData) setParentData(data);\n }, [data, setParentData]);\n\n useEffect(() => {\n if (\n withParentData &&\n selected &&\n setParentItem &&\n getParentItemById(withParentData, selected)\n ) {\n setParentItem(getParentItemById(withParentData, selected));\n }\n }, [withParentData, selected, setParentItem]);\n\n // navigation slider\n const navigateToTargetHandler = (event, selectedItem) => {\n handleChange(event, selectedItem.id, selectedItem);\n };\n\n const handleNavigationPopupClose = () => {\n setNavigationPopup(null);\n };\n\n const handleStyledNavMouseLeave = () => {\n if (useIcons && !isOpen && !navigationPopup?.fixedMode) {\n setNavigationPopup(null);\n }\n };\n\n const handleNavigationPopupMouseLeave = () => {\n if (!navigationPopup?.fixedMode) {\n handleNavigationPopupClose();\n }\n };\n\n const handleNavigationPopupChange = (event, selectedItem) => {\n handleChange(event, selectedItem.id, selectedItem);\n };\n\n return (\n <StyledNav\n id={id}\n className={clsx(\n className,\n verticalNavigationTreeClasses.root,\n classes?.root,\n !isOpen &&\n !useIcons &&\n clsx(verticalNavigationTreeClasses.collapsed, classes?.collapsed)\n )}\n onMouseLeave={handleStyledNavMouseLeave}\n {...others}\n >\n {slider ? (\n <HvVerticalNavigationSlider\n data={parentItem.data || withParentData}\n selected={selected}\n onNavigateToTarget={navigateToTargetHandler}\n onNavigateToChild={navigateToChildHandler}\n forwardButtonAriaLabel={sliderForwardButtonAriaLabel}\n />\n ) : (\n <HvVerticalNavigationTreeView\n id={setId(id, \"tree\")}\n className={clsx(verticalNavigationTreeClasses.list, classes?.list)}\n selectable\n mode={mode}\n collapsible={collapsible}\n selected={selected}\n onChange={handleChange}\n expanded={expanded}\n onToggle={handleToggle}\n >\n {useIcons && !isOpen && navigationPopup && (\n <NavigationPopupContainer\n anchorEl={navigationPopup.anchorEl}\n onClose={handleNavigationPopupClose}\n key={navigationPopup.uniqueKey}\n className={clsx(\n verticalNavigationTreeClasses.navigationPopup,\n classes?.navigationPopup\n )}\n >\n <HvVerticalNavigationTree\n className={clsx(verticalNavigationTreeClasses.popup)}\n id={setId(id, \"navigation-popup-tree\")}\n collapsible\n defaultExpanded\n selected={selected}\n data={navigationPopup.data}\n onChange={handleNavigationPopupChange}\n onMouseLeave={handleNavigationPopupMouseLeave}\n />\n </NavigationPopupContainer>\n )}\n {children}\n </HvVerticalNavigationTreeView>\n )}\n </StyledNav>\n );\n};\n"],"names":["createListHierarchy","items","id","classes","mouseEnterHandler","disableTooltip","map","item","itemId","label","itemLabel","icon","data","children","selectable","disabled","href","target","ItemText","wrapperTooltip","itemMouseEnterHandler","event","HvVerticalNavigationTreeViewItem","setId","className","listItem","nodeId","_jsx","payload","onMouseEnter","undefined","getAllParents","parents","filter","length","childParents","flatMap","pathToElement","targetId","path","i","push","subPaths","HvVerticalNavigationTree","mode","collapsible","expanded","expandedProp","defaultExpanded","onToggle","selected","selectedProp","defaultSelected","onChange","sliderForwardButtonAriaLabel","others","setSelected","useControlled","setExpanded","slice","isOpen","useIcons","slider","parentItem","setParentItem","withParentData","navigateToChildHandler","setParentData","setParentSelected","useContext","VerticalNavigationContext","navigationPopup","setNavigationPopup","useState","handleChange","useCallback","selectedId","selectedItem","currentEventTarget","currentTarget","prevState","anchorEl","uniqueKey","uniqueId","fixedMode","stopPropagation","treeViewItemMouseEnterHandler","isCollapsed","handleToggle","newExpanded","useMemo","useEffect","getParentItemById","navigateToTargetHandler","handleNavigationPopupClose","handleStyledNavMouseLeave","handleNavigationPopupMouseLeave","handleNavigationPopupChange","StyledNav","clsx","verticalNavigationTreeClasses","root","collapsed","onMouseLeave","HvVerticalNavigationSlider","onNavigateToTarget","onNavigateToChild","forwardButtonAriaLabel","_jsxs","HvVerticalNavigationTreeView","list","NavigationPopupContainer","onClose","popup"],"mappings":"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"}
@@ -12,7 +12,8 @@ const HvVerticalNavigationSlider = ({
12
12
  data,
13
13
  selected,
14
14
  onNavigateToTarget,
15
- onNavigateToChild
15
+ onNavigateToChild,
16
+ forwardButtonAriaLabel = "Navigate to submenu"
16
17
  }) => {
17
18
  return /* @__PURE__ */ jsx(HvListContainer, {
18
19
  interactive: true,
@@ -32,11 +33,11 @@ const HvVerticalNavigationSlider = ({
32
33
  children: item.icon
33
34
  }) : void 0,
34
35
  endAdornment: item.data && item.data.length > 0 ? /* @__PURE__ */ jsx(HvButton, {
35
- variant: "secondaryGhost",
36
36
  icon: true,
37
37
  onClick: (event) => {
38
38
  onNavigateToChild == null ? void 0 : onNavigateToChild(event, item);
39
39
  },
40
+ "aria-label": forwardButtonAriaLabel,
40
41
  children: /* @__PURE__ */ jsx(DropRightXS, {})
41
42
  }) : void 0,
42
43
  children: /* @__PURE__ */ jsx(HvOverflowTooltip, {
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationSlider.js","sources":["../../../../../src/components/VerticalNavigation/NavigationSlider/NavigationSlider.tsx"],"sourcesContent":["import { DropRightXS } from \"@hitachivantara/uikit-react-icons\";\n\nimport { clsx } from \"clsx\";\n\nimport { HvButton } from \"@core/components/Button\";\nimport { HvListContainer } from \"@core/components/ListContainer\";\nimport { HvOverflowTooltip } from \"@core/components/OverflowTooltip\";\n\nimport { StyledListItem } from \"./NavigationSlider.styles\";\nimport verticalNavigationSliderClasses, {\n HvVerticalNavigationSliderClasses,\n} from \"./navigationSliderClasses\";\nimport { NavigationData } from \"../VerticalNavigationContext\";\n\nexport interface HvVerticalNavigationSliderProps {\n /**\n * Id to be applied to the root node of the panel.\n */\n id?: string;\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes?: HvVerticalNavigationSliderClasses;\n /**\n * An array containing the data for each menu item.\n *\n * id - the id to be applied to the root element.\n * label - the label to be rendered on the menu item.\n * icon - the icon react element\n * data - sub-menu items\n * href - the url used for navigation.\n * target - the behavior when opening an url.\n */\n data?: NavigationData[];\n /**\n * The selected item id.\n */\n selected?: string;\n /**\n * Triggered when the item is clicked.\n */\n onNavigateToTarget?: (\n event: React.MouseEvent<HTMLLIElement>,\n item: NavigationData\n ) => void;\n /**\n * Triggered when the navigate to child button is clicked.\n */\n onNavigateToChild?: (\n event: React.MouseEvent<HTMLButtonElement>,\n item: NavigationData\n ) => void;\n}\n\nexport const HvVerticalNavigationSlider = ({\n id,\n classes,\n data,\n selected,\n onNavigateToTarget,\n onNavigateToChild,\n}: HvVerticalNavigationSliderProps) => {\n return (\n <HvListContainer interactive id={id}>\n {data &&\n data.map((item) => (\n <StyledListItem\n key={item.id}\n classes={{\n root: classes?.root,\n selected: clsx(\n classes?.listItemSelected,\n verticalNavigationSliderClasses.listItemSelected\n ),\n }}\n onClick={(event) => {\n onNavigateToTarget?.(event, item);\n }}\n aria-label={item.label}\n aria-current={\n selected === item.id ? (item.href ? \"page\" : true) : undefined\n }\n selected={selected === item.id}\n startAdornment={item.icon ? <div>{item.icon}</div> : undefined}\n endAdornment={\n item.data && item.data.length > 0 ? (\n <HvButton\n variant=\"secondaryGhost\"\n icon\n onClick={(event) => {\n onNavigateToChild?.(event, item);\n }}\n >\n <DropRightXS />\n </HvButton>\n ) : undefined\n }\n >\n <HvOverflowTooltip data={item.label} />\n </StyledListItem>\n ))}\n </HvListContainer>\n );\n};\n"],"names":["HvVerticalNavigationSlider","id","classes","data","selected","onNavigateToTarget","onNavigateToChild","HvListContainer","interactive","children","map","item","StyledListItem","root","clsx","listItemSelected","verticalNavigationSliderClasses","onClick","event","label","href","undefined","startAdornment","icon","_jsx","endAdornment","length","HvButton","variant","DropRightXS","HvOverflowTooltip"],"mappings":";;;;;;;;AAsDO,MAAMA,6BAA6BA,CAAC;AAAA,EACzCC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAC+B,MAAM;AACrC,6BACGC,iBAAe;AAAA,IAACC,aAAW;AAAA,IAACP;AAAAA,IAAOQ,UACjCN,QACCA,KAAKO,IAAKC,CAAAA,6BACPC,gBAAc;AAAA,MAEbV,SAAS;AAAA,QACPW,MAAMX,mCAASW;AAAAA,QACfT,UAAUU,KACRZ,mCAASa,kBACTC,gCAAgCD,gBAClC;AAAA,MACF;AAAA,MACAE,SAAUC,CAAU,UAAA;AAClBb,iEAAqBa,OAAOP;AAAAA,MAC9B;AAAA,MACA,cAAYA,KAAKQ;AAAAA,MACjB,gBACEf,aAAaO,KAAKV,KAAMU,KAAKS,OAAO,SAAS,OAAQC;AAAAA,MAEvDjB,UAAUA,aAAaO,KAAKV;AAAAA,MAC5BqB,gBAAgBX,KAAKY,OAAOC,oBAAA,OAAA;AAAA,QAAAf,UAAME,KAAKY;AAAAA,MAAU,CAAA,IAAIF;AAAAA,MACrDI,cACEd,KAAKR,QAAQQ,KAAKR,KAAKuB,SAAS,wBAC7BC,UAAQ;AAAA,QACPC,SAAQ;AAAA,QACRL,MAAI;AAAA,QACJN,SAAUC,CAAU,UAAA;AAClBZ,iEAAoBY,OAAOP;AAAAA,QAC7B;AAAA,QAAEF,UAEFe,oBAACK,aAAa,EAAA;AAAA,MACN,CAAA,IACRR;AAAAA,MACLZ,8BAEAqB,mBAAiB;AAAA,QAAC3B,MAAMQ,KAAKQ;AAAAA,MAAAA,CAAQ;AAAA,IAAA,GA/BjCR,KAAKV,EAgCI,CACjB;AAAA,EAAA,CACY;AAErB;"}
1
+ {"version":3,"file":"NavigationSlider.js","sources":["../../../../../src/components/VerticalNavigation/NavigationSlider/NavigationSlider.tsx"],"sourcesContent":["import { DropRightXS } from \"@hitachivantara/uikit-react-icons\";\n\nimport { clsx } from \"clsx\";\n\nimport { HvButton } from \"@core/components/Button\";\nimport { HvListContainer } from \"@core/components/ListContainer\";\nimport { HvOverflowTooltip } from \"@core/components/OverflowTooltip\";\n\nimport { StyledListItem } from \"./NavigationSlider.styles\";\nimport verticalNavigationSliderClasses, {\n HvVerticalNavigationSliderClasses,\n} from \"./navigationSliderClasses\";\nimport { NavigationData } from \"../VerticalNavigationContext\";\n\nexport interface HvVerticalNavigationSliderProps {\n /**\n * Id to be applied to the root node of the panel.\n */\n id?: string;\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes?: HvVerticalNavigationSliderClasses;\n /**\n * An array containing the data for each menu item.\n *\n * id - the id to be applied to the root element.\n * label - the label to be rendered on the menu item.\n * icon - the icon react element\n * data - sub-menu items\n * href - the url used for navigation.\n * target - the behavior when opening an url.\n */\n data?: NavigationData[];\n /**\n * The selected item id.\n */\n selected?: string;\n /**\n * Triggered when the item is clicked.\n */\n onNavigateToTarget?: (\n event: React.MouseEvent<HTMLLIElement>,\n item: NavigationData\n ) => void;\n /**\n * Triggered when the navigate to child button is clicked.\n */\n onNavigateToChild?: (\n event: React.MouseEvent<HTMLButtonElement>,\n item: NavigationData\n ) => void;\n /** Aria label to apply to the navigate to submenu button on the list items. */\n forwardButtonAriaLabel?: string;\n}\n\nexport const HvVerticalNavigationSlider = ({\n id,\n classes,\n data,\n selected,\n onNavigateToTarget,\n onNavigateToChild,\n forwardButtonAriaLabel = \"Navigate to submenu\",\n}: HvVerticalNavigationSliderProps) => {\n return (\n <HvListContainer interactive id={id}>\n {data &&\n data.map((item) => (\n <StyledListItem\n key={item.id}\n classes={{\n root: classes?.root,\n selected: clsx(\n classes?.listItemSelected,\n verticalNavigationSliderClasses.listItemSelected\n ),\n }}\n onClick={(event) => {\n onNavigateToTarget?.(event, item);\n }}\n aria-label={item.label}\n aria-current={\n selected === item.id ? (item.href ? \"page\" : true) : undefined\n }\n selected={selected === item.id}\n startAdornment={item.icon ? <div>{item.icon}</div> : undefined}\n endAdornment={\n item.data && item.data.length > 0 ? (\n <HvButton\n icon\n onClick={(event) => {\n onNavigateToChild?.(event, item);\n }}\n aria-label={forwardButtonAriaLabel}\n >\n <DropRightXS />\n </HvButton>\n ) : undefined\n }\n >\n <HvOverflowTooltip data={item.label} />\n </StyledListItem>\n ))}\n </HvListContainer>\n );\n};\n"],"names":["HvVerticalNavigationSlider","id","classes","data","selected","onNavigateToTarget","onNavigateToChild","forwardButtonAriaLabel","HvListContainer","interactive","children","map","item","StyledListItem","root","clsx","listItemSelected","verticalNavigationSliderClasses","onClick","event","label","href","undefined","startAdornment","icon","_jsx","endAdornment","length","HvButton","DropRightXS","HvOverflowTooltip"],"mappings":";;;;;;;;AAwDO,MAAMA,6BAA6BA,CAAC;AAAA,EACzCC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC,yBAAyB;AACM,MAAM;AACrC,6BACGC,iBAAe;AAAA,IAACC,aAAW;AAAA,IAACR;AAAAA,IAAOS,UACjCP,QACCA,KAAKQ,IAAKC,CAAAA,6BACPC,gBAAc;AAAA,MAEbX,SAAS;AAAA,QACPY,MAAMZ,mCAASY;AAAAA,QACfV,UAAUW,KACRb,mCAASc,kBACTC,gCAAgCD,gBAClC;AAAA,MACF;AAAA,MACAE,SAAUC,CAAU,UAAA;AAClBd,iEAAqBc,OAAOP;AAAAA,MAC9B;AAAA,MACA,cAAYA,KAAKQ;AAAAA,MACjB,gBACEhB,aAAaQ,KAAKX,KAAMW,KAAKS,OAAO,SAAS,OAAQC;AAAAA,MAEvDlB,UAAUA,aAAaQ,KAAKX;AAAAA,MAC5BsB,gBAAgBX,KAAKY,OAAOC,oBAAA,OAAA;AAAA,QAAAf,UAAME,KAAKY;AAAAA,MAAU,CAAA,IAAIF;AAAAA,MACrDI,cACEd,KAAKT,QAAQS,KAAKT,KAAKwB,SAAS,wBAC7BC,UAAQ;AAAA,QACPJ,MAAI;AAAA,QACJN,SAAUC,CAAU,UAAA;AAClBb,iEAAoBa,OAAOP;AAAAA,QAC7B;AAAA,QACA,cAAYL;AAAAA,QAAuBG,UAEnCe,oBAACI,aAAa,EAAA;AAAA,MACN,CAAA,IACRP;AAAAA,MACLZ,8BAEAoB,mBAAiB;AAAA,QAAC3B,MAAMS,KAAKQ;AAAAA,MAAAA,CAAQ;AAAA,IAAA,GA/BjCR,KAAKX,EAgCI,CACjB;AAAA,EAAA,CACY;AAErB;"}
@@ -1,4 +1,5 @@
1
1
  import { clsx } from "clsx";
2
+ import { useDefaultProps } from "../../hooks/useDefaultProps.js";
2
3
  import { useState, useMemo, useEffect, useCallback } from "react";
3
4
  import { StyledRoot } from "./VerticalNavigation.styles.js";
4
5
  import verticalNavigationClasses from "./verticalNavigationClasses.js";
@@ -6,16 +7,17 @@ import { VerticalNavigationContext } from "./VerticalNavigationContext.js";
6
7
  import { hasChildNavigationItems } from "./utils/VerticalNavigation.utils.js";
7
8
  import { jsx } from "@emotion/react/jsx-runtime";
8
9
  import { fillDataWithParentId, getParentItemById, getNavigationItemById } from "./NavigationSlider/utils/NavigationSlider.utils.js";
9
- const HvVerticalNavigation = ({
10
- id,
11
- className,
12
- classes,
13
- children,
14
- open = true,
15
- slider = false,
16
- useIcons = false,
17
- ...others
18
- }) => {
10
+ const HvVerticalNavigation = (props) => {
11
+ const {
12
+ id,
13
+ className,
14
+ classes,
15
+ children,
16
+ open = true,
17
+ slider = false,
18
+ useIcons = false,
19
+ ...others
20
+ } = useDefaultProps("HvVerticalNavigation", props);
19
21
  const [parentData, setParentData] = useState([]);
20
22
  const [parentSelected, setParentSelected] = useState();
21
23
  const [headerTitle, setHeaderTitle] = useState();
@@ -1 +1 @@
1
- {"version":3,"file":"VerticalNavigation.js","sources":["../../../../src/components/VerticalNavigation/VerticalNavigation.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\n\nimport { useCallback, useEffect, useMemo, useState } from \"react\";\n\nimport { StyledRoot } from \"./VerticalNavigation.styles\";\nimport verticalNavigationClasses, {\n HvVerticalNavigationClasses,\n} from \"./verticalNavigationClasses\";\nimport {\n VerticalNavigationContext,\n NavigationData,\n} from \"./VerticalNavigationContext\";\nimport {\n fillDataWithParentId,\n getNavigationItemById,\n getParentItemById,\n} from \"./NavigationSlider/utils\";\nimport { hasChildNavigationItems } from \"./utils/VerticalNavigation.utils\";\n\nexport interface HvVerticalNavigationProps {\n /**\n * Id to be applied to the root node.\n */\n id?: string;\n /**\n * Class names to be applied.\n */\n className?: string;\n /**\n * A Jss Object used to override or extend the styles applied to the component.\n */\n classes?: HvVerticalNavigationClasses;\n /**\n * Current State of the Vertical Navigation Collapse\n */\n open?: boolean;\n /**\n * Collpased Mode for the Vertical Navigation, the default value is \"simple\".\n *\n * @deprecated - `useIcons` property should be used instead.\n */\n collapsedMode?: HvVerticalNavigationMode;\n /**\n * Boolean to determine if treeview is in slider mode (for mobile navigation), the default value is false.\n */\n slider?: boolean;\n /**\n * The content inside the actions container.\n */\n children?: React.ReactNode;\n /**\n * Boolean to determine if icons should be displayed in the navigation menu.\n * When `true` a icon will always be displayed, if no icon is provided the first letter of the label will be\n * displayed inside an Avatar component.\n * When `false` no icons will be shown, even if an icon is provided.\n */\n useIcons?: boolean;\n}\n\n/**\n * Navigation enables users to move through an app to complete tasks.\n *\n * It is recommended to use vertical navigation when your application requires global navigation that is displayed on the left.\n * While vertical navigation menus generally consume more space than their horizontal counterparts, they have become more popular as desktop monitors move to wide-screen formats.\n *\n * Although both the hierarchically organized data and the visual style resemble a treeview-like structure, the [Treeview Design Pattern](https://w3c.github.io/aria-practices/#TreeView)\n * isn't necessarily the most appropriate.\n *\n * The tree role provides complex functionality that is not needed for typical site navigation, and changes the most common keyboard navigation using TAB.\n *\n * The [Disclosure Design Pattern](https://w3c.github.io/aria-practices/#disclosure) is more suited for typical site navigation, with expandable groups of links.\n * However it can be tedious to TAB through all navigation items to reach the actions panel.\n *\n * Both modes are available via the `mode` property and each app should choose the most appropriate.\n */\nexport const HvVerticalNavigation = ({\n id,\n className,\n classes,\n\n children,\n\n open = true,\n\n slider = false,\n\n useIcons = false,\n\n ...others\n}: HvVerticalNavigationProps) => {\n const [parentData, setParentData] = useState<NavigationData[]>([]);\n\n const [parentSelected, setParentSelected] = useState();\n\n const [headerTitle, setHeaderTitle] = useState<string | undefined>();\n\n // navigationSlider\n const withParentData = useMemo(\n () => fillDataWithParentId(parentData),\n [parentData]\n );\n\n const initialParentItem = useMemo(\n () => getParentItemById(withParentData, parentSelected),\n [withParentData, parentSelected]\n );\n\n const [parentItem, setParentItem] = useState(initialParentItem);\n\n const hasAnyChildWithData = useMemo(\n () => hasChildNavigationItems(parentData),\n [parentData]\n );\n\n useEffect(\n () => setHeaderTitle(parentItem?.label),\n [parentItem, setParentItem]\n );\n\n const navigateToParentHandler = useCallback(() => {\n setParentItem(getParentItemById(withParentData, parentItem.id));\n }, [parentItem, setParentItem, withParentData]);\n\n const navigateToChildHandler = useCallback(\n (event, item) => {\n setParentItem(getNavigationItemById(withParentData, item.id));\n event.stopPropagation();\n },\n [setParentItem, withParentData]\n );\n\n const value = useMemo(\n () => ({\n isOpen: open,\n useIcons,\n slider,\n headerTitle,\n setHeaderTitle,\n\n parentItem,\n setParentItem,\n withParentData,\n navigateToChildHandler,\n navigateToParentHandler,\n\n parentData,\n setParentData,\n parentSelected,\n setParentSelected,\n hasAnyChildWithData,\n }),\n [\n open,\n useIcons,\n slider,\n headerTitle,\n setHeaderTitle,\n parentItem,\n setParentItem,\n withParentData,\n navigateToChildHandler,\n navigateToParentHandler,\n hasAnyChildWithData,\n parentData,\n parentSelected,\n ]\n );\n\n const content = (\n <VerticalNavigationContext.Provider value={value}>\n <StyledRoot\n id={id}\n className={clsx(\n className,\n verticalNavigationClasses.root,\n classes?.root,\n !open && verticalNavigationClasses.collapsed,\n slider && verticalNavigationClasses.slider,\n classes?.collapsed\n )}\n hasAnyChildWithData={hasAnyChildWithData}\n {...others}\n >\n {children}\n </StyledRoot>\n </VerticalNavigationContext.Provider>\n );\n\n return content;\n};\n\nexport type HvVerticalNavigationMode = \"icon\" | \"simple\";\n\nexport type HvVerticalNavigationPosition =\n | \"static\"\n | \"relative\"\n | \"fixed\"\n | \"absolute\";\n"],"names":["HvVerticalNavigation","id","className","classes","children","open","slider","useIcons","others","parentData","setParentData","useState","parentSelected","setParentSelected","headerTitle","setHeaderTitle","withParentData","useMemo","fillDataWithParentId","initialParentItem","getParentItemById","parentItem","setParentItem","hasAnyChildWithData","hasChildNavigationItems","label","navigateToParentHandler","useCallback","navigateToChildHandler","event","item","getNavigationItemById","stopPropagation","value","isOpen","content","VerticalNavigationContext","Provider","StyledRoot","clsx","verticalNavigationClasses","root","collapsed"],"mappings":";;;;;;;;AA2EO,MAAMA,uBAAuBA,CAAC;AAAA,EACnCC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EAEAC;AAAAA,EAEAC,OAAO;AAAA,EAEPC,SAAS;AAAA,EAETC,WAAW;AAAA,EAEX,GAAGC;AACsB,MAAM;AAC/B,QAAM,CAACC,YAAYC,aAAa,IAAIC,SAA2B,CAAE,CAAA;AAEjE,QAAM,CAACC,gBAAgBC,iBAAiB,IAAIF,SAAS;AAErD,QAAM,CAACG,aAAaC,cAAc,IAAIJ,SAA6B;AAG7DK,QAAAA,iBAAiBC,QACrB,MAAMC,qBAAqBT,UAAU,GACrC,CAACA,UAAU,CACb;AAEMU,QAAAA,oBAAoBF,QACxB,MAAMG,kBAAkBJ,gBAAgBJ,cAAc,GACtD,CAACI,gBAAgBJ,cAAc,CACjC;AAEA,QAAM,CAACS,YAAYC,aAAa,IAAIX,SAASQ,iBAAiB;AAExDI,QAAAA,sBAAsBN,QAC1B,MAAMO,wBAAwBf,UAAU,GACxC,CAACA,UAAU,CACb;AAGE,YAAA,MAAMM,eAAeM,yCAAYI,KAAK,GACtC,CAACJ,YAAYC,aAAa,CAC5B;AAEMI,QAAAA,0BAA0BC,YAAY,MAAM;AAChDL,kBAAcF,kBAAkBJ,gBAAgBK,WAAWpB,EAAE,CAAC;AAAA,EAC7D,GAAA,CAACoB,YAAYC,eAAeN,cAAc,CAAC;AAE9C,QAAMY,yBAAyBD,YAC7B,CAACE,OAAOC,SAAS;AACfR,kBAAcS,sBAAsBf,gBAAgBc,KAAK7B,EAAE,CAAC;AAC5D4B,UAAMG,gBAAgB;AAAA,EAAA,GAExB,CAACV,eAAeN,cAAc,CAChC;AAEMiB,QAAAA,QAAQhB,QACZ,OAAO;AAAA,IACLiB,QAAQ7B;AAAAA,IACRE;AAAAA,IACAD;AAAAA,IACAQ;AAAAA,IACAC;AAAAA,IAEAM;AAAAA,IACAC;AAAAA,IACAN;AAAAA,IACAY;AAAAA,IACAF;AAAAA,IAEAjB;AAAAA,IACAC;AAAAA,IACAE;AAAAA,IACAC;AAAAA,IACAU;AAAAA,EAAAA,IAEF,CACElB,MACAE,UACAD,QACAQ,aACAC,gBACAM,YACAC,eACAN,gBACAY,wBACAF,yBACAH,qBACAd,YACAG,cAAc,CAElB;AAEMuB,QAAAA,UACHC,oBAAAA,0BAA0BC,UAAQ;AAAA,IAACJ;AAAAA,IAAa7B,8BAC9CkC,YAAU;AAAA,MACTrC;AAAAA,MACAC,WAAWqC,KACTrC,WACAsC,0BAA0BC,MAC1BtC,mCAASsC,MACT,CAACpC,QAAQmC,0BAA0BE,WACnCpC,UAAUkC,0BAA0BlC,QACpCH,mCAASuC,SACX;AAAA,MACAnB;AAAAA,MAAyC,GACrCf;AAAAA,MAAMJ;AAAAA,IAAAA,CAGA;AAAA,EAAA,CACsB;AAG/B+B,SAAAA;AACT;"}
1
+ {"version":3,"file":"VerticalNavigation.js","sources":["../../../../src/components/VerticalNavigation/VerticalNavigation.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\n\nimport { useCallback, useEffect, useMemo, useState } from \"react\";\n\nimport { StyledRoot } from \"./VerticalNavigation.styles\";\nimport verticalNavigationClasses, {\n HvVerticalNavigationClasses,\n} from \"./verticalNavigationClasses\";\nimport {\n VerticalNavigationContext,\n NavigationData,\n} from \"./VerticalNavigationContext\";\nimport {\n fillDataWithParentId,\n getNavigationItemById,\n getParentItemById,\n} from \"./NavigationSlider/utils\";\nimport { hasChildNavigationItems } from \"./utils/VerticalNavigation.utils\";\n\nexport interface HvVerticalNavigationProps {\n /**\n * Id to be applied to the root node.\n */\n id?: string;\n /**\n * Class names to be applied.\n */\n className?: string;\n /**\n * A Jss Object used to override or extend the styles applied to the component.\n */\n classes?: HvVerticalNavigationClasses;\n /**\n * Current State of the Vertical Navigation Collapse\n */\n open?: boolean;\n /**\n * Collpased Mode for the Vertical Navigation, the default value is \"simple\".\n *\n * @deprecated - `useIcons` property should be used instead.\n */\n collapsedMode?: HvVerticalNavigationMode;\n /**\n * Boolean to determine if treeview is in slider mode (for mobile navigation), the default value is false.\n */\n slider?: boolean;\n /**\n * The content inside the actions container.\n */\n children?: React.ReactNode;\n /**\n * Boolean to determine if icons should be displayed in the navigation menu.\n * When `true` a icon will always be displayed, if no icon is provided the first letter of the label will be\n * displayed inside an Avatar component.\n * When `false` no icons will be shown, even if an icon is provided.\n */\n useIcons?: boolean;\n}\n\n/**\n * Navigation enables users to move through an app to complete tasks.\n *\n * It is recommended to use vertical navigation when your application requires global navigation that is displayed on the left.\n * While vertical navigation menus generally consume more space than their horizontal counterparts, they have become more popular as desktop monitors move to wide-screen formats.\n *\n * Although both the hierarchically organized data and the visual style resemble a treeview-like structure, the [Treeview Design Pattern](https://w3c.github.io/aria-practices/#TreeView)\n * isn't necessarily the most appropriate.\n *\n * The tree role provides complex functionality that is not needed for typical site navigation, and changes the most common keyboard navigation using TAB.\n *\n * The [Disclosure Design Pattern](https://w3c.github.io/aria-practices/#disclosure) is more suited for typical site navigation, with expandable groups of links.\n * However it can be tedious to TAB through all navigation items to reach the actions panel.\n *\n * Both modes are available via the `mode` property and each app should choose the most appropriate.\n */\nexport const HvVerticalNavigation = (props: HvVerticalNavigationProps) => {\n const {\n id,\n className,\n classes,\n\n children,\n\n open = true,\n\n slider = false,\n\n useIcons = false,\n\n ...others\n } = useDefaultProps(\"HvVerticalNavigation\", props);\n\n const [parentData, setParentData] = useState<NavigationData[]>([]);\n\n const [parentSelected, setParentSelected] = useState();\n\n const [headerTitle, setHeaderTitle] = useState<string | undefined>();\n\n // navigationSlider\n const withParentData = useMemo(\n () => fillDataWithParentId(parentData),\n [parentData]\n );\n\n const initialParentItem = useMemo(\n () => getParentItemById(withParentData, parentSelected),\n [withParentData, parentSelected]\n );\n\n const [parentItem, setParentItem] = useState(initialParentItem);\n\n const hasAnyChildWithData = useMemo(\n () => hasChildNavigationItems(parentData),\n [parentData]\n );\n\n useEffect(\n () => setHeaderTitle(parentItem?.label),\n [parentItem, setParentItem]\n );\n\n const navigateToParentHandler = useCallback(() => {\n setParentItem(getParentItemById(withParentData, parentItem.id));\n }, [parentItem, setParentItem, withParentData]);\n\n const navigateToChildHandler = useCallback(\n (event, item) => {\n setParentItem(getNavigationItemById(withParentData, item.id));\n event.stopPropagation();\n },\n [setParentItem, withParentData]\n );\n\n const value = useMemo(\n () => ({\n isOpen: open,\n useIcons,\n slider,\n headerTitle,\n setHeaderTitle,\n\n parentItem,\n setParentItem,\n withParentData,\n navigateToChildHandler,\n navigateToParentHandler,\n\n parentData,\n setParentData,\n parentSelected,\n setParentSelected,\n hasAnyChildWithData,\n }),\n [\n open,\n useIcons,\n slider,\n headerTitle,\n setHeaderTitle,\n parentItem,\n setParentItem,\n withParentData,\n navigateToChildHandler,\n navigateToParentHandler,\n hasAnyChildWithData,\n parentData,\n parentSelected,\n ]\n );\n\n const content = (\n <VerticalNavigationContext.Provider value={value}>\n <StyledRoot\n id={id}\n className={clsx(\n className,\n verticalNavigationClasses.root,\n classes?.root,\n !open && verticalNavigationClasses.collapsed,\n slider && verticalNavigationClasses.slider,\n classes?.collapsed\n )}\n hasAnyChildWithData={hasAnyChildWithData}\n {...others}\n >\n {children}\n </StyledRoot>\n </VerticalNavigationContext.Provider>\n );\n\n return content;\n};\n\nexport type HvVerticalNavigationMode = \"icon\" | \"simple\";\n\nexport type HvVerticalNavigationPosition =\n | \"static\"\n | \"relative\"\n | \"fixed\"\n | \"absolute\";\n"],"names":["HvVerticalNavigation","props","id","className","classes","children","open","slider","useIcons","others","useDefaultProps","parentData","setParentData","useState","parentSelected","setParentSelected","headerTitle","setHeaderTitle","withParentData","useMemo","fillDataWithParentId","initialParentItem","getParentItemById","parentItem","setParentItem","hasAnyChildWithData","hasChildNavigationItems","label","navigateToParentHandler","useCallback","navigateToChildHandler","event","item","getNavigationItemById","stopPropagation","value","isOpen","content","VerticalNavigationContext","Provider","StyledRoot","clsx","verticalNavigationClasses","root","collapsed"],"mappings":";;;;;;;;;AA4EaA,MAAAA,uBAAuBA,CAACC,UAAqC;AAClE,QAAA;AAAA,IACJC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IAEAC;AAAAA,IAEAC,OAAO;AAAA,IAEPC,SAAS;AAAA,IAETC,WAAW;AAAA,IAEX,GAAGC;AAAAA,EAAAA,IACDC,gBAAgB,wBAAwBT,KAAK;AAEjD,QAAM,CAACU,YAAYC,aAAa,IAAIC,SAA2B,CAAE,CAAA;AAEjE,QAAM,CAACC,gBAAgBC,iBAAiB,IAAIF,SAAS;AAErD,QAAM,CAACG,aAAaC,cAAc,IAAIJ,SAA6B;AAG7DK,QAAAA,iBAAiBC,QACrB,MAAMC,qBAAqBT,UAAU,GACrC,CAACA,UAAU,CACb;AAEMU,QAAAA,oBAAoBF,QACxB,MAAMG,kBAAkBJ,gBAAgBJ,cAAc,GACtD,CAACI,gBAAgBJ,cAAc,CACjC;AAEA,QAAM,CAACS,YAAYC,aAAa,IAAIX,SAASQ,iBAAiB;AAExDI,QAAAA,sBAAsBN,QAC1B,MAAMO,wBAAwBf,UAAU,GACxC,CAACA,UAAU,CACb;AAGE,YAAA,MAAMM,eAAeM,yCAAYI,KAAK,GACtC,CAACJ,YAAYC,aAAa,CAC5B;AAEMI,QAAAA,0BAA0BC,YAAY,MAAM;AAChDL,kBAAcF,kBAAkBJ,gBAAgBK,WAAWrB,EAAE,CAAC;AAAA,EAC7D,GAAA,CAACqB,YAAYC,eAAeN,cAAc,CAAC;AAE9C,QAAMY,yBAAyBD,YAC7B,CAACE,OAAOC,SAAS;AACfR,kBAAcS,sBAAsBf,gBAAgBc,KAAK9B,EAAE,CAAC;AAC5D6B,UAAMG,gBAAgB;AAAA,EAAA,GAExB,CAACV,eAAeN,cAAc,CAChC;AAEMiB,QAAAA,QAAQhB,QACZ,OAAO;AAAA,IACLiB,QAAQ9B;AAAAA,IACRE;AAAAA,IACAD;AAAAA,IACAS;AAAAA,IACAC;AAAAA,IAEAM;AAAAA,IACAC;AAAAA,IACAN;AAAAA,IACAY;AAAAA,IACAF;AAAAA,IAEAjB;AAAAA,IACAC;AAAAA,IACAE;AAAAA,IACAC;AAAAA,IACAU;AAAAA,EAAAA,IAEF,CACEnB,MACAE,UACAD,QACAS,aACAC,gBACAM,YACAC,eACAN,gBACAY,wBACAF,yBACAH,qBACAd,YACAG,cAAc,CAElB;AAEMuB,QAAAA,UACHC,oBAAAA,0BAA0BC,UAAQ;AAAA,IAACJ;AAAAA,IAAa9B,8BAC9CmC,YAAU;AAAA,MACTtC;AAAAA,MACAC,WAAWsC,KACTtC,WACAuC,0BAA0BC,MAC1BvC,mCAASuC,MACT,CAACrC,QAAQoC,0BAA0BE,WACnCrC,UAAUmC,0BAA0BnC,QACpCH,mCAASwC,SACX;AAAA,MACAnB;AAAAA,MAAyC,GACrChB;AAAAA,MAAMJ;AAAAA,IAAAA,CAGA;AAAA,EAAA,CACsB;AAG/BgC,SAAAA;AACT;"}
@@ -0,0 +1,41 @@
1
+ import { useMemo } from "react";
2
+ import { useCss } from "./useCss.js";
3
+ import { useTheme } from "./useTheme.js";
4
+ function filterProps(props) {
5
+ return Object.keys(props).reduce((acc, key) => {
6
+ if (props[key] !== void 0) {
7
+ acc[key] = props[key];
8
+ }
9
+ return acc;
10
+ }, {});
11
+ }
12
+ function useDefaultProps(componentName, props) {
13
+ var _a;
14
+ const {
15
+ activeTheme
16
+ } = useTheme();
17
+ const {
18
+ css,
19
+ cx
20
+ } = useCss();
21
+ const themeDefaultProps = (_a = activeTheme == null ? void 0 : activeTheme.components) == null ? void 0 : _a[componentName];
22
+ const classes = useMemo(() => {
23
+ const themeClasses = (themeDefaultProps == null ? void 0 : themeDefaultProps.classes) || {};
24
+ const propsClasses = (props == null ? void 0 : props.classes) || {};
25
+ const classKeys = [...Object.keys(themeClasses), ...Object.keys(propsClasses)];
26
+ return classKeys.reduce((acc, key) => {
27
+ acc[key] = cx(themeClasses[key] && css(themeClasses[key]), propsClasses[key]);
28
+ return acc;
29
+ }, {});
30
+ }, [css, cx, props == null ? void 0 : props.classes, themeDefaultProps == null ? void 0 : themeDefaultProps.classes]);
31
+ return {
32
+ ...themeDefaultProps,
33
+ ...filterProps(props),
34
+ classes
35
+ };
36
+ }
37
+ export {
38
+ filterProps,
39
+ useDefaultProps
40
+ };
41
+ //# sourceMappingURL=useDefaultProps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDefaultProps.js","sources":["../../../src/hooks/useDefaultProps.ts"],"sourcesContent":["import { useMemo } from \"react\";\nimport { useCss } from \"./useCss\";\nimport { useTheme } from \"./useTheme\";\n\n/** Filter out `undefined` entries from `props` object. */\nexport function filterProps(props: Record<string, any>) {\n return Object.keys(props).reduce((acc, key) => {\n if (props[key] !== undefined) {\n acc[key] = props[key];\n }\n return acc;\n }, {} as typeof props);\n}\n\n/** Injects into `props` the props defined in the theme `componentName`. */\nexport function useDefaultProps<T extends Record<string, any>>(\n /** Name of the theme component key to inject defaultProps */\n componentName: string, // keyof HvThemeComponents,\n props: T\n): T {\n const { activeTheme } = useTheme();\n const { css, cx } = useCss();\n\n const themeDefaultProps = activeTheme?.components?.[componentName];\n\n const classes = useMemo(() => {\n const themeClasses = themeDefaultProps?.classes || {};\n const propsClasses = props?.classes || {};\n const classKeys = [\n ...Object.keys(themeClasses),\n ...Object.keys(propsClasses),\n ];\n return classKeys.reduce((acc, key) => {\n acc[key] = cx(\n themeClasses[key] && css(themeClasses[key]),\n propsClasses[key]\n );\n return acc;\n }, {} as Record<string, string>);\n }, [css, cx, props?.classes, themeDefaultProps?.classes]);\n\n return {\n ...themeDefaultProps,\n ...filterProps(props),\n classes,\n };\n}\n"],"names":["filterProps","props","Object","keys","reduce","acc","key","undefined","useDefaultProps","componentName","activeTheme","useTheme","css","cx","useCss","themeDefaultProps","components","classes","useMemo","themeClasses","propsClasses","classKeys"],"mappings":";;;AAKO,SAASA,YAAYC,OAA4B;AACtD,SAAOC,OAAOC,KAAKF,KAAK,EAAEG,OAAO,CAACC,KAAKC,QAAQ;AACzCL,QAAAA,MAAMK,GAAG,MAAMC,QAAW;AACxBD,UAAAA,GAAG,IAAIL,MAAMK,GAAG;AAAA,IACtB;AACOD,WAAAA;AAAAA,EACT,GAAG,CAAmB,CAAA;AACxB;AAGgBG,SAAAA,gBAEdC,eACAR,OACG;;AACG,QAAA;AAAA,IAAES;AAAAA,MAAgBC,SAAS;AAC3B,QAAA;AAAA,IAAEC;AAAAA,IAAKC;AAAAA,MAAOC,OAAO;AAErBC,QAAAA,qBAAoBL,gDAAaM,eAAbN,mBAA0BD;AAE9CQ,QAAAA,UAAUC,QAAQ,MAAM;AACtBC,UAAAA,gBAAeJ,uDAAmBE,YAAW;AAC7CG,UAAAA,gBAAenB,+BAAOgB,YAAW;AACjCI,UAAAA,YAAY,CAChB,GAAGnB,OAAOC,KAAKgB,YAAY,GAC3B,GAAGjB,OAAOC,KAAKiB,YAAY,CAAC;AAE9B,WAAOC,UAAUjB,OAAO,CAACC,KAAKC,QAAQ;AACpCD,UAAIC,GAAG,IAAIO,GACTM,aAAab,GAAG,KAAKM,IAAIO,aAAab,GAAG,CAAC,GAC1Cc,aAAad,GAAG,CAClB;AACOD,aAAAA;AAAAA,IACT,GAAG,CAA6B,CAAA;AAAA,EAAA,GAC/B,CAACO,KAAKC,IAAIZ,+BAAOgB,SAASF,uDAAmBE,OAAO,CAAC;AAEjD,SAAA;AAAA,IACL,GAAGF;AAAAA,IACH,GAAGf,YAAYC,KAAK;AAAA,IACpBgB;AAAAA,EAAAA;AAEJ;"}