@onewelcome/react-lib-components 8.10.0 → 8.11.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 (500) hide show
  1. package/dist/cjs/Breadcrumbs/Breadcrumbs.module.scss.cjs.js +1 -1
  2. package/dist/cjs/Button/BaseButton.module.scss.cjs.js +1 -1
  3. package/dist/cjs/Button/Button.module.scss.cjs.js +1 -1
  4. package/dist/cjs/Button/IconButton.cjs.js +1 -1
  5. package/dist/cjs/Button/IconButton.cjs.js.map +1 -1
  6. package/dist/cjs/Button/IconButton.module.scss.cjs.js +1 -1
  7. package/dist/cjs/ContextMenu/ContextMenu.module.scss.cjs.js +1 -1
  8. package/dist/cjs/ContextMenu/ContextMenuItem.module.scss.cjs.js +1 -1
  9. package/dist/cjs/DataGrid/DataGrid.module.scss.cjs.js +1 -1
  10. package/dist/cjs/DataGrid/DataGridActions/DataGridActions.module.scss.cjs.js +1 -1
  11. package/dist/cjs/DataGrid/DataGridActions/DataGridColumnsToggle.module.scss.cjs.js +1 -1
  12. package/dist/cjs/DataGrid/DataGridBody/DataGridBody.module.scss.cjs.js +1 -1
  13. package/dist/cjs/DataGrid/DataGridBody/DataGridCell/DataGridCell.module.scss.cjs.js +1 -1
  14. package/dist/cjs/DataGrid/DataGridBody/DataGridDrawer/DataGridDrawer.module.scss.cjs.js +1 -1
  15. package/dist/cjs/DataGrid/DataGridBody/DataGridDrawer/DataGridDrawerItem.module.scss.cjs.js +1 -1
  16. package/dist/cjs/DataGrid/DataGridBody/DataGridRow/DataGridRow.module.scss.cjs.js +1 -1
  17. package/dist/cjs/DataGrid/DataGridFilters/DataGridFilter.module.scss.cjs.js +1 -1
  18. package/dist/cjs/DataGrid/DataGridFilters/DataGridToolbar.module.scss.cjs.js +1 -1
  19. package/dist/cjs/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.module.scss.cjs.js +1 -1
  20. package/dist/cjs/DataGrid/DataGridHeader/DataGridHeader.module.scss.cjs.js +1 -1
  21. package/dist/cjs/DataGrid/DataGridHeader/DataGridHeaderCell.module.scss.cjs.js +1 -1
  22. package/dist/cjs/DatePicker/DatePicker.module.scss.cjs.js +1 -1
  23. package/dist/cjs/Form/Checkbox/Checkbox.module.scss.cjs.js +1 -1
  24. package/dist/cjs/Form/Fieldset/Fieldset.module.scss.cjs.js +1 -1
  25. package/dist/cjs/Form/FileUpload/FileItem/FileItem.module.scss.cjs.js +1 -1
  26. package/dist/cjs/Form/FileUpload/FileUpload.module.scss.cjs.js +1 -1
  27. package/dist/cjs/Form/Form.module.scss.cjs.js +1 -1
  28. package/dist/cjs/Form/FormControl/FormControl.module.scss.cjs.js +1 -1
  29. package/dist/cjs/Form/FormGroup/FormGroup.module.scss.cjs.js +1 -1
  30. package/dist/cjs/Form/FormHelperText/FormHelperText.module.scss.cjs.js +1 -1
  31. package/dist/cjs/Form/FormSelectorWrapper/FormSelectorWrapper.module.scss.cjs.js +1 -1
  32. package/dist/cjs/Form/Input/Input.module.scss.cjs.js +1 -1
  33. package/dist/cjs/Form/Label/Label.module.scss.cjs.js +1 -1
  34. package/dist/cjs/Form/Radio/Radio.module.scss.cjs.js +1 -1
  35. package/dist/cjs/Form/Select/MultiSelect/MultiSelect.module.scss.cjs.js +1 -1
  36. package/dist/cjs/Form/Select/MultiSelect/SelectButton.module.scss.cjs.js +1 -1
  37. package/dist/cjs/Form/Select/MultiSelect/SelectedOptions.module.scss.cjs.js +1 -1
  38. package/dist/cjs/Form/Select/SingleSelect/Select.module.scss.cjs.js +1 -1
  39. package/dist/cjs/Form/Select/useAddNewBtn.module.scss.cjs.js +1 -1
  40. package/dist/cjs/Form/Textarea/Textarea.module.scss.cjs.js +1 -1
  41. package/dist/cjs/Form/Toggle/Toggle.module.scss.cjs.js +1 -1
  42. package/dist/cjs/Form/Wrapper/CheckboxWrapper/CheckboxWrapper.module.scss.cjs.js +1 -1
  43. package/dist/cjs/Form/Wrapper/InputWrapper/InputWrapper.module.scss.cjs.js +1 -1
  44. package/dist/cjs/Form/Wrapper/MultiSelectWrapper/MultiSelectWrapper.module.scss.cjs.js +1 -1
  45. package/dist/cjs/Form/Wrapper/RadioWrapper/RadioWrapper.module.scss.cjs.js +1 -1
  46. package/dist/cjs/Form/Wrapper/SelectWrapper/SelectWrapper.module.scss.cjs.js +1 -1
  47. package/dist/cjs/Form/Wrapper/TextareaWrapper/TextareaWrapper.module.scss.cjs.js +1 -1
  48. package/dist/cjs/Form/Wrapper/Wrapper/Wrapper.module.scss.cjs.js +1 -1
  49. package/dist/cjs/Icon/Icon.cjs.js +1 -1
  50. package/dist/cjs/Icon/Icon.cjs.js.map +1 -1
  51. package/dist/cjs/Icon/Icon.module.scss.cjs.js +1 -1
  52. package/dist/cjs/Layout/ContentHeader/ContentHeader.cjs.js +1 -1
  53. package/dist/cjs/Layout/ContentHeader/ContentHeader.cjs.js.map +1 -1
  54. package/dist/cjs/Layout/ContentHeader/ContentHeader.module.scss.cjs.js +1 -1
  55. package/dist/cjs/Layout/FormPage/FormWithStepper/FormSection/FormSection.module.scss.cjs.js +1 -1
  56. package/dist/cjs/Layout/FormPage/FormWithStepper/FormStepper/FormStepper.module.scss.cjs.js +1 -1
  57. package/dist/cjs/Layout/FormPage/FormWithStepper/FormWithStepper.module.scss.cjs.js +1 -1
  58. package/dist/cjs/Link/Link.module.scss.cjs.js +1 -1
  59. package/dist/cjs/Notifications/Alert/AlertContainer/AlertContainer.module.scss.cjs.js +1 -1
  60. package/dist/cjs/Notifications/Alert/AlertItem/AlertItem.module.scss.cjs.js +1 -1
  61. package/dist/cjs/Notifications/Banner/Banner.module.scss.cjs.js +1 -1
  62. package/dist/cjs/Notifications/BaseModal/BaseModal.module.scss.cjs.js +1 -1
  63. package/dist/cjs/Notifications/BaseModal/BaseModalActions/BaseModalActions.module.scss.cjs.js +1 -1
  64. package/dist/cjs/Notifications/BaseModal/BaseModalContent/BaseModalContent.module.scss.cjs.js +1 -1
  65. package/dist/cjs/Notifications/BaseModal/BaseModalHeader/BaseModalHeader.module.scss.cjs.js +1 -1
  66. package/dist/cjs/Notifications/Dialog/Dialog.module.scss.cjs.js +1 -1
  67. package/dist/cjs/Notifications/Dialog/DialogActions/DialogActions.module.scss.cjs.js +1 -1
  68. package/dist/cjs/Notifications/Dialog/DialogTitle/DialogTitle.module.scss.cjs.js +1 -1
  69. package/dist/cjs/Notifications/SideSheet/SideSheet.module.scss.cjs.js +1 -1
  70. package/dist/cjs/Notifications/SideSheet/SideSheetContent/SideSheetContent.module.scss.cjs.js +1 -1
  71. package/dist/cjs/Notifications/SideSheet/SideSheetHeader/SideSheetHeader.module.scss.cjs.js +1 -1
  72. package/dist/cjs/Notifications/SlideInModal/SlideInModal.module.scss.cjs.js +1 -1
  73. package/dist/cjs/Pagination/Pagination.module.scss.cjs.js +1 -1
  74. package/dist/cjs/Popover/Popover.module.scss.cjs.js +1 -1
  75. package/dist/cjs/ProgressBar/ProgressBar.module.scss.cjs.js +1 -1
  76. package/dist/cjs/Skeleton/Skeleton.module.scss.cjs.js +1 -1
  77. package/dist/cjs/Spinner/Spinner.module.scss.cjs.js +1 -1
  78. package/dist/cjs/Stepper/Step.module.scss.cjs.js +1 -1
  79. package/dist/cjs/Stepper/Stepper.module.scss.cjs.js +1 -1
  80. package/dist/cjs/Tabs/Tab.module.scss.cjs.js +1 -1
  81. package/dist/cjs/Tabs/TabButton.module.scss.cjs.js +1 -1
  82. package/dist/cjs/Tabs/Tabs.module.scss.cjs.js +1 -1
  83. package/dist/cjs/Tag/RemoveButton.module.scss.cjs.js +1 -1
  84. package/dist/cjs/Tag/Tag.module.scss.cjs.js +1 -1
  85. package/dist/cjs/TextEllipsis/TextEllipsis.module.scss.cjs.js +1 -1
  86. package/dist/cjs/Tiles/Tile.module.scss.cjs.js +1 -1
  87. package/dist/cjs/Tiles/Tiles.module.scss.cjs.js +1 -1
  88. package/dist/cjs/Tooltip/Tooltip.module.scss.cjs.js +1 -1
  89. package/dist/cjs/Typography/Typography.module.scss.cjs.js +1 -1
  90. package/dist/cjs/_BaseStyling_/BaseStyling.cjs.js +1 -1
  91. package/dist/cjs/_BaseStyling_/BaseStyling.cjs.js.map +1 -1
  92. package/dist/cjs/admin/layout/LeftNav/LeftNav.cjs.js +2 -0
  93. package/dist/cjs/admin/layout/LeftNav/LeftNav.cjs.js.map +1 -0
  94. package/dist/cjs/admin/layout/LeftNav/LeftNav.module.scss.cjs.js +2 -0
  95. package/dist/cjs/admin/layout/LeftNav/LeftNav.module.scss.cjs.js.map +1 -0
  96. package/dist/cjs/admin/layout/LeftNav/LeftNavItem/ButtonLeftNavItem.cjs.js +2 -0
  97. package/dist/cjs/admin/layout/LeftNav/LeftNavItem/ButtonLeftNavItem.cjs.js.map +1 -0
  98. package/dist/cjs/admin/layout/LeftNav/LeftNavItem/LeftNavItem.cjs.js +2 -0
  99. package/dist/cjs/admin/layout/LeftNav/LeftNavItem/LeftNavItem.cjs.js.map +1 -0
  100. package/dist/cjs/admin/layout/LeftNav/LeftNavItem/LeftNavItem.module.scss.cjs.js +2 -0
  101. package/dist/cjs/admin/layout/LeftNav/LeftNavItem/LeftNavItem.module.scss.cjs.js.map +1 -0
  102. package/dist/cjs/admin/layout/LeftNav/LeftNavItem/LinkLeftNavItem.cjs.js +2 -0
  103. package/dist/cjs/admin/layout/LeftNav/LeftNavItem/LinkLeftNavItem.cjs.js.map +1 -0
  104. package/dist/cjs/admin/layout/LeftNav/LeftNavItem/useKeyboardNavigation.cjs.js +2 -0
  105. package/dist/cjs/admin/layout/LeftNav/LeftNavItem/useKeyboardNavigation.cjs.js.map +1 -0
  106. package/dist/cjs/admin/layout/LeftNav/useRefItems.cjs.js +2 -0
  107. package/dist/cjs/admin/layout/LeftNav/useRefItems.cjs.js.map +1 -0
  108. package/dist/cjs/admin/layout/MicrofrontendContainer/MicrofrontendContainer.module.scss.cjs.js +1 -1
  109. package/dist/cjs/miscellaneous/IdentityProviderButton.module.scss.cjs.js +1 -1
  110. package/dist/cjs/node_modules/@remix-run/router/dist/router.cjs.js +12 -0
  111. package/dist/cjs/node_modules/@remix-run/router/dist/router.cjs.js.map +1 -0
  112. package/dist/cjs/node_modules/react-router/dist/index.cjs.js +12 -0
  113. package/dist/cjs/node_modules/react-router/dist/index.cjs.js.map +1 -0
  114. package/dist/cjs/node_modules/react-router-dom/dist/index.cjs.js +12 -0
  115. package/dist/cjs/node_modules/react-router-dom/dist/index.cjs.js.map +1 -0
  116. package/dist/cjs/src/components/Icon/Icon.d.ts +1 -0
  117. package/dist/cjs/src/components/Layout/ContentHeader/ContentHeader.d.ts +16 -2
  118. package/dist/cjs/src/components/_BaseStyling_/BaseStyling.d.ts +2 -0
  119. package/dist/cjs/src/components/admin/layout/LeftNav/LeftNav.d.ts +10 -0
  120. package/dist/cjs/src/components/admin/layout/LeftNav/LeftNav.interfaces.d.ts +13 -0
  121. package/dist/cjs/src/components/admin/layout/LeftNav/LeftNav.test.d.ts +1 -0
  122. package/dist/cjs/src/components/admin/layout/LeftNav/LeftNavItem/ButtonLeftNavItem.d.ts +13 -0
  123. package/dist/cjs/src/components/admin/layout/LeftNav/LeftNavItem/LeftNavItem.d.ts +3 -0
  124. package/dist/cjs/src/components/admin/layout/LeftNav/LeftNavItem/LeftNavItem.interface.d.ts +10 -0
  125. package/dist/cjs/src/components/admin/layout/LeftNav/LeftNavItem/LeftNavItem.test.d.ts +1 -0
  126. package/dist/cjs/src/components/admin/layout/LeftNav/LeftNavItem/LinkLeftNavItem.d.ts +10 -0
  127. package/dist/cjs/src/components/admin/layout/LeftNav/LeftNavItem/useKeyboardNavigation.d.ts +12 -0
  128. package/dist/cjs/src/components/admin/layout/LeftNav/useRefItems.d.ts +22 -0
  129. package/dist/cjs/src/components/admin/layout/LeftNav/useRefItems.test.d.ts +1 -0
  130. package/dist/cjs/src/index.cjs.js +1 -1
  131. package/dist/cjs/src/index.d.ts +2 -0
  132. package/dist/cjs/src/readyclasses.module.scss.cjs.js +1 -1
  133. package/dist/esm/Breadcrumbs/Breadcrumbs.esm.js +9 -9
  134. package/dist/esm/Breadcrumbs/Breadcrumbs.esm.js.map +1 -1
  135. package/dist/esm/Breadcrumbs/Breadcrumbs.module.scss.esm.js +2 -2
  136. package/dist/esm/Button/BaseButton.esm.js +5 -5
  137. package/dist/esm/Button/BaseButton.esm.js.map +1 -1
  138. package/dist/esm/Button/BaseButton.module.scss.esm.js +2 -2
  139. package/dist/esm/Button/Button.esm.js +6 -6
  140. package/dist/esm/Button/Button.esm.js.map +1 -1
  141. package/dist/esm/Button/Button.module.scss.esm.js +2 -2
  142. package/dist/esm/Button/IconButton.esm.js +6 -9
  143. package/dist/esm/Button/IconButton.esm.js.map +1 -1
  144. package/dist/esm/Button/IconButton.module.scss.esm.js +2 -2
  145. package/dist/esm/Button/Spinner.esm.js +3 -3
  146. package/dist/esm/Button/Spinner.esm.js.map +1 -1
  147. package/dist/esm/ContextMenu/ContextMenu.esm.js +10 -10
  148. package/dist/esm/ContextMenu/ContextMenu.esm.js.map +1 -1
  149. package/dist/esm/ContextMenu/ContextMenu.module.scss.esm.js +2 -2
  150. package/dist/esm/ContextMenu/ContextMenuItem.esm.js +4 -4
  151. package/dist/esm/ContextMenu/ContextMenuItem.esm.js.map +1 -1
  152. package/dist/esm/ContextMenu/ContextMenuItem.module.scss.esm.js +2 -2
  153. package/dist/esm/DataGrid/DataGrid.esm.js +11 -11
  154. package/dist/esm/DataGrid/DataGrid.esm.js.map +1 -1
  155. package/dist/esm/DataGrid/DataGrid.module.scss.esm.js +2 -2
  156. package/dist/esm/DataGrid/DataGridActions/DataGridActions.esm.js +14 -14
  157. package/dist/esm/DataGrid/DataGridActions/DataGridActions.esm.js.map +1 -1
  158. package/dist/esm/DataGrid/DataGridActions/DataGridActions.module.scss.esm.js +2 -2
  159. package/dist/esm/DataGrid/DataGridActions/DataGridColumnsToggle.esm.js +11 -11
  160. package/dist/esm/DataGrid/DataGridActions/DataGridColumnsToggle.esm.js.map +1 -1
  161. package/dist/esm/DataGrid/DataGridActions/DataGridColumnsToggle.module.scss.esm.js +2 -2
  162. package/dist/esm/DataGrid/DataGridBody/DataGridBody.esm.js +10 -10
  163. package/dist/esm/DataGrid/DataGridBody/DataGridBody.esm.js.map +1 -1
  164. package/dist/esm/DataGrid/DataGridBody/DataGridBody.module.scss.esm.js +2 -2
  165. package/dist/esm/DataGrid/DataGridBody/DataGridCell/DataGridCell.esm.js +10 -10
  166. package/dist/esm/DataGrid/DataGridBody/DataGridCell/DataGridCell.esm.js.map +1 -1
  167. package/dist/esm/DataGrid/DataGridBody/DataGridCell/DataGridCell.module.scss.esm.js +2 -2
  168. package/dist/esm/DataGrid/DataGridBody/DataGridDrawer/DataGridDrawer.esm.js +4 -4
  169. package/dist/esm/DataGrid/DataGridBody/DataGridDrawer/DataGridDrawer.esm.js.map +1 -1
  170. package/dist/esm/DataGrid/DataGridBody/DataGridDrawer/DataGridDrawer.module.scss.esm.js +2 -2
  171. package/dist/esm/DataGrid/DataGridBody/DataGridDrawer/DataGridDrawerItem.esm.js +6 -6
  172. package/dist/esm/DataGrid/DataGridBody/DataGridDrawer/DataGridDrawerItem.esm.js.map +1 -1
  173. package/dist/esm/DataGrid/DataGridBody/DataGridDrawer/DataGridDrawerItem.module.scss.esm.js +2 -2
  174. package/dist/esm/DataGrid/DataGridBody/DataGridRow/DataGridRow.esm.js +15 -15
  175. package/dist/esm/DataGrid/DataGridBody/DataGridRow/DataGridRow.esm.js.map +1 -1
  176. package/dist/esm/DataGrid/DataGridBody/DataGridRow/DataGridRow.module.scss.esm.js +2 -2
  177. package/dist/esm/DataGrid/DataGridBody/DataGridRow/useNestedRow.esm.js +4 -4
  178. package/dist/esm/DataGrid/DataGridBody/DataGridRow/useNestedRow.esm.js.map +1 -1
  179. package/dist/esm/DataGrid/DataGridFilters/DataGridDateFilter.esm.js +4 -4
  180. package/dist/esm/DataGrid/DataGridFilters/DataGridDateFilter.esm.js.map +1 -1
  181. package/dist/esm/DataGrid/DataGridFilters/DataGridFilter.esm.js +4 -4
  182. package/dist/esm/DataGrid/DataGridFilters/DataGridFilter.esm.js.map +1 -1
  183. package/dist/esm/DataGrid/DataGridFilters/DataGridFilter.module.scss.esm.js +2 -2
  184. package/dist/esm/DataGrid/DataGridFilters/DataGridFilterPopover.esm.js +12 -12
  185. package/dist/esm/DataGrid/DataGridFilters/DataGridFilterPopover.esm.js.map +1 -1
  186. package/dist/esm/DataGrid/DataGridFilters/DataGridFilterTag.esm.js +17 -17
  187. package/dist/esm/DataGrid/DataGridFilters/DataGridFilterTag.esm.js.map +1 -1
  188. package/dist/esm/DataGrid/DataGridFilters/DataGridSearchbar.esm.js +3 -3
  189. package/dist/esm/DataGrid/DataGridFilters/DataGridSearchbar.esm.js.map +1 -1
  190. package/dist/esm/DataGrid/DataGridFilters/DataGridToolbar.esm.js +8 -8
  191. package/dist/esm/DataGrid/DataGridFilters/DataGridToolbar.esm.js.map +1 -1
  192. package/dist/esm/DataGrid/DataGridFilters/DataGridToolbar.module.scss.esm.js +2 -2
  193. package/dist/esm/DataGrid/DataGridFilters/DataGridToolbarWrapper.esm.js +5 -5
  194. package/dist/esm/DataGrid/DataGridFilters/DataGridToolbarWrapper.esm.js.map +1 -1
  195. package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.esm.js +13 -13
  196. package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.esm.js.map +1 -1
  197. package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.module.scss.esm.js +2 -2
  198. package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerCalendarSection.esm.js +8 -8
  199. package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerCalendarSection.esm.js.map +1 -1
  200. package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerInputSection.esm.js +4 -4
  201. package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerInputSection.esm.js.map +1 -1
  202. package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/SideMenu.esm.js +3 -3
  203. package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/SideMenu.esm.js.map +1 -1
  204. package/dist/esm/DataGrid/DataGridHeader/DataGridHeader.esm.js +7 -7
  205. package/dist/esm/DataGrid/DataGridHeader/DataGridHeader.esm.js.map +1 -1
  206. package/dist/esm/DataGrid/DataGridHeader/DataGridHeader.module.scss.esm.js +2 -2
  207. package/dist/esm/DataGrid/DataGridHeader/DataGridHeaderCell.esm.js +7 -7
  208. package/dist/esm/DataGrid/DataGridHeader/DataGridHeaderCell.esm.js.map +1 -1
  209. package/dist/esm/DataGrid/DataGridHeader/DataGridHeaderCell.module.scss.esm.js +2 -2
  210. package/dist/esm/DatePicker/DatePicker.esm.js +2 -2
  211. package/dist/esm/DatePicker/DatePicker.esm.js.map +1 -1
  212. package/dist/esm/DatePicker/DatePicker.module.scss.esm.js +2 -2
  213. package/dist/esm/Form/Checkbox/Checkbox.esm.js +12 -12
  214. package/dist/esm/Form/Checkbox/Checkbox.esm.js.map +1 -1
  215. package/dist/esm/Form/Checkbox/Checkbox.module.scss.esm.js +2 -2
  216. package/dist/esm/Form/Fieldset/Fieldset.esm.js +7 -7
  217. package/dist/esm/Form/Fieldset/Fieldset.esm.js.map +1 -1
  218. package/dist/esm/Form/Fieldset/Fieldset.module.scss.esm.js +2 -2
  219. package/dist/esm/Form/FileUpload/FileItem/FileItem.esm.js +17 -17
  220. package/dist/esm/Form/FileUpload/FileItem/FileItem.esm.js.map +1 -1
  221. package/dist/esm/Form/FileUpload/FileItem/FileItem.module.scss.esm.js +2 -2
  222. package/dist/esm/Form/FileUpload/FileUpload.esm.js +17 -17
  223. package/dist/esm/Form/FileUpload/FileUpload.esm.js.map +1 -1
  224. package/dist/esm/Form/FileUpload/FileUpload.module.scss.esm.js +2 -2
  225. package/dist/esm/Form/Form.esm.js +3 -3
  226. package/dist/esm/Form/Form.esm.js.map +1 -1
  227. package/dist/esm/Form/Form.module.scss.esm.js +2 -2
  228. package/dist/esm/Form/FormControl/FormControl.esm.js +6 -6
  229. package/dist/esm/Form/FormControl/FormControl.esm.js.map +1 -1
  230. package/dist/esm/Form/FormControl/FormControl.module.scss.esm.js +2 -2
  231. package/dist/esm/Form/FormGroup/FormGroup.esm.js +9 -9
  232. package/dist/esm/Form/FormGroup/FormGroup.esm.js.map +1 -1
  233. package/dist/esm/Form/FormGroup/FormGroup.module.scss.esm.js +2 -2
  234. package/dist/esm/Form/FormHelperText/FormHelperText.esm.js +3 -3
  235. package/dist/esm/Form/FormHelperText/FormHelperText.esm.js.map +1 -1
  236. package/dist/esm/Form/FormHelperText/FormHelperText.module.scss.esm.js +2 -2
  237. package/dist/esm/Form/FormSelectorWrapper/FormSelectorWrapper.esm.js +5 -5
  238. package/dist/esm/Form/FormSelectorWrapper/FormSelectorWrapper.esm.js.map +1 -1
  239. package/dist/esm/Form/FormSelectorWrapper/FormSelectorWrapper.module.scss.esm.js +2 -2
  240. package/dist/esm/Form/Input/Input.esm.js +8 -8
  241. package/dist/esm/Form/Input/Input.esm.js.map +1 -1
  242. package/dist/esm/Form/Input/Input.module.scss.esm.js +2 -2
  243. package/dist/esm/Form/Label/Label.esm.js +3 -3
  244. package/dist/esm/Form/Label/Label.esm.js.map +1 -1
  245. package/dist/esm/Form/Label/Label.module.scss.esm.js +2 -2
  246. package/dist/esm/Form/Radio/Radio.esm.js +7 -7
  247. package/dist/esm/Form/Radio/Radio.esm.js.map +1 -1
  248. package/dist/esm/Form/Radio/Radio.module.scss.esm.js +2 -2
  249. package/dist/esm/Form/Select/MultiSelect/MultiOption.esm.js +3 -3
  250. package/dist/esm/Form/Select/MultiSelect/MultiOption.esm.js.map +1 -1
  251. package/dist/esm/Form/Select/MultiSelect/MultiSelect.esm.js +24 -24
  252. package/dist/esm/Form/Select/MultiSelect/MultiSelect.esm.js.map +1 -1
  253. package/dist/esm/Form/Select/MultiSelect/MultiSelect.module.scss.esm.js +2 -2
  254. package/dist/esm/Form/Select/MultiSelect/SelectButton.esm.js +3 -3
  255. package/dist/esm/Form/Select/MultiSelect/SelectButton.esm.js.map +1 -1
  256. package/dist/esm/Form/Select/MultiSelect/SelectButton.module.scss.esm.js +2 -2
  257. package/dist/esm/Form/Select/MultiSelect/SelectedOptions.esm.js +3 -3
  258. package/dist/esm/Form/Select/MultiSelect/SelectedOptions.esm.js.map +1 -1
  259. package/dist/esm/Form/Select/MultiSelect/SelectedOptions.module.scss.esm.js +2 -2
  260. package/dist/esm/Form/Select/MultiSelect/useMultiSelect.esm.js +2 -2
  261. package/dist/esm/Form/Select/MultiSelect/useMultiSelect.esm.js.map +1 -1
  262. package/dist/esm/Form/Select/MultiSelect/useSearch.esm.js +2 -2
  263. package/dist/esm/Form/Select/MultiSelect/useSearch.esm.js.map +1 -1
  264. package/dist/esm/Form/Select/SingleSelect/Option.esm.js +3 -3
  265. package/dist/esm/Form/Select/SingleSelect/Option.esm.js.map +1 -1
  266. package/dist/esm/Form/Select/SingleSelect/Select.esm.js +22 -22
  267. package/dist/esm/Form/Select/SingleSelect/Select.esm.js.map +1 -1
  268. package/dist/esm/Form/Select/SingleSelect/Select.module.scss.esm.js +2 -2
  269. package/dist/esm/Form/Select/SingleSelect/useSearch.esm.js +2 -2
  270. package/dist/esm/Form/Select/SingleSelect/useSearch.esm.js.map +1 -1
  271. package/dist/esm/Form/Select/useAddNewBtn.esm.js +3 -3
  272. package/dist/esm/Form/Select/useAddNewBtn.esm.js.map +1 -1
  273. package/dist/esm/Form/Select/useAddNewBtn.module.scss.esm.js +2 -2
  274. package/dist/esm/Form/Textarea/Textarea.esm.js +6 -6
  275. package/dist/esm/Form/Textarea/Textarea.esm.js.map +1 -1
  276. package/dist/esm/Form/Textarea/Textarea.module.scss.esm.js +2 -2
  277. package/dist/esm/Form/Toggle/Toggle.esm.js +5 -5
  278. package/dist/esm/Form/Toggle/Toggle.esm.js.map +1 -1
  279. package/dist/esm/Form/Toggle/Toggle.module.scss.esm.js +2 -2
  280. package/dist/esm/Form/Wrapper/CheckboxWrapper/CheckboxWrapper.esm.js +5 -5
  281. package/dist/esm/Form/Wrapper/CheckboxWrapper/CheckboxWrapper.esm.js.map +1 -1
  282. package/dist/esm/Form/Wrapper/CheckboxWrapper/CheckboxWrapper.module.scss.esm.js +2 -2
  283. package/dist/esm/Form/Wrapper/InputWrapper/InputWrapper.esm.js +4 -4
  284. package/dist/esm/Form/Wrapper/InputWrapper/InputWrapper.esm.js.map +1 -1
  285. package/dist/esm/Form/Wrapper/InputWrapper/InputWrapper.module.scss.esm.js +2 -2
  286. package/dist/esm/Form/Wrapper/MultiSelectWrapper/MultiSelectWrapper.esm.js +4 -4
  287. package/dist/esm/Form/Wrapper/MultiSelectWrapper/MultiSelectWrapper.esm.js.map +1 -1
  288. package/dist/esm/Form/Wrapper/MultiSelectWrapper/MultiSelectWrapper.module.scss.esm.js +2 -2
  289. package/dist/esm/Form/Wrapper/RadioWrapper/RadioWrapper.esm.js +6 -6
  290. package/dist/esm/Form/Wrapper/RadioWrapper/RadioWrapper.esm.js.map +1 -1
  291. package/dist/esm/Form/Wrapper/RadioWrapper/RadioWrapper.module.scss.esm.js +2 -2
  292. package/dist/esm/Form/Wrapper/SelectWrapper/SelectWrapper.esm.js +4 -4
  293. package/dist/esm/Form/Wrapper/SelectWrapper/SelectWrapper.esm.js.map +1 -1
  294. package/dist/esm/Form/Wrapper/SelectWrapper/SelectWrapper.module.scss.esm.js +2 -2
  295. package/dist/esm/Form/Wrapper/TextareaWrapper/TextareaWrapper.esm.js +5 -5
  296. package/dist/esm/Form/Wrapper/TextareaWrapper/TextareaWrapper.esm.js.map +1 -1
  297. package/dist/esm/Form/Wrapper/TextareaWrapper/TextareaWrapper.module.scss.esm.js +2 -2
  298. package/dist/esm/Form/Wrapper/Wrapper/Wrapper.esm.js +7 -7
  299. package/dist/esm/Form/Wrapper/Wrapper/Wrapper.esm.js.map +1 -1
  300. package/dist/esm/Form/Wrapper/Wrapper/Wrapper.module.scss.esm.js +2 -2
  301. package/dist/esm/Icon/Icon.esm.js +4 -3
  302. package/dist/esm/Icon/Icon.esm.js.map +1 -1
  303. package/dist/esm/Icon/Icon.module.scss.esm.js +2 -2
  304. package/dist/esm/Layout/ContentHeader/ContentHeader.esm.js +37 -9
  305. package/dist/esm/Layout/ContentHeader/ContentHeader.esm.js.map +1 -1
  306. package/dist/esm/Layout/ContentHeader/ContentHeader.module.scss.esm.js +2 -2
  307. package/dist/esm/Layout/FormPage/FormWithStepper/FormSection/FormSection.esm.js +6 -6
  308. package/dist/esm/Layout/FormPage/FormWithStepper/FormSection/FormSection.esm.js.map +1 -1
  309. package/dist/esm/Layout/FormPage/FormWithStepper/FormSection/FormSection.module.scss.esm.js +2 -2
  310. package/dist/esm/Layout/FormPage/FormWithStepper/FormStepper/FormStepper.esm.js +3 -3
  311. package/dist/esm/Layout/FormPage/FormWithStepper/FormStepper/FormStepper.esm.js.map +1 -1
  312. package/dist/esm/Layout/FormPage/FormWithStepper/FormStepper/FormStepper.module.scss.esm.js +2 -2
  313. package/dist/esm/Layout/FormPage/FormWithStepper/FormWithStepper.esm.js +3 -3
  314. package/dist/esm/Layout/FormPage/FormWithStepper/FormWithStepper.esm.js.map +1 -1
  315. package/dist/esm/Layout/FormPage/FormWithStepper/FormWithStepper.module.scss.esm.js +2 -2
  316. package/dist/esm/Link/Link.esm.js +5 -5
  317. package/dist/esm/Link/Link.esm.js.map +1 -1
  318. package/dist/esm/Link/Link.module.scss.esm.js +2 -2
  319. package/dist/esm/Notifications/Alert/AlertContainer/AlertContainer.esm.js +2 -2
  320. package/dist/esm/Notifications/Alert/AlertContainer/AlertContainer.esm.js.map +1 -1
  321. package/dist/esm/Notifications/Alert/AlertContainer/AlertContainer.module.scss.esm.js +2 -2
  322. package/dist/esm/Notifications/Alert/AlertItem/AlertItem.esm.js +11 -11
  323. package/dist/esm/Notifications/Alert/AlertItem/AlertItem.esm.js.map +1 -1
  324. package/dist/esm/Notifications/Alert/AlertItem/AlertItem.module.scss.esm.js +2 -2
  325. package/dist/esm/Notifications/Alert/AlertProvider/AlertProvider.esm.js +4 -4
  326. package/dist/esm/Notifications/Alert/AlertProvider/AlertProvider.esm.js.map +1 -1
  327. package/dist/esm/Notifications/Banner/Banner.esm.js +7 -7
  328. package/dist/esm/Notifications/Banner/Banner.esm.js.map +1 -1
  329. package/dist/esm/Notifications/Banner/Banner.module.scss.esm.js +2 -2
  330. package/dist/esm/Notifications/BaseModal/BaseModal.esm.js +8 -8
  331. package/dist/esm/Notifications/BaseModal/BaseModal.esm.js.map +1 -1
  332. package/dist/esm/Notifications/BaseModal/BaseModal.module.scss.esm.js +2 -2
  333. package/dist/esm/Notifications/BaseModal/BaseModalActions/BaseModalActions.esm.js +7 -7
  334. package/dist/esm/Notifications/BaseModal/BaseModalActions/BaseModalActions.esm.js.map +1 -1
  335. package/dist/esm/Notifications/BaseModal/BaseModalActions/BaseModalActions.module.scss.esm.js +2 -2
  336. package/dist/esm/Notifications/BaseModal/BaseModalContent/BaseModalContent.esm.js +3 -3
  337. package/dist/esm/Notifications/BaseModal/BaseModalContent/BaseModalContent.esm.js.map +1 -1
  338. package/dist/esm/Notifications/BaseModal/BaseModalContent/BaseModalContent.module.scss.esm.js +2 -2
  339. package/dist/esm/Notifications/BaseModal/BaseModalHeader/BaseModalHeader.esm.js +9 -9
  340. package/dist/esm/Notifications/BaseModal/BaseModalHeader/BaseModalHeader.esm.js.map +1 -1
  341. package/dist/esm/Notifications/BaseModal/BaseModalHeader/BaseModalHeader.module.scss.esm.js +2 -2
  342. package/dist/esm/Notifications/Dialog/Dialog.esm.js +9 -9
  343. package/dist/esm/Notifications/Dialog/Dialog.esm.js.map +1 -1
  344. package/dist/esm/Notifications/Dialog/Dialog.module.scss.esm.js +2 -2
  345. package/dist/esm/Notifications/Dialog/DialogActions/DialogActions.esm.js +3 -3
  346. package/dist/esm/Notifications/Dialog/DialogActions/DialogActions.esm.js.map +1 -1
  347. package/dist/esm/Notifications/Dialog/DialogActions/DialogActions.module.scss.esm.js +2 -2
  348. package/dist/esm/Notifications/Dialog/DialogTitle/DialogTitle.esm.js +10 -10
  349. package/dist/esm/Notifications/Dialog/DialogTitle/DialogTitle.esm.js.map +1 -1
  350. package/dist/esm/Notifications/Dialog/DialogTitle/DialogTitle.module.scss.esm.js +2 -2
  351. package/dist/esm/Notifications/DiscardChangesModal/DiscardChangesDialog/DiscardChangesDialog.esm.js +4 -4
  352. package/dist/esm/Notifications/DiscardChangesModal/DiscardChangesDialog/DiscardChangesDialog.esm.js.map +1 -1
  353. package/dist/esm/Notifications/DiscardChangesModal/DiscardChangesModal.esm.js +5 -5
  354. package/dist/esm/Notifications/DiscardChangesModal/DiscardChangesModal.esm.js.map +1 -1
  355. package/dist/esm/Notifications/NotificationProvider/NotificationContext.esm.js +3 -3
  356. package/dist/esm/Notifications/NotificationProvider/NotificationContext.esm.js.map +1 -1
  357. package/dist/esm/Notifications/SideSheet/SideSheet.esm.js +11 -11
  358. package/dist/esm/Notifications/SideSheet/SideSheet.esm.js.map +1 -1
  359. package/dist/esm/Notifications/SideSheet/SideSheet.module.scss.esm.js +2 -2
  360. package/dist/esm/Notifications/SideSheet/SideSheetContent/SideSheetContent.esm.js +2 -2
  361. package/dist/esm/Notifications/SideSheet/SideSheetContent/SideSheetContent.esm.js.map +1 -1
  362. package/dist/esm/Notifications/SideSheet/SideSheetContent/SideSheetContent.module.scss.esm.js +2 -2
  363. package/dist/esm/Notifications/SideSheet/SideSheetHeader/SideSheetHeader.esm.js +2 -2
  364. package/dist/esm/Notifications/SideSheet/SideSheetHeader/SideSheetHeader.esm.js.map +1 -1
  365. package/dist/esm/Notifications/SideSheet/SideSheetHeader/SideSheetHeader.module.scss.esm.js +2 -2
  366. package/dist/esm/Notifications/SlideInModal/SlideInModal.esm.js +3 -3
  367. package/dist/esm/Notifications/SlideInModal/SlideInModal.esm.js.map +1 -1
  368. package/dist/esm/Notifications/SlideInModal/SlideInModal.module.scss.esm.js +2 -2
  369. package/dist/esm/Pagination/Pagination.esm.js +29 -29
  370. package/dist/esm/Pagination/Pagination.esm.js.map +1 -1
  371. package/dist/esm/Pagination/Pagination.module.scss.esm.js +2 -2
  372. package/dist/esm/Popover/Popover.esm.js +4 -4
  373. package/dist/esm/Popover/Popover.esm.js.map +1 -1
  374. package/dist/esm/Popover/Popover.module.scss.esm.js +2 -2
  375. package/dist/esm/ProgressBar/ProgressBar.esm.js +10 -10
  376. package/dist/esm/ProgressBar/ProgressBar.esm.js.map +1 -1
  377. package/dist/esm/ProgressBar/ProgressBar.module.scss.esm.js +2 -2
  378. package/dist/esm/Skeleton/Skeleton.esm.js +3 -3
  379. package/dist/esm/Skeleton/Skeleton.esm.js.map +1 -1
  380. package/dist/esm/Skeleton/Skeleton.module.scss.esm.js +2 -2
  381. package/dist/esm/Spinner/Spinner.esm.js +4 -4
  382. package/dist/esm/Spinner/Spinner.esm.js.map +1 -1
  383. package/dist/esm/Spinner/Spinner.module.scss.esm.js +2 -2
  384. package/dist/esm/Stepper/Step.esm.js +10 -10
  385. package/dist/esm/Stepper/Step.esm.js.map +1 -1
  386. package/dist/esm/Stepper/Step.module.scss.esm.js +2 -2
  387. package/dist/esm/Stepper/Stepper.esm.js +2 -2
  388. package/dist/esm/Stepper/Stepper.esm.js.map +1 -1
  389. package/dist/esm/Stepper/Stepper.module.scss.esm.js +2 -2
  390. package/dist/esm/Tabs/Tab.esm.js +2 -2
  391. package/dist/esm/Tabs/Tab.esm.js.map +1 -1
  392. package/dist/esm/Tabs/Tab.module.scss.esm.js +2 -2
  393. package/dist/esm/Tabs/TabButton.esm.js +4 -4
  394. package/dist/esm/Tabs/TabButton.esm.js.map +1 -1
  395. package/dist/esm/Tabs/TabButton.module.scss.esm.js +2 -2
  396. package/dist/esm/Tabs/Tabs.esm.js +10 -10
  397. package/dist/esm/Tabs/Tabs.esm.js.map +1 -1
  398. package/dist/esm/Tabs/Tabs.module.scss.esm.js +2 -2
  399. package/dist/esm/Tag/RemoveButton.esm.js +4 -4
  400. package/dist/esm/Tag/RemoveButton.esm.js.map +1 -1
  401. package/dist/esm/Tag/RemoveButton.module.scss.esm.js +2 -2
  402. package/dist/esm/Tag/Tag.esm.js +7 -7
  403. package/dist/esm/Tag/Tag.esm.js.map +1 -1
  404. package/dist/esm/Tag/Tag.module.scss.esm.js +2 -2
  405. package/dist/esm/TextEllipsis/TextEllipsis.esm.js +4 -4
  406. package/dist/esm/TextEllipsis/TextEllipsis.esm.js.map +1 -1
  407. package/dist/esm/TextEllipsis/TextEllipsis.module.scss.esm.js +2 -2
  408. package/dist/esm/Tiles/Tile.esm.js +11 -11
  409. package/dist/esm/Tiles/Tile.esm.js.map +1 -1
  410. package/dist/esm/Tiles/Tile.module.scss.esm.js +2 -2
  411. package/dist/esm/Tiles/Tiles.esm.js +6 -6
  412. package/dist/esm/Tiles/Tiles.esm.js.map +1 -1
  413. package/dist/esm/Tiles/Tiles.module.scss.esm.js +2 -2
  414. package/dist/esm/Tooltip/Tooltip.esm.js +10 -10
  415. package/dist/esm/Tooltip/Tooltip.esm.js.map +1 -1
  416. package/dist/esm/Tooltip/Tooltip.module.scss.esm.js +2 -2
  417. package/dist/esm/Typography/Typography.esm.js +3 -3
  418. package/dist/esm/Typography/Typography.esm.js.map +1 -1
  419. package/dist/esm/Typography/Typography.module.scss.esm.js +2 -2
  420. package/dist/esm/_BaseStyling_/BaseStyling.esm.js +4 -2
  421. package/dist/esm/_BaseStyling_/BaseStyling.esm.js.map +1 -1
  422. package/dist/esm/admin/layout/LeftNav/LeftNav.esm.js +41 -0
  423. package/dist/esm/admin/layout/LeftNav/LeftNav.esm.js.map +1 -0
  424. package/dist/esm/admin/layout/LeftNav/LeftNav.module.scss.esm.js +8 -0
  425. package/dist/esm/admin/layout/LeftNav/LeftNav.module.scss.esm.js.map +1 -0
  426. package/dist/esm/admin/layout/LeftNav/LeftNavItem/ButtonLeftNavItem.esm.js +74 -0
  427. package/dist/esm/admin/layout/LeftNav/LeftNavItem/ButtonLeftNavItem.esm.js.map +1 -0
  428. package/dist/esm/admin/layout/LeftNav/LeftNavItem/LeftNavItem.esm.js +28 -0
  429. package/dist/esm/admin/layout/LeftNav/LeftNavItem/LeftNavItem.esm.js.map +1 -0
  430. package/dist/esm/admin/layout/LeftNav/LeftNavItem/LeftNavItem.module.scss.esm.js +8 -0
  431. package/dist/esm/admin/layout/LeftNav/LeftNavItem/LeftNavItem.module.scss.esm.js.map +1 -0
  432. package/dist/esm/admin/layout/LeftNav/LeftNavItem/LinkLeftNavItem.esm.js +59 -0
  433. package/dist/esm/admin/layout/LeftNav/LeftNavItem/LinkLeftNavItem.esm.js.map +1 -0
  434. package/dist/esm/admin/layout/LeftNav/LeftNavItem/useKeyboardNavigation.esm.js +56 -0
  435. package/dist/esm/admin/layout/LeftNav/LeftNavItem/useKeyboardNavigation.esm.js.map +1 -0
  436. package/dist/esm/admin/layout/LeftNav/useRefItems.esm.js +236 -0
  437. package/dist/esm/admin/layout/LeftNav/useRefItems.esm.js.map +1 -0
  438. package/dist/esm/admin/layout/MicrofrontendContainer/MicrofrontendContainer.esm.js +4 -4
  439. package/dist/esm/admin/layout/MicrofrontendContainer/MicrofrontendContainer.esm.js.map +1 -1
  440. package/dist/esm/admin/layout/MicrofrontendContainer/MicrofrontendContainer.module.scss.esm.js +2 -2
  441. package/dist/esm/miscellaneous/IdentityProviderButton.esm.js +4 -4
  442. package/dist/esm/miscellaneous/IdentityProviderButton.esm.js.map +1 -1
  443. package/dist/esm/miscellaneous/IdentityProviderButton.module.scss.esm.js +2 -2
  444. package/dist/esm/node_modules/@remix-run/router/dist/router.esm.js +373 -0
  445. package/dist/esm/node_modules/@remix-run/router/dist/router.esm.js.map +1 -0
  446. package/dist/esm/node_modules/react-router/dist/index.esm.js +328 -0
  447. package/dist/esm/node_modules/react-router/dist/index.esm.js.map +1 -0
  448. package/dist/esm/node_modules/react-router-dom/dist/index.esm.js +609 -0
  449. package/dist/esm/node_modules/react-router-dom/dist/index.esm.js.map +1 -0
  450. package/dist/esm/src/components/Icon/Icon.d.ts +1 -0
  451. package/dist/esm/src/components/Layout/ContentHeader/ContentHeader.d.ts +16 -2
  452. package/dist/esm/src/components/_BaseStyling_/BaseStyling.d.ts +2 -0
  453. package/dist/esm/src/components/admin/layout/LeftNav/LeftNav.d.ts +10 -0
  454. package/dist/esm/src/components/admin/layout/LeftNav/LeftNav.interfaces.d.ts +13 -0
  455. package/dist/esm/src/components/admin/layout/LeftNav/LeftNav.test.d.ts +1 -0
  456. package/dist/esm/src/components/admin/layout/LeftNav/LeftNavItem/ButtonLeftNavItem.d.ts +13 -0
  457. package/dist/esm/src/components/admin/layout/LeftNav/LeftNavItem/LeftNavItem.d.ts +3 -0
  458. package/dist/esm/src/components/admin/layout/LeftNav/LeftNavItem/LeftNavItem.interface.d.ts +10 -0
  459. package/dist/esm/src/components/admin/layout/LeftNav/LeftNavItem/LeftNavItem.test.d.ts +1 -0
  460. package/dist/esm/src/components/admin/layout/LeftNav/LeftNavItem/LinkLeftNavItem.d.ts +10 -0
  461. package/dist/esm/src/components/admin/layout/LeftNav/LeftNavItem/useKeyboardNavigation.d.ts +12 -0
  462. package/dist/esm/src/components/admin/layout/LeftNav/useRefItems.d.ts +22 -0
  463. package/dist/esm/src/components/admin/layout/LeftNav/useRefItems.test.d.ts +1 -0
  464. package/dist/esm/src/hooks/useDebouncedCallback.esm.js +3 -3
  465. package/dist/esm/src/hooks/useDebouncedCallback.esm.js.map +1 -1
  466. package/dist/esm/src/hooks/useDetermineStatusIcon.esm.js +3 -3
  467. package/dist/esm/src/hooks/useDetermineStatusIcon.esm.js.map +1 -1
  468. package/dist/esm/src/hooks/useRepeater.esm.js +2 -2
  469. package/dist/esm/src/hooks/useRepeater.esm.js.map +1 -1
  470. package/dist/esm/src/index.d.ts +2 -0
  471. package/dist/esm/src/index.esm.js +1 -0
  472. package/dist/esm/src/index.esm.js.map +1 -1
  473. package/dist/esm/src/readyclasses.module.scss.esm.js +2 -2
  474. package/dist/esm/withReadOnly.esm.js +3 -3
  475. package/dist/esm/withReadOnly.esm.js.map +1 -1
  476. package/package.json +2 -1
  477. package/src/components/Button/IconButton.tsx +9 -5
  478. package/src/components/Icon/Icon.module.scss +4 -0
  479. package/src/components/Icon/Icon.tsx +1 -0
  480. package/src/components/Layout/ContentHeader/ContentHeader.module.scss +52 -0
  481. package/src/components/Layout/ContentHeader/ContentHeader.tsx +82 -6
  482. package/src/components/_BaseStyling_/BaseStyling.tsx +4 -0
  483. package/src/components/admin/layout/LeftNav/LeftNav.interfaces.ts +30 -0
  484. package/src/components/admin/layout/LeftNav/LeftNav.module.scss +52 -0
  485. package/src/components/admin/layout/LeftNav/LeftNav.tsx +81 -0
  486. package/src/components/admin/layout/LeftNav/LeftNavItem/ButtonLeftNavItem.tsx +153 -0
  487. package/src/components/admin/layout/LeftNav/LeftNavItem/LeftNavItem.interface.ts +27 -0
  488. package/src/components/admin/layout/LeftNav/LeftNavItem/LeftNavItem.module.scss +217 -0
  489. package/src/components/admin/layout/LeftNav/LeftNavItem/LeftNavItem.tsx +34 -0
  490. package/src/components/admin/layout/LeftNav/LeftNavItem/LinkLeftNavItem.tsx +105 -0
  491. package/src/components/admin/layout/LeftNav/LeftNavItem/useKeyboardNavigation.ts +64 -0
  492. package/src/components/admin/layout/LeftNav/useRefItems.ts +280 -0
  493. package/src/font/icomoon.eot +0 -0
  494. package/src/font/icomoon.svg +1 -0
  495. package/src/font/icomoon.ttf +0 -0
  496. package/src/font/icomoon.woff +0 -0
  497. package/src/font/selection.json +1 -1
  498. package/src/index.ts +2 -0
  499. package/src/mixins.module.scss +33 -0
  500. package/src/variables.scss +11 -0
