@hitachivantara/uikit-react-core 5.66.9 → 5.66.11

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 (462) hide show
  1. package/dist/cjs/Accordion/Accordion.cjs +1 -1
  2. package/dist/cjs/ActionBar/ActionBar.cjs +1 -1
  3. package/dist/cjs/ActionsGeneric/ActionsGeneric.cjs +1 -1
  4. package/dist/cjs/AppSwitcher/Action/Action.cjs +1 -1
  5. package/dist/cjs/AppSwitcher/AppSwitcher.cjs +2 -2
  6. package/dist/cjs/Avatar/Avatar.cjs +1 -1
  7. package/dist/cjs/AvatarGroup/AvatarGroup.cjs +1 -1
  8. package/dist/cjs/AvatarGroup/AvatarGroupContext.cjs +1 -1
  9. package/dist/cjs/Badge/Badge.cjs +1 -1
  10. package/dist/cjs/Banner/Banner.cjs +1 -1
  11. package/dist/cjs/Banner/BannerContent/ActionContainer/ActionContainer.cjs +1 -1
  12. package/dist/cjs/Banner/BannerContent/BannerContent.cjs +1 -1
  13. package/dist/cjs/Banner/BannerContent/MessageContainer/MessageContainer.cjs +1 -1
  14. package/dist/cjs/BaseCheckBox/BaseCheckBox.cjs +1 -1
  15. package/dist/cjs/BaseCheckBox/icons.cjs +1 -1
  16. package/dist/cjs/BaseDropdown/BaseDropdown.cjs +1 -1
  17. package/dist/cjs/BaseInput/BaseInput.cjs +1 -1
  18. package/dist/cjs/BaseRadio/BaseRadio.cjs +1 -1
  19. package/dist/cjs/BaseRadio/icons.cjs +1 -1
  20. package/dist/cjs/BaseSwitch/BaseSwitch.cjs +1 -1
  21. package/dist/cjs/Box/Box.cjs +1 -1
  22. package/dist/cjs/BreadCrumb/BreadCrumb.cjs +1 -1
  23. package/dist/cjs/BreadCrumb/Page/Page.cjs +1 -1
  24. package/dist/cjs/BreadCrumb/PathElement/PathElement.cjs +1 -1
  25. package/dist/cjs/BreadCrumb/utils.cjs +1 -1
  26. package/dist/cjs/BulkActions/BulkActions.cjs +1 -1
  27. package/dist/cjs/BulkActions/BulkActions.styles.cjs +1 -1
  28. package/dist/cjs/Button/Button.cjs +1 -1
  29. package/dist/cjs/Calendar/Calendar.cjs +10 -4
  30. package/dist/cjs/Calendar/CalendarHeader/CalendarHeader.cjs +1 -1
  31. package/dist/cjs/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.cjs +1 -1
  32. package/dist/cjs/Calendar/CalendarNavigation/MonthSelector/MonthSelector.cjs +1 -1
  33. package/dist/cjs/Calendar/CalendarNavigation/Navigation/Navigation.cjs +1 -1
  34. package/dist/cjs/Calendar/SingleCalendar/CalendarCell.cjs +2 -2
  35. package/dist/cjs/Calendar/SingleCalendar/SingleCalendar.cjs +1 -1
  36. package/dist/cjs/Card/Card.cjs +1 -1
  37. package/dist/cjs/Card/Content/Content.cjs +1 -1
  38. package/dist/cjs/Card/Header/Header.cjs +1 -1
  39. package/dist/cjs/Card/Media/Media.cjs +1 -7
  40. package/dist/cjs/Carousel/Carousel.cjs +1 -1
  41. package/dist/cjs/Carousel/CarouselControls.cjs +1 -1
  42. package/dist/cjs/Carousel/CarouselSlide/CarouselSlide.cjs +1 -1
  43. package/dist/cjs/Carousel/CarouselThumbnails.cjs +1 -1
  44. package/dist/cjs/CheckBox/CheckBox.cjs +1 -1
  45. package/dist/cjs/CheckBoxGroup/CheckBoxGroup.cjs +1 -1
  46. package/dist/cjs/ColorPicker/ColorPicker.cjs +1 -1
  47. package/dist/cjs/ColorPicker/Fields/Fields.cjs +1 -1
  48. package/dist/cjs/ColorPicker/Picker/Picker.cjs +1 -1
  49. package/dist/cjs/ColorPicker/PresetColors/PresetColors.cjs +1 -1
  50. package/dist/cjs/ColorPicker/SavedColors/SavedColors.cjs +1 -1
  51. package/dist/cjs/Container/Container.cjs +1 -1
  52. package/dist/cjs/Controls/Controls.cjs +1 -1
  53. package/dist/cjs/Controls/LeftControl/LeftControl.cjs +1 -1
  54. package/dist/cjs/Controls/RightControl/RightControl.cjs +1 -1
  55. package/dist/cjs/DatePicker/DatePicker.cjs +1 -1
  56. package/dist/cjs/Dialog/Actions/Actions.cjs +1 -1
  57. package/dist/cjs/Dialog/Content/Content.cjs +1 -1
  58. package/dist/cjs/Dialog/Dialog.cjs +1 -1
  59. package/dist/cjs/Dialog/Title/Title.cjs +1 -1
  60. package/dist/cjs/DotPagination/DotPagination.cjs +1 -1
  61. package/dist/cjs/Drawer/Drawer.cjs +1 -1
  62. package/dist/cjs/DropDownMenu/DropDownMenu.cjs +1 -1
  63. package/dist/cjs/Dropdown/Dropdown.cjs +1 -1
  64. package/dist/cjs/Dropdown/List/List.cjs +1 -1
  65. package/dist/cjs/DropdownButton/DropdownButton.cjs +1 -1
  66. package/dist/cjs/EmptyState/EmptyState.cjs +1 -1
  67. package/dist/cjs/FileUploader/DropZone/DropZone.cjs +1 -1
  68. package/dist/cjs/FileUploader/File/File.cjs +1 -1
  69. package/dist/cjs/FileUploader/FileList/FileList.cjs +1 -1
  70. package/dist/cjs/FileUploader/FileUploader.cjs +1 -1
  71. package/dist/cjs/FileUploader/Preview/Preview.cjs +1 -1
  72. package/dist/cjs/FilterGroup/Counter/Counter.cjs +1 -1
  73. package/dist/cjs/FilterGroup/FilterContent/FilterContent.cjs +1 -1
  74. package/dist/cjs/FilterGroup/FilterGroup.cjs +1 -1
  75. package/dist/cjs/FilterGroup/FilterGroupContext.cjs +1 -1
  76. package/dist/cjs/FilterGroup/LeftPanel/LeftPanel.cjs +1 -1
  77. package/dist/cjs/FilterGroup/RightPanel/RightPanel.cjs +1 -1
  78. package/dist/cjs/Focus/Focus.cjs +2 -3
  79. package/dist/cjs/Footer/Footer.cjs +1 -1
  80. package/dist/cjs/Forms/Adornment/Adornment.cjs +1 -1
  81. package/dist/cjs/Forms/CharCounter/CharCounter.cjs +1 -1
  82. package/dist/cjs/Forms/FormElement/FormElement.cjs +1 -1
  83. package/dist/cjs/Forms/InfoMessage/InfoMessage.cjs +1 -1
  84. package/dist/cjs/Forms/Label/Label.cjs +1 -1
  85. package/dist/cjs/Forms/Suggestions/Suggestions.cjs +1 -1
  86. package/dist/cjs/Forms/WarningText/WarningText.cjs +1 -1
  87. package/dist/cjs/GlobalActions/GlobalActions.cjs +1 -1
  88. package/dist/cjs/Grid/Grid.cjs +5 -8
  89. package/dist/cjs/Header/Actions/Actions.cjs +1 -1
  90. package/dist/cjs/Header/Brand/Brand.cjs +1 -1
  91. package/dist/cjs/Header/Header.cjs +1 -1
  92. package/dist/cjs/Header/Navigation/MenuBar/Bar.cjs +1 -1
  93. package/dist/cjs/Header/Navigation/MenuBar/MenuBar.cjs +1 -1
  94. package/dist/cjs/Header/Navigation/MenuItem/MenuItem.cjs +2 -2
  95. package/dist/cjs/Header/Navigation/Navigation.cjs +1 -1
  96. package/dist/cjs/Header/Navigation/useSelectionPath.cjs +1 -1
  97. package/dist/cjs/Header/Navigation/utils/FocusContext.cjs +1 -1
  98. package/dist/cjs/IconButton/IconButton.cjs +1 -1
  99. package/dist/cjs/InlineEditor/InlineEditor.cjs +1 -1
  100. package/dist/cjs/Input/Input.cjs +1 -1
  101. package/dist/cjs/Kpi/Kpi.cjs +1 -1
  102. package/dist/cjs/Link/Link.cjs +1 -1
  103. package/dist/cjs/List/List.cjs +1 -1
  104. package/dist/cjs/List/utils.cjs +1 -1
  105. package/dist/cjs/ListContainer/ListContainer.cjs +1 -1
  106. package/dist/cjs/ListContainer/ListItem/ListItem.cjs +1 -1
  107. package/dist/cjs/Loading/Loading.cjs +1 -1
  108. package/dist/cjs/LoadingContainer/LoadingContainer.cjs +1 -1
  109. package/dist/cjs/Login/Login.cjs +1 -1
  110. package/dist/cjs/MultiButton/MultiButton.cjs +1 -1
  111. package/dist/cjs/OverflowTooltip/OverflowTooltip.cjs +1 -1
  112. package/dist/cjs/Pagination/Pagination.cjs +1 -1
  113. package/dist/cjs/Pagination/Select.cjs +1 -1
  114. package/dist/cjs/Panel/Panel.cjs +1 -1
  115. package/dist/cjs/ProgressBar/ProgressBar.cjs +1 -1
  116. package/dist/cjs/QueryBuilder/ConfirmationDialog/ConfirmationDialog.cjs +1 -1
  117. package/dist/cjs/QueryBuilder/Context.cjs +1 -1
  118. package/dist/cjs/QueryBuilder/QueryBuilder.cjs +1 -1
  119. package/dist/cjs/QueryBuilder/Rule/Attribute/Attribute.cjs +1 -1
  120. package/dist/cjs/QueryBuilder/Rule/Operator/Operator.cjs +1 -1
  121. package/dist/cjs/QueryBuilder/Rule/Rule.cjs +1 -1
  122. package/dist/cjs/QueryBuilder/Rule/Value/BooleanValue/BooleanValue.cjs +1 -1
  123. package/dist/cjs/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.cjs +1 -1
  124. package/dist/cjs/QueryBuilder/Rule/Value/NumericValue/NumericValue.cjs +1 -1
  125. package/dist/cjs/QueryBuilder/Rule/Value/TextValue/TextValue.cjs +1 -1
  126. package/dist/cjs/QueryBuilder/Rule/Value/Value.cjs +1 -1
  127. package/dist/cjs/QueryBuilder/RuleGroup/RuleGroup.cjs +1 -1
  128. package/dist/cjs/QueryBuilder/utils/index.cjs +1 -1
  129. package/dist/cjs/Radio/Radio.cjs +1 -1
  130. package/dist/cjs/RadioGroup/RadioGroup.cjs +1 -1
  131. package/dist/cjs/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.cjs +1 -1
  132. package/dist/cjs/ScrollTo/Horizontal/ScrollToHorizontal.cjs +1 -1
  133. package/dist/cjs/ScrollTo/Vertical/ScrollToVertical.cjs +1 -1
  134. package/dist/cjs/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.cjs +1 -1
  135. package/dist/cjs/ScrollTo/utils.cjs +2 -2
  136. package/dist/cjs/Section/Section.cjs +1 -1
  137. package/dist/cjs/Select/Option.cjs +1 -1
  138. package/dist/cjs/Select/OptionGroup.cjs +1 -1
  139. package/dist/cjs/Select/Select.cjs +3 -2
  140. package/dist/cjs/SelectionList/SelectionList.cjs +1 -1
  141. package/dist/cjs/SimpleGrid/SimpleGrid.cjs +1 -1
  142. package/dist/cjs/Skeleton/Skeleton.cjs +1 -1
  143. package/dist/cjs/Slider/Slider.cjs +3 -2
  144. package/dist/cjs/Slider/SliderInput/SliderInput.cjs +1 -1
  145. package/dist/cjs/Snackbar/Snackbar.cjs +1 -1
  146. package/dist/cjs/Snackbar/SnackbarContent/SnackbarContent.cjs +1 -1
  147. package/dist/cjs/SnackbarProvider/SnackbarProvider.cjs +1 -1
  148. package/dist/cjs/Stack/Stack.cjs +10 -11
  149. package/dist/cjs/Switch/Switch.cjs +1 -1
  150. package/dist/cjs/Tab/Tab.cjs +1 -1
  151. package/dist/cjs/Table/Table.cjs +1 -1
  152. package/dist/cjs/Table/TableBody/TableBody.cjs +1 -1
  153. package/dist/cjs/Table/TableCell/TableCell.cjs +1 -1
  154. package/dist/cjs/Table/TableContainer/TableContainer.cjs +1 -1
  155. package/dist/cjs/Table/TableHead/TableHead.cjs +1 -1
  156. package/dist/cjs/Table/TableHeader/TableHeader.cjs +1 -1
  157. package/dist/cjs/Table/TableRow/TableRow.cjs +1 -1
  158. package/dist/cjs/Table/hooks/useRowExpand.cjs +1 -1
  159. package/dist/cjs/Table/hooks/useRowSelection.cjs +7 -7
  160. package/dist/cjs/Table/renderers/DateColumnCell/DateColumnCell.cjs +1 -1
  161. package/dist/cjs/Table/renderers/DropdownColumnCell/DropdownColumnCell.cjs +1 -1
  162. package/dist/cjs/Table/renderers/ProgressColumnCell/ProgressColumnCell.cjs +1 -1
  163. package/dist/cjs/Table/renderers/SwitchColumnCell/SwitchColumnCell.cjs +1 -1
  164. package/dist/cjs/Table/renderers/renderers.cjs +1 -1
  165. package/dist/cjs/TableSection/TableSection.cjs +1 -1
  166. package/dist/cjs/TableSection/TableSection.styles.cjs +1 -1
  167. package/dist/cjs/Tabs/Tabs.cjs +1 -1
  168. package/dist/cjs/Tag/Tag.cjs +1 -1
  169. package/dist/cjs/TagsInput/TagsInput.cjs +2 -2
  170. package/dist/cjs/TextArea/TextArea.cjs +1 -1
  171. package/dist/cjs/TimeAgo/TimeAgo.cjs +1 -1
  172. package/dist/cjs/TimePicker/Placeholder.cjs +1 -1
  173. package/dist/cjs/TimePicker/TimePicker.cjs +1 -1
  174. package/dist/cjs/TimePicker/Unit/Unit.cjs +1 -1
  175. package/dist/cjs/ToggleButton/ToggleButton.cjs +1 -1
  176. package/dist/cjs/Tooltip/Tooltip.cjs +9 -5
  177. package/dist/cjs/TreeView/TreeItem/DefaultContent.cjs +1 -1
  178. package/dist/cjs/TreeView/TreeItem/TreeItem.cjs +1 -1
  179. package/dist/cjs/TreeView/TreeView.cjs +1 -1
  180. package/dist/cjs/TreeView/internals/DescendantProvider.cjs +2 -2
  181. package/dist/cjs/TreeView/internals/TreeViewProvider.cjs +1 -1
  182. package/dist/cjs/Typography/Typography.cjs +1 -1
  183. package/dist/cjs/VerticalNavigation/Actions/Action.cjs +13 -11
  184. package/dist/cjs/VerticalNavigation/Actions/Action.styles.cjs +4 -4
  185. package/dist/cjs/VerticalNavigation/Actions/Actions.cjs +9 -9
  186. package/dist/cjs/VerticalNavigation/Header/Header.cjs +46 -26
  187. package/dist/cjs/VerticalNavigation/Header/Header.styles.cjs +3 -1
  188. package/dist/cjs/VerticalNavigation/Navigation/Navigation.cjs +23 -29
  189. package/dist/cjs/VerticalNavigation/NavigationPopup/NavigationPopup.styles.cjs +0 -8
  190. package/dist/cjs/VerticalNavigation/NavigationPopup/NavigationPopupContainer.cjs +20 -6
  191. package/dist/cjs/VerticalNavigation/NavigationSlider/NavigationSlider.cjs +41 -30
  192. package/dist/cjs/VerticalNavigation/NavigationSlider/NavigationSlider.styles.cjs +6 -9
  193. package/dist/cjs/VerticalNavigation/TreeView/IconWrapper/IconWrapper.cjs +7 -18
  194. package/dist/cjs/VerticalNavigation/TreeView/TreeView.cjs +614 -631
  195. package/dist/cjs/VerticalNavigation/TreeView/TreeViewItem.cjs +39 -26
  196. package/dist/cjs/VerticalNavigation/TreeView/TreeViewItem.styles.cjs +25 -13
  197. package/dist/cjs/VerticalNavigation/VerticalNavigation.cjs +1 -1
  198. package/dist/cjs/hocs/withTooltip.cjs +1 -1
  199. package/dist/cjs/hooks/useEmotionCache.cjs +1 -1
  200. package/dist/cjs/hooks/useTheme.cjs +1 -1
  201. package/dist/cjs/providers/Provider.cjs +1 -1
  202. package/dist/cjs/providers/ThemeProvider.cjs +34 -41
  203. package/dist/cjs/utils/document.cjs +4 -0
  204. package/dist/cjs/utils/focusableElementFinder.cjs +1 -1
  205. package/dist/cjs/utils/iconVariant.cjs +1 -1
  206. package/dist/cjs/utils/theme.cjs +3 -3
  207. package/dist/esm/Accordion/Accordion.js +1 -1
  208. package/dist/esm/ActionBar/ActionBar.js +1 -1
  209. package/dist/esm/ActionsGeneric/ActionsGeneric.js +1 -1
  210. package/dist/esm/AppSwitcher/Action/Action.js +1 -1
  211. package/dist/esm/AppSwitcher/AppSwitcher.js +2 -2
  212. package/dist/esm/AppSwitcher/AppSwitcher.js.map +1 -1
  213. package/dist/esm/Avatar/Avatar.js +1 -1
  214. package/dist/esm/AvatarGroup/AvatarGroup.js +1 -1
  215. package/dist/esm/AvatarGroup/AvatarGroupContext.js +1 -1
  216. package/dist/esm/Badge/Badge.js +1 -1
  217. package/dist/esm/Banner/Banner.js +1 -1
  218. package/dist/esm/Banner/BannerContent/ActionContainer/ActionContainer.js +1 -1
  219. package/dist/esm/Banner/BannerContent/BannerContent.js +1 -1
  220. package/dist/esm/Banner/BannerContent/MessageContainer/MessageContainer.js +1 -1
  221. package/dist/esm/BaseCheckBox/BaseCheckBox.js +1 -1
  222. package/dist/esm/BaseCheckBox/icons.js +1 -1
  223. package/dist/esm/BaseDropdown/BaseDropdown.js +1 -1
  224. package/dist/esm/BaseInput/BaseInput.js +1 -1
  225. package/dist/esm/BaseRadio/BaseRadio.js +1 -1
  226. package/dist/esm/BaseRadio/icons.js +1 -1
  227. package/dist/esm/BaseSwitch/BaseSwitch.js +1 -1
  228. package/dist/esm/Box/Box.js +1 -1
  229. package/dist/esm/BreadCrumb/BreadCrumb.js +1 -1
  230. package/dist/esm/BreadCrumb/Page/Page.js +1 -1
  231. package/dist/esm/BreadCrumb/PathElement/PathElement.js +1 -1
  232. package/dist/esm/BreadCrumb/utils.js +1 -1
  233. package/dist/esm/BulkActions/BulkActions.js +1 -1
  234. package/dist/esm/BulkActions/BulkActions.styles.js +1 -1
  235. package/dist/esm/Button/Button.js +1 -1
  236. package/dist/esm/Calendar/Calendar.js +10 -4
  237. package/dist/esm/Calendar/Calendar.js.map +1 -1
  238. package/dist/esm/Calendar/CalendarHeader/CalendarHeader.js +1 -1
  239. package/dist/esm/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.js +1 -1
  240. package/dist/esm/Calendar/CalendarNavigation/MonthSelector/MonthSelector.js +1 -1
  241. package/dist/esm/Calendar/CalendarNavigation/Navigation/Navigation.js +1 -1
  242. package/dist/esm/Calendar/SingleCalendar/CalendarCell.js +2 -2
  243. package/dist/esm/Calendar/SingleCalendar/CalendarCell.js.map +1 -1
  244. package/dist/esm/Calendar/SingleCalendar/SingleCalendar.js +1 -1
  245. package/dist/esm/Card/Card.js +1 -1
  246. package/dist/esm/Card/Content/Content.js +1 -1
  247. package/dist/esm/Card/Header/Header.js +1 -1
  248. package/dist/esm/Card/Media/Media.js +1 -7
  249. package/dist/esm/Card/Media/Media.js.map +1 -1
  250. package/dist/esm/Carousel/Carousel.js +1 -1
  251. package/dist/esm/Carousel/CarouselControls.js +1 -1
  252. package/dist/esm/Carousel/CarouselSlide/CarouselSlide.js +1 -1
  253. package/dist/esm/Carousel/CarouselThumbnails.js +1 -1
  254. package/dist/esm/CheckBox/CheckBox.js +1 -1
  255. package/dist/esm/CheckBoxGroup/CheckBoxGroup.js +1 -1
  256. package/dist/esm/ColorPicker/ColorPicker.js +1 -1
  257. package/dist/esm/ColorPicker/Fields/Fields.js +1 -1
  258. package/dist/esm/ColorPicker/Picker/Picker.js +1 -1
  259. package/dist/esm/ColorPicker/PresetColors/PresetColors.js +1 -1
  260. package/dist/esm/ColorPicker/SavedColors/SavedColors.js +1 -1
  261. package/dist/esm/Container/Container.js +1 -1
  262. package/dist/esm/Controls/Controls.js +1 -1
  263. package/dist/esm/Controls/LeftControl/LeftControl.js +1 -1
  264. package/dist/esm/Controls/RightControl/RightControl.js +1 -1
  265. package/dist/esm/DatePicker/DatePicker.js +1 -1
  266. package/dist/esm/Dialog/Actions/Actions.js +1 -1
  267. package/dist/esm/Dialog/Content/Content.js +1 -1
  268. package/dist/esm/Dialog/Dialog.js +1 -1
  269. package/dist/esm/Dialog/Title/Title.js +1 -1
  270. package/dist/esm/DotPagination/DotPagination.js +1 -1
  271. package/dist/esm/Drawer/Drawer.js +1 -1
  272. package/dist/esm/DropDownMenu/DropDownMenu.js +1 -1
  273. package/dist/esm/Dropdown/Dropdown.js +1 -1
  274. package/dist/esm/Dropdown/List/List.js +1 -1
  275. package/dist/esm/DropdownButton/DropdownButton.js +1 -1
  276. package/dist/esm/EmptyState/EmptyState.js +1 -1
  277. package/dist/esm/FileUploader/DropZone/DropZone.js +1 -1
  278. package/dist/esm/FileUploader/File/File.js +1 -1
  279. package/dist/esm/FileUploader/FileList/FileList.js +1 -1
  280. package/dist/esm/FileUploader/FileUploader.js +1 -1
  281. package/dist/esm/FileUploader/Preview/Preview.js +1 -1
  282. package/dist/esm/FilterGroup/Counter/Counter.js +1 -1
  283. package/dist/esm/FilterGroup/FilterContent/FilterContent.js +1 -1
  284. package/dist/esm/FilterGroup/FilterGroup.js +1 -1
  285. package/dist/esm/FilterGroup/FilterGroupContext.js +1 -1
  286. package/dist/esm/FilterGroup/LeftPanel/LeftPanel.js +1 -1
  287. package/dist/esm/FilterGroup/RightPanel/RightPanel.js +1 -1
  288. package/dist/esm/Focus/Focus.js +2 -3
  289. package/dist/esm/Focus/Focus.js.map +1 -1
  290. package/dist/esm/Footer/Footer.js +1 -1
  291. package/dist/esm/Forms/Adornment/Adornment.js +1 -1
  292. package/dist/esm/Forms/CharCounter/CharCounter.js +1 -1
  293. package/dist/esm/Forms/FormElement/FormElement.js +1 -1
  294. package/dist/esm/Forms/InfoMessage/InfoMessage.js +1 -1
  295. package/dist/esm/Forms/Label/Label.js +1 -1
  296. package/dist/esm/Forms/Suggestions/Suggestions.js +1 -1
  297. package/dist/esm/Forms/WarningText/WarningText.js +1 -1
  298. package/dist/esm/GlobalActions/GlobalActions.js +1 -1
  299. package/dist/esm/Grid/Grid.js +5 -8
  300. package/dist/esm/Grid/Grid.js.map +1 -1
  301. package/dist/esm/Header/Actions/Actions.js +1 -1
  302. package/dist/esm/Header/Brand/Brand.js +1 -1
  303. package/dist/esm/Header/Header.js +1 -1
  304. package/dist/esm/Header/Navigation/MenuBar/Bar.js +1 -1
  305. package/dist/esm/Header/Navigation/MenuBar/MenuBar.js +1 -1
  306. package/dist/esm/Header/Navigation/MenuItem/MenuItem.js +2 -2
  307. package/dist/esm/Header/Navigation/MenuItem/MenuItem.js.map +1 -1
  308. package/dist/esm/Header/Navigation/Navigation.js +1 -1
  309. package/dist/esm/Header/Navigation/useSelectionPath.js +1 -1
  310. package/dist/esm/Header/Navigation/useSelectionPath.js.map +1 -1
  311. package/dist/esm/Header/Navigation/utils/FocusContext.js +1 -1
  312. package/dist/esm/IconButton/IconButton.js +1 -1
  313. package/dist/esm/InlineEditor/InlineEditor.js +1 -1
  314. package/dist/esm/Input/Input.js +1 -1
  315. package/dist/esm/Kpi/Kpi.js +1 -1
  316. package/dist/esm/Link/Link.js +1 -1
  317. package/dist/esm/Link/Link.js.map +1 -1
  318. package/dist/esm/List/List.js +1 -1
  319. package/dist/esm/List/utils.js +1 -1
  320. package/dist/esm/List/utils.js.map +1 -1
  321. package/dist/esm/ListContainer/ListContainer.js +1 -1
  322. package/dist/esm/ListContainer/ListItem/ListItem.js +1 -1
  323. package/dist/esm/Loading/Loading.js +1 -1
  324. package/dist/esm/LoadingContainer/LoadingContainer.js +1 -1
  325. package/dist/esm/Login/Login.js +1 -1
  326. package/dist/esm/MultiButton/MultiButton.js +1 -1
  327. package/dist/esm/OverflowTooltip/OverflowTooltip.js +1 -1
  328. package/dist/esm/Pagination/Pagination.js +1 -1
  329. package/dist/esm/Pagination/Select.js +1 -1
  330. package/dist/esm/Panel/Panel.js +1 -1
  331. package/dist/esm/ProgressBar/ProgressBar.js +1 -1
  332. package/dist/esm/QueryBuilder/ConfirmationDialog/ConfirmationDialog.js +1 -1
  333. package/dist/esm/QueryBuilder/Context.js +1 -1
  334. package/dist/esm/QueryBuilder/QueryBuilder.js +1 -1
  335. package/dist/esm/QueryBuilder/QueryBuilder.js.map +1 -1
  336. package/dist/esm/QueryBuilder/Rule/Attribute/Attribute.js +1 -1
  337. package/dist/esm/QueryBuilder/Rule/Operator/Operator.js +1 -1
  338. package/dist/esm/QueryBuilder/Rule/Rule.js +1 -1
  339. package/dist/esm/QueryBuilder/Rule/Value/BooleanValue/BooleanValue.js +1 -1
  340. package/dist/esm/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.js +1 -1
  341. package/dist/esm/QueryBuilder/Rule/Value/NumericValue/NumericValue.js +1 -1
  342. package/dist/esm/QueryBuilder/Rule/Value/TextValue/TextValue.js +1 -1
  343. package/dist/esm/QueryBuilder/Rule/Value/Value.js +1 -1
  344. package/dist/esm/QueryBuilder/RuleGroup/RuleGroup.js +1 -1
  345. package/dist/esm/QueryBuilder/utils/index.js +1 -1
  346. package/dist/esm/QueryBuilder/utils/index.js.map +1 -1
  347. package/dist/esm/Radio/Radio.js +1 -1
  348. package/dist/esm/RadioGroup/RadioGroup.js +1 -1
  349. package/dist/esm/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.js +1 -1
  350. package/dist/esm/ScrollTo/Horizontal/ScrollToHorizontal.js +1 -1
  351. package/dist/esm/ScrollTo/Vertical/ScrollToVertical.js +1 -1
  352. package/dist/esm/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.js +1 -1
  353. package/dist/esm/ScrollTo/useScrollTo.js.map +1 -1
  354. package/dist/esm/ScrollTo/utils.js +2 -2
  355. package/dist/esm/ScrollTo/utils.js.map +1 -1
  356. package/dist/esm/Section/Section.js +1 -1
  357. package/dist/esm/Select/Option.js +1 -1
  358. package/dist/esm/Select/OptionGroup.js +1 -1
  359. package/dist/esm/Select/Select.js +3 -2
  360. package/dist/esm/Select/Select.js.map +1 -1
  361. package/dist/esm/SelectionList/SelectionList.js +1 -1
  362. package/dist/esm/SimpleGrid/SimpleGrid.js +1 -1
  363. package/dist/esm/Skeleton/Skeleton.js +1 -1
  364. package/dist/esm/Slider/Slider.js +3 -2
  365. package/dist/esm/Slider/Slider.js.map +1 -1
  366. package/dist/esm/Slider/SliderInput/SliderInput.js +1 -1
  367. package/dist/esm/Slider/utils.js.map +1 -1
  368. package/dist/esm/Snackbar/Snackbar.js +1 -1
  369. package/dist/esm/Snackbar/SnackbarContent/SnackbarContent.js +1 -1
  370. package/dist/esm/SnackbarProvider/SnackbarProvider.js +1 -1
  371. package/dist/esm/Stack/Stack.js +10 -11
  372. package/dist/esm/Stack/Stack.js.map +1 -1
  373. package/dist/esm/Switch/Switch.js +1 -1
  374. package/dist/esm/Tab/Tab.js +1 -1
  375. package/dist/esm/Table/Table.js +1 -1
  376. package/dist/esm/Table/TableBody/TableBody.js +1 -1
  377. package/dist/esm/Table/TableCell/TableCell.js +1 -1
  378. package/dist/esm/Table/TableContainer/TableContainer.js +1 -1
  379. package/dist/esm/Table/TableHead/TableHead.js +1 -1
  380. package/dist/esm/Table/TableHeader/TableHeader.js +1 -1
  381. package/dist/esm/Table/TableRow/TableRow.js +1 -1
  382. package/dist/esm/Table/hooks/useRowExpand.js +1 -1
  383. package/dist/esm/Table/hooks/useRowSelection.js +7 -7
  384. package/dist/esm/Table/hooks/useRowSelection.js.map +1 -1
  385. package/dist/esm/Table/renderers/DateColumnCell/DateColumnCell.js +1 -1
  386. package/dist/esm/Table/renderers/DropdownColumnCell/DropdownColumnCell.js +1 -1
  387. package/dist/esm/Table/renderers/ProgressColumnCell/ProgressColumnCell.js +1 -1
  388. package/dist/esm/Table/renderers/SwitchColumnCell/SwitchColumnCell.js +1 -1
  389. package/dist/esm/Table/renderers/renderers.js +1 -1
  390. package/dist/esm/Table/renderers/renderers.js.map +1 -1
  391. package/dist/esm/TableSection/TableSection.js +1 -1
  392. package/dist/esm/TableSection/TableSection.styles.js +1 -1
  393. package/dist/esm/Tabs/Tabs.js +1 -1
  394. package/dist/esm/Tag/Tag.js +1 -1
  395. package/dist/esm/TagsInput/TagsInput.js +2 -2
  396. package/dist/esm/TagsInput/TagsInput.js.map +1 -1
  397. package/dist/esm/TextArea/TextArea.js +1 -1
  398. package/dist/esm/TimeAgo/TimeAgo.js +1 -1
  399. package/dist/esm/TimePicker/Placeholder.js +1 -1
  400. package/dist/esm/TimePicker/TimePicker.js +1 -1
  401. package/dist/esm/TimePicker/Unit/Unit.js +1 -1
  402. package/dist/esm/ToggleButton/ToggleButton.js +1 -1
  403. package/dist/esm/Tooltip/Tooltip.js +10 -6
  404. package/dist/esm/Tooltip/Tooltip.js.map +1 -1
  405. package/dist/esm/TreeView/TreeItem/DefaultContent.js +1 -1
  406. package/dist/esm/TreeView/TreeItem/TreeItem.js +1 -1
  407. package/dist/esm/TreeView/TreeView.js +1 -1
  408. package/dist/esm/TreeView/internals/DescendantProvider.js +2 -2
  409. package/dist/esm/TreeView/internals/DescendantProvider.js.map +1 -1
  410. package/dist/esm/TreeView/internals/TreeViewProvider.js +1 -1
  411. package/dist/esm/Typography/Typography.js +1 -1
  412. package/dist/esm/VerticalNavigation/Actions/Action.js +13 -11
  413. package/dist/esm/VerticalNavigation/Actions/Action.js.map +1 -1
  414. package/dist/esm/VerticalNavigation/Actions/Action.styles.js +4 -4
  415. package/dist/esm/VerticalNavigation/Actions/Action.styles.js.map +1 -1
  416. package/dist/esm/VerticalNavigation/Actions/Actions.js +9 -9
  417. package/dist/esm/VerticalNavigation/Actions/Actions.js.map +1 -1
  418. package/dist/esm/VerticalNavigation/Header/Header.js +46 -26
  419. package/dist/esm/VerticalNavigation/Header/Header.js.map +1 -1
  420. package/dist/esm/VerticalNavigation/Header/Header.styles.js +3 -1
  421. package/dist/esm/VerticalNavigation/Header/Header.styles.js.map +1 -1
  422. package/dist/esm/VerticalNavigation/Navigation/Navigation.js +23 -29
  423. package/dist/esm/VerticalNavigation/Navigation/Navigation.js.map +1 -1
  424. package/dist/esm/VerticalNavigation/NavigationPopup/NavigationPopup.styles.js +0 -6
  425. package/dist/esm/VerticalNavigation/NavigationPopup/NavigationPopup.styles.js.map +1 -1
  426. package/dist/esm/VerticalNavigation/NavigationPopup/NavigationPopupContainer.js +21 -7
  427. package/dist/esm/VerticalNavigation/NavigationPopup/NavigationPopupContainer.js.map +1 -1
  428. package/dist/esm/VerticalNavigation/NavigationSlider/NavigationSlider.js +41 -30
  429. package/dist/esm/VerticalNavigation/NavigationSlider/NavigationSlider.js.map +1 -1
  430. package/dist/esm/VerticalNavigation/NavigationSlider/NavigationSlider.styles.js +6 -9
  431. package/dist/esm/VerticalNavigation/NavigationSlider/NavigationSlider.styles.js.map +1 -1
  432. package/dist/esm/VerticalNavigation/TreeView/IconWrapper/IconWrapper.js +7 -18
  433. package/dist/esm/VerticalNavigation/TreeView/IconWrapper/IconWrapper.js.map +1 -1
  434. package/dist/esm/VerticalNavigation/TreeView/TreeView.js +614 -631
  435. package/dist/esm/VerticalNavigation/TreeView/TreeView.js.map +1 -1
  436. package/dist/esm/VerticalNavigation/TreeView/TreeView.styles.js.map +1 -1
  437. package/dist/esm/VerticalNavigation/TreeView/TreeViewItem.js +39 -26
  438. package/dist/esm/VerticalNavigation/TreeView/TreeViewItem.js.map +1 -1
  439. package/dist/esm/VerticalNavigation/TreeView/TreeViewItem.styles.js +25 -13
  440. package/dist/esm/VerticalNavigation/TreeView/TreeViewItem.styles.js.map +1 -1
  441. package/dist/esm/VerticalNavigation/VerticalNavigation.js +1 -1
  442. package/dist/esm/VerticalNavigation/VerticalNavigation.js.map +1 -1
  443. package/dist/esm/hocs/withTooltip.js +1 -1
  444. package/dist/esm/hooks/useEmotionCache.js +1 -1
  445. package/dist/esm/hooks/useTheme.js +1 -1
  446. package/dist/esm/providers/Provider.js +1 -1
  447. package/dist/esm/providers/Provider.js.map +1 -1
  448. package/dist/esm/providers/ThemeProvider.js +34 -41
  449. package/dist/esm/providers/ThemeProvider.js.map +1 -1
  450. package/dist/esm/types/generic.js.map +1 -1
  451. package/dist/esm/utils/document.js +4 -0
  452. package/dist/esm/utils/document.js.map +1 -1
  453. package/dist/esm/utils/focusableElementFinder.js +1 -1
  454. package/dist/esm/utils/focusableElementFinder.js.map +1 -1
  455. package/dist/esm/utils/iconVariant.js +1 -1
  456. package/dist/esm/utils/theme.js +2 -2
  457. package/dist/esm/utils/theme.js.map +1 -1
  458. package/dist/types/index.d.ts +83 -232
  459. package/package.json +5 -5
  460. package/dist/cjs/VerticalNavigation/TreeView/IconWrapper/IconWrapper.styles.cjs +0 -20
  461. package/dist/esm/VerticalNavigation/TreeView/IconWrapper/IconWrapper.styles.js +0 -18
  462. package/dist/esm/VerticalNavigation/TreeView/IconWrapper/IconWrapper.styles.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { jsx } from "@emotion/react/jsx-runtime";
