@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 +1 @@
1
- {"version":3,"file":"TimePicker.cjs","sources":["../../../../src/components/TimePicker/TimePicker.tsx"],"sourcesContent":["import { useState, useRef, useMemo } from \"react\";\n\nimport { Time } from \"@internationalized/date\";\n\nimport { useTimeField } from \"@react-aria/datepicker\";\nimport {\n TimeFieldStateOptions,\n useTimeFieldState,\n} from \"@react-stately/datepicker\";\n\nimport { Time as TimeIcon } from \"@hitachivantara/uikit-react-icons\";\n\nimport {\n HvFormElement,\n HvLabel,\n HvWarningText,\n HvInfoMessage,\n HvFormElementProps,\n} from \"@core/components/Forms\";\nimport {\n HvBaseDropdown,\n HvBaseDropdownProps,\n} from \"@core/components/BaseDropdown\";\nimport { useControlled } from \"@core/hooks/useControlled\";\nimport { useUniqueId } from \"@core/hooks/useUniqueId\";\nimport { ExtractNames } from \"@core/utils/classes\";\nimport { setId } from \"@core/utils/setId\";\n\nimport { Unit } from \"./Unit\";\nimport { Placeholder } from \"./Placeholder\";\nimport { staticClasses, useClasses } from \"./TimePicker.styles\";\n\nconst toTime = (value?: HvTimePickerValue) => {\n if (!value) return undefined;\n const { hours, minutes, seconds } = value;\n return new Time(hours, minutes, seconds);\n};\n\nconst getFormat = (timeFormat?: TimeFormat) => {\n if (timeFormat == null) return 24;\n return timeFormat === \"12\" ? 12 : 24;\n};\n\nexport { staticClasses as timePickerClasses };\n\nexport type TimeFormat = \"12\" | \"24\";\n\nexport type HvTimePickerClasses = ExtractNames<typeof useClasses>;\n\nexport type HvTimePickerClassKey =\n | \"root\"\n | \"input\"\n | \"label\"\n | \"placeholder\"\n | \"timePopperContainer\"\n | \"separator\"\n | \"periodContainer\"\n | \"formElementRoot\"\n | \"dropdownPlaceholder\"\n | \"iconBaseRoot\"\n | \"error\"\n | \"labelContainer\"\n | \"description\"\n | \"dropdownHeaderInvalid\"\n | \"dropdownPlaceholderDisabled\"\n | \"dropdownHeaderOpen\";\n\nexport type HvTimePickerValue = {\n hours: number;\n minutes: number;\n seconds: number;\n};\n\nexport interface HvTimePickerProps\n extends Omit<\n HvFormElementProps,\n \"classes\" | \"value\" | \"defaultValue\" | \"onChange\" | \"onFocus\" | \"onBlur\"\n > {\n /** Id to be applied to the form element root node. */\n id?: string;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvTimePickerClasses;\n /** Current value of the element when _controlled_. Follows the 24-hour format. */\n value?: HvTimePickerValue;\n /** Initial value of the element when _uncontrolled_. Follows the 24-hour format. */\n defaultValue?: HvTimePickerValue;\n /** The placeholder value when no time is selected. */\n placeholder?: string;\n /** The placeholder of the hours input. */\n hoursPlaceholder?: string;\n /** The placeholder of the minutes input. */\n minutesPlaceholder?: string;\n /** The placeholder of the seconds input. */\n secondsPlaceholder?: string;\n /**\n * Whether the time picker should show the AM/PM 12-hour clock or the 24-hour one.\n * If undefined, the component will use a format according to the passed locale.\n */\n timeFormat?: TimeFormat;\n /** Whether to show the seconds when using the native time picker */\n showSeconds?: boolean;\n /** Locale that will provide the time format(12 or 24 hour format). It is \"overwritten\" by `showAmPm` */\n locale?: string;\n /** Whether the dropdown is expandable. */\n disableExpand?: boolean;\n\n /**\n * Callback function to be triggered when the input value is changed.\n * It is invoked with a `{hours, minutes, seconds}` object, always in the 24h format\n */\n onChange?: (value: HvTimePickerValue) => void;\n\n /** Callback called when dropdown changes the expanded state. */\n onToggle?: (event: Event, isOpen: boolean) => void;\n\n /** Disable the portal behavior. The children stay within it's parent DOM hierarchy. */\n disablePortal?: boolean;\n\n /** Sets if the calendar container should follow the date picker input out of the screen or stay visible. */\n escapeWithReference?: boolean;\n\n /** Extra properties to be passed to the TimePicker's dropdown. */\n dropdownProps?: Partial<HvBaseDropdownProps>;\n}\n\n/**\n * A Time Picker allows the user to choose a specific time or a time range.\n */\nexport const HvTimePicker = (props: HvTimePickerProps) => {\n const {\n classes: classesProp = {},\n className,\n\n id: idProp,\n name,\n required = false,\n disabled = false,\n readOnly = false,\n label,\n\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n description,\n \"aria-describedby\": ariaDescribedBy,\n status,\n statusMessage,\n \"aria-errormessage\": ariaErrorMessage,\n\n placeholder,\n hoursPlaceholder = \"hh\",\n minutesPlaceholder = \"mm\",\n secondsPlaceholder = \"ss\",\n\n value: valueProp,\n defaultValue: defaultValueProp,\n\n timeFormat,\n showSeconds,\n disableExpand,\n locale = \"en\",\n\n onToggle,\n onChange,\n\n // misc properties:\n disablePortal = true,\n escapeWithReference = true,\n dropdownProps,\n ...others\n } = props;\n const id = useUniqueId(idProp, \"hvtimepicker\");\n const ref = useRef<HTMLDivElement>(null);\n const { classes, cx } = useClasses(classesProp);\n\n const stateProps: TimeFieldStateOptions = {\n value: toTime(valueProp),\n defaultValue: toTime(defaultValueProp),\n label,\n locale,\n isRequired: required,\n isReadOnly: readOnly,\n isDisabled: disabled,\n granularity: \"second\",\n hourCycle: getFormat(timeFormat),\n onChange: (value) => {\n const { hour: hours, minute: minutes, second: seconds } = value;\n onChange?.({ hours, minutes, seconds });\n },\n };\n const state = useTimeFieldState(stateProps);\n const { labelProps, fieldProps } = useTimeField(\n {\n ...stateProps,\n id,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-describedby\": ariaDescribedBy,\n },\n state,\n ref\n );\n\n const [open, setOpen] = useState(false);\n\n const [validationMessage] = useControlled(statusMessage, \"Required\");\n const [validationState] = useControlled(status, \"standBy\");\n\n const placeholders = useMemo(\n () => ({\n hour: hoursPlaceholder,\n minute: minutesPlaceholder,\n second: secondsPlaceholder,\n }),\n [hoursPlaceholder, minutesPlaceholder, secondsPlaceholder]\n );\n\n // the error message area will only be created if:\n // - an external element that provides an error message isn't identified via aria-errormessage AND\n // - both status and statusMessage properties are being controlled OR\n // - status is uncontrolled and required is true\n const canShowError =\n ariaErrorMessage == null &&\n ((status !== undefined && statusMessage !== undefined) ||\n (status === undefined && required));\n\n const isStateInvalid = validationState === \"invalid\";\n const errorMessageId = isStateInvalid\n ? canShowError\n ? setId(id, \"error\")\n : ariaErrorMessage\n : undefined;\n\n return (\n <HvFormElement\n name={name}\n required={required}\n disabled={disabled}\n status={validationState}\n className={cx(classes.root, className)}\n {...others}\n >\n {(label || description) && (\n <div className={classes.labelContainer}>\n {label && (\n <HvLabel label={label} className={classes.label} {...labelProps} />\n )}\n {description && (\n <HvInfoMessage className={classes.description}>\n {description}\n </HvInfoMessage>\n )}\n </div>\n )}\n\n <HvBaseDropdown\n role=\"combobox\"\n variableWidth\n disabled={disabled}\n readOnly={readOnly}\n placeholder={\n placeholder && !state.value ? (\n placeholder\n ) : (\n <Placeholder\n ref={ref}\n name={name}\n state={state}\n placeholders={placeholders}\n className={cx(classes.placeholder, {\n [classes.placeholderDisabled]: disabled,\n })}\n {...fieldProps}\n />\n )\n }\n classes={{\n header: cx(classes.dropdownHeader, {\n [classes.dropdownHeaderInvalid]: isStateInvalid,\n }),\n panel: classes.dropdownPanel,\n headerOpen: classes.dropdownHeaderOpen,\n }}\n placement=\"right\"\n adornment={\n <TimeIcon\n color={disabled ? \"secondary_60\" : undefined}\n className={classes.icon}\n />\n }\n expanded={open}\n onToggle={(evt, newOpen) => {\n if (disableExpand) return;\n setOpen(newOpen);\n onToggle?.(evt, newOpen);\n }}\n onContainerCreation={(containerRef) => {\n containerRef?.getElementsByTagName(\"input\")[0]?.focus();\n }}\n aria-haspopup=\"dialog\"\n aria-invalid={isStateInvalid ? true : undefined}\n aria-errormessage={errorMessageId}\n disablePortal={disablePortal}\n popperProps={{\n modifiers: [\n { name: \"preventOverflow\", enabled: escapeWithReference },\n ],\n }}\n {...dropdownProps}\n >\n <div ref={ref} className={classes.timePopperContainer}>\n {state.segments.map((segment, i) => (\n <Unit\n key={i}\n state={state}\n segment={segment}\n placeholder={placeholders[segment.type]}\n onAdd={() => state.increment(segment.type)}\n onSub={() => state.decrement(segment.type)}\n onChange={(evt, val) => {\n state.setSegment(segment.type, Number(val));\n }}\n />\n ))}\n </div>\n </HvBaseDropdown>\n\n {canShowError && (\n <HvWarningText\n id={setId(id, \"error\")}\n disableBorder\n className={classes.error}\n >\n {validationMessage}\n </HvWarningText>\n )}\n </HvFormElement>\n );\n};\n"],"names":["toTime","value","undefined","hours","minutes","seconds","Time","getFormat","timeFormat","HvTimePicker","props","classes","classesProp","className","id","idProp","name","required","disabled","readOnly","label","ariaLabel","ariaLabelledBy","description","ariaDescribedBy","status","statusMessage","ariaErrorMessage","placeholder","hoursPlaceholder","minutesPlaceholder","secondsPlaceholder","valueProp","defaultValue","defaultValueProp","showSeconds","disableExpand","locale","onToggle","onChange","disablePortal","escapeWithReference","dropdownProps","others","useUniqueId","ref","useRef","cx","useClasses","stateProps","isRequired","isReadOnly","isDisabled","granularity","hourCycle","hour","minute","second","state","useTimeFieldState","labelProps","fieldProps","useTimeField","open","setOpen","useState","validationMessage","useControlled","validationState","placeholders","useMemo","canShowError","isStateInvalid","errorMessageId","setId","HvFormElement","root","children","labelContainer","_jsx","HvLabel","HvInfoMessage","HvBaseDropdown","role","variableWidth","Placeholder","placeholderDisabled","header","dropdownHeader","dropdownHeaderInvalid","panel","dropdownPanel","headerOpen","dropdownHeaderOpen","placement","adornment","TimeIcon","color","icon","expanded","evt","newOpen","onContainerCreation","containerRef","getElementsByTagName","focus","popperProps","modifiers","enabled","timePopperContainer","segments","map","segment","i","Unit","type","onAdd","increment","onSub","decrement","val","setSegment","Number","HvWarningText","disableBorder","error"],"mappings":"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"}
1
+ {"version":3,"file":"TimePicker.cjs","sources":["../../../../src/components/TimePicker/TimePicker.tsx"],"sourcesContent":["import { useState, useRef, useMemo } from \"react\";\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\n\nimport { Time } from \"@internationalized/date\";\n\nimport { useTimeField } from \"@react-aria/datepicker\";\nimport {\n TimeFieldStateOptions,\n useTimeFieldState,\n} from \"@react-stately/datepicker\";\n\nimport { Time as TimeIcon } from \"@hitachivantara/uikit-react-icons\";\n\nimport {\n HvFormElement,\n HvLabel,\n HvWarningText,\n HvInfoMessage,\n HvFormElementProps,\n} from \"@core/components/Forms\";\nimport {\n HvBaseDropdown,\n HvBaseDropdownProps,\n} from \"@core/components/BaseDropdown\";\nimport { useControlled } from \"@core/hooks/useControlled\";\nimport { useUniqueId } from \"@core/hooks/useUniqueId\";\nimport { ExtractNames } from \"@core/utils/classes\";\nimport { setId } from \"@core/utils/setId\";\n\nimport { Unit } from \"./Unit\";\nimport { Placeholder } from \"./Placeholder\";\nimport { staticClasses, useClasses } from \"./TimePicker.styles\";\n\nconst toTime = (value?: HvTimePickerValue) => {\n if (!value) return undefined;\n const { hours, minutes, seconds } = value;\n return new Time(hours, minutes, seconds);\n};\n\nconst getFormat = (timeFormat?: TimeFormat) => {\n if (timeFormat == null) return 24;\n return timeFormat === \"12\" ? 12 : 24;\n};\n\nexport { staticClasses as timePickerClasses };\n\nexport type TimeFormat = \"12\" | \"24\";\n\nexport type HvTimePickerClasses = ExtractNames<typeof useClasses>;\n\nexport type HvTimePickerClassKey =\n | \"root\"\n | \"input\"\n | \"label\"\n | \"placeholder\"\n | \"timePopperContainer\"\n | \"separator\"\n | \"periodContainer\"\n | \"formElementRoot\"\n | \"dropdownPlaceholder\"\n | \"iconBaseRoot\"\n | \"error\"\n | \"labelContainer\"\n | \"description\"\n | \"dropdownHeaderInvalid\"\n | \"dropdownPlaceholderDisabled\"\n | \"dropdownHeaderOpen\";\n\nexport type HvTimePickerValue = {\n hours: number;\n minutes: number;\n seconds: number;\n};\n\nexport interface HvTimePickerProps\n extends Omit<\n HvFormElementProps,\n \"classes\" | \"value\" | \"defaultValue\" | \"onChange\" | \"onFocus\" | \"onBlur\"\n > {\n /** Id to be applied to the form element root node. */\n id?: string;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvTimePickerClasses;\n /** Current value of the element when _controlled_. Follows the 24-hour format. */\n value?: HvTimePickerValue;\n /** Initial value of the element when _uncontrolled_. Follows the 24-hour format. */\n defaultValue?: HvTimePickerValue;\n /** The placeholder value when no time is selected. */\n placeholder?: string;\n /** The placeholder of the hours input. */\n hoursPlaceholder?: string;\n /** The placeholder of the minutes input. */\n minutesPlaceholder?: string;\n /** The placeholder of the seconds input. */\n secondsPlaceholder?: string;\n /**\n * Whether the time picker should show the AM/PM 12-hour clock or the 24-hour one.\n * If undefined, the component will use a format according to the passed locale.\n */\n timeFormat?: TimeFormat;\n /** Whether to show the seconds when using the native time picker */\n showSeconds?: boolean;\n /** Locale that will provide the time format(12 or 24 hour format). It is \"overwritten\" by `showAmPm` */\n locale?: string;\n /** Whether the dropdown is expandable. */\n disableExpand?: boolean;\n\n /**\n * Callback function to be triggered when the input value is changed.\n * It is invoked with a `{hours, minutes, seconds}` object, always in the 24h format\n */\n onChange?: (value: HvTimePickerValue) => void;\n\n /** Callback called when dropdown changes the expanded state. */\n onToggle?: (event: Event, isOpen: boolean) => void;\n\n /** Disable the portal behavior. The children stay within it's parent DOM hierarchy. */\n disablePortal?: boolean;\n\n /** Sets if the calendar container should follow the date picker input out of the screen or stay visible. */\n escapeWithReference?: boolean;\n\n /** Extra properties to be passed to the TimePicker's dropdown. */\n dropdownProps?: Partial<HvBaseDropdownProps>;\n}\n\n/**\n * A Time Picker allows the user to choose a specific time or a time range.\n */\nexport const HvTimePicker = (props: HvTimePickerProps) => {\n const {\n classes: classesProp,\n className,\n\n id: idProp,\n name,\n required = false,\n disabled = false,\n readOnly = false,\n label,\n\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n description,\n \"aria-describedby\": ariaDescribedBy,\n status,\n statusMessage,\n \"aria-errormessage\": ariaErrorMessage,\n\n placeholder,\n hoursPlaceholder = \"hh\",\n minutesPlaceholder = \"mm\",\n secondsPlaceholder = \"ss\",\n\n value: valueProp,\n defaultValue: defaultValueProp,\n\n timeFormat,\n showSeconds,\n disableExpand,\n locale = \"en\",\n\n onToggle,\n onChange,\n\n // misc properties:\n disablePortal = true,\n escapeWithReference = true,\n dropdownProps,\n ...others\n } = useDefaultProps(\"HvTimePicker\", props);\n const id = useUniqueId(idProp, \"hvtimepicker\");\n const ref = useRef<HTMLDivElement>(null);\n const { classes, cx } = useClasses(classesProp);\n\n const stateProps: TimeFieldStateOptions = {\n value: toTime(valueProp),\n defaultValue: toTime(defaultValueProp),\n label,\n locale,\n isRequired: required,\n isReadOnly: readOnly,\n isDisabled: disabled,\n granularity: \"second\",\n hourCycle: getFormat(timeFormat),\n onChange: (value) => {\n const { hour: hours, minute: minutes, second: seconds } = value;\n onChange?.({ hours, minutes, seconds });\n },\n };\n const state = useTimeFieldState(stateProps);\n const { labelProps, fieldProps } = useTimeField(\n {\n ...stateProps,\n id,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-describedby\": ariaDescribedBy,\n },\n state,\n ref\n );\n\n const [open, setOpen] = useState(false);\n\n const [validationMessage] = useControlled(statusMessage, \"Required\");\n const [validationState] = useControlled(status, \"standBy\");\n\n const placeholders = useMemo(\n () => ({\n hour: hoursPlaceholder,\n minute: minutesPlaceholder,\n second: secondsPlaceholder,\n }),\n [hoursPlaceholder, minutesPlaceholder, secondsPlaceholder]\n );\n\n // the error message area will only be created if:\n // - an external element that provides an error message isn't identified via aria-errormessage AND\n // - both status and statusMessage properties are being controlled OR\n // - status is uncontrolled and required is true\n const canShowError =\n ariaErrorMessage == null &&\n ((status !== undefined && statusMessage !== undefined) ||\n (status === undefined && required));\n\n const isStateInvalid = validationState === \"invalid\";\n const errorMessageId = isStateInvalid\n ? canShowError\n ? setId(id, \"error\")\n : ariaErrorMessage\n : undefined;\n\n return (\n <HvFormElement\n name={name}\n required={required}\n disabled={disabled}\n status={validationState}\n className={cx(classes.root, className)}\n {...others}\n >\n {(label || description) && (\n <div className={classes.labelContainer}>\n {label && (\n <HvLabel label={label} className={classes.label} {...labelProps} />\n )}\n {description && (\n <HvInfoMessage className={classes.description}>\n {description}\n </HvInfoMessage>\n )}\n </div>\n )}\n\n <HvBaseDropdown\n role=\"combobox\"\n variableWidth\n disabled={disabled}\n readOnly={readOnly}\n placeholder={\n placeholder && !state.value ? (\n placeholder\n ) : (\n <Placeholder\n ref={ref}\n name={name}\n state={state}\n placeholders={placeholders}\n className={cx(classes.placeholder, {\n [classes.placeholderDisabled]: disabled,\n })}\n {...fieldProps}\n />\n )\n }\n classes={{\n header: cx(classes.dropdownHeader, {\n [classes.dropdownHeaderInvalid]: isStateInvalid,\n }),\n panel: classes.dropdownPanel,\n headerOpen: classes.dropdownHeaderOpen,\n }}\n placement=\"right\"\n adornment={\n <TimeIcon\n color={disabled ? \"secondary_60\" : undefined}\n className={classes.icon}\n />\n }\n expanded={open}\n onToggle={(evt, newOpen) => {\n if (disableExpand) return;\n setOpen(newOpen);\n onToggle?.(evt, newOpen);\n }}\n onContainerCreation={(containerRef) => {\n containerRef?.getElementsByTagName(\"input\")[0]?.focus();\n }}\n aria-haspopup=\"dialog\"\n aria-invalid={isStateInvalid ? true : undefined}\n aria-errormessage={errorMessageId}\n disablePortal={disablePortal}\n popperProps={{\n modifiers: [\n { name: \"preventOverflow\", enabled: escapeWithReference },\n ],\n }}\n {...dropdownProps}\n >\n <div ref={ref} className={classes.timePopperContainer}>\n {state.segments.map((segment, i) => (\n <Unit\n key={i}\n state={state}\n segment={segment}\n placeholder={placeholders[segment.type]}\n onAdd={() => state.increment(segment.type)}\n onSub={() => state.decrement(segment.type)}\n onChange={(evt, val) => {\n state.setSegment(segment.type, Number(val));\n }}\n />\n ))}\n </div>\n </HvBaseDropdown>\n\n {canShowError && (\n <HvWarningText\n id={setId(id, \"error\")}\n disableBorder\n className={classes.error}\n >\n {validationMessage}\n </HvWarningText>\n )}\n </HvFormElement>\n );\n};\n"],"names":["toTime","value","undefined","hours","minutes","seconds","Time","getFormat","timeFormat","HvTimePicker","props","classes","classesProp","className","id","idProp","name","required","disabled","readOnly","label","ariaLabel","ariaLabelledBy","description","ariaDescribedBy","status","statusMessage","ariaErrorMessage","placeholder","hoursPlaceholder","minutesPlaceholder","secondsPlaceholder","valueProp","defaultValue","defaultValueProp","showSeconds","disableExpand","locale","onToggle","onChange","disablePortal","escapeWithReference","dropdownProps","others","useDefaultProps","useUniqueId","ref","useRef","cx","useClasses","stateProps","isRequired","isReadOnly","isDisabled","granularity","hourCycle","hour","minute","second","state","useTimeFieldState","labelProps","fieldProps","useTimeField","open","setOpen","useState","validationMessage","useControlled","validationState","placeholders","useMemo","canShowError","isStateInvalid","errorMessageId","setId","HvFormElement","root","children","labelContainer","_jsx","HvLabel","HvInfoMessage","HvBaseDropdown","role","variableWidth","Placeholder","placeholderDisabled","header","dropdownHeader","dropdownHeaderInvalid","panel","dropdownPanel","headerOpen","dropdownHeaderOpen","placement","adornment","TimeIcon","color","icon","expanded","evt","newOpen","onContainerCreation","containerRef","getElementsByTagName","focus","popperProps","modifiers","enabled","timePopperContainer","segments","map","segment","i","Unit","type","onAdd","increment","onSub","decrement","val","setSegment","Number","HvWarningText","disableBorder","error"],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const React = require("react");
4
4
  const useControlled = require("../../hooks/useControlled.cjs");
5
+ const useDefaultProps = require("../../hooks/useDefaultProps.cjs");
5
6
  const jsxRuntime = require("@emotion/react/jsx-runtime");
6
7
  const Button = require("../Button/Button.cjs");
7
8
  const HvToggleButton = React.forwardRef((props, ref) => {
@@ -13,7 +14,7 @@ const HvToggleButton = React.forwardRef((props, ref) => {
13
14
  onClick,
14
15
  children,
15
16
  ...others
16
- } = props;
17
+ } = useDefaultProps.useDefaultProps("HvToggleButton", props);
17
18
  const [isSelected, setIsSelected] = useControlled.useControlled(selected, Boolean(defaultSelected));
18
19
  const onClickHandler = (event) => {
19
20
  setIsSelected(!isSelected);
@@ -22,7 +23,6 @@ const HvToggleButton = React.forwardRef((props, ref) => {
22
23
  return /* @__PURE__ */ jsxRuntime.jsx(Button.HvButton, {
23
24
  ref,
24
25
  icon: true,
25
- variant: "secondaryGhost",
26
26
  "aria-pressed": isSelected,
27
27
  onClick: onClickHandler,
28
28
  ...others,
@@ -1 +1 @@
1
- {"version":3,"file":"ToggleButton.cjs","sources":["../../../../src/components/ToggleButton/ToggleButton.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\n\nimport { useControlled } from \"@core/hooks/useControlled\";\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { HvButton } from \"@core/components/Button\";\n\nexport interface HvToggleButtonProps\n extends HvBaseProps<HTMLButtonElement, \"onClick\"> {\n /** When uncontrolled, defines the initial selected state. */\n defaultSelected?: boolean;\n /** Defines if the button is selected. When defined the button state becomes controlled. */\n selected?: boolean;\n /** Defines if the button is disabled. */\n disabled?: boolean;\n /** Icon for when not selected. Ignored if the component has children. */\n notSelectedIcon?: React.ReactNode;\n /** Icon for when selected. Ignored if the component has children. */\n selectedIcon?: React.ReactNode;\n /** Function called when icon is clicked. */\n onClick?: (\n event: React.MouseEvent<HTMLButtonElement>,\n selected: boolean\n ) => void;\n}\n\nexport const HvToggleButton = forwardRef<\n HTMLButtonElement,\n HvToggleButtonProps\n>((props, ref) => {\n const {\n defaultSelected,\n selected,\n notSelectedIcon,\n selectedIcon = null,\n onClick,\n children,\n ...others\n } = props;\n\n const [isSelected, setIsSelected] = useControlled(\n selected,\n Boolean(defaultSelected)\n );\n\n const onClickHandler = (event: React.MouseEvent<HTMLButtonElement>) => {\n setIsSelected(!isSelected);\n onClick?.(event, !isSelected);\n };\n\n return (\n <HvButton\n ref={ref}\n icon\n variant=\"secondaryGhost\"\n aria-pressed={isSelected}\n onClick={onClickHandler}\n {...others}\n >\n {children || (!isSelected ? notSelectedIcon : selectedIcon)}\n </HvButton>\n );\n});\n"],"names":["HvToggleButton","forwardRef","props","ref","defaultSelected","selected","notSelectedIcon","selectedIcon","onClick","children","others","isSelected","setIsSelected","useControlled","Boolean","onClickHandler","event","HvButton","icon","variant"],"mappings":";;;;;;AAyBO,MAAMA,iBAAiBC,MAAAA,WAG5B,CAACC,OAAOC,QAAQ;AACV,QAAA;AAAA,IACJC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC,eAAe;AAAA,IACfC;AAAAA,IACAC;AAAAA,IACA,GAAGC;AAAAA,EACDR,IAAAA;AAEE,QAAA,CAACS,YAAYC,aAAa,IAAIC,cAAAA,cAClCR,UACAS,QAAQV,eAAe,CACzB;AAEMW,QAAAA,iBAAiBA,CAACC,UAA+C;AACrEJ,kBAAc,CAACD,UAAU;AACfK,uCAAAA,OAAO,CAACL;AAAAA,EAAU;AAG9B,wCACGM,OAAAA,UAAQ;AAAA,IACPd;AAAAA,IACAe,MAAI;AAAA,IACJC,SAAQ;AAAA,IACR,gBAAcR;AAAAA,IACdH,SAASO;AAAAA,IAAe,GACpBL;AAAAA,IAAMD,UAETA,aAAa,CAACE,aAAaL,kBAAkBC;AAAAA,EAAAA,CACtC;AAEd,CAAC;;"}
1
+ {"version":3,"file":"ToggleButton.cjs","sources":["../../../../src/components/ToggleButton/ToggleButton.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\n\nimport { useControlled } from \"@core/hooks/useControlled\";\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { HvButton } from \"@core/components/Button\";\n\nexport interface HvToggleButtonProps\n extends HvBaseProps<HTMLButtonElement, \"onClick\"> {\n /** When uncontrolled, defines the initial selected state. */\n defaultSelected?: boolean;\n /** Defines if the button is selected. When defined the button state becomes controlled. */\n selected?: boolean;\n /** Defines if the button is disabled. */\n disabled?: boolean;\n /** Icon for when not selected. Ignored if the component has children. */\n notSelectedIcon?: React.ReactNode;\n /** Icon for when selected. Ignored if the component has children. */\n selectedIcon?: React.ReactNode;\n /** Function called when icon is clicked. */\n onClick?: (\n event: React.MouseEvent<HTMLButtonElement>,\n selected: boolean\n ) => void;\n}\n\nexport const HvToggleButton = forwardRef<\n HTMLButtonElement,\n HvToggleButtonProps\n>((props, ref) => {\n const {\n defaultSelected,\n selected,\n notSelectedIcon,\n selectedIcon = null,\n onClick,\n children,\n ...others\n } = useDefaultProps(\"HvToggleButton\", props);\n\n const [isSelected, setIsSelected] = useControlled(\n selected,\n Boolean(defaultSelected)\n );\n\n const onClickHandler = (event: React.MouseEvent<HTMLButtonElement>) => {\n setIsSelected(!isSelected);\n onClick?.(event, !isSelected);\n };\n\n return (\n <HvButton\n ref={ref}\n icon\n aria-pressed={isSelected}\n onClick={onClickHandler}\n {...others}\n >\n {children || (!isSelected ? notSelectedIcon : selectedIcon)}\n </HvButton>\n );\n});\n"],"names":["HvToggleButton","forwardRef","props","ref","defaultSelected","selected","notSelectedIcon","selectedIcon","onClick","children","others","useDefaultProps","isSelected","setIsSelected","useControlled","Boolean","onClickHandler","event","HvButton","icon"],"mappings":";;;;;;;AA0BO,MAAMA,iBAAiBC,MAAAA,WAG5B,CAACC,OAAOC,QAAQ;AACV,QAAA;AAAA,IACJC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC,eAAe;AAAA,IACfC;AAAAA,IACAC;AAAAA,IACA,GAAGC;AAAAA,EAAAA,IACDC,gBAAgB,gBAAA,kBAAkBT,KAAK;AAErC,QAAA,CAACU,YAAYC,aAAa,IAAIC,cAAAA,cAClCT,UACAU,QAAQX,eAAe,CACzB;AAEMY,QAAAA,iBAAiBA,CAACC,UAA+C;AACrEJ,kBAAc,CAACD,UAAU;AACfK,uCAAAA,OAAO,CAACL;AAAAA,EAAU;AAG9B,wCACGM,OAAAA,UAAQ;AAAA,IACPf;AAAAA,IACAgB,MAAI;AAAA,IACJ,gBAAcP;AAAAA,IACdJ,SAASQ;AAAAA,IAAe,GACpBN;AAAAA,IAAMD,UAETA,aAAa,CAACG,aAAaN,kBAAkBC;AAAAA,EAAAA,CACtC;AAEd,CAAC;;"}
@@ -4,6 +4,7 @@ const material = require("@mui/material");
4
4
  const React = require("react");
5
5
  const clsx = require("clsx");
6
6
  const useTheme = require("../../hooks/useTheme.cjs");
7
+ const useDefaultProps = require("../../hooks/useDefaultProps.cjs");
7
8
  const Tooltip_styles = require("./Tooltip.styles.cjs");
8
9
  const tooltipClasses = require("./tooltipClasses.cjs");
9
10
  const jsxRuntime = require("@emotion/react/jsx-runtime");
@@ -24,7 +25,7 @@ const HvTooltip = React.forwardRef((props, ref) => {
24
25
  },
25
26
  containerId,
26
27
  ...others
27
- } = props;
28
+ } = useDefaultProps.useDefaultProps("HvTooltip", props);
28
29
  const {
29
30
  rootId
30
31
  } = useTheme.useTheme();
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.cjs","sources":["../../../../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import {\n Fade,\n Tooltip as MuiTooltip,\n TooltipProps as MuiTooltipProps,\n} from \"@mui/material\";\n\nimport { forwardRef, ReactElement } from \"react\";\n\nimport { clsx } from \"clsx\";\n\nimport { useTheme } from \"@core/hooks/useTheme\";\n\nimport { popperSx } from \"./Tooltip.styles\";\nimport tooltipClasses, { HvTooltipClasses } from \"./tooltipClasses\";\n\nexport type HvTooltipPlacementType = MuiTooltipProps[\"placement\"];\n\nexport interface HvTooltipProps extends Omit<MuiTooltipProps, \"classes\"> {\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?: HvTooltipClasses;\n /**\n * If true, the tooltip is shown.\n */\n open?: boolean;\n /**\n * Tooltip placement.\n */\n placement?: HvTooltipPlacementType;\n /**\n * The number of milliseconds to wait before showing the tooltip.\n * This property won't impact the enter touch delay (enterTouchDelay).\n */\n enterDelay?: number;\n /** @inheritdoc */\n title: MuiTooltipProps[\"title\"];\n /** @inheritdoc */\n TransitionComponent?: MuiTooltipProps[\"TransitionComponent\"];\n /** @inheritdoc */\n TransitionProps?: MuiTooltipProps[\"TransitionProps\"];\n /**\n * Defines if should use a single or multiline tooltip.\n */\n useSingle?: boolean;\n /**\n * Node to apply the tooltip.\n */\n children: ReactElement;\n /**\n * Id attribute value of an HTML Element to have the tooltip appended to it.\n */\n containerId?: string;\n}\n\n/**\n * Tooltips display informative text when users hover over, focus on, or tap an element.\n * Accessibility-wise, the tooltip automatically labels the `children` content.\n */\nexport const HvTooltip = forwardRef((props: HvTooltipProps, ref) => {\n const {\n className,\n classes,\n open,\n enterDelay = 300,\n placement = \"top\",\n useSingle = true,\n children,\n title,\n TransitionComponent = Fade,\n TransitionProps = { timeout: 400, placement },\n containerId,\n ...others\n } = props;\n\n const { rootId } = useTheme();\n\n return (\n <MuiTooltip\n ref={ref}\n open={open ?? undefined}\n enterDelay={enterDelay}\n placement={placement}\n TransitionComponent={TransitionComponent}\n TransitionProps={TransitionProps}\n className={className}\n classes={{\n tooltip: useSingle\n ? clsx(tooltipClasses.tooltip, classes?.tooltip)\n : clsx(tooltipClasses.tooltipMulti, classes?.tooltipMulti),\n popper: clsx(tooltipClasses.popper, classes?.popper),\n }}\n title={title}\n PopperProps={{\n sx: popperSx(useSingle),\n container:\n typeof window !== \"undefined\"\n ? document.getElementById(containerId || rootId || \"\") ||\n document.body\n : undefined,\n }}\n {...others}\n >\n {children}\n </MuiTooltip>\n );\n});\n"],"names":["HvTooltip","forwardRef","props","ref","className","classes","open","enterDelay","placement","useSingle","children","title","TransitionComponent","Fade","TransitionProps","timeout","containerId","others","rootId","useTheme","MuiTooltip","undefined","tooltip","clsx","tooltipClasses","tooltipMulti","popper","PopperProps","sx","popperSx","container","window","document","getElementById","body"],"mappings":";;;;;;;;;AA+DO,MAAMA,YAAYC,MAAAA,WAAW,CAACC,OAAuBC,QAAQ;AAC5D,QAAA;AAAA,IACJC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC,aAAa;AAAA,IACbC,YAAY;AAAA,IACZC,YAAY;AAAA,IACZC;AAAAA,IACAC;AAAAA,IACAC,sBAAsBC,SAAAA;AAAAA,IACtBC,kBAAkB;AAAA,MAAEC,SAAS;AAAA,MAAKP;AAAAA,IAAU;AAAA,IAC5CQ;AAAAA,IACA,GAAGC;AAAAA,EACDf,IAAAA;AAEE,QAAA;AAAA,IAAEgB;AAAAA,MAAWC,SAAS,SAAA;AAE5B,wCACGC,SAAAA,SAAU;AAAA,IACTjB;AAAAA,IACAG,MAAMA,QAAQe;AAAAA,IACdd;AAAAA,IACAC;AAAAA,IACAI;AAAAA,IACAE;AAAAA,IACAV;AAAAA,IACAC,SAAS;AAAA,MACPiB,SAASb,YACLc,KAAAA,KAAKC,eAAAA,QAAeF,SAASjB,mCAASiB,OAAO,IAC7CC,KAAKC,KAAAA,eAAAA,QAAeC,cAAcpB,mCAASoB,YAAY;AAAA,MAC3DC,QAAQH,KAAAA,KAAKC,eAAAA,QAAeE,QAAQrB,mCAASqB,MAAM;AAAA,IACrD;AAAA,IACAf;AAAAA,IACAgB,aAAa;AAAA,MACXC,IAAIC,wBAASpB,SAAS;AAAA,MACtBqB,WACE,OAAOC,WAAW,cACdC,SAASC,eAAejB,eAAeE,UAAU,EAAE,KACnDc,SAASE,OACTb;AAAAA,IACR;AAAA,IAAE,GACEJ;AAAAA,IAAMP;AAAAA,EAAAA,CAGA;AAEhB,CAAC;;"}
1
+ {"version":3,"file":"Tooltip.cjs","sources":["../../../../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import {\n Fade,\n Tooltip as MuiTooltip,\n TooltipProps as MuiTooltipProps,\n} from \"@mui/material\";\n\nimport { forwardRef, ReactElement } from \"react\";\n\nimport { clsx } from \"clsx\";\n\nimport { useTheme } from \"@core/hooks/useTheme\";\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\n\nimport { popperSx } from \"./Tooltip.styles\";\nimport tooltipClasses, { HvTooltipClasses } from \"./tooltipClasses\";\n\nexport type HvTooltipPlacementType = MuiTooltipProps[\"placement\"];\n\nexport interface HvTooltipProps extends Omit<MuiTooltipProps, \"classes\"> {\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?: HvTooltipClasses;\n /**\n * If true, the tooltip is shown.\n */\n open?: boolean;\n /**\n * Tooltip placement.\n */\n placement?: HvTooltipPlacementType;\n /**\n * The number of milliseconds to wait before showing the tooltip.\n * This property won't impact the enter touch delay (enterTouchDelay).\n */\n enterDelay?: number;\n /** @inheritdoc */\n title: MuiTooltipProps[\"title\"];\n /** @inheritdoc */\n TransitionComponent?: MuiTooltipProps[\"TransitionComponent\"];\n /** @inheritdoc */\n TransitionProps?: MuiTooltipProps[\"TransitionProps\"];\n /**\n * Defines if should use a single or multiline tooltip.\n */\n useSingle?: boolean;\n /**\n * Node to apply the tooltip.\n */\n children: ReactElement;\n /**\n * Id attribute value of an HTML Element to have the tooltip appended to it.\n */\n containerId?: string;\n}\n\n/**\n * Tooltips display informative text when users hover over, focus on, or tap an element.\n * Accessibility-wise, the tooltip automatically labels the `children` content.\n */\nexport const HvTooltip = forwardRef((props: HvTooltipProps, ref) => {\n const {\n className,\n classes,\n open,\n enterDelay = 300,\n placement = \"top\",\n useSingle = true,\n children,\n title,\n TransitionComponent = Fade,\n TransitionProps = { timeout: 400, placement },\n containerId,\n ...others\n } = useDefaultProps(\"HvTooltip\", props);\n\n const { rootId } = useTheme();\n\n return (\n <MuiTooltip\n ref={ref}\n open={open ?? undefined}\n enterDelay={enterDelay}\n placement={placement}\n TransitionComponent={TransitionComponent}\n TransitionProps={TransitionProps}\n className={className}\n classes={{\n tooltip: useSingle\n ? clsx(tooltipClasses.tooltip, classes?.tooltip)\n : clsx(tooltipClasses.tooltipMulti, classes?.tooltipMulti),\n popper: clsx(tooltipClasses.popper, classes?.popper),\n }}\n title={title}\n PopperProps={{\n sx: popperSx(useSingle),\n container:\n typeof window !== \"undefined\"\n ? document.getElementById(containerId || rootId || \"\") ||\n document.body\n : undefined,\n }}\n {...others}\n >\n {children}\n </MuiTooltip>\n );\n});\n"],"names":["HvTooltip","forwardRef","props","ref","className","classes","open","enterDelay","placement","useSingle","children","title","TransitionComponent","Fade","TransitionProps","timeout","containerId","others","useDefaultProps","rootId","useTheme","MuiTooltip","undefined","tooltip","clsx","tooltipClasses","tooltipMulti","popper","PopperProps","sx","popperSx","container","window","document","getElementById","body"],"mappings":";;;;;;;;;;AAgEO,MAAMA,YAAYC,MAAAA,WAAW,CAACC,OAAuBC,QAAQ;AAC5D,QAAA;AAAA,IACJC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC,aAAa;AAAA,IACbC,YAAY;AAAA,IACZC,YAAY;AAAA,IACZC;AAAAA,IACAC;AAAAA,IACAC,sBAAsBC,SAAAA;AAAAA,IACtBC,kBAAkB;AAAA,MAAEC,SAAS;AAAA,MAAKP;AAAAA,IAAU;AAAA,IAC5CQ;AAAAA,IACA,GAAGC;AAAAA,EAAAA,IACDC,gBAAgB,gBAAA,aAAahB,KAAK;AAEhC,QAAA;AAAA,IAAEiB;AAAAA,MAAWC,SAAS,SAAA;AAE5B,wCACGC,SAAAA,SAAU;AAAA,IACTlB;AAAAA,IACAG,MAAMA,QAAQgB;AAAAA,IACdf;AAAAA,IACAC;AAAAA,IACAI;AAAAA,IACAE;AAAAA,IACAV;AAAAA,IACAC,SAAS;AAAA,MACPkB,SAASd,YACLe,KAAAA,KAAKC,eAAAA,QAAeF,SAASlB,mCAASkB,OAAO,IAC7CC,KAAKC,KAAAA,eAAAA,QAAeC,cAAcrB,mCAASqB,YAAY;AAAA,MAC3DC,QAAQH,KAAAA,KAAKC,eAAAA,QAAeE,QAAQtB,mCAASsB,MAAM;AAAA,IACrD;AAAA,IACAhB;AAAAA,IACAiB,aAAa;AAAA,MACXC,IAAIC,wBAASrB,SAAS;AAAA,MACtBsB,WACE,OAAOC,WAAW,cACdC,SAASC,eAAelB,eAAeG,UAAU,EAAE,KACnDc,SAASE,OACTb;AAAAA,IACR;AAAA,IAAE,GACEL;AAAAA,IAAMP;AAAAA,EAAAA,CAGA;AAEhB,CAAC;;"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const React = require("react");
4
4
  const useTheme = require("../../hooks/useTheme.cjs");
5
+ const useDefaultProps = require("../../hooks/useDefaultProps.cjs");
5
6
  const utils = require("./utils.cjs");
6
7
  const Typography_styles = require("./Typography.styles.cjs");
7
8
  const jsxRuntime = require("@emotion/react/jsx-runtime");
@@ -41,7 +42,7 @@ const HvTypography = React.forwardRef((props, ref) => {
41
42
  noWrap = false,
42
43
  paragraph = false,
43
44
  ...others
44
- } = props;
45
+ } = useDefaultProps.useDefaultProps("HvTypography", props);
45
46
  const {
46
47
  classes,
47
48
  cx
@@ -1 +1 @@
1
- {"version":3,"file":"Typography.cjs","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,MAAAA,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,kBAAAA,WAAWR,WAAW;AACxC,QAAA;AAAA,IAAES;AAAAA,MAAgBC,SAAS,SAAA;AAEjC,QAAMT,UAAUU,MAAAA,WAAWT,aAAaO,2CAAaG,IAAI;AAEzD,QAAMC,YACJf,iBAAkBO,aAAa,OAAQlC,gBAAgB8B,OAAO,KAAK;AAErE,wCACGY,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.cjs","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,MAAAA,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,gBAAA,gBAAgBb,KAAK;AACnC,QAAA;AAAA,IAAEK;AAAAA,IAASS;AAAAA,EAAAA,IAAOC,kBAAAA,WAAWT,WAAW;AACxC,QAAA;AAAA,IAAEU;AAAAA,MAAgBC,SAAS,SAAA;AAEjC,QAAMV,UAAUW,MAAAA,WAAWV,aAAaQ,2CAAaG,IAAI;AAEzD,QAAMC,YACJhB,iBAAkBO,aAAa,OAAQlC,gBAAgB8B,OAAO,KAAK;AAErE,wCACGa,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;;;"}
@@ -39,8 +39,8 @@ const HvVerticalNavigationHeader = ({
39
39
  ...others,
40
40
  children: [isOpen && headerTitle && slider && /* @__PURE__ */ jsxRuntime.jsx(Button.HvButton, {
41
41
  icon: true,
42
- variant: "secondaryGhost",
43
42
  onClick: backButtonClickHandler,
43
+ "aria-label": "Back",
44
44
  ...backButtonProps,
45
45
  children: /* @__PURE__ */ jsxRuntime.jsx(uikitReactIcons.Backwards, {
46
46
  iconSize: "XS"
@@ -50,7 +50,6 @@ const HvVerticalNavigationHeader = ({
50
50
  children: headerTitle && slider ? headerTitle : title
51
51
  }), onCollapseButtonClick && /* @__PURE__ */ jsxRuntime.jsx(Header_styles.StyledCollapseButton, {
52
52
  icon: true,
53
- variant: "secondaryGhost",
54
53
  onClick: onCollapseButtonClick,
55
54
  classes: {
56
55
  root: isOpen ? "" : headerClasses.default.minimized
@@ -1 +1 @@
1
- {"version":3,"file":"Header.cjs","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,2BAAAA,IAACC,4BAAU;AAAA,EACtBC,YAAYF,2BAAAA,IAACG,6BAAW;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,MAAAA,WAAWC,0BAAAA,yBAAyB;AAExClB,aAAW,CAACY,WAAWX,2BAAAA,IAACkB,gBAAAA,MAAI,CAAA,CAAE,IAAInB;AAElC,QAAMoB,yBAAyBA,MAAM;AAC/BL,QAAAA;AAAiD;EAAA;AAKvD,QAAMM,kBAAkBC,MAAAA,QACtB,MAAM,CAACR,UAAWA,UAAU,CAACS,MAAMC,QAAQR,UAAU,GACrD,CAACA,YAAYF,MAAM,CACrB;AAEOO,SAAAA,kDACJI,4BAAY;AAAA,IACXlB,WAAWmB,KAAAA,KACTnB,WACAoB,cAAAA,QAAgCC,MAChCpB,mCAASoB,MACT,CAACjB,UACCe,KAAKC,KAAAA,cAAAA,QAAgCE,WAAWrB,mCAASqB,SAAS,CACtE;AAAA,IAAE,GACEnB;AAAAA,IAAMoB,UAAA,CAETnB,UAAUE,eAAeC,yCACvBiB,OAAAA,UAAQ;AAAA,MACPC,MAAI;AAAA,MACJC,SAAQ;AAAA,MACRC,SAASd;AAAAA,MAAuB,GAC5Bd;AAAAA,MAAewB,yCAElB1B,2BAAS;AAAA,QAAC+B,UAAS;AAAA,MAAA,CAAM;AAAA,IAAA,CAClB,GAEXxB,UACCV,2BAAAA,IAACmC,yBAAY;AAAA,MAACH,SAASnB,SAAS,UAAU;AAAA,MAASgB,UAChDjB,eAAeC,SAASD,cAAcd;AAAAA,IAAAA,CAC3B,GAEfU,yBACCR,2BAAAA,IAACoC,oCAAoB;AAAA,MACnBL,MAAI;AAAA,MACJC,SAAQ;AAAA,MACRC,SAASzB;AAAAA,MACTD,SAAS;AAAA,QACPoB,MAAMjB,SAAS,KAAKgB,cAAAA,QAAgCE;AAAAA,MACtD;AAAA,MAAE,GACExB;AAAAA,MAAmByB,UAEtBnB,SAASR,YAAYH;AAAAA,IAAAA,CACF,CACvB;AAAA,EACW,CAAA,IACZ;AACN;;"}
1
+ {"version":3,"file":"Header.cjs","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,2BAAAA,IAACC,4BAAU;AAAA,EACtBC,YAAYF,2BAAAA,IAACG,6BAAW;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,MAAAA,WAAWC,0BAAAA,yBAAyB;AAExClB,aAAW,CAACY,WAAWX,2BAAAA,IAACkB,gBAAAA,MAAI,CAAA,CAAE,IAAInB;AAElC,QAAMoB,yBAAyBA,MAAM;AAC/BL,QAAAA;AAAiD;EAAA;AAKvD,QAAMM,kBAAkBC,MAAAA,QACtB,MAAM,CAACR,UAAWA,UAAU,CAACS,MAAMC,QAAQR,UAAU,GACrD,CAACA,YAAYF,MAAM,CACrB;AAEOO,SAAAA,kDACJI,4BAAY;AAAA,IACXlB,WAAWmB,KAAAA,KACTnB,WACAoB,cAAAA,QAAgCC,MAChCpB,mCAASoB,MACT,CAACjB,UACCe,KAAKC,KAAAA,cAAAA,QAAgCE,WAAWrB,mCAASqB,SAAS,CACtE;AAAA,IAAE,GACEnB;AAAAA,IAAMoB,UAAA,CAETnB,UAAUE,eAAeC,yCACvBiB,OAAAA,UAAQ;AAAA,MAACC,MAAI;AAAA,MAACC,SAASb;AAAAA,MAAwB,cAAW;AAAA,MAAM,GAAKd;AAAAA,MAAewB,yCAClF1B,2BAAS;AAAA,QAAC8B,UAAS;AAAA,MAAA,CAAM;AAAA,IAAA,CAClB,GAEXvB,UACCV,2BAAAA,IAACkC,yBAAY;AAAA,MAACC,SAAStB,SAAS,UAAU;AAAA,MAASgB,UAChDjB,eAAeC,SAASD,cAAcd;AAAAA,IAAAA,CAC3B,GAEfU,yBACCR,2BAAAA,IAACoC,oCAAoB;AAAA,MACnBL,MAAI;AAAA,MACJC,SAASxB;AAAAA,MACTD,SAAS;AAAA,QACPoB,MAAMjB,SAAS,KAAKgB,cAAAA,QAAgCE;AAAAA,MACtD;AAAA,MAAE,GACExB;AAAAA,MAAmByB,UAEtBnB,SAASR,YAAYH;AAAAA,IAAAA,CACF,CACvB;AAAA,EACW,CAAA,IACZ;AACN;;"}
@@ -85,6 +85,7 @@ const HvVerticalNavigationTree = ({
85
85
  selected: selectedProp,
86
86
  defaultSelected,
87
87
  onChange,
88
+ sliderForwardButtonAriaLabel = "Navigate to submenu",
88
89
  ...others
89
90
  }) => {
90
91
  const [selected, setSelected] = useControlled.useControlled(selectedProp, defaultSelected);
@@ -209,7 +210,8 @@ const HvVerticalNavigationTree = ({
209
210
  data: parentItem.data || withParentData,
210
211
  selected,
211
212
  onNavigateToTarget: navigateToTargetHandler,
212
- onNavigateToChild: navigateToChildHandler
213
+ onNavigateToChild: navigateToChildHandler,
214
+ forwardButtonAriaLabel: sliderForwardButtonAriaLabel
213
215
  }) : /* @__PURE__ */ jsxRuntime.jsxs(TreeView.HvVerticalNavigationTreeView, {
214
216
  id: setId.setId(id, "tree"),
215
217
  className: clsx.clsx(navigationClasses.default.list, classes == null ? void 0 : classes.list),
@@ -1 +1 @@
1
- {"version":3,"file":"Navigation.cjs","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.cjs","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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"}
@@ -14,7 +14,8 @@ const HvVerticalNavigationSlider = ({
14
14
  data,
15
15
  selected,
16
16
  onNavigateToTarget,
17
- onNavigateToChild
17
+ onNavigateToChild,
18
+ forwardButtonAriaLabel = "Navigate to submenu"
18
19
  }) => {
19
20
  return /* @__PURE__ */ jsxRuntime.jsx(ListContainer.HvListContainer, {
20
21
  interactive: true,
@@ -34,11 +35,11 @@ const HvVerticalNavigationSlider = ({
34
35
  children: item.icon
35
36
  }) : void 0,
36
37
  endAdornment: item.data && item.data.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(Button.HvButton, {
37
- variant: "secondaryGhost",
38
38
  icon: true,
39
39
  onClick: (event) => {
40
40
  onNavigateToChild == null ? void 0 : onNavigateToChild(event, item);
41
41
  },
42
+ "aria-label": forwardButtonAriaLabel,
42
43
  children: /* @__PURE__ */ jsxRuntime.jsx(uikitReactIcons.DropRightXS, {})
43
44
  }) : void 0,
44
45
  children: /* @__PURE__ */ jsxRuntime.jsx(OverflowTooltip.HvOverflowTooltip, {
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationSlider.cjs","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,wCACGC,cAAAA,iBAAe;AAAA,IAACC,aAAW;AAAA,IAACP;AAAAA,IAAOQ,UACjCN,QACCA,KAAKO,IAAKC,CAAAA,wCACPC,wCAAc;AAAA,MAEbV,SAAS;AAAA,QACPW,MAAMX,mCAASW;AAAAA,QACfT,UAAUU,KAAAA,KACRZ,mCAASa,kBACTC,wBAAAA,QAAgCD,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,2BAAAA,IAAA,OAAA;AAAA,QAAAf,UAAME,KAAKY;AAAAA,MAAU,CAAA,IAAIF;AAAAA,MACrDI,cACEd,KAAKR,QAAQQ,KAAKR,KAAKuB,SAAS,mCAC7BC,iBAAQ;AAAA,QACPC,SAAQ;AAAA,QACRL,MAAI;AAAA,QACJN,SAAUC,CAAU,UAAA;AAClBZ,iEAAoBY,OAAOP;AAAAA,QAC7B;AAAA,QAAEF,UAEFe,2BAAAA,IAACK,gBAAa,aAAA,EAAA;AAAA,MACN,CAAA,IACRR;AAAAA,MACLZ,yCAEAqB,mCAAiB;AAAA,QAAC3B,MAAMQ,KAAKQ;AAAAA,MAAAA,CAAQ;AAAA,IAAA,GA/BjCR,KAAKV,EAgCI,CACjB;AAAA,EAAA,CACY;AAErB;;"}
1
+ {"version":3,"file":"NavigationSlider.cjs","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,wCACGC,cAAAA,iBAAe;AAAA,IAACC,aAAW;AAAA,IAACR;AAAAA,IAAOS,UACjCP,QACCA,KAAKQ,IAAKC,CAAAA,wCACPC,wCAAc;AAAA,MAEbX,SAAS;AAAA,QACPY,MAAMZ,mCAASY;AAAAA,QACfV,UAAUW,KAAAA,KACRb,mCAASc,kBACTC,wBAAAA,QAAgCD,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,2BAAAA,IAAA,OAAA;AAAA,QAAAf,UAAME,KAAKY;AAAAA,MAAU,CAAA,IAAIF;AAAAA,MACrDI,cACEd,KAAKT,QAAQS,KAAKT,KAAKwB,SAAS,mCAC7BC,iBAAQ;AAAA,QACPJ,MAAI;AAAA,QACJN,SAAUC,CAAU,UAAA;AAClBb,iEAAoBa,OAAOP;AAAAA,QAC7B;AAAA,QACA,cAAYL;AAAAA,QAAuBG,UAEnCe,2BAAAA,IAACI,gBAAa,aAAA,EAAA;AAAA,MACN,CAAA,IACRP;AAAAA,MACLZ,yCAEAoB,mCAAiB;AAAA,QAAC3B,MAAMS,KAAKQ;AAAAA,MAAAA,CAAQ;AAAA,IAAA,GA/BjCR,KAAKX,EAgCI,CACjB;AAAA,EAAA,CACY;AAErB;;"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const clsx = require("clsx");
4
+ const useDefaultProps = require("../../hooks/useDefaultProps.cjs");
4
5
  const React = require("react");
5
6
  const VerticalNavigation_styles = require("./VerticalNavigation.styles.cjs");
6
7
  const verticalNavigationClasses = require("./verticalNavigationClasses.cjs");
@@ -8,16 +9,17 @@ const VerticalNavigationContext = require("./VerticalNavigationContext.cjs");
8
9
  const VerticalNavigation_utils = require("./utils/VerticalNavigation.utils.cjs");
9
10
  const jsxRuntime = require("@emotion/react/jsx-runtime");
10
11
  const NavigationSlider_utils = require("./NavigationSlider/utils/NavigationSlider.utils.cjs");
11
- const HvVerticalNavigation = ({
12
- id,
13
- className,
14
- classes,
15
- children,
16
- open = true,
17
- slider = false,
18
- useIcons = false,
19
- ...others
20
- }) => {
12
+ const HvVerticalNavigation = (props) => {
13
+ const {
14
+ id,
15
+ className,
16
+ classes,
17
+ children,
18
+ open = true,
19
+ slider = false,
20
+ useIcons = false,
21
+ ...others
22
+ } = useDefaultProps.useDefaultProps("HvVerticalNavigation", props);
21
23
  const [parentData, setParentData] = React.useState([]);
22
24
  const [parentSelected, setParentSelected] = React.useState();
23
25
  const [headerTitle, setHeaderTitle] = React.useState();
@@ -1 +1 @@
1
- {"version":3,"file":"VerticalNavigation.cjs","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","useEffect","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,MAAAA,SAA2B,CAAE,CAAA;AAEjE,QAAM,CAACC,gBAAgBC,iBAAiB,IAAIF,MAAS,SAAA;AAErD,QAAM,CAACG,aAAaC,cAAc,IAAIJ,MAA6B,SAAA;AAG7DK,QAAAA,iBAAiBC,MAAAA,QACrB,MAAMC,uBAAAA,qBAAqBT,UAAU,GACrC,CAACA,UAAU,CACb;AAEMU,QAAAA,oBAAoBF,cACxB,MAAMG,yCAAkBJ,gBAAgBJ,cAAc,GACtD,CAACI,gBAAgBJ,cAAc,CACjC;AAEA,QAAM,CAACS,YAAYC,aAAa,IAAIX,eAASQ,iBAAiB;AAExDI,QAAAA,sBAAsBN,MAAAA,QAC1B,MAAMO,yBAAAA,wBAAwBf,UAAU,GACxC,CAACA,UAAU,CACb;AAGEgB,kBAAA,MAAMV,eAAeM,yCAAYK,KAAK,GACtC,CAACL,YAAYC,aAAa,CAC5B;AAEMK,QAAAA,0BAA0BC,MAAAA,YAAY,MAAM;AAChDN,kBAAcF,uBAAAA,kBAAkBJ,gBAAgBK,WAAWpB,EAAE,CAAC;AAAA,EAC7D,GAAA,CAACoB,YAAYC,eAAeN,cAAc,CAAC;AAE9C,QAAMa,yBAAyBD,MAAAA,YAC7B,CAACE,OAAOC,SAAS;AACfT,kBAAcU,uBAAAA,sBAAsBhB,gBAAgBe,KAAK9B,EAAE,CAAC;AAC5D6B,UAAMG,gBAAgB;AAAA,EAAA,GAExB,CAACX,eAAeN,cAAc,CAChC;AAEMkB,QAAAA,QAAQjB,MAAAA,QACZ,OAAO;AAAA,IACLkB,QAAQ9B;AAAAA,IACRE;AAAAA,IACAD;AAAAA,IACAQ;AAAAA,IACAC;AAAAA,IAEAM;AAAAA,IACAC;AAAAA,IACAN;AAAAA,IACAa;AAAAA,IACAF;AAAAA,IAEAlB;AAAAA,IACAC;AAAAA,IACAE;AAAAA,IACAC;AAAAA,IACAU;AAAAA,EAAAA,IAEF,CACElB,MACAE,UACAD,QACAQ,aACAC,gBACAM,YACAC,eACAN,gBACAa,wBACAF,yBACAJ,qBACAd,YACAG,cAAc,CAElB;AAEMwB,QAAAA,UACHC,2BAAAA,IAAAA,0BAAAA,0BAA0BC,UAAQ;AAAA,IAACJ;AAAAA,IAAa9B,yCAC9CmC,sCAAU;AAAA,MACTtC;AAAAA,MACAC,WAAWsC,KAAAA,KACTtC,WACAuC,0BAAAA,QAA0BC,MAC1BvC,mCAASuC,MACT,CAACrC,QAAQoC,kCAA0BE,WACnCrC,UAAUmC,0BAA0BnC,QAAAA,QACpCH,mCAASwC,SACX;AAAA,MACApB;AAAAA,MAAyC,GACrCf;AAAAA,MAAMJ;AAAAA,IAAAA,CAGA;AAAA,EAAA,CACsB;AAG/BgC,SAAAA;AACT;;"}
1
+ {"version":3,"file":"VerticalNavigation.cjs","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","useEffect","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,gBAAA,wBAAwBT,KAAK;AAEjD,QAAM,CAACU,YAAYC,aAAa,IAAIC,MAAAA,SAA2B,CAAE,CAAA;AAEjE,QAAM,CAACC,gBAAgBC,iBAAiB,IAAIF,MAAS,SAAA;AAErD,QAAM,CAACG,aAAaC,cAAc,IAAIJ,MAA6B,SAAA;AAG7DK,QAAAA,iBAAiBC,MAAAA,QACrB,MAAMC,uBAAAA,qBAAqBT,UAAU,GACrC,CAACA,UAAU,CACb;AAEMU,QAAAA,oBAAoBF,cACxB,MAAMG,yCAAkBJ,gBAAgBJ,cAAc,GACtD,CAACI,gBAAgBJ,cAAc,CACjC;AAEA,QAAM,CAACS,YAAYC,aAAa,IAAIX,eAASQ,iBAAiB;AAExDI,QAAAA,sBAAsBN,MAAAA,QAC1B,MAAMO,yBAAAA,wBAAwBf,UAAU,GACxC,CAACA,UAAU,CACb;AAGEgB,kBAAA,MAAMV,eAAeM,yCAAYK,KAAK,GACtC,CAACL,YAAYC,aAAa,CAC5B;AAEMK,QAAAA,0BAA0BC,MAAAA,YAAY,MAAM;AAChDN,kBAAcF,uBAAAA,kBAAkBJ,gBAAgBK,WAAWrB,EAAE,CAAC;AAAA,EAC7D,GAAA,CAACqB,YAAYC,eAAeN,cAAc,CAAC;AAE9C,QAAMa,yBAAyBD,MAAAA,YAC7B,CAACE,OAAOC,SAAS;AACfT,kBAAcU,uBAAAA,sBAAsBhB,gBAAgBe,KAAK/B,EAAE,CAAC;AAC5D8B,UAAMG,gBAAgB;AAAA,EAAA,GAExB,CAACX,eAAeN,cAAc,CAChC;AAEMkB,QAAAA,QAAQjB,MAAAA,QACZ,OAAO;AAAA,IACLkB,QAAQ/B;AAAAA,IACRE;AAAAA,IACAD;AAAAA,IACAS;AAAAA,IACAC;AAAAA,IAEAM;AAAAA,IACAC;AAAAA,IACAN;AAAAA,IACAa;AAAAA,IACAF;AAAAA,IAEAlB;AAAAA,IACAC;AAAAA,IACAE;AAAAA,IACAC;AAAAA,IACAU;AAAAA,EAAAA,IAEF,CACEnB,MACAE,UACAD,QACAS,aACAC,gBACAM,YACAC,eACAN,gBACAa,wBACAF,yBACAJ,qBACAd,YACAG,cAAc,CAElB;AAEMwB,QAAAA,UACHC,2BAAAA,IAAAA,0BAAAA,0BAA0BC,UAAQ;AAAA,IAACJ;AAAAA,IAAa/B,yCAC9CoC,sCAAU;AAAA,MACTvC;AAAAA,MACAC,WAAWuC,KAAAA,KACTvC,WACAwC,0BAAAA,QAA0BC,MAC1BxC,mCAASwC,MACT,CAACtC,QAAQqC,kCAA0BE,WACnCtC,UAAUoC,0BAA0BpC,QAAAA,QACpCH,mCAASyC,SACX;AAAA,MACApB;AAAAA,MAAyC,GACrChB;AAAAA,MAAMJ;AAAAA,IAAAA,CAGA;AAAA,EAAA,CACsB;AAG/BiC,SAAAA;AACT;;"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const React = require("react");
4
+ const useCss = require("./useCss.cjs");
5
+ const useTheme = require("./useTheme.cjs");
6
+ function filterProps(props) {
7
+ return Object.keys(props).reduce((acc, key) => {
8
+ if (props[key] !== void 0) {
9
+ acc[key] = props[key];
10
+ }
11
+ return acc;
12
+ }, {});
13
+ }
14
+ function useDefaultProps(componentName, props) {
15
+ var _a;
16
+ const {
17
+ activeTheme
18
+ } = useTheme.useTheme();
19
+ const {
20
+ css,
21
+ cx
22
+ } = useCss.useCss();
23
+ const themeDefaultProps = (_a = activeTheme == null ? void 0 : activeTheme.components) == null ? void 0 : _a[componentName];
24
+ const classes = React.useMemo(() => {
25
+ const themeClasses = (themeDefaultProps == null ? void 0 : themeDefaultProps.classes) || {};
26
+ const propsClasses = (props == null ? void 0 : props.classes) || {};
27
+ const classKeys = [...Object.keys(themeClasses), ...Object.keys(propsClasses)];
28
+ return classKeys.reduce((acc, key) => {
29
+ acc[key] = cx(themeClasses[key] && css(themeClasses[key]), propsClasses[key]);
30
+ return acc;
31
+ }, {});
32
+ }, [css, cx, props == null ? void 0 : props.classes, themeDefaultProps == null ? void 0 : themeDefaultProps.classes]);
33
+ return {
34
+ ...themeDefaultProps,
35
+ ...filterProps(props),
36
+ classes
37
+ };
38
+ }
39
+ exports.filterProps = filterProps;
40
+ exports.useDefaultProps = useDefaultProps;
41
+ //# sourceMappingURL=useDefaultProps.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDefaultProps.cjs","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,SAAA;AAC3B,QAAA;AAAA,IAAEC;AAAAA,IAAKC;AAAAA,MAAOC,OAAO,OAAA;AAErBC,QAAAA,qBAAoBL,gDAAaM,eAAbN,mBAA0BD;AAE9CQ,QAAAA,UAAUC,MAAAA,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;;;"}