@@ -0,0 +1,74 @@
1
+ import React__default, { useState, useEffect } from 'react';
2
+ import classes from './LeftNavItem.module.scss.esm.js';
3
+ import { Link } from '../../../../node_modules/react-router-dom/dist/index.esm.js';
4
+ import { Icon, Icons } from '../../../../Icon/Icon.esm.js';
5
+ import { useKeyboardNavigation } from './useKeyboardNavigation.esm.js';
6
+
7
+ /*
8
+ * Copyright 2022 OneWelcome B.V.
9
+ *
10
+ * Licensed under the Apache License, Version 2.0 (the "License");
11
+ * you may not use this file except in compliance with the License.
12
+ * You may obtain a copy of the License at
13
+ *
14
+ * http://www.apache.org/licenses/LICENSE-2.0
15
+ *
16
+ * Unless required by applicable law or agreed to in writing, software
17
+ * distributed under the License is distributed on an "AS IS" BASIS,
18
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19
+ * See the License for the specific language governing permissions and
20
+ * limitations under the License.
21
+ */
22
+ const chevronIconDataKey = { attributeKey: "chevron-icon", objectKey: "chevronIcon" };
23
+ const ButtonLeftNavItemComponent = ({ item, navigate, onItemClick, refItems, NestedComponent, closeParentList }, ref) => {
24
+ var _a, _b;
25
+ const [expanded, setExpanded] = useState(false);
26
+ const isActiveParent = !!((_a = item.items) === null || _a === void 0 ? void 0 : _a.find(menuItem => menuItem.active));
27
+ const { onKeyPressNavigation } = useKeyboardNavigation({ refItems, item, closeParentList });
28
+ const onButtonClickHandler = (event) => {
29
+ const isChevronIcon = !!event.target.dataset[chevronIconDataKey.objectKey];
30
+ if (!isChevronIcon && item.path && !item.disabled) {
31
+ event.preventDefault();
32
+ navigate(item.path);
33
+ onItemClick(item.path, true);
34
+ }
35
+ };
36
+ const onExpandIconClickHandler = () => {
37
+ setExpanded(expanded => !expanded);
38
+ };
39
+ const openParentWithActiveElement = () => {
40
+ if (isActiveParent) {
41
+ setExpanded(true);
42
+ }
43
+ };
44
+ useEffect(openParentWithActiveElement, [isActiveParent]);
45
+ const getStylingClasses = () => {
46
+ const buttonClasses = [classes["menu-item"], classes["menu-button"]];
47
+ expanded && buttonClasses.push(classes["expanded"]);
48
+ (item.active || isActiveParent) && buttonClasses.push(classes["menu-item-active"]);
49
+ item.disabled && buttonClasses.push(classes["disabled"]);
50
+ const buttonWrapperClasses = [classes["menu-button-wrapper"], classes["menu-list-item"]];
51
+ expanded && buttonWrapperClasses.push(classes["expanded"]);
52
+ item.active && buttonWrapperClasses.push(classes["menu-item-active"]);
53
+ return {
54
+ buttonClasses,
55
+ buttonWrapperClasses
56
+ };
57
+ };
58
+ const { buttonClasses, buttonWrapperClasses } = getStylingClasses();
59
+ const tabIndexActive = item.active ? 0 : -1;
60
+ const tabIndex = item.disabled ? -1 : tabIndexActive;
61
+ return (React__default.createElement("li", { className: buttonWrapperClasses.join(" "), "data-testid": item.key },
62
+ React__default.createElement("button", { "aria-controls": item.key, "data-testid": `tab-btn-${item.key}`, "aria-expanded": expanded, ref: ref, onKeyDown: onKeyPressNavigation, onClick: onButtonClickHandler, className: buttonClasses.join(" "), disabled: item.disabled, tabIndex: tabIndex },
63
+ React__default.createElement("div", { className: classes["menu-item-text-wrapper"] },
64
+ item.iconComponent &&
65
+ React__default.cloneElement(item.iconComponent, { className: classes["menu-item-icon"] }),
66
+ item.path ? (React__default.createElement(Link, { to: item.path, "aria-current": item.active ? "page" : false, className: classes["menu-item-text"], tabIndex: -1 }, item.title)) : (React__default.createElement("span", { className: classes["menu-item-text"] }, item.title))),
67
+ React__default.createElement(Icon, { onClick: onExpandIconClickHandler, className: classes["menu-item-expand-icon"], icon: Icons.ChevronDown, [`data-${chevronIconDataKey.attributeKey}`]: "true" })),
68
+ React__default.createElement("ul", { id: item.key, style: { maxHeight: expanded ? undefined : 0 }, className: classes["menu-list"] }, !item.disabled &&
69
+ ((_b = item.items) === null || _b === void 0 ? void 0 : _b.map(item => (React__default.createElement(NestedComponent, { ref: el => refItems.addElementReference(el, item.key), key: item.key, closeParentList: () => setExpanded(false), onKeyUp: onKeyPressNavigation, item: item, navigate: navigate, onItemClick: onItemClick, refItems: refItems }, item.title)))))));
70
+ };
71
+ const ButtonLeftNavItem = React__default.forwardRef(ButtonLeftNavItemComponent);
72
+
73
+ export { ButtonLeftNavItem };
74
+ //# sourceMappingURL=ButtonLeftNavItem.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ButtonLeftNavItem.esm.js","sources":["../../../../../../../../src/components/admin/layout/LeftNav/LeftNavItem/ButtonLeftNavItem.tsx"],"sourcesContent":["/*\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React, {\n ForwardRefExoticComponent,\n ForwardRefRenderFunction,\n HTMLProps,\n MouseEvent,\n Ref,\n useEffect,\n useState\n} from \"react\";\nimport classes from \"./LeftNavItem.module.scss\";\nimport { Link as RouterLink } from \"react-router-dom\";\nimport { MenuItem } from \"../LeftNav.interfaces\";\nimport { Icon, Icons } from \"../../../../Icon/Icon\";\nimport { useKeyboardNavigation } from \"./useKeyboardNavigation\";\nimport { UseRefItemsReturnType } from \"../useRefItems\";\nimport { LeftNavItemProps } from \"./LeftNavItem.interface\";\n\nexport interface Props extends HTMLProps<HTMLElement> {\n item: MenuItem;\n navigate: (path: string) => void;\n onItemClick: (path?: string, button?: boolean) => void;\n refItems: UseRefItemsReturnType;\n NestedComponent: ForwardRefExoticComponent<LeftNavItemProps>;\n closeParentList?: () => void;\n}\n\nconst chevronIconDataKey = { attributeKey: \"chevron-icon\", objectKey: \"chevronIcon\" };\n\nconst ButtonLeftNavItemComponent: ForwardRefRenderFunction<HTMLElement, Props> = (\n { item, navigate, onItemClick, refItems, NestedComponent, closeParentList },\n ref\n) => {\n const [expanded, setExpanded] = useState(false);\n const isActiveParent = !!item.items?.find(menuItem => menuItem.active);\n const { onKeyPressNavigation } = useKeyboardNavigation({ refItems, item, closeParentList });\n\n const onButtonClickHandler = (event: MouseEvent<HTMLButtonElement>) => {\n const isChevronIcon = !!(event.target as HTMLElement).dataset[chevronIconDataKey.objectKey];\n if (!isChevronIcon && item.path && !item.disabled) {\n event.preventDefault();\n navigate(item.path);\n onItemClick(item.path, true);\n }\n };\n\n const onExpandIconClickHandler = () => {\n setExpanded(expanded => !expanded);\n };\n\n const openParentWithActiveElement = () => {\n if (isActiveParent) {\n setExpanded(true);\n }\n };\n\n useEffect(openParentWithActiveElement, [isActiveParent]);\n\n const getStylingClasses = () => {\n const buttonClasses = [classes[\"menu-item\"], classes[\"menu-button\"]];\n expanded && buttonClasses.push(classes[\"expanded\"]);\n (item.active || isActiveParent) && buttonClasses.push(classes[\"menu-item-active\"]);\n item.disabled && buttonClasses.push(classes[\"disabled\"]);\n const buttonWrapperClasses = [classes[\"menu-button-wrapper\"], classes[\"menu-list-item\"]];\n expanded && buttonWrapperClasses.push(classes[\"expanded\"]);\n item.active && buttonWrapperClasses.push(classes[\"menu-item-active\"]);\n return {\n buttonClasses,\n buttonWrapperClasses\n };\n };\n\n const { buttonClasses, buttonWrapperClasses } = getStylingClasses();\n const tabIndexActive = item.active ? 0 : -1;\n const tabIndex = item.disabled ? -1 : tabIndexActive;\n\n return (\n <li className={buttonWrapperClasses.join(\" \")} data-testid={item.key}>\n <button\n aria-controls={item.key}\n data-testid={`tab-btn-${item.key}`}\n aria-expanded={expanded}\n ref={ref as Ref<HTMLButtonElement>}\n onKeyDown={onKeyPressNavigation}\n onClick={onButtonClickHandler}\n className={buttonClasses.join(\" \")}\n disabled={item.disabled}\n tabIndex={tabIndex}\n >\n <div className={classes[\"menu-item-text-wrapper\"]}>\n {item.iconComponent &&\n React.cloneElement(item.iconComponent, { className: classes[\"menu-item-icon\"] })}\n {item.path ? (\n <RouterLink\n to={item.path}\n aria-current={item.active ? \"page\" : false}\n className={classes[\"menu-item-text\"]}\n tabIndex={-1}\n >\n {item.title}\n </RouterLink>\n ) : (\n <span className={classes[\"menu-item-text\"]}>{item.title}</span>\n )}\n </div>\n <Icon\n onClick={onExpandIconClickHandler}\n className={classes[\"menu-item-expand-icon\"]}\n icon={Icons.ChevronDown}\n {...{ [`data-${chevronIconDataKey.attributeKey}`]: \"true\" }}\n />\n </button>\n <ul\n id={item.key}\n style={{ maxHeight: expanded ? undefined : 0 }}\n className={classes[\"menu-list\"]}\n >\n {!item.disabled &&\n item.items?.map(item => (\n <NestedComponent\n ref={el => refItems.addElementReference(el, item.key)}\n key={item.key}\n closeParentList={() => setExpanded(false)}\n onKeyUp={onKeyPressNavigation}\n item={item}\n navigate={navigate}\n onItemClick={onItemClick}\n refItems={refItems}\n >\n {item.title}\n </NestedComponent>\n ))}\n </ul>\n </li>\n );\n};\n\nexport const ButtonLeftNavItem = React.forwardRef(ButtonLeftNavItemComponent);\n"],"names":["React","RouterLink"],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import React__default from 'react';
2
+ import { ButtonLeftNavItem } from './ButtonLeftNavItem.esm.js';
3
+ import { LinkLeftNavItem } from './LinkLeftNavItem.esm.js';
4
+
5
+ /*
6
+ * Copyright 2022 OneWelcome B.V.
7
+ *
8
+ * Licensed under the Apache License, Version 2.0 (the "License");
9
+ * you may not use this file except in compliance with the License.
10
+ * You may obtain a copy of the License at
11
+ *
12
+ * http://www.apache.org/licenses/LICENSE-2.0
13
+ *
14
+ * Unless required by applicable law or agreed to in writing, software
15
+ * distributed under the License is distributed on an "AS IS" BASIS,
16
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
+ * See the License for the specific language governing permissions and
18
+ * limitations under the License.
19
+ */
20
+ const LeftNavItemComponent = (props, ref) => {
21
+ var _a, _b;
22
+ const shouldBeButton = !!((_b = (_a = props.item.items) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0 >= 1);
23
+ return shouldBeButton ? (React__default.createElement(ButtonLeftNavItem, { ...props, ref: ref, NestedComponent: LeftNavItem })) : (React__default.createElement(LinkLeftNavItem, { ...props, ref: ref }));
24
+ };
25
+ const LeftNavItem = React__default.forwardRef(LeftNavItemComponent);
26
+
27
+ export { LeftNavItem };
28
+ //# sourceMappingURL=LeftNavItem.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LeftNavItem.esm.js","sources":["../../../../../../../../src/components/admin/layout/LeftNav/LeftNavItem/LeftNavItem.tsx"],"sourcesContent":["/*\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React, { ForwardRefRenderFunction } from \"react\";\nimport { ButtonLeftNavItem } from \"./ButtonLeftNavItem\";\nimport { LinkLeftNavItem } from \"./LinkLeftNavItem\";\nimport { LeftNavItemProps } from \"./LeftNavItem.interface\";\n\nconst LeftNavItemComponent: ForwardRefRenderFunction<HTMLElement, LeftNavItemProps> = (\n props,\n ref\n) => {\n const shouldBeButton = !!(props.item.items?.length ?? 0 >= 1);\n return shouldBeButton ? (\n <ButtonLeftNavItem {...props} ref={ref} NestedComponent={LeftNavItem} />\n ) : (\n <LinkLeftNavItem {...props} ref={ref} />\n );\n};\n\nexport const LeftNavItem = React.forwardRef(LeftNavItemComponent);\n"],"names":["React"],"mappings":";;;;AAAA;;;;;;;;;;;;;;AAcG;AAOH,MAAM,oBAAoB,GAA4D,CACpF,KAAK,EACL,GAAG,KACD;;AACF,IAAA,MAAM,cAAc,GAAG,CAAC,EAAE,CAAA,EAAA,GAAA,MAAA,KAAK,CAAC,IAAI,CAAC,KAAK,0CAAE,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9D,IAAA,OAAO,cAAc,IACnBA,cAAC,CAAA,aAAA,CAAA,iBAAiB,EAAK,EAAA,GAAA,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,eAAe,EAAE,WAAW,EAAA,CAAI,KAExEA,cAAC,CAAA,aAAA,CAAA,eAAe,EAAK,EAAA,GAAA,KAAK,EAAE,GAAG,EAAE,GAAG,EAAA,CAAI,CACzC,CAAC;AACJ,CAAC,CAAC;AAEW,MAAA,WAAW,GAAGA,cAAK,CAAC,UAAU,CAAC,oBAAoB;;;;"}
@@ -0,0 +1,8 @@
1
+ import styleInject from '../../../../node_modules/style-inject/dist/style-inject.es.esm.js';
2
+
3
+ var css_248z = ".LeftNavItem_menu-button_Pphm5{background-color:initial;border:0;font-family:var(--font-family)}.LeftNavItem_menu-button_Pphm5 a{color:inherit;text-decoration:inherit}.LeftNavItem_menu-button_Pphm5 a:active,.LeftNavItem_menu-button_Pphm5 a:focus,.LeftNavItem_menu-button_Pphm5 a:hover{color:inherit}.LeftNavItem_menu-link_Pphm5{text-decoration:none}.LeftNavItem_menu-button-wrapper_Pphm5>.LeftNavItem_menu-button_Pphm5+ul>.LeftNavItem_menu-button-wrapper_Pphm5,.LeftNavItem_menu-button-wrapper_Pphm5>.LeftNavItem_menu-button_Pphm5+ul>a{opacity:0;transform:translateY(-60px)}.LeftNavItem_menu-button-wrapper_Pphm5.LeftNavItem_expanded_Pphm5>.LeftNavItem_menu-button_Pphm5+ul>.LeftNavItem_menu-button-wrapper_Pphm5,.LeftNavItem_menu-button-wrapper_Pphm5.LeftNavItem_expanded_Pphm5>.LeftNavItem_menu-button_Pphm5+ul>li{animation-duration:.25s;animation-fill-mode:forwards;animation-name:LeftNavItem_item-fade-in_Pphm5;opacity:0}.LeftNavItem_menu-button-wrapper_Pphm5.LeftNavItem_expanded_Pphm5>.LeftNavItem_menu-button_Pphm5+ul>.LeftNavItem_menu-button-wrapper_Pphm5:first-child,.LeftNavItem_menu-button-wrapper_Pphm5.LeftNavItem_expanded_Pphm5>.LeftNavItem_menu-button_Pphm5+ul>li:first-child{animation-delay:0ms}.LeftNavItem_menu-button-wrapper_Pphm5.LeftNavItem_expanded_Pphm5>.LeftNavItem_menu-button_Pphm5+ul>.LeftNavItem_menu-button-wrapper_Pphm5:nth-child(2),.LeftNavItem_menu-button-wrapper_Pphm5.LeftNavItem_expanded_Pphm5>.LeftNavItem_menu-button_Pphm5+ul>li:nth-child(2){animation-delay:.1s}.LeftNavItem_menu-button-wrapper_Pphm5.LeftNavItem_expanded_Pphm5>.LeftNavItem_menu-button_Pphm5+ul>.LeftNavItem_menu-button-wrapper_Pphm5:nth-child(3),.LeftNavItem_menu-button-wrapper_Pphm5.LeftNavItem_expanded_Pphm5>.LeftNavItem_menu-button_Pphm5+ul>li:nth-child(3){animation-delay:.2s}.LeftNavItem_menu-button-wrapper_Pphm5.LeftNavItem_expanded_Pphm5>.LeftNavItem_menu-button_Pphm5+ul>.LeftNavItem_menu-button-wrapper_Pphm5:nth-child(4),.LeftNavItem_menu-button-wrapper_Pphm5.LeftNavItem_expanded_Pphm5>.LeftNavItem_menu-button_Pphm5+ul>li:nth-child(4){animation-delay:.3s}.LeftNavItem_menu-button-wrapper_Pphm5.LeftNavItem_expanded_Pphm5>.LeftNavItem_menu-button_Pphm5+ul>.LeftNavItem_menu-button-wrapper_Pphm5:nth-child(5),.LeftNavItem_menu-button-wrapper_Pphm5.LeftNavItem_expanded_Pphm5>.LeftNavItem_menu-button_Pphm5+ul>li:nth-child(5){animation-delay:.4s}.LeftNavItem_menu-button-wrapper_Pphm5.LeftNavItem_expanded_Pphm5>.LeftNavItem_menu-button_Pphm5+ul>.LeftNavItem_menu-button-wrapper_Pphm5:nth-child(6),.LeftNavItem_menu-button-wrapper_Pphm5.LeftNavItem_expanded_Pphm5>.LeftNavItem_menu-button_Pphm5+ul>li:nth-child(6){animation-delay:.5s}.LeftNavItem_menu-button-wrapper_Pphm5.LeftNavItem_expanded_Pphm5>.LeftNavItem_menu-button_Pphm5+ul>.LeftNavItem_menu-button-wrapper_Pphm5:nth-child(7),.LeftNavItem_menu-button-wrapper_Pphm5.LeftNavItem_expanded_Pphm5>.LeftNavItem_menu-button_Pphm5+ul>li:nth-child(7){animation-delay:.6s}.LeftNavItem_menu-button-wrapper_Pphm5.LeftNavItem_expanded_Pphm5>.LeftNavItem_menu-button_Pphm5+ul>.LeftNavItem_menu-button-wrapper_Pphm5:nth-child(8),.LeftNavItem_menu-button-wrapper_Pphm5.LeftNavItem_expanded_Pphm5>.LeftNavItem_menu-button_Pphm5+ul>li:nth-child(8){animation-delay:.7s}.LeftNavItem_menu-button-wrapper_Pphm5.LeftNavItem_expanded_Pphm5>.LeftNavItem_menu-button_Pphm5+ul>.LeftNavItem_menu-button-wrapper_Pphm5:nth-child(9),.LeftNavItem_menu-button-wrapper_Pphm5.LeftNavItem_expanded_Pphm5>.LeftNavItem_menu-button_Pphm5+ul>li:nth-child(9){animation-delay:.8s}.LeftNavItem_menu-button-wrapper_Pphm5.LeftNavItem_expanded_Pphm5>.LeftNavItem_menu-button_Pphm5+ul>.LeftNavItem_menu-button-wrapper_Pphm5:nth-child(10),.LeftNavItem_menu-button-wrapper_Pphm5.LeftNavItem_expanded_Pphm5>.LeftNavItem_menu-button_Pphm5+ul>li:nth-child(10){animation-delay:.9s}.LeftNavItem_menu-button-wrapper_Pphm5.LeftNavItem_expanded_Pphm5>.LeftNavItem_menu-button_Pphm5+ul>.LeftNavItem_menu-button-wrapper_Pphm5:nth-child(11),.LeftNavItem_menu-button-wrapper_Pphm5.LeftNavItem_expanded_Pphm5>.LeftNavItem_menu-button_Pphm5+ul>li:nth-child(11){animation-delay:1s}.LeftNavItem_menu-button-wrapper_Pphm5.LeftNavItem_expanded_Pphm5>.LeftNavItem_menu-button_Pphm5+ul>.LeftNavItem_menu-button-wrapper_Pphm5:nth-child(12),.LeftNavItem_menu-button-wrapper_Pphm5.LeftNavItem_expanded_Pphm5>.LeftNavItem_menu-button_Pphm5+ul>li:nth-child(12){animation-delay:1.1s}.LeftNavItem_menu-button-wrapper_Pphm5.LeftNavItem_expanded_Pphm5>.LeftNavItem_menu-button_Pphm5+ul>.LeftNavItem_menu-button-wrapper_Pphm5:nth-child(13),.LeftNavItem_menu-button-wrapper_Pphm5.LeftNavItem_expanded_Pphm5>.LeftNavItem_menu-button_Pphm5+ul>li:nth-child(13){animation-delay:1.2s}.LeftNavItem_menu-button-wrapper_Pphm5.LeftNavItem_expanded_Pphm5>.LeftNavItem_menu-button_Pphm5+ul>.LeftNavItem_menu-button-wrapper_Pphm5:nth-child(14),.LeftNavItem_menu-button-wrapper_Pphm5.LeftNavItem_expanded_Pphm5>.LeftNavItem_menu-button_Pphm5+ul>li:nth-child(14){animation-delay:1.3s}.LeftNavItem_menu-button-wrapper_Pphm5.LeftNavItem_expanded_Pphm5>.LeftNavItem_menu-button_Pphm5+ul>.LeftNavItem_menu-button-wrapper_Pphm5:nth-child(15),.LeftNavItem_menu-button-wrapper_Pphm5.LeftNavItem_expanded_Pphm5>.LeftNavItem_menu-button_Pphm5+ul>li:nth-child(15){animation-delay:1.4s}.LeftNavItem_menu-button-wrapper_Pphm5.LeftNavItem_expanded_Pphm5>.LeftNavItem_menu-button_Pphm5+ul>.LeftNavItem_menu-button-wrapper_Pphm5:nth-child(16),.LeftNavItem_menu-button-wrapper_Pphm5.LeftNavItem_expanded_Pphm5>.LeftNavItem_menu-button_Pphm5+ul>li:nth-child(16){animation-delay:1.5s}.LeftNavItem_menu-button-wrapper_Pphm5.LeftNavItem_expanded_Pphm5>.LeftNavItem_menu-button_Pphm5+ul>.LeftNavItem_menu-button-wrapper_Pphm5:nth-child(17),.LeftNavItem_menu-button-wrapper_Pphm5.LeftNavItem_expanded_Pphm5>.LeftNavItem_menu-button_Pphm5+ul>li:nth-child(17){animation-delay:1.6s}.LeftNavItem_menu-button-wrapper_Pphm5.LeftNavItem_expanded_Pphm5>.LeftNavItem_menu-button_Pphm5+ul>.LeftNavItem_menu-button-wrapper_Pphm5:nth-child(18),.LeftNavItem_menu-button-wrapper_Pphm5.LeftNavItem_expanded_Pphm5>.LeftNavItem_menu-button_Pphm5+ul>li:nth-child(18){animation-delay:1.7s}.LeftNavItem_menu-button-wrapper_Pphm5.LeftNavItem_expanded_Pphm5>.LeftNavItem_menu-button_Pphm5+ul>.LeftNavItem_menu-button-wrapper_Pphm5:nth-child(19),.LeftNavItem_menu-button-wrapper_Pphm5.LeftNavItem_expanded_Pphm5>.LeftNavItem_menu-button_Pphm5+ul>li:nth-child(19){animation-delay:1.8s}.LeftNavItem_menu-list_Pphm5{list-style:none;margin:0;max-height:100000px;overflow:hidden;padding:0;text-align:left;transition:max-height .15s ease-in-out}.LeftNavItem_menu-list_Pphm5 .LeftNavItem_menu-item-text-wrapper_Pphm5{padding-left:2rem}.LeftNavItem_menu-list_Pphm5 a:focus-visible,.LeftNavItem_menu-list_Pphm5 button:focus-visible{outline-offset:-.0625rem}.LeftNavItem_menu-item_Pphm5{align-items:center;box-sizing:border-box;color:var(--color-blue-grey900);cursor:pointer;display:flex;font-size:1rem;font-weight:400;justify-content:space-between;line-height:1.5rem;padding:1.125rem 1rem;transition:all .15s ease-in-out;width:100%}.LeftNavItem_menu-item_Pphm5:focus-visible{outline-offset:-.0625rem}.LeftNavItem_menu-item_Pphm5 .LeftNavItem_menu-item-text-wrapper_Pphm5{display:flex}.LeftNavItem_menu-item_Pphm5 .LeftNavItem_menu-item-expand-icon_Pphm5{margin:-.375rem;padding:.375rem}.LeftNavItem_menu-item_Pphm5 .LeftNavItem_menu-item-icon_Pphm5{align-items:center;display:flex;font-size:1.125rem;justify-content:center;margin-right:.5rem;width:1.5rem}.LeftNavItem_menu-item-text_Pphm5{align-items:center;display:flex}.LeftNavItem_menu-item-expand-icon_Pphm5{color:var(--color-blue-grey900);font-size:.75rem;transition:all .15s ease-in-out}.LeftNavItem_menu-item_Pphm5.LeftNavItem_expanded_Pphm5 .LeftNavItem_menu-item-expand-icon_Pphm5{transform:rotate(180deg)}.LeftNavItem_menu-item_Pphm5 a{color:inherit}.LeftNavItem_menu-item_Pphm5:hover{background-color:var(--color-blue-grey50)}.LeftNavItem_menu-item_Pphm5:active,.LeftNavItem_menu-item_Pphm5:focus{background-color:var(--color-blue-grey100);color:inherit}.LeftNavItem_menu-item_Pphm5.LeftNavItem_disabled_Pphm5{background-color:var(--color-blue-grey25);color:var(--color-blue-grey400);pointer-events:none}.LeftNavItem_menu-list-item_Pphm5{position:relative}.LeftNavItem_menu-list-item_Pphm5 .LeftNavItem_menu-item_Pphm5{padding:.75rem 1rem}.LeftNavItem_menu-list-item_Pphm5 a.LeftNavItem_menu-item-active_Pphm5{background-color:var(--color-primary50)}.LeftNavItem_menu-list-item_Pphm5 a.LeftNavItem_menu-item-active_Pphm5:hover{background-color:var(--color-blue-grey50)}.LeftNavItem_menu-list-item_Pphm5 a.LeftNavItem_menu-item-active_Pphm5:active,.LeftNavItem_menu-list-item_Pphm5 a.LeftNavItem_menu-item-active_Pphm5:focus{background-color:var(--color-blue-grey100)}.LeftNavItem_menu-list-item_Pphm5 a.LeftNavItem_menu-item-active_Pphm5:before{border-bottom-right-radius:.125rem;border-left:.25rem solid var(--color-primary500);border-top-right-radius:.125rem;content:\"\";height:100%;left:0;position:absolute;z-index:2}.LeftNavItem_menu-list-item_Pphm5 a.LeftNavItem_menu-item-active_Pphm5 .LeftNavItem_menu-item-text_Pphm5,.LeftNavItem_menu-list-item_Pphm5 button.LeftNavItem_menu-item-active_Pphm5 .LeftNavItem_menu-item-text_Pphm5{font-weight:700}@keyframes LeftNavItem_item-fade-in_Pphm5{0%{opacity:0;transform:translateY(-60px)}80%{opacity:.6}to{opacity:1;transform:translateY(0)}}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkxlZnROYXZJdGVtLm1vZHVsZS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWVBLCtCQUNFLHdCQUE2QixDQUM3QixRQUFTLENBQ1QsOEJBQ0YsQ0FDQSxpQ0FDRSxhQUFjLENBQ2QsdUJBQ0YsQ0FDQSxzSEFDRSxhQUNGLENBRUEsNkJBQ0Usb0JBQ0YsQ0FFQSwyTEFFRSxTQUFVLENBQ1YsMkJBQ0YsQ0FDQSxrUEFJRSx1QkFBeUIsQ0FDekIsNEJBQTZCLENBRjdCLDZDQUE0QixDQUQ1QixTQUlGLENBQ0EsMFFBRUUsbUJBQ0YsQ0FDQSw0UUFFRSxtQkFDRixDQUNBLDRRQUVFLG1CQUNGLENBQ0EsNFFBRUUsbUJBQ0YsQ0FDQSw0UUFFRSxtQkFDRixDQUNBLDRRQUVFLG1CQUNGLENBQ0EsNFFBRUUsbUJBQ0YsQ0FDQSw0UUFFRSxtQkFDRixDQUNBLDRRQUVFLG1CQUNGLENBQ0EsOFFBRUUsbUJBQ0YsQ0FDQSw4UUFFRSxrQkFDRixDQUNBLDhRQUVFLG9CQUNGLENBQ0EsOFFBRUUsb0JBQ0YsQ0FDQSw4UUFFRSxvQkFDRixDQUNBLDhRQUVFLG9CQUNGLENBQ0EsOFFBRUUsb0JBQ0YsQ0FDQSw4UUFFRSxvQkFDRixDQUNBLDhRQUVFLG9CQUNGLENBQ0EsOFFBRUUsb0JBQ0YsQ0FFQSw2QkFLRSxlQUFnQixDQUhoQixRQUFTLENBRVQsbUJBQW9CLENBRHBCLGVBQWdCLENBRmhCLFNBQVUsQ0FLVixlQUFnQixDQUNoQixzQ0FDRixDQUNBLHVFQUNFLGlCQUNGLENBQ0EsK0ZBRUUsd0JBQ0YsQ0FFQSw2QkFJRSxrQkFBbUIsQ0FIbkIscUJBQXNCLENBTXRCLCtCQUFnQyxDQUtoQyxjQUFlLENBVmYsWUFBYSxDQU9iLGNBQWUsQ0FDZixlQUFnQixDQUxoQiw2QkFBOEIsQ0FHOUIsa0JBQW1CLENBTG5CLHFCQUFzQixDQVF0QiwrQkFBaUMsQ0FMakMsVUFPRixDQUNBLDJDQUNFLHdCQUNGLENBQ0EsdUVBQ0UsWUFDRixDQUNBLHNFQUVFLGVBQWlCLENBRGpCLGVBRUYsQ0FDQSwrREFFRSxrQkFBbUIsQ0FEbkIsWUFBYSxDQUtiLGtCQUFtQixDQUhuQixzQkFBdUIsQ0FFdkIsa0JBQW9CLENBRHBCLFlBR0YsQ0FDQSxrQ0FFRSxrQkFBbUIsQ0FEbkIsWUFFRixDQUNBLHlDQUVFLCtCQUFnQyxDQURoQyxnQkFBa0IsQ0FFbEIsK0JBQ0YsQ0FDQSxpR0FDRSx3QkFDRixDQUNBLCtCQUNFLGFBQ0YsQ0FDQSxtQ0FDRSx5Q0FDRixDQUNBLHVFQUVFLDBDQUEyQyxDQUQzQyxhQUVGLENBQ0Esd0RBRUUseUNBQTBDLENBRDFDLCtCQUFnQyxDQUVoQyxtQkFDRixDQUVBLGtDQUNFLGlCQUNGLENBQ0EsK0RBQ0UsbUJBQ0YsQ0FDQSx1RUFDRSx1Q0FDRixDQUNBLDZFQUNFLHlDQUNGLENBQ0EsMkpBQ0UsMENBQ0YsQ0FDQSw4RUFPRSxrQ0FBb0MsQ0FDcEMsZ0RBQWtELENBRmxELCtCQUFpQyxDQUxqQyxVQUFXLENBQ1gsV0FBWSxDQUVaLE1BQU8sQ0FEUCxpQkFBa0IsQ0FFbEIsU0FJRixDQUlBLHVOQUNFLGVBQ0YsQ0FFQSwwQ0FDRSxHQUNFLFNBQVUsQ0FDViwyQkFDRixDQUNBLElBQ0UsVUFDRixDQUNBLEdBQ0UsU0FBVSxDQUNWLHVCQUNGLENBQ0YiLCJmaWxlIjoiTGVmdE5hdkl0ZW0ubW9kdWxlLnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMjIgT25lV2VsY29tZSBCLlYuXG4gKlxuICogICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqICAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqICAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiAgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiAgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqICAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4ubWVudS1idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xufVxuLm1lbnUtYnV0dG9uIGEge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xufVxuLm1lbnUtYnV0dG9uIGE6aG92ZXIsIC5tZW51LWJ1dHRvbiBhOmFjdGl2ZSwgLm1lbnUtYnV0dG9uIGE6Zm9jdXMge1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuLm1lbnUtbGluayB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLm1lbnUtYnV0dG9uLXdyYXBwZXIgPiAubWVudS1idXR0b24gKyB1bCA+IC5tZW51LWJ1dHRvbi13cmFwcGVyLFxuLm1lbnUtYnV0dG9uLXdyYXBwZXIgPiAubWVudS1idXR0b24gKyB1bCA+IGEge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTYwcHgpO1xufVxuLm1lbnUtYnV0dG9uLXdyYXBwZXIuZXhwYW5kZWQgPiAubWVudS1idXR0b24gKyB1bCA+IC5tZW51LWJ1dHRvbi13cmFwcGVyLFxuLm1lbnUtYnV0dG9uLXdyYXBwZXIuZXhwYW5kZWQgPiAubWVudS1idXR0b24gKyB1bCA+IGxpIHtcbiAgb3BhY2l0eTogMDtcbiAgYW5pbWF0aW9uLW5hbWU6IGl0ZW0tZmFkZS1pbjtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAyNTBtcztcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG59XG4ubWVudS1idXR0b24td3JhcHBlci5leHBhbmRlZCA+IC5tZW51LWJ1dHRvbiArIHVsID4gLm1lbnUtYnV0dG9uLXdyYXBwZXI6bnRoLWNoaWxkKDEpLFxuLm1lbnUtYnV0dG9uLXdyYXBwZXIuZXhwYW5kZWQgPiAubWVudS1idXR0b24gKyB1bCA+IGxpOm50aC1jaGlsZCgxKSB7XG4gIGFuaW1hdGlvbi1kZWxheTogMG1zO1xufVxuLm1lbnUtYnV0dG9uLXdyYXBwZXIuZXhwYW5kZWQgPiAubWVudS1idXR0b24gKyB1bCA+IC5tZW51LWJ1dHRvbi13cmFwcGVyOm50aC1jaGlsZCgyKSxcbi5tZW51LWJ1dHRvbi13cmFwcGVyLmV4cGFuZGVkID4gLm1lbnUtYnV0dG9uICsgdWwgPiBsaTpudGgtY2hpbGQoMikge1xuICBhbmltYXRpb24tZGVsYXk6IDEwMG1zO1xufVxuLm1lbnUtYnV0dG9uLXdyYXBwZXIuZXhwYW5kZWQgPiAubWVudS1idXR0b24gKyB1bCA+IC5tZW51LWJ1dHRvbi13cmFwcGVyOm50aC1jaGlsZCgzKSxcbi5tZW51LWJ1dHRvbi13cmFwcGVyLmV4cGFuZGVkID4gLm1lbnUtYnV0dG9uICsgdWwgPiBsaTpudGgtY2hpbGQoMykge1xuICBhbmltYXRpb24tZGVsYXk6IDIwMG1zO1xufVxuLm1lbnUtYnV0dG9uLXdyYXBwZXIuZXhwYW5kZWQgPiAubWVudS1idXR0b24gKyB1bCA+IC5tZW51LWJ1dHRvbi13cmFwcGVyOm50aC1jaGlsZCg0KSxcbi5tZW51LWJ1dHRvbi13cmFwcGVyLmV4cGFuZGVkID4gLm1lbnUtYnV0dG9uICsgdWwgPiBsaTpudGgtY2hpbGQoNCkge1xuICBhbmltYXRpb24tZGVsYXk6IDMwMG1zO1xufVxuLm1lbnUtYnV0dG9uLXdyYXBwZXIuZXhwYW5kZWQgPiAubWVudS1idXR0b24gKyB1bCA+IC5tZW51LWJ1dHRvbi13cmFwcGVyOm50aC1jaGlsZCg1KSxcbi5tZW51LWJ1dHRvbi13cmFwcGVyLmV4cGFuZGVkID4gLm1lbnUtYnV0dG9uICsgdWwgPiBsaTpudGgtY2hpbGQoNSkge1xuICBhbmltYXRpb24tZGVsYXk6IDQwMG1zO1xufVxuLm1lbnUtYnV0dG9uLXdyYXBwZXIuZXhwYW5kZWQgPiAubWVudS1idXR0b24gKyB1bCA+IC5tZW51LWJ1dHRvbi13cmFwcGVyOm50aC1jaGlsZCg2KSxcbi5tZW51LWJ1dHRvbi13cmFwcGVyLmV4cGFuZGVkID4gLm1lbnUtYnV0dG9uICsgdWwgPiBsaTpudGgtY2hpbGQoNikge1xuICBhbmltYXRpb24tZGVsYXk6IDUwMG1zO1xufVxuLm1lbnUtYnV0dG9uLXdyYXBwZXIuZXhwYW5kZWQgPiAubWVudS1idXR0b24gKyB1bCA+IC5tZW51LWJ1dHRvbi13cmFwcGVyOm50aC1jaGlsZCg3KSxcbi5tZW51LWJ1dHRvbi13cmFwcGVyLmV4cGFuZGVkID4gLm1lbnUtYnV0dG9uICsgdWwgPiBsaTpudGgtY2hpbGQoNykge1xuICBhbmltYXRpb24tZGVsYXk6IDYwMG1zO1xufVxuLm1lbnUtYnV0dG9uLXdyYXBwZXIuZXhwYW5kZWQgPiAubWVudS1idXR0b24gKyB1bCA+IC5tZW51LWJ1dHRvbi13cmFwcGVyOm50aC1jaGlsZCg4KSxcbi5tZW51LWJ1dHRvbi13cmFwcGVyLmV4cGFuZGVkID4gLm1lbnUtYnV0dG9uICsgdWwgPiBsaTpudGgtY2hpbGQoOCkge1xuICBhbmltYXRpb24tZGVsYXk6IDcwMG1zO1xufVxuLm1lbnUtYnV0dG9uLXdyYXBwZXIuZXhwYW5kZWQgPiAubWVudS1idXR0b24gKyB1bCA+IC5tZW51LWJ1dHRvbi13cmFwcGVyOm50aC1jaGlsZCg5KSxcbi5tZW51LWJ1dHRvbi13cmFwcGVyLmV4cGFuZGVkID4gLm1lbnUtYnV0dG9uICsgdWwgPiBsaTpudGgtY2hpbGQoOSkge1xuICBhbmltYXRpb24tZGVsYXk6IDgwMG1zO1xufVxuLm1lbnUtYnV0dG9uLXdyYXBwZXIuZXhwYW5kZWQgPiAubWVudS1idXR0b24gKyB1bCA+IC5tZW51LWJ1dHRvbi13cmFwcGVyOm50aC1jaGlsZCgxMCksXG4ubWVudS1idXR0b24td3JhcHBlci5leHBhbmRlZCA+IC5tZW51LWJ1dHRvbiArIHVsID4gbGk6bnRoLWNoaWxkKDEwKSB7XG4gIGFuaW1hdGlvbi1kZWxheTogOTAwbXM7XG59XG4ubWVudS1idXR0b24td3JhcHBlci5leHBhbmRlZCA+IC5tZW51LWJ1dHRvbiArIHVsID4gLm1lbnUtYnV0dG9uLXdyYXBwZXI6bnRoLWNoaWxkKDExKSxcbi5tZW51LWJ1dHRvbi13cmFwcGVyLmV4cGFuZGVkID4gLm1lbnUtYnV0dG9uICsgdWwgPiBsaTpudGgtY2hpbGQoMTEpIHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAxMDAwbXM7XG59XG4ubWVudS1idXR0b24td3JhcHBlci5leHBhbmRlZCA+IC5tZW51LWJ1dHRvbiArIHVsID4gLm1lbnUtYnV0dG9uLXdyYXBwZXI6bnRoLWNoaWxkKDEyKSxcbi5tZW51LWJ1dHRvbi13cmFwcGVyLmV4cGFuZGVkID4gLm1lbnUtYnV0dG9uICsgdWwgPiBsaTpudGgtY2hpbGQoMTIpIHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAxMTAwbXM7XG59XG4ubWVudS1idXR0b24td3JhcHBlci5leHBhbmRlZCA+IC5tZW51LWJ1dHRvbiArIHVsID4gLm1lbnUtYnV0dG9uLXdyYXBwZXI6bnRoLWNoaWxkKDEzKSxcbi5tZW51LWJ1dHRvbi13cmFwcGVyLmV4cGFuZGVkID4gLm1lbnUtYnV0dG9uICsgdWwgPiBsaTpudGgtY2hpbGQoMTMpIHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAxMjAwbXM7XG59XG4ubWVudS1idXR0b24td3JhcHBlci5leHBhbmRlZCA+IC5tZW51LWJ1dHRvbiArIHVsID4gLm1lbnUtYnV0dG9uLXdyYXBwZXI6bnRoLWNoaWxkKDE0KSxcbi5tZW51LWJ1dHRvbi13cmFwcGVyLmV4cGFuZGVkID4gLm1lbnUtYnV0dG9uICsgdWwgPiBsaTpudGgtY2hpbGQoMTQpIHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAxMzAwbXM7XG59XG4ubWVudS1idXR0b24td3JhcHBlci5leHBhbmRlZCA+IC5tZW51LWJ1dHRvbiArIHVsID4gLm1lbnUtYnV0dG9uLXdyYXBwZXI6bnRoLWNoaWxkKDE1KSxcbi5tZW51LWJ1dHRvbi13cmFwcGVyLmV4cGFuZGVkID4gLm1lbnUtYnV0dG9uICsgdWwgPiBsaTpudGgtY2hpbGQoMTUpIHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAxNDAwbXM7XG59XG4ubWVudS1idXR0b24td3JhcHBlci5leHBhbmRlZCA+IC5tZW51LWJ1dHRvbiArIHVsID4gLm1lbnUtYnV0dG9uLXdyYXBwZXI6bnRoLWNoaWxkKDE2KSxcbi5tZW51LWJ1dHRvbi13cmFwcGVyLmV4cGFuZGVkID4gLm1lbnUtYnV0dG9uICsgdWwgPiBsaTpudGgtY2hpbGQoMTYpIHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAxNTAwbXM7XG59XG4ubWVudS1idXR0b24td3JhcHBlci5leHBhbmRlZCA+IC5tZW51LWJ1dHRvbiArIHVsID4gLm1lbnUtYnV0dG9uLXdyYXBwZXI6bnRoLWNoaWxkKDE3KSxcbi5tZW51LWJ1dHRvbi13cmFwcGVyLmV4cGFuZGVkID4gLm1lbnUtYnV0dG9uICsgdWwgPiBsaTpudGgtY2hpbGQoMTcpIHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAxNjAwbXM7XG59XG4ubWVudS1idXR0b24td3JhcHBlci5leHBhbmRlZCA+IC5tZW51LWJ1dHRvbiArIHVsID4gLm1lbnUtYnV0dG9uLXdyYXBwZXI6bnRoLWNoaWxkKDE4KSxcbi5tZW51LWJ1dHRvbi13cmFwcGVyLmV4cGFuZGVkID4gLm1lbnUtYnV0dG9uICsgdWwgPiBsaTpudGgtY2hpbGQoMTgpIHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAxNzAwbXM7XG59XG4ubWVudS1idXR0b24td3JhcHBlci5leHBhbmRlZCA+IC5tZW51LWJ1dHRvbiArIHVsID4gLm1lbnUtYnV0dG9uLXdyYXBwZXI6bnRoLWNoaWxkKDE5KSxcbi5tZW51LWJ1dHRvbi13cmFwcGVyLmV4cGFuZGVkID4gLm1lbnUtYnV0dG9uICsgdWwgPiBsaTpudGgtY2hpbGQoMTkpIHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAxODAwbXM7XG59XG5cbi5tZW51LWxpc3Qge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1heC1oZWlnaHQ6IDEwMDAwMHB4OyAvKiBiZWNhdXNlIHRyYW5zaXRpb24gZG9lcyBub3Qgd29yayBvbiAnaGVpZ2h0OmF1dG8nLCB3ZSB1c2UgJ21heC1oZWlnaHQnIHdpdGggdmVyeSBsYXJnZSB2YWx1ZSB0byBqdXN0IHJ1biB0cmFuc2l0aW9uICovXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC4xNXMgZWFzZS1pbi1vdXQ7XG59XG4ubWVudS1saXN0IC5tZW51LWl0ZW0tdGV4dC13cmFwcGVyIHtcbiAgcGFkZGluZy1sZWZ0OiAycmVtO1xufVxuLm1lbnUtbGlzdCBhOmZvY3VzLXZpc2libGUsXG4ubWVudS1saXN0IGJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcbiAgb3V0bGluZS1vZmZzZXQ6IC0wLjA2MjVyZW07XG59XG5cbi5tZW51LWl0ZW0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiAxLjEyNXJlbSAxcmVtO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHdpZHRoOiAxMDAlO1xuICBjb2xvcjogdmFyKC0tY29sb3ItYmx1ZS1ncmV5OTAwKTtcbiAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZS1pbi1vdXQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5tZW51LWl0ZW06Zm9jdXMtdmlzaWJsZSB7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMC4wNjI1cmVtO1xufVxuLm1lbnUtaXRlbSAubWVudS1pdGVtLXRleHQtd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4ubWVudS1pdGVtIC5tZW51LWl0ZW0tZXhwYW5kLWljb24ge1xuICBwYWRkaW5nOiAwLjM3NXJlbTtcbiAgbWFyZ2luOiAtMC4zNzVyZW07XG59XG4ubWVudS1pdGVtIC5tZW51LWl0ZW0taWNvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMS41cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbn1cbi5tZW51LWl0ZW0tdGV4dCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4ubWVudS1pdGVtLWV4cGFuZC1pY29uIHtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBjb2xvcjogdmFyKC0tY29sb3ItYmx1ZS1ncmV5OTAwKTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2UtaW4tb3V0O1xufVxuLm1lbnUtaXRlbS5leHBhbmRlZCAubWVudS1pdGVtLWV4cGFuZC1pY29uIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbn1cbi5tZW51LWl0ZW0gYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuLm1lbnUtaXRlbTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJsdWUtZ3JleTUwKTtcbn1cbi5tZW51LWl0ZW06Zm9jdXMsIC5tZW51LWl0ZW06YWN0aXZlIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJsdWUtZ3JleTEwMCk7XG59XG4ubWVudS1pdGVtLmRpc2FibGVkIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWJsdWUtZ3JleTQwMCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJsdWUtZ3JleTI1KTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5tZW51LWxpc3QtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5tZW51LWxpc3QtaXRlbSAubWVudS1pdGVtIHtcbiAgcGFkZGluZzogMC43NXJlbSAxcmVtO1xufVxuLm1lbnUtbGlzdC1pdGVtIGEubWVudS1pdGVtLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnk1MCk7XG59XG4ubWVudS1saXN0LWl0ZW0gYS5tZW51LWl0ZW0tYWN0aXZlOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmx1ZS1ncmV5NTApO1xufVxuLm1lbnUtbGlzdC1pdGVtIGEubWVudS1pdGVtLWFjdGl2ZTpmb2N1cywgLm1lbnUtbGlzdC1pdGVtIGEubWVudS1pdGVtLWFjdGl2ZTphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ibHVlLWdyZXkxMDApO1xufVxuLm1lbnUtbGlzdC1pdGVtIGEubWVudS1pdGVtLWFjdGl2ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMjtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMTI1cmVtO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4xMjVyZW07XG4gIGJvcmRlci1sZWZ0OiAwLjI1cmVtIHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnk1MDApO1xufVxuLm1lbnUtbGlzdC1pdGVtIGEubWVudS1pdGVtLWFjdGl2ZSAubWVudS1pdGVtLXRleHQge1xuICBmb250LXdlaWdodDogNzAwO1xufVxuLm1lbnUtbGlzdC1pdGVtIGJ1dHRvbi5tZW51LWl0ZW0tYWN0aXZlIC5tZW51LWl0ZW0tdGV4dCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbkBrZXlmcmFtZXMgaXRlbS1mYWRlLWluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02MHB4KTtcbiAgfVxuICA4MCUge1xuICAgIG9wYWNpdHk6IDAuNjtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xuICB9XG59Il19 */";
4
+ var classes = {"menu-button":"LeftNavItem_menu-button_Pphm5","menu-link":"LeftNavItem_menu-link_Pphm5","menu-button-wrapper":"LeftNavItem_menu-button-wrapper_Pphm5","expanded":"LeftNavItem_expanded_Pphm5","item-fade-in":"LeftNavItem_item-fade-in_Pphm5","menu-list":"LeftNavItem_menu-list_Pphm5","menu-item-text-wrapper":"LeftNavItem_menu-item-text-wrapper_Pphm5","menu-item":"LeftNavItem_menu-item_Pphm5","menu-item-expand-icon":"LeftNavItem_menu-item-expand-icon_Pphm5","menu-item-icon":"LeftNavItem_menu-item-icon_Pphm5","menu-item-text":"LeftNavItem_menu-item-text_Pphm5","disabled":"LeftNavItem_disabled_Pphm5","menu-list-item":"LeftNavItem_menu-list-item_Pphm5","menu-item-active":"LeftNavItem_menu-item-active_Pphm5"};
5
+ styleInject(css_248z);
6
+
7
+ export { classes as default };
8
+ //# sourceMappingURL=LeftNavItem.module.scss.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LeftNavItem.module.scss.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -0,0 +1,59 @@
1
+ import React__default from 'react';
2
+ import classes from './LeftNavItem.module.scss.esm.js';
3
+ import { Link as Link$1 } from '../../../../node_modules/react-router-dom/dist/index.esm.js';
4
+ import { Link } from '../../../../Link/Link.esm.js';
5
+ import { useKeyboardNavigation } from './useKeyboardNavigation.esm.js';
6
+
7
+ /*
8
+ * Copyright 2022 OneWelcome B.V.
9
+ *
10
+ * Licensed under the Apache License, Version 2.0 (the "License");
11
+ * you may not use this file except in compliance with the License.
12
+ * You may obtain a copy of the License at
13
+ *
14
+ * http://www.apache.org/licenses/LICENSE-2.0
15
+ *
16
+ * Unless required by applicable law or agreed to in writing, software
17
+ * distributed under the License is distributed on an "AS IS" BASIS,
18
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19
+ * See the License for the specific language governing permissions and
20
+ * limitations under the License.
21
+ */
22
+ const LinkLeftNavItemComponent = ({ item, onItemClick, refItems, closeParentList }, ref) => {
23
+ var _a, _b, _c;
24
+ const { onKeyPressNavigation } = useKeyboardNavigation({ refItems, item, closeParentList });
25
+ const onLinkClickHandler = (event) => {
26
+ if (item.disabled) {
27
+ event.preventDefault();
28
+ }
29
+ else {
30
+ onItemClick(item.path);
31
+ }
32
+ };
33
+ const getStylingClasses = () => {
34
+ const menuItemLinkClasses = [classes["menu-item"], classes["menu-link"]];
35
+ item.active && menuItemLinkClasses.push(classes["menu-item-active"]);
36
+ item.disabled && menuItemLinkClasses.push(classes["disabled"]);
37
+ const menuLinkWrapperClasses = [classes["menu-list-item"]];
38
+ return {
39
+ menuItemLinkClasses,
40
+ menuLinkWrapperClasses
41
+ };
42
+ };
43
+ const { menuItemLinkClasses, menuLinkWrapperClasses } = getStylingClasses();
44
+ const tabIndexActive = item.active ? 0 : -1;
45
+ const tabIndex = item.disabled ? -1 : tabIndexActive;
46
+ return (React__default.createElement("li", { className: menuLinkWrapperClasses.join(" "), "data-testid": `${item.key}` }, ((_a = item.path) === null || _a === void 0 ? void 0 : _a.match(/^https?:\/\//)) ? (React__default.createElement(Link, { ref: ref, onKeyDown: onKeyPressNavigation, onClick: onLinkClickHandler, "data-testid": item.key, "aria-current": item.active ? "page" : false, "aria-disabled": item.disabled, className: menuItemLinkClasses.join(" "), to: (_b = item.path) !== null && _b !== void 0 ? _b : "", type: "external", disabled: item.disabled, tabIndex: tabIndex },
47
+ React__default.createElement("div", { className: classes["menu-item-text-wrapper"] },
48
+ item.iconComponent &&
49
+ React__default.cloneElement(item.iconComponent, { className: classes["menu-item-icon"] }),
50
+ React__default.createElement("span", { className: classes["menu-item-text"] }, item.title)))) : (React__default.createElement(Link$1, { ref: ref, onKeyDown: onKeyPressNavigation, onClick: onLinkClickHandler, "aria-current": item.active ? "page" : false, "aria-disabled": item.disabled, className: menuItemLinkClasses.join(" "), to: (_c = item.path) !== null && _c !== void 0 ? _c : "", tabIndex: tabIndex },
51
+ React__default.createElement("div", { className: classes["menu-item-text-wrapper"] },
52
+ item.iconComponent &&
53
+ React__default.cloneElement(item.iconComponent, { className: classes["menu-item-icon"] }),
54
+ React__default.createElement("span", { className: classes["menu-item-text"] }, item.title))))));
55
+ };
56
+ const LinkLeftNavItem = React__default.forwardRef(LinkLeftNavItemComponent);
57
+
58
+ export { LinkLeftNavItem };
59
+ //# sourceMappingURL=LinkLeftNavItem.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LinkLeftNavItem.esm.js","sources":["../../../../../../../../src/components/admin/layout/LeftNav/LeftNavItem/LinkLeftNavItem.tsx"],"sourcesContent":["/*\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React, { ForwardRefRenderFunction, HTMLProps, MouseEvent, Ref } from \"react\";\nimport classes from \"./LeftNavItem.module.scss\";\nimport { Link as RouterLink } from \"react-router-dom\";\nimport { MenuItem } from \"../LeftNav.interfaces\";\nimport { Link } from \"../../../../Link/Link\";\nimport { useKeyboardNavigation } from \"./useKeyboardNavigation\";\nimport { UseRefItemsReturnType } from \"../useRefItems\";\n\nexport interface Props extends HTMLProps<HTMLElement> {\n item: MenuItem;\n onItemClick: (path?: string, button?: boolean) => void;\n refItems: UseRefItemsReturnType;\n closeParentList?: () => void;\n}\n\nconst LinkLeftNavItemComponent: ForwardRefRenderFunction<HTMLElement, Props> = (\n { item, onItemClick, refItems, closeParentList },\n ref\n) => {\n const { onKeyPressNavigation } = useKeyboardNavigation({ refItems, item, closeParentList });\n\n const onLinkClickHandler = (event: MouseEvent<HTMLAnchorElement>) => {\n if (item.disabled) {\n event.preventDefault();\n } else {\n onItemClick(item.path);\n }\n };\n\n const getStylingClasses = () => {\n const menuItemLinkClasses = [classes[\"menu-item\"], classes[\"menu-link\"]];\n item.active && menuItemLinkClasses.push(classes[\"menu-item-active\"]);\n item.disabled && menuItemLinkClasses.push(classes[\"disabled\"]);\n const menuLinkWrapperClasses = [classes[\"menu-list-item\"]];\n return {\n menuItemLinkClasses,\n menuLinkWrapperClasses\n };\n };\n\n const { menuItemLinkClasses, menuLinkWrapperClasses } = getStylingClasses();\n const tabIndexActive = item.active ? 0 : -1;\n const tabIndex = item.disabled ? -1 : tabIndexActive;\n\n return (\n <li className={menuLinkWrapperClasses.join(\" \")} data-testid={`${item.key}`}>\n {item.path?.match(/^https?:\\/\\//) ? (\n <Link\n ref={ref as Ref<HTMLAnchorElement>}\n onKeyDown={onKeyPressNavigation}\n onClick={onLinkClickHandler}\n data-testid={item.key}\n aria-current={item.active ? \"page\" : false}\n aria-disabled={item.disabled}\n className={menuItemLinkClasses.join(\" \")}\n to={item.path ?? \"\"}\n type=\"external\"\n disabled={item.disabled}\n tabIndex={tabIndex}\n >\n <div className={classes[\"menu-item-text-wrapper\"]}>\n {item.iconComponent &&\n React.cloneElement(item.iconComponent, { className: classes[\"menu-item-icon\"] })}\n <span className={classes[\"menu-item-text\"]}>{item.title}</span>\n </div>\n </Link>\n ) : (\n <RouterLink\n ref={ref as Ref<HTMLAnchorElement>}\n onKeyDown={onKeyPressNavigation}\n onClick={onLinkClickHandler}\n aria-current={item.active ? \"page\" : false}\n aria-disabled={item.disabled}\n className={menuItemLinkClasses.join(\" \")}\n to={item.path ?? \"\"}\n tabIndex={tabIndex}\n >\n <div className={classes[\"menu-item-text-wrapper\"]}>\n {item.iconComponent &&\n React.cloneElement(item.iconComponent, { className: classes[\"menu-item-icon\"] })}\n <span className={classes[\"menu-item-text\"]}>{item.title}</span>\n </div>\n </RouterLink>\n )}\n </li>\n );\n};\n\nexport const LinkLeftNavItem = React.forwardRef(LinkLeftNavItemComponent);\n"],"names":["React","RouterLink"],"mappings":";;;;;;AAAA;;;;;;;;;;;;;;AAcG;AAiBH,MAAM,wBAAwB,GAAiD,CAC7E,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,eAAe,EAAE,EAChD,GAAG,KACD;;AACF,IAAA,MAAM,EAAE,oBAAoB,EAAE,GAAG,qBAAqB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;AAE5F,IAAA,MAAM,kBAAkB,GAAG,CAAC,KAAoC,KAAI;AAClE,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,KAAK,CAAC,cAAc,EAAE,CAAC;SACxB;aAAM;AACL,YAAA,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACxB;AACH,KAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,MAAK;AAC7B,QAAA,MAAM,mBAAmB,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;AACzE,QAAA,IAAI,CAAC,MAAM,IAAI,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC;AACrE,QAAA,IAAI,CAAC,QAAQ,IAAI,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;QAC/D,MAAM,sBAAsB,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC3D,OAAO;YACL,mBAAmB;YACnB,sBAAsB;SACvB,CAAC;AACJ,KAAC,CAAC;IAEF,MAAM,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,GAAG,iBAAiB,EAAE,CAAC;AAC5E,IAAA,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAC5C,IAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,cAAc,CAAC;IAErD,QACEA,qCAAI,SAAS,EAAE,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC,iBAAe,CAAG,EAAA,IAAI,CAAC,GAAG,CAAA,CAAE,IACxE,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,CAAC,cAAc,CAAC,KAC/BA,cAAA,CAAA,aAAA,CAAC,IAAI,EACH,EAAA,GAAG,EAAE,GAA6B,EAClC,SAAS,EAAE,oBAAoB,EAC/B,OAAO,EAAE,kBAAkB,EAAA,aAAA,EACd,IAAI,CAAC,GAAG,EACP,cAAA,EAAA,IAAI,CAAC,MAAM,GAAG,MAAM,GAAG,KAAK,EAC3B,eAAA,EAAA,IAAI,CAAC,QAAQ,EAC5B,SAAS,EAAE,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,EACxC,EAAE,EAAE,CAAA,EAAA,GAAA,IAAI,CAAC,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE,EACnB,IAAI,EAAC,UAAU,EACf,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,QAAQ,EAAA;AAElB,QAAAA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,OAAO,CAAC,wBAAwB,CAAC,EAAA;AAC9C,YAAA,IAAI,CAAC,aAAa;AACjB,gBAAAA,cAAK,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;AAClF,YAAAA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAAA,EAAG,IAAI,CAAC,KAAK,CAAQ,CAC3D,CACD,KAEPA,cAAC,CAAA,aAAA,CAAAC,MAAU,EACT,EAAA,GAAG,EAAE,GAA6B,EAClC,SAAS,EAAE,oBAAoB,EAC/B,OAAO,EAAE,kBAAkB,EACb,cAAA,EAAA,IAAI,CAAC,MAAM,GAAG,MAAM,GAAG,KAAK,EAAA,eAAA,EAC3B,IAAI,CAAC,QAAQ,EAC5B,SAAS,EAAE,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,EACxC,EAAE,EAAE,CAAA,EAAA,GAAA,IAAI,CAAC,IAAI,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,EAAE,EACnB,QAAQ,EAAE,QAAQ,EAAA;AAElB,QAAAD,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,OAAO,CAAC,wBAAwB,CAAC,EAAA;AAC9C,YAAA,IAAI,CAAC,aAAa;AACjB,gBAAAA,cAAK,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;AAClF,YAAAA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAAG,EAAA,IAAI,CAAC,KAAK,CAAQ,CAC3D,CACK,CACd,CACE,EACL;AACJ,CAAC,CAAC;AAEW,MAAA,eAAe,GAAGA,cAAK,CAAC,UAAU,CAAC,wBAAwB;;;;"}
@@ -0,0 +1,56 @@
1
+ /*
2
+ * Copyright 2022 OneWelcome B.V.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ const useKeyboardNavigation = ({ refItems, item, closeParentList }) => {
17
+ const onKeyPressNavigation = (e) => {
18
+ var _a, _b, _c, _d, _e, _f;
19
+ if (e.code === "Escape") {
20
+ e.preventDefault();
21
+ e.stopPropagation();
22
+ closeParentList === null || closeParentList === void 0 ? void 0 : closeParentList();
23
+ (_a = refItems.getParentElement(item.key)) === null || _a === void 0 ? void 0 : _a.focus();
24
+ }
25
+ if (e.code === "ArrowUp") {
26
+ e.preventDefault();
27
+ e.stopPropagation();
28
+ (_b = refItems.getPrevElementOnSameLevel(item.key)) === null || _b === void 0 ? void 0 : _b.focus();
29
+ }
30
+ if (e.code === "ArrowDown") {
31
+ e.preventDefault();
32
+ e.stopPropagation();
33
+ (_c = refItems.getNextElementOnSameLevel(item.key)) === null || _c === void 0 ? void 0 : _c.focus();
34
+ }
35
+ if (e.code === "Home") {
36
+ e.preventDefault();
37
+ e.stopPropagation();
38
+ (_d = refItems.getFirstElementOnSameLevel(item.key)) === null || _d === void 0 ? void 0 : _d.focus();
39
+ }
40
+ if (e.code === "End") {
41
+ e.preventDefault();
42
+ e.stopPropagation();
43
+ (_e = refItems.getLastElementOnSameLevel(item.key)) === null || _e === void 0 ? void 0 : _e.focus();
44
+ }
45
+ if (e.code === "Space" || e.code === "Enter") {
46
+ e.stopPropagation();
47
+ e.preventDefault();
48
+ (_f = refItems.getNextElement(item.key, true)) === null || _f === void 0 ? void 0 : _f.focus();
49
+ e.currentTarget.click();
50
+ }
51
+ };
52
+ return { onKeyPressNavigation };
53
+ };
54
+
55
+ export { useKeyboardNavigation };
56
+ //# sourceMappingURL=useKeyboardNavigation.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useKeyboardNavigation.esm.js","sources":["../../../../../../../../src/components/admin/layout/LeftNav/LeftNavItem/useKeyboardNavigation.ts"],"sourcesContent":["/*\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { KeyboardEvent } from \"react\";\nimport { MenuItem } from \"../LeftNav.interfaces\";\nimport { UseRefItemsReturnType } from \"../useRefItems\";\n\ninterface Props {\n item: MenuItem;\n refItems: UseRefItemsReturnType;\n closeParentList?: () => void;\n}\n\nexport const useKeyboardNavigation = ({ refItems, item, closeParentList }: Props) => {\n const onKeyPressNavigation = (e: KeyboardEvent<HTMLButtonElement | HTMLAnchorElement>) => {\n if (e.code === \"Escape\") {\n e.preventDefault();\n e.stopPropagation();\n closeParentList?.();\n refItems.getParentElement(item.key)?.focus();\n }\n if (e.code === \"ArrowUp\") {\n e.preventDefault();\n e.stopPropagation();\n refItems.getPrevElementOnSameLevel(item.key)?.focus();\n }\n if (e.code === \"ArrowDown\") {\n e.preventDefault();\n e.stopPropagation();\n refItems.getNextElementOnSameLevel(item.key)?.focus();\n }\n if (e.code === \"Home\") {\n e.preventDefault();\n e.stopPropagation();\n refItems.getFirstElementOnSameLevel(item.key)?.focus();\n }\n if (e.code === \"End\") {\n e.preventDefault();\n e.stopPropagation();\n refItems.getLastElementOnSameLevel(item.key)?.focus();\n }\n if (e.code === \"Space\" || e.code === \"Enter\") {\n e.stopPropagation();\n e.preventDefault();\n refItems.getNextElement(item.key, true)?.focus();\n e.currentTarget.click();\n }\n };\n\n return { onKeyPressNavigation };\n};\n"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;AAcG;AAYI,MAAM,qBAAqB,GAAG,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAS,KAAI;AAClF,IAAA,MAAM,oBAAoB,GAAG,CAAC,CAAuD,KAAI;;AACvF,QAAA,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE;YACvB,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,CAAC,CAAC,eAAe,EAAE,CAAC;AACpB,YAAA,eAAe,KAAf,IAAA,IAAA,eAAe,KAAf,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,eAAe,EAAI,CAAC;YACpB,CAAA,EAAA,GAAA,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,EAAE,CAAC;SAC9C;AACD,QAAA,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE;YACxB,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,CAAA,EAAA,GAAA,QAAQ,CAAC,yBAAyB,CAAC,IAAI,CAAC,GAAG,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,EAAE,CAAC;SACvD;AACD,QAAA,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE;YAC1B,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,CAAA,EAAA,GAAA,QAAQ,CAAC,yBAAyB,CAAC,IAAI,CAAC,GAAG,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,EAAE,CAAC;SACvD;AACD,QAAA,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE;YACrB,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,CAAA,EAAA,GAAA,QAAQ,CAAC,0BAA0B,CAAC,IAAI,CAAC,GAAG,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,EAAE,CAAC;SACxD;AACD,QAAA,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK,EAAE;YACpB,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,CAAA,EAAA,GAAA,QAAQ,CAAC,yBAAyB,CAAC,IAAI,CAAC,GAAG,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,EAAE,CAAC;SACvD;AACD,QAAA,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE;YAC5C,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,CAAC,CAAC,cAAc,EAAE,CAAC;AACnB,YAAA,CAAA,EAAA,GAAA,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAK,EAAE,CAAC;AACjD,YAAA,CAAC,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;SACzB;AACH,KAAC,CAAC;IAEF,OAAO,EAAE,oBAAoB,EAAE,CAAC;AAClC;;;;"}
@@ -0,0 +1,236 @@
1
+ import { useRef, useEffect } from 'react';
2
+
3
+ /*
4
+ * Copyright 2022 OneWelcome B.V.
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License");
7
+ * you may not use this file except in compliance with the License.
8
+ * You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ */
18
+ const useRefItems = ({ items }) => {
19
+ const navRefs = useRef({});
20
+ const itemsMap = useRef({});
21
+ useEffect(() => {
22
+ createLinkedMap(items);
23
+ }, [items]);
24
+ /**
25
+ * Creates linked list of provided menu items.
26
+ * Disabled items are filtered out.
27
+ */
28
+ const createLinkedMap = (menuItems) => {
29
+ const map = {};
30
+ createRecursiveLinkedMap(map, 0, menuItems);
31
+ itemsMap.current = map;
32
+ };
33
+ const createRecursiveLinkedMap = (itemsMap, level, items, prevItem, nextItem) => {
34
+ let currentPreviousItem = prevItem, currentNextItem = nextItem;
35
+ const nonDisabledItems = items === null || items === void 0 ? void 0 : items.filter(item => !item.disabled);
36
+ nonDisabledItems === null || nonDisabledItems === void 0 ? void 0 : nonDisabledItems.forEach((currentItem, index) => {
37
+ var _a, _b;
38
+ const isLast = index === nonDisabledItems.length - 1;
39
+ if (!isLast) {
40
+ currentNextItem = nonDisabledItems[index + 1];
41
+ }
42
+ else {
43
+ currentNextItem = nextItem;
44
+ }
45
+ const hasChildren = ((_a = currentItem.items) === null || _a === void 0 ? void 0 : _a.filter(item => !item.disabled)) !== undefined;
46
+ if (hasChildren) {
47
+ itemsMap[currentItem.key] = {
48
+ item: currentItem,
49
+ level,
50
+ prev: currentPreviousItem,
51
+ next: (_b = currentItem === null || currentItem === void 0 ? void 0 : currentItem.items) === null || _b === void 0 ? void 0 : _b.filter(item => !item.disabled)[0]
52
+ };
53
+ currentPreviousItem = currentItem;
54
+ const { lastItem } = createRecursiveLinkedMap(itemsMap, level + 1, currentItem === null || currentItem === void 0 ? void 0 : currentItem.items, currentPreviousItem, currentNextItem);
55
+ currentPreviousItem = lastItem;
56
+ }
57
+ else {
58
+ itemsMap[currentItem.key] = {
59
+ item: currentItem,
60
+ level,
61
+ prev: currentPreviousItem,
62
+ next: currentNextItem
63
+ };
64
+ currentPreviousItem = currentItem;
65
+ }
66
+ });
67
+ return { lastItem: currentPreviousItem };
68
+ };
69
+ const addElementReference = (el, key) => {
70
+ if (el) {
71
+ navRefs.current[key] = el;
72
+ }
73
+ else {
74
+ delete navRefs.current[key];
75
+ }
76
+ };
77
+ /**
78
+ * Get next element that is rendered. It could be nested element
79
+ * @param currentKey key of item
80
+ * @returns element or undefined if element does not exists or current element is the last element on that level
81
+ */
82
+ const getNextElement = (currentKey, whenHavingChildren = false) => {
83
+ var _a, _b, _c;
84
+ const currentItem = (_a = itemsMap.current) === null || _a === void 0 ? void 0 : _a[currentKey];
85
+ if (whenHavingChildren && !currentItem.item.items) {
86
+ return;
87
+ }
88
+ const nextKey = (_b = currentItem.next) === null || _b === void 0 ? void 0 : _b.key;
89
+ return nextKey ? (_c = navRefs.current) === null || _c === void 0 ? void 0 : _c[nextKey] : undefined;
90
+ };
91
+ /**
92
+ * Get next element on the same level as currentKey param
93
+ * @param currentKey key of item
94
+ * @returns element or undefined if element does not exists or current element is the last element on that level
95
+ */
96
+ const getNextElementOnSameLevel = (currentKey) => {
97
+ var _a, _b;
98
+ const currentItem = (_a = itemsMap.current) === null || _a === void 0 ? void 0 : _a[currentKey];
99
+ const currentLevel = currentItem.level;
100
+ const nextItem = _traverseNextElements({
101
+ currentItem,
102
+ desiredLevel: currentLevel,
103
+ currentLevel
104
+ });
105
+ return (nextItem === null || nextItem === void 0 ? void 0 : nextItem.item.key) ? (_b = navRefs.current) === null || _b === void 0 ? void 0 : _b[nextItem === null || nextItem === void 0 ? void 0 : nextItem.item.key] : undefined;
106
+ };
107
+ /**
108
+ * Get previous element on the same level as currentKey param
109
+ * @param currentKey key of item
110
+ * @returns element or undefined if element does not exists or current element is the first element on that level
111
+ */
112
+ const getPrevElementOnSameLevel = (currentKey) => {
113
+ var _a, _b;
114
+ const currentItem = (_a = itemsMap.current) === null || _a === void 0 ? void 0 : _a[currentKey];
115
+ const currentLevel = currentItem.level;
116
+ const prevItem = _traversePrevElements({
117
+ currentItem,
118
+ desiredLevel: currentLevel
119
+ });
120
+ return (prevItem === null || prevItem === void 0 ? void 0 : prevItem.item.key) ? (_b = navRefs.current) === null || _b === void 0 ? void 0 : _b[prevItem === null || prevItem === void 0 ? void 0 : prevItem.item.key] : undefined;
121
+ };
122
+ /**
123
+ * Get first element on the same level as currentKey param
124
+ * @param currentKey key of item
125
+ * @returns element or undefined if element does not exists or current element is the first element on that level
126
+ */
127
+ const getFirstElementOnSameLevel = (currentKey) => {
128
+ var _a, _b, _c;
129
+ const currentItem = (_a = itemsMap.current) === null || _a === void 0 ? void 0 : _a[currentKey];
130
+ const currentLevel = currentItem.level;
131
+ const prevItem = _traversePrevElements({
132
+ currentItem,
133
+ desiredLevel: currentLevel
134
+ });
135
+ const prevItemKey = prevItem === null || prevItem === void 0 ? void 0 : prevItem.item.key;
136
+ if (prevItemKey) {
137
+ const hasNextPrevElement = !!_traversePrevElements({
138
+ currentItem: (_b = itemsMap.current) === null || _b === void 0 ? void 0 : _b[prevItemKey],
139
+ desiredLevel: currentLevel
140
+ });
141
+ if (hasNextPrevElement) {
142
+ return getFirstElementOnSameLevel(prevItemKey);
143
+ }
144
+ return (_c = navRefs.current) === null || _c === void 0 ? void 0 : _c[prevItemKey];
145
+ }
146
+ };
147
+ /**
148
+ * Get last element on the same level as currentKey param
149
+ * @param currentKey key of item
150
+ * @returns element or undefined if element does not exists or current element is the last element on that level
151
+ */
152
+ const getLastElementOnSameLevel = (currentKey) => {
153
+ var _a, _b, _c;
154
+ const currentItem = (_a = itemsMap.current) === null || _a === void 0 ? void 0 : _a[currentKey];
155
+ const currentLevel = currentItem.level;
156
+ const nextItem = _traverseNextElements({
157
+ currentItem,
158
+ desiredLevel: currentLevel,
159
+ currentLevel
160
+ });
161
+ const nextItemKey = nextItem === null || nextItem === void 0 ? void 0 : nextItem.item.key;
162
+ if (nextItemKey) {
163
+ const hasNextNextElement = !!_traverseNextElements({
164
+ currentItem: (_b = itemsMap.current) === null || _b === void 0 ? void 0 : _b[nextItemKey],
165
+ desiredLevel: currentLevel,
166
+ currentLevel
167
+ });
168
+ if (hasNextNextElement) {
169
+ return getLastElementOnSameLevel(nextItemKey);
170
+ }
171
+ return (_c = navRefs.current) === null || _c === void 0 ? void 0 : _c[nextItemKey];
172
+ }
173
+ };
174
+ const getParentElement = (currentKey) => {
175
+ var _a, _b;
176
+ const currentItem = (_a = itemsMap.current) === null || _a === void 0 ? void 0 : _a[currentKey];
177
+ const currentLevel = currentItem.level;
178
+ const parentLevel = currentLevel - 1;
179
+ const parentItem = _traversePrevElements({
180
+ currentItem,
181
+ desiredLevel: parentLevel,
182
+ checkForMenuEscape: false
183
+ });
184
+ return (parentItem === null || parentItem === void 0 ? void 0 : parentItem.item.key) ? (_b = navRefs.current) === null || _b === void 0 ? void 0 : _b[parentItem === null || parentItem === void 0 ? void 0 : parentItem.item.key] : undefined;
185
+ };
186
+ const _traverseNextElements = ({ currentItem, desiredLevel, currentLevel }) => {
187
+ var _a, _b;
188
+ const nextKey = (_a = currentItem.next) === null || _a === void 0 ? void 0 : _a.key;
189
+ if (!nextKey) {
190
+ return;
191
+ }
192
+ const escapedSubMenu = desiredLevel > currentLevel;
193
+ if (escapedSubMenu) {
194
+ return;
195
+ }
196
+ const next = (_b = itemsMap.current) === null || _b === void 0 ? void 0 : _b[nextKey];
197
+ if (next && next.level === desiredLevel) {
198
+ return next;
199
+ }
200
+ else {
201
+ return _traverseNextElements({ currentItem: next, desiredLevel, currentLevel: next.level });
202
+ }
203
+ };
204
+ const _traversePrevElements = ({ currentItem, desiredLevel, checkForMenuEscape = true }) => {
205
+ var _a, _b;
206
+ const prevKey = (_a = currentItem.prev) === null || _a === void 0 ? void 0 : _a.key;
207
+ if (!prevKey) {
208
+ return;
209
+ }
210
+ const prev = (_b = itemsMap.current) === null || _b === void 0 ? void 0 : _b[prevKey];
211
+ const prevLevel = prev.level;
212
+ const escapedSubMenu = desiredLevel > prevLevel;
213
+ if (checkForMenuEscape && escapedSubMenu) {
214
+ return;
215
+ }
216
+ if (prev && prev.level === desiredLevel) {
217
+ return prev;
218
+ }
219
+ else {
220
+ return _traversePrevElements({ currentItem: prev, desiredLevel });
221
+ }
222
+ };
223
+ return {
224
+ addElementReference,
225
+ getNextElement,
226
+ getNextElementOnSameLevel,
227
+ getPrevElementOnSameLevel,
228
+ getFirstElementOnSameLevel,
229
+ getLastElementOnSameLevel,
230
+ getParentElement,
231
+ getItemMap: () => itemsMap.current
232
+ };
233
+ };
234
+
235
+ export { useRefItems };
236
+ //# sourceMappingURL=useRefItems.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRefItems.esm.js","sources":["../../../../../../../src/components/admin/layout/LeftNav/useRefItems.ts"],"sourcesContent":["/*\n * Copyright 2022 OneWelcome B.V.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { useEffect, useRef } from \"react\";\nimport { MenuItem } from \"./LeftNav.interfaces\";\n\ninterface Props {\n items: MenuItem[];\n}\n\ninterface LinkedMapValue {\n item: MenuItem;\n level: number;\n prev?: MenuItem;\n next?: MenuItem;\n}\n\nexport type UseRefItemsReturnType = ReturnType<typeof useRefItems>;\n\nexport const useRefItems = ({ items }: Props) => {\n const navRefs = useRef<Record<string, HTMLElement>>({});\n const itemsMap = useRef<Record<string, LinkedMapValue>>({});\n\n useEffect(() => {\n createLinkedMap(items);\n }, [items]);\n\n /**\n * Creates linked list of provided menu items.\n * Disabled items are filtered out.\n */\n const createLinkedMap = (menuItems: MenuItem[]) => {\n const map: Record<string, LinkedMapValue> = {};\n createRecursiveLinkedMap(map, 0, menuItems);\n itemsMap.current = map;\n };\n\n const createRecursiveLinkedMap = (\n itemsMap: Record<string, LinkedMapValue>,\n level: number,\n items?: MenuItem[],\n prevItem?: MenuItem,\n nextItem?: MenuItem\n ): { lastItem?: MenuItem } => {\n let currentPreviousItem: MenuItem | undefined = prevItem,\n currentNextItem: MenuItem | undefined = nextItem;\n const nonDisabledItems = items?.filter(item => !item.disabled);\n nonDisabledItems?.forEach((currentItem, index) => {\n const isLast = index === nonDisabledItems.length - 1;\n if (!isLast) {\n currentNextItem = nonDisabledItems[index + 1];\n } else {\n currentNextItem = nextItem;\n }\n\n const hasChildren = currentItem.items?.filter(item => !item.disabled) !== undefined;\n if (hasChildren) {\n itemsMap[currentItem.key] = {\n item: currentItem,\n level,\n prev: currentPreviousItem,\n next: currentItem?.items?.filter(item => !item.disabled)[0]\n };\n currentPreviousItem = currentItem;\n const { lastItem } = createRecursiveLinkedMap(\n itemsMap,\n level + 1,\n currentItem?.items,\n currentPreviousItem,\n currentNextItem\n );\n currentPreviousItem = lastItem;\n } else {\n itemsMap[currentItem.key] = {\n item: currentItem,\n level,\n prev: currentPreviousItem,\n next: currentNextItem\n };\n currentPreviousItem = currentItem;\n }\n });\n return { lastItem: currentPreviousItem };\n };\n\n const addElementReference = (el: HTMLElement | null, key: string) => {\n if (el) {\n navRefs.current[key] = el;\n } else {\n delete navRefs.current[key];\n }\n };\n\n /**\n * Get next element that is rendered. It could be nested element\n * @param currentKey key of item\n * @returns element or undefined if element does not exists or current element is the last element on that level\n */\n const getNextElement = (currentKey: string, whenHavingChildren: boolean = false) => {\n const currentItem = itemsMap.current?.[currentKey];\n if (whenHavingChildren && !currentItem.item.items) {\n return;\n }\n const nextKey = currentItem.next?.key;\n return nextKey ? navRefs.current?.[nextKey] : undefined;\n };\n\n /**\n * Get next element on the same level as currentKey param\n * @param currentKey key of item\n * @returns element or undefined if element does not exists or current element is the last element on that level\n */\n const getNextElementOnSameLevel = (currentKey: string) => {\n const currentItem = itemsMap.current?.[currentKey];\n const currentLevel = currentItem.level;\n const nextItem = _traverseNextElements({\n currentItem,\n desiredLevel: currentLevel,\n currentLevel\n });\n return nextItem?.item.key ? navRefs.current?.[nextItem?.item.key] : undefined;\n };\n\n /**\n * Get previous element on the same level as currentKey param\n * @param currentKey key of item\n * @returns element or undefined if element does not exists or current element is the first element on that level\n */\n const getPrevElementOnSameLevel = (currentKey: string) => {\n const currentItem = itemsMap.current?.[currentKey];\n const currentLevel = currentItem.level;\n const prevItem = _traversePrevElements({\n currentItem,\n desiredLevel: currentLevel\n });\n return prevItem?.item.key ? navRefs.current?.[prevItem?.item.key] : undefined;\n };\n\n /**\n * Get first element on the same level as currentKey param\n * @param currentKey key of item\n * @returns element or undefined if element does not exists or current element is the first element on that level\n */\n const getFirstElementOnSameLevel = (currentKey: string) => {\n const currentItem = itemsMap.current?.[currentKey];\n const currentLevel = currentItem.level;\n const prevItem = _traversePrevElements({\n currentItem,\n desiredLevel: currentLevel\n });\n const prevItemKey = prevItem?.item.key;\n if (prevItemKey) {\n const hasNextPrevElement = !!_traversePrevElements({\n currentItem: itemsMap.current?.[prevItemKey],\n desiredLevel: currentLevel\n });\n if (hasNextPrevElement) {\n return getFirstElementOnSameLevel(prevItemKey);\n }\n return navRefs.current?.[prevItemKey];\n }\n };\n\n /**\n * Get last element on the same level as currentKey param\n * @param currentKey key of item\n * @returns element or undefined if element does not exists or current element is the last element on that level\n */\n const getLastElementOnSameLevel = (currentKey: string) => {\n const currentItem = itemsMap.current?.[currentKey];\n const currentLevel = currentItem.level;\n const nextItem = _traverseNextElements({\n currentItem,\n desiredLevel: currentLevel,\n currentLevel\n });\n const nextItemKey = nextItem?.item.key;\n if (nextItemKey) {\n const hasNextNextElement = !!_traverseNextElements({\n currentItem: itemsMap.current?.[nextItemKey],\n desiredLevel: currentLevel,\n currentLevel\n });\n if (hasNextNextElement) {\n return getLastElementOnSameLevel(nextItemKey);\n }\n return navRefs.current?.[nextItemKey];\n }\n };\n\n const getParentElement = (currentKey: string) => {\n const currentItem = itemsMap.current?.[currentKey];\n const currentLevel = currentItem.level;\n const parentLevel = currentLevel - 1;\n const parentItem = _traversePrevElements({\n currentItem,\n desiredLevel: parentLevel,\n checkForMenuEscape: false\n });\n return parentItem?.item.key ? navRefs.current?.[parentItem?.item.key] : undefined;\n };\n\n const _traverseNextElements = ({\n currentItem,\n desiredLevel,\n currentLevel\n }: {\n currentItem: LinkedMapValue;\n desiredLevel: number;\n currentLevel: number;\n }) => {\n const nextKey = currentItem.next?.key;\n if (!nextKey) {\n return;\n }\n const escapedSubMenu = desiredLevel > currentLevel;\n if (escapedSubMenu) {\n return;\n }\n\n const next = itemsMap.current?.[nextKey];\n if (next && next.level === desiredLevel) {\n return next;\n } else {\n return _traverseNextElements({ currentItem: next, desiredLevel, currentLevel: next.level });\n }\n };\n\n const _traversePrevElements = ({\n currentItem,\n desiredLevel,\n checkForMenuEscape = true\n }: {\n currentItem: LinkedMapValue;\n desiredLevel: number;\n checkForMenuEscape?: boolean;\n }) => {\n const prevKey = currentItem.prev?.key;\n if (!prevKey) {\n return;\n }\n const prev = itemsMap.current?.[prevKey];\n const prevLevel = prev.level;\n\n const escapedSubMenu = desiredLevel > prevLevel;\n if (checkForMenuEscape && escapedSubMenu) {\n return;\n }\n\n if (prev && prev.level === desiredLevel) {\n return prev;\n } else {\n return _traversePrevElements({ currentItem: prev, desiredLevel });\n }\n };\n\n return {\n addElementReference,\n getNextElement,\n getNextElementOnSameLevel,\n getPrevElementOnSameLevel,\n getFirstElementOnSameLevel,\n getLastElementOnSameLevel,\n getParentElement,\n getItemMap: () => itemsMap.current\n };\n};\n"],"names":[],"mappings":"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"}