1
+ import { jsx } from "react/jsx-runtime";
2
2
  import * as React from "react";
3
3
  import { unstable_useEnhancedEffect } from "@mui/material/utils";
4
4
  function binaryFindElement(array, element) {
@@ -47,7 +47,7 @@ function useDescendant(descendant) {
47
47
  const previousDescendants = usePrevious(descendants);
48
48
  const someDescendantsHaveChanged = descendants.some(
49
49
  (newDescendant, position) => {
50
- return previousDescendants && previousDescendants[position] && previousDescendants[position].element !== newDescendant.element;
50
+ return previousDescendants?.[position] && previousDescendants[position].element !== newDescendant.element;
51
51
  }
52
52
  );
53
53
  unstable_useEnhancedEffect(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"DescendantProvider.js","sources":["../../../../src/TreeView/internals/DescendantProvider.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { unstable_useEnhancedEffect as useEnhancedEffect } from \"@mui/material/utils\";\n\n/** Credit: https://github.com/reach/reach-ui/blob/86a046f54d53b6420e392b3fa56dd991d9d4e458/packages/descendants/README.md\n * Modified slightly to suit our purposes.\n */\n\nfunction binaryFindElement(\n array: TreeItemDescendant[],\n element: HTMLLIElement,\n) {\n let start = 0;\n let end = array.length - 1;\n\n while (start <= end) {\n const middle = Math.floor((start + end) / 2);\n\n if (array[middle].element === element) {\n return middle;\n }\n\n if (\n // eslint-disable-next-line no-bitwise\n array[middle].element.compareDocumentPosition(element) &\n Node.DOCUMENT_POSITION_PRECEDING\n ) {\n end = middle - 1;\n } else {\n start = middle + 1;\n }\n }\n\n return start;\n}\n\nexport interface TreeItemDescendant {\n element: HTMLLIElement;\n id: string;\n}\n\ninterface DescendantContextValue {\n registerDescendant?: (params: TreeItemDescendant & { index: number }) => void;\n unregisterDescendant?: (params: HTMLLIElement) => void;\n descendants?: TreeItemDescendant[];\n parentId?: string | null;\n level?: number;\n}\n\nexport const DescendantContext = React.createContext<DescendantContextValue>({\n level: 0,\n});\n\nfunction usePrevious<T>(value: T) {\n const ref = React.useRef<T | null>(null);\n React.useEffect(() => {\n ref.current = value;\n }, [value]);\n return ref.current;\n}\n\nconst noop = () => {};\n\n/**\n * This hook registers our descendant by passing it into an array. We can then\n * search that array by to find its index when registering it in the component.\n * We use this for focus management, keyboard navigation, and typeahead\n * functionality for some components.\n *\n * The hook accepts the element node\n *\n * Our main goals with this are:\n * 1) maximum composability,\n * 2) minimal API friction\n * 3) SSR compatibility*\n * 4) concurrent safe\n * 5) index always up-to-date with the tree despite changes\n * 6) works with memoization of any component in the tree (hopefully)\n *\n * * As for SSR, the good news is that we don't actually need the index on the\n * server for most use-cases, as we are only using it to determine the order of\n * composed descendants for keyboard navigation.\n */\nexport function useDescendant(descendant: TreeItemDescendant) {\n const [, forceUpdate] = React.useState<{}>();\n const {\n registerDescendant = noop,\n unregisterDescendant = noop,\n descendants = [],\n parentId = null,\n level = 0,\n } = React.useContext(DescendantContext);\n\n // This will initially return -1 because we haven't registered the descendant\n // on the first render. After we register, this will then return the correct\n // index on the following render, and we will re-register descendants\n // so that everything is up-to-date before the user interacts with a\n // collection.\n const index = descendants.findIndex(\n (item) => item.element === descendant.element,\n );\n\n const previousDescendants = usePrevious(descendants);\n\n // We also need to re-register descendants any time ANY of the other\n // descendants have changed. My brain was melting when I wrote this and it\n // feels a little off, but checking in render and using the result in the\n // effect's dependency array works well enough.\n const someDescendantsHaveChanged = descendants.some(\n (newDescendant, position) => {\n return (\n previousDescendants &&\n previousDescendants[position] &&\n previousDescendants[position].element !== newDescendant.element\n );\n },\n );\n\n // Prevent any flashing\n useEnhancedEffect(() => {\n if (descendant.element) {\n registerDescendant({\n ...descendant,\n index,\n });\n return () => {\n unregisterDescendant(descendant.element!);\n };\n }\n forceUpdate({});\n\n return undefined;\n }, [\n registerDescendant,\n unregisterDescendant,\n index,\n someDescendantsHaveChanged,\n descendant,\n ]);\n\n return { parentId, index, level };\n}\n\ninterface DescendantProviderProps {\n id?: string;\n level?: number;\n children: React.ReactNode;\n}\n\nexport const DescendantProvider = (props: DescendantProviderProps) => {\n const { children, id, level } = props;\n\n const [items, set] = React.useState<\n (TreeItemDescendant & { index: number })[]\n >([]);\n\n const registerDescendant = React.useCallback(\n ({ element, ...other }: TreeItemDescendant) => {\n set((oldItems) => {\n if (oldItems.length === 0) {\n // If there are no items, register at index 0 and bail.\n return [\n {\n ...other,\n element,\n index: 0,\n },\n ];\n }\n\n const index = binaryFindElement(oldItems, element);\n let newItems: typeof oldItems;\n\n if (oldItems[index] && oldItems[index].element === element) {\n // If the element is already registered, just use the same array\n newItems = oldItems;\n } else {\n // When registering a descendant, we need to make sure we insert in\n // into the array in the same order that it appears in the DOM. So as\n // new descendants are added or maybe some are removed, we always know\n // that the array is up-to-date and correct.\n //\n // So here we look at our registered descendants and see if the new\n // element we are adding appears earlier than an existing descendant's\n // DOM node via `node.compareDocumentPosition`. If it does, we insert\n // the new element at this index. Because `registerDescendant` will be\n // called in an effect every time the descendants state value changes,\n // we should be sure that this index is accurate when descendent\n // elements come or go from our component.\n\n const newItem = {\n ...other,\n element,\n index,\n };\n\n // If an index is not found we will push the element to the end.\n newItems = oldItems.slice();\n newItems.splice(index, 0, newItem);\n }\n newItems.forEach((item, position) => {\n item.index = position;\n });\n return newItems;\n });\n },\n [],\n );\n\n const unregisterDescendant = React.useCallback((element: HTMLLIElement) => {\n set((oldItems) => oldItems.filter((item) => element !== item.element));\n }, []);\n\n const value = React.useMemo(\n () => ({\n descendants: items,\n registerDescendant,\n unregisterDescendant,\n parentId: id,\n level,\n }),\n [items, registerDescendant, unregisterDescendant, id, level],\n );\n\n return (\n <DescendantContext.Provider value={value}>\n {children}\n </DescendantContext.Provider>\n );\n};\n"],"names":["useEnhancedEffect"],"mappings":"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"}
1
+ {"version":3,"file":"DescendantProvider.js","sources":["../../../../src/TreeView/internals/DescendantProvider.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { unstable_useEnhancedEffect as useEnhancedEffect } from \"@mui/material/utils\";\n\n/** Credit: https://github.com/reach/reach-ui/blob/86a046f54d53b6420e392b3fa56dd991d9d4e458/packages/descendants/README.md\n * Modified slightly to suit our purposes.\n */\n\nfunction binaryFindElement(\n array: TreeItemDescendant[],\n element: HTMLLIElement,\n) {\n let start = 0;\n let end = array.length - 1;\n\n while (start <= end) {\n const middle = Math.floor((start + end) / 2);\n\n if (array[middle].element === element) {\n return middle;\n }\n\n if (\n // eslint-disable-next-line no-bitwise\n array[middle].element.compareDocumentPosition(element) &\n Node.DOCUMENT_POSITION_PRECEDING\n ) {\n end = middle - 1;\n } else {\n start = middle + 1;\n }\n }\n\n return start;\n}\n\nexport interface TreeItemDescendant {\n element: HTMLLIElement;\n id: string;\n}\n\ninterface DescendantContextValue {\n registerDescendant?: (params: TreeItemDescendant & { index: number }) => void;\n unregisterDescendant?: (params: HTMLLIElement) => void;\n descendants?: TreeItemDescendant[];\n parentId?: string | null;\n level?: number;\n}\n\nexport const DescendantContext = React.createContext<DescendantContextValue>({\n level: 0,\n});\n\nfunction usePrevious<T>(value: T) {\n const ref = React.useRef<T | null>(null);\n React.useEffect(() => {\n ref.current = value;\n }, [value]);\n return ref.current;\n}\n\nconst noop = () => {};\n\n/**\n * This hook registers our descendant by passing it into an array. We can then\n * search that array by to find its index when registering it in the component.\n * We use this for focus management, keyboard navigation, and typeahead\n * functionality for some components.\n *\n * The hook accepts the element node\n *\n * Our main goals with this are:\n * 1) maximum composability,\n * 2) minimal API friction\n * 3) SSR compatibility*\n * 4) concurrent safe\n * 5) index always up-to-date with the tree despite changes\n * 6) works with memoization of any component in the tree (hopefully)\n *\n * * As for SSR, the good news is that we don't actually need the index on the\n * server for most use-cases, as we are only using it to determine the order of\n * composed descendants for keyboard navigation.\n */\nexport function useDescendant(descendant: TreeItemDescendant) {\n const [, forceUpdate] = React.useState<{}>();\n const {\n registerDescendant = noop,\n unregisterDescendant = noop,\n descendants = [],\n parentId = null,\n level = 0,\n } = React.useContext(DescendantContext);\n\n // This will initially return -1 because we haven't registered the descendant\n // on the first render. After we register, this will then return the correct\n // index on the following render, and we will re-register descendants\n // so that everything is up-to-date before the user interacts with a\n // collection.\n const index = descendants.findIndex(\n (item) => item.element === descendant.element,\n );\n\n const previousDescendants = usePrevious(descendants);\n\n // We also need to re-register descendants any time ANY of the other\n // descendants have changed. My brain was melting when I wrote this and it\n // feels a little off, but checking in render and using the result in the\n // effect's dependency array works well enough.\n const someDescendantsHaveChanged = descendants.some(\n (newDescendant, position) => {\n return (\n previousDescendants?.[position] &&\n previousDescendants[position].element !== newDescendant.element\n );\n },\n );\n\n // Prevent any flashing\n useEnhancedEffect(() => {\n if (descendant.element) {\n registerDescendant({\n ...descendant,\n index,\n });\n return () => {\n unregisterDescendant(descendant.element!);\n };\n }\n forceUpdate({});\n\n return undefined;\n }, [\n registerDescendant,\n unregisterDescendant,\n index,\n someDescendantsHaveChanged,\n descendant,\n ]);\n\n return { parentId, index, level };\n}\n\ninterface DescendantProviderProps {\n id?: string;\n level?: number;\n children: React.ReactNode;\n}\n\nexport const DescendantProvider = (props: DescendantProviderProps) => {\n const { children, id, level } = props;\n\n const [items, set] = React.useState<\n (TreeItemDescendant & { index: number })[]\n >([]);\n\n const registerDescendant = React.useCallback(\n ({ element, ...other }: TreeItemDescendant) => {\n set((oldItems) => {\n if (oldItems.length === 0) {\n // If there are no items, register at index 0 and bail.\n return [\n {\n ...other,\n element,\n index: 0,\n },\n ];\n }\n\n const index = binaryFindElement(oldItems, element);\n let newItems: typeof oldItems;\n\n if (oldItems[index] && oldItems[index].element === element) {\n // If the element is already registered, just use the same array\n newItems = oldItems;\n } else {\n // When registering a descendant, we need to make sure we insert in\n // into the array in the same order that it appears in the DOM. So as\n // new descendants are added or maybe some are removed, we always know\n // that the array is up-to-date and correct.\n //\n // So here we look at our registered descendants and see if the new\n // element we are adding appears earlier than an existing descendant's\n // DOM node via `node.compareDocumentPosition`. If it does, we insert\n // the new element at this index. Because `registerDescendant` will be\n // called in an effect every time the descendants state value changes,\n // we should be sure that this index is accurate when descendent\n // elements come or go from our component.\n\n const newItem = {\n ...other,\n element,\n index,\n };\n\n // If an index is not found we will push the element to the end.\n newItems = oldItems.slice();\n newItems.splice(index, 0, newItem);\n }\n newItems.forEach((item, position) => {\n item.index = position;\n });\n return newItems;\n });\n },\n [],\n );\n\n const unregisterDescendant = React.useCallback((element: HTMLLIElement) => {\n set((oldItems) => oldItems.filter((item) => element !== item.element));\n }, []);\n\n const value = React.useMemo(\n () => ({\n descendants: items,\n registerDescendant,\n unregisterDescendant,\n parentId: id,\n level,\n }),\n [items, registerDescendant, unregisterDescendant, id, level],\n );\n\n return (\n <DescendantContext.Provider value={value}>\n {children}\n </DescendantContext.Provider>\n );\n};\n"],"names":["useEnhancedEffect"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { jsx } from "@emotion/react/jsx-runtime";
1
+ import { jsx } from "react/jsx-runtime";
2
2
  import { createContext, useContext } from "react";
3
3
  import { DescendantProvider } from "./DescendantProvider.js";
4
4
  const DEFAULT_TREE_VIEW_CONTEXT_VALUE = {
@@ -1,4 +1,4 @@
1
- import { jsx } from "@emotion/react/jsx-runtime";
1
+ import { jsx } from "react/jsx-runtime";
2
2
  import { useDefaultProps } from "../hooks/useDefaultProps.js";
3
3
  import { useTheme } from "../hooks/useTheme.js";
4
4
  import { fixedForwardRef } from "../types/generic.js";
@@ -1,25 +1,27 @@
1
- import { jsxs } from "@emotion/react/jsx-runtime";
1
+ import { jsxs } from "react/jsx-runtime";
2
2
  import { useContext, useCallback } from "react";
3
+ import { useDefaultProps } from "../../hooks/useDefaultProps.js";
3
4
  import { isKey } from "../../utils/keyboardUtils.js";
4
5
  import { setId } from "../../utils/setId.js";
5
6
  import { VerticalNavigationContext } from "../VerticalNavigationContext.js";
6
7
  import { useClasses } from "./Action.styles.js";
7
8
  import { staticClasses } from "./Action.styles.js";
8
9
  import { HvTypography } from "../../Typography/Typography.js";
9
- const HvVerticalNavigationAction = ({
10
- className,
11
- classes: classesProp,
12
- id,
13
- label = "",
14
- icon,
15
- onClick,
16
- ...others
17
- }) => {
10
+ const HvVerticalNavigationAction = (props) => {
11
+ const {
12
+ className,
13
+ classes: classesProp,
14
+ id,
15
+ label = "",
16
+ icon,
17
+ onClick,
18
+ ...others
19
+ } = useDefaultProps("HvVerticalNavigationAction", props);
18
20
  const { isOpen } = useContext(VerticalNavigationContext);
19
21
  const { classes, cx } = useClasses(classesProp);
20
22
  const handleKeyDown = useCallback(
21
23
  (event) => {
22
- if (onClick == null || !isKey(event, "Enter") && !isKey(event, "Space")) {
24
+ if (!onClick || !isKey(event, "Enter") && !isKey(event, "Space")) {
23
25
  return;
24
26
  }
25
27
  onClick(event);
@@ -1 +1 @@
1
- {"version":3,"file":"Action.js","sources":["../../../../src/VerticalNavigation/Actions/Action.tsx"],"sourcesContent":["import { useCallback, useContext } from \"react\";\n\nimport { HvTypography } from \"../../Typography\";\nimport { ExtractNames } from \"../../utils/classes\";\nimport { isKey } from \"../../utils/keyboardUtils\";\nimport { setId } from \"../../utils/setId\";\nimport { VerticalNavigationContext } from \"../VerticalNavigationContext\";\nimport { staticClasses, useClasses } from \"./Action.styles\";\n\nexport { staticClasses as actionClasses };\n\nexport type HvVerticalNavigationActionClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvVerticalNavigationActionProps {\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?: HvVerticalNavigationActionClasses;\n /**\n * Id to be applied to the action.\n */\n id?: string;\n /**\n * Visual label.\n */\n label?: string;\n /**\n * Icon.\n */\n icon?: React.ReactNode;\n /**\n * Callback called when clicked.\n */\n onClick?: React.MouseEventHandler<HTMLElement>;\n}\n\nexport const HvVerticalNavigationAction = ({\n className,\n classes: classesProp,\n id,\n label = \"\",\n icon,\n onClick,\n ...others\n}: HvVerticalNavigationActionProps) => {\n const { isOpen } = useContext(VerticalNavigationContext);\n\n const { classes, cx } = useClasses(classesProp);\n\n const handleKeyDown = useCallback(\n (event) => {\n if (\n onClick == null ||\n (!isKey(event, \"Enter\") && !isKey(event, \"Space\"))\n ) {\n return;\n }\n\n onClick(event);\n },\n [onClick],\n );\n\n return (\n <HvTypography\n id={setId(id, \"button\")}\n component=\"div\"\n role=\"button\"\n className={cx(\n classes.action,\n {\n [classes.noIcon]: !icon,\n [classes.minimized]: !isOpen,\n },\n className,\n )}\n tabIndex={0}\n {...(!isOpen && { \"aria-label\": label })}\n onKeyDown={handleKeyDown}\n onClick={onClick}\n {...others}\n >\n {icon}\n {isOpen && label}\n </HvTypography>\n );\n};\n"],"names":[],"mappings":";;;;;;;;AAwCO,MAAM,6BAA6B,CAAC;AAAA,EACzC;AAAA,EACA,SAAS;AAAA,EACT;AAAA,EACA,QAAQ;AAAA,EACR;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAuC;AACrC,QAAM,EAAE,OAAA,IAAW,WAAW,yBAAyB;AAEvD,QAAM,EAAE,SAAS,GAAG,IAAI,WAAW,WAAW;AAE9C,QAAM,gBAAgB;AAAA,IACpB,CAAC,UAAU;AAEP,UAAA,WAAW,QACV,CAAC,MAAM,OAAO,OAAO,KAAK,CAAC,MAAM,OAAO,OAAO,GAChD;AACA;AAAA,MACF;AAEA,cAAQ,KAAK;AAAA,IACf;AAAA,IACA,CAAC,OAAO;AAAA,EAAA;AAIR,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,IAAI,MAAM,IAAI,QAAQ;AAAA,MACtB,WAAU;AAAA,MACV,MAAK;AAAA,MACL,WAAW;AAAA,QACT,QAAQ;AAAA,QACR;AAAA,UACE,CAAC,QAAQ,MAAM,GAAG,CAAC;AAAA,UACnB,CAAC,QAAQ,SAAS,GAAG,CAAC;AAAA,QACxB;AAAA,QACA;AAAA,MACF;AAAA,MACA,UAAU;AAAA,MACT,GAAI,CAAC,UAAU,EAAE,cAAc,MAAM;AAAA,MACtC,WAAW;AAAA,MACX;AAAA,MACC,GAAG;AAAA,MAEH,UAAA;AAAA,QAAA;AAAA,QACA,UAAU;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGjB;"}
1
+ {"version":3,"file":"Action.js","sources":["../../../../src/VerticalNavigation/Actions/Action.tsx"],"sourcesContent":["import { useCallback, useContext } from \"react\";\n\nimport { useDefaultProps } from \"../../hooks/useDefaultProps\";\nimport { HvTypography, HvTypographyProps } from \"../../Typography\";\nimport { ExtractNames } from \"../../utils/classes\";\nimport { isKey } from \"../../utils/keyboardUtils\";\nimport { setId } from \"../../utils/setId\";\nimport { VerticalNavigationContext } from \"../VerticalNavigationContext\";\nimport { staticClasses, useClasses } from \"./Action.styles\";\n\nexport { staticClasses as actionClasses };\n\nexport type HvVerticalNavigationActionClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvVerticalNavigationActionProps\n extends Omit<HvTypographyProps, \"classes\" | \"onClick\"> {\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvVerticalNavigationActionClasses;\n /** Visual label. */\n label?: string;\n /** Icon. */\n icon?: React.ReactNode;\n /** Callback called when clicked. */\n onClick?: (\n event:\n | React.KeyboardEvent<HTMLDivElement>\n | React.MouseEvent<HTMLDivElement>,\n ) => void;\n}\n\nexport const HvVerticalNavigationAction = (\n props: HvVerticalNavigationActionProps,\n) => {\n const {\n className,\n classes: classesProp,\n id,\n label = \"\",\n icon,\n onClick,\n ...others\n } = useDefaultProps(\"HvVerticalNavigationAction\", props);\n\n const { isOpen } = useContext(VerticalNavigationContext);\n\n const { classes, cx } = useClasses(classesProp);\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (!onClick || (!isKey(event, \"Enter\") && !isKey(event, \"Space\"))) {\n return;\n }\n onClick(event);\n },\n [onClick],\n );\n\n return (\n <HvTypography\n id={setId(id, \"button\")}\n component=\"div\"\n role=\"button\"\n className={cx(\n classes.action,\n {\n [classes.noIcon]: !icon,\n [classes.minimized]: !isOpen,\n },\n className,\n )}\n tabIndex={0}\n {...(!isOpen && { \"aria-label\": label })}\n onKeyDown={handleKeyDown}\n onClick={onClick}\n {...others}\n >\n {icon}\n {isOpen && label}\n </HvTypography>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;AA8Ba,MAAA,6BAA6B,CACxC,UACG;AACG,QAAA;AAAA,IACJ;AAAA,IACA,SAAS;AAAA,IACT;AAAA,IACA,QAAQ;AAAA,IACR;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EAAA,IACD,gBAAgB,8BAA8B,KAAK;AAEvD,QAAM,EAAE,OAAA,IAAW,WAAW,yBAAyB;AAEvD,QAAM,EAAE,SAAS,GAAG,IAAI,WAAW,WAAW;AAE9C,QAAM,gBAAgB;AAAA,IACpB,CAAC,UAA+C;AAC1C,UAAA,CAAC,WAAY,CAAC,MAAM,OAAO,OAAO,KAAK,CAAC,MAAM,OAAO,OAAO,GAAI;AAClE;AAAA,MACF;AACA,cAAQ,KAAK;AAAA,IACf;AAAA,IACA,CAAC,OAAO;AAAA,EAAA;AAIR,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,IAAI,MAAM,IAAI,QAAQ;AAAA,MACtB,WAAU;AAAA,MACV,MAAK;AAAA,MACL,WAAW;AAAA,QACT,QAAQ;AAAA,QACR;AAAA,UACE,CAAC,QAAQ,MAAM,GAAG,CAAC;AAAA,UACnB,CAAC,QAAQ,SAAS,GAAG,CAAC;AAAA,QACxB;AAAA,QACA;AAAA,MACF;AAAA,MACA,UAAU;AAAA,MACT,GAAI,CAAC,UAAU,EAAE,cAAc,MAAM;AAAA,MACtC,WAAW;AAAA,MACX;AAAA,MACC,GAAG;AAAA,MAEH,UAAA;AAAA,QAAA;AAAA,QACA,UAAU;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGjB;"}
@@ -1,9 +1,9 @@
1
1
  import { theme } from "@hitachivantara/uikit-styles";
2
2
  import { createClasses } from "../../utils/classes.js";
3
3
  import { outlineStyles } from "../../utils/focusUtils.js";
4
- const hover = () => ({
4
+ const hover = {
5
5
  background: theme.colors.containerBackgroundHover
6
- });
6
+ };
7
7
  const { staticClasses, useClasses } = createClasses(
8
8
  "HvVerticalNavigationAction",
9
9
  {
@@ -15,10 +15,10 @@ const { staticClasses, useClasses } = createClasses(
15
15
  height: "32px",
16
16
  color: theme.colors.secondary,
17
17
  // hover
18
- "&:hover": hover(),
18
+ "&:hover": { ...hover },
19
19
  "&:focus": {
20
20
  outline: "none",
21
- ...hover()
21
+ ...hover
22
22
  },
23
23
  "&:focus-visible": {
24
24
  ...outlineStyles
@@ -1 +1 @@
1
- {"version":3,"file":"Action.styles.js","sources":["../../../../src/VerticalNavigation/Actions/Action.styles.tsx"],"sourcesContent":["import { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { createClasses } from \"../../utils/classes\";\nimport { outlineStyles } from \"../../utils/focusUtils\";\n\nconst hover = () => ({\n background: theme.colors.containerBackgroundHover,\n});\n\nexport const { staticClasses, useClasses } = createClasses(\n \"HvVerticalNavigationAction\",\n {\n action: {\n width: \"100%\",\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n height: \"32px\",\n color: theme.colors.secondary,\n\n // hover\n \"&:hover\": hover(),\n\n \"&:focus\": {\n outline: \"none\",\n ...hover(),\n },\n\n \"&:focus-visible\": {\n ...outlineStyles,\n },\n\n // cursor\n cursor: \"pointer\",\n \"& *\": {\n cursor: \"pointer\",\n },\n },\n noIcon: {\n paddingLeft: theme.space.xs,\n },\n minimized: {\n justifyContent: \"center\",\n paddingRight: 0,\n },\n },\n);\n"],"names":[],"mappings":";;;AAKA,MAAM,QAAQ,OAAO;AAAA,EACnB,YAAY,MAAM,OAAO;AAC3B;AAEa,MAAA,EAAE,eAAe,WAAA,IAAe;AAAA,EAC3C;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,MACN,OAAO;AAAA,MACP,SAAS;AAAA,MACT,gBAAgB;AAAA,MAChB,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,OAAO,MAAM,OAAO;AAAA;AAAA,MAGpB,WAAW,MAAM;AAAA,MAEjB,WAAW;AAAA,QACT,SAAS;AAAA,QACT,GAAG,MAAM;AAAA,MACX;AAAA,MAEA,mBAAmB;AAAA,QACjB,GAAG;AAAA,MACL;AAAA;AAAA,MAGA,QAAQ;AAAA,MACR,OAAO;AAAA,QACL,QAAQ;AAAA,MACV;AAAA,IACF;AAAA,IACA,QAAQ;AAAA,MACN,aAAa,MAAM,MAAM;AAAA,IAC3B;AAAA,IACA,WAAW;AAAA,MACT,gBAAgB;AAAA,MAChB,cAAc;AAAA,IAChB;AAAA,EACF;AACF;"}
1
+ {"version":3,"file":"Action.styles.js","sources":["../../../../src/VerticalNavigation/Actions/Action.styles.tsx"],"sourcesContent":["import { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { createClasses } from \"../../utils/classes\";\nimport { outlineStyles } from \"../../utils/focusUtils\";\n\nconst hover = {\n background: theme.colors.containerBackgroundHover,\n};\n\nexport const { staticClasses, useClasses } = createClasses(\n \"HvVerticalNavigationAction\",\n {\n action: {\n width: \"100%\",\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n height: \"32px\",\n color: theme.colors.secondary,\n\n // hover\n \"&:hover\": { ...hover },\n \"&:focus\": {\n outline: \"none\",\n ...hover,\n },\n\n \"&:focus-visible\": {\n ...outlineStyles,\n },\n\n // cursor\n cursor: \"pointer\",\n \"& *\": {\n cursor: \"pointer\",\n },\n },\n noIcon: {\n paddingLeft: theme.space.xs,\n },\n minimized: {\n justifyContent: \"center\",\n paddingRight: 0,\n },\n },\n);\n"],"names":[],"mappings":";;;AAKA,MAAM,QAAQ;AAAA,EACZ,YAAY,MAAM,OAAO;AAC3B;AAEa,MAAA,EAAE,eAAe,WAAA,IAAe;AAAA,EAC3C;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,MACN,OAAO;AAAA,MACP,SAAS;AAAA,MACT,gBAAgB;AAAA,MAChB,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,OAAO,MAAM,OAAO;AAAA;AAAA,MAGpB,WAAW,EAAE,GAAG,MAAM;AAAA,MACtB,WAAW;AAAA,QACT,SAAS;AAAA,QACT,GAAG;AAAA,MACL;AAAA,MAEA,mBAAmB;AAAA,QACjB,GAAG;AAAA,MACL;AAAA;AAAA,MAGA,QAAQ;AAAA,MACR,OAAO;AAAA,QACL,QAAQ;AAAA,MACV;AAAA,IACF;AAAA,IACA,QAAQ;AAAA,MACN,aAAa,MAAM,MAAM;AAAA,IAC3B;AAAA,IACA,WAAW;AAAA,MACT,gBAAgB;AAAA,MAChB,cAAc;AAAA,IAChB;AAAA,EACF;AACF;"}
@@ -1,21 +1,21 @@
1
- import { jsx } from "@emotion/react/jsx-runtime";
1
+ import { jsx } from "react/jsx-runtime";
2
2
  import { useContext } from "react";
3
+ import { useDefaultProps } from "../../hooks/useDefaultProps.js";
3
4
  import { VerticalNavigationContext } from "../VerticalNavigationContext.js";
4
5
  import { useClasses } from "./Actions.styles.js";
5
6
  import { staticClasses } from "./Actions.styles.js";
6
- const HvVerticalNavigationActions = ({
7
- className,
8
- classes: classesProp,
9
- id,
10
- children,
11
- ...others
12
- }) => {
7
+ const HvVerticalNavigationActions = (props) => {
8
+ const {
9
+ className,
10
+ classes: classesProp,
11
+ children,
12
+ ...others
13
+ } = useDefaultProps("HvVerticalNavigationActions", props);
13
14
  const { classes, cx } = useClasses(classesProp);
14
15
  const { isOpen, useIcons } = useContext(VerticalNavigationContext);
15
16
  return /* @__PURE__ */ jsx(
16
17
  "div",
17
18
  {
18
- id,
19
19
  className: cx(
20
20
  classes.root,
21
21
  {
@@ -1 +1 @@
1
- {"version":3,"file":"Actions.js","sources":["../../../../src/VerticalNavigation/Actions/Actions.tsx"],"sourcesContent":["import { useContext } from \"react\";\n\nimport { ExtractNames } from \"../../utils/classes\";\nimport { VerticalNavigationContext } from \"../VerticalNavigationContext\";\nimport { staticClasses, useClasses } from \"./Actions.styles\";\n\nexport { staticClasses as actionsClasses };\n\nexport type HvVerticalNavigationActionsClasses = ExtractNames<\n typeof useClasses\n>;\n\nexport interface HvVerticalNavigationActionsProps {\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?: HvVerticalNavigationActionsClasses;\n /**\n * Id to be applied to the actions container.\n */\n id?: string;\n /**\n * Node to be rendered\n */\n children?: React.ReactNode;\n}\n\nexport const HvVerticalNavigationActions = ({\n className,\n classes: classesProp,\n id,\n children,\n ...others\n}: HvVerticalNavigationActionsProps) => {\n const { classes, cx } = useClasses(classesProp);\n\n const { isOpen, useIcons } = useContext(VerticalNavigationContext);\n\n return (\n <div\n id={id}\n className={cx(\n classes.root,\n {\n [classes.hide]: !isOpen && !useIcons,\n },\n className,\n )}\n {...others}\n >\n {children}\n </div>\n );\n};\n"],"names":[],"mappings":";;;;;AA+BO,MAAM,8BAA8B,CAAC;AAAA,EAC1C;AAAA,EACA,SAAS;AAAA,EACT;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAwC;AACtC,QAAM,EAAE,SAAS,GAAG,IAAI,WAAW,WAAW;AAE9C,QAAM,EAAE,QAAQ,SAAS,IAAI,WAAW,yBAAyB;AAG/D,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA,WAAW;AAAA,QACT,QAAQ;AAAA,QACR;AAAA,UACE,CAAC,QAAQ,IAAI,GAAG,CAAC,UAAU,CAAC;AAAA,QAC9B;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA,MAEH;AAAA,IAAA;AAAA,EAAA;AAGP;"}
1
+ {"version":3,"file":"Actions.js","sources":["../../../../src/VerticalNavigation/Actions/Actions.tsx"],"sourcesContent":["import { useContext } from \"react\";\n\nimport { useDefaultProps } from \"../../hooks/useDefaultProps\";\nimport { HvBaseProps } from \"../../types/generic\";\nimport { ExtractNames } from \"../../utils/classes\";\nimport { VerticalNavigationContext } from \"../VerticalNavigationContext\";\nimport { staticClasses, useClasses } from \"./Actions.styles\";\n\nexport { staticClasses as actionsClasses };\n\nexport type HvVerticalNavigationActionsClasses = ExtractNames<\n typeof useClasses\n>;\n\nexport interface HvVerticalNavigationActionsProps extends HvBaseProps {\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvVerticalNavigationActionsClasses;\n}\n\nexport const HvVerticalNavigationActions = (\n props: HvVerticalNavigationActionsProps,\n) => {\n const {\n className,\n classes: classesProp,\n children,\n ...others\n } = useDefaultProps(\"HvVerticalNavigationActions\", props);\n\n const { classes, cx } = useClasses(classesProp);\n\n const { isOpen, useIcons } = useContext(VerticalNavigationContext);\n\n return (\n <div\n className={cx(\n classes.root,\n {\n [classes.hide]: !isOpen && !useIcons,\n },\n className,\n )}\n {...others}\n >\n {children}\n </div>\n );\n};\n"],"names":[],"mappings":";;;;;;AAmBa,MAAA,8BAA8B,CACzC,UACG;AACG,QAAA;AAAA,IACJ;AAAA,IACA,SAAS;AAAA,IACT;AAAA,IACA,GAAG;AAAA,EAAA,IACD,gBAAgB,+BAA+B,KAAK;AAExD,QAAM,EAAE,SAAS,GAAG,IAAI,WAAW,WAAW;AAE9C,QAAM,EAAE,QAAQ,SAAS,IAAI,WAAW,yBAAyB;AAG/D,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW;AAAA,QACT,QAAQ;AAAA,QACR;AAAA,UACE,CAAC,QAAQ,IAAI,GAAG,CAAC,UAAU,CAAC;AAAA,QAC9B;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA,MAEH;AAAA,IAAA;AAAA,EAAA;AAGP;"}
@@ -1,22 +1,24 @@
1
- import { jsxs, jsx } from "@emotion/react/jsx-runtime";
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
2
  import { useContext, useMemo } from "react";
3
3
  import { Backwards, Menu, Forwards } from "@hitachivantara/uikit-react-icons";
4
+ import { useDefaultProps } from "../../hooks/useDefaultProps.js";
4
5
  import { VerticalNavigationContext } from "../VerticalNavigationContext.js";
5
6
  import { useClasses } from "./Header.styles.js";
6
7
  import { staticClasses } from "./Header.styles.js";
7
8
  import { HvButton } from "../../Button/Button.js";
8
9
  import { HvTypography } from "../../Typography/Typography.js";
9
- const HvVerticalNavigationHeader = ({
10
- title,
11
- openIcon: openIconProp,
12
- closeIcon: closeIconProp,
13
- collapseButtonProps,
14
- backButtonProps,
15
- className,
16
- classes: classesProp,
17
- onCollapseButtonClick,
18
- ...others
19
- }) => {
10
+ const HvVerticalNavigationHeader = (props) => {
11
+ const {
12
+ title,
13
+ openIcon: openIconProp,
14
+ closeIcon: closeIconProp,
15
+ collapseButtonProps = {},
16
+ backButtonProps = {},
17
+ className,
18
+ classes: classesProp,
19
+ onCollapseButtonClick,
20
+ ...others
21
+ } = useDefaultProps("HvVerticalNavigationHeader", props);
20
22
  const {
21
23
  isOpen,
22
24
  useIcons,
@@ -26,17 +28,22 @@ const HvVerticalNavigationHeader = ({
26
28
  parentItem
27
29
  } = useContext(VerticalNavigationContext);
28
30
  const { classes, cx } = useClasses(classesProp);
29
- const openIcon = openIconProp ?? (!useIcons ? /* @__PURE__ */ jsx(Menu, {}) : /* @__PURE__ */ jsx(Forwards, {}));
30
- const closeIcon = closeIconProp ?? /* @__PURE__ */ jsx(Backwards, {});
31
- const backButtonClickHandler = () => {
32
- if (navigateToParentHandler)
33
- navigateToParentHandler();
34
- };
35
31
  const shouldShowTitle = useMemo(
36
32
  () => !slider || slider && !Array.isArray(parentItem),
37
33
  [parentItem, slider]
38
34
  );
39
- return shouldShowTitle ? /* @__PURE__ */ jsxs(
35
+ if (!shouldShowTitle)
36
+ return null;
37
+ const openIcon = openIconProp ?? (!useIcons ? /* @__PURE__ */ jsx(Menu, {}) : /* @__PURE__ */ jsx(Forwards, {}));
38
+ const closeIcon = closeIconProp ?? /* @__PURE__ */ jsx(Backwards, {});
39
+ const handleClickBack = () => navigateToParentHandler?.();
40
+ const { className: backButtonClassName, ...otherBackButtonProps } = backButtonProps;
41
+ const {
42
+ className: collapseButtonClassName,
43
+ classes: collapseButtonClasses,
44
+ ...otherCollapseButtonProps
45
+ } = collapseButtonProps;
46
+ return /* @__PURE__ */ jsxs(
40
47
  "div",
41
48
  {
42
49
  className: cx(classes.root, { [classes.minimized]: !isOpen }, className),
@@ -46,29 +53,42 @@ const HvVerticalNavigationHeader = ({
46
53
  HvButton,
47
54
  {
48
55
  icon: true,
49
- onClick: backButtonClickHandler,
56
+ onClick: handleClickBack,
57
+ className: cx(classes.backButton, backButtonClassName),
50
58
  "aria-label": "Back",
51
- ...backButtonProps,
59
+ ...otherBackButtonProps,
52
60
  children: /* @__PURE__ */ jsx(Backwards, { iconSize: "XS" })
53
61
  }
54
62
  ),
55
- isOpen && /* @__PURE__ */ jsx(HvTypography, { variant: slider ? "label" : "title3", children: headerTitle && slider ? headerTitle : title }),
63
+ isOpen && /* @__PURE__ */ jsx(
64
+ HvTypography,
65
+ {
66
+ variant: slider ? "label" : "title3",
67
+ className: classes.title,
68
+ children: headerTitle && slider ? headerTitle : title
69
+ }
70
+ ),
56
71
  onCollapseButtonClick && /* @__PURE__ */ jsx(
57
72
  HvButton,
58
73
  {
59
74
  icon: true,
60
75
  onClick: onCollapseButtonClick,
61
- className: classes.collapseButton,
76
+ className: cx(classes.collapseButton, collapseButtonClassName),
62
77
  classes: {
63
- root: isOpen ? "" : classes.minimized
78
+ ...collapseButtonClasses,
79
+ root: cx(
80
+ { [classes.minimized]: !isOpen },
81
+ // TODO - v6 don't use minimized classes in two different places
82
+ collapseButtonClasses?.root
83
+ )
64
84
  },
65
- ...collapseButtonProps,
85
+ ...otherCollapseButtonProps,
66
86
  children: isOpen ? closeIcon : openIcon
67
87
  }
68
88
  )
69
89
  ]
70
90
  }
71
- ) : null;
91
+ );
72
92
  };
73
93
  export {
74
94
  HvVerticalNavigationHeader,
@@ -1 +1 @@
1
- {"version":3,"file":"Header.js","sources":["../../../../src/VerticalNavigation/Header/Header.tsx"],"sourcesContent":["import { useContext, useMemo } from \"react\";\nimport { Backwards, Forwards, Menu } from \"@hitachivantara/uikit-react-icons\";\n\nimport { HvButton, HvButtonProps } from \"../../Button\";\nimport { HvTypography } from \"../../Typography\";\nimport { ExtractNames } from \"../../utils/classes\";\nimport { VerticalNavigationContext } from \"../VerticalNavigationContext\";\nimport { staticClasses, useClasses } from \"./Header.styles\";\n\nexport { staticClasses as verticalNavigationHeaderClasses };\n\nexport type HvVerticalNavigationHeaderClasses = ExtractNames<typeof useClasses>;\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?: React.MouseEventHandler<HTMLElement>;\n}\n\nexport const HvVerticalNavigationHeader = ({\n title,\n openIcon: openIconProp,\n closeIcon: closeIconProp,\n collapseButtonProps,\n backButtonProps,\n className,\n classes: classesProp,\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 const { classes, cx } = useClasses(classesProp);\n\n const openIcon = openIconProp ?? (!useIcons ? <Menu /> : <Forwards />);\n const closeIcon = closeIconProp ?? <Backwards />;\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 <div\n className={cx(classes.root, { [classes.minimized]: !isOpen }, className)}\n {...others}\n >\n {isOpen && headerTitle && slider && (\n <HvButton\n icon\n onClick={backButtonClickHandler}\n aria-label=\"Back\"\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 <HvButton\n icon\n onClick={onCollapseButtonClick}\n className={classes.collapseButton}\n classes={{\n root: isOpen ? \"\" : classes.minimized,\n }}\n {...collapseButtonProps}\n >\n {isOpen ? closeIcon : openIcon}\n </HvButton>\n )}\n </div>\n ) : null;\n};\n"],"names":[],"mappings":";;;;;;;;AAoDO,MAAM,6BAA6B,CAAC;AAAA,EACzC;AAAA,EACA,UAAU;AAAA,EACV,WAAW;AAAA,EACX;AAAA,EACA;AAAA,EACA;AAAA,EACA,SAAS;AAAA,EACT;AAAA,EACA,GAAG;AACL,MAAuC;AAC/B,QAAA;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,IACE,WAAW,yBAAyB;AAExC,QAAM,EAAE,SAAS,GAAG,IAAI,WAAW,WAAW;AAExC,QAAA,WAAW,iBAAiB,CAAC,+BAAY,MAAK,CAAA,CAAA,wBAAM,UAAS,CAAA,CAAA;AAC7D,QAAA,YAAY,iBAAiB,oBAAC,WAAU,CAAA,CAAA;AAE9C,QAAM,yBAAyB,MAAM;AAC/B,QAAA;AAAiD;EAAA;AAKvD,QAAM,kBAAkB;AAAA,IACtB,MAAM,CAAC,UAAW,UAAU,CAAC,MAAM,QAAQ,UAAU;AAAA,IACrD,CAAC,YAAY,MAAM;AAAA,EAAA;AAGrB,SAAO,kBACL;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW,GAAG,QAAQ,MAAM,EAAE,CAAC,QAAQ,SAAS,GAAG,CAAC,OAAO,GAAG,SAAS;AAAA,MACtE,GAAG;AAAA,MAEH,UAAA;AAAA,QAAA,UAAU,eAAe,UACxB;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,MAAI;AAAA,YACJ,SAAS;AAAA,YACT,cAAW;AAAA,YACV,GAAG;AAAA,YAEJ,UAAA,oBAAC,WAAU,EAAA,UAAS,KAAK,CAAA;AAAA,UAAA;AAAA,QAC3B;AAAA,QAED,UACE,oBAAA,cAAA,EAAa,SAAS,SAAS,UAAU,UACvC,UAAA,eAAe,SAAS,cAAc,MACzC,CAAA;AAAA,QAED,yBACC;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,MAAI;AAAA,YACJ,SAAS;AAAA,YACT,WAAW,QAAQ;AAAA,YACnB,SAAS;AAAA,cACP,MAAM,SAAS,KAAK,QAAQ;AAAA,YAC9B;AAAA,YACC,GAAG;AAAA,YAEH,mBAAS,YAAY;AAAA,UAAA;AAAA,QACxB;AAAA,MAAA;AAAA,IAAA;AAAA,EAGF,IAAA;AACN;"}
1
+ {"version":3,"file":"Header.js","sources":["../../../../src/VerticalNavigation/Header/Header.tsx"],"sourcesContent":["import { useContext, useMemo } from \"react\";\nimport { Backwards, Forwards, Menu } from \"@hitachivantara/uikit-react-icons\";\n\nimport { HvButton, HvButtonProps } from \"../../Button\";\nimport { useDefaultProps } from \"../../hooks/useDefaultProps\";\nimport { HvBaseProps } from \"../../types/generic\";\nimport { HvTypography } from \"../../Typography\";\nimport { ExtractNames } from \"../../utils/classes\";\nimport { VerticalNavigationContext } from \"../VerticalNavigationContext\";\nimport { staticClasses, useClasses } from \"./Header.styles\";\n\nexport { staticClasses as verticalNavigationHeaderClasses };\n\nexport type HvVerticalNavigationHeaderClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvVerticalNavigationHeaderProps extends HvBaseProps {\n /** The title text to show on header. */\n title?: string;\n /** Icon to show when vertical navigation is collapsed. */\n openIcon?: React.ReactNode;\n /** Icon to show when vertical navigation is expanded. */\n closeIcon?: React.ReactNode;\n /** Props for the collapse button. */\n collapseButtonProps?: HvButtonProps;\n /** Props for the back button. */\n backButtonProps?: HvButtonProps;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvVerticalNavigationHeaderClasses;\n /** Handler for the collapse button. */\n onCollapseButtonClick?: React.MouseEventHandler<HTMLElement>;\n}\n\nexport const HvVerticalNavigationHeader = (\n props: HvVerticalNavigationHeaderProps,\n) => {\n const {\n title,\n openIcon: openIconProp,\n closeIcon: closeIconProp,\n collapseButtonProps = {},\n backButtonProps = {},\n className,\n classes: classesProp,\n onCollapseButtonClick,\n ...others\n } = useDefaultProps(\"HvVerticalNavigationHeader\", props);\n\n const {\n isOpen,\n useIcons,\n headerTitle,\n slider,\n navigateToParentHandler,\n parentItem,\n } = useContext(VerticalNavigationContext);\n\n const { classes, cx } = useClasses(classesProp);\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 if (!shouldShowTitle) return null;\n\n const openIcon = openIconProp ?? (!useIcons ? <Menu /> : <Forwards />);\n const closeIcon = closeIconProp ?? <Backwards />;\n\n const handleClickBack = () => navigateToParentHandler?.();\n\n const { className: backButtonClassName, ...otherBackButtonProps } =\n backButtonProps;\n\n const {\n className: collapseButtonClassName,\n classes: collapseButtonClasses,\n ...otherCollapseButtonProps\n } = collapseButtonProps;\n\n return (\n <div\n className={cx(classes.root, { [classes.minimized]: !isOpen }, className)}\n {...others}\n >\n {isOpen && headerTitle && slider && (\n <HvButton\n icon\n onClick={handleClickBack}\n className={cx(classes.backButton, backButtonClassName)}\n aria-label=\"Back\"\n {...otherBackButtonProps}\n >\n <Backwards iconSize=\"XS\" />\n </HvButton>\n )}\n {isOpen && (\n <HvTypography\n variant={slider ? \"label\" : \"title3\"}\n className={classes.title}\n >\n {headerTitle && slider ? headerTitle : title}\n </HvTypography>\n )}\n {onCollapseButtonClick && (\n <HvButton\n icon\n onClick={onCollapseButtonClick}\n className={cx(classes.collapseButton, collapseButtonClassName)}\n classes={{\n ...collapseButtonClasses,\n root: cx(\n { [classes.minimized]: !isOpen }, // TODO - v6 don't use minimized classes in two different places\n collapseButtonClasses?.root,\n ),\n }}\n {...otherCollapseButtonProps}\n >\n {isOpen ? closeIcon : openIcon}\n </HvButton>\n )}\n </div>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;AAgCa,MAAA,6BAA6B,CACxC,UACG;AACG,QAAA;AAAA,IACJ;AAAA,IACA,UAAU;AAAA,IACV,WAAW;AAAA,IACX,sBAAsB,CAAC;AAAA,IACvB,kBAAkB,CAAC;AAAA,IACnB;AAAA,IACA,SAAS;AAAA,IACT;AAAA,IACA,GAAG;AAAA,EAAA,IACD,gBAAgB,8BAA8B,KAAK;AAEjD,QAAA;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,IACE,WAAW,yBAAyB;AAExC,QAAM,EAAE,SAAS,GAAG,IAAI,WAAW,WAAW;AAI9C,QAAM,kBAAkB;AAAA,IACtB,MAAM,CAAC,UAAW,UAAU,CAAC,MAAM,QAAQ,UAAU;AAAA,IACrD,CAAC,YAAY,MAAM;AAAA,EAAA;AAGrB,MAAI,CAAC;AAAwB,WAAA;AAEvB,QAAA,WAAW,iBAAiB,CAAC,+BAAY,MAAK,CAAA,CAAA,wBAAM,UAAS,CAAA,CAAA;AAC7D,QAAA,YAAY,iBAAiB,oBAAC,WAAU,CAAA,CAAA;AAExC,QAAA,kBAAkB,MAAM;AAE9B,QAAM,EAAE,WAAW,qBAAqB,GAAG,yBACzC;AAEI,QAAA;AAAA,IACJ,WAAW;AAAA,IACX,SAAS;AAAA,IACT,GAAG;AAAA,EACD,IAAA;AAGF,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW,GAAG,QAAQ,MAAM,EAAE,CAAC,QAAQ,SAAS,GAAG,CAAC,OAAO,GAAG,SAAS;AAAA,MACtE,GAAG;AAAA,MAEH,UAAA;AAAA,QAAA,UAAU,eAAe,UACxB;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,MAAI;AAAA,YACJ,SAAS;AAAA,YACT,WAAW,GAAG,QAAQ,YAAY,mBAAmB;AAAA,YACrD,cAAW;AAAA,YACV,GAAG;AAAA,YAEJ,UAAA,oBAAC,WAAU,EAAA,UAAS,KAAK,CAAA;AAAA,UAAA;AAAA,QAC3B;AAAA,QAED,UACC;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,SAAS,SAAS,UAAU;AAAA,YAC5B,WAAW,QAAQ;AAAA,YAElB,UAAA,eAAe,SAAS,cAAc;AAAA,UAAA;AAAA,QACzC;AAAA,QAED,yBACC;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,MAAI;AAAA,YACJ,SAAS;AAAA,YACT,WAAW,GAAG,QAAQ,gBAAgB,uBAAuB;AAAA,YAC7D,SAAS;AAAA,cACP,GAAG;AAAA,cACH,MAAM;AAAA,gBACJ,EAAE,CAAC,QAAQ,SAAS,GAAG,CAAC,OAAO;AAAA;AAAA,gBAC/B,uBAAuB;AAAA,cACzB;AAAA,YACF;AAAA,YACC,GAAG;AAAA,YAEH,mBAAS,YAAY;AAAA,UAAA;AAAA,QACxB;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIR;"}
@@ -17,7 +17,9 @@ const { staticClasses, useClasses } = createClasses(
17
17
  "&$minimized": {
18
18
  marginLeft: 0
19
19
  }
20
- }
20
+ },
21
+ backButton: {},
22
+ title: {}
21
23
  }
22
24
  );
23
25
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"Header.styles.js","sources":["../../../../src/VerticalNavigation/Header/Header.styles.tsx"],"sourcesContent":["import { createClasses } from \"../../utils/classes\";\n\nexport const { staticClasses, useClasses } = createClasses(\n \"HvVerticalNavigationHeader\",\n {\n root: {\n width: \"100%\",\n display: \"flex\",\n marginTop: \"12px\",\n alignItems: \"center\",\n },\n minimized: {\n justifyContent: \"center\",\n paddingRight: 0,\n },\n collapseButton: {\n marginLeft: \"auto\",\n \"&$minimized\": {\n marginLeft: 0,\n },\n },\n },\n);\n"],"names":[],"mappings":";AAEa,MAAA,EAAE,eAAe,WAAA,IAAe;AAAA,EAC3C;AAAA,EACA;AAAA,IACE,MAAM;AAAA,MACJ,OAAO;AAAA,MACP,SAAS;AAAA,MACT,WAAW;AAAA,MACX,YAAY;AAAA,IACd;AAAA,IACA,WAAW;AAAA,MACT,gBAAgB;AAAA,MAChB,cAAc;AAAA,IAChB;AAAA,IACA,gBAAgB;AAAA,MACd,YAAY;AAAA,MACZ,eAAe;AAAA,QACb,YAAY;AAAA,MACd;AAAA,IACF;AAAA,EACF;AACF;"}
1
+ {"version":3,"file":"Header.styles.js","sources":["../../../../src/VerticalNavigation/Header/Header.styles.tsx"],"sourcesContent":["import { createClasses } from \"../../utils/classes\";\n\nexport const { staticClasses, useClasses } = createClasses(\n \"HvVerticalNavigationHeader\",\n {\n root: {\n width: \"100%\",\n display: \"flex\",\n marginTop: \"12px\",\n alignItems: \"center\",\n },\n minimized: {\n justifyContent: \"center\",\n paddingRight: 0,\n },\n collapseButton: {\n marginLeft: \"auto\",\n \"&$minimized\": {\n marginLeft: 0,\n },\n },\n backButton: {},\n title: {},\n },\n);\n"],"names":[],"mappings":";AAEa,MAAA,EAAE,eAAe,WAAA,IAAe;AAAA,EAC3C;AAAA,EACA;AAAA,IACE,MAAM;AAAA,MACJ,OAAO;AAAA,MACP,SAAS;AAAA,MACT,WAAW;AAAA,MACX,YAAY;AAAA,IACd;AAAA,IACA,WAAW;AAAA,MACT,gBAAgB;AAAA,MAChB,cAAc;AAAA,IAChB;AAAA,IACA,gBAAgB;AAAA,MACd,YAAY;AAAA,MACZ,eAAe;AAAA,QACb,YAAY;AAAA,MACd;AAAA,IACF;AAAA,IACA,YAAY,CAAC;AAAA,IACb,OAAO,CAAC;AAAA,EACV;AACF;"}
@@ -1,6 +1,7 @@
1
- import { jsx, jsxs } from "@emotion/react/jsx-runtime";
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { useContext, useState, useCallback, useMemo, useEffect } from "react";
3
3
  import { useControlled } from "../../hooks/useControlled.js";
4
+ import { useDefaultProps } from "../../hooks/useDefaultProps.js";
4
5
  import { uniqueId } from "../../utils/helpers.js";
5
6
  import { setId } from "../../utils/setId.js";
6
7
  import { NavigationPopupContainer } from "../NavigationPopup/NavigationPopupContainer.js";
@@ -77,22 +78,23 @@ function pathToElement(data, targetId) {
77
78
  }
78
79
  return path;
79
80
  }
80
- const HvVerticalNavigationTree = ({
81
- id,
82
- className,
83
- classes: classesProp,
84
- data,
85
- mode = "navigation",
86
- collapsible = false,
87
- expanded: expandedProp,
88
- defaultExpanded,
89
- onToggle,
90
- selected: selectedProp,
91
- defaultSelected,
92
- onChange,
93
- sliderForwardButtonAriaLabel = "Navigate to submenu",
94
- ...others
95
- }) => {
81
+ const HvVerticalNavigationTree = (props) => {
82
+ const {
83
+ id,
84
+ className,
85
+ classes: classesProp,
86
+ data,
87
+ mode = "navigation",
88
+ collapsible = false,
89
+ expanded: expandedProp,
90
+ defaultExpanded,
91
+ onToggle,
92
+ selected: selectedProp,
93
+ defaultSelected,
94
+ onChange,
95
+ sliderForwardButtonAriaLabel = "Navigate to submenu",
96
+ ...others
97
+ } = useDefaultProps("HvVerticalNavigationTree", props);
96
98
  const { classes, cx } = useClasses(classesProp);
97
99
  const [selected, setSelected] = useControlled(selectedProp, defaultSelected);
98
100
  const [expanded, setExpanded] = useControlled(expandedProp, () => {
@@ -145,9 +147,7 @@ const HvVerticalNavigationTree = ({
145
147
  return [...prevState];
146
148
  });
147
149
  setNavigationPopup(null);
148
- if (onChange) {
149
- onChange(event, selectedItem);
150
- }
150
+ onChange?.(event, selectedItem);
151
151
  }
152
152
  },
153
153
  [onChange, setSelected, setExpanded, isOpen, useIcons, data]
@@ -172,9 +172,7 @@ const HvVerticalNavigationTree = ({
172
172
  const handleToggle = useCallback(
173
173
  (event, newExpanded) => {
174
174
  setExpanded(newExpanded);
175
- if (onToggle) {
176
- onToggle(event, newExpanded);
177
- }
175
+ onToggle?.(event, newExpanded);
178
176
  },
179
177
  [onToggle, setExpanded]
180
178
  );
@@ -206,12 +204,8 @@ const HvVerticalNavigationTree = ({
206
204
  setParentItem(getParentItemById(withParentData, selected));
207
205
  }
208
206
  }, [withParentData, selected, setParentItem]);
209
- const navigateToTargetHandler = (event, selectedItem) => {
210
- handleChange(event, selectedItem.id, selectedItem);
211
- };
212
- const handleNavigationPopupClose = () => {
213
- setNavigationPopup(null);
214
- };
207
+ const navigateToTargetHandler = (event, selectedItem) => handleChange(event, selectedItem.id, selectedItem);
208
+ const handleNavigationPopupClose = () => setNavigationPopup(null);
215
209
  const handleStyledNavMouseLeave = () => {
216
210
  if (useIcons && !isOpen && !navigationPopup?.fixedMode) {
217
211
  setNavigationPopup(null);
@@ -1 +1 @@
1
- {"version":3,"file":"Navigation.js","sources":["../../../../src/VerticalNavigation/Navigation/Navigation.tsx"],"sourcesContent":["import { useCallback, useContext, useEffect, useMemo, useState } from \"react\";\n\nimport { useControlled } from \"../../hooks/useControlled\";\nimport { HvBaseProps } from \"../../types/generic\";\nimport { ExtractNames } from \"../../utils/classes\";\nimport { uniqueId } from \"../../utils/helpers\";\nimport { setId } from \"../../utils/setId\";\nimport { NavigationPopupContainer } from \"../NavigationPopup/NavigationPopupContainer\";\nimport { HvVerticalNavigationSlider } from \"../NavigationSlider\";\nimport { getParentItemById } from \"../NavigationSlider/utils/NavigationSlider.utils\";\nimport {\n HvVerticalNavigationTreeView,\n HvVerticalNavigationTreeViewItem,\n NavigationMode,\n} from \"../TreeView\";\nimport {\n NavigationData,\n VerticalNavigationContext,\n} from \"../VerticalNavigationContext\";\nimport { staticClasses, useClasses } from \"./Navigation.styles\";\n\nexport { staticClasses as verticalNavigationTreeClasses };\n\nexport type HvVerticalNavigationTreeClasses = ExtractNames<typeof useClasses>;\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 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={itemLabel}\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: classesProp,\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 { classes, cx } = useClasses(classesProp);\n\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 <nav\n id={id}\n className={cx(\n classes.root,\n { [classes.collapsed]: !isOpen && !useIcons },\n className,\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={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={classes.navigationPopup}\n >\n <HvVerticalNavigationTree\n className={classes.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 </nav>\n );\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Navigation.js","sources":["../../../../src/VerticalNavigation/Navigation/Navigation.tsx"],"sourcesContent":["import { useCallback, useContext, useEffect, useMemo, useState } from \"react\";\n\nimport { useControlled } from \"../../hooks/useControlled\";\nimport { useDefaultProps } from \"../../hooks/useDefaultProps\";\nimport { HvBaseProps } from \"../../types/generic\";\nimport { ExtractNames } from \"../../utils/classes\";\nimport { uniqueId } from \"../../utils/helpers\";\nimport { setId } from \"../../utils/setId\";\nimport { NavigationPopupContainer } from \"../NavigationPopup/NavigationPopupContainer\";\nimport {\n HvVerticalNavigationSlider,\n HvVerticalNavigationSliderProps,\n} from \"../NavigationSlider\";\nimport { getParentItemById } from \"../NavigationSlider/utils/NavigationSlider.utils\";\nimport {\n HvVerticalNavigationTreeView,\n HvVerticalNavigationTreeViewItem,\n NavigationMode,\n} from \"../TreeView\";\nimport {\n NavigationData,\n VerticalNavigationContext,\n} from \"../VerticalNavigationContext\";\nimport { staticClasses, useClasses } from \"./Navigation.styles\";\n\nexport { staticClasses as verticalNavigationTreeClasses };\n\nexport type HvVerticalNavigationTreeClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvVerticalNavigationTreeProps\n extends HvBaseProps<HTMLDivElement, \"onChange\"> {\n /** A Jss Object used to override or extend the styles applied. */\n classes?: HvVerticalNavigationTreeClasses;\n /** Modus operandi (role) of the widget instance. */\n mode?: NavigationMode;\n /** Can non-leaf nodes be collapsed / expanded. */\n collapsible?: boolean;\n /** The ID of the selected page. */\n selected?: string;\n /** When uncontrolled, defines the initial selected page ID. */\n defaultSelected?: string;\n /** Callback fired when a navigation item is selected. */\n onChange?: (\n event:\n | React.MouseEvent<HTMLLIElement>\n | React.KeyboardEvent<HTMLUListElement>,\n page: NavigationData,\n ) => void;\n /** Expanded nodes' ids. */\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 /** Callback fired when tree items are expanded/collapsed. */\n onToggle?: (\n event: React.KeyboardEvent<HTMLUListElement>,\n nodeIds: string[],\n ) => 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 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={itemLabel}\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 props: HvVerticalNavigationTreeProps,\n) => {\n const {\n id,\n className,\n classes: classesProp,\n data,\n mode = \"navigation\",\n collapsible = false,\n expanded: expandedProp,\n defaultExpanded,\n onToggle,\n selected: selectedProp,\n defaultSelected,\n onChange,\n sliderForwardButtonAriaLabel = \"Navigate to submenu\",\n ...others\n } = useDefaultProps(\"HvVerticalNavigationTree\", props);\n\n const { classes, cx } = useClasses(classesProp);\n\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: HTMLElement | null;\n fixedMode: boolean;\n data: NavigationData[];\n } | null>(null);\n\n const handleChange = useCallback(\n (\n event:\n | React.MouseEvent<HTMLLIElement>\n | React.KeyboardEvent<HTMLUListElement>,\n selectedId: string | string[],\n selectedItem: NavigationData,\n ) => {\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 as NavigationData[],\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 as string);\n setExpanded((prevState) => {\n if (!isOpen) {\n return [...prevState, ...pathToElement(data, selectedId)];\n }\n return [...prevState];\n });\n setNavigationPopup(null);\n onChange?.(event, selectedItem);\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: React.KeyboardEvent<HTMLUListElement>, newExpanded: string[]) => {\n setExpanded(newExpanded);\n onToggle?.(event, newExpanded);\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 const navigateToTargetHandler: HvVerticalNavigationSliderProps[\"onNavigateToTarget\"] =\n (event, selectedItem) => handleChange(event, selectedItem.id, selectedItem);\n\n const handleNavigationPopupClose = () => setNavigationPopup(null);\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: HvVerticalNavigationTreeProps[\"onChange\"] =\n (event, selectedItem) => {\n handleChange(event, selectedItem.id, selectedItem);\n };\n\n return (\n <nav\n id={id}\n className={cx(\n classes.root,\n { [classes.collapsed]: !isOpen && !useIcons },\n className,\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={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={classes.navigationPopup}\n >\n <HvVerticalNavigationTree\n className={classes.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 </nav>\n );\n};\n"],"names":[],"mappings":"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"}
@@ -1,10 +1,5 @@
1
- import styled from "@emotion/styled";
2
- import { Popper } from "@mui/base";
3
1
  import { theme } from "@hitachivantara/uikit-styles";
4
2
  import { createClasses } from "../../utils/classes.js";
5
- const StyledPopper = styled(Popper)({
6
- zIndex: theme.zIndices.popover
7
- });
8
3
  const { staticClasses, useClasses } = createClasses(
9
4
  "HvVerticalNavigationPopup",
10
5
  {
@@ -18,7 +13,6 @@ const { staticClasses, useClasses } = createClasses(
18
13
  }
19
14
  );
20
15
  export {
21
- StyledPopper,
22
16
  staticClasses,
23
17
  useClasses
24
18
  };
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationPopup.styles.js","sources":["../../../../src/VerticalNavigation/NavigationPopup/NavigationPopup.styles.tsx"],"sourcesContent":["import styled from \"@emotion/styled\";\nimport { Popper } from \"@mui/base\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { createClasses } from \"../../utils/classes\";\n\nconst StyledPopper = styled(Popper)({\n zIndex: theme.zIndices.popover,\n});\n\nexport { StyledPopper };\n\nexport const { staticClasses, useClasses } = createClasses(\n \"HvVerticalNavigationPopup\",\n {\n popup: {},\n container: {\n marginLeft: theme.spacing(\"xs\"),\n },\n popper: {\n zIndex: theme.zIndices.popover,\n },\n },\n);\n"],"names":[],"mappings":";;;;AAMM,MAAA,eAAe,OAAO,MAAM,EAAE;AAAA,EAClC,QAAQ,MAAM,SAAS;AACzB,CAAC;AAIY,MAAA,EAAE,eAAe,WAAA,IAAe;AAAA,EAC3C;AAAA,EACA;AAAA,IACE,OAAO,CAAC;AAAA,IACR,WAAW;AAAA,MACT,YAAY,MAAM,QAAQ,IAAI;AAAA,IAChC;AAAA,IACA,QAAQ;AAAA,MACN,QAAQ,MAAM,SAAS;AAAA,IACzB;AAAA,EACF;AACF;"}
1
+ {"version":3,"file":"NavigationPopup.styles.js","sources":["../../../../src/VerticalNavigation/NavigationPopup/NavigationPopup.styles.tsx"],"sourcesContent":["import { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { createClasses } from \"../../utils/classes\";\n\nexport const { staticClasses, useClasses } = createClasses(\n \"HvVerticalNavigationPopup\",\n {\n popup: {},\n container: {\n marginLeft: theme.spacing(\"xs\"),\n },\n popper: {\n zIndex: theme.zIndices.popover,\n },\n },\n);\n"],"names":[],"mappings":";;AAIa,MAAA,EAAE,eAAe,WAAA,IAAe;AAAA,EAC3C;AAAA,EACA;AAAA,IACE,OAAO,CAAC;AAAA,IACR,WAAW;AAAA,MACT,YAAY,MAAM,QAAQ,IAAI;AAAA,IAChC;AAAA,IACA,QAAQ;AAAA,MACN,QAAQ,MAAM,SAAS;AAAA,IACzB;AAAA,EACF;AACF;"}