@hitachivantara/uikit-react-core 5.14.1 → 5.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (767) hide show
  1. package/dist/cjs/components/Accordion/Accordion.cjs.map +1 -1
  2. package/dist/cjs/components/Accordion/Accordion.styles.cjs.map +1 -1
  3. package/dist/cjs/components/ActionBar/ActionBar.cjs +8 -7
  4. package/dist/cjs/components/ActionBar/ActionBar.cjs.map +1 -1
  5. package/dist/cjs/components/ActionBar/ActionBar.styles.cjs +16 -17
  6. package/dist/cjs/components/ActionBar/ActionBar.styles.cjs.map +1 -1
  7. package/dist/cjs/components/ActionsGeneric/ActionsGeneric.cjs.map +1 -1
  8. package/dist/cjs/components/ActionsGeneric/ActionsGeneric.styles.cjs.map +1 -1
  9. package/dist/cjs/components/AppSwitcher/Action/Action.cjs.map +1 -1
  10. package/dist/cjs/components/AppSwitcher/Action/Action.styles.cjs.map +1 -1
  11. package/dist/cjs/components/AppSwitcher/AppSwitcher.cjs.map +1 -1
  12. package/dist/cjs/components/AppSwitcher/AppSwitcher.styles.cjs.map +1 -1
  13. package/dist/cjs/components/AppSwitcher/TitleWithTooltip.cjs.map +1 -1
  14. package/dist/cjs/components/Avatar/Avatar.cjs.map +1 -1
  15. package/dist/cjs/components/Avatar/Avatar.styles.cjs +36 -41
  16. package/dist/cjs/components/Avatar/Avatar.styles.cjs.map +1 -1
  17. package/dist/cjs/components/Badge/Badge.cjs.map +1 -1
  18. package/dist/cjs/components/Badge/Badge.styles.cjs.map +1 -1
  19. package/dist/cjs/components/Banner/Banner.cjs +35 -43
  20. package/dist/cjs/components/Banner/Banner.cjs.map +1 -1
  21. package/dist/cjs/components/Banner/Banner.styles.cjs +12 -3
  22. package/dist/cjs/components/Banner/Banner.styles.cjs.map +1 -1
  23. package/dist/cjs/components/Banner/BannerContent/ActionContainer/ActionContainer.cjs.map +1 -1
  24. package/dist/cjs/components/Banner/BannerContent/ActionContainer/actionContainerClasses.cjs.map +1 -1
  25. package/dist/cjs/components/Banner/BannerContent/BannerContent.cjs +48 -49
  26. package/dist/cjs/components/Banner/BannerContent/BannerContent.cjs.map +1 -1
  27. package/dist/cjs/components/Banner/BannerContent/BannerContent.styles.cjs +8 -3
  28. package/dist/cjs/components/Banner/BannerContent/BannerContent.styles.cjs.map +1 -1
  29. package/dist/cjs/components/Banner/BannerContent/MessageContainer/MessageContainer.cjs.map +1 -1
  30. package/dist/cjs/components/Banner/BannerContent/MessageContainer/messageContainerClasses.cjs.map +1 -1
  31. package/dist/cjs/components/BaseCheckBox/BaseCheckBox.cjs.map +1 -1
  32. package/dist/cjs/components/BaseCheckBox/BaseCheckBox.styles.cjs.map +1 -1
  33. package/dist/cjs/components/BaseDropdown/BaseDropdown.cjs +16 -16
  34. package/dist/cjs/components/BaseDropdown/BaseDropdown.cjs.map +1 -1
  35. package/dist/cjs/components/BaseDropdown/BaseDropdown.styles.cjs +33 -51
  36. package/dist/cjs/components/BaseDropdown/BaseDropdown.styles.cjs.map +1 -1
  37. package/dist/cjs/components/BaseInput/BaseInput.cjs +3 -3
  38. package/dist/cjs/components/BaseInput/BaseInput.cjs.map +1 -1
  39. package/dist/cjs/components/BaseInput/validations.cjs.map +1 -1
  40. package/dist/cjs/components/BaseRadio/BaseRadio.cjs.map +1 -1
  41. package/dist/cjs/components/BaseRadio/BaseRadio.styles.cjs.map +1 -1
  42. package/dist/cjs/components/BaseSwitch/BaseSwitch.cjs.map +1 -1
  43. package/dist/cjs/components/BaseSwitch/BaseSwitch.styles.cjs.map +1 -1
  44. package/dist/cjs/components/Box/Box.cjs.map +1 -1
  45. package/dist/cjs/components/BreadCrumb/BreadCrumb.cjs.map +1 -1
  46. package/dist/cjs/components/BreadCrumb/BreadCrumb.styles.cjs.map +1 -1
  47. package/dist/cjs/components/BreadCrumb/Page/Page.cjs.map +1 -1
  48. package/dist/cjs/components/BreadCrumb/PathElement/PathElement.cjs.map +1 -1
  49. package/dist/cjs/components/BreadCrumb/PathElement/PathElement.styles.cjs.map +1 -1
  50. package/dist/cjs/components/BreadCrumb/utils.cjs.map +1 -1
  51. package/dist/cjs/components/BulkActions/BulkActions.cjs.map +1 -1
  52. package/dist/cjs/components/BulkActions/BulkActions.styles.cjs.map +1 -1
  53. package/dist/cjs/components/Button/Button.cjs.map +1 -1
  54. package/dist/cjs/components/Button/Button.styles.cjs.map +1 -1
  55. package/dist/cjs/components/Calendar/Calendar.cjs.map +1 -1
  56. package/dist/cjs/components/Calendar/Calendar.styles.cjs.map +1 -1
  57. package/dist/cjs/components/Calendar/CalendarHeader/CalendarHeader.cjs.map +1 -1
  58. package/dist/cjs/components/Calendar/CalendarHeader/CalendarHeader.styles.cjs.map +1 -1
  59. package/dist/cjs/components/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.cjs.map +1 -1
  60. package/dist/cjs/components/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.styles.cjs.map +1 -1
  61. package/dist/cjs/components/Calendar/CalendarNavigation/MonthSelector/MonthSelector.cjs.map +1 -1
  62. package/dist/cjs/components/Calendar/CalendarNavigation/Navigation/Navigation.cjs.map +1 -1
  63. package/dist/cjs/components/Calendar/CalendarNavigation/Navigation/Navigation.styles.cjs.map +1 -1
  64. package/dist/cjs/components/Calendar/CalendarWeekLabels/CalendarWeekLabels.cjs.map +1 -1
  65. package/dist/cjs/components/Calendar/CalendarWeekLabels/CalendarWeekLabels.styles.cjs.map +1 -1
  66. package/dist/cjs/components/Calendar/SingleCalendar/CalendarCell.cjs.map +1 -1
  67. package/dist/cjs/components/Calendar/SingleCalendar/SingleCalendar.cjs +1 -1
  68. package/dist/cjs/components/Calendar/SingleCalendar/SingleCalendar.cjs.map +1 -1
  69. package/dist/cjs/components/Calendar/model.cjs.map +1 -1
  70. package/dist/cjs/components/Calendar/utils.cjs.map +1 -1
  71. package/dist/cjs/components/Card/Card.cjs.map +1 -1
  72. package/dist/cjs/components/Card/Content/Content.cjs.map +1 -1
  73. package/dist/cjs/components/Card/Header/Header.cjs.map +1 -1
  74. package/dist/cjs/components/Card/Media/Media.cjs.map +1 -1
  75. package/dist/cjs/components/Carousel/Carousel.cjs.map +1 -1
  76. package/dist/cjs/components/Carousel/Carousel.styles.cjs.map +1 -1
  77. package/dist/cjs/components/Carousel/CarouselSlide/CarouselSlide.cjs.map +1 -1
  78. package/dist/cjs/components/Carousel/CarouselSlide/CarouselSlide.styles.cjs.map +1 -1
  79. package/dist/cjs/components/Carousel/utils.cjs +1 -1
  80. package/dist/cjs/components/Carousel/utils.cjs.map +1 -1
  81. package/dist/cjs/components/CheckBox/CheckBox.cjs.map +1 -1
  82. package/dist/cjs/components/CheckBox/CheckBox.styles.cjs.map +1 -1
  83. package/dist/cjs/components/CheckBoxGroup/CheckBoxGroup.cjs.map +1 -1
  84. package/dist/cjs/components/CheckBoxGroup/CheckBoxGroup.styles.cjs.map +1 -1
  85. package/dist/cjs/components/ColorPicker/ColorPicker.cjs +9 -13
  86. package/dist/cjs/components/ColorPicker/ColorPicker.cjs.map +1 -1
  87. package/dist/cjs/components/ColorPicker/ColorPicker.styles.cjs +5 -18
  88. package/dist/cjs/components/ColorPicker/ColorPicker.styles.cjs.map +1 -1
  89. package/dist/cjs/components/ColorPicker/Fields/Fields.cjs.map +1 -1
  90. package/dist/cjs/components/ColorPicker/Picker/Picker.cjs.map +1 -1
  91. package/dist/cjs/components/ColorPicker/PresetColors/PresetColors.cjs.map +1 -1
  92. package/dist/cjs/components/ColorPicker/PresetColors/presetColorsClasses.cjs.map +1 -1
  93. package/dist/cjs/components/ColorPicker/SavedColors/SavedColors.cjs.map +1 -1
  94. package/dist/cjs/components/ColorPicker/SavedColors/savedColorsClasses.cjs.map +1 -1
  95. package/dist/cjs/components/Container/Container.cjs.map +1 -1
  96. package/dist/cjs/components/Container/Container.styles.cjs.map +1 -1
  97. package/dist/cjs/components/Controls/Controls.cjs.map +1 -1
  98. package/dist/cjs/components/Controls/Controls.styles.cjs.map +1 -1
  99. package/dist/cjs/components/Controls/LeftControl/LeftControl.cjs.map +1 -1
  100. package/dist/cjs/components/Controls/LeftControl/LeftControl.styles.cjs.map +1 -1
  101. package/dist/cjs/components/Controls/RightControl/RightControl.cjs.map +1 -1
  102. package/dist/cjs/components/Controls/RightControl/RightControl.styles.cjs.map +1 -1
  103. package/dist/cjs/components/DatePicker/DatePicker.cjs.map +1 -1
  104. package/dist/cjs/components/DatePicker/DatePicker.styles.cjs +3 -15
  105. package/dist/cjs/components/DatePicker/DatePicker.styles.cjs.map +1 -1
  106. package/dist/cjs/components/DatePicker/useVisibleDate.cjs.map +1 -1
  107. package/dist/cjs/components/DatePicker/utils.cjs.map +1 -1
  108. package/dist/cjs/components/Dialog/Actions/Actions.cjs.map +1 -1
  109. package/dist/cjs/components/Dialog/Actions/Actions.styles.cjs.map +1 -1
  110. package/dist/cjs/components/Dialog/Content/Content.cjs.map +1 -1
  111. package/dist/cjs/components/Dialog/Content/Content.styles.cjs.map +1 -1
  112. package/dist/cjs/components/Dialog/Dialog.cjs.map +1 -1
  113. package/dist/cjs/components/Dialog/Dialog.styles.cjs.map +1 -1
  114. package/dist/cjs/components/Dialog/Title/Title.cjs.map +1 -1
  115. package/dist/cjs/components/Dialog/Title/Title.styles.cjs.map +1 -1
  116. package/dist/cjs/components/DotPagination/DotPagination.cjs.map +1 -1
  117. package/dist/cjs/components/DotPagination/DotPagination.styles.cjs.map +1 -1
  118. package/dist/cjs/components/DropDownMenu/DropDownMenu.cjs.map +1 -1
  119. package/dist/cjs/components/DropDownMenu/DropDownMenu.styles.cjs +1 -4
  120. package/dist/cjs/components/DropDownMenu/DropDownMenu.styles.cjs.map +1 -1
  121. package/dist/cjs/components/Dropdown/Dropdown.cjs.map +1 -1
  122. package/dist/cjs/components/Dropdown/Dropdown.styles.cjs +6 -16
  123. package/dist/cjs/components/Dropdown/Dropdown.styles.cjs.map +1 -1
  124. package/dist/cjs/components/Dropdown/List/List.cjs.map +1 -1
  125. package/dist/cjs/components/Dropdown/List/List.styles.cjs +15 -9
  126. package/dist/cjs/components/Dropdown/List/List.styles.cjs.map +1 -1
  127. package/dist/cjs/components/EmptyState/EmptyState.cjs.map +1 -1
  128. package/dist/cjs/components/EmptyState/EmptyState.styles.cjs.map +1 -1
  129. package/dist/cjs/components/FileUploader/DropZone/DropZone.cjs.map +1 -1
  130. package/dist/cjs/components/FileUploader/DropZone/DropZone.styles.cjs.map +1 -1
  131. package/dist/cjs/components/FileUploader/File/File.cjs.map +1 -1
  132. package/dist/cjs/components/FileUploader/File/File.styles.cjs.map +1 -1
  133. package/dist/cjs/components/FileUploader/FileList/FileList.cjs.map +1 -1
  134. package/dist/cjs/components/FileUploader/FileUploader.cjs.map +1 -1
  135. package/dist/cjs/components/FileUploader/Preview/Preview.cjs.map +1 -1
  136. package/dist/cjs/components/FileUploader/Preview/Preview.styles.cjs.map +1 -1
  137. package/dist/cjs/components/FileUploader/Preview/previewClasses.cjs.map +1 -1
  138. package/dist/cjs/components/FilterGroup/Counter/Counter.cjs.map +1 -1
  139. package/dist/cjs/components/FilterGroup/Counter/Counter.styles.cjs +2 -4
  140. package/dist/cjs/components/FilterGroup/Counter/Counter.styles.cjs.map +1 -1
  141. package/dist/cjs/components/FilterGroup/FilterContent/FilterContent.cjs.map +1 -1
  142. package/dist/cjs/components/FilterGroup/FilterContent/FilterContent.styles.cjs +2 -10
  143. package/dist/cjs/components/FilterGroup/FilterContent/FilterContent.styles.cjs.map +1 -1
  144. package/dist/cjs/components/FilterGroup/FilterGroup.cjs.map +1 -1
  145. package/dist/cjs/components/FilterGroup/FilterGroupContext.cjs.map +1 -1
  146. package/dist/cjs/components/FilterGroup/LeftPanel/LeftPanel.cjs.map +1 -1
  147. package/dist/cjs/components/FilterGroup/LeftPanel/leftPanelClasses.cjs.map +1 -1
  148. package/dist/cjs/components/FilterGroup/RightPanel/RightPanel.cjs.map +1 -1
  149. package/dist/cjs/components/FilterGroup/RightPanel/rightPanelClasses.cjs.map +1 -1
  150. package/dist/cjs/components/Focus/Focus.cjs +1 -1
  151. package/dist/cjs/components/Focus/Focus.cjs.map +1 -1
  152. package/dist/cjs/components/Focus/Focus.styles.cjs.map +1 -1
  153. package/dist/cjs/components/Focus/utils.cjs.map +1 -1
  154. package/dist/cjs/components/Footer/Footer.cjs.map +1 -1
  155. package/dist/cjs/components/Footer/Footer.styles.cjs.map +1 -1
  156. package/dist/cjs/components/Forms/Adornment/Adornment.cjs.map +1 -1
  157. package/dist/cjs/components/Forms/Adornment/Adornment.styles.cjs.map +1 -1
  158. package/dist/cjs/components/Forms/CharCounter/CharCounter.cjs.map +1 -1
  159. package/dist/cjs/components/Forms/CharCounter/CharCounter.styles.cjs.map +1 -1
  160. package/dist/cjs/components/Forms/FormElement/FormElement.cjs.map +1 -1
  161. package/dist/cjs/components/Forms/FormElement/validationStates.cjs.map +1 -1
  162. package/dist/cjs/components/Forms/InfoMessage/InfoMessage.cjs.map +1 -1
  163. package/dist/cjs/components/Forms/InfoMessage/InfoMessage.styles.cjs +2 -1
  164. package/dist/cjs/components/Forms/InfoMessage/InfoMessage.styles.cjs.map +1 -1
  165. package/dist/cjs/components/Forms/Label/Label.cjs.map +1 -1
  166. package/dist/cjs/components/Forms/Label/Label.styles.cjs +2 -1
  167. package/dist/cjs/components/Forms/Label/Label.styles.cjs.map +1 -1
  168. package/dist/cjs/components/Forms/Suggestions/Suggestions.cjs.map +1 -1
  169. package/dist/cjs/components/Forms/Suggestions/Suggestions.styles.cjs.map +1 -1
  170. package/dist/cjs/components/Forms/WarningText/WarningText.cjs.map +1 -1
  171. package/dist/cjs/components/Forms/WarningText/WarningText.styles.cjs.map +1 -1
  172. package/dist/cjs/components/GlobalActions/GlobalActions.cjs.map +1 -1
  173. package/dist/cjs/components/GlobalActions/GlobalActions.styles.cjs.map +1 -1
  174. package/dist/cjs/components/Grid/Grid.cjs.map +1 -1
  175. package/dist/cjs/components/Header/Actions/Actions.cjs.map +1 -1
  176. package/dist/cjs/components/Header/Brand/Brand.cjs.map +1 -1
  177. package/dist/cjs/components/Header/Brand/Brand.styles.cjs.map +1 -1
  178. package/dist/cjs/components/Header/Header.cjs.map +1 -1
  179. package/dist/cjs/components/Header/Header.styles.cjs.map +1 -1
  180. package/dist/cjs/components/Header/Navigation/MenuBar/MenuBar.cjs.map +1 -1
  181. package/dist/cjs/components/Header/Navigation/MenuBar/MenuBar.styles.cjs.map +1 -1
  182. package/dist/cjs/components/Header/Navigation/MenuItem/MenuItem.cjs +4 -2
  183. package/dist/cjs/components/Header/Navigation/MenuItem/MenuItem.cjs.map +1 -1
  184. package/dist/cjs/components/Header/Navigation/MenuItem/MenuItem.styles.cjs +33 -13
  185. package/dist/cjs/components/Header/Navigation/MenuItem/MenuItem.styles.cjs.map +1 -1
  186. package/dist/cjs/components/Header/Navigation/Navigation.cjs.map +1 -1
  187. package/dist/cjs/components/Header/Navigation/Navigation.styles.cjs.map +1 -1
  188. package/dist/cjs/components/Header/Navigation/utils/FocusContext.cjs.map +1 -1
  189. package/dist/cjs/components/Header/Navigation/utils/SelectionContext.cjs +1 -1
  190. package/dist/cjs/components/Header/Navigation/utils/SelectionContext.cjs.map +1 -1
  191. package/dist/cjs/components/InlineEditor/InlineEditor.cjs +1 -1
  192. package/dist/cjs/components/InlineEditor/InlineEditor.cjs.map +1 -1
  193. package/dist/cjs/components/Input/Input.cjs.map +1 -1
  194. package/dist/cjs/components/Kpi/Kpi.cjs.map +1 -1
  195. package/dist/cjs/components/Kpi/Kpi.styles.cjs.map +1 -1
  196. package/dist/cjs/components/Link/Link.cjs.map +1 -1
  197. package/dist/cjs/components/List/List.cjs.map +1 -1
  198. package/dist/cjs/components/List/List.styles.cjs.map +1 -1
  199. package/dist/cjs/components/List/useSelectableList.cjs.map +1 -1
  200. package/dist/cjs/components/ListContainer/ListContainer.cjs.map +1 -1
  201. package/dist/cjs/components/ListContainer/ListItem/ListItem.cjs.map +1 -1
  202. package/dist/cjs/components/ListContainer/ListItem/ListItem.styles.cjs.map +1 -1
  203. package/dist/cjs/components/Loading/Loading.cjs.map +1 -1
  204. package/dist/cjs/components/Loading/Loading.styles.cjs.map +1 -1
  205. package/dist/cjs/components/Login/Login.cjs.map +1 -1
  206. package/dist/cjs/components/Login/Login.styles.cjs.map +1 -1
  207. package/dist/cjs/components/MultiButton/MultiButton.cjs.map +1 -1
  208. package/dist/cjs/components/MultiButton/MultiButton.styles.cjs.map +1 -1
  209. package/dist/cjs/components/OverflowTooltip/OverflowTooltip.cjs.map +1 -1
  210. package/dist/cjs/components/OverflowTooltip/OverflowTooltip.styles.cjs.map +1 -1
  211. package/dist/cjs/components/Pagination/ButtonIconTooltip.cjs.map +1 -1
  212. package/dist/cjs/components/Pagination/Pagination.cjs +0 -1
  213. package/dist/cjs/components/Pagination/Pagination.cjs.map +1 -1
  214. package/dist/cjs/components/Pagination/Pagination.styles.cjs.map +1 -1
  215. package/dist/cjs/components/Pagination/Select.cjs +23 -27
  216. package/dist/cjs/components/Pagination/Select.cjs.map +1 -1
  217. package/dist/cjs/components/Pagination/Select.styles.cjs +17 -28
  218. package/dist/cjs/components/Pagination/Select.styles.cjs.map +1 -1
  219. package/dist/cjs/components/Pagination/utils.cjs.map +1 -1
  220. package/dist/cjs/components/Panel/Panel.cjs.map +1 -1
  221. package/dist/cjs/components/ProgressBar/ProgressBar.cjs.map +1 -1
  222. package/dist/cjs/components/ProgressBar/ProgressBar.styles.cjs.map +1 -1
  223. package/dist/cjs/components/QueryBuilder/ConfirmationDialog/ConfirmationDialog.cjs.map +1 -1
  224. package/dist/cjs/components/QueryBuilder/QueryBuilder.cjs.map +1 -1
  225. package/dist/cjs/components/QueryBuilder/Rule/Attribute/Attribute.cjs.map +1 -1
  226. package/dist/cjs/components/QueryBuilder/Rule/Operator/Operator.cjs.map +1 -1
  227. package/dist/cjs/components/QueryBuilder/Rule/Rule.cjs.map +1 -1
  228. package/dist/cjs/components/QueryBuilder/Rule/Value/BooleanValue/BooleanValue.cjs.map +1 -1
  229. package/dist/cjs/components/QueryBuilder/Rule/Value/NumericValue/NumericValue.cjs.map +1 -1
  230. package/dist/cjs/components/QueryBuilder/Rule/Value/TextValue/TextValue.cjs.map +1 -1
  231. package/dist/cjs/components/QueryBuilder/Rule/Value/Value.cjs.map +1 -1
  232. package/dist/cjs/components/QueryBuilder/RuleGroup/RuleGroup.cjs.map +1 -1
  233. package/dist/cjs/components/QueryBuilder/utils/index.cjs.map +1 -1
  234. package/dist/cjs/components/QueryBuilder/utils/reducer.cjs.map +1 -1
  235. package/dist/cjs/components/Radio/Radio.cjs.map +1 -1
  236. package/dist/cjs/components/Radio/Radio.styles.cjs.map +1 -1
  237. package/dist/cjs/components/RadioGroup/RadioGroup.cjs.map +1 -1
  238. package/dist/cjs/components/RadioGroup/RadioGroup.styles.cjs.map +1 -1
  239. package/dist/cjs/components/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.cjs.map +1 -1
  240. package/dist/cjs/components/ScrollTo/Horizontal/HorizontalScrollListItem/horizontalScrollListItemClasses.cjs.map +1 -1
  241. package/dist/cjs/components/ScrollTo/Horizontal/ScrollToHorizontal.cjs.map +1 -1
  242. package/dist/cjs/components/ScrollTo/Vertical/ScrollToVertical.cjs.map +1 -1
  243. package/dist/cjs/components/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.cjs.map +1 -1
  244. package/dist/cjs/components/ScrollTo/Vertical/VerticalScrollListItem/verticalScrollListItemClasses.cjs.map +1 -1
  245. package/dist/cjs/components/ScrollTo/useScrollTo.cjs.map +1 -1
  246. package/dist/cjs/components/ScrollTo/withTooltip.cjs +1 -1
  247. package/dist/cjs/components/ScrollTo/withTooltip.cjs.map +1 -1
  248. package/dist/cjs/components/SelectionList/SelectionList.cjs.map +1 -1
  249. package/dist/cjs/components/SelectionList/SelectionList.styles.cjs.map +1 -1
  250. package/dist/cjs/components/SimpleGrid/SimpleGrid.cjs.map +1 -1
  251. package/dist/cjs/components/SimpleGrid/SimpleGrid.styles.cjs.map +1 -1
  252. package/dist/cjs/components/Slider/Slider.cjs.map +1 -1
  253. package/dist/cjs/components/Slider/Slider.styles.cjs.map +1 -1
  254. package/dist/cjs/components/Slider/SliderInput/SliderInput.cjs.map +1 -1
  255. package/dist/cjs/components/Slider/SliderInput/SliderInput.styles.cjs.map +1 -1
  256. package/dist/cjs/components/Slider/utils.cjs.map +1 -1
  257. package/dist/cjs/components/Snackbar/Snackbar.cjs.map +1 -1
  258. package/dist/cjs/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.cjs.map +1 -1
  259. package/dist/cjs/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.styles.cjs.map +1 -1
  260. package/dist/cjs/components/Snackbar/SnackbarProvider/SnackbarProvider.cjs.map +1 -1
  261. package/dist/cjs/components/Stack/Stack.cjs.map +1 -1
  262. package/dist/cjs/components/Stack/Stack.styles.cjs.map +1 -1
  263. package/dist/cjs/components/Switch/Switch.cjs.map +1 -1
  264. package/dist/cjs/components/Switch/Switch.styles.cjs.map +1 -1
  265. package/dist/cjs/components/Tab/Tab.cjs.map +1 -1
  266. package/dist/cjs/components/Table/Table.cjs.map +1 -1
  267. package/dist/cjs/components/Table/TableBody/TableBody.cjs +1 -2
  268. package/dist/cjs/components/Table/TableBody/TableBody.cjs.map +1 -1
  269. package/dist/cjs/components/Table/TableCell/TableCell.cjs.map +1 -1
  270. package/dist/cjs/components/Table/TableContainer/TableContainer.cjs.map +1 -1
  271. package/dist/cjs/components/Table/TableHead/TableHead.cjs.map +1 -1
  272. package/dist/cjs/components/Table/TableHeader/TableHeader.cjs.map +1 -1
  273. package/dist/cjs/components/Table/TableHeader/TableHeader.styles.cjs.map +1 -1
  274. package/dist/cjs/components/Table/TableHeader/utils.cjs.map +1 -1
  275. package/dist/cjs/components/Table/TableRow/TableRow.cjs.map +1 -1
  276. package/dist/cjs/components/Table/TableRow/TableRow.styles.cjs.map +1 -1
  277. package/dist/cjs/components/Table/hooks/useBulkActions.cjs.map +1 -1
  278. package/dist/cjs/components/Table/hooks/useHeaderGroups.cjs.map +1 -1
  279. package/dist/cjs/components/Table/hooks/usePagination.cjs.map +1 -1
  280. package/dist/cjs/components/Table/hooks/useResizeColumns.cjs.map +1 -1
  281. package/dist/cjs/components/Table/hooks/useRowExpand.cjs.map +1 -1
  282. package/dist/cjs/components/Table/hooks/useRowSelection.cjs.map +1 -1
  283. package/dist/cjs/components/Table/hooks/useSortBy.cjs.map +1 -1
  284. package/dist/cjs/components/Table/hooks/useSticky.cjs.map +1 -1
  285. package/dist/cjs/components/Table/hooks/useTable.cjs.map +1 -1
  286. package/dist/cjs/components/Table/hooks/useTableStyles.cjs.map +1 -1
  287. package/dist/cjs/components/Table/renderers/DateColumnCell/DateColumnCell.cjs +2 -2
  288. package/dist/cjs/components/Table/renderers/DateColumnCell/DateColumnCell.cjs.map +1 -1
  289. package/dist/cjs/components/Table/renderers/DropdownColumnCell/DropdownColumnCell.cjs +3 -3
  290. package/dist/cjs/components/Table/renderers/DropdownColumnCell/DropdownColumnCell.cjs.map +1 -1
  291. package/dist/cjs/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.cjs +2 -2
  292. package/dist/cjs/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.cjs.map +1 -1
  293. package/dist/cjs/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.styles.cjs.map +1 -1
  294. package/dist/cjs/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.cjs +2 -2
  295. package/dist/cjs/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.cjs.map +1 -1
  296. package/dist/cjs/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.styles.cjs.map +1 -1
  297. package/dist/cjs/components/Table/renderers/renderers.cjs.map +1 -1
  298. package/dist/cjs/components/Tabs/Tabs.cjs.map +1 -1
  299. package/dist/cjs/components/Tag/Tag.cjs.map +1 -1
  300. package/dist/cjs/components/Tag/Tag.styles.cjs.map +1 -1
  301. package/dist/cjs/components/TagsInput/TagsInput.cjs.map +1 -1
  302. package/dist/cjs/components/TagsInput/TagsInput.styles.cjs.map +1 -1
  303. package/dist/cjs/components/TextArea/TextArea.cjs.map +1 -1
  304. package/dist/cjs/components/TextArea/TextArea.styles.cjs.map +1 -1
  305. package/dist/cjs/components/TimeAgo/TimeAgo.cjs +3 -5
  306. package/dist/cjs/components/TimeAgo/TimeAgo.cjs.map +1 -1
  307. package/dist/cjs/components/TimeAgo/formatUtils.cjs.map +1 -1
  308. package/dist/cjs/components/TimePicker/Placeholder.cjs +70 -0
  309. package/dist/cjs/components/TimePicker/Placeholder.cjs.map +1 -0
  310. package/dist/cjs/components/TimePicker/TimePicker.cjs +222 -0
  311. package/dist/cjs/components/TimePicker/TimePicker.cjs.map +1 -0
  312. package/dist/cjs/components/TimePicker/TimePicker.styles.cjs +53 -0
  313. package/dist/cjs/components/TimePicker/TimePicker.styles.cjs.map +1 -0
  314. package/dist/cjs/components/TimePicker/Unit/Unit.cjs +72 -0
  315. package/dist/cjs/components/TimePicker/Unit/Unit.cjs.map +1 -0
  316. package/dist/cjs/components/TimePicker/Unit/Unit.styles.cjs +56 -0
  317. package/dist/cjs/components/TimePicker/Unit/Unit.styles.cjs.map +1 -0
  318. package/dist/cjs/components/ToggleButton/ToggleButton.cjs.map +1 -1
  319. package/dist/cjs/components/Tooltip/Tooltip.cjs.map +1 -1
  320. package/dist/cjs/components/Typography/Typography.cjs.map +1 -1
  321. package/dist/cjs/components/Typography/utils.cjs.map +1 -1
  322. package/dist/cjs/components/VerticalNavigation/Actions/Action.cjs.map +1 -1
  323. package/dist/cjs/components/VerticalNavigation/Actions/Action.styles.cjs.map +1 -1
  324. package/dist/cjs/components/VerticalNavigation/Actions/Actions.cjs.map +1 -1
  325. package/dist/cjs/components/VerticalNavigation/Header/Header.cjs.map +1 -1
  326. package/dist/cjs/components/VerticalNavigation/Header/Header.styles.cjs.map +1 -1
  327. package/dist/cjs/components/VerticalNavigation/Header/headerClasses.cjs.map +1 -1
  328. package/dist/cjs/components/VerticalNavigation/Navigation/Navigation.cjs.map +1 -1
  329. package/dist/cjs/components/VerticalNavigation/Navigation/navigationClasses.cjs.map +1 -1
  330. package/dist/cjs/components/VerticalNavigation/NavigationPopup/NavigationPopup.cjs.map +1 -1
  331. package/dist/cjs/components/VerticalNavigation/NavigationSlider/NavigationSlider.cjs.map +1 -1
  332. package/dist/cjs/components/VerticalNavigation/NavigationSlider/navigationSliderClasses.cjs.map +1 -1
  333. package/dist/cjs/components/VerticalNavigation/NavigationSlider/utils/NavigationSlider.utils.cjs.map +1 -1
  334. package/dist/cjs/components/VerticalNavigation/TreeView/IconWrapper/IconWrapper.cjs.map +1 -1
  335. package/dist/cjs/components/VerticalNavigation/TreeView/IconWrapper/IconWrapper.styles.cjs.map +1 -1
  336. package/dist/cjs/components/VerticalNavigation/TreeView/TooltipWrapper/TooltipWrapper.cjs.map +1 -1
  337. package/dist/cjs/components/VerticalNavigation/TreeView/TreeView.cjs.map +1 -1
  338. package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.cjs.map +1 -1
  339. package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.styles.cjs.map +1 -1
  340. package/dist/cjs/components/VerticalNavigation/TreeView/descendants.cjs +2 -2
  341. package/dist/cjs/components/VerticalNavigation/TreeView/descendants.cjs.map +1 -1
  342. package/dist/cjs/components/VerticalNavigation/TreeView/treeViewItemClasses.cjs.map +1 -1
  343. package/dist/cjs/components/VerticalNavigation/VerticalNavigation.cjs +0 -3
  344. package/dist/cjs/components/VerticalNavigation/VerticalNavigation.cjs.map +1 -1
  345. package/dist/cjs/components/VerticalNavigation/VerticalNavigation.styles.cjs.map +1 -1
  346. package/dist/cjs/components/VerticalNavigation/VerticalNavigationContext.cjs.map +1 -1
  347. package/dist/cjs/hocs/withTooltip.cjs.map +1 -1
  348. package/dist/cjs/hooks/useClickOutside.cjs +1 -1
  349. package/dist/cjs/hooks/useClickOutside.cjs.map +1 -1
  350. package/dist/cjs/hooks/useControlled.cjs.map +1 -1
  351. package/dist/cjs/hooks/useCss.cjs +80 -0
  352. package/dist/cjs/hooks/useCss.cjs.map +1 -0
  353. package/dist/cjs/hooks/useEmotionCache.cjs +12 -0
  354. package/dist/cjs/hooks/useEmotionCache.cjs.map +1 -0
  355. package/dist/cjs/hooks/useForkRef.cjs.map +1 -1
  356. package/dist/cjs/hooks/useTheme.cjs +1 -3
  357. package/dist/cjs/hooks/useTheme.cjs.map +1 -1
  358. package/dist/cjs/index.cjs +15 -6
  359. package/dist/cjs/index.cjs.map +1 -1
  360. package/dist/cjs/providers/Provider.cjs +4 -3
  361. package/dist/cjs/providers/Provider.cjs.map +1 -1
  362. package/dist/cjs/providers/ThemeProvider.cjs +22 -1
  363. package/dist/cjs/providers/ThemeProvider.cjs.map +1 -1
  364. package/dist/cjs/utils/browser.cjs +2 -1
  365. package/dist/cjs/utils/browser.cjs.map +1 -1
  366. package/dist/cjs/utils/classes.cjs +44 -0
  367. package/dist/cjs/utils/classes.cjs.map +1 -1
  368. package/dist/cjs/utils/focusableElementFinder.cjs +1 -1
  369. package/dist/cjs/utils/focusableElementFinder.cjs.map +1 -1
  370. package/dist/cjs/utils/iconVariant.cjs.map +1 -1
  371. package/dist/cjs/utils/multiSelectionEventHandler.cjs.map +1 -1
  372. package/dist/cjs/utils/sizes.cjs.map +1 -1
  373. package/dist/cjs/utils/theme.cjs +4 -3
  374. package/dist/cjs/utils/theme.cjs.map +1 -1
  375. package/dist/cjs/utils/useSavedState.cjs.map +1 -1
  376. package/dist/cjs/utils/wrapperTooltip.cjs.map +1 -1
  377. package/dist/esm/components/Accordion/Accordion.js.map +1 -1
  378. package/dist/esm/components/Accordion/Accordion.styles.js.map +1 -1
  379. package/dist/esm/components/ActionBar/ActionBar.js +11 -9
  380. package/dist/esm/components/ActionBar/ActionBar.js.map +1 -1
  381. package/dist/esm/components/ActionBar/ActionBar.styles.js +16 -15
  382. package/dist/esm/components/ActionBar/ActionBar.styles.js.map +1 -1
  383. package/dist/esm/components/ActionsGeneric/ActionsGeneric.js.map +1 -1
  384. package/dist/esm/components/ActionsGeneric/ActionsGeneric.styles.js.map +1 -1
  385. package/dist/esm/components/AppSwitcher/Action/Action.js.map +1 -1
  386. package/dist/esm/components/AppSwitcher/Action/Action.styles.js.map +1 -1
  387. package/dist/esm/components/AppSwitcher/AppSwitcher.js.map +1 -1
  388. package/dist/esm/components/AppSwitcher/AppSwitcher.styles.js.map +1 -1
  389. package/dist/esm/components/AppSwitcher/TitleWithTooltip.js.map +1 -1
  390. package/dist/esm/components/Avatar/Avatar.js.map +1 -1
  391. package/dist/esm/components/Avatar/Avatar.styles.js +36 -41
  392. package/dist/esm/components/Avatar/Avatar.styles.js.map +1 -1
  393. package/dist/esm/components/Badge/Badge.js.map +1 -1
  394. package/dist/esm/components/Badge/Badge.styles.js.map +1 -1
  395. package/dist/esm/components/Banner/Banner.js +38 -44
  396. package/dist/esm/components/Banner/Banner.js.map +1 -1
  397. package/dist/esm/components/Banner/Banner.styles.js +12 -3
  398. package/dist/esm/components/Banner/Banner.styles.js.map +1 -1
  399. package/dist/esm/components/Banner/BannerContent/ActionContainer/ActionContainer.js.map +1 -1
  400. package/dist/esm/components/Banner/BannerContent/ActionContainer/actionContainerClasses.js.map +1 -1
  401. package/dist/esm/components/Banner/BannerContent/BannerContent.js +51 -51
  402. package/dist/esm/components/Banner/BannerContent/BannerContent.js.map +1 -1
  403. package/dist/esm/components/Banner/BannerContent/BannerContent.styles.js +8 -3
  404. package/dist/esm/components/Banner/BannerContent/BannerContent.styles.js.map +1 -1
  405. package/dist/esm/components/Banner/BannerContent/MessageContainer/MessageContainer.js.map +1 -1
  406. package/dist/esm/components/Banner/BannerContent/MessageContainer/messageContainerClasses.js.map +1 -1
  407. package/dist/esm/components/BaseCheckBox/BaseCheckBox.js.map +1 -1
  408. package/dist/esm/components/BaseCheckBox/BaseCheckBox.styles.js.map +1 -1
  409. package/dist/esm/components/BaseDropdown/BaseDropdown.js +17 -17
  410. package/dist/esm/components/BaseDropdown/BaseDropdown.js.map +1 -1
  411. package/dist/esm/components/BaseDropdown/BaseDropdown.styles.js +33 -51
  412. package/dist/esm/components/BaseDropdown/BaseDropdown.styles.js.map +1 -1
  413. package/dist/esm/components/BaseInput/BaseInput.js +3 -3
  414. package/dist/esm/components/BaseInput/BaseInput.js.map +1 -1
  415. package/dist/esm/components/BaseInput/validations.js.map +1 -1
  416. package/dist/esm/components/BaseRadio/BaseRadio.js.map +1 -1
  417. package/dist/esm/components/BaseRadio/BaseRadio.styles.js.map +1 -1
  418. package/dist/esm/components/BaseSwitch/BaseSwitch.js.map +1 -1
  419. package/dist/esm/components/BaseSwitch/BaseSwitch.styles.js.map +1 -1
  420. package/dist/esm/components/Box/Box.js.map +1 -1
  421. package/dist/esm/components/BreadCrumb/BreadCrumb.js.map +1 -1
  422. package/dist/esm/components/BreadCrumb/BreadCrumb.styles.js.map +1 -1
  423. package/dist/esm/components/BreadCrumb/Page/Page.js.map +1 -1
  424. package/dist/esm/components/BreadCrumb/PathElement/PathElement.js.map +1 -1
  425. package/dist/esm/components/BreadCrumb/PathElement/PathElement.styles.js.map +1 -1
  426. package/dist/esm/components/BreadCrumb/utils.js.map +1 -1
  427. package/dist/esm/components/BulkActions/BulkActions.js.map +1 -1
  428. package/dist/esm/components/BulkActions/BulkActions.styles.js.map +1 -1
  429. package/dist/esm/components/Button/Button.js.map +1 -1
  430. package/dist/esm/components/Button/Button.styles.js.map +1 -1
  431. package/dist/esm/components/Calendar/Calendar.js.map +1 -1
  432. package/dist/esm/components/Calendar/Calendar.styles.js.map +1 -1
  433. package/dist/esm/components/Calendar/CalendarHeader/CalendarHeader.js.map +1 -1
  434. package/dist/esm/components/Calendar/CalendarHeader/CalendarHeader.styles.js.map +1 -1
  435. package/dist/esm/components/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.js.map +1 -1
  436. package/dist/esm/components/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.styles.js.map +1 -1
  437. package/dist/esm/components/Calendar/CalendarNavigation/MonthSelector/MonthSelector.js.map +1 -1
  438. package/dist/esm/components/Calendar/CalendarNavigation/Navigation/Navigation.js.map +1 -1
  439. package/dist/esm/components/Calendar/CalendarNavigation/Navigation/Navigation.styles.js.map +1 -1
  440. package/dist/esm/components/Calendar/CalendarWeekLabels/CalendarWeekLabels.js.map +1 -1
  441. package/dist/esm/components/Calendar/CalendarWeekLabels/CalendarWeekLabels.styles.js.map +1 -1
  442. package/dist/esm/components/Calendar/SingleCalendar/CalendarCell.js.map +1 -1
  443. package/dist/esm/components/Calendar/SingleCalendar/SingleCalendar.js +1 -1
  444. package/dist/esm/components/Calendar/SingleCalendar/SingleCalendar.js.map +1 -1
  445. package/dist/esm/components/Calendar/model.js.map +1 -1
  446. package/dist/esm/components/Calendar/utils.js.map +1 -1
  447. package/dist/esm/components/Card/Card.js.map +1 -1
  448. package/dist/esm/components/Card/Content/Content.js.map +1 -1
  449. package/dist/esm/components/Card/Header/Header.js.map +1 -1
  450. package/dist/esm/components/Card/Media/Media.js.map +1 -1
  451. package/dist/esm/components/Carousel/Carousel.js.map +1 -1
  452. package/dist/esm/components/Carousel/Carousel.styles.js.map +1 -1
  453. package/dist/esm/components/Carousel/CarouselSlide/CarouselSlide.js.map +1 -1
  454. package/dist/esm/components/Carousel/CarouselSlide/CarouselSlide.styles.js.map +1 -1
  455. package/dist/esm/components/Carousel/utils.js +1 -1
  456. package/dist/esm/components/Carousel/utils.js.map +1 -1
  457. package/dist/esm/components/CheckBox/CheckBox.js.map +1 -1
  458. package/dist/esm/components/CheckBox/CheckBox.styles.js.map +1 -1
  459. package/dist/esm/components/CheckBoxGroup/CheckBoxGroup.js.map +1 -1
  460. package/dist/esm/components/CheckBoxGroup/CheckBoxGroup.styles.js.map +1 -1
  461. package/dist/esm/components/ColorPicker/ColorPicker.js +9 -13
  462. package/dist/esm/components/ColorPicker/ColorPicker.js.map +1 -1
  463. package/dist/esm/components/ColorPicker/ColorPicker.styles.js +5 -18
  464. package/dist/esm/components/ColorPicker/ColorPicker.styles.js.map +1 -1
  465. package/dist/esm/components/ColorPicker/Fields/Fields.js.map +1 -1
  466. package/dist/esm/components/ColorPicker/Picker/Picker.js.map +1 -1
  467. package/dist/esm/components/ColorPicker/PresetColors/PresetColors.js.map +1 -1
  468. package/dist/esm/components/ColorPicker/PresetColors/presetColorsClasses.js.map +1 -1
  469. package/dist/esm/components/ColorPicker/SavedColors/SavedColors.js.map +1 -1
  470. package/dist/esm/components/ColorPicker/SavedColors/savedColorsClasses.js.map +1 -1
  471. package/dist/esm/components/Container/Container.js.map +1 -1
  472. package/dist/esm/components/Container/Container.styles.js.map +1 -1
  473. package/dist/esm/components/Controls/Controls.js.map +1 -1
  474. package/dist/esm/components/Controls/Controls.styles.js.map +1 -1
  475. package/dist/esm/components/Controls/LeftControl/LeftControl.js.map +1 -1
  476. package/dist/esm/components/Controls/LeftControl/LeftControl.styles.js.map +1 -1
  477. package/dist/esm/components/Controls/RightControl/RightControl.js.map +1 -1
  478. package/dist/esm/components/Controls/RightControl/RightControl.styles.js.map +1 -1
  479. package/dist/esm/components/DatePicker/DatePicker.js.map +1 -1
  480. package/dist/esm/components/DatePicker/DatePicker.styles.js +3 -15
  481. package/dist/esm/components/DatePicker/DatePicker.styles.js.map +1 -1
  482. package/dist/esm/components/DatePicker/useVisibleDate.js.map +1 -1
  483. package/dist/esm/components/DatePicker/utils.js.map +1 -1
  484. package/dist/esm/components/Dialog/Actions/Actions.js.map +1 -1
  485. package/dist/esm/components/Dialog/Actions/Actions.styles.js.map +1 -1
  486. package/dist/esm/components/Dialog/Content/Content.js.map +1 -1
  487. package/dist/esm/components/Dialog/Content/Content.styles.js.map +1 -1
  488. package/dist/esm/components/Dialog/Dialog.js.map +1 -1
  489. package/dist/esm/components/Dialog/Dialog.styles.js.map +1 -1
  490. package/dist/esm/components/Dialog/Title/Title.js.map +1 -1
  491. package/dist/esm/components/Dialog/Title/Title.styles.js.map +1 -1
  492. package/dist/esm/components/DotPagination/DotPagination.js.map +1 -1
  493. package/dist/esm/components/DotPagination/DotPagination.styles.js.map +1 -1
  494. package/dist/esm/components/DropDownMenu/DropDownMenu.js.map +1 -1
  495. package/dist/esm/components/DropDownMenu/DropDownMenu.styles.js +1 -4
  496. package/dist/esm/components/DropDownMenu/DropDownMenu.styles.js.map +1 -1
  497. package/dist/esm/components/Dropdown/Dropdown.js.map +1 -1
  498. package/dist/esm/components/Dropdown/Dropdown.styles.js +6 -16
  499. package/dist/esm/components/Dropdown/Dropdown.styles.js.map +1 -1
  500. package/dist/esm/components/Dropdown/List/List.js.map +1 -1
  501. package/dist/esm/components/Dropdown/List/List.styles.js +15 -9
  502. package/dist/esm/components/Dropdown/List/List.styles.js.map +1 -1
  503. package/dist/esm/components/EmptyState/EmptyState.js.map +1 -1
  504. package/dist/esm/components/EmptyState/EmptyState.styles.js.map +1 -1
  505. package/dist/esm/components/FileUploader/DropZone/DropZone.js.map +1 -1
  506. package/dist/esm/components/FileUploader/DropZone/DropZone.styles.js.map +1 -1
  507. package/dist/esm/components/FileUploader/File/File.js.map +1 -1
  508. package/dist/esm/components/FileUploader/File/File.styles.js.map +1 -1
  509. package/dist/esm/components/FileUploader/FileList/FileList.js.map +1 -1
  510. package/dist/esm/components/FileUploader/FileUploader.js.map +1 -1
  511. package/dist/esm/components/FileUploader/Preview/Preview.js.map +1 -1
  512. package/dist/esm/components/FileUploader/Preview/Preview.styles.js.map +1 -1
  513. package/dist/esm/components/FileUploader/Preview/previewClasses.js.map +1 -1
  514. package/dist/esm/components/FilterGroup/Counter/Counter.js.map +1 -1
  515. package/dist/esm/components/FilterGroup/Counter/Counter.styles.js +2 -4
  516. package/dist/esm/components/FilterGroup/Counter/Counter.styles.js.map +1 -1
  517. package/dist/esm/components/FilterGroup/FilterContent/FilterContent.js.map +1 -1
  518. package/dist/esm/components/FilterGroup/FilterContent/FilterContent.styles.js +2 -10
  519. package/dist/esm/components/FilterGroup/FilterContent/FilterContent.styles.js.map +1 -1
  520. package/dist/esm/components/FilterGroup/FilterGroup.js.map +1 -1
  521. package/dist/esm/components/FilterGroup/FilterGroupContext.js.map +1 -1
  522. package/dist/esm/components/FilterGroup/LeftPanel/LeftPanel.js.map +1 -1
  523. package/dist/esm/components/FilterGroup/LeftPanel/leftPanelClasses.js.map +1 -1
  524. package/dist/esm/components/FilterGroup/RightPanel/RightPanel.js.map +1 -1
  525. package/dist/esm/components/FilterGroup/RightPanel/rightPanelClasses.js.map +1 -1
  526. package/dist/esm/components/Focus/Focus.js +1 -1
  527. package/dist/esm/components/Focus/Focus.js.map +1 -1
  528. package/dist/esm/components/Focus/Focus.styles.js.map +1 -1
  529. package/dist/esm/components/Focus/utils.js.map +1 -1
  530. package/dist/esm/components/Footer/Footer.js.map +1 -1
  531. package/dist/esm/components/Footer/Footer.styles.js.map +1 -1
  532. package/dist/esm/components/Forms/Adornment/Adornment.js.map +1 -1
  533. package/dist/esm/components/Forms/Adornment/Adornment.styles.js.map +1 -1
  534. package/dist/esm/components/Forms/CharCounter/CharCounter.js.map +1 -1
  535. package/dist/esm/components/Forms/CharCounter/CharCounter.styles.js.map +1 -1
  536. package/dist/esm/components/Forms/FormElement/FormElement.js.map +1 -1
  537. package/dist/esm/components/Forms/FormElement/validationStates.js.map +1 -1
  538. package/dist/esm/components/Forms/InfoMessage/InfoMessage.js.map +1 -1
  539. package/dist/esm/components/Forms/InfoMessage/InfoMessage.styles.js +2 -1
  540. package/dist/esm/components/Forms/InfoMessage/InfoMessage.styles.js.map +1 -1
  541. package/dist/esm/components/Forms/Label/Label.js.map +1 -1
  542. package/dist/esm/components/Forms/Label/Label.styles.js +2 -1
  543. package/dist/esm/components/Forms/Label/Label.styles.js.map +1 -1
  544. package/dist/esm/components/Forms/Suggestions/Suggestions.js.map +1 -1
  545. package/dist/esm/components/Forms/Suggestions/Suggestions.styles.js.map +1 -1
  546. package/dist/esm/components/Forms/WarningText/WarningText.js.map +1 -1
  547. package/dist/esm/components/Forms/WarningText/WarningText.styles.js.map +1 -1
  548. package/dist/esm/components/GlobalActions/GlobalActions.js.map +1 -1
  549. package/dist/esm/components/GlobalActions/GlobalActions.styles.js.map +1 -1
  550. package/dist/esm/components/Grid/Grid.js.map +1 -1
  551. package/dist/esm/components/Header/Actions/Actions.js.map +1 -1
  552. package/dist/esm/components/Header/Brand/Brand.js.map +1 -1
  553. package/dist/esm/components/Header/Brand/Brand.styles.js.map +1 -1
  554. package/dist/esm/components/Header/Header.js.map +1 -1
  555. package/dist/esm/components/Header/Header.styles.js.map +1 -1
  556. package/dist/esm/components/Header/Navigation/MenuBar/MenuBar.js.map +1 -1
  557. package/dist/esm/components/Header/Navigation/MenuBar/MenuBar.styles.js.map +1 -1
  558. package/dist/esm/components/Header/Navigation/MenuItem/MenuItem.js +4 -2
  559. package/dist/esm/components/Header/Navigation/MenuItem/MenuItem.js.map +1 -1
  560. package/dist/esm/components/Header/Navigation/MenuItem/MenuItem.styles.js +33 -13
  561. package/dist/esm/components/Header/Navigation/MenuItem/MenuItem.styles.js.map +1 -1
  562. package/dist/esm/components/Header/Navigation/Navigation.js.map +1 -1
  563. package/dist/esm/components/Header/Navigation/Navigation.styles.js.map +1 -1
  564. package/dist/esm/components/Header/Navigation/utils/FocusContext.js.map +1 -1
  565. package/dist/esm/components/Header/Navigation/utils/SelectionContext.js +1 -1
  566. package/dist/esm/components/Header/Navigation/utils/SelectionContext.js.map +1 -1
  567. package/dist/esm/components/InlineEditor/InlineEditor.js +1 -1
  568. package/dist/esm/components/InlineEditor/InlineEditor.js.map +1 -1
  569. package/dist/esm/components/Input/Input.js.map +1 -1
  570. package/dist/esm/components/Kpi/Kpi.js.map +1 -1
  571. package/dist/esm/components/Kpi/Kpi.styles.js.map +1 -1
  572. package/dist/esm/components/Link/Link.js.map +1 -1
  573. package/dist/esm/components/List/List.js.map +1 -1
  574. package/dist/esm/components/List/List.styles.js.map +1 -1
  575. package/dist/esm/components/List/useSelectableList.js.map +1 -1
  576. package/dist/esm/components/ListContainer/ListContainer.js.map +1 -1
  577. package/dist/esm/components/ListContainer/ListItem/ListItem.js.map +1 -1
  578. package/dist/esm/components/ListContainer/ListItem/ListItem.styles.js.map +1 -1
  579. package/dist/esm/components/Loading/Loading.js.map +1 -1
  580. package/dist/esm/components/Loading/Loading.styles.js.map +1 -1
  581. package/dist/esm/components/Login/Login.js.map +1 -1
  582. package/dist/esm/components/Login/Login.styles.js.map +1 -1
  583. package/dist/esm/components/MultiButton/MultiButton.js.map +1 -1
  584. package/dist/esm/components/MultiButton/MultiButton.styles.js.map +1 -1
  585. package/dist/esm/components/OverflowTooltip/OverflowTooltip.js.map +1 -1
  586. package/dist/esm/components/OverflowTooltip/OverflowTooltip.styles.js.map +1 -1
  587. package/dist/esm/components/Pagination/ButtonIconTooltip.js.map +1 -1
  588. package/dist/esm/components/Pagination/Pagination.js +0 -1
  589. package/dist/esm/components/Pagination/Pagination.js.map +1 -1
  590. package/dist/esm/components/Pagination/Pagination.styles.js.map +1 -1
  591. package/dist/esm/components/Pagination/Select.js +24 -28
  592. package/dist/esm/components/Pagination/Select.js.map +1 -1
  593. package/dist/esm/components/Pagination/Select.styles.js +17 -26
  594. package/dist/esm/components/Pagination/Select.styles.js.map +1 -1
  595. package/dist/esm/components/Pagination/utils.js.map +1 -1
  596. package/dist/esm/components/Panel/Panel.js.map +1 -1
  597. package/dist/esm/components/ProgressBar/ProgressBar.js.map +1 -1
  598. package/dist/esm/components/ProgressBar/ProgressBar.styles.js.map +1 -1
  599. package/dist/esm/components/QueryBuilder/ConfirmationDialog/ConfirmationDialog.js.map +1 -1
  600. package/dist/esm/components/QueryBuilder/QueryBuilder.js.map +1 -1
  601. package/dist/esm/components/QueryBuilder/Rule/Attribute/Attribute.js.map +1 -1
  602. package/dist/esm/components/QueryBuilder/Rule/Operator/Operator.js.map +1 -1
  603. package/dist/esm/components/QueryBuilder/Rule/Rule.js.map +1 -1
  604. package/dist/esm/components/QueryBuilder/Rule/Value/BooleanValue/BooleanValue.js.map +1 -1
  605. package/dist/esm/components/QueryBuilder/Rule/Value/NumericValue/NumericValue.js.map +1 -1
  606. package/dist/esm/components/QueryBuilder/Rule/Value/TextValue/TextValue.js.map +1 -1
  607. package/dist/esm/components/QueryBuilder/Rule/Value/Value.js.map +1 -1
  608. package/dist/esm/components/QueryBuilder/RuleGroup/RuleGroup.js.map +1 -1
  609. package/dist/esm/components/QueryBuilder/utils/index.js.map +1 -1
  610. package/dist/esm/components/QueryBuilder/utils/reducer.js.map +1 -1
  611. package/dist/esm/components/Radio/Radio.js.map +1 -1
  612. package/dist/esm/components/Radio/Radio.styles.js.map +1 -1
  613. package/dist/esm/components/RadioGroup/RadioGroup.js.map +1 -1
  614. package/dist/esm/components/RadioGroup/RadioGroup.styles.js.map +1 -1
  615. package/dist/esm/components/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.js.map +1 -1
  616. package/dist/esm/components/ScrollTo/Horizontal/HorizontalScrollListItem/horizontalScrollListItemClasses.js.map +1 -1
  617. package/dist/esm/components/ScrollTo/Horizontal/ScrollToHorizontal.js.map +1 -1
  618. package/dist/esm/components/ScrollTo/Vertical/ScrollToVertical.js.map +1 -1
  619. package/dist/esm/components/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.js.map +1 -1
  620. package/dist/esm/components/ScrollTo/Vertical/VerticalScrollListItem/verticalScrollListItemClasses.js.map +1 -1
  621. package/dist/esm/components/ScrollTo/useScrollTo.js.map +1 -1
  622. package/dist/esm/components/ScrollTo/withTooltip.js +1 -1
  623. package/dist/esm/components/ScrollTo/withTooltip.js.map +1 -1
  624. package/dist/esm/components/SelectionList/SelectionList.js.map +1 -1
  625. package/dist/esm/components/SelectionList/SelectionList.styles.js.map +1 -1
  626. package/dist/esm/components/SimpleGrid/SimpleGrid.js.map +1 -1
  627. package/dist/esm/components/SimpleGrid/SimpleGrid.styles.js.map +1 -1
  628. package/dist/esm/components/Slider/Slider.js.map +1 -1
  629. package/dist/esm/components/Slider/Slider.styles.js.map +1 -1
  630. package/dist/esm/components/Slider/SliderInput/SliderInput.js.map +1 -1
  631. package/dist/esm/components/Slider/SliderInput/SliderInput.styles.js.map +1 -1
  632. package/dist/esm/components/Slider/utils.js.map +1 -1
  633. package/dist/esm/components/Snackbar/Snackbar.js.map +1 -1
  634. package/dist/esm/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.js.map +1 -1
  635. package/dist/esm/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.styles.js.map +1 -1
  636. package/dist/esm/components/Snackbar/SnackbarProvider/SnackbarProvider.js.map +1 -1
  637. package/dist/esm/components/Stack/Stack.js.map +1 -1
  638. package/dist/esm/components/Stack/Stack.styles.js.map +1 -1
  639. package/dist/esm/components/Switch/Switch.js.map +1 -1
  640. package/dist/esm/components/Switch/Switch.styles.js.map +1 -1
  641. package/dist/esm/components/Tab/Tab.js.map +1 -1
  642. package/dist/esm/components/Table/Table.js.map +1 -1
  643. package/dist/esm/components/Table/TableBody/TableBody.js +1 -2
  644. package/dist/esm/components/Table/TableBody/TableBody.js.map +1 -1
  645. package/dist/esm/components/Table/TableCell/TableCell.js.map +1 -1
  646. package/dist/esm/components/Table/TableContainer/TableContainer.js.map +1 -1
  647. package/dist/esm/components/Table/TableHead/TableHead.js.map +1 -1
  648. package/dist/esm/components/Table/TableHeader/TableHeader.js.map +1 -1
  649. package/dist/esm/components/Table/TableHeader/TableHeader.styles.js.map +1 -1
  650. package/dist/esm/components/Table/TableHeader/utils.js.map +1 -1
  651. package/dist/esm/components/Table/TableRow/TableRow.js.map +1 -1
  652. package/dist/esm/components/Table/TableRow/TableRow.styles.js.map +1 -1
  653. package/dist/esm/components/Table/hooks/useBulkActions.js.map +1 -1
  654. package/dist/esm/components/Table/hooks/useHeaderGroups.js.map +1 -1
  655. package/dist/esm/components/Table/hooks/usePagination.js.map +1 -1
  656. package/dist/esm/components/Table/hooks/useResizeColumns.js.map +1 -1
  657. package/dist/esm/components/Table/hooks/useRowExpand.js.map +1 -1
  658. package/dist/esm/components/Table/hooks/useRowSelection.js.map +1 -1
  659. package/dist/esm/components/Table/hooks/useSortBy.js.map +1 -1
  660. package/dist/esm/components/Table/hooks/useSticky.js.map +1 -1
  661. package/dist/esm/components/Table/hooks/useTable.js.map +1 -1
  662. package/dist/esm/components/Table/hooks/useTableStyles.js.map +1 -1
  663. package/dist/esm/components/Table/renderers/DateColumnCell/DateColumnCell.js +2 -2
  664. package/dist/esm/components/Table/renderers/DateColumnCell/DateColumnCell.js.map +1 -1
  665. package/dist/esm/components/Table/renderers/DropdownColumnCell/DropdownColumnCell.js +3 -3
  666. package/dist/esm/components/Table/renderers/DropdownColumnCell/DropdownColumnCell.js.map +1 -1
  667. package/dist/esm/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.js +2 -2
  668. package/dist/esm/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.js.map +1 -1
  669. package/dist/esm/components/Table/renderers/ProgressColumnCell/ProgressColumnCell.styles.js.map +1 -1
  670. package/dist/esm/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.js +2 -2
  671. package/dist/esm/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.js.map +1 -1
  672. package/dist/esm/components/Table/renderers/SwitchColumnCell/SwitchColumnCell.styles.js.map +1 -1
  673. package/dist/esm/components/Table/renderers/renderers.js +8 -8
  674. package/dist/esm/components/Table/renderers/renderers.js.map +1 -1
  675. package/dist/esm/components/Tabs/Tabs.js.map +1 -1
  676. package/dist/esm/components/Tag/Tag.js.map +1 -1
  677. package/dist/esm/components/Tag/Tag.styles.js.map +1 -1
  678. package/dist/esm/components/TagsInput/TagsInput.js.map +1 -1
  679. package/dist/esm/components/TagsInput/TagsInput.styles.js.map +1 -1
  680. package/dist/esm/components/TextArea/TextArea.js.map +1 -1
  681. package/dist/esm/components/TextArea/TextArea.styles.js.map +1 -1
  682. package/dist/esm/components/TimeAgo/TimeAgo.js +3 -5
  683. package/dist/esm/components/TimeAgo/TimeAgo.js.map +1 -1
  684. package/dist/esm/components/TimeAgo/formatUtils.js.map +1 -1
  685. package/dist/esm/components/TimePicker/Placeholder.js +70 -0
  686. package/dist/esm/components/TimePicker/Placeholder.js.map +1 -0
  687. package/dist/esm/components/TimePicker/TimePicker.js +223 -0
  688. package/dist/esm/components/TimePicker/TimePicker.js.map +1 -0
  689. package/dist/esm/components/TimePicker/TimePicker.styles.js +53 -0
  690. package/dist/esm/components/TimePicker/TimePicker.styles.js.map +1 -0
  691. package/dist/esm/components/TimePicker/Unit/Unit.js +72 -0
  692. package/dist/esm/components/TimePicker/Unit/Unit.js.map +1 -0
  693. package/dist/esm/components/TimePicker/Unit/Unit.styles.js +56 -0
  694. package/dist/esm/components/TimePicker/Unit/Unit.styles.js.map +1 -0
  695. package/dist/esm/components/ToggleButton/ToggleButton.js.map +1 -1
  696. package/dist/esm/components/Tooltip/Tooltip.js.map +1 -1
  697. package/dist/esm/components/Typography/Typography.js.map +1 -1
  698. package/dist/esm/components/Typography/utils.js.map +1 -1
  699. package/dist/esm/components/VerticalNavigation/Actions/Action.js.map +1 -1
  700. package/dist/esm/components/VerticalNavigation/Actions/Action.styles.js.map +1 -1
  701. package/dist/esm/components/VerticalNavigation/Actions/Actions.js.map +1 -1
  702. package/dist/esm/components/VerticalNavigation/Header/Header.js.map +1 -1
  703. package/dist/esm/components/VerticalNavigation/Header/Header.styles.js.map +1 -1
  704. package/dist/esm/components/VerticalNavigation/Header/headerClasses.js.map +1 -1
  705. package/dist/esm/components/VerticalNavigation/Navigation/Navigation.js.map +1 -1
  706. package/dist/esm/components/VerticalNavigation/Navigation/navigationClasses.js.map +1 -1
  707. package/dist/esm/components/VerticalNavigation/NavigationPopup/NavigationPopup.js.map +1 -1
  708. package/dist/esm/components/VerticalNavigation/NavigationSlider/NavigationSlider.js.map +1 -1
  709. package/dist/esm/components/VerticalNavigation/NavigationSlider/navigationSliderClasses.js.map +1 -1
  710. package/dist/esm/components/VerticalNavigation/NavigationSlider/utils/NavigationSlider.utils.js.map +1 -1
  711. package/dist/esm/components/VerticalNavigation/TreeView/IconWrapper/IconWrapper.js.map +1 -1
  712. package/dist/esm/components/VerticalNavigation/TreeView/IconWrapper/IconWrapper.styles.js.map +1 -1
  713. package/dist/esm/components/VerticalNavigation/TreeView/TooltipWrapper/TooltipWrapper.js.map +1 -1
  714. package/dist/esm/components/VerticalNavigation/TreeView/TreeView.js.map +1 -1
  715. package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.js.map +1 -1
  716. package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.styles.js.map +1 -1
  717. package/dist/esm/components/VerticalNavigation/TreeView/descendants.js +2 -2
  718. package/dist/esm/components/VerticalNavigation/TreeView/descendants.js.map +1 -1
  719. package/dist/esm/components/VerticalNavigation/TreeView/treeViewItemClasses.js.map +1 -1
  720. package/dist/esm/components/VerticalNavigation/VerticalNavigation.js +0 -3
  721. package/dist/esm/components/VerticalNavigation/VerticalNavigation.js.map +1 -1
  722. package/dist/esm/components/VerticalNavigation/VerticalNavigation.styles.js.map +1 -1
  723. package/dist/esm/components/VerticalNavigation/VerticalNavigationContext.js.map +1 -1
  724. package/dist/esm/hocs/withTooltip.js.map +1 -1
  725. package/dist/esm/hooks/useClickOutside.js +1 -1
  726. package/dist/esm/hooks/useClickOutside.js.map +1 -1
  727. package/dist/esm/hooks/useControlled.js.map +1 -1
  728. package/dist/esm/hooks/useCss.js +78 -0
  729. package/dist/esm/hooks/useCss.js.map +1 -0
  730. package/dist/esm/hooks/useEmotionCache.js +12 -0
  731. package/dist/esm/hooks/useEmotionCache.js.map +1 -0
  732. package/dist/esm/hooks/useForkRef.js.map +1 -1
  733. package/dist/esm/hooks/useTheme.js +1 -3
  734. package/dist/esm/hooks/useTheme.js.map +1 -1
  735. package/dist/esm/index.js +245 -236
  736. package/dist/esm/index.js.map +1 -1
  737. package/dist/esm/providers/Provider.js +5 -4
  738. package/dist/esm/providers/Provider.js.map +1 -1
  739. package/dist/esm/providers/ThemeProvider.js +22 -3
  740. package/dist/esm/providers/ThemeProvider.js.map +1 -1
  741. package/dist/esm/utils/browser.js +2 -1
  742. package/dist/esm/utils/browser.js.map +1 -1
  743. package/dist/esm/utils/classes.js +45 -1
  744. package/dist/esm/utils/classes.js.map +1 -1
  745. package/dist/esm/utils/focusableElementFinder.js +1 -1
  746. package/dist/esm/utils/focusableElementFinder.js.map +1 -1
  747. package/dist/esm/utils/iconVariant.js.map +1 -1
  748. package/dist/esm/utils/multiSelectionEventHandler.js.map +1 -1
  749. package/dist/esm/utils/sizes.js.map +1 -1
  750. package/dist/esm/utils/theme.js +4 -3
  751. package/dist/esm/utils/theme.js.map +1 -1
  752. package/dist/esm/utils/useSavedState.js.map +1 -1
  753. package/dist/esm/utils/wrapperTooltip.js.map +1 -1
  754. package/dist/types/index.d.ts +212 -53
  755. package/package.json +19 -13
  756. package/dist/cjs/components/ActionBar/actionBarClasses.cjs +0 -8
  757. package/dist/cjs/components/ActionBar/actionBarClasses.cjs.map +0 -1
  758. package/dist/cjs/components/Banner/BannerContent/bannerContentClasses.cjs +0 -8
  759. package/dist/cjs/components/Banner/BannerContent/bannerContentClasses.cjs.map +0 -1
  760. package/dist/cjs/components/Banner/bannerClasses.cjs +0 -8
  761. package/dist/cjs/components/Banner/bannerClasses.cjs.map +0 -1
  762. package/dist/esm/components/ActionBar/actionBarClasses.js +0 -8
  763. package/dist/esm/components/ActionBar/actionBarClasses.js.map +0 -1
  764. package/dist/esm/components/Banner/BannerContent/bannerContentClasses.js +0 -8
  765. package/dist/esm/components/Banner/BannerContent/bannerContentClasses.js.map +0 -1
  766. package/dist/esm/components/Banner/bannerClasses.js +0 -8
  767. package/dist/esm/components/Banner/bannerClasses.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Action.styles.cjs","sources":["../../../../../src/components/VerticalNavigation/Actions/Action.styles.tsx"],"sourcesContent":["import styled from \"@emotion/styled\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\nimport { HvTypography } from \"@core/components\";\nimport { outlineStyles } from \"@core/utils\";\nimport actionClasses from \"./actionClasses\";\n\nconst hover = () => ({\n background: theme.verticalNavigation.hoverColor,\n});\n\nexport const StyledAction = styled(HvTypography)({\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 [`& .${actionClasses.noIcon}`]: {\n paddingLeft: theme.space.xs,\n },\n\n [`&.${actionClasses.minimized}`]: {\n justifyContent: \"center\",\n paddingRight: 0,\n },\n});\n"],"names":["hover","background","theme","verticalNavigation","hoverColor","StyledAction","HvTypography","process","env","NODE_ENV","target","label","width","display","justifyContent","alignItems","height","color","colors","secondary","outline","outlineStyles","cursor","actionClasses","noIcon","paddingLeft","space","xs","minimized","paddingRight"],"mappings":";;;;;;;;;AAMA,MAAMA,QAAQA,OAAO;AAAA,EACnBC,YAAYC,YAAAA,MAAMC,mBAAmBC;AACvC;AAEO,MAAMC,eAAsBC,iCAAAA,QAAAA,WAAAA,cAAYC,QAAAC,IAAAC,aAAA,eAAA;AAAA,EAAAC,QAAA;AAAA,IAAA;AAAA,EAAAA,QAAA;AAAA,EAAAC,OAAA;AAAA,CAAA,EAAE;AAAA,EAC/CC,OAAO;AAAA,EACPC,SAAS;AAAA,EACTC,gBAAgB;AAAA,EAChBC,YAAY;AAAA,EACZC,QAAQ;AAAA,EACRC,OAAOf,YAAAA,MAAMgB,OAAOC;AAAAA;AAAAA,EAGpB,WAAWnB,MAAO;AAAA,EAElB,WAAW;AAAA,IACToB,SAAS;AAAA,IACT,GAAGpB,MAAK;AAAA,EACV;AAAA,EAEA,mBAAmB;AAAA,IACjB,GAAGqB,WAAAA;AAAAA,EACL;AAAA;AAAA,EAGAC,QAAQ;AAAA,EACR,OAAO;AAAA,IACLA,QAAQ;AAAA,EACV;AAAA,EAEA,CAAE,MAAKC,sBAAcC,QAAQ,GAAG;AAAA,IAC9BC,aAAavB,YAAAA,MAAMwB,MAAMC;AAAAA,EAC3B;AAAA,EAEA,CAAE,KAAIJ,sBAAcK,WAAW,GAAG;AAAA,IAChCd,gBAAgB;AAAA,IAChBe,cAAc;AAAA,EAChB;AACF,GAACtB,QAAAC,IAAAC,aAAC,eAAA,KAAA,qxDAAA;;"}
1
+ {"version":3,"file":"Action.styles.cjs","sources":["../../../../../src/components/VerticalNavigation/Actions/Action.styles.tsx"],"sourcesContent":["import styled from \"@emotion/styled\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\nimport { HvTypography } from \"@core/components\";\nimport { outlineStyles } from \"@core/utils\";\nimport actionClasses from \"./actionClasses\";\n\nconst hover = () => ({\n background: theme.verticalNavigation.hoverColor,\n});\n\nexport const StyledAction = styled(HvTypography)({\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 [`& .${actionClasses.noIcon}`]: {\n paddingLeft: theme.space.xs,\n },\n\n [`&.${actionClasses.minimized}`]: {\n justifyContent: \"center\",\n paddingRight: 0,\n },\n});\n"],"names":["hover","background","theme","verticalNavigation","hoverColor","StyledAction","HvTypography","process","env","NODE_ENV","target","label","width","display","justifyContent","alignItems","height","color","colors","secondary","outline","outlineStyles","cursor","actionClasses","noIcon","paddingLeft","space","xs","minimized","paddingRight"],"mappings":";;;;;;;;;AAMA,MAAMA,QAAQA,OAAO;AAAA,EACnBC,YAAYC,YAAAA,MAAMC,mBAAmBC;AACvC;AAEO,MAAMC,eAAsBC,iCAAAA,QAAAA,WAAAA,cAAYC,QAAAC,IAAAC,aAAA,eAAA;AAAA,EAAAC,QAAA;AAAA,IAAA;AAAA,EAAAA,QAAA;AAAA,EAAAC,OAAA;AAAA,CAAA,EAAE;AAAA,EAC/CC,OAAO;AAAA,EACPC,SAAS;AAAA,EACTC,gBAAgB;AAAA,EAChBC,YAAY;AAAA,EACZC,QAAQ;AAAA,EACRC,OAAOf,YAAAA,MAAMgB,OAAOC;AAAAA;AAAAA,EAGpB,WAAWnB,MAAM;AAAA,EAEjB,WAAW;AAAA,IACToB,SAAS;AAAA,IACT,GAAGpB,MAAM;AAAA,EACX;AAAA,EAEA,mBAAmB;AAAA,IACjB,GAAGqB,WAAAA;AAAAA,EACL;AAAA;AAAA,EAGAC,QAAQ;AAAA,EACR,OAAO;AAAA,IACLA,QAAQ;AAAA,EACV;AAAA,EAEA,CAAE,MAAKC,sBAAcC,QAAQ,GAAG;AAAA,IAC9BC,aAAavB,YAAAA,MAAMwB,MAAMC;AAAAA,EAC3B;AAAA,EAEA,CAAE,KAAIJ,sBAAcK,WAAW,GAAG;AAAA,IAChCd,gBAAgB;AAAA,IAChBe,cAAc;AAAA,EAChB;AACF,GAACtB,QAAAC,IAAAC,aAAC,eAAA,KAAA,qxDAAA;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Actions.cjs","sources":["../../../../../src/components/VerticalNavigation/Actions/Actions.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport { useContext } from \"react\";\nimport { VerticalNavigationContext } from \"..\";\nimport { StyledRoot } from \"./Actions.styles\";\nimport actionsClasses, {\n HvVerticalNavigationActionsClasses,\n} from \"./actionsClasses\";\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,\n id,\n children,\n ...others\n}: HvVerticalNavigationActionsProps) => {\n const { isOpen, useIcons } = useContext(VerticalNavigationContext);\n\n return (\n <StyledRoot\n id={id}\n className={clsx(\n className,\n actionsClasses.root,\n classes?.root,\n !isOpen && !useIcons && clsx(actionsClasses.hide, classes?.hide)\n )}\n {...others}\n >\n {children}\n </StyledRoot>\n );\n};\n"],"names":["HvVerticalNavigationActions","className","classes","id","children","others","isOpen","useIcons","useContext","VerticalNavigationContext","StyledRoot","clsx","actionsClasses","root","hide"],"mappings":";;;;;;;;AA2BO,MAAMA,8BAA8BA,CAAC;AAAA,EAC1CC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACA,GAAGC;AAC6B,MAAM;AAChC,QAAA;AAAA,IAAEC;AAAAA,IAAQC;AAAAA,EAAAA,IAAaC,MAAAA,WAAWC,0BAAAA,yBAAyB;AAEjE,wCACGC,eAAAA,YAAU;AAAA,IACTP;AAAAA,IACAF,WAAWU,KACTV,KAAAA,WACAW,eAAeC,QAAAA,MACfX,mCAASW,MACT,CAACP,UAAU,CAACC,YAAYI,KAAAA,KAAKC,eAAAA,QAAeE,MAAMZ,mCAASY,IAAI,CAAC;AAAA,IAChE,GACET;AAAAA,IAAMD;AAAAA,EAAAA,CAGC;AAEjB;;"}
1
+ {"version":3,"file":"Actions.cjs","sources":["../../../../../src/components/VerticalNavigation/Actions/Actions.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport { useContext } from \"react\";\nimport { VerticalNavigationContext } from \"..\";\nimport { StyledRoot } from \"./Actions.styles\";\nimport actionsClasses, {\n HvVerticalNavigationActionsClasses,\n} from \"./actionsClasses\";\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,\n id,\n children,\n ...others\n}: HvVerticalNavigationActionsProps) => {\n const { isOpen, useIcons } = useContext(VerticalNavigationContext);\n\n return (\n <StyledRoot\n id={id}\n className={clsx(\n className,\n actionsClasses.root,\n classes?.root,\n !isOpen && !useIcons && clsx(actionsClasses.hide, classes?.hide)\n )}\n {...others}\n >\n {children}\n </StyledRoot>\n );\n};\n"],"names":["HvVerticalNavigationActions","className","classes","id","children","others","isOpen","useIcons","useContext","VerticalNavigationContext","StyledRoot","clsx","actionsClasses","root","hide"],"mappings":";;;;;;;;AA2BO,MAAMA,8BAA8BA,CAAC;AAAA,EAC1CC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACA,GAAGC;AAC6B,MAAM;AAChC,QAAA;AAAA,IAAEC;AAAAA,IAAQC;AAAAA,EAAAA,IAAaC,MAAAA,WAAWC,0BAAAA,yBAAyB;AAEjE,wCACGC,eAAAA,YAAU;AAAA,IACTP;AAAAA,IACAF,WAAWU,KACTV,KAAAA,WACAW,eAAeC,QAAAA,MACfX,mCAASW,MACT,CAACP,UAAU,CAACC,YAAYI,KAAAA,KAAKC,eAAAA,QAAeE,MAAMZ,mCAASY,IAAI,CACjE;AAAA,IAAE,GACET;AAAAA,IAAMD;AAAAA,EAAAA,CAGA;AAEhB;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Header.cjs","sources":["../../../../../src/components/VerticalNavigation/Header/Header.tsx"],"sourcesContent":["import { Backwards, Forwards, Menu } from \"@hitachivantara/uikit-react-icons\";\nimport { clsx } from \"clsx\";\nimport { HvButton, HvButtonProps, HvTypography } from \"@core/components\";\nimport { MouseEventHandler, useContext, useMemo } from \"react\";\nimport { VerticalNavigationContext } from \"../VerticalNavigationContext\";\nimport { StyledCollapseButton, StyledHeader } from \"./Header.styles\";\nimport verticalNavigationHeaderClasses, {\n HvVerticalNavigationHeaderClasses,\n} from \"./headerClasses\";\n\nexport interface HvVerticalNavigationHeaderProps {\n /**\n * Id to be applied to the root node.\n */\n id?: string;\n /**\n * The title text to show on Header.\n */\n title?: string;\n /**\n * Icon to show when Vertical Navigation is collapsed.\n */\n openIcon?: React.ReactNode;\n /**\n * Icon to show when Vertical Navigation is expanded.\n */\n closeIcon?: React.ReactNode;\n /**\n * Props for the collapse button.\n */\n collapseButtonProps?: HvButtonProps;\n /**\n * Props for the back button.\n */\n backButtonProps?: HvButtonProps;\n /**\n * Class names to be applied.\n */\n className?: string;\n /**\n * A Jss Object used to override or extend the styles applied to the component.\n */\n classes?: HvVerticalNavigationHeaderClasses;\n /**\n * Handler for the collapse button.\n */\n onCollapseButtonClick?: MouseEventHandler<HTMLElement>;\n}\n\nexport const HvVerticalNavigationHeader = ({\n title,\n openIcon = <Forwards />,\n closeIcon = <Backwards />,\n collapseButtonProps,\n backButtonProps,\n className,\n classes,\n onCollapseButtonClick,\n ...others\n}: HvVerticalNavigationHeaderProps) => {\n const {\n isOpen,\n useIcons,\n headerTitle,\n slider,\n navigateToParentHandler,\n parentItem,\n } = useContext(VerticalNavigationContext);\n\n openIcon = !useIcons ? <Menu /> : openIcon;\n\n const backButtonClickHandler = () => {\n if (navigateToParentHandler) navigateToParentHandler();\n };\n\n // whenever we're in a sublevel, the parentItem is always a single item.\n // In the first level it's always an array with the first level elements.\n const shouldShowTitle = useMemo(\n () => !slider || (slider && !Array.isArray(parentItem)),\n [parentItem]\n );\n\n return shouldShowTitle ? (\n <StyledHeader\n className={clsx(\n className,\n verticalNavigationHeaderClasses.root,\n classes?.root,\n !isOpen &&\n clsx(verticalNavigationHeaderClasses.minimized, classes?.minimized)\n )}\n {...others}\n >\n {isOpen && headerTitle && slider && (\n <HvButton\n icon\n variant=\"secondaryGhost\"\n onClick={backButtonClickHandler}\n {...backButtonProps}\n >\n <Backwards iconSize=\"XS\" />\n </HvButton>\n )}\n {isOpen && (\n <HvTypography variant={slider ? \"label\" : \"title3\"}>\n {headerTitle && slider ? headerTitle : title}\n </HvTypography>\n )}\n {onCollapseButtonClick && (\n <StyledCollapseButton\n icon\n variant=\"secondaryGhost\"\n onClick={onCollapseButtonClick}\n classes={{\n root: isOpen ? \"\" : verticalNavigationHeaderClasses.minimized,\n }}\n {...collapseButtonProps}\n >\n {isOpen ? closeIcon : openIcon}\n </StyledCollapseButton>\n )}\n </StyledHeader>\n ) : null;\n};\n"],"names":["HvVerticalNavigationHeader","title","openIcon","_jsx","Forwards","closeIcon","Backwards","collapseButtonProps","backButtonProps","className","classes","onCollapseButtonClick","others","isOpen","useIcons","headerTitle","slider","navigateToParentHandler","parentItem","useContext","VerticalNavigationContext","Menu","backButtonClickHandler","shouldShowTitle","useMemo","Array","isArray","StyledHeader","clsx","verticalNavigationHeaderClasses","root","minimized","children","HvButton","icon","variant","onClick","iconSize","HvTypography","StyledCollapseButton"],"mappings":";;;;;;;;;;;AAiDO,MAAMA,6BAA6BA,CAAC;AAAA,EACzCC;AAAAA,EACAC,WAAWC,2BAAAA,IAACC,gBAAW,UAAA,EAAA;AAAA,EACvBC,YAAYF,2BAAAA,IAACG,gBAAY,WAAA,EAAA;AAAA,EACzBC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACA,GAAGC;AAC4B,MAAM;AAC/B,QAAA;AAAA,IACJC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,EAAAA,IACEC,MAAAA,WAAWC,0BAAAA,yBAAyB;AAExClB,aAAW,CAACY,WAAWX,2BAAAA,IAACkB,gBAAAA,MAAO,CAAA,CAAA,IAAGnB;AAElC,QAAMoB,yBAAyBA,MAAM;AAC/BL,QAAAA;AAAkD;EAAA;AAKxD,QAAMM,kBAAkBC,MAAAA,QACtB,MAAM,CAACR,UAAWA,UAAU,CAACS,MAAMC,QAAQR,UAAU,GACrD,CAACA,UAAU,CAAC;AAGPK,SAAAA,kDACJI,4BAAY;AAAA,IACXlB,WAAWmB,KAAAA,KACTnB,WACAoB,cAAAA,QAAgCC,MAChCpB,mCAASoB,MACT,CAACjB,UACCe,KAAKC,KAAAA,cAAAA,QAAgCE,WAAWrB,mCAASqB,SAAS,CAAC;AAAA,IACrE,GACEnB;AAAAA,IAAMoB,UAAA,CAETnB,UAAUE,eAAeC,yCACvBiB,OAAAA,UAAQ;AAAA,MACPC,MAAI;AAAA,MACJC,SAAQ;AAAA,MACRC,SAASd;AAAAA,MAAuB,GAC5Bd;AAAAA,MAAewB,yCAElB1B,2BAAS;AAAA,QAAC+B,UAAS;AAAA,MAAA,CAAI;AAAA,IAAA,CAAG,GAG9BxB,UACCV,2BAAAA,IAACmC,yBAAY;AAAA,MAACH,SAASnB,SAAS,UAAU;AAAA,MAASgB,UAChDjB,eAAeC,SAASD,cAAcd;AAAAA,IAAAA,CAAK,GAG/CU,yBACCR,2BAAAA,IAACoC,oCAAoB;AAAA,MACnBL,MAAI;AAAA,MACJC,SAAQ;AAAA,MACRC,SAASzB;AAAAA,MACTD,SAAS;AAAA,QACPoB,MAAMjB,SAAS,KAAKgB,cAAAA,QAAgCE;AAAAA,MACtD;AAAA,MAAE,GACExB;AAAAA,MAAmByB,UAEtBnB,SAASR,YAAYH;AAAAA,IAAAA,CAEzB,CAAA;AAAA,EAAA,CAAA,IAED;AACN;;"}
1
+ {"version":3,"file":"Header.cjs","sources":["../../../../../src/components/VerticalNavigation/Header/Header.tsx"],"sourcesContent":["import { Backwards, Forwards, Menu } from \"@hitachivantara/uikit-react-icons\";\nimport { clsx } from \"clsx\";\nimport { HvButton, HvButtonProps, HvTypography } from \"@core/components\";\nimport { MouseEventHandler, useContext, useMemo } from \"react\";\nimport { VerticalNavigationContext } from \"../VerticalNavigationContext\";\nimport { StyledCollapseButton, StyledHeader } from \"./Header.styles\";\nimport verticalNavigationHeaderClasses, {\n HvVerticalNavigationHeaderClasses,\n} from \"./headerClasses\";\n\nexport interface HvVerticalNavigationHeaderProps {\n /**\n * Id to be applied to the root node.\n */\n id?: string;\n /**\n * The title text to show on Header.\n */\n title?: string;\n /**\n * Icon to show when Vertical Navigation is collapsed.\n */\n openIcon?: React.ReactNode;\n /**\n * Icon to show when Vertical Navigation is expanded.\n */\n closeIcon?: React.ReactNode;\n /**\n * Props for the collapse button.\n */\n collapseButtonProps?: HvButtonProps;\n /**\n * Props for the back button.\n */\n backButtonProps?: HvButtonProps;\n /**\n * Class names to be applied.\n */\n className?: string;\n /**\n * A Jss Object used to override or extend the styles applied to the component.\n */\n classes?: HvVerticalNavigationHeaderClasses;\n /**\n * Handler for the collapse button.\n */\n onCollapseButtonClick?: MouseEventHandler<HTMLElement>;\n}\n\nexport const HvVerticalNavigationHeader = ({\n title,\n openIcon = <Forwards />,\n closeIcon = <Backwards />,\n collapseButtonProps,\n backButtonProps,\n className,\n classes,\n onCollapseButtonClick,\n ...others\n}: HvVerticalNavigationHeaderProps) => {\n const {\n isOpen,\n useIcons,\n headerTitle,\n slider,\n navigateToParentHandler,\n parentItem,\n } = useContext(VerticalNavigationContext);\n\n openIcon = !useIcons ? <Menu /> : openIcon;\n\n const backButtonClickHandler = () => {\n if (navigateToParentHandler) navigateToParentHandler();\n };\n\n // whenever we're in a sublevel, the parentItem is always a single item.\n // In the first level it's always an array with the first level elements.\n const shouldShowTitle = useMemo(\n () => !slider || (slider && !Array.isArray(parentItem)),\n [parentItem]\n );\n\n return shouldShowTitle ? (\n <StyledHeader\n className={clsx(\n className,\n verticalNavigationHeaderClasses.root,\n classes?.root,\n !isOpen &&\n clsx(verticalNavigationHeaderClasses.minimized, classes?.minimized)\n )}\n {...others}\n >\n {isOpen && headerTitle && slider && (\n <HvButton\n icon\n variant=\"secondaryGhost\"\n onClick={backButtonClickHandler}\n {...backButtonProps}\n >\n <Backwards iconSize=\"XS\" />\n </HvButton>\n )}\n {isOpen && (\n <HvTypography variant={slider ? \"label\" : \"title3\"}>\n {headerTitle && slider ? headerTitle : title}\n </HvTypography>\n )}\n {onCollapseButtonClick && (\n <StyledCollapseButton\n icon\n variant=\"secondaryGhost\"\n onClick={onCollapseButtonClick}\n classes={{\n root: isOpen ? \"\" : verticalNavigationHeaderClasses.minimized,\n }}\n {...collapseButtonProps}\n >\n {isOpen ? closeIcon : openIcon}\n </StyledCollapseButton>\n )}\n </StyledHeader>\n ) : null;\n};\n"],"names":["HvVerticalNavigationHeader","title","openIcon","_jsx","Forwards","closeIcon","Backwards","collapseButtonProps","backButtonProps","className","classes","onCollapseButtonClick","others","isOpen","useIcons","headerTitle","slider","navigateToParentHandler","parentItem","useContext","VerticalNavigationContext","Menu","backButtonClickHandler","shouldShowTitle","useMemo","Array","isArray","StyledHeader","clsx","verticalNavigationHeaderClasses","root","minimized","children","HvButton","icon","variant","onClick","iconSize","HvTypography","StyledCollapseButton"],"mappings":";;;;;;;;;;;AAiDO,MAAMA,6BAA6BA,CAAC;AAAA,EACzCC;AAAAA,EACAC,WAAWC,2BAAAA,IAACC,4BAAU;AAAA,EACtBC,YAAYF,2BAAAA,IAACG,6BAAW;AAAA,EACxBC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACA,GAAGC;AAC4B,MAAM;AAC/B,QAAA;AAAA,IACJC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,EAAAA,IACEC,MAAAA,WAAWC,0BAAAA,yBAAyB;AAExClB,aAAW,CAACY,WAAWX,2BAAAA,IAACkB,gBAAAA,MAAI,CAAA,CAAE,IAAInB;AAElC,QAAMoB,yBAAyBA,MAAM;AAC/BL,QAAAA;AAAiD;EAAA;AAKvD,QAAMM,kBAAkBC,MAAAA,QACtB,MAAM,CAACR,UAAWA,UAAU,CAACS,MAAMC,QAAQR,UAAU,GACrD,CAACA,UAAU,CACb;AAEOK,SAAAA,kDACJI,4BAAY;AAAA,IACXlB,WAAWmB,KAAAA,KACTnB,WACAoB,cAAAA,QAAgCC,MAChCpB,mCAASoB,MACT,CAACjB,UACCe,KAAKC,KAAAA,cAAAA,QAAgCE,WAAWrB,mCAASqB,SAAS,CACtE;AAAA,IAAE,GACEnB;AAAAA,IAAMoB,UAAA,CAETnB,UAAUE,eAAeC,yCACvBiB,OAAAA,UAAQ;AAAA,MACPC,MAAI;AAAA,MACJC,SAAQ;AAAA,MACRC,SAASd;AAAAA,MAAuB,GAC5Bd;AAAAA,MAAewB,yCAElB1B,2BAAS;AAAA,QAAC+B,UAAS;AAAA,MAAA,CAAM;AAAA,IAAA,CAClB,GAEXxB,UACCV,2BAAAA,IAACmC,yBAAY;AAAA,MAACH,SAASnB,SAAS,UAAU;AAAA,MAASgB,UAChDjB,eAAeC,SAASD,cAAcd;AAAAA,IAAAA,CAC3B,GAEfU,yBACCR,2BAAAA,IAACoC,oCAAoB;AAAA,MACnBL,MAAI;AAAA,MACJC,SAAQ;AAAA,MACRC,SAASzB;AAAAA,MACTD,SAAS;AAAA,QACPoB,MAAMjB,SAAS,KAAKgB,cAAAA,QAAgCE;AAAAA,MACtD;AAAA,MAAE,GACExB;AAAAA,MAAmByB,UAEtBnB,SAASR,YAAYH;AAAAA,IAAAA,CACF,CACvB;AAAA,EACW,CAAA,IACZ;AACN;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Header.styles.cjs","sources":["../../../../../src/components/VerticalNavigation/Header/Header.styles.tsx"],"sourcesContent":["import styled from \"@emotion/styled\";\nimport { HvButton, HvButtonProps } from \"@core/components\";\nimport { forwardRef } from \"react\";\nimport { PolymorphicRef } from \"@core/types\";\nimport verticalNavigationHeaderClasses from \"./headerClasses\";\n\nexport const StyledHeader = styled(\"div\")({\n width: \"100%\",\n display: \"flex\",\n marginTop: \"12px\",\n alignItems: \"center\",\n\n [`&.${verticalNavigationHeaderClasses.minimized}`]: {\n justifyContent: \"center\",\n paddingRight: 0,\n },\n});\n\nexport const StyledCollapseButton = styled(\n forwardRef((props: HvButtonProps, ref?: PolymorphicRef<\"button\">) => {\n return <HvButton {...props} ref={ref} />;\n })\n)({\n marginLeft: \"auto\",\n\n [`&.${verticalNavigationHeaderClasses.minimized}`]: {\n marginLeft: 0,\n },\n});\n"],"names":["StyledHeader","_styled","process","env","NODE_ENV","target","label","width","display","marginTop","alignItems","verticalNavigationHeaderClasses","minimized","justifyContent","paddingRight","StyledCollapseButton","forwardRef","props","ref","HvButton","marginLeft"],"mappings":";;;;;;;;;AAMO,MAAMA,eAAsBC,iCAAA,QAAA,OAAKC,QAAAC,IAAAC,aAAA,eAAA;AAAA,EAAAC,QAAA;AAAA,IAAA;AAAA,EAAAA,QAAA;AAAA,EAAAC,OAAA;AAAA,CAAA,EAAE;AAAA,EACxCC,OAAO;AAAA,EACPC,SAAS;AAAA,EACTC,WAAW;AAAA,EACXC,YAAY;AAAA,EAEZ,CAAE,KAAIC,sBAAgCC,WAAW,GAAG;AAAA,IAClDC,gBAAgB;AAAA,IAChBC,cAAc;AAAA,EAChB;AACF,GAACZ,QAAAC,IAAAC,aAAC,eAAA,KAAA,qkDAAA;AAEK,MAAMW,uBAAuBd,iCAAAA,QAClCe,MAAAA,WAAW,CAACC,OAAsBC,QAAmC;AACnE,wCAAQC,OAAAA,UAAQ;AAAA,IAAA,GAAKF;AAAAA,IAAOC;AAAAA,EAAAA,CAAY;AAC1C,CAAC,GAAChB,QAAAC,IAAAC,aAAA,eAAA;AAAA,EAAAC,QAAA;AAAA,IAAA;AAAA,EAAAA,QAAA;AAAA,EAAAC,OAAA;AAAA,CAAA,EACF;AAAA,EACAc,YAAY;AAAA,EAEZ,CAAE,KAAIT,sBAAgCC,WAAW,GAAG;AAAA,IAClDQ,YAAY;AAAA,EACd;AACF,GAAClB,QAAAC,IAAAC,aAAC,eAAA,KAAA,qkDAAA;;;"}
1
+ {"version":3,"file":"Header.styles.cjs","sources":["../../../../../src/components/VerticalNavigation/Header/Header.styles.tsx"],"sourcesContent":["import styled from \"@emotion/styled\";\nimport { HvButton, HvButtonProps } from \"@core/components\";\nimport { forwardRef } from \"react\";\nimport { PolymorphicRef } from \"@core/types\";\nimport verticalNavigationHeaderClasses from \"./headerClasses\";\n\nexport const StyledHeader = styled(\"div\")({\n width: \"100%\",\n display: \"flex\",\n marginTop: \"12px\",\n alignItems: \"center\",\n\n [`&.${verticalNavigationHeaderClasses.minimized}`]: {\n justifyContent: \"center\",\n paddingRight: 0,\n },\n});\n\nexport const StyledCollapseButton = styled(\n forwardRef((props: HvButtonProps, ref?: PolymorphicRef<\"button\">) => {\n return <HvButton {...props} ref={ref} />;\n })\n)({\n marginLeft: \"auto\",\n\n [`&.${verticalNavigationHeaderClasses.minimized}`]: {\n marginLeft: 0,\n },\n});\n"],"names":["StyledHeader","_styled","process","env","NODE_ENV","target","label","width","display","marginTop","alignItems","verticalNavigationHeaderClasses","minimized","justifyContent","paddingRight","StyledCollapseButton","forwardRef","props","ref","HvButton","marginLeft"],"mappings":";;;;;;;;;AAMO,MAAMA,eAAsBC,iCAAA,QAAA,OAAKC,QAAAC,IAAAC,aAAA,eAAA;AAAA,EAAAC,QAAA;AAAA,IAAA;AAAA,EAAAA,QAAA;AAAA,EAAAC,OAAA;AAAA,CAAA,EAAE;AAAA,EACxCC,OAAO;AAAA,EACPC,SAAS;AAAA,EACTC,WAAW;AAAA,EACXC,YAAY;AAAA,EAEZ,CAAE,KAAIC,sBAAgCC,WAAW,GAAG;AAAA,IAClDC,gBAAgB;AAAA,IAChBC,cAAc;AAAA,EAChB;AACF,GAACZ,QAAAC,IAAAC,aAAC,eAAA,KAAA,qkDAAA;AAEK,MAAMW,uBAAuBd,iCAAAA,QAClCe,MAAAA,WAAW,CAACC,OAAsBC,QAAmC;AACnE,wCAAQC,OAAAA,UAAQ;AAAA,IAAA,GAAKF;AAAAA,IAAOC;AAAAA,EAAAA,CAAW;AACzC,CAAC,GAAChB,QAAAC,IAAAC,aAAA,eAAA;AAAA,EAAAC,QAAA;AAAA,IAAA;AAAA,EAAAA,QAAA;AAAA,EAAAC,OAAA;AAAA,CACJ,EAAE;AAAA,EACAc,YAAY;AAAA,EAEZ,CAAE,KAAIT,sBAAgCC,WAAW,GAAG;AAAA,IAClDQ,YAAY;AAAA,EACd;AACF,GAAClB,QAAAC,IAAAC,aAAC,eAAA,KAAA,qkDAAA;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"headerClasses.cjs","sources":["../../../../../src/components/VerticalNavigation/Header/headerClasses.ts"],"sourcesContent":["import { getClasses } from \"@core/utils\";\n\nexport interface HvVerticalNavigationHeaderClasses {\n root?: string;\n minimized?: string;\n}\n\nconst classKeys: (keyof HvVerticalNavigationHeaderClasses)[] = [\n \"root\",\n \"minimized\",\n];\n\nconst verticalNavigationHeaderClasses = getClasses(\n classKeys,\n \"HvVerticalNavigationHeader\"\n);\n\nexport default verticalNavigationHeaderClasses;\n"],"names":["classKeys","verticalNavigationHeaderClasses","getClasses"],"mappings":";;;AAOA,MAAMA,YAAyD,CAC7D,QACA,WAAW;AAGb,MAAMC,kCAAkCC,QACtCF,WAAAA,WACA,4BAA4B;AAG9B,MAAA,oCAAeC;;"}
1
+ {"version":3,"file":"headerClasses.cjs","sources":["../../../../../src/components/VerticalNavigation/Header/headerClasses.ts"],"sourcesContent":["import { getClasses } from \"@core/utils\";\n\nexport interface HvVerticalNavigationHeaderClasses {\n root?: string;\n minimized?: string;\n}\n\nconst classKeys: (keyof HvVerticalNavigationHeaderClasses)[] = [\n \"root\",\n \"minimized\",\n];\n\nconst verticalNavigationHeaderClasses = getClasses(\n classKeys,\n \"HvVerticalNavigationHeader\"\n);\n\nexport default verticalNavigationHeaderClasses;\n"],"names":["classKeys","verticalNavigationHeaderClasses","getClasses"],"mappings":";;;AAOA,MAAMA,YAAyD,CAC7D,QACA,WAAW;AAGb,MAAMC,kCAAkCC,QACtCF,WAAAA,WACA,4BACF;AAEA,MAAA,oCAAeC;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Navigation.cjs","sources":["../../../../../src/components/VerticalNavigation/Navigation/Navigation.tsx"],"sourcesContent":["import {\n useCallback,\n useMemo,\n useContext,\n useEffect,\n useState,\n ComponentProps,\n} from \"react\";\nimport { clsx } from \"clsx\";\nimport uniqueId from \"lodash/uniqueId\";\nimport { setId, wrapperTooltip } from \"@core/utils\";\nimport { useControlled } from \"@core/hooks\";\nimport { HvBaseProps } from \"@core/types\";\nimport {\n HvVerticalNavigationTreeView,\n HvVerticalNavigationTreeViewItem,\n} from \"../TreeView\";\nimport verticalNavigationTreeClasses, {\n HvVerticalNavigationTreeClasses,\n} from \"./navigationClasses\";\nimport { StyledNav } from \"./Navigation.styles\";\nimport { HvVerticalNavigationSlider } from \"..\";\nimport { VerticalNavigationContext } from \"../VerticalNavigationContext\";\nimport { HvVerticalNavigationPopup } from \"../NavigationPopup/NavigationPopup\";\nimport { getParentItemById } from \"../NavigationSlider/utils/NavigationSlider.utils\";\n\nexport type NavigationData<T extends React.ElementType = \"a\"> =\n ComponentProps<T> &\n Record<string, any> & {\n /** The id to be applied to the root element. */\n id: string;\n /** The label to be rendered on the menu item. */\n label: string;\n /** The icon to be rendered. */\n icon?: React.ReactNode;\n /** The Data children subset. */\n data?: NavigationData<T>[];\n /** Whether the item is disabled and not interactive. */\n disabled?: boolean;\n /** Whether the item has a selected state. */\n selectable?: boolean;\n };\n\nconst createListHierarchy = (\n items,\n id,\n classes?: HvVerticalNavigationTreeClasses,\n mouseEnterHandler?: (event, item) => void,\n disableTooltip = false\n) =>\n items.map((item) => {\n const {\n id: itemId,\n label: itemLabel,\n icon,\n data: children,\n selectable,\n disabled,\n href,\n target,\n } = item;\n\n const ItemText = wrapperTooltip(true, itemLabel, itemLabel);\n\n const itemMouseEnterHandler = (event) => {\n mouseEnterHandler?.(event, item);\n };\n\n return (\n <HvVerticalNavigationTreeViewItem\n id={setId(id, itemId)}\n className={classes?.listItem}\n href={href}\n target={target}\n key={itemId}\n nodeId={itemId}\n label={<ItemText />}\n icon={icon}\n payload={item}\n selectable={selectable}\n disabled={disabled}\n onMouseEnter={itemMouseEnterHandler}\n disableTooltip={disableTooltip}\n >\n {children\n ? createListHierarchy(\n children,\n id,\n classes,\n mouseEnterHandler,\n disableTooltip\n )\n : undefined}\n </HvVerticalNavigationTreeViewItem>\n );\n });\n\nconst getAllParents = (items) => {\n const parents = items.filter(\n (item) => item.data != null && item.data.length > 0\n );\n const childParents = parents.flatMap((item) => getAllParents(item.data));\n\n return [...parents, ...childParents];\n};\n\nfunction pathToElement(data, targetId) {\n const path: string[] = [];\n\n if (data != null && data.length > 0) {\n for (let i = 0; i !== data.length; ++i) {\n const item = data[i];\n if (item.id === targetId) {\n path.push(item.id);\n break;\n }\n\n const subPaths = pathToElement(item.data, targetId);\n if (subPaths.length > 0) {\n path.push(item.id);\n path.push(...subPaths);\n break;\n }\n }\n }\n\n return path;\n}\n\nexport const HvVerticalNavigationTree = ({\n id,\n\n className,\n classes,\n\n data,\n\n mode = \"navigation\",\n\n collapsible = false,\n expanded: expandedProp,\n defaultExpanded,\n onToggle,\n\n selected: selectedProp,\n defaultSelected,\n onChange,\n\n ...others\n}: HvVerticalNavigationTreeProps) => {\n const [selected, setSelected] = useControlled(selectedProp, defaultSelected);\n const [expanded, setExpanded] = useControlled(expandedProp, () => {\n if (defaultExpanded === true) {\n // all parent nodes will be expanded by default\n return getAllParents(data).map((item) => item.id);\n }\n\n if (defaultExpanded === false) {\n // all parent nodes will be collapsed by default\n return [];\n }\n\n if (defaultExpanded == null) {\n if (selected != null) {\n // the path to the selected node will be expanded (default behaviour)\n const path = pathToElement(data, selected);\n return path.slice(0, -1);\n }\n\n // nothing is expanded\n return [];\n }\n\n return defaultExpanded;\n });\n\n const {\n isOpen,\n useIcons,\n slider,\n\n parentItem,\n setParentItem,\n withParentData,\n navigateToChildHandler,\n\n setParentData,\n setParentSelected,\n } = useContext(VerticalNavigationContext);\n\n const [navigationPopup, setNavigationPopup] = useState<{\n // This value is needed to guarantee that the NavigationPopup is fully re-rendered with keeping any previous values\n uniqueKey: string;\n anchorEl: HTMLButtonElement | null;\n fixedMode: boolean;\n data: NavigationData[];\n } | null>(null);\n\n const handleChange = useCallback(\n (event, selectedId, selectedItem) => {\n if (useIcons && !isOpen && selectedItem.data) {\n const currentEventTarget = event.currentTarget;\n setNavigationPopup((prevState) => {\n // We want to close the popup in case the clicked element is the same as the previous one\n return prevState?.anchorEl === currentEventTarget\n ? null\n : {\n uniqueKey: uniqueId(),\n anchorEl: currentEventTarget,\n fixedMode: true,\n data: selectedItem.data,\n };\n });\n\n // We need this stopPropagation or else the Popup will close due to the clickaway being triggered\n event.stopPropagation();\n } else {\n setSelected(selectedId);\n setExpanded((prevState) => {\n if (!isOpen) {\n return [...prevState, ...pathToElement(data, selectedId)];\n }\n return [...prevState];\n });\n setNavigationPopup(null);\n if (onChange) {\n onChange(event, selectedItem);\n }\n }\n },\n [onChange, setSelected]\n );\n\n const treeViewItemMouseEnterHandler = (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\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, isOpen]\n );\n\n useEffect(() => {\n if (!isOpen) {\n setNavigationPopup?.(null);\n }\n }, [isOpen]);\n\n useEffect(() => {\n if (setParentSelected) setParentSelected(selected);\n }, [selected, setSelected]);\n\n useEffect(() => {\n if (setParentData) setParentData(data);\n }, [data]);\n\n useEffect(() => {\n if (\n withParentData &&\n selected &&\n setParentItem &&\n getParentItemById(withParentData, selected)\n ) {\n setParentItem(getParentItemById(withParentData, selected));\n }\n }, [withParentData]);\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 return (\n <StyledNav\n id={id}\n className={clsx(\n className,\n verticalNavigationTreeClasses.root,\n classes?.root,\n !isOpen &&\n !useIcons &&\n clsx(verticalNavigationTreeClasses.collapsed, classes?.collapsed)\n )}\n onMouseLeave={handleStyledNavMouseLeave}\n {...others}\n >\n {slider ? (\n <HvVerticalNavigationSlider\n data={parentItem.data || withParentData}\n selected={selected}\n onNavigateToTarget={navigateToTargetHandler}\n onNavigateToChild={navigateToChildHandler}\n />\n ) : (\n <HvVerticalNavigationTreeView\n id={setId(id, \"tree\")}\n className={clsx(verticalNavigationTreeClasses.list, classes?.list)}\n selectable\n mode={mode}\n collapsible={collapsible}\n selected={selected}\n onChange={handleChange}\n expanded={expanded}\n onToggle={handleToggle}\n >\n {useIcons && !isOpen && navigationPopup && (\n <HvVerticalNavigationPopup\n id={setId(id, \"navigation-popup\")}\n key={navigationPopup.uniqueKey}\n anchorEl={navigationPopup.anchorEl}\n selected={selected}\n fixedMode={navigationPopup.fixedMode}\n data={navigationPopup.data}\n onClose={handleNavigationPopupClose}\n onChange={handleChange}\n className={clsx(\n verticalNavigationTreeClasses.navigationPopup,\n classes?.navigationPopup\n )}\n />\n )}\n {children}\n </HvVerticalNavigationTreeView>\n )}\n </StyledNav>\n );\n};\n\nexport interface HvVerticalNavigationTreeProps\n extends HvBaseProps<HTMLDivElement, \"onChange\"> {\n /**\n * Id to be applied to the root node.\n */\n id?: string;\n /**\n * Class names to be applied.\n */\n className?: string;\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes?: HvVerticalNavigationTreeClasses;\n /**\n * Modus operandi (role) of the widget instance.\n */\n mode?: NavigationMode;\n /**\n * Can non-leaf nodes be collapsed / expanded.\n */\n collapsible?: boolean;\n /**\n * The ID of the selected page.\n */\n selected?: string;\n /**\n * When uncontrolled, defines the initial selected page ID.\n */\n defaultSelected?: string;\n /**\n * Callback fired when a navigation item is selected.\n *\n * @param {object} event The event source of the callback.\n * @param {object} page The data of the selected page.\n */\n onChange?: (event, page) => void;\n /**\n * Expanded nodes' ids.\n */\n expanded?: string[];\n /**\n * When uncontrolled, defines the initial expanded nodes' ids.\n *\n * It also supports `true` for starting with all nodes expanded.\n * With `false` all nodes will be collapsed.\n *\n * By default it expands the needed nodes to display the current selection, if any.\n */\n defaultExpanded?: string[] | boolean;\n /**\n * Callback fired when tree items are expanded/collapsed.\n *\n * @param {object} event The event source of the callback.\n * @param {array} nodeIds The ids of the expanded nodes (old and new).\n */\n onToggle?: (event, nodeIds) => void;\n /**\n * An array containing the data for each menu item.\n *\n * id - the id to be applied to the root element.\n * label - the label to be rendered on the menu item.\n * data - sub-menu items\n * href - the url used for navigation.\n * target - the behavior when opening an url.\n */\n data?: NavigationData[];\n}\n\nexport type NavigationMode = \"treeview\" | \"navigation\" | \"slider\";\n"],"names":["createListHierarchy","items","id","classes","mouseEnterHandler","disableTooltip","map","item","itemId","label","itemLabel","icon","data","children","selectable","disabled","href","target","ItemText","wrapperTooltip","itemMouseEnterHandler","event","HvVerticalNavigationTreeViewItem","setId","className","listItem","nodeId","_jsx","payload","onMouseEnter","undefined","getAllParents","parents","filter","length","childParents","flatMap","pathToElement","targetId","path","i","push","subPaths","HvVerticalNavigationTree","mode","collapsible","expanded","expandedProp","defaultExpanded","onToggle","selected","selectedProp","defaultSelected","onChange","others","setSelected","useControlled","setExpanded","slice","isOpen","useIcons","slider","parentItem","setParentItem","withParentData","navigateToChildHandler","setParentData","setParentSelected","useContext","VerticalNavigationContext","navigationPopup","setNavigationPopup","useState","handleChange","useCallback","selectedId","selectedItem","currentEventTarget","currentTarget","prevState","anchorEl","uniqueKey","uniqueId","fixedMode","stopPropagation","treeViewItemMouseEnterHandler","isCollapsed","handleToggle","newExpanded","useMemo","useEffect","getParentItemById","navigateToTargetHandler","handleNavigationPopupClose","handleStyledNavMouseLeave","StyledNav","clsx","verticalNavigationTreeClasses","root","collapsed","onMouseLeave","HvVerticalNavigationSlider","onNavigateToTarget","onNavigateToChild","_jsxs","HvVerticalNavigationTreeView","list","HvVerticalNavigationPopup","onClose"],"mappings":"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"}
1
+ {"version":3,"file":"Navigation.cjs","sources":["../../../../../src/components/VerticalNavigation/Navigation/Navigation.tsx"],"sourcesContent":["import {\n useCallback,\n useMemo,\n useContext,\n useEffect,\n useState,\n ComponentProps,\n} from \"react\";\nimport { clsx } from \"clsx\";\nimport uniqueId from \"lodash/uniqueId\";\nimport { setId, wrapperTooltip } from \"@core/utils\";\nimport { useControlled } from \"@core/hooks\";\nimport { HvBaseProps } from \"@core/types\";\nimport {\n HvVerticalNavigationTreeView,\n HvVerticalNavigationTreeViewItem,\n} from \"../TreeView\";\nimport verticalNavigationTreeClasses, {\n HvVerticalNavigationTreeClasses,\n} from \"./navigationClasses\";\nimport { StyledNav } from \"./Navigation.styles\";\nimport { HvVerticalNavigationSlider } from \"..\";\nimport { VerticalNavigationContext } from \"../VerticalNavigationContext\";\nimport { HvVerticalNavigationPopup } from \"../NavigationPopup/NavigationPopup\";\nimport { getParentItemById } from \"../NavigationSlider/utils/NavigationSlider.utils\";\n\nexport type NavigationData<T extends React.ElementType = \"a\"> =\n ComponentProps<T> &\n Record<string, any> & {\n /** The id to be applied to the root element. */\n id: string;\n /** The label to be rendered on the menu item. */\n label: string;\n /** The icon to be rendered. */\n icon?: React.ReactNode;\n /** The Data children subset. */\n data?: NavigationData<T>[];\n /** Whether the item is disabled and not interactive. */\n disabled?: boolean;\n /** Whether the item has a selected state. */\n selectable?: boolean;\n };\n\nconst createListHierarchy = (\n items,\n id,\n classes?: HvVerticalNavigationTreeClasses,\n mouseEnterHandler?: (event, item) => void,\n disableTooltip = false\n) =>\n items.map((item) => {\n const {\n id: itemId,\n label: itemLabel,\n icon,\n data: children,\n selectable,\n disabled,\n href,\n target,\n } = item;\n\n const ItemText = wrapperTooltip(true, itemLabel, itemLabel);\n\n const itemMouseEnterHandler = (event) => {\n mouseEnterHandler?.(event, item);\n };\n\n return (\n <HvVerticalNavigationTreeViewItem\n id={setId(id, itemId)}\n className={classes?.listItem}\n href={href}\n target={target}\n key={itemId}\n nodeId={itemId}\n label={<ItemText />}\n icon={icon}\n payload={item}\n selectable={selectable}\n disabled={disabled}\n onMouseEnter={itemMouseEnterHandler}\n disableTooltip={disableTooltip}\n >\n {children\n ? createListHierarchy(\n children,\n id,\n classes,\n mouseEnterHandler,\n disableTooltip\n )\n : undefined}\n </HvVerticalNavigationTreeViewItem>\n );\n });\n\nconst getAllParents = (items) => {\n const parents = items.filter(\n (item) => item.data != null && item.data.length > 0\n );\n const childParents = parents.flatMap((item) => getAllParents(item.data));\n\n return [...parents, ...childParents];\n};\n\nfunction pathToElement(data, targetId) {\n const path: string[] = [];\n\n if (data != null && data.length > 0) {\n for (let i = 0; i !== data.length; ++i) {\n const item = data[i];\n if (item.id === targetId) {\n path.push(item.id);\n break;\n }\n\n const subPaths = pathToElement(item.data, targetId);\n if (subPaths.length > 0) {\n path.push(item.id);\n path.push(...subPaths);\n break;\n }\n }\n }\n\n return path;\n}\n\nexport const HvVerticalNavigationTree = ({\n id,\n\n className,\n classes,\n\n data,\n\n mode = \"navigation\",\n\n collapsible = false,\n expanded: expandedProp,\n defaultExpanded,\n onToggle,\n\n selected: selectedProp,\n defaultSelected,\n onChange,\n\n ...others\n}: HvVerticalNavigationTreeProps) => {\n const [selected, setSelected] = useControlled(selectedProp, defaultSelected);\n const [expanded, setExpanded] = useControlled(expandedProp, () => {\n if (defaultExpanded === true) {\n // all parent nodes will be expanded by default\n return getAllParents(data).map((item) => item.id);\n }\n\n if (defaultExpanded === false) {\n // all parent nodes will be collapsed by default\n return [];\n }\n\n if (defaultExpanded == null) {\n if (selected != null) {\n // the path to the selected node will be expanded (default behaviour)\n const path = pathToElement(data, selected);\n return path.slice(0, -1);\n }\n\n // nothing is expanded\n return [];\n }\n\n return defaultExpanded;\n });\n\n const {\n isOpen,\n useIcons,\n slider,\n\n parentItem,\n setParentItem,\n withParentData,\n navigateToChildHandler,\n\n setParentData,\n setParentSelected,\n } = useContext(VerticalNavigationContext);\n\n const [navigationPopup, setNavigationPopup] = useState<{\n // This value is needed to guarantee that the NavigationPopup is fully re-rendered with keeping any previous values\n uniqueKey: string;\n anchorEl: HTMLButtonElement | null;\n fixedMode: boolean;\n data: NavigationData[];\n } | null>(null);\n\n const handleChange = useCallback(\n (event, selectedId, selectedItem) => {\n if (useIcons && !isOpen && selectedItem.data) {\n const currentEventTarget = event.currentTarget;\n setNavigationPopup((prevState) => {\n // We want to close the popup in case the clicked element is the same as the previous one\n return prevState?.anchorEl === currentEventTarget\n ? null\n : {\n uniqueKey: uniqueId(),\n anchorEl: currentEventTarget,\n fixedMode: true,\n data: selectedItem.data,\n };\n });\n\n // We need this stopPropagation or else the Popup will close due to the clickaway being triggered\n event.stopPropagation();\n } else {\n setSelected(selectedId);\n setExpanded((prevState) => {\n if (!isOpen) {\n return [...prevState, ...pathToElement(data, selectedId)];\n }\n return [...prevState];\n });\n setNavigationPopup(null);\n if (onChange) {\n onChange(event, selectedItem);\n }\n }\n },\n [onChange, setSelected]\n );\n\n const treeViewItemMouseEnterHandler = (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\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, isOpen]\n );\n\n useEffect(() => {\n if (!isOpen) {\n setNavigationPopup?.(null);\n }\n }, [isOpen]);\n\n useEffect(() => {\n if (setParentSelected) setParentSelected(selected);\n }, [selected, setSelected]);\n\n useEffect(() => {\n if (setParentData) setParentData(data);\n }, [data]);\n\n useEffect(() => {\n if (\n withParentData &&\n selected &&\n setParentItem &&\n getParentItemById(withParentData, selected)\n ) {\n setParentItem(getParentItemById(withParentData, selected));\n }\n }, [withParentData]);\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 return (\n <StyledNav\n id={id}\n className={clsx(\n className,\n verticalNavigationTreeClasses.root,\n classes?.root,\n !isOpen &&\n !useIcons &&\n clsx(verticalNavigationTreeClasses.collapsed, classes?.collapsed)\n )}\n onMouseLeave={handleStyledNavMouseLeave}\n {...others}\n >\n {slider ? (\n <HvVerticalNavigationSlider\n data={parentItem.data || withParentData}\n selected={selected}\n onNavigateToTarget={navigateToTargetHandler}\n onNavigateToChild={navigateToChildHandler}\n />\n ) : (\n <HvVerticalNavigationTreeView\n id={setId(id, \"tree\")}\n className={clsx(verticalNavigationTreeClasses.list, classes?.list)}\n selectable\n mode={mode}\n collapsible={collapsible}\n selected={selected}\n onChange={handleChange}\n expanded={expanded}\n onToggle={handleToggle}\n >\n {useIcons && !isOpen && navigationPopup && (\n <HvVerticalNavigationPopup\n id={setId(id, \"navigation-popup\")}\n key={navigationPopup.uniqueKey}\n anchorEl={navigationPopup.anchorEl}\n selected={selected}\n fixedMode={navigationPopup.fixedMode}\n data={navigationPopup.data}\n onClose={handleNavigationPopupClose}\n onChange={handleChange}\n className={clsx(\n verticalNavigationTreeClasses.navigationPopup,\n classes?.navigationPopup\n )}\n />\n )}\n {children}\n </HvVerticalNavigationTreeView>\n )}\n </StyledNav>\n );\n};\n\nexport interface HvVerticalNavigationTreeProps\n extends HvBaseProps<HTMLDivElement, \"onChange\"> {\n /**\n * Id to be applied to the root node.\n */\n id?: string;\n /**\n * Class names to be applied.\n */\n className?: string;\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes?: HvVerticalNavigationTreeClasses;\n /**\n * Modus operandi (role) of the widget instance.\n */\n mode?: NavigationMode;\n /**\n * Can non-leaf nodes be collapsed / expanded.\n */\n collapsible?: boolean;\n /**\n * The ID of the selected page.\n */\n selected?: string;\n /**\n * When uncontrolled, defines the initial selected page ID.\n */\n defaultSelected?: string;\n /**\n * Callback fired when a navigation item is selected.\n *\n * @param {object} event The event source of the callback.\n * @param {object} page The data of the selected page.\n */\n onChange?: (event, page) => void;\n /**\n * Expanded nodes' ids.\n */\n expanded?: string[];\n /**\n * When uncontrolled, defines the initial expanded nodes' ids.\n *\n * It also supports `true` for starting with all nodes expanded.\n * With `false` all nodes will be collapsed.\n *\n * By default it expands the needed nodes to display the current selection, if any.\n */\n defaultExpanded?: string[] | boolean;\n /**\n * Callback fired when tree items are expanded/collapsed.\n *\n * @param {object} event The event source of the callback.\n * @param {array} nodeIds The ids of the expanded nodes (old and new).\n */\n onToggle?: (event, nodeIds) => void;\n /**\n * An array containing the data for each menu item.\n *\n * id - the id to be applied to the root element.\n * label - the label to be rendered on the menu item.\n * data - sub-menu items\n * href - the url used for navigation.\n * target - the behavior when opening an url.\n */\n data?: NavigationData[];\n}\n\nexport type NavigationMode = \"treeview\" | \"navigation\" | \"slider\";\n"],"names":["createListHierarchy","items","id","classes","mouseEnterHandler","disableTooltip","map","item","itemId","label","itemLabel","icon","data","children","selectable","disabled","href","target","ItemText","wrapperTooltip","itemMouseEnterHandler","event","HvVerticalNavigationTreeViewItem","setId","className","listItem","nodeId","_jsx","payload","onMouseEnter","undefined","getAllParents","parents","filter","length","childParents","flatMap","pathToElement","targetId","path","i","push","subPaths","HvVerticalNavigationTree","mode","collapsible","expanded","expandedProp","defaultExpanded","onToggle","selected","selectedProp","defaultSelected","onChange","others","setSelected","useControlled","setExpanded","slice","isOpen","useIcons","slider","parentItem","setParentItem","withParentData","navigateToChildHandler","setParentData","setParentSelected","useContext","VerticalNavigationContext","navigationPopup","setNavigationPopup","useState","handleChange","useCallback","selectedId","selectedItem","currentEventTarget","currentTarget","prevState","anchorEl","uniqueKey","uniqueId","fixedMode","stopPropagation","treeViewItemMouseEnterHandler","isCollapsed","handleToggle","newExpanded","useMemo","useEffect","getParentItemById","navigateToTargetHandler","handleNavigationPopupClose","handleStyledNavMouseLeave","StyledNav","clsx","verticalNavigationTreeClasses","root","collapsed","onMouseLeave","HvVerticalNavigationSlider","onNavigateToTarget","onNavigateToChild","_jsxs","HvVerticalNavigationTreeView","list","HvVerticalNavigationPopup","onClose"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"navigationClasses.cjs","sources":["../../../../../src/components/VerticalNavigation/Navigation/navigationClasses.ts"],"sourcesContent":["import { getClasses } from \"@core/utils\";\n\nexport interface HvVerticalNavigationTreeClasses {\n root?: string;\n list?: string;\n listItem?: string;\n collapsed?: string;\n popup?: string;\n navigationPopup?: string;\n}\n\nconst classKeys: (keyof HvVerticalNavigationTreeClasses)[] = [\n \"root\",\n \"list\",\n \"listItem\",\n \"collapsed\",\n \"popup\",\n \"navigationPopup\",\n];\n\nconst verticalNavigationTreeClasses = getClasses(\n classKeys,\n \"HvVerticalNavigationTree\"\n);\n\nexport default verticalNavigationTreeClasses;\n"],"names":["classKeys","verticalNavigationTreeClasses","getClasses"],"mappings":";;;AAWA,MAAMA,YAAuD,CAC3D,QACA,QACA,YACA,aACA,SACA,iBAAiB;AAGnB,MAAMC,gCAAgCC,QACpCF,WAAAA,WACA,0BAA0B;AAG5B,MAAA,kCAAeC;;"}
1
+ {"version":3,"file":"navigationClasses.cjs","sources":["../../../../../src/components/VerticalNavigation/Navigation/navigationClasses.ts"],"sourcesContent":["import { getClasses } from \"@core/utils\";\n\nexport interface HvVerticalNavigationTreeClasses {\n root?: string;\n list?: string;\n listItem?: string;\n collapsed?: string;\n popup?: string;\n navigationPopup?: string;\n}\n\nconst classKeys: (keyof HvVerticalNavigationTreeClasses)[] = [\n \"root\",\n \"list\",\n \"listItem\",\n \"collapsed\",\n \"popup\",\n \"navigationPopup\",\n];\n\nconst verticalNavigationTreeClasses = getClasses(\n classKeys,\n \"HvVerticalNavigationTree\"\n);\n\nexport default verticalNavigationTreeClasses;\n"],"names":["classKeys","verticalNavigationTreeClasses","getClasses"],"mappings":";;;AAWA,MAAMA,YAAuD,CAC3D,QACA,QACA,YACA,aACA,SACA,iBAAiB;AAGnB,MAAMC,gCAAgCC,QACpCF,WAAAA,WACA,0BACF;AAEA,MAAA,kCAAeC;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationPopup.cjs","sources":["../../../../../src/components/VerticalNavigation/NavigationPopup/NavigationPopup.tsx"],"sourcesContent":["import { ClickAwayListener } from \"@mui/material\";\nimport { clsx } from \"clsx\";\n\nimport {\n NavigationData,\n HvVerticalNavigationTree,\n HvVerticalNavigation,\n verticalNavigationTreeClasses,\n} from \"@core/components\";\nimport { HvBaseProps } from \"@core/types\";\nimport { setId } from \"@core/utils\";\n\nimport { StyledPopper, StyledPopupContainer } from \"./NavigationPopup.styles\";\n\nexport interface HvVerticalNavigationPopupProps\n extends HvBaseProps<HTMLDivElement> {\n id?: string;\n anchorEl?: HTMLElement | null;\n fixedMode?: boolean;\n data?: NavigationData[];\n selected?: string;\n onClose?: () => void;\n onChange?: any;\n}\n\nexport const HvVerticalNavigationPopup = ({\n id,\n anchorEl,\n fixedMode,\n onClose,\n data,\n selected,\n onChange,\n\n ...others\n}: HvVerticalNavigationPopupProps) => {\n const handleClickAway = () => {\n onClose?.();\n };\n\n const handleChange = (event, selectedItem) => {\n onChange(event, selectedItem.id, selectedItem);\n };\n\n const handleMouseLeave = () => {\n if (!fixedMode) {\n onClose?.();\n }\n };\n\n return (\n <StyledPopper open anchorEl={anchorEl} placement=\"right-start\" {...others}>\n <ClickAwayListener onClickAway={handleClickAway}>\n <StyledPopupContainer>\n <HvVerticalNavigation open useIcons>\n <HvVerticalNavigationTree\n className={clsx(verticalNavigationTreeClasses.popup)}\n id={setId(id, \"tree\")}\n collapsible\n defaultExpanded\n selected={selected}\n onChange={handleChange}\n data={data}\n onMouseLeave={handleMouseLeave}\n />\n </HvVerticalNavigation>\n </StyledPopupContainer>\n </ClickAwayListener>\n </StyledPopper>\n );\n};\n"],"names":["HvVerticalNavigationPopup","id","anchorEl","fixedMode","onClose","data","selected","onChange","others","handleClickAway","handleChange","event","selectedItem","handleMouseLeave","StyledPopper","open","placement","children","ClickAwayListener","onClickAway","StyledPopupContainer","HvVerticalNavigation","useIcons","HvVerticalNavigationTree","className","clsx","verticalNavigationTreeClasses","popup","setId","collapsible","defaultExpanded","onMouseLeave"],"mappings":";;;;;;;;;;AAyBO,MAAMA,4BAA4BA,CAAC;AAAA,EACxCC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EAEA,GAAGC;AAC2B,MAAM;AACpC,QAAMC,kBAAkBA,MAAM;AACjB;AAAA,EAAA;AAGPC,QAAAA,eAAeA,CAACC,OAAOC,iBAAiB;AACnCD,aAAAA,OAAOC,aAAaX,IAAIW,YAAY;AAAA,EAAA;AAG/C,QAAMC,mBAAmBA,MAAM;AAC7B,QAAI,CAACV,WAAW;AACH;AAAA,IACb;AAAA,EAAA;AAGF,wCACGW,uBAAAA,cAAY;AAAA,IAACC,MAAI;AAAA,IAACb;AAAAA,IAAoBc,WAAU;AAAA,IAAa,GAAKR;AAAAA,IAAMS,yCACtEC,4BAAiB;AAAA,MAACC,aAAaV;AAAAA,MAAgBQ,yCAC7CG,6CAAoB;AAAA,QAAAH,yCAClBI,yCAAoB;AAAA,UAACN,MAAI;AAAA,UAACO,UAAQ;AAAA,UAAAL,yCAChCM,qCAAwB;AAAA,YACvBC,WAAWC,KAAAA,KAAKC,kBAAAA,QAA8BC,KAAK;AAAA,YACnD1B,IAAI2B,MAAAA,MAAM3B,IAAI,MAAM;AAAA,YACpB4B,aAAW;AAAA,YACXC,iBAAe;AAAA,YACfxB;AAAAA,YACAC,UAAUG;AAAAA,YACVL;AAAAA,YACA0B,cAAclB;AAAAA,UAAAA,CAAiB;AAAA,QAAA,CAC/B;AAAA,MAAA,CACmB;AAAA,IAAA,CACF;AAAA,EAAA,CAEZ;AAEnB;;"}
1
+ {"version":3,"file":"NavigationPopup.cjs","sources":["../../../../../src/components/VerticalNavigation/NavigationPopup/NavigationPopup.tsx"],"sourcesContent":["import { ClickAwayListener } from \"@mui/material\";\nimport { clsx } from \"clsx\";\n\nimport {\n NavigationData,\n HvVerticalNavigationTree,\n HvVerticalNavigation,\n verticalNavigationTreeClasses,\n} from \"@core/components\";\nimport { HvBaseProps } from \"@core/types\";\nimport { setId } from \"@core/utils\";\n\nimport { StyledPopper, StyledPopupContainer } from \"./NavigationPopup.styles\";\n\nexport interface HvVerticalNavigationPopupProps\n extends HvBaseProps<HTMLDivElement> {\n id?: string;\n anchorEl?: HTMLElement | null;\n fixedMode?: boolean;\n data?: NavigationData[];\n selected?: string;\n onClose?: () => void;\n onChange?: any;\n}\n\nexport const HvVerticalNavigationPopup = ({\n id,\n anchorEl,\n fixedMode,\n onClose,\n data,\n selected,\n onChange,\n\n ...others\n}: HvVerticalNavigationPopupProps) => {\n const handleClickAway = () => {\n onClose?.();\n };\n\n const handleChange = (event, selectedItem) => {\n onChange(event, selectedItem.id, selectedItem);\n };\n\n const handleMouseLeave = () => {\n if (!fixedMode) {\n onClose?.();\n }\n };\n\n return (\n <StyledPopper open anchorEl={anchorEl} placement=\"right-start\" {...others}>\n <ClickAwayListener onClickAway={handleClickAway}>\n <StyledPopupContainer>\n <HvVerticalNavigation open useIcons>\n <HvVerticalNavigationTree\n className={clsx(verticalNavigationTreeClasses.popup)}\n id={setId(id, \"tree\")}\n collapsible\n defaultExpanded\n selected={selected}\n onChange={handleChange}\n data={data}\n onMouseLeave={handleMouseLeave}\n />\n </HvVerticalNavigation>\n </StyledPopupContainer>\n </ClickAwayListener>\n </StyledPopper>\n );\n};\n"],"names":["HvVerticalNavigationPopup","id","anchorEl","fixedMode","onClose","data","selected","onChange","others","handleClickAway","handleChange","event","selectedItem","handleMouseLeave","StyledPopper","open","placement","children","ClickAwayListener","onClickAway","StyledPopupContainer","HvVerticalNavigation","useIcons","HvVerticalNavigationTree","className","clsx","verticalNavigationTreeClasses","popup","setId","collapsible","defaultExpanded","onMouseLeave"],"mappings":";;;;;;;;;;AAyBO,MAAMA,4BAA4BA,CAAC;AAAA,EACxCC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EAEA,GAAGC;AAC2B,MAAM;AACpC,QAAMC,kBAAkBA,MAAM;AAClB;AAAA,EAAA;AAGNC,QAAAA,eAAeA,CAACC,OAAOC,iBAAiB;AACnCD,aAAAA,OAAOC,aAAaX,IAAIW,YAAY;AAAA,EAAA;AAG/C,QAAMC,mBAAmBA,MAAM;AAC7B,QAAI,CAACV,WAAW;AACJ;AAAA,IACZ;AAAA,EAAA;AAGF,wCACGW,uBAAAA,cAAY;AAAA,IAACC,MAAI;AAAA,IAACb;AAAAA,IAAoBc,WAAU;AAAA,IAAa,GAAKR;AAAAA,IAAMS,yCACtEC,4BAAiB;AAAA,MAACC,aAAaV;AAAAA,MAAgBQ,yCAC7CG,6CAAoB;AAAA,QAAAH,yCAClBI,yCAAoB;AAAA,UAACN,MAAI;AAAA,UAACO,UAAQ;AAAA,UAAAL,yCAChCM,qCAAwB;AAAA,YACvBC,WAAWC,KAAAA,KAAKC,kBAAAA,QAA8BC,KAAK;AAAA,YACnD1B,IAAI2B,MAAAA,MAAM3B,IAAI,MAAM;AAAA,YACpB4B,aAAW;AAAA,YACXC,iBAAe;AAAA,YACfxB;AAAAA,YACAC,UAAUG;AAAAA,YACVL;AAAAA,YACA0B,cAAclB;AAAAA,UAAAA,CACf;AAAA,QAAA,CACmB;AAAA,MAAA,CACF;AAAA,IAAA,CACL;AAAA,EAAA,CACP;AAElB;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationSlider.cjs","sources":["../../../../../src/components/VerticalNavigation/NavigationSlider/NavigationSlider.tsx"],"sourcesContent":["import { DropRightXS } from \"@hitachivantara/uikit-react-icons\";\nimport { clsx } from \"clsx\";\nimport {\n HvButton,\n HvListContainer,\n HvOverflowTooltip,\n NavigationData,\n} from \"@core/components\";\nimport { StyledListItem } from \"./NavigationSlider.styles\";\nimport verticalNavigationSliderClasses, {\n HvVerticalNavigationSliderClasses,\n} from \"./navigationSliderClasses\";\n\nexport interface HvVerticalNavigationSliderProps {\n /**\n * Id to be applied to the root node of the panel.\n */\n id?: string;\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes?: HvVerticalNavigationSliderClasses;\n /**\n * An array containing the data for each menu item.\n *\n * id - the id to be applied to the root element.\n * label - the label to be rendered on the menu item.\n * icon - the icon react element\n * data - sub-menu items\n * href - the url used for navigation.\n * target - the behavior when opening an url.\n */\n data?: NavigationData[];\n /**\n * The selected item id.\n */\n selected?: string;\n /**\n * Triggered when the item is clicked.\n */\n onNavigateToTarget?: (\n event: React.MouseEvent<HTMLLIElement>,\n item: NavigationData\n ) => void;\n /**\n * Triggered when the navigate to child button is clicked.\n */\n onNavigateToChild?: (\n event: React.MouseEvent<HTMLButtonElement>,\n item: NavigationData\n ) => void;\n}\n\nexport const HvVerticalNavigationSlider = ({\n id,\n classes,\n data,\n selected,\n onNavigateToTarget,\n onNavigateToChild,\n}: HvVerticalNavigationSliderProps) => {\n return (\n <HvListContainer interactive id={id}>\n {data &&\n data.map((item) => (\n <StyledListItem\n key={item.id}\n classes={{\n root: classes?.root,\n selected: clsx(\n classes?.listItemSelected,\n verticalNavigationSliderClasses.listItemSelected\n ),\n }}\n onClick={(event) => {\n onNavigateToTarget?.(event, item);\n }}\n aria-label={item.label}\n aria-current={\n selected === item.id ? (item.href ? \"page\" : true) : undefined\n }\n selected={selected === item.id}\n startAdornment={item.icon ? <div>{item.icon}</div> : undefined}\n endAdornment={\n item.data && item.data.length > 0 ? (\n <HvButton\n variant=\"secondaryGhost\"\n icon\n onClick={(event) => {\n onNavigateToChild?.(event, item);\n }}\n >\n <DropRightXS />\n </HvButton>\n ) : undefined\n }\n >\n <HvOverflowTooltip data={item.label} />\n </StyledListItem>\n ))}\n </HvListContainer>\n );\n};\n"],"names":["HvVerticalNavigationSlider","id","classes","data","selected","onNavigateToTarget","onNavigateToChild","HvListContainer","interactive","children","map","item","StyledListItem","root","clsx","listItemSelected","verticalNavigationSliderClasses","onClick","event","label","href","undefined","startAdornment","icon","_jsx","endAdornment","length","HvButton","variant","DropRightXS","HvOverflowTooltip"],"mappings":";;;;;;;;;;AAqDO,MAAMA,6BAA6BA,CAAC;AAAA,EACzCC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAC+B,MAAM;AACrC,wCACGC,cAAAA,iBAAe;AAAA,IAACC,aAAW;AAAA,IAACP;AAAAA,IAAOQ,UACjCN,QACCA,KAAKO,IAAKC,CAAAA,wCACPC,wCAAc;AAAA,MAEbV,SAAS;AAAA,QACPW,MAAMX,mCAASW;AAAAA,QACfT,UAAUU,KAAAA,KACRZ,mCAASa,kBACTC,wBAAAA,QAAgCD,gBAAgB;AAAA,MAEpD;AAAA,MACAE,SAAUC,CAAU,UAAA;AAClBb,iEAAqBa,OAAOP;AAAAA,MAC9B;AAAA,MACA,cAAYA,KAAKQ;AAAAA,MACjB,gBACEf,aAAaO,KAAKV,KAAMU,KAAKS,OAAO,SAAS,OAAQC;AAAAA,MAEvDjB,UAAUA,aAAaO,KAAKV;AAAAA,MAC5BqB,gBAAgBX,KAAKY,OAAOC,2BAAAA,IAAA,OAAA;AAAA,QAAAf,UAAME,KAAKY;AAAAA,MAAI,CAAA,IAAUF;AAAAA,MACrDI,cACEd,KAAKR,QAAQQ,KAAKR,KAAKuB,SAAS,mCAC7BC,iBAAQ;AAAA,QACPC,SAAQ;AAAA,QACRL,MAAI;AAAA,QACJN,SAAUC,CAAU,UAAA;AAClBZ,iEAAoBY,OAAOP;AAAAA,QAC7B;AAAA,QAAEF,UAEFe,2BAAAA,IAACK,gBAAW,aAAA,EAAA;AAAA,MAAG,CAAA,IAEfR;AAAAA,MACLZ,yCAEAqB,mCAAiB;AAAA,QAAC3B,MAAMQ,KAAKQ;AAAAA,MAAAA,CAAM;AAAA,IAAA,GA/B/BR,KAAKV,EAAE,CAiCf;AAAA,EAAA,CACa;AAEtB;;"}
1
+ {"version":3,"file":"NavigationSlider.cjs","sources":["../../../../../src/components/VerticalNavigation/NavigationSlider/NavigationSlider.tsx"],"sourcesContent":["import { DropRightXS } from \"@hitachivantara/uikit-react-icons\";\nimport { clsx } from \"clsx\";\nimport {\n HvButton,\n HvListContainer,\n HvOverflowTooltip,\n NavigationData,\n} from \"@core/components\";\nimport { StyledListItem } from \"./NavigationSlider.styles\";\nimport verticalNavigationSliderClasses, {\n HvVerticalNavigationSliderClasses,\n} from \"./navigationSliderClasses\";\n\nexport interface HvVerticalNavigationSliderProps {\n /**\n * Id to be applied to the root node of the panel.\n */\n id?: string;\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes?: HvVerticalNavigationSliderClasses;\n /**\n * An array containing the data for each menu item.\n *\n * id - the id to be applied to the root element.\n * label - the label to be rendered on the menu item.\n * icon - the icon react element\n * data - sub-menu items\n * href - the url used for navigation.\n * target - the behavior when opening an url.\n */\n data?: NavigationData[];\n /**\n * The selected item id.\n */\n selected?: string;\n /**\n * Triggered when the item is clicked.\n */\n onNavigateToTarget?: (\n event: React.MouseEvent<HTMLLIElement>,\n item: NavigationData\n ) => void;\n /**\n * Triggered when the navigate to child button is clicked.\n */\n onNavigateToChild?: (\n event: React.MouseEvent<HTMLButtonElement>,\n item: NavigationData\n ) => void;\n}\n\nexport const HvVerticalNavigationSlider = ({\n id,\n classes,\n data,\n selected,\n onNavigateToTarget,\n onNavigateToChild,\n}: HvVerticalNavigationSliderProps) => {\n return (\n <HvListContainer interactive id={id}>\n {data &&\n data.map((item) => (\n <StyledListItem\n key={item.id}\n classes={{\n root: classes?.root,\n selected: clsx(\n classes?.listItemSelected,\n verticalNavigationSliderClasses.listItemSelected\n ),\n }}\n onClick={(event) => {\n onNavigateToTarget?.(event, item);\n }}\n aria-label={item.label}\n aria-current={\n selected === item.id ? (item.href ? \"page\" : true) : undefined\n }\n selected={selected === item.id}\n startAdornment={item.icon ? <div>{item.icon}</div> : undefined}\n endAdornment={\n item.data && item.data.length > 0 ? (\n <HvButton\n variant=\"secondaryGhost\"\n icon\n onClick={(event) => {\n onNavigateToChild?.(event, item);\n }}\n >\n <DropRightXS />\n </HvButton>\n ) : undefined\n }\n >\n <HvOverflowTooltip data={item.label} />\n </StyledListItem>\n ))}\n </HvListContainer>\n );\n};\n"],"names":["HvVerticalNavigationSlider","id","classes","data","selected","onNavigateToTarget","onNavigateToChild","HvListContainer","interactive","children","map","item","StyledListItem","root","clsx","listItemSelected","verticalNavigationSliderClasses","onClick","event","label","href","undefined","startAdornment","icon","_jsx","endAdornment","length","HvButton","variant","DropRightXS","HvOverflowTooltip"],"mappings":";;;;;;;;;;AAqDO,MAAMA,6BAA6BA,CAAC;AAAA,EACzCC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAC+B,MAAM;AACrC,wCACGC,cAAAA,iBAAe;AAAA,IAACC,aAAW;AAAA,IAACP;AAAAA,IAAOQ,UACjCN,QACCA,KAAKO,IAAKC,CAAAA,wCACPC,wCAAc;AAAA,MAEbV,SAAS;AAAA,QACPW,MAAMX,mCAASW;AAAAA,QACfT,UAAUU,KAAAA,KACRZ,mCAASa,kBACTC,wBAAAA,QAAgCD,gBAClC;AAAA,MACF;AAAA,MACAE,SAAUC,CAAU,UAAA;AAClBb,iEAAqBa,OAAOP;AAAAA,MAC9B;AAAA,MACA,cAAYA,KAAKQ;AAAAA,MACjB,gBACEf,aAAaO,KAAKV,KAAMU,KAAKS,OAAO,SAAS,OAAQC;AAAAA,MAEvDjB,UAAUA,aAAaO,KAAKV;AAAAA,MAC5BqB,gBAAgBX,KAAKY,OAAOC,2BAAAA,IAAA,OAAA;AAAA,QAAAf,UAAME,KAAKY;AAAAA,MAAU,CAAA,IAAIF;AAAAA,MACrDI,cACEd,KAAKR,QAAQQ,KAAKR,KAAKuB,SAAS,mCAC7BC,iBAAQ;AAAA,QACPC,SAAQ;AAAA,QACRL,MAAI;AAAA,QACJN,SAAUC,CAAU,UAAA;AAClBZ,iEAAoBY,OAAOP;AAAAA,QAC7B;AAAA,QAAEF,UAEFe,2BAAAA,IAACK,gBAAa,aAAA,EAAA;AAAA,MACN,CAAA,IACRR;AAAAA,MACLZ,yCAEAqB,mCAAiB;AAAA,QAAC3B,MAAMQ,KAAKQ;AAAAA,MAAAA,CAAQ;AAAA,IAAA,GA/BjCR,KAAKV,EAgCI,CACjB;AAAA,EAAA,CACY;AAErB;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"navigationSliderClasses.cjs","sources":["../../../../../src/components/VerticalNavigation/NavigationSlider/navigationSliderClasses.ts"],"sourcesContent":["import { getClasses } from \"@core/utils\";\n\nexport interface HvVerticalNavigationSliderClasses {\n root?: string;\n listItemSelected?: string;\n}\n\nconst classKeys: (keyof HvVerticalNavigationSliderClasses)[] = [\n \"root\",\n \"listItemSelected\",\n];\n\nconst verticalNavigationSliderClasses = getClasses(\n classKeys,\n \"HvVerticalNavigationSlider\"\n);\n\nexport default verticalNavigationSliderClasses;\n"],"names":["classKeys","verticalNavigationSliderClasses","getClasses"],"mappings":";;;AAOA,MAAMA,YAAyD,CAC7D,QACA,kBAAkB;AAGpB,MAAMC,kCAAkCC,QACtCF,WAAAA,WACA,4BAA4B;AAG9B,MAAA,oCAAeC;;"}
1
+ {"version":3,"file":"navigationSliderClasses.cjs","sources":["../../../../../src/components/VerticalNavigation/NavigationSlider/navigationSliderClasses.ts"],"sourcesContent":["import { getClasses } from \"@core/utils\";\n\nexport interface HvVerticalNavigationSliderClasses {\n root?: string;\n listItemSelected?: string;\n}\n\nconst classKeys: (keyof HvVerticalNavigationSliderClasses)[] = [\n \"root\",\n \"listItemSelected\",\n];\n\nconst verticalNavigationSliderClasses = getClasses(\n classKeys,\n \"HvVerticalNavigationSlider\"\n);\n\nexport default verticalNavigationSliderClasses;\n"],"names":["classKeys","verticalNavigationSliderClasses","getClasses"],"mappings":";;;AAOA,MAAMA,YAAyD,CAC7D,QACA,kBAAkB;AAGpB,MAAMC,kCAAkCC,QACtCF,WAAAA,WACA,4BACF;AAEA,MAAA,oCAAeC;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationSlider.utils.cjs","sources":["../../../../../../src/components/VerticalNavigation/NavigationSlider/utils/NavigationSlider.utils.tsx"],"sourcesContent":["/**\n * Recursively searches in a collection the first element where the property matches the specified value.\n *\n * @param collection - Collection where the search will be performed\n * @param childrenPropName - The children property name where the recursive search will be performed\n * @param propName - The name of the property to be used on the search\n * @param propValue - The value of the property to be used on the search\n * @returns The element that matches the requirement or null if none is found\n */\nconst searchInCollection = (\n collection,\n childrenPropName,\n propName,\n propValue\n) => {\n if (collection[propName] === propValue) {\n return collection;\n }\n\n const items = collection[childrenPropName] || collection;\n\n let foundItem = null;\n for (let index = 0; foundItem === null && index < items.length; index += 1) {\n foundItem = searchInCollection(\n items[index],\n childrenPropName,\n propName,\n propValue\n );\n }\n return foundItem;\n};\n\n/**\n * Returns the navigation item with the specified id.\n *\n * @param navigationItems - The collection of navigation items.\n * @param navigationItemId - The id to be used on the search\n * @returns The navigation item with the specified id.\n */\nconst getNavigationItemById = (navigationItems, navigationItemId) => {\n return searchInCollection(navigationItems, \"data\", \"id\", navigationItemId);\n};\n\n/**\n * Returns the parent item for the received item id.\n *\n * @param navigationItems - The collection of navigation items.\n * @param navigationItemId - The id to be used on the search\n * @returns The parent navigation item.\n */\nconst getParentItemById = (navigationItems, navigationItemId) => {\n const parentId = getNavigationItemById(\n navigationItems,\n navigationItemId\n )?.parent;\n return getNavigationItemById(navigationItems, parentId);\n};\n\n/**\n * Fills the data structure with the parent id on each one of the nodes.\n *\n * @param navigationItems - The collection of navigation items.\n * @param parentItemId - The parent id to be added.\n * @returns The structure now filled with the parent id.\n */\nconst fillDataWithParentId = (navigationItems, parentItemId?) => {\n return navigationItems.map((item) => {\n if (item?.data?.length > 0) {\n return {\n ...item,\n parent: parentItemId,\n data: fillDataWithParentId(item.data, item.id),\n };\n }\n return { ...item, parent: parentItemId };\n });\n};\n\nexport { getNavigationItemById, getParentItemById, fillDataWithParentId };\n"],"names":["searchInCollection","collection","childrenPropName","propName","propValue","items","foundItem","index","length","getNavigationItemById","navigationItems","navigationItemId","getParentItemById","parentId","parent","fillDataWithParentId","parentItemId","map","item","data","id"],"mappings":";;AASA,MAAMA,qBAAqBA,CACzBC,YACAC,kBACAC,UACAC,cACG;AACCH,MAAAA,WAAWE,QAAQ,MAAMC,WAAW;AAC/BH,WAAAA;AAAAA,EACT;AAEMI,QAAAA,QAAQJ,WAAWC,gBAAgB,KAAKD;AAE9C,MAAIK,YAAY;AACPC,WAAAA,QAAQ,GAAGD,cAAc,QAAQC,QAAQF,MAAMG,QAAQD,SAAS,GAAG;AAC1ED,gBAAYN,mBACVK,MAAME,KAAK,GACXL,kBACAC,UACAC,SAAS;AAAA,EAEb;AACOE,SAAAA;AACT;AASMG,MAAAA,wBAAwBA,CAACC,iBAAiBC,qBAAqB;AACnE,SAAOX,mBAAmBU,iBAAiB,QAAQ,MAAMC,gBAAgB;AAC3E;AASMC,MAAAA,oBAAoBA,CAACF,iBAAiBC,qBAAqB;;AAC/D,QAAME,YAAWJ,2BACfC,iBACAC,gBAAgB,MAFDF,mBAGdK;AACIL,SAAAA,sBAAsBC,iBAAiBG,QAAQ;AACxD;AASME,MAAAA,uBAAuBA,CAACL,iBAAiBM,iBAAkB;AACxDN,SAAAA,gBAAgBO,IAAKC,CAAS,SAAA;;AAC/BA,UAAAA,kCAAMC,SAAND,mBAAYV,UAAS,GAAG;AACnB,aAAA;AAAA,QACL,GAAGU;AAAAA,QACHJ,QAAQE;AAAAA,QACRG,MAAMJ,qBAAqBG,KAAKC,MAAMD,KAAKE,EAAE;AAAA,MAAA;AAAA,IAEjD;AACO,WAAA;AAAA,MAAE,GAAGF;AAAAA,MAAMJ,QAAQE;AAAAA,IAAAA;AAAAA,EAAa,CACxC;AACH;;;;"}
1
+ {"version":3,"file":"NavigationSlider.utils.cjs","sources":["../../../../../../src/components/VerticalNavigation/NavigationSlider/utils/NavigationSlider.utils.tsx"],"sourcesContent":["/**\n * Recursively searches in a collection the first element where the property matches the specified value.\n *\n * @param collection - Collection where the search will be performed\n * @param childrenPropName - The children property name where the recursive search will be performed\n * @param propName - The name of the property to be used on the search\n * @param propValue - The value of the property to be used on the search\n * @returns The element that matches the requirement or null if none is found\n */\nconst searchInCollection = (\n collection,\n childrenPropName,\n propName,\n propValue\n) => {\n if (collection[propName] === propValue) {\n return collection;\n }\n\n const items = collection[childrenPropName] || collection;\n\n let foundItem = null;\n for (let index = 0; foundItem === null && index < items.length; index += 1) {\n foundItem = searchInCollection(\n items[index],\n childrenPropName,\n propName,\n propValue\n );\n }\n return foundItem;\n};\n\n/**\n * Returns the navigation item with the specified id.\n *\n * @param navigationItems - The collection of navigation items.\n * @param navigationItemId - The id to be used on the search\n * @returns The navigation item with the specified id.\n */\nconst getNavigationItemById = (navigationItems, navigationItemId) => {\n return searchInCollection(navigationItems, \"data\", \"id\", navigationItemId);\n};\n\n/**\n * Returns the parent item for the received item id.\n *\n * @param navigationItems - The collection of navigation items.\n * @param navigationItemId - The id to be used on the search\n * @returns The parent navigation item.\n */\nconst getParentItemById = (navigationItems, navigationItemId) => {\n const parentId = getNavigationItemById(\n navigationItems,\n navigationItemId\n )?.parent;\n return getNavigationItemById(navigationItems, parentId);\n};\n\n/**\n * Fills the data structure with the parent id on each one of the nodes.\n *\n * @param navigationItems - The collection of navigation items.\n * @param parentItemId - The parent id to be added.\n * @returns The structure now filled with the parent id.\n */\nconst fillDataWithParentId = (navigationItems, parentItemId?) => {\n return navigationItems.map((item) => {\n if (item?.data?.length > 0) {\n return {\n ...item,\n parent: parentItemId,\n data: fillDataWithParentId(item.data, item.id),\n };\n }\n return { ...item, parent: parentItemId };\n });\n};\n\nexport { getNavigationItemById, getParentItemById, fillDataWithParentId };\n"],"names":["searchInCollection","collection","childrenPropName","propName","propValue","items","foundItem","index","length","getNavigationItemById","navigationItems","navigationItemId","getParentItemById","parentId","parent","fillDataWithParentId","parentItemId","map","item","data","id"],"mappings":";;AASA,MAAMA,qBAAqBA,CACzBC,YACAC,kBACAC,UACAC,cACG;AACCH,MAAAA,WAAWE,QAAQ,MAAMC,WAAW;AAC/BH,WAAAA;AAAAA,EACT;AAEMI,QAAAA,QAAQJ,WAAWC,gBAAgB,KAAKD;AAE9C,MAAIK,YAAY;AACPC,WAAAA,QAAQ,GAAGD,cAAc,QAAQC,QAAQF,MAAMG,QAAQD,SAAS,GAAG;AAC1ED,gBAAYN,mBACVK,MAAME,KAAK,GACXL,kBACAC,UACAC,SACF;AAAA,EACF;AACOE,SAAAA;AACT;AASMG,MAAAA,wBAAwBA,CAACC,iBAAiBC,qBAAqB;AACnE,SAAOX,mBAAmBU,iBAAiB,QAAQ,MAAMC,gBAAgB;AAC3E;AASMC,MAAAA,oBAAoBA,CAACF,iBAAiBC,qBAAqB;;AAC/D,QAAME,YAAWJ,2BACfC,iBACAC,gBACF,MAHiBF,mBAGdK;AACIL,SAAAA,sBAAsBC,iBAAiBG,QAAQ;AACxD;AASME,MAAAA,uBAAuBA,CAACL,iBAAiBM,iBAAkB;AACxDN,SAAAA,gBAAgBO,IAAKC,CAAS,SAAA;;AAC/BA,UAAAA,kCAAMC,SAAND,mBAAYV,UAAS,GAAG;AACnB,aAAA;AAAA,QACL,GAAGU;AAAAA,QACHJ,QAAQE;AAAAA,QACRG,MAAMJ,qBAAqBG,KAAKC,MAAMD,KAAKE,EAAE;AAAA,MAAA;AAAA,IAEjD;AACO,WAAA;AAAA,MAAE,GAAGF;AAAAA,MAAMJ,QAAQE;AAAAA,IAAAA;AAAAA,EAAa,CACxC;AACH;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"IconWrapper.cjs","sources":["../../../../../../src/components/VerticalNavigation/TreeView/IconWrapper/IconWrapper.tsx"],"sourcesContent":["import { Forwards } from \"@hitachivantara/uikit-react-icons\";\nimport { useContext } from \"react\";\n\nimport { HvAvatar, VerticalNavigationContext } from \"@core/components\";\n\nimport { TooltipWrapper } from \"../TooltipWrapper\";\nimport { SpacerDiv, StyledIconsContainer } from \"./IconWrapper.styles\";\n\nexport const IconWrapper = ({\n icon,\n label,\n hasChildren,\n showAvatar,\n isOpen,\n disableTooltip,\n}) => {\n const { hasAnyChildWithData } = useContext(VerticalNavigationContext);\n return (\n <TooltipWrapper\n showTooltip={!hasChildren && !isOpen && !disableTooltip}\n label={label}\n >\n <StyledIconsContainer hasAnyChildWithData={hasAnyChildWithData}>\n {showAvatar ? (\n <HvAvatar\n variant=\"square\"\n size=\"xs\"\n backgroundColor=\"secondary_80\"\n style={{ fontSize: \"15px\" }}\n >\n {label.substring(0, 1)}\n </HvAvatar>\n ) : (\n icon\n )}\n\n {hasChildren && !isOpen ? (\n <Forwards iconSize=\"XS\" />\n ) : (\n hasAnyChildWithData && !isOpen && <SpacerDiv />\n )}\n </StyledIconsContainer>\n </TooltipWrapper>\n );\n};\n"],"names":["IconWrapper","icon","label","hasChildren","showAvatar","isOpen","disableTooltip","hasAnyChildWithData","useContext","VerticalNavigationContext","TooltipWrapper","showTooltip","children","StyledIconsContainer","_jsx","HvAvatar","variant","size","backgroundColor","style","fontSize","substring","Forwards","iconSize","SpacerDiv"],"mappings":";;;;;;;;;AAQO,MAAMA,cAAcA,CAAC;AAAA,EAC1BC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AACF,MAAM;AACE,QAAA;AAAA,IAAEC;AAAAA,EAAAA,IAAwBC,MAAAA,WAAWC,0BAAAA,yBAAyB;AACpE,wCACGC,eAAAA,gBAAc;AAAA,IACbC,aAAa,CAACR,eAAe,CAACE,UAAU,CAACC;AAAAA,IACzCJ;AAAAA,IAAaU,0CAEZC,yCAAoB;AAAA,MAACN;AAAAA,MAAyCK,UAC5DR,CAAAA,aACCU,2BAAAA,IAACC,iBAAQ;AAAA,QACPC,SAAQ;AAAA,QACRC,MAAK;AAAA,QACLC,iBAAgB;AAAA,QAChBC,OAAO;AAAA,UAAEC,UAAU;AAAA,QAAO;AAAA,QAAER,UAE3BV,MAAMmB,UAAU,GAAG,CAAC;AAAA,MAAA,CACZ,IAEXpB,MAGDE,eAAe,CAACE,wCACdiB,gBAAAA,UAAQ;AAAA,QAACC,UAAS;AAAA,MAAA,CAAO,IAE1BhB,uBAAuB,CAACF,UAAWmB,2BAAAA,IAAAA,mBAAAA,WACpC,CAAA,CAAA,CAAA;AAAA,IAAA,CAAA;AAAA,EAAA,CAEY;AAErB;;"}
1
+ {"version":3,"file":"IconWrapper.cjs","sources":["../../../../../../src/components/VerticalNavigation/TreeView/IconWrapper/IconWrapper.tsx"],"sourcesContent":["import { Forwards } from \"@hitachivantara/uikit-react-icons\";\nimport { useContext } from \"react\";\n\nimport { HvAvatar, VerticalNavigationContext } from \"@core/components\";\n\nimport { TooltipWrapper } from \"../TooltipWrapper\";\nimport { SpacerDiv, StyledIconsContainer } from \"./IconWrapper.styles\";\n\nexport const IconWrapper = ({\n icon,\n label,\n hasChildren,\n showAvatar,\n isOpen,\n disableTooltip,\n}) => {\n const { hasAnyChildWithData } = useContext(VerticalNavigationContext);\n return (\n <TooltipWrapper\n showTooltip={!hasChildren && !isOpen && !disableTooltip}\n label={label}\n >\n <StyledIconsContainer hasAnyChildWithData={hasAnyChildWithData}>\n {showAvatar ? (\n <HvAvatar\n variant=\"square\"\n size=\"xs\"\n backgroundColor=\"secondary_80\"\n style={{ fontSize: \"15px\" }}\n >\n {label.substring(0, 1)}\n </HvAvatar>\n ) : (\n icon\n )}\n\n {hasChildren && !isOpen ? (\n <Forwards iconSize=\"XS\" />\n ) : (\n hasAnyChildWithData && !isOpen && <SpacerDiv />\n )}\n </StyledIconsContainer>\n </TooltipWrapper>\n );\n};\n"],"names":["IconWrapper","icon","label","hasChildren","showAvatar","isOpen","disableTooltip","hasAnyChildWithData","useContext","VerticalNavigationContext","TooltipWrapper","showTooltip","children","StyledIconsContainer","_jsx","HvAvatar","variant","size","backgroundColor","style","fontSize","substring","Forwards","iconSize","SpacerDiv"],"mappings":";;;;;;;;;AAQO,MAAMA,cAAcA,CAAC;AAAA,EAC1BC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AACF,MAAM;AACE,QAAA;AAAA,IAAEC;AAAAA,EAAAA,IAAwBC,MAAAA,WAAWC,0BAAAA,yBAAyB;AACpE,wCACGC,eAAAA,gBAAc;AAAA,IACbC,aAAa,CAACR,eAAe,CAACE,UAAU,CAACC;AAAAA,IACzCJ;AAAAA,IAAaU,0CAEZC,yCAAoB;AAAA,MAACN;AAAAA,MAAyCK,UAC5DR,CAAAA,aACCU,2BAAAA,IAACC,iBAAQ;AAAA,QACPC,SAAQ;AAAA,QACRC,MAAK;AAAA,QACLC,iBAAgB;AAAA,QAChBC,OAAO;AAAA,UAAEC,UAAU;AAAA,QAAO;AAAA,QAAER,UAE3BV,MAAMmB,UAAU,GAAG,CAAC;AAAA,MAAA,CACb,IAEVpB,MAGDE,eAAe,CAACE,wCACdiB,gBAAAA,UAAQ;AAAA,QAACC,UAAS;AAAA,MAAA,CAAM,IAEzBhB,uBAAuB,CAACF,UAAWmB,2BAAAA,IAAAA,mBAAAA,WAAS,CAAA,CAAE,CAC/C;AAAA,IAAA,CACmB;AAAA,EAAA,CACR;AAEpB;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"IconWrapper.styles.cjs","sources":["../../../../../../src/components/VerticalNavigation/TreeView/IconWrapper/IconWrapper.styles.tsx"],"sourcesContent":["import styled from \"@emotion/styled\";\n\ninterface StyledIconsContainerProps {\n hasAnyChildWithData?: boolean;\n}\n\nexport const StyledIconsContainer = styled(\"div\")(\n ({ hasAnyChildWithData }: StyledIconsContainerProps) => ({\n display: \"flex\",\n\n [`> div:first-of-type`]: {\n marginLeft: hasAnyChildWithData ? \"auto\" : \"unset\",\n },\n\n [`> div:nth-of-type(2)`]: {\n width: \"14px\",\n marginLeft: \"auto\",\n },\n })\n);\n\nexport const SpacerDiv = styled(\"div\")({});\n"],"names":["StyledIconsContainer","_styled","process","env","NODE_ENV","target","label","hasAnyChildWithData","display","marginLeft","width","SpacerDiv","name","styles","map","toString","_EMOTION_STRINGIFIED_CSS_ERROR__"],"mappings":";;;;;;;;AAMO,MAAMA,uBAA8BC,iCAAA,QAAA,OAAKC,QAAAC,IAAAC,aAAA,eAAA;AAAA,EAAAC,QAAA;AAAA,IAAA;AAAA,EAAAA,QAAA;AAAA,EAAAC,OAAA;AAAA,CAAA,EAC9C,CAAC;AAAA,EAAEC;AAA+C,OAAO;AAAA,EACvDC,SAAS;AAAA,EAET,CAAE,qBAAoB,GAAG;AAAA,IACvBC,YAAYF,sBAAsB,SAAS;AAAA,EAC7C;AAAA,EAEA,CAAE,sBAAqB,GAAG;AAAA,IACxBG,OAAO;AAAA,IACPD,YAAY;AAAA,EACd;AACF,IAAEP,QAAAC,IAAAC,aACH,eAAA,KAAA,yuCAAA;AAEM,MAAMO,YAAmBV,iCAAA,QAAA,OAAKC,QAAAC,IAAAC,aAAA,eAAA;AAAA,EAAAC,QAAA;AAAA,IAAA;AAAA,EAAAA,QAAA;AAAA,EAAAC,OAAA;AAAA,CAAA,EAACJ,QAAAC,IAAAC,aAAA,eAAA;AAAA,EAAAQ,MAAA;AAAA,EAAAC,QAAA;AAAA,IAAA;AAAA,EAAAD,MAAA;AAAA,EAAAC,QAAA;AAAA,EAAAC,KAAA;AAAA,EAAAC,UAAAC;AAAA,CAAI;;;"}
1
+ {"version":3,"file":"IconWrapper.styles.cjs","sources":["../../../../../../src/components/VerticalNavigation/TreeView/IconWrapper/IconWrapper.styles.tsx"],"sourcesContent":["import styled from \"@emotion/styled\";\n\ninterface StyledIconsContainerProps {\n hasAnyChildWithData?: boolean;\n}\n\nexport const StyledIconsContainer = styled(\"div\")(\n ({ hasAnyChildWithData }: StyledIconsContainerProps) => ({\n display: \"flex\",\n\n [`> div:first-of-type`]: {\n marginLeft: hasAnyChildWithData ? \"auto\" : \"unset\",\n },\n\n [`> div:nth-of-type(2)`]: {\n width: \"14px\",\n marginLeft: \"auto\",\n },\n })\n);\n\nexport const SpacerDiv = styled(\"div\")({});\n"],"names":["StyledIconsContainer","_styled","process","env","NODE_ENV","target","label","hasAnyChildWithData","display","marginLeft","width","SpacerDiv","name","styles","map","toString","_EMOTION_STRINGIFIED_CSS_ERROR__"],"mappings":";;;;;;;;AAMO,MAAMA,uBAA8BC,iCAAA,QAAA,OAAKC,QAAAC,IAAAC,aAAA,eAAA;AAAA,EAAAC,QAAA;AAAA,IAAA;AAAA,EAAAA,QAAA;AAAA,EAAAC,OAAA;AAAA,CAAA,EAC9C,CAAC;AAAA,EAAEC;AAA+C,OAAO;AAAA,EACvDC,SAAS;AAAA,EAET,CAAE,qBAAoB,GAAG;AAAA,IACvBC,YAAYF,sBAAsB,SAAS;AAAA,EAC7C;AAAA,EAEA,CAAE,sBAAqB,GAAG;AAAA,IACxBG,OAAO;AAAA,IACPD,YAAY;AAAA,EACd;AACF,IAAEP,QAAAC,IAAAC,0wCACJ;AAEO,MAAMO,YAAmBV,iCAAA,QAAA,OAAKC,QAAAC,IAAAC,aAAA,eAAA;AAAA,EAAAC,QAAA;AAAA,IAAA;AAAA,EAAAA,QAAA;AAAA,EAAAC,OAAA;AAAA,CAAA,EAACJ,QAAAC,IAAAC,aAAA,eAAA;AAAA,EAAAQ,MAAA;AAAA,EAAAC,QAAA;AAAA,IAAA;AAAA,EAAAD,MAAA;AAAA,EAAAC,QAAA;AAAA,EAAAC,KAAA;AAAA,EAAAC,UAAAC;AAAA,CAAG;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"TooltipWrapper.cjs","sources":["../../../../../../src/components/VerticalNavigation/TreeView/TooltipWrapper/TooltipWrapper.tsx"],"sourcesContent":["import {\n HvTooltip,\n HvTooltipPlacementType,\n HvTypography,\n} from \"@core/components\";\n\ninterface TooltipWrapperProps {\n showTooltip: boolean;\n label: string;\n children: React.ReactElement;\n placement?: HvTooltipPlacementType;\n}\n\nexport const TooltipWrapper = ({\n showTooltip,\n label,\n children,\n placement = \"right\",\n}: TooltipWrapperProps) => {\n if (showTooltip) {\n return (\n <HvTooltip\n title={<HvTypography>{label}</HvTypography>}\n placement={placement}\n >\n {children}\n </HvTooltip>\n );\n }\n return children;\n};\n"],"names":["TooltipWrapper","showTooltip","label","children","placement","HvTooltip","title","HvTypography"],"mappings":";;;;;AAaO,MAAMA,iBAAiBA,CAAC;AAAA,EAC7BC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC,YAAY;AACO,MAAM;AACzB,MAAIH,aAAa;AACf,0CACGI,QAAAA,WAAS;AAAA,MACRC,sCAAQC,yBAAY;AAAA,QAAAJ,UAAED;AAAAA,MAAAA,CAAsB;AAAA,MAC5CE;AAAAA,MAAqBD;AAAAA,IAAAA,CAGX;AAAA,EAEhB;AACOA,SAAAA;AACT;;"}
1
+ {"version":3,"file":"TooltipWrapper.cjs","sources":["../../../../../../src/components/VerticalNavigation/TreeView/TooltipWrapper/TooltipWrapper.tsx"],"sourcesContent":["import {\n HvTooltip,\n HvTooltipPlacementType,\n HvTypography,\n} from \"@core/components\";\n\ninterface TooltipWrapperProps {\n showTooltip: boolean;\n label: string;\n children: React.ReactElement;\n placement?: HvTooltipPlacementType;\n}\n\nexport const TooltipWrapper = ({\n showTooltip,\n label,\n children,\n placement = \"right\",\n}: TooltipWrapperProps) => {\n if (showTooltip) {\n return (\n <HvTooltip\n title={<HvTypography>{label}</HvTypography>}\n placement={placement}\n >\n {children}\n </HvTooltip>\n );\n }\n return children;\n};\n"],"names":["TooltipWrapper","showTooltip","label","children","placement","HvTooltip","title","HvTypography"],"mappings":";;;;;AAaO,MAAMA,iBAAiBA,CAAC;AAAA,EAC7BC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC,YAAY;AACO,MAAM;AACzB,MAAIH,aAAa;AACf,0CACGI,QAAAA,WAAS;AAAA,MACRC,sCAAQC,yBAAY;AAAA,QAAAJ,UAAED;AAAAA,MAAAA,CAAoB;AAAA,MAC1CE;AAAAA,MAAqBD;AAAAA,IAAAA,CAGZ;AAAA,EAEf;AACOA,SAAAA;AACT;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"TreeView.cjs","sources":["../../../../../src/components/VerticalNavigation/TreeView/TreeView.tsx"],"sourcesContent":["import { forwardRef, useCallback, useMemo, useRef, useState } from \"react\";\nimport { clsx } from \"clsx\";\nimport { useControlled, useForkRef, useUniqueId } from \"@core/hooks\";\nimport { HvVerticalNavigationTreeClasses } from \"../Navigation/navigationClasses\";\nimport {\n TreeViewControlContext,\n TreeViewStateContext,\n} from \"./TreeViewContext\";\nimport { DescendantProvider } from \"./descendants\";\nimport { StyledRoot } from \"./TreeView.styles\";\nimport { NavigationMode } from \"../Navigation\";\nimport treeViewClasses from \"./treeViewClasses\";\n\nexport interface HvVerticalNavigationTreeViewProps {\n /**\n * Id to be applied to the root node.\n */\n id?: string;\n /**\n * Class names to be applied.\n */\n className?: string;\n /**\n * A Jss Object used to override or extend the styles applied to the Radio button.\n */\n classes?: HvVerticalNavigationTreeClasses;\n /**\n * Modus operandi (role) of the widget instance.\n */\n mode?: NavigationMode;\n /**\n * Enables selection.\n * @default false\n */\n selectable?: boolean;\n /**\n * Enables the simultaneous selection of multiple items.\n * @default false\n */\n multiSelect?: boolean;\n /**\n * The selected nodes' ids.\n *\n * When `multiSelect` is true this takes an array of strings; when false (default) a string.\n */\n selected?: string[] | string;\n /**\n * When uncontrolled, defines the initial selected nodes' ids.\n *\n * When `multiSelect` is true this takes an array of strings; when false (default) a string.\n * @default []\n */\n defaultSelected?: string[] | string;\n /**\n * Can non-leaf nodes be collapsed / expanded.\n */\n collapsible?: boolean;\n /**\n * Callback fired when a tree item is selected.\n *\n * @param {object} event The event source of the callback.\n * @param {string} nodeId The id of the selected node.\n */\n onChange?: any;\n /**\n * Expanded nodes' ids.\n */\n expanded?: string[];\n /**\n * When uncontrolled, defines the initial expanded nodes' ids.\n * @default []\n */\n defaultExpanded?: string[];\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 * If `true`, will allow focus on disabled items.\n * @default false\n */\n disabledItemsFocusable?: boolean;\n /**\n * @ignore\n */\n onFocus?: (event: React.FocusEvent<any>) => void;\n /**\n * @ignore\n */\n onBlur?: (event: any) => void;\n /**\n * @ignore\n */\n onKeyDown?: (event: KeyboardEvent) => void;\n /**\n * The content of the component.\n */\n children?: React.ReactNode;\n}\n\nfunction isPrintableCharacter(string) {\n return string && string.length === 1 && string.match(/\\S/);\n}\n\nfunction findNextFirstChar(firstChars, startIndex, char) {\n for (let i = startIndex; i < firstChars.length; i += 1) {\n if (char === firstChars[i]) {\n return i;\n }\n }\n return -1;\n}\n\nfunction noopSelection() {\n return false;\n}\n\nexport const HvVerticalNavigationTreeView = forwardRef(\n (props: HvVerticalNavigationTreeViewProps, ref) => {\n const {\n id: idProp,\n className,\n classes,\n\n mode = \"treeview\",\n\n collapsible = false,\n expanded: expandedProp,\n defaultExpanded = [],\n onToggle,\n\n selectable = false,\n multiSelect: multiSelectProp = false,\n selected: selectedProp,\n defaultSelected = [],\n onChange,\n\n disabledItemsFocusable = false,\n\n onFocus,\n onBlur,\n onKeyDown,\n\n children,\n\n ...others\n } = props;\n\n const treeviewMode = mode === \"treeview\";\n const multiSelect = selectable && multiSelectProp;\n\n const treeId = useUniqueId(idProp, \"hvtreeview\");\n const treeRef = useRef<HTMLDivElement>(null);\n const handleRef = useForkRef(treeRef, ref);\n\n const [expanded, setExpandedState] = useControlled(\n expandedProp,\n defaultExpanded\n );\n\n const [selected, setSelectedState] = useControlled(\n selectedProp,\n defaultSelected\n );\n\n const [focusedNodeId, setFocusedNodeId] = useState<string | null>(null);\n\n const nodeMap = useRef({});\n\n const firstCharMap = useRef({});\n\n /*\n * Status Helpers\n */\n const isExpanded = useCallback(\n (id) =>\n !collapsible ||\n (Array.isArray(expanded) ? expanded.indexOf(id) !== -1 : false),\n [collapsible, expanded]\n );\n\n const isExpandable = useCallback(\n (id) =>\n collapsible && nodeMap.current[id] && nodeMap.current[id].expandable,\n [collapsible]\n );\n\n const isSelected = useCallback(\n (id) =>\n selectable &&\n (Array.isArray(selected)\n ? selected.indexOf(id) !== -1\n : selected === id),\n [selectable, selected]\n );\n\n const isSelectable = useCallback(\n (id) =>\n selectable && nodeMap.current[id] && nodeMap.current[id].selectable,\n [selectable]\n );\n\n const isDisabled = useCallback((id) => {\n let node = nodeMap.current[id];\n\n // This can be called before the node has been added to the node map.\n if (!node) {\n return false;\n }\n\n if (node.disabled) {\n return true;\n }\n\n while (node.parentId != null) {\n node = nodeMap.current[node.parentId];\n if (node.disabled) {\n return true;\n }\n }\n\n return false;\n }, []);\n\n const isFocused = useCallback(\n (id) => focusedNodeId === id,\n [focusedNodeId]\n );\n\n const isChildSelected = useCallback(\n // the second part of the condition is to ensure that the id we're\n // looking at is actually of a child (ie, there's at least one \"-\")\n (id) => selected.startsWith(id) && selected.includes(\"-\"),\n [selected]\n );\n\n /*\n * Child Helpers\n */\n const getChildrenIds = (id: string | null) =>\n Object.keys(nodeMap.current)\n .map((key) => {\n return nodeMap.current[key];\n })\n .filter((node) => node.parentId === id)\n .sort((a, b) => a.index - b.index)\n .map((child) => child.id);\n\n const getNavigableChildrenIds = useCallback(\n (id: string | null) => {\n let childrenIds = getChildrenIds(id);\n\n if (!disabledItemsFocusable) {\n childrenIds = childrenIds.filter((node) => !isDisabled(node));\n }\n return childrenIds;\n },\n [disabledItemsFocusable, isDisabled]\n );\n\n /*\n * Node Helpers\n */\n const getNextNode = useCallback(\n (id: string) => {\n // If expanded get first child\n if (isExpanded(id) && getNavigableChildrenIds(id).length > 0) {\n return getNavigableChildrenIds(id)[0];\n }\n\n let node = nodeMap.current[id];\n while (node != null) {\n // Try to get next sibling\n const siblings = getNavigableChildrenIds(node.parentId);\n const nextSibling = siblings[siblings.indexOf(node.id) + 1];\n\n if (nextSibling) {\n return nextSibling;\n }\n\n // If the sibling does not exist, go up a level to the parent and try again.\n node = nodeMap.current[node.parentId];\n }\n\n return null;\n },\n [getNavigableChildrenIds, isExpanded]\n );\n\n const getPreviousNode = (id: string) => {\n const node = nodeMap.current[id];\n const siblings = getNavigableChildrenIds(node.parentId);\n const nodeIndex = siblings.indexOf(id);\n\n if (nodeIndex === 0) {\n return node.parentId;\n }\n\n let currentNode = siblings[nodeIndex - 1];\n while (\n isExpanded(currentNode) &&\n getNavigableChildrenIds(currentNode).length > 0\n ) {\n currentNode = getNavigableChildrenIds(currentNode).pop();\n }\n\n return currentNode;\n };\n\n const getLastNode = () => {\n let lastNode = getNavigableChildrenIds(null).pop();\n\n while (isExpanded(lastNode)) {\n lastNode = getNavigableChildrenIds(lastNode).pop();\n }\n return lastNode;\n };\n const getFirstNode = () => getNavigableChildrenIds(null)[0];\n const getParent = (id) => nodeMap.current[id].parentId;\n\n /**\n * This is used to determine the start and end of a selection range so\n * we can get the nodes between the two border nodes.\n *\n * It finds the nodes' common ancestor using\n * a naive implementation of a lowest common ancestor algorithm\n * (https://en.wikipedia.org/wiki/Lowest_common_ancestor).\n * Then compares the ancestor's 2 children that are ancestors of nodeA and NodeB\n * so we can compare their indexes to work out which node comes first in a depth first search.\n * (https://en.wikipedia.org/wiki/Depth-first_search)\n *\n * Another way to put it is which node is shallower in a trémaux tree\n * https://en.wikipedia.org/wiki/Tr%C3%A9maux_tree\n */\n const findOrderInTremauxTree = useCallback(\n (nodeAId: string, nodeBId: string) => {\n if (nodeAId === nodeBId) {\n return [nodeAId, nodeBId];\n }\n\n const nodeA = nodeMap.current[nodeAId];\n const nodeB = nodeMap.current[nodeBId];\n\n if (nodeA.parentId === nodeB.id || nodeB.parentId === nodeA.id) {\n return nodeB.parentId === nodeA.id\n ? [nodeA.id, nodeB.id]\n : [nodeB.id, nodeA.id];\n }\n\n const aFamily = [nodeA.id];\n const bFamily = [nodeB.id];\n\n let aAncestor = nodeA.parentId;\n let bAncestor = nodeB.parentId;\n\n let aAncestorIsCommon = bFamily.indexOf(aAncestor) !== -1;\n let bAncestorIsCommon = aFamily.indexOf(bAncestor) !== -1;\n\n let continueA = true;\n let continueB = true;\n\n while (!bAncestorIsCommon && !aAncestorIsCommon) {\n if (continueA) {\n aFamily.push(aAncestor);\n aAncestorIsCommon = bFamily.indexOf(aAncestor) !== -1;\n continueA = aAncestor !== null;\n if (!aAncestorIsCommon && continueA) {\n aAncestor = nodeMap.current[aAncestor].parentId;\n }\n }\n\n if (continueB && !aAncestorIsCommon) {\n bFamily.push(bAncestor);\n bAncestorIsCommon = aFamily.indexOf(bAncestor) !== -1;\n continueB = bAncestor !== null;\n if (!bAncestorIsCommon && continueB) {\n bAncestor = nodeMap.current[bAncestor].parentId;\n }\n }\n }\n\n const commonAncestor = aAncestorIsCommon ? aAncestor : bAncestor;\n const ancestorFamily = getChildrenIds(commonAncestor);\n\n const aSide = aFamily[aFamily.indexOf(commonAncestor) - 1];\n const bSide = bFamily[bFamily.indexOf(commonAncestor) - 1];\n\n return ancestorFamily.indexOf(aSide) < ancestorFamily.indexOf(bSide)\n ? [nodeAId, nodeBId]\n : [nodeBId, nodeAId];\n },\n []\n );\n\n const getNodesInRange = useCallback(\n (nodeA, nodeB) => {\n if (nodeA && nodeB) {\n const [first, last] = findOrderInTremauxTree(nodeA, nodeB);\n const nodes = [first];\n\n let current = first;\n\n while (current !== last) {\n current = getNextNode(current);\n nodes.push(current);\n }\n\n return nodes;\n }\n return [];\n },\n [findOrderInTremauxTree, getNextNode]\n );\n\n /*\n * Focus Helpers\n */\n const focus = (event, id) => {\n if (id) {\n setFocusedNodeId(id);\n\n if (nodeMap.current[id]?.onFocus) {\n nodeMap.current[id].onFocus(event);\n }\n }\n };\n\n const focusNextNode = (event, id) => focus(event, getNextNode(id));\n const focusPreviousNode = (event, id) => focus(event, getPreviousNode(id));\n const focusFirstNode = (event) => focus(event, getFirstNode());\n const focusLastNode = (event) => focus(event, getLastNode());\n\n const focusByFirstCharacter = (event, id, char) => {\n let start;\n let index;\n const lowercaseChar = char.toLowerCase();\n\n const firstCharIds: string[] = [];\n const firstChars: string[] = [];\n // This really only works since the ids are strings\n Object.keys(firstCharMap.current).forEach((nodeId) => {\n const firstChar = firstCharMap.current[nodeId];\n const map = nodeMap.current[nodeId];\n const visible = map.parentId ? isExpanded(map.parentId) : true;\n const shouldBeSkipped = disabledItemsFocusable\n ? false\n : isDisabled(nodeId);\n\n if (visible && !shouldBeSkipped) {\n firstCharIds.push(nodeId);\n firstChars.push(firstChar);\n }\n });\n\n // Get start index for search based on position of currentItem\n start = firstCharIds.indexOf(id) + 1;\n if (start >= firstCharIds.length) {\n start = 0;\n }\n\n // Check remaining slots in the menu\n index = findNextFirstChar(firstChars, start, lowercaseChar);\n\n // If not found in remaining slots, check from beginning\n if (index === -1) {\n index = findNextFirstChar(firstChars, 0, lowercaseChar);\n }\n\n // If match was found...\n if (index > -1) {\n focus(event, firstCharIds[index]);\n }\n };\n\n /*\n * Expansion Helpers\n */\n const toggleExpansion = useCallback(\n (event, value = focusedNodeId) => {\n let newExpanded;\n\n if (expanded.indexOf(value) !== -1) {\n newExpanded = expanded.filter((id) => id !== value);\n } else {\n newExpanded = [value].concat(expanded);\n }\n\n if (onToggle) {\n onToggle(event, newExpanded);\n }\n\n setExpandedState(newExpanded);\n },\n [expanded, focusedNodeId, onToggle, setExpandedState]\n );\n\n const expandAllSiblings = (event, id) => {\n const map = nodeMap.current[id];\n const siblings = getChildrenIds(map.parentId);\n\n const diff = siblings.filter(\n (child) => isExpandable(child) && !isExpanded(child)\n );\n\n const newExpanded = expanded.concat(diff);\n\n if (diff.length > 0) {\n setExpandedState(newExpanded);\n\n if (onToggle) {\n onToggle(event, newExpanded);\n }\n }\n };\n\n /*\n * Selection Helpers\n */\n const lastSelectedNode = useRef<HTMLDivElement | null>(null);\n const lastSelectionWasRange = useRef(false);\n const currentRangeSelection = useRef<HTMLDivElement[]>([]);\n\n const isDivElement = (element): element is HTMLDivElement => {\n return (element as HTMLDivElement).nodeType === 1;\n };\n\n const handleRangeArrowSelect = useCallback(\n (event, nodes: { start?; next?; current? }) => {\n let base = selected.slice();\n const { start, next, current } = nodes;\n\n if (!next || !current) {\n return;\n }\n\n if (\n isDivElement(current) &&\n currentRangeSelection.current.indexOf(current) === -1\n ) {\n currentRangeSelection.current = [];\n }\n\n if (lastSelectionWasRange.current) {\n if (\n isDivElement(next) &&\n currentRangeSelection.current.indexOf(next) !== -1\n ) {\n base = base.filter((id) => id === start || id !== current);\n currentRangeSelection.current =\n currentRangeSelection.current.filter(\n (id) => id === start || id !== current\n );\n } else {\n base.push(next);\n currentRangeSelection.current.push(next);\n }\n } else {\n base.push(next);\n currentRangeSelection.current.push(current, next);\n }\n\n if (onChange) {\n onChange(\n event,\n base,\n base.map((id) => nodeMap.current[id]?.payload)\n );\n }\n\n setSelectedState(base);\n },\n [onChange, selected, setSelectedState]\n );\n\n const handleRangeSelect = useCallback(\n (event, nodes: { start?; end?; current? }) => {\n let base = selected.slice();\n const { start, end } = nodes;\n // If last selection was a range selection ignore nodes that were selected.\n if (lastSelectionWasRange.current) {\n base = base.filter(\n (id) => currentRangeSelection.current.indexOf(id) === -1\n );\n }\n\n let range = getNodesInRange(start, end);\n range = range.filter((node) => !isDisabled(node));\n currentRangeSelection.current = range;\n let newSelected = base.concat(range);\n newSelected = newSelected.filter(\n (id, i) => newSelected.indexOf(id) === i\n );\n\n if (onChange) {\n onChange(\n event,\n newSelected,\n newSelected.map((id) => nodeMap.current[id]?.payload)\n );\n }\n\n setSelectedState(newSelected);\n },\n [getNodesInRange, isDisabled, onChange, selected, setSelectedState]\n );\n\n const handleMultipleSelect = useCallback(\n (event, value) => {\n let newSelected;\n if (selected.indexOf(value) !== -1) {\n newSelected = selected.filter((id) => id !== value);\n } else {\n newSelected = [value].concat(selected);\n }\n\n if (onChange) {\n onChange(\n event,\n newSelected,\n newSelected.map((id) => nodeMap.current[id]?.payload)\n );\n }\n\n setSelectedState(newSelected);\n },\n [onChange, selected, setSelectedState]\n );\n\n const handleSingleSelect = useCallback(\n (event, value) => {\n const newSelected = multiSelect ? [value] : value;\n if (onChange) {\n const nodeValue = nodeMap.current[newSelected]?.payload;\n onChange(event, newSelected, multiSelect ? [nodeValue] : nodeValue);\n }\n\n setSelectedState(newSelected);\n },\n [multiSelect, onChange, setSelectedState]\n );\n\n const selectNode = useCallback(\n (event, id, multiple = false) => {\n if (id && isSelectable(id)) {\n if (multiple) {\n handleMultipleSelect(event, id);\n } else {\n handleSingleSelect(event, id);\n }\n lastSelectedNode.current = id;\n lastSelectionWasRange.current = false;\n currentRangeSelection.current = [];\n\n return true;\n }\n return false;\n },\n [handleMultipleSelect, handleSingleSelect, isSelectable]\n );\n\n const selectRange = useCallback(\n (\n event,\n nodes: { start?; end?; current?: HTMLDivElement | null },\n stacked = false\n ) => {\n const { start = lastSelectedNode.current, end, current } = nodes;\n if (stacked) {\n handleRangeArrowSelect(event, { start, next: end, current });\n } else if (start != null && end != null) {\n handleRangeSelect(event, { start, end });\n }\n lastSelectionWasRange.current = true;\n },\n [handleRangeArrowSelect, handleRangeSelect]\n );\n\n const rangeSelectToFirst = (event, id) => {\n if (!lastSelectedNode.current) {\n lastSelectedNode.current = id;\n }\n\n const start = lastSelectionWasRange.current\n ? lastSelectedNode.current\n : id;\n\n selectRange(event, {\n start,\n end: getFirstNode(),\n });\n };\n\n const rangeSelectToLast = (event: any, id) => {\n if (!lastSelectedNode.current) {\n lastSelectedNode.current = id;\n }\n\n const start = lastSelectionWasRange.current\n ? lastSelectedNode.current\n : id;\n\n selectRange(event, {\n start,\n end: getLastNode(),\n });\n };\n\n const selectNextNode = (event, id) => {\n if (!isDisabled(getNextNode(id))) {\n selectRange(\n event,\n {\n end: getNextNode(id),\n current: id,\n },\n true\n );\n }\n };\n\n const selectPreviousNode = (event, id) => {\n if (!isDisabled(getPreviousNode(id))) {\n selectRange(\n event,\n {\n end: getPreviousNode(id),\n current: id,\n },\n true\n );\n }\n };\n\n const selectAllNodes = (event) => {\n selectRange(event, { start: getFirstNode(), end: getLastNode() });\n };\n\n /*\n * Mapping Helpers\n */\n const registerNode = useCallback((node) => {\n const {\n id,\n index,\n parentId,\n expandable,\n idAttribute,\n disabled,\n selectable: nodeSelectable,\n onFocus: nodeOnFocus,\n payload,\n } = node;\n\n nodeMap.current[id] = {\n id,\n index,\n parentId,\n expandable,\n idAttribute,\n disabled,\n selectable: nodeSelectable,\n onFocus: nodeOnFocus,\n payload,\n };\n }, []);\n\n const unregisterNode = useCallback((id) => {\n const newMap = { ...nodeMap.current };\n delete newMap[id];\n nodeMap.current = newMap;\n\n setFocusedNodeId((oldFocusedNodeId) => {\n if (\n oldFocusedNodeId === id &&\n treeRef.current &&\n treeRef.current ===\n (treeRef.current.ownerDocument || document).activeElement\n ) {\n return getChildrenIds(null)[0];\n }\n return oldFocusedNodeId;\n });\n }, []);\n\n const mapFirstChar = useCallback((id, firstChar) => {\n firstCharMap.current[id] = firstChar;\n }, []);\n\n const unMapFirstChar = useCallback((id) => {\n const newMap = { ...firstCharMap.current };\n delete newMap[id];\n firstCharMap.current = newMap;\n }, []);\n\n /**\n * Event handlers and Navigation\n */\n const handleNextArrow = (event) => {\n if (isExpandable(focusedNodeId)) {\n if (isExpanded(focusedNodeId)) {\n focusNextNode(event, focusedNodeId);\n } else if (!isDisabled(focusedNodeId)) {\n toggleExpansion(event);\n }\n }\n return true;\n };\n\n const handlePreviousArrow = (event) => {\n if (isExpanded(focusedNodeId) && !isDisabled(focusedNodeId)) {\n toggleExpansion(event, focusedNodeId);\n return true;\n }\n\n const parent = getParent(focusedNodeId);\n if (parent) {\n focus(event, parent);\n return true;\n }\n return false;\n };\n\n const handleKeyDown = (event) => {\n let flag = false;\n const { key } = event;\n\n // If the tree is empty there will be no focused node\n if (\n event.altKey ||\n event.currentTarget !== event.target ||\n !focusedNodeId\n ) {\n return;\n }\n\n const ctrlPressed = event.ctrlKey || event.metaKey;\n switch (key) {\n case \" \":\n if (isSelectable(focusedNodeId) && !isDisabled(focusedNodeId)) {\n if (multiSelect && event.shiftKey) {\n selectRange(event, { end: focusedNodeId });\n flag = true;\n } else if (multiSelect) {\n flag = selectNode(event, focusedNodeId, true);\n } else {\n flag = selectNode(event, focusedNodeId);\n }\n }\n event.stopPropagation();\n break;\n case \"Enter\":\n if (!isDisabled(focusedNodeId)) {\n if (isExpandable(focusedNodeId)) {\n toggleExpansion(event);\n flag = true;\n } else if (isSelectable(focusedNodeId)) {\n if (multiSelect && event.shiftKey) {\n selectRange(event, { end: focusedNodeId });\n flag = true;\n } else if (multiSelect) {\n flag = selectNode(event, focusedNodeId, true);\n } else {\n flag = selectNode(event, focusedNodeId);\n }\n }\n }\n event.stopPropagation();\n break;\n case \"ArrowDown\":\n if (multiSelect && event.shiftKey) {\n selectNextNode(event, focusedNodeId);\n }\n focusNextNode(event, focusedNodeId);\n flag = true;\n break;\n case \"ArrowUp\":\n if (multiSelect && event.shiftKey) {\n selectPreviousNode(event, focusedNodeId);\n }\n focusPreviousNode(event, focusedNodeId);\n flag = true;\n break;\n case \"ArrowRight\":\n flag = handleNextArrow(event);\n break;\n case \"ArrowLeft\":\n flag = handlePreviousArrow(event);\n break;\n case \"Home\":\n if (\n multiSelect &&\n ctrlPressed &&\n event.shiftKey &&\n !isDisabled(focusedNodeId)\n ) {\n rangeSelectToFirst(event, focusedNodeId);\n }\n focusFirstNode(event);\n flag = true;\n break;\n case \"End\":\n if (\n multiSelect &&\n ctrlPressed &&\n event.shiftKey &&\n !isDisabled(focusedNodeId)\n ) {\n rangeSelectToLast(event, focusedNodeId);\n }\n focusLastNode(event);\n flag = true;\n break;\n default:\n if (key === \"*\") {\n expandAllSiblings(event, focusedNodeId);\n flag = true;\n } else if (multiSelect && ctrlPressed && key.toLowerCase() === \"a\") {\n selectAllNodes(event);\n flag = true;\n } else if (\n !ctrlPressed &&\n !event.shiftKey &&\n isPrintableCharacter(key)\n ) {\n focusByFirstCharacter(event, focusedNodeId, key);\n flag = true;\n }\n }\n\n if (flag) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n if (onKeyDown) {\n onKeyDown(event);\n }\n };\n\n const handleFocus = (event) => {\n // if the event bubbled (which is React specific) we don't want to steal focus\n if (event.target === event.currentTarget) {\n const firstSelected = Array.isArray(selected) ? selected[0] : selected;\n focus(event, firstSelected || getNavigableChildrenIds(null)[0]);\n }\n\n if (onFocus) {\n onFocus(event);\n }\n };\n\n const handleBlur = (event) => {\n setFocusedNodeId(null);\n\n if (onBlur) {\n onBlur(event);\n }\n };\n\n const activeDescendant =\n focusedNodeId && nodeMap.current[focusedNodeId]\n ? nodeMap.current[focusedNodeId].idAttribute\n : null;\n\n const treeControlContext = useMemo(\n () => ({\n treeId,\n mode,\n collapsible,\n toggleExpansion,\n multiSelect,\n selectNode: selectable ? selectNode : noopSelection,\n selectRange: selectable ? selectRange : noopSelection,\n disabledItemsFocusable,\n registerNode,\n unregisterNode,\n mapFirstChar,\n unMapFirstChar,\n focus,\n }),\n [\n registerNode,\n unregisterNode,\n mapFirstChar,\n unMapFirstChar,\n toggleExpansion,\n selectable,\n selectNode,\n selectRange,\n mode,\n collapsible,\n multiSelect,\n disabledItemsFocusable,\n treeId,\n ]\n );\n\n const treeStateContext = useMemo(\n () => ({\n isExpanded,\n isSelected,\n isFocused,\n isDisabled,\n isChildSelected,\n }),\n [isDisabled, isExpanded, isFocused, isSelected, isChildSelected]\n );\n\n return (\n <TreeViewControlContext.Provider value={treeControlContext}>\n <TreeViewStateContext.Provider value={treeStateContext}>\n <DescendantProvider>\n <StyledRoot\n ref={handleRef}\n id={idProp}\n className={clsx(treeViewClasses.root, classes?.root, className)}\n {...(treeviewMode && {\n id: treeId,\n role: \"tree\",\n \"aria-multiselectable\": multiSelect,\n \"aria-activedescendant\": activeDescendant,\n tabIndex: 0,\n onFocus: handleFocus,\n onBlur: handleBlur,\n onKeyDown: handleKeyDown,\n })}\n {...others}\n >\n {children}\n </StyledRoot>\n </DescendantProvider>\n </TreeViewStateContext.Provider>\n </TreeViewControlContext.Provider>\n );\n }\n);\n"],"names":["isPrintableCharacter","string","length","match","findNextFirstChar","firstChars","startIndex","char","i","noopSelection","HvVerticalNavigationTreeView","forwardRef","props","ref","id","idProp","className","classes","mode","collapsible","expanded","expandedProp","defaultExpanded","onToggle","selectable","multiSelect","multiSelectProp","selected","selectedProp","defaultSelected","onChange","disabledItemsFocusable","onFocus","onBlur","onKeyDown","children","others","treeviewMode","treeId","useUniqueId","treeRef","useRef","handleRef","useForkRef","setExpandedState","useControlled","setSelectedState","focusedNodeId","setFocusedNodeId","useState","nodeMap","firstCharMap","isExpanded","useCallback","Array","isArray","indexOf","isExpandable","current","expandable","isSelected","isSelectable","isDisabled","node","disabled","parentId","isFocused","isChildSelected","startsWith","includes","getChildrenIds","Object","keys","map","key","filter","sort","a","b","index","child","getNavigableChildrenIds","childrenIds","getNextNode","siblings","nextSibling","getPreviousNode","nodeIndex","currentNode","pop","getLastNode","lastNode","getFirstNode","getParent","findOrderInTremauxTree","nodeAId","nodeBId","nodeA","nodeB","aFamily","bFamily","aAncestor","bAncestor","aAncestorIsCommon","bAncestorIsCommon","continueA","continueB","push","commonAncestor","ancestorFamily","aSide","bSide","getNodesInRange","first","last","nodes","focus","event","focusNextNode","focusPreviousNode","focusFirstNode","focusLastNode","focusByFirstCharacter","start","lowercaseChar","toLowerCase","firstCharIds","forEach","nodeId","firstChar","visible","shouldBeSkipped","toggleExpansion","value","newExpanded","concat","expandAllSiblings","diff","lastSelectedNode","lastSelectionWasRange","currentRangeSelection","isDivElement","element","nodeType","handleRangeArrowSelect","base","slice","next","payload","handleRangeSelect","end","range","newSelected","handleMultipleSelect","handleSingleSelect","nodeValue","selectNode","multiple","selectRange","stacked","rangeSelectToFirst","rangeSelectToLast","selectNextNode","selectPreviousNode","selectAllNodes","registerNode","idAttribute","nodeSelectable","nodeOnFocus","unregisterNode","newMap","oldFocusedNodeId","ownerDocument","document","activeElement","mapFirstChar","unMapFirstChar","handleNextArrow","handlePreviousArrow","parent","handleKeyDown","flag","altKey","currentTarget","target","ctrlPressed","ctrlKey","metaKey","shiftKey","stopPropagation","preventDefault","handleFocus","firstSelected","handleBlur","activeDescendant","treeControlContext","useMemo","treeStateContext","_jsx","TreeViewControlContext","Provider","TreeViewStateContext","DescendantProvider","StyledRoot","clsx","treeViewClasses","root","role","tabIndex"],"mappings":";;;;;;;;;;;;AAuGA,SAASA,qBAAqBC,QAAQ;AACpC,SAAOA,UAAUA,OAAOC,WAAW,KAAKD,OAAOE,MAAM,IAAI;AAC3D;AAEA,SAASC,kBAAkBC,YAAYC,YAAYC,MAAM;AACvD,WAASC,IAAIF,YAAYE,IAAIH,WAAWH,QAAQM,KAAK,GAAG;AAClDD,QAAAA,SAASF,WAAWG,CAAC,GAAG;AACnBA,aAAAA;AAAAA,IACT;AAAA,EACF;AACO,SAAA;AACT;AAEA,SAASC,gBAAgB;AAChB,SAAA;AACT;AAEO,MAAMC,+BAA+BC,MAAAA,WAC1C,CAACC,OAA0CC,QAAQ;AAC3C,QAAA;AAAA,IACJC,IAAIC;AAAAA,IACJC;AAAAA,IACAC;AAAAA,IAEAC,OAAO;AAAA,IAEPC,cAAc;AAAA,IACdC,UAAUC;AAAAA,IACVC,kBAAkB,CAAE;AAAA,IACpBC;AAAAA,IAEAC,aAAa;AAAA,IACbC,aAAaC,kBAAkB;AAAA,IAC/BC,UAAUC;AAAAA,IACVC,kBAAkB,CAAE;AAAA,IACpBC;AAAAA,IAEAC,yBAAyB;AAAA,IAEzBC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IAEAC;AAAAA,IAEA,GAAGC;AAAAA,EACDxB,IAAAA;AAEJ,QAAMyB,eAAenB,SAAS;AAC9B,QAAMO,cAAcD,cAAcE;AAE5BY,QAAAA,SAASC,YAAAA,QAAYxB,QAAQ,YAAY;AACzCyB,QAAAA,UAAUC,aAAuB,IAAI;AACrCC,QAAAA,YAAYC,WAAAA,QAAWH,SAAS3B,GAAG;AAEzC,QAAM,CAACO,UAAUwB,gBAAgB,IAAIC,cAAAA,cACnCxB,cACAC,eAAe;AAGjB,QAAM,CAACK,UAAUmB,gBAAgB,IAAID,cAAAA,cACnCjB,cACAC,eAAe;AAGjB,QAAM,CAACkB,eAAeC,gBAAgB,IAAIC,eAAwB,IAAI;AAEhEC,QAAAA,UAAUT,aAAO,CAAA,CAAE;AAEnBU,QAAAA,eAAeV,aAAO,CAAA,CAAE;AAK9B,QAAMW,aAAaC,MAChBvC,YAAAA,CAAAA,OACC,CAACK,gBACAmC,MAAMC,QAAQnC,QAAQ,IAAIA,SAASoC,QAAQ1C,EAAE,MAAM,KAAK,QAC3D,CAACK,aAAaC,QAAQ,CAAC;AAGzB,QAAMqC,eAAeJ,MAAAA,YAClBvC,CACCK,OAAAA,eAAe+B,QAAQQ,QAAQ5C,EAAE,KAAKoC,QAAQQ,QAAQ5C,EAAE,EAAE6C,YAC5D,CAACxC,WAAW,CAAC;AAGf,QAAMyC,aAAaP,MAChBvC,YAAAA,CAAAA,OACCU,eACC8B,MAAMC,QAAQ5B,QAAQ,IACnBA,SAAS6B,QAAQ1C,EAAE,MAAM,KACzBa,aAAab,KACnB,CAACU,YAAYG,QAAQ,CAAC;AAGxB,QAAMkC,eAAeR,MAAAA,YAClBvC,CACCU,OAAAA,cAAc0B,QAAQQ,QAAQ5C,EAAE,KAAKoC,QAAQQ,QAAQ5C,EAAE,EAAEU,YAC3D,CAACA,UAAU,CAAC;AAGRsC,QAAAA,aAAaT,kBAAavC,CAAO,OAAA;AACjCiD,QAAAA,OAAOb,QAAQQ,QAAQ5C,EAAE;AAG7B,QAAI,CAACiD,MAAM;AACF,aAAA;AAAA,IACT;AAEA,QAAIA,KAAKC,UAAU;AACV,aAAA;AAAA,IACT;AAEOD,WAAAA,KAAKE,YAAY,MAAM;AACrBf,aAAAA,QAAQQ,QAAQK,KAAKE,QAAQ;AACpC,UAAIF,KAAKC,UAAU;AACV,eAAA;AAAA,MACT;AAAA,IACF;AAEO,WAAA;AAAA,EACT,GAAG,CAAE,CAAA;AAEL,QAAME,YAAYb,MACfvC,YAAAA,CAAAA,OAAOiC,kBAAkBjC,IAC1B,CAACiC,aAAa,CAAC;AAGjB,QAAMoB,kBAAkBd,MAAAA;AAAAA;AAAAA;AAAAA,IAGrBvC,QAAOa,SAASyC,WAAWtD,EAAE,KAAKa,SAAS0C,SAAS,GAAG;AAAA,IACxD,CAAC1C,QAAQ;AAAA,EAAA;AAML2C,QAAAA,iBAAiBA,CAACxD,OACtByD,OAAOC,KAAKtB,QAAQQ,OAAO,EACxBe,IAAKC,CAAQ,QAAA;AACLxB,WAAAA,QAAQQ,QAAQgB,GAAG;AAAA,EAAA,CAC3B,EACAC,OAAQZ,CAAAA,SAASA,KAAKE,aAAanD,EAAE,EACrC8D,KAAK,CAACC,GAAGC,MAAMD,EAAEE,QAAQD,EAAEC,KAAK,EAChCN,IAAKO,CAAAA,UAAUA,MAAMlE,EAAE;AAEtBmE,QAAAA,0BAA0B5B,kBAC9B,CAACvC,OAAsB;AACjBoE,QAAAA,cAAcZ,eAAexD,EAAE;AAEnC,QAAI,CAACiB,wBAAwB;AAC3BmD,oBAAcA,YAAYP,OAAQZ,CAAAA,SAAS,CAACD,WAAWC,IAAI,CAAC;AAAA,IAC9D;AACOmB,WAAAA;AAAAA,EAAAA,GAET,CAACnD,wBAAwB+B,UAAU,CAAC;AAMhCqB,QAAAA,cAAc9B,kBAClB,CAACvC,OAAe;AAEd,QAAIsC,WAAWtC,EAAE,KAAKmE,wBAAwBnE,EAAE,EAAEZ,SAAS,GAAG;AACrD+E,aAAAA,wBAAwBnE,EAAE,EAAE,CAAC;AAAA,IACtC;AAEIiD,QAAAA,OAAOb,QAAQQ,QAAQ5C,EAAE;AAC7B,WAAOiD,QAAQ,MAAM;AAEbqB,YAAAA,WAAWH,wBAAwBlB,KAAKE,QAAQ;AACtD,YAAMoB,cAAcD,SAASA,SAAS5B,QAAQO,KAAKjD,EAAE,IAAI,CAAC;AAE1D,UAAIuE,aAAa;AACRA,eAAAA;AAAAA,MACT;AAGOnC,aAAAA,QAAQQ,QAAQK,KAAKE,QAAQ;AAAA,IACtC;AAEO,WAAA;AAAA,EAAA,GAET,CAACgB,yBAAyB7B,UAAU,CAAC;AAGjCkC,QAAAA,kBAAkBA,CAACxE,OAAe;AAChCiD,UAAAA,OAAOb,QAAQQ,QAAQ5C,EAAE;AACzBsE,UAAAA,WAAWH,wBAAwBlB,KAAKE,QAAQ;AAChDsB,UAAAA,YAAYH,SAAS5B,QAAQ1C,EAAE;AAErC,QAAIyE,cAAc,GAAG;AACnB,aAAOxB,KAAKE;AAAAA,IACd;AAEIuB,QAAAA,cAAcJ,SAASG,YAAY,CAAC;AACxC,WACEnC,WAAWoC,WAAW,KACtBP,wBAAwBO,WAAW,EAAEtF,SAAS,GAC9C;AACc+E,oBAAAA,wBAAwBO,WAAW,EAAEC,IAAK;AAAA,IAC1D;AAEOD,WAAAA;AAAAA,EAAAA;AAGT,QAAME,cAAcA,MAAM;AACxB,QAAIC,WAAWV,wBAAwB,IAAI,EAAEQ,IAAK;AAE3CrC,WAAAA,WAAWuC,QAAQ,GAAG;AAChBV,iBAAAA,wBAAwBU,QAAQ,EAAEF,IAAK;AAAA,IACpD;AACOE,WAAAA;AAAAA,EAAAA;AAET,QAAMC,eAAeA,MAAMX,wBAAwB,IAAI,EAAE,CAAC;AAC1D,QAAMY,YAAa/E,CAAAA,OAAOoC,QAAQQ,QAAQ5C,EAAE,EAAEmD;AAgB9C,QAAM6B,yBAAyBzC,MAAAA,YAC7B,CAAC0C,SAAiBC,YAAoB;AACpC,QAAID,YAAYC,SAAS;AAChB,aAAA,CAACD,SAASC,OAAO;AAAA,IAC1B;AAEMC,UAAAA,QAAQ/C,QAAQQ,QAAQqC,OAAO;AAC/BG,UAAAA,QAAQhD,QAAQQ,QAAQsC,OAAO;AAErC,QAAIC,MAAMhC,aAAaiC,MAAMpF,MAAMoF,MAAMjC,aAAagC,MAAMnF,IAAI;AAC9D,aAAOoF,MAAMjC,aAAagC,MAAMnF,KAC5B,CAACmF,MAAMnF,IAAIoF,MAAMpF,EAAE,IACnB,CAACoF,MAAMpF,IAAImF,MAAMnF,EAAE;AAAA,IACzB;AAEMqF,UAAAA,UAAU,CAACF,MAAMnF,EAAE;AACnBsF,UAAAA,UAAU,CAACF,MAAMpF,EAAE;AAEzB,QAAIuF,YAAYJ,MAAMhC;AACtB,QAAIqC,YAAYJ,MAAMjC;AAEtB,QAAIsC,oBAAoBH,QAAQ5C,QAAQ6C,SAAS,MAAM;AACvD,QAAIG,oBAAoBL,QAAQ3C,QAAQ8C,SAAS,MAAM;AAEvD,QAAIG,YAAY;AAChB,QAAIC,YAAY;AAET,WAAA,CAACF,qBAAqB,CAACD,mBAAmB;AAC/C,UAAIE,WAAW;AACbN,gBAAQQ,KAAKN,SAAS;AACFD,4BAAAA,QAAQ5C,QAAQ6C,SAAS,MAAM;AACnDI,oBAAYJ,cAAc;AACtB,YAAA,CAACE,qBAAqBE,WAAW;AACvBvD,sBAAAA,QAAQQ,QAAQ2C,SAAS,EAAEpC;AAAAA,QACzC;AAAA,MACF;AAEIyC,UAAAA,aAAa,CAACH,mBAAmB;AACnCH,gBAAQO,KAAKL,SAAS;AACFH,4BAAAA,QAAQ3C,QAAQ8C,SAAS,MAAM;AACnDI,oBAAYJ,cAAc;AACtB,YAAA,CAACE,qBAAqBE,WAAW;AACvBxD,sBAAAA,QAAQQ,QAAQ4C,SAAS,EAAErC;AAAAA,QACzC;AAAA,MACF;AAAA,IACF;AAEM2C,UAAAA,iBAAiBL,oBAAoBF,YAAYC;AACjDO,UAAAA,iBAAiBvC,eAAesC,cAAc;AAEpD,UAAME,QAAQX,QAAQA,QAAQ3C,QAAQoD,cAAc,IAAI,CAAC;AACzD,UAAMG,QAAQX,QAAQA,QAAQ5C,QAAQoD,cAAc,IAAI,CAAC;AAEzD,WAAOC,eAAerD,QAAQsD,KAAK,IAAID,eAAerD,QAAQuD,KAAK,IAC/D,CAAChB,SAASC,OAAO,IACjB,CAACA,SAASD,OAAO;AAAA,EACvB,GACA,CAAE,CAAA;AAGJ,QAAMiB,kBAAkB3D,MAAAA,YACtB,CAAC4C,OAAOC,UAAU;AAChB,QAAID,SAASC,OAAO;AAClB,YAAM,CAACe,OAAOC,IAAI,IAAIpB,uBAAuBG,OAAOC,KAAK;AACnDiB,YAAAA,QAAQ,CAACF,KAAK;AAEpB,UAAIvD,UAAUuD;AAEd,aAAOvD,YAAYwD,MAAM;AACvBxD,kBAAUyB,YAAYzB,OAAO;AAC7ByD,cAAMR,KAAKjD,OAAO;AAAA,MACpB;AAEOyD,aAAAA;AAAAA,IACT;AACA,WAAO;EAAE,GAEX,CAACrB,wBAAwBX,WAAW,CAAC;AAMjCiC,QAAAA,QAAQA,CAACC,OAAOvG,OAAO;;AAC3B,QAAIA,IAAI;AACNkC,uBAAiBlC,EAAE;AAEnB,WAAIoC,aAAQQ,QAAQ5C,EAAE,MAAlBoC,mBAAqBlB,SAAS;AAChCkB,gBAAQQ,QAAQ5C,EAAE,EAAEkB,QAAQqF,KAAK;AAAA,MACnC;AAAA,IACF;AAAA,EAAA;AAGIC,QAAAA,gBAAgBA,CAACD,OAAOvG,OAAOsG,MAAMC,OAAOlC,YAAYrE,EAAE,CAAC;AAC3DyG,QAAAA,oBAAoBA,CAACF,OAAOvG,OAAOsG,MAAMC,OAAO/B,gBAAgBxE,EAAE,CAAC;AACzE,QAAM0G,iBAAkBH,CAAAA,UAAUD,MAAMC,OAAOzB,cAAc;AAC7D,QAAM6B,gBAAiBJ,CAAAA,UAAUD,MAAMC,OAAO3B,aAAa;AAE3D,QAAMgC,wBAAwBA,CAACL,OAAOvG,IAAIP,SAAS;AAC7CoH,QAAAA;AACA5C,QAAAA;AACE6C,UAAAA,gBAAgBrH,KAAKsH;AAE3B,UAAMC,eAAyB,CAAA;AAC/B,UAAMzH,aAAuB,CAAA;AAE7BkE,WAAOC,KAAKrB,aAAaO,OAAO,EAAEqE,QAASC,CAAW,WAAA;AAC9CC,YAAAA,YAAY9E,aAAaO,QAAQsE,MAAM;AACvCvD,YAAAA,MAAMvB,QAAQQ,QAAQsE,MAAM;AAClC,YAAME,UAAUzD,IAAIR,WAAWb,WAAWqB,IAAIR,QAAQ,IAAI;AAC1D,YAAMkE,kBAAkBpG,yBACpB,QACA+B,WAAWkE,MAAM;AAEjBE,UAAAA,WAAW,CAACC,iBAAiB;AAC/BL,qBAAanB,KAAKqB,MAAM;AACxB3H,mBAAWsG,KAAKsB,SAAS;AAAA,MAC3B;AAAA,IAAA,CACD;AAGOH,YAAAA,aAAatE,QAAQ1C,EAAE,IAAI;AAC/B6G,QAAAA,SAASG,aAAa5H,QAAQ;AACxB,cAAA;AAAA,IACV;AAGQE,YAAAA,kBAAkBC,YAAYsH,OAAOC,aAAa;AAG1D,QAAI7C,UAAU,IAAI;AACR3E,cAAAA,kBAAkBC,YAAY,GAAGuH,aAAa;AAAA,IACxD;AAGA,QAAI7C,QAAQ,IAAI;AACRsC,YAAAA,OAAOS,aAAa/C,KAAK,CAAC;AAAA,IAClC;AAAA,EAAA;AAMF,QAAMqD,kBAAkB/E,MAAAA,YACtB,CAACgE,OAAOgB,QAAQtF,kBAAkB;AAC5BuF,QAAAA;AAEJ,QAAIlH,SAASoC,QAAQ6E,KAAK,MAAM,IAAI;AAClCC,oBAAclH,SAASuD,OAAQ7D,CAAOA,OAAAA,OAAOuH,KAAK;AAAA,IAAA,OAC7C;AACLC,oBAAc,CAACD,KAAK,EAAEE,OAAOnH,QAAQ;AAAA,IACvC;AAEA,QAAIG,UAAU;AACZA,eAAS8F,OAAOiB,WAAW;AAAA,IAC7B;AAEA1F,qBAAiB0F,WAAW;AAAA,KAE9B,CAAClH,UAAU2B,eAAexB,UAAUqB,gBAAgB,CAAC;AAGjD4F,QAAAA,oBAAoBA,CAACnB,OAAOvG,OAAO;AACjC2D,UAAAA,MAAMvB,QAAQQ,QAAQ5C,EAAE;AACxBsE,UAAAA,WAAWd,eAAeG,IAAIR,QAAQ;AAEtCwE,UAAAA,OAAOrD,SAAST,OACnBK,CAAUvB,UAAAA,aAAauB,KAAK,KAAK,CAAC5B,WAAW4B,KAAK,CAAC;AAGhDsD,UAAAA,cAAclH,SAASmH,OAAOE,IAAI;AAEpCA,QAAAA,KAAKvI,SAAS,GAAG;AACnB0C,uBAAiB0F,WAAW;AAE5B,UAAI/G,UAAU;AACZA,iBAAS8F,OAAOiB,WAAW;AAAA,MAC7B;AAAA,IACF;AAAA,EAAA;AAMII,QAAAA,mBAAmBjG,aAA8B,IAAI;AACrDkG,QAAAA,wBAAwBlG,aAAO,KAAK;AACpCmG,QAAAA,wBAAwBnG,aAAyB,CAAA,CAAE;AAEnDoG,QAAAA,eAAeA,CAACC,YAAuC;AAC3D,WAAQA,QAA2BC,aAAa;AAAA,EAAA;AAGlD,QAAMC,yBAAyB3F,MAAAA,YAC7B,CAACgE,OAAOF,UAAuC;AACzC8B,QAAAA,OAAOtH,SAASuH;AACd,UAAA;AAAA,MAAEvB;AAAAA,MAAOwB;AAAAA,MAAMzF;AAAAA,IAAYyD,IAAAA;AAE7B,QAAA,CAACgC,QAAQ,CAACzF,SAAS;AACrB;AAAA,IACF;AAGEmF,QAAAA,aAAanF,OAAO,KACpBkF,sBAAsBlF,QAAQF,QAAQE,OAAO,MAAM,IACnD;AACAkF,4BAAsBlF,UAAU;IAClC;AAEA,QAAIiF,sBAAsBjF,SAAS;AAE/BmF,UAAAA,aAAaM,IAAI,KACjBP,sBAAsBlF,QAAQF,QAAQ2F,IAAI,MAAM,IAChD;AACAF,eAAOA,KAAKtE,OAAQ7D,CAAAA,OAAOA,OAAO6G,SAAS7G,OAAO4C,OAAO;AACnCA,8BAAAA,UACpBkF,sBAAsBlF,QAAQiB,OAC3B7D,QAAOA,OAAO6G,SAAS7G,OAAO4C,OAAO;AAAA,MAAA,OAErC;AACLuF,aAAKtC,KAAKwC,IAAI;AACQzF,8BAAAA,QAAQiD,KAAKwC,IAAI;AAAA,MACzC;AAAA,IAAA,OACK;AACLF,WAAKtC,KAAKwC,IAAI;AACQzF,4BAAAA,QAAQiD,KAAKjD,SAASyF,IAAI;AAAA,IAClD;AAEA,QAAIrH,UAAU;AAEVuF,eAAAA,OACA4B,MACAA,KAAKxE,IAAK3D,CAAAA,OAAOoC;;AAAAA,6BAAQQ,QAAQ5C,EAAE,MAAlBoC,mBAAqBkG;AAAAA,OAAO,CAAC;AAAA,IAElD;AAEAtG,qBAAiBmG,IAAI;AAAA,EAEvB,GAAA,CAACnH,UAAUH,UAAUmB,gBAAgB,CAAC;AAGxC,QAAMuG,oBAAoBhG,MAAAA,YACxB,CAACgE,OAAOF,UAAsC;AACxC8B,QAAAA,OAAOtH,SAASuH;AACd,UAAA;AAAA,MAAEvB;AAAAA,MAAO2B;AAAAA,IAAQnC,IAAAA;AAEvB,QAAIwB,sBAAsBjF,SAAS;AAC1BuF,aAAAA,KAAKtE,OACT7D,CAAO8H,OAAAA,sBAAsBlF,QAAQF,QAAQ1C,EAAE,MAAM,EAAE;AAAA,IAE5D;AAEIyI,QAAAA,QAAQvC,gBAAgBW,OAAO2B,GAAG;AACtCC,YAAQA,MAAM5E,OAAQZ,CAAAA,SAAS,CAACD,WAAWC,IAAI,CAAC;AAChD6E,0BAAsBlF,UAAU6F;AAC5BC,QAAAA,cAAcP,KAAKV,OAAOgB,KAAK;AACrBC,kBAAAA,YAAY7E,OACxB,CAAC7D,IAAIN,MAAMgJ,YAAYhG,QAAQ1C,EAAE,MAAMN,CAAC;AAG1C,QAAIsB,UAAU;AAEVuF,eAAAA,OACAmC,aACAA,YAAY/E,IAAK3D,CAAAA,OAAOoC;;AAAAA,6BAAQQ,QAAQ5C,EAAE,MAAlBoC,mBAAqBkG;AAAAA,OAAO,CAAC;AAAA,IAEzD;AAEAtG,qBAAiB0G,WAAW;AAAA,EAAA,GAE9B,CAACxC,iBAAiBlD,YAAYhC,UAAUH,UAAUmB,gBAAgB,CAAC;AAGrE,QAAM2G,uBAAuBpG,MAAAA,YAC3B,CAACgE,OAAOgB,UAAU;AACZmB,QAAAA;AACJ,QAAI7H,SAAS6B,QAAQ6E,KAAK,MAAM,IAAI;AAClCmB,oBAAc7H,SAASgD,OAAQ7D,CAAOA,OAAAA,OAAOuH,KAAK;AAAA,IAAA,OAC7C;AACLmB,oBAAc,CAACnB,KAAK,EAAEE,OAAO5G,QAAQ;AAAA,IACvC;AAEA,QAAIG,UAAU;AAEVuF,eAAAA,OACAmC,aACAA,YAAY/E,IAAK3D,CAAAA,OAAOoC;;AAAAA,6BAAQQ,QAAQ5C,EAAE,MAAlBoC,mBAAqBkG;AAAAA,OAAO,CAAC;AAAA,IAEzD;AAEAtG,qBAAiB0G,WAAW;AAAA,EAE9B,GAAA,CAAC1H,UAAUH,UAAUmB,gBAAgB,CAAC;AAGxC,QAAM4G,qBAAqBrG,MAAAA,YACzB,CAACgE,OAAOgB,UAAU;;AAChB,UAAMmB,cAAc/H,cAAc,CAAC4G,KAAK,IAAIA;AAC5C,QAAIvG,UAAU;AACZ,YAAM6H,aAAYzG,aAAQQ,QAAQ8F,WAAW,MAA3BtG,mBAA8BkG;AAChDtH,eAASuF,OAAOmC,aAAa/H,cAAc,CAACkI,SAAS,IAAIA,SAAS;AAAA,IACpE;AAEA7G,qBAAiB0G,WAAW;AAAA,EAE9B,GAAA,CAAC/H,aAAaK,UAAUgB,gBAAgB,CAAC;AAG3C,QAAM8G,aAAavG,MAAAA,YACjB,CAACgE,OAAOvG,IAAI+I,WAAW,UAAU;AAC3B/I,QAAAA,MAAM+C,aAAa/C,EAAE,GAAG;AAC1B,UAAI+I,UAAU;AACZJ,6BAAqBpC,OAAOvG,EAAE;AAAA,MAAA,OACzB;AACL4I,2BAAmBrC,OAAOvG,EAAE;AAAA,MAC9B;AACA4H,uBAAiBhF,UAAU5C;AAC3B6H,4BAAsBjF,UAAU;AAChCkF,4BAAsBlF,UAAU;AAEzB,aAAA;AAAA,IACT;AACO,WAAA;AAAA,EAET,GAAA,CAAC+F,sBAAsBC,oBAAoB7F,YAAY,CAAC;AAG1D,QAAMiG,cAAczG,MAAAA,YAClB,CACEgE,OACAF,OACA4C,UAAU,UACP;AACG,UAAA;AAAA,MAAEpC,QAAQe,iBAAiBhF;AAAAA,MAAS4F;AAAAA,MAAK5F;AAAAA,IAAYyD,IAAAA;AAC3D,QAAI4C,SAAS;AACXf,6BAAuB3B,OAAO;AAAA,QAAEM;AAAAA,QAAOwB,MAAMG;AAAAA,QAAK5F;AAAAA,MAAAA,CAAS;AAAA,IAClDiE,WAAAA,SAAS,QAAQ2B,OAAO,MAAM;AACvCD,wBAAkBhC,OAAO;AAAA,QAAEM;AAAAA,QAAO2B;AAAAA,MAAAA,CAAK;AAAA,IACzC;AACAX,0BAAsBjF,UAAU;AAAA,EAAA,GAElC,CAACsF,wBAAwBK,iBAAiB,CAAC;AAGvCW,QAAAA,qBAAqBA,CAAC3C,OAAOvG,OAAO;AACpC,QAAA,CAAC4H,iBAAiBhF,SAAS;AAC7BgF,uBAAiBhF,UAAU5C;AAAAA,IAC7B;AAEA,UAAM6G,QAAQgB,sBAAsBjF,UAChCgF,iBAAiBhF,UACjB5C;AAEJgJ,gBAAYzC,OAAO;AAAA,MACjBM;AAAAA,MACA2B,KAAK1D,aAAY;AAAA,IAAA,CAClB;AAAA,EAAA;AAGGqE,QAAAA,oBAAoBA,CAAC5C,OAAYvG,OAAO;AACxC,QAAA,CAAC4H,iBAAiBhF,SAAS;AAC7BgF,uBAAiBhF,UAAU5C;AAAAA,IAC7B;AAEA,UAAM6G,QAAQgB,sBAAsBjF,UAChCgF,iBAAiBhF,UACjB5C;AAEJgJ,gBAAYzC,OAAO;AAAA,MACjBM;AAAAA,MACA2B,KAAK5D,YAAW;AAAA,IAAA,CACjB;AAAA,EAAA;AAGGwE,QAAAA,iBAAiBA,CAAC7C,OAAOvG,OAAO;AACpC,QAAI,CAACgD,WAAWqB,YAAYrE,EAAE,CAAC,GAAG;AAChCgJ,kBACEzC,OACA;AAAA,QACEiC,KAAKnE,YAAYrE,EAAE;AAAA,QACnB4C,SAAS5C;AAAAA,SAEX,IAAI;AAAA,IAER;AAAA,EAAA;AAGIqJ,QAAAA,qBAAqBA,CAAC9C,OAAOvG,OAAO;AACxC,QAAI,CAACgD,WAAWwB,gBAAgBxE,EAAE,CAAC,GAAG;AACpCgJ,kBACEzC,OACA;AAAA,QACEiC,KAAKhE,gBAAgBxE,EAAE;AAAA,QACvB4C,SAAS5C;AAAAA,SAEX,IAAI;AAAA,IAER;AAAA,EAAA;AAGF,QAAMsJ,iBAAkB/C,CAAU,UAAA;AAChCyC,gBAAYzC,OAAO;AAAA,MAAEM,OAAO/B,aAAc;AAAA,MAAE0D,KAAK5D,YAAW;AAAA,IAAA,CAAI;AAAA,EAAA;AAM5D2E,QAAAA,eAAehH,kBAAaU,CAAS,SAAA;AACnC,UAAA;AAAA,MACJjD;AAAAA,MACAiE;AAAAA,MACAd;AAAAA,MACAN;AAAAA,MACA2G;AAAAA,MACAtG;AAAAA,MACAxC,YAAY+I;AAAAA,MACZvI,SAASwI;AAAAA,MACTpB;AAAAA,IACErF,IAAAA;AAEIL,YAAAA,QAAQ5C,EAAE,IAAI;AAAA,MACpBA;AAAAA,MACAiE;AAAAA,MACAd;AAAAA,MACAN;AAAAA,MACA2G;AAAAA,MACAtG;AAAAA,MACAxC,YAAY+I;AAAAA,MACZvI,SAASwI;AAAAA,MACTpB;AAAAA,IAAAA;AAAAA,EAEJ,GAAG,CAAE,CAAA;AAECqB,QAAAA,iBAAiBpH,kBAAavC,CAAO,OAAA;AACzC,UAAM4J,SAAS;AAAA,MAAE,GAAGxH,QAAQQ;AAAAA,IAAAA;AAC5B,WAAOgH,OAAO5J,EAAE;AAChBoC,YAAQQ,UAAUgH;AAElB1H,qBAAkB2H,CAAqB,qBAAA;AAEnCA,UAAAA,qBAAqB7J,MACrB0B,QAAQkB,WACRlB,QAAQkB,aACLlB,QAAQkB,QAAQkH,iBAAiBC,UAAUC,eAC9C;AACOxG,eAAAA,eAAe,IAAI,EAAE,CAAC;AAAA,MAC/B;AACOqG,aAAAA;AAAAA,IAAAA,CACR;AAAA,EACH,GAAG,CAAE,CAAA;AAEL,QAAMI,eAAe1H,MAAAA,YAAY,CAACvC,IAAImH,cAAc;AACrCvE,iBAAAA,QAAQ5C,EAAE,IAAImH;AAAAA,EAC7B,GAAG,CAAE,CAAA;AAEC+C,QAAAA,iBAAiB3H,kBAAavC,CAAO,OAAA;AACzC,UAAM4J,SAAS;AAAA,MAAE,GAAGvH,aAAaO;AAAAA,IAAAA;AACjC,WAAOgH,OAAO5J,EAAE;AAChBqC,iBAAaO,UAAUgH;AAAAA,EACzB,GAAG,CAAE,CAAA;AAKL,QAAMO,kBAAmB5D,CAAU,UAAA;AAC7B5D,QAAAA,aAAaV,aAAa,GAAG;AAC3BK,UAAAA,WAAWL,aAAa,GAAG;AAC7BuE,sBAAcD,OAAOtE,aAAa;AAAA,MAAA,WACzB,CAACe,WAAWf,aAAa,GAAG;AACrCqF,wBAAgBf,KAAK;AAAA,MACvB;AAAA,IACF;AACO,WAAA;AAAA,EAAA;AAGT,QAAM6D,sBAAuB7D,CAAU,UAAA;AACrC,QAAIjE,WAAWL,aAAa,KAAK,CAACe,WAAWf,aAAa,GAAG;AAC3DqF,sBAAgBf,OAAOtE,aAAa;AAC7B,aAAA;AAAA,IACT;AAEMoI,UAAAA,SAAStF,UAAU9C,aAAa;AACtC,QAAIoI,QAAQ;AACV/D,YAAMC,OAAO8D,MAAM;AACZ,aAAA;AAAA,IACT;AACO,WAAA;AAAA,EAAA;AAGT,QAAMC,gBAAiB/D,CAAU,UAAA;AAC/B,QAAIgE,OAAO;AACL,UAAA;AAAA,MAAE3G;AAAAA,IAAQ2C,IAAAA;AAGhB,QACEA,MAAMiE,UACNjE,MAAMkE,kBAAkBlE,MAAMmE,UAC9B,CAACzI,eACD;AACA;AAAA,IACF;AAEM0I,UAAAA,cAAcpE,MAAMqE,WAAWrE,MAAMsE;AAC3C,YAAQjH,KAAG;AAAA,MACT,KAAK;AACH,YAAIb,aAAad,aAAa,KAAK,CAACe,WAAWf,aAAa,GAAG;AACzDtB,cAAAA,eAAe4F,MAAMuE,UAAU;AACjC9B,wBAAYzC,OAAO;AAAA,cAAEiC,KAAKvG;AAAAA,YAAAA,CAAe;AAClC,mBAAA;AAAA,qBACEtB,aAAa;AACfmI,mBAAAA,WAAWvC,OAAOtE,eAAe,IAAI;AAAA,UAAA,OACvC;AACE6G,mBAAAA,WAAWvC,OAAOtE,aAAa;AAAA,UACxC;AAAA,QACF;AACAsE,cAAMwE,gBAAiB;AACvB;AAAA,MACF,KAAK;AACC,YAAA,CAAC/H,WAAWf,aAAa,GAAG;AAC1BU,cAAAA,aAAaV,aAAa,GAAG;AAC/BqF,4BAAgBf,KAAK;AACd,mBAAA;AAAA,UAAA,WACExD,aAAad,aAAa,GAAG;AAClCtB,gBAAAA,eAAe4F,MAAMuE,UAAU;AACjC9B,0BAAYzC,OAAO;AAAA,gBAAEiC,KAAKvG;AAAAA,cAAAA,CAAe;AAClC,qBAAA;AAAA,uBACEtB,aAAa;AACfmI,qBAAAA,WAAWvC,OAAOtE,eAAe,IAAI;AAAA,YAAA,OACvC;AACE6G,qBAAAA,WAAWvC,OAAOtE,aAAa;AAAA,YACxC;AAAA,UACF;AAAA,QACF;AACAsE,cAAMwE,gBAAiB;AACvB;AAAA,MACF,KAAK;AACCpK,YAAAA,eAAe4F,MAAMuE,UAAU;AACjC1B,yBAAe7C,OAAOtE,aAAa;AAAA,QACrC;AACAuE,sBAAcD,OAAOtE,aAAa;AAC3B,eAAA;AACP;AAAA,MACF,KAAK;AACCtB,YAAAA,eAAe4F,MAAMuE,UAAU;AACjCzB,6BAAmB9C,OAAOtE,aAAa;AAAA,QACzC;AACAwE,0BAAkBF,OAAOtE,aAAa;AAC/B,eAAA;AACP;AAAA,MACF,KAAK;AACHsI,eAAOJ,gBAAgB5D,KAAK;AAC5B;AAAA,MACF,KAAK;AACHgE,eAAOH,oBAAoB7D,KAAK;AAChC;AAAA,MACF,KAAK;AACH,YACE5F,eACAgK,eACApE,MAAMuE,YACN,CAAC9H,WAAWf,aAAa,GACzB;AACAiH,6BAAmB3C,OAAOtE,aAAa;AAAA,QACzC;AACAyE,uBAAeH,KAAK;AACb,eAAA;AACP;AAAA,MACF,KAAK;AACH,YACE5F,eACAgK,eACApE,MAAMuE,YACN,CAAC9H,WAAWf,aAAa,GACzB;AACAkH,4BAAkB5C,OAAOtE,aAAa;AAAA,QACxC;AACA0E,sBAAcJ,KAAK;AACZ,eAAA;AACP;AAAA,MACF;AACE,YAAI3C,QAAQ,KAAK;AACf8D,4BAAkBnB,OAAOtE,aAAa;AAC/B,iBAAA;AAAA,QAAA,WACEtB,eAAegK,eAAe/G,IAAImD,YAAAA,MAAkB,KAAK;AAClEuC,yBAAe/C,KAAK;AACb,iBAAA;AAAA,QAAA,WAEP,CAACoE,eACD,CAACpE,MAAMuE,YACP5L,qBAAqB0E,GAAG,GACxB;AACsB2C,gCAAAA,OAAOtE,eAAe2B,GAAG;AACxC,iBAAA;AAAA,QACT;AAAA,IAAC;AAGL,QAAI2G,MAAM;AACRhE,YAAMyE,eAAgB;AACtBzE,YAAMwE,gBAAiB;AAAA,IACzB;AAEA,QAAI3J,WAAW;AACbA,gBAAUmF,KAAK;AAAA,IACjB;AAAA,EAAA;AAGF,QAAM0E,cAAe1E,CAAU,UAAA;AAEzBA,QAAAA,MAAMmE,WAAWnE,MAAMkE,eAAe;AACxC,YAAMS,gBAAgB1I,MAAMC,QAAQ5B,QAAQ,IAAIA,SAAS,CAAC,IAAIA;AAC9DyF,YAAMC,OAAO2E,iBAAiB/G,wBAAwB,IAAI,EAAE,CAAC,CAAC;AAAA,IAChE;AAEA,QAAIjD,SAAS;AACXA,cAAQqF,KAAK;AAAA,IACf;AAAA,EAAA;AAGF,QAAM4E,aAAc5E,CAAU,UAAA;AAC5BrE,qBAAiB,IAAI;AAErB,QAAIf,QAAQ;AACVA,aAAOoF,KAAK;AAAA,IACd;AAAA,EAAA;AAGI6E,QAAAA,mBACJnJ,iBAAiBG,QAAQQ,QAAQX,aAAa,IAC1CG,QAAQQ,QAAQX,aAAa,EAAEuH,cAC/B;AAEA6B,QAAAA,qBAAqBC,MAAAA,QACzB,OAAO;AAAA,IACL9J;AAAAA,IACApB;AAAAA,IACAC;AAAAA,IACAiH;AAAAA,IACA3G;AAAAA,IACAmI,YAAYpI,aAAaoI,aAAanJ;AAAAA,IACtCqJ,aAAatI,aAAasI,cAAcrJ;AAAAA,IACxCsB;AAAAA,IACAsI;AAAAA,IACAI;AAAAA,IACAM;AAAAA,IACAC;AAAAA,IACA5D;AAAAA,EAAAA,IAEF,CACEiD,cACAI,gBACAM,cACAC,gBACA5C,iBACA5G,YACAoI,YACAE,aACA5I,MACAC,aACAM,aACAM,wBACAO,MAAM,CACP;AAGG+J,QAAAA,mBAAmBD,MAAAA,QACvB,OAAO;AAAA,IACLhJ;AAAAA,IACAQ;AAAAA,IACAM;AAAAA,IACAJ;AAAAA,IACAK;AAAAA,EAAAA,IAEF,CAACL,YAAYV,YAAYc,WAAWN,YAAYO,eAAe,CAAC;AAIhEmI,SAAAA,2BAAAA,IAACC,uCAAuBC,UAAQ;AAAA,IAACnE,OAAO8D;AAAAA,IAAmBhK,UACxDsK,2BAAAA,IAAAA,gBAAAA,qBAAqBD,UAAQ;AAAA,MAACnE,OAAOgE;AAAAA,MAAiBlK,yCACpDuK,gCAAkB;AAAA,QAAAvK,yCAChBwK,4BAAU;AAAA,UACT9L,KAAK6B;AAAAA,UACL5B,IAAIC;AAAAA,UACJC,WAAW4L,KAAKC,KAAAA,gBAAAA,QAAgBC,MAAM7L,mCAAS6L,MAAM9L,SAAS;AAAA,UAAE,GAC3DqB,gBAAgB;AAAA,YACnBvB,IAAIwB;AAAAA,YACJyK,MAAM;AAAA,YACN,wBAAwBtL;AAAAA,YACxB,yBAAyByK;AAAAA,YACzBc,UAAU;AAAA,YACVhL,SAAS+J;AAAAA,YACT9J,QAAQgK;AAAAA,YACR/J,WAAWkJ;AAAAA,UACb;AAAA,UAAC,GACGhJ;AAAAA,UAAMD;AAAAA,QAAAA,CAED;AAAA,MAAA,CACE;AAAA,IAAA,CACM;AAAA,EAAA,CAES;AAEtC,CAAC;;"}
1
+ {"version":3,"file":"TreeView.cjs","sources":["../../../../../src/components/VerticalNavigation/TreeView/TreeView.tsx"],"sourcesContent":["import { forwardRef, useCallback, useMemo, useRef, useState } from \"react\";\nimport { clsx } from \"clsx\";\nimport { useControlled, useForkRef, useUniqueId } from \"@core/hooks\";\nimport { HvVerticalNavigationTreeClasses } from \"../Navigation/navigationClasses\";\nimport {\n TreeViewControlContext,\n TreeViewStateContext,\n} from \"./TreeViewContext\";\nimport { DescendantProvider } from \"./descendants\";\nimport { StyledRoot } from \"./TreeView.styles\";\nimport { NavigationMode } from \"../Navigation\";\nimport treeViewClasses from \"./treeViewClasses\";\n\nexport interface HvVerticalNavigationTreeViewProps {\n /**\n * Id to be applied to the root node.\n */\n id?: string;\n /**\n * Class names to be applied.\n */\n className?: string;\n /**\n * A Jss Object used to override or extend the styles applied to the Radio button.\n */\n classes?: HvVerticalNavigationTreeClasses;\n /**\n * Modus operandi (role) of the widget instance.\n */\n mode?: NavigationMode;\n /**\n * Enables selection.\n * @default false\n */\n selectable?: boolean;\n /**\n * Enables the simultaneous selection of multiple items.\n * @default false\n */\n multiSelect?: boolean;\n /**\n * The selected nodes' ids.\n *\n * When `multiSelect` is true this takes an array of strings; when false (default) a string.\n */\n selected?: string[] | string;\n /**\n * When uncontrolled, defines the initial selected nodes' ids.\n *\n * When `multiSelect` is true this takes an array of strings; when false (default) a string.\n * @default []\n */\n defaultSelected?: string[] | string;\n /**\n * Can non-leaf nodes be collapsed / expanded.\n */\n collapsible?: boolean;\n /**\n * Callback fired when a tree item is selected.\n *\n * @param {object} event The event source of the callback.\n * @param {string} nodeId The id of the selected node.\n */\n onChange?: any;\n /**\n * Expanded nodes' ids.\n */\n expanded?: string[];\n /**\n * When uncontrolled, defines the initial expanded nodes' ids.\n * @default []\n */\n defaultExpanded?: string[];\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 * If `true`, will allow focus on disabled items.\n * @default false\n */\n disabledItemsFocusable?: boolean;\n /**\n * @ignore\n */\n onFocus?: (event: React.FocusEvent<any>) => void;\n /**\n * @ignore\n */\n onBlur?: (event: any) => void;\n /**\n * @ignore\n */\n onKeyDown?: (event: KeyboardEvent) => void;\n /**\n * The content of the component.\n */\n children?: React.ReactNode;\n}\n\nfunction isPrintableCharacter(string) {\n return string && string.length === 1 && string.match(/\\S/);\n}\n\nfunction findNextFirstChar(firstChars, startIndex, char) {\n for (let i = startIndex; i < firstChars.length; i += 1) {\n if (char === firstChars[i]) {\n return i;\n }\n }\n return -1;\n}\n\nfunction noopSelection() {\n return false;\n}\n\nexport const HvVerticalNavigationTreeView = forwardRef(\n (props: HvVerticalNavigationTreeViewProps, ref) => {\n const {\n id: idProp,\n className,\n classes,\n\n mode = \"treeview\",\n\n collapsible = false,\n expanded: expandedProp,\n defaultExpanded = [],\n onToggle,\n\n selectable = false,\n multiSelect: multiSelectProp = false,\n selected: selectedProp,\n defaultSelected = [],\n onChange,\n\n disabledItemsFocusable = false,\n\n onFocus,\n onBlur,\n onKeyDown,\n\n children,\n\n ...others\n } = props;\n\n const treeviewMode = mode === \"treeview\";\n const multiSelect = selectable && multiSelectProp;\n\n const treeId = useUniqueId(idProp, \"hvtreeview\");\n const treeRef = useRef<HTMLDivElement>(null);\n const handleRef = useForkRef(treeRef, ref);\n\n const [expanded, setExpandedState] = useControlled(\n expandedProp,\n defaultExpanded\n );\n\n const [selected, setSelectedState] = useControlled(\n selectedProp,\n defaultSelected\n );\n\n const [focusedNodeId, setFocusedNodeId] = useState<string | null>(null);\n\n const nodeMap = useRef({});\n\n const firstCharMap = useRef({});\n\n /*\n * Status Helpers\n */\n const isExpanded = useCallback(\n (id) =>\n !collapsible ||\n (Array.isArray(expanded) ? expanded.indexOf(id) !== -1 : false),\n [collapsible, expanded]\n );\n\n const isExpandable = useCallback(\n (id) =>\n collapsible && nodeMap.current[id] && nodeMap.current[id].expandable,\n [collapsible]\n );\n\n const isSelected = useCallback(\n (id) =>\n selectable &&\n (Array.isArray(selected)\n ? selected.indexOf(id) !== -1\n : selected === id),\n [selectable, selected]\n );\n\n const isSelectable = useCallback(\n (id) =>\n selectable && nodeMap.current[id] && nodeMap.current[id].selectable,\n [selectable]\n );\n\n const isDisabled = useCallback((id) => {\n let node = nodeMap.current[id];\n\n // This can be called before the node has been added to the node map.\n if (!node) {\n return false;\n }\n\n if (node.disabled) {\n return true;\n }\n\n while (node.parentId != null) {\n node = nodeMap.current[node.parentId];\n if (node.disabled) {\n return true;\n }\n }\n\n return false;\n }, []);\n\n const isFocused = useCallback(\n (id) => focusedNodeId === id,\n [focusedNodeId]\n );\n\n const isChildSelected = useCallback(\n // the second part of the condition is to ensure that the id we're\n // looking at is actually of a child (ie, there's at least one \"-\")\n (id) => selected.startsWith(id) && selected.includes(\"-\"),\n [selected]\n );\n\n /*\n * Child Helpers\n */\n const getChildrenIds = (id: string | null) =>\n Object.keys(nodeMap.current)\n .map((key) => {\n return nodeMap.current[key];\n })\n .filter((node) => node.parentId === id)\n .sort((a, b) => a.index - b.index)\n .map((child) => child.id);\n\n const getNavigableChildrenIds = useCallback(\n (id: string | null) => {\n let childrenIds = getChildrenIds(id);\n\n if (!disabledItemsFocusable) {\n childrenIds = childrenIds.filter((node) => !isDisabled(node));\n }\n return childrenIds;\n },\n [disabledItemsFocusable, isDisabled]\n );\n\n /*\n * Node Helpers\n */\n const getNextNode = useCallback(\n (id: string) => {\n // If expanded get first child\n if (isExpanded(id) && getNavigableChildrenIds(id).length > 0) {\n return getNavigableChildrenIds(id)[0];\n }\n\n let node = nodeMap.current[id];\n while (node != null) {\n // Try to get next sibling\n const siblings = getNavigableChildrenIds(node.parentId);\n const nextSibling = siblings[siblings.indexOf(node.id) + 1];\n\n if (nextSibling) {\n return nextSibling;\n }\n\n // If the sibling does not exist, go up a level to the parent and try again.\n node = nodeMap.current[node.parentId];\n }\n\n return null;\n },\n [getNavigableChildrenIds, isExpanded]\n );\n\n const getPreviousNode = (id: string) => {\n const node = nodeMap.current[id];\n const siblings = getNavigableChildrenIds(node.parentId);\n const nodeIndex = siblings.indexOf(id);\n\n if (nodeIndex === 0) {\n return node.parentId;\n }\n\n let currentNode = siblings[nodeIndex - 1];\n while (\n isExpanded(currentNode) &&\n getNavigableChildrenIds(currentNode).length > 0\n ) {\n currentNode = getNavigableChildrenIds(currentNode).pop();\n }\n\n return currentNode;\n };\n\n const getLastNode = () => {\n let lastNode = getNavigableChildrenIds(null).pop();\n\n while (isExpanded(lastNode)) {\n lastNode = getNavigableChildrenIds(lastNode).pop();\n }\n return lastNode;\n };\n const getFirstNode = () => getNavigableChildrenIds(null)[0];\n const getParent = (id) => nodeMap.current[id].parentId;\n\n /**\n * This is used to determine the start and end of a selection range so\n * we can get the nodes between the two border nodes.\n *\n * It finds the nodes' common ancestor using\n * a naive implementation of a lowest common ancestor algorithm\n * (https://en.wikipedia.org/wiki/Lowest_common_ancestor).\n * Then compares the ancestor's 2 children that are ancestors of nodeA and NodeB\n * so we can compare their indexes to work out which node comes first in a depth first search.\n * (https://en.wikipedia.org/wiki/Depth-first_search)\n *\n * Another way to put it is which node is shallower in a trémaux tree\n * https://en.wikipedia.org/wiki/Tr%C3%A9maux_tree\n */\n const findOrderInTremauxTree = useCallback(\n (nodeAId: string, nodeBId: string) => {\n if (nodeAId === nodeBId) {\n return [nodeAId, nodeBId];\n }\n\n const nodeA = nodeMap.current[nodeAId];\n const nodeB = nodeMap.current[nodeBId];\n\n if (nodeA.parentId === nodeB.id || nodeB.parentId === nodeA.id) {\n return nodeB.parentId === nodeA.id\n ? [nodeA.id, nodeB.id]\n : [nodeB.id, nodeA.id];\n }\n\n const aFamily = [nodeA.id];\n const bFamily = [nodeB.id];\n\n let aAncestor = nodeA.parentId;\n let bAncestor = nodeB.parentId;\n\n let aAncestorIsCommon = bFamily.indexOf(aAncestor) !== -1;\n let bAncestorIsCommon = aFamily.indexOf(bAncestor) !== -1;\n\n let continueA = true;\n let continueB = true;\n\n while (!bAncestorIsCommon && !aAncestorIsCommon) {\n if (continueA) {\n aFamily.push(aAncestor);\n aAncestorIsCommon = bFamily.indexOf(aAncestor) !== -1;\n continueA = aAncestor !== null;\n if (!aAncestorIsCommon && continueA) {\n aAncestor = nodeMap.current[aAncestor].parentId;\n }\n }\n\n if (continueB && !aAncestorIsCommon) {\n bFamily.push(bAncestor);\n bAncestorIsCommon = aFamily.indexOf(bAncestor) !== -1;\n continueB = bAncestor !== null;\n if (!bAncestorIsCommon && continueB) {\n bAncestor = nodeMap.current[bAncestor].parentId;\n }\n }\n }\n\n const commonAncestor = aAncestorIsCommon ? aAncestor : bAncestor;\n const ancestorFamily = getChildrenIds(commonAncestor);\n\n const aSide = aFamily[aFamily.indexOf(commonAncestor) - 1];\n const bSide = bFamily[bFamily.indexOf(commonAncestor) - 1];\n\n return ancestorFamily.indexOf(aSide) < ancestorFamily.indexOf(bSide)\n ? [nodeAId, nodeBId]\n : [nodeBId, nodeAId];\n },\n []\n );\n\n const getNodesInRange = useCallback(\n (nodeA, nodeB) => {\n if (nodeA && nodeB) {\n const [first, last] = findOrderInTremauxTree(nodeA, nodeB);\n const nodes = [first];\n\n let current = first;\n\n while (current !== last) {\n current = getNextNode(current);\n nodes.push(current);\n }\n\n return nodes;\n }\n return [];\n },\n [findOrderInTremauxTree, getNextNode]\n );\n\n /*\n * Focus Helpers\n */\n const focus = (event, id) => {\n if (id) {\n setFocusedNodeId(id);\n\n if (nodeMap.current[id]?.onFocus) {\n nodeMap.current[id].onFocus(event);\n }\n }\n };\n\n const focusNextNode = (event, id) => focus(event, getNextNode(id));\n const focusPreviousNode = (event, id) => focus(event, getPreviousNode(id));\n const focusFirstNode = (event) => focus(event, getFirstNode());\n const focusLastNode = (event) => focus(event, getLastNode());\n\n const focusByFirstCharacter = (event, id, char) => {\n let start;\n let index;\n const lowercaseChar = char.toLowerCase();\n\n const firstCharIds: string[] = [];\n const firstChars: string[] = [];\n // This really only works since the ids are strings\n Object.keys(firstCharMap.current).forEach((nodeId) => {\n const firstChar = firstCharMap.current[nodeId];\n const map = nodeMap.current[nodeId];\n const visible = map.parentId ? isExpanded(map.parentId) : true;\n const shouldBeSkipped = disabledItemsFocusable\n ? false\n : isDisabled(nodeId);\n\n if (visible && !shouldBeSkipped) {\n firstCharIds.push(nodeId);\n firstChars.push(firstChar);\n }\n });\n\n // Get start index for search based on position of currentItem\n start = firstCharIds.indexOf(id) + 1;\n if (start >= firstCharIds.length) {\n start = 0;\n }\n\n // Check remaining slots in the menu\n index = findNextFirstChar(firstChars, start, lowercaseChar);\n\n // If not found in remaining slots, check from beginning\n if (index === -1) {\n index = findNextFirstChar(firstChars, 0, lowercaseChar);\n }\n\n // If match was found...\n if (index > -1) {\n focus(event, firstCharIds[index]);\n }\n };\n\n /*\n * Expansion Helpers\n */\n const toggleExpansion = useCallback(\n (event, value = focusedNodeId) => {\n let newExpanded;\n\n if (expanded.indexOf(value) !== -1) {\n newExpanded = expanded.filter((id) => id !== value);\n } else {\n newExpanded = [value].concat(expanded);\n }\n\n if (onToggle) {\n onToggle(event, newExpanded);\n }\n\n setExpandedState(newExpanded);\n },\n [expanded, focusedNodeId, onToggle, setExpandedState]\n );\n\n const expandAllSiblings = (event, id) => {\n const map = nodeMap.current[id];\n const siblings = getChildrenIds(map.parentId);\n\n const diff = siblings.filter(\n (child) => isExpandable(child) && !isExpanded(child)\n );\n\n const newExpanded = expanded.concat(diff);\n\n if (diff.length > 0) {\n setExpandedState(newExpanded);\n\n if (onToggle) {\n onToggle(event, newExpanded);\n }\n }\n };\n\n /*\n * Selection Helpers\n */\n const lastSelectedNode = useRef<HTMLDivElement | null>(null);\n const lastSelectionWasRange = useRef(false);\n const currentRangeSelection = useRef<HTMLDivElement[]>([]);\n\n const isDivElement = (element): element is HTMLDivElement => {\n return (element as HTMLDivElement).nodeType === 1;\n };\n\n const handleRangeArrowSelect = useCallback(\n (event, nodes: { start?; next?; current? }) => {\n let base = selected.slice();\n const { start, next, current } = nodes;\n\n if (!next || !current) {\n return;\n }\n\n if (\n isDivElement(current) &&\n currentRangeSelection.current.indexOf(current) === -1\n ) {\n currentRangeSelection.current = [];\n }\n\n if (lastSelectionWasRange.current) {\n if (\n isDivElement(next) &&\n currentRangeSelection.current.indexOf(next) !== -1\n ) {\n base = base.filter((id) => id === start || id !== current);\n currentRangeSelection.current =\n currentRangeSelection.current.filter(\n (id) => id === start || id !== current\n );\n } else {\n base.push(next);\n currentRangeSelection.current.push(next);\n }\n } else {\n base.push(next);\n currentRangeSelection.current.push(current, next);\n }\n\n if (onChange) {\n onChange(\n event,\n base,\n base.map((id) => nodeMap.current[id]?.payload)\n );\n }\n\n setSelectedState(base);\n },\n [onChange, selected, setSelectedState]\n );\n\n const handleRangeSelect = useCallback(\n (event, nodes: { start?; end?; current? }) => {\n let base = selected.slice();\n const { start, end } = nodes;\n // If last selection was a range selection ignore nodes that were selected.\n if (lastSelectionWasRange.current) {\n base = base.filter(\n (id) => currentRangeSelection.current.indexOf(id) === -1\n );\n }\n\n let range = getNodesInRange(start, end);\n range = range.filter((node) => !isDisabled(node));\n currentRangeSelection.current = range;\n let newSelected = base.concat(range);\n newSelected = newSelected.filter(\n (id, i) => newSelected.indexOf(id) === i\n );\n\n if (onChange) {\n onChange(\n event,\n newSelected,\n newSelected.map((id) => nodeMap.current[id]?.payload)\n );\n }\n\n setSelectedState(newSelected);\n },\n [getNodesInRange, isDisabled, onChange, selected, setSelectedState]\n );\n\n const handleMultipleSelect = useCallback(\n (event, value) => {\n let newSelected;\n if (selected.indexOf(value) !== -1) {\n newSelected = selected.filter((id) => id !== value);\n } else {\n newSelected = [value].concat(selected);\n }\n\n if (onChange) {\n onChange(\n event,\n newSelected,\n newSelected.map((id) => nodeMap.current[id]?.payload)\n );\n }\n\n setSelectedState(newSelected);\n },\n [onChange, selected, setSelectedState]\n );\n\n const handleSingleSelect = useCallback(\n (event, value) => {\n const newSelected = multiSelect ? [value] : value;\n if (onChange) {\n const nodeValue = nodeMap.current[newSelected]?.payload;\n onChange(event, newSelected, multiSelect ? [nodeValue] : nodeValue);\n }\n\n setSelectedState(newSelected);\n },\n [multiSelect, onChange, setSelectedState]\n );\n\n const selectNode = useCallback(\n (event, id, multiple = false) => {\n if (id && isSelectable(id)) {\n if (multiple) {\n handleMultipleSelect(event, id);\n } else {\n handleSingleSelect(event, id);\n }\n lastSelectedNode.current = id;\n lastSelectionWasRange.current = false;\n currentRangeSelection.current = [];\n\n return true;\n }\n return false;\n },\n [handleMultipleSelect, handleSingleSelect, isSelectable]\n );\n\n const selectRange = useCallback(\n (\n event,\n nodes: { start?; end?; current?: HTMLDivElement | null },\n stacked = false\n ) => {\n const { start = lastSelectedNode.current, end, current } = nodes;\n if (stacked) {\n handleRangeArrowSelect(event, { start, next: end, current });\n } else if (start != null && end != null) {\n handleRangeSelect(event, { start, end });\n }\n lastSelectionWasRange.current = true;\n },\n [handleRangeArrowSelect, handleRangeSelect]\n );\n\n const rangeSelectToFirst = (event, id) => {\n if (!lastSelectedNode.current) {\n lastSelectedNode.current = id;\n }\n\n const start = lastSelectionWasRange.current\n ? lastSelectedNode.current\n : id;\n\n selectRange(event, {\n start,\n end: getFirstNode(),\n });\n };\n\n const rangeSelectToLast = (event: any, id) => {\n if (!lastSelectedNode.current) {\n lastSelectedNode.current = id;\n }\n\n const start = lastSelectionWasRange.current\n ? lastSelectedNode.current\n : id;\n\n selectRange(event, {\n start,\n end: getLastNode(),\n });\n };\n\n const selectNextNode = (event, id) => {\n if (!isDisabled(getNextNode(id))) {\n selectRange(\n event,\n {\n end: getNextNode(id),\n current: id,\n },\n true\n );\n }\n };\n\n const selectPreviousNode = (event, id) => {\n if (!isDisabled(getPreviousNode(id))) {\n selectRange(\n event,\n {\n end: getPreviousNode(id),\n current: id,\n },\n true\n );\n }\n };\n\n const selectAllNodes = (event) => {\n selectRange(event, { start: getFirstNode(), end: getLastNode() });\n };\n\n /*\n * Mapping Helpers\n */\n const registerNode = useCallback((node) => {\n const {\n id,\n index,\n parentId,\n expandable,\n idAttribute,\n disabled,\n selectable: nodeSelectable,\n onFocus: nodeOnFocus,\n payload,\n } = node;\n\n nodeMap.current[id] = {\n id,\n index,\n parentId,\n expandable,\n idAttribute,\n disabled,\n selectable: nodeSelectable,\n onFocus: nodeOnFocus,\n payload,\n };\n }, []);\n\n const unregisterNode = useCallback((id) => {\n const newMap = { ...nodeMap.current };\n delete newMap[id];\n nodeMap.current = newMap;\n\n setFocusedNodeId((oldFocusedNodeId) => {\n if (\n oldFocusedNodeId === id &&\n treeRef.current &&\n treeRef.current ===\n (treeRef.current.ownerDocument || document).activeElement\n ) {\n return getChildrenIds(null)[0];\n }\n return oldFocusedNodeId;\n });\n }, []);\n\n const mapFirstChar = useCallback((id, firstChar) => {\n firstCharMap.current[id] = firstChar;\n }, []);\n\n const unMapFirstChar = useCallback((id) => {\n const newMap = { ...firstCharMap.current };\n delete newMap[id];\n firstCharMap.current = newMap;\n }, []);\n\n /**\n * Event handlers and Navigation\n */\n const handleNextArrow = (event) => {\n if (isExpandable(focusedNodeId)) {\n if (isExpanded(focusedNodeId)) {\n focusNextNode(event, focusedNodeId);\n } else if (!isDisabled(focusedNodeId)) {\n toggleExpansion(event);\n }\n }\n return true;\n };\n\n const handlePreviousArrow = (event) => {\n if (isExpanded(focusedNodeId) && !isDisabled(focusedNodeId)) {\n toggleExpansion(event, focusedNodeId);\n return true;\n }\n\n const parent = getParent(focusedNodeId);\n if (parent) {\n focus(event, parent);\n return true;\n }\n return false;\n };\n\n const handleKeyDown = (event) => {\n let flag = false;\n const { key } = event;\n\n // If the tree is empty there will be no focused node\n if (\n event.altKey ||\n event.currentTarget !== event.target ||\n !focusedNodeId\n ) {\n return;\n }\n\n const ctrlPressed = event.ctrlKey || event.metaKey;\n switch (key) {\n case \" \":\n if (isSelectable(focusedNodeId) && !isDisabled(focusedNodeId)) {\n if (multiSelect && event.shiftKey) {\n selectRange(event, { end: focusedNodeId });\n flag = true;\n } else if (multiSelect) {\n flag = selectNode(event, focusedNodeId, true);\n } else {\n flag = selectNode(event, focusedNodeId);\n }\n }\n event.stopPropagation();\n break;\n case \"Enter\":\n if (!isDisabled(focusedNodeId)) {\n if (isExpandable(focusedNodeId)) {\n toggleExpansion(event);\n flag = true;\n } else if (isSelectable(focusedNodeId)) {\n if (multiSelect && event.shiftKey) {\n selectRange(event, { end: focusedNodeId });\n flag = true;\n } else if (multiSelect) {\n flag = selectNode(event, focusedNodeId, true);\n } else {\n flag = selectNode(event, focusedNodeId);\n }\n }\n }\n event.stopPropagation();\n break;\n case \"ArrowDown\":\n if (multiSelect && event.shiftKey) {\n selectNextNode(event, focusedNodeId);\n }\n focusNextNode(event, focusedNodeId);\n flag = true;\n break;\n case \"ArrowUp\":\n if (multiSelect && event.shiftKey) {\n selectPreviousNode(event, focusedNodeId);\n }\n focusPreviousNode(event, focusedNodeId);\n flag = true;\n break;\n case \"ArrowRight\":\n flag = handleNextArrow(event);\n break;\n case \"ArrowLeft\":\n flag = handlePreviousArrow(event);\n break;\n case \"Home\":\n if (\n multiSelect &&\n ctrlPressed &&\n event.shiftKey &&\n !isDisabled(focusedNodeId)\n ) {\n rangeSelectToFirst(event, focusedNodeId);\n }\n focusFirstNode(event);\n flag = true;\n break;\n case \"End\":\n if (\n multiSelect &&\n ctrlPressed &&\n event.shiftKey &&\n !isDisabled(focusedNodeId)\n ) {\n rangeSelectToLast(event, focusedNodeId);\n }\n focusLastNode(event);\n flag = true;\n break;\n default:\n if (key === \"*\") {\n expandAllSiblings(event, focusedNodeId);\n flag = true;\n } else if (multiSelect && ctrlPressed && key.toLowerCase() === \"a\") {\n selectAllNodes(event);\n flag = true;\n } else if (\n !ctrlPressed &&\n !event.shiftKey &&\n isPrintableCharacter(key)\n ) {\n focusByFirstCharacter(event, focusedNodeId, key);\n flag = true;\n }\n }\n\n if (flag) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n if (onKeyDown) {\n onKeyDown(event);\n }\n };\n\n const handleFocus = (event) => {\n // if the event bubbled (which is React specific) we don't want to steal focus\n if (event.target === event.currentTarget) {\n const firstSelected = Array.isArray(selected) ? selected[0] : selected;\n focus(event, firstSelected || getNavigableChildrenIds(null)[0]);\n }\n\n if (onFocus) {\n onFocus(event);\n }\n };\n\n const handleBlur = (event) => {\n setFocusedNodeId(null);\n\n if (onBlur) {\n onBlur(event);\n }\n };\n\n const activeDescendant =\n focusedNodeId && nodeMap.current[focusedNodeId]\n ? nodeMap.current[focusedNodeId].idAttribute\n : null;\n\n const treeControlContext = useMemo(\n () => ({\n treeId,\n mode,\n collapsible,\n toggleExpansion,\n multiSelect,\n selectNode: selectable ? selectNode : noopSelection,\n selectRange: selectable ? selectRange : noopSelection,\n disabledItemsFocusable,\n registerNode,\n unregisterNode,\n mapFirstChar,\n unMapFirstChar,\n focus,\n }),\n [\n registerNode,\n unregisterNode,\n mapFirstChar,\n unMapFirstChar,\n toggleExpansion,\n selectable,\n selectNode,\n selectRange,\n mode,\n collapsible,\n multiSelect,\n disabledItemsFocusable,\n treeId,\n ]\n );\n\n const treeStateContext = useMemo(\n () => ({\n isExpanded,\n isSelected,\n isFocused,\n isDisabled,\n isChildSelected,\n }),\n [isDisabled, isExpanded, isFocused, isSelected, isChildSelected]\n );\n\n return (\n <TreeViewControlContext.Provider value={treeControlContext}>\n <TreeViewStateContext.Provider value={treeStateContext}>\n <DescendantProvider>\n <StyledRoot\n ref={handleRef}\n id={idProp}\n className={clsx(treeViewClasses.root, classes?.root, className)}\n {...(treeviewMode && {\n id: treeId,\n role: \"tree\",\n \"aria-multiselectable\": multiSelect,\n \"aria-activedescendant\": activeDescendant,\n tabIndex: 0,\n onFocus: handleFocus,\n onBlur: handleBlur,\n onKeyDown: handleKeyDown,\n })}\n {...others}\n >\n {children}\n </StyledRoot>\n </DescendantProvider>\n </TreeViewStateContext.Provider>\n </TreeViewControlContext.Provider>\n );\n }\n);\n"],"names":["isPrintableCharacter","string","length","match","findNextFirstChar","firstChars","startIndex","char","i","noopSelection","HvVerticalNavigationTreeView","forwardRef","props","ref","id","idProp","className","classes","mode","collapsible","expanded","expandedProp","defaultExpanded","onToggle","selectable","multiSelect","multiSelectProp","selected","selectedProp","defaultSelected","onChange","disabledItemsFocusable","onFocus","onBlur","onKeyDown","children","others","treeviewMode","treeId","useUniqueId","treeRef","useRef","handleRef","useForkRef","setExpandedState","useControlled","setSelectedState","focusedNodeId","setFocusedNodeId","useState","nodeMap","firstCharMap","isExpanded","useCallback","Array","isArray","indexOf","isExpandable","current","expandable","isSelected","isSelectable","isDisabled","node","disabled","parentId","isFocused","isChildSelected","startsWith","includes","getChildrenIds","Object","keys","map","key","filter","sort","a","b","index","child","getNavigableChildrenIds","childrenIds","getNextNode","siblings","nextSibling","getPreviousNode","nodeIndex","currentNode","pop","getLastNode","lastNode","getFirstNode","getParent","findOrderInTremauxTree","nodeAId","nodeBId","nodeA","nodeB","aFamily","bFamily","aAncestor","bAncestor","aAncestorIsCommon","bAncestorIsCommon","continueA","continueB","push","commonAncestor","ancestorFamily","aSide","bSide","getNodesInRange","first","last","nodes","focus","event","focusNextNode","focusPreviousNode","focusFirstNode","focusLastNode","focusByFirstCharacter","start","lowercaseChar","toLowerCase","firstCharIds","forEach","nodeId","firstChar","visible","shouldBeSkipped","toggleExpansion","value","newExpanded","concat","expandAllSiblings","diff","lastSelectedNode","lastSelectionWasRange","currentRangeSelection","isDivElement","element","nodeType","handleRangeArrowSelect","base","slice","next","payload","handleRangeSelect","end","range","newSelected","handleMultipleSelect","handleSingleSelect","nodeValue","selectNode","multiple","selectRange","stacked","rangeSelectToFirst","rangeSelectToLast","selectNextNode","selectPreviousNode","selectAllNodes","registerNode","idAttribute","nodeSelectable","nodeOnFocus","unregisterNode","newMap","oldFocusedNodeId","ownerDocument","document","activeElement","mapFirstChar","unMapFirstChar","handleNextArrow","handlePreviousArrow","parent","handleKeyDown","flag","altKey","currentTarget","target","ctrlPressed","ctrlKey","metaKey","shiftKey","stopPropagation","preventDefault","handleFocus","firstSelected","handleBlur","activeDescendant","treeControlContext","useMemo","treeStateContext","_jsx","TreeViewControlContext","Provider","TreeViewStateContext","DescendantProvider","StyledRoot","clsx","treeViewClasses","root","role","tabIndex"],"mappings":"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"}