@onewelcome/react-lib-components 8.10.0 → 8.11.1
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.
- package/dist/cjs/Breadcrumbs/Breadcrumbs.module.scss.cjs.js +1 -1
- package/dist/cjs/Button/BaseButton.module.scss.cjs.js +1 -1
- package/dist/cjs/Button/Button.module.scss.cjs.js +1 -1
- package/dist/cjs/Button/IconButton.cjs.js +1 -1
- package/dist/cjs/Button/IconButton.cjs.js.map +1 -1
- package/dist/cjs/Button/IconButton.module.scss.cjs.js +1 -1
- package/dist/cjs/ContextMenu/ContextMenu.module.scss.cjs.js +1 -1
- package/dist/cjs/ContextMenu/ContextMenuItem.module.scss.cjs.js +1 -1
- package/dist/cjs/DataGrid/DataGrid.module.scss.cjs.js +1 -1
- package/dist/cjs/DataGrid/DataGridActions/DataGridActions.module.scss.cjs.js +1 -1
- package/dist/cjs/DataGrid/DataGridActions/DataGridColumnsToggle.module.scss.cjs.js +1 -1
- package/dist/cjs/DataGrid/DataGridBody/DataGridBody.module.scss.cjs.js +1 -1
- package/dist/cjs/DataGrid/DataGridBody/DataGridCell/DataGridCell.module.scss.cjs.js +1 -1
- package/dist/cjs/DataGrid/DataGridBody/DataGridDrawer/DataGridDrawer.module.scss.cjs.js +1 -1
- package/dist/cjs/DataGrid/DataGridBody/DataGridDrawer/DataGridDrawerItem.module.scss.cjs.js +1 -1
- package/dist/cjs/DataGrid/DataGridBody/DataGridRow/DataGridRow.module.scss.cjs.js +1 -1
- package/dist/cjs/DataGrid/DataGridFilters/DataGridFilter.module.scss.cjs.js +1 -1
- package/dist/cjs/DataGrid/DataGridFilters/DataGridToolbar.module.scss.cjs.js +1 -1
- package/dist/cjs/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.module.scss.cjs.js +1 -1
- package/dist/cjs/DataGrid/DataGridHeader/DataGridHeader.module.scss.cjs.js +1 -1
- package/dist/cjs/DataGrid/DataGridHeader/DataGridHeaderCell.module.scss.cjs.js +1 -1
- package/dist/cjs/DatePicker/DatePicker.module.scss.cjs.js +1 -1
- package/dist/cjs/Form/Checkbox/Checkbox.module.scss.cjs.js +1 -1
- package/dist/cjs/Form/Fieldset/Fieldset.module.scss.cjs.js +1 -1
- package/dist/cjs/Form/FileUpload/FileItem/FileItem.module.scss.cjs.js +1 -1
- package/dist/cjs/Form/FileUpload/FileUpload.module.scss.cjs.js +1 -1
- package/dist/cjs/Form/Form.module.scss.cjs.js +1 -1
- package/dist/cjs/Form/FormControl/FormControl.module.scss.cjs.js +1 -1
- package/dist/cjs/Form/FormGroup/FormGroup.module.scss.cjs.js +1 -1
- package/dist/cjs/Form/FormHelperText/FormHelperText.module.scss.cjs.js +1 -1
- package/dist/cjs/Form/FormSelectorWrapper/FormSelectorWrapper.module.scss.cjs.js +1 -1
- package/dist/cjs/Form/Input/Input.module.scss.cjs.js +1 -1
- package/dist/cjs/Form/Label/Label.module.scss.cjs.js +1 -1
- package/dist/cjs/Form/Radio/Radio.module.scss.cjs.js +1 -1
- package/dist/cjs/Form/Select/MultiSelect/MultiSelect.module.scss.cjs.js +1 -1
- package/dist/cjs/Form/Select/MultiSelect/SelectButton.module.scss.cjs.js +1 -1
- package/dist/cjs/Form/Select/MultiSelect/SelectedOptions.module.scss.cjs.js +1 -1
- package/dist/cjs/Form/Select/SingleSelect/Select.module.scss.cjs.js +1 -1
- package/dist/cjs/Form/Select/useAddNewBtn.module.scss.cjs.js +1 -1
- package/dist/cjs/Form/Textarea/Textarea.module.scss.cjs.js +1 -1
- package/dist/cjs/Form/Toggle/Toggle.module.scss.cjs.js +1 -1
- package/dist/cjs/Form/Wrapper/CheckboxWrapper/CheckboxWrapper.module.scss.cjs.js +1 -1
- package/dist/cjs/Form/Wrapper/InputWrapper/InputWrapper.module.scss.cjs.js +1 -1
- package/dist/cjs/Form/Wrapper/MultiSelectWrapper/MultiSelectWrapper.module.scss.cjs.js +1 -1
- package/dist/cjs/Form/Wrapper/RadioWrapper/RadioWrapper.module.scss.cjs.js +1 -1
- package/dist/cjs/Form/Wrapper/SelectWrapper/SelectWrapper.module.scss.cjs.js +1 -1
- package/dist/cjs/Form/Wrapper/TextareaWrapper/TextareaWrapper.module.scss.cjs.js +1 -1
- package/dist/cjs/Form/Wrapper/Wrapper/Wrapper.module.scss.cjs.js +1 -1
- package/dist/cjs/Icon/Icon.cjs.js +1 -1
- package/dist/cjs/Icon/Icon.cjs.js.map +1 -1
- package/dist/cjs/Icon/Icon.module.scss.cjs.js +1 -1
- package/dist/cjs/Layout/ContentHeader/ContentHeader.cjs.js +1 -1
- package/dist/cjs/Layout/ContentHeader/ContentHeader.cjs.js.map +1 -1
- package/dist/cjs/Layout/ContentHeader/ContentHeader.module.scss.cjs.js +1 -1
- package/dist/cjs/Layout/FormPage/FormWithStepper/FormSection/FormSection.module.scss.cjs.js +1 -1
- package/dist/cjs/Layout/FormPage/FormWithStepper/FormStepper/FormStepper.module.scss.cjs.js +1 -1
- package/dist/cjs/Layout/FormPage/FormWithStepper/FormWithStepper.module.scss.cjs.js +1 -1
- package/dist/cjs/Link/Link.module.scss.cjs.js +1 -1
- package/dist/cjs/Notifications/Alert/AlertContainer/AlertContainer.module.scss.cjs.js +1 -1
- package/dist/cjs/Notifications/Alert/AlertItem/AlertItem.module.scss.cjs.js +1 -1
- package/dist/cjs/Notifications/Banner/Banner.module.scss.cjs.js +1 -1
- package/dist/cjs/Notifications/BaseModal/BaseModal.module.scss.cjs.js +1 -1
- package/dist/cjs/Notifications/BaseModal/BaseModalActions/BaseModalActions.module.scss.cjs.js +1 -1
- package/dist/cjs/Notifications/BaseModal/BaseModalContent/BaseModalContent.module.scss.cjs.js +1 -1
- package/dist/cjs/Notifications/BaseModal/BaseModalHeader/BaseModalHeader.module.scss.cjs.js +1 -1
- package/dist/cjs/Notifications/Dialog/Dialog.module.scss.cjs.js +1 -1
- package/dist/cjs/Notifications/Dialog/DialogActions/DialogActions.module.scss.cjs.js +1 -1
- package/dist/cjs/Notifications/Dialog/DialogTitle/DialogTitle.module.scss.cjs.js +1 -1
- package/dist/cjs/Notifications/SideSheet/SideSheet.module.scss.cjs.js +1 -1
- package/dist/cjs/Notifications/SideSheet/SideSheetContent/SideSheetContent.module.scss.cjs.js +1 -1
- package/dist/cjs/Notifications/SideSheet/SideSheetHeader/SideSheetHeader.module.scss.cjs.js +1 -1
- package/dist/cjs/Notifications/SlideInModal/SlideInModal.module.scss.cjs.js +1 -1
- package/dist/cjs/Pagination/Pagination.module.scss.cjs.js +1 -1
- package/dist/cjs/Popover/Popover.module.scss.cjs.js +1 -1
- package/dist/cjs/ProgressBar/ProgressBar.module.scss.cjs.js +1 -1
- package/dist/cjs/Skeleton/Skeleton.module.scss.cjs.js +1 -1
- package/dist/cjs/Spinner/Spinner.module.scss.cjs.js +1 -1
- package/dist/cjs/Stepper/Step.module.scss.cjs.js +1 -1
- package/dist/cjs/Stepper/Stepper.module.scss.cjs.js +1 -1
- package/dist/cjs/Tabs/Tab.module.scss.cjs.js +1 -1
- package/dist/cjs/Tabs/TabButton.module.scss.cjs.js +1 -1
- package/dist/cjs/Tabs/Tabs.module.scss.cjs.js +1 -1
- package/dist/cjs/Tag/RemoveButton.module.scss.cjs.js +1 -1
- package/dist/cjs/Tag/Tag.module.scss.cjs.js +1 -1
- package/dist/cjs/TextEllipsis/TextEllipsis.module.scss.cjs.js +1 -1
- package/dist/cjs/Tiles/Tile.module.scss.cjs.js +1 -1
- package/dist/cjs/Tiles/Tiles.module.scss.cjs.js +1 -1
- package/dist/cjs/Tooltip/Tooltip.module.scss.cjs.js +1 -1
- package/dist/cjs/Typography/Typography.module.scss.cjs.js +1 -1
- package/dist/cjs/_BaseStyling_/BaseStyling.cjs.js +1 -1
- package/dist/cjs/_BaseStyling_/BaseStyling.cjs.js.map +1 -1
- package/dist/cjs/admin/layout/LeftNav/LeftNav.cjs.js +2 -0
- package/dist/cjs/admin/layout/LeftNav/LeftNav.cjs.js.map +1 -0
- package/dist/cjs/admin/layout/LeftNav/LeftNav.module.scss.cjs.js +2 -0
- package/dist/cjs/admin/layout/LeftNav/LeftNav.module.scss.cjs.js.map +1 -0
- package/dist/cjs/admin/layout/LeftNav/LeftNavItem/ButtonLeftNavItem.cjs.js +2 -0
- package/dist/cjs/admin/layout/LeftNav/LeftNavItem/ButtonLeftNavItem.cjs.js.map +1 -0
- package/dist/cjs/admin/layout/LeftNav/LeftNavItem/LeftNavItem.cjs.js +2 -0
- package/dist/cjs/admin/layout/LeftNav/LeftNavItem/LeftNavItem.cjs.js.map +1 -0
- package/dist/cjs/admin/layout/LeftNav/LeftNavItem/LeftNavItem.module.scss.cjs.js +2 -0
- package/dist/cjs/admin/layout/LeftNav/LeftNavItem/LeftNavItem.module.scss.cjs.js.map +1 -0
- package/dist/cjs/admin/layout/LeftNav/LeftNavItem/LinkLeftNavItem.cjs.js +2 -0
- package/dist/cjs/admin/layout/LeftNav/LeftNavItem/LinkLeftNavItem.cjs.js.map +1 -0
- package/dist/cjs/admin/layout/LeftNav/LeftNavItem/useKeyboardNavigation.cjs.js +2 -0
- package/dist/cjs/admin/layout/LeftNav/LeftNavItem/useKeyboardNavigation.cjs.js.map +1 -0
- package/dist/cjs/admin/layout/LeftNav/useRefItems.cjs.js +2 -0
- package/dist/cjs/admin/layout/LeftNav/useRefItems.cjs.js.map +1 -0
- package/dist/cjs/admin/layout/MicrofrontendContainer/MicrofrontendContainer.module.scss.cjs.js +1 -1
- package/dist/cjs/miscellaneous/IdentityProviderButton.module.scss.cjs.js +1 -1
- package/dist/cjs/node_modules/@remix-run/router/dist/router.cjs.js +12 -0
- package/dist/cjs/node_modules/@remix-run/router/dist/router.cjs.js.map +1 -0
- package/dist/cjs/node_modules/react-router/dist/index.cjs.js +12 -0
- package/dist/cjs/node_modules/react-router/dist/index.cjs.js.map +1 -0
- package/dist/cjs/node_modules/react-router-dom/dist/index.cjs.js +12 -0
- package/dist/cjs/node_modules/react-router-dom/dist/index.cjs.js.map +1 -0
- package/dist/cjs/src/components/Icon/Icon.d.ts +1 -0
- package/dist/cjs/src/components/Layout/ContentHeader/ContentHeader.d.ts +16 -2
- package/dist/cjs/src/components/_BaseStyling_/BaseStyling.d.ts +2 -0
- package/dist/cjs/src/components/admin/layout/LeftNav/LeftNav.d.ts +10 -0
- package/dist/cjs/src/components/admin/layout/LeftNav/LeftNav.interfaces.d.ts +13 -0
- package/dist/cjs/src/components/admin/layout/LeftNav/LeftNav.test.d.ts +1 -0
- package/dist/cjs/src/components/admin/layout/LeftNav/LeftNavItem/ButtonLeftNavItem.d.ts +13 -0
- package/dist/cjs/src/components/admin/layout/LeftNav/LeftNavItem/LeftNavItem.d.ts +3 -0
- package/dist/cjs/src/components/admin/layout/LeftNav/LeftNavItem/LeftNavItem.interface.d.ts +10 -0
- package/dist/cjs/src/components/admin/layout/LeftNav/LeftNavItem/LeftNavItem.test.d.ts +1 -0
- package/dist/cjs/src/components/admin/layout/LeftNav/LeftNavItem/LinkLeftNavItem.d.ts +10 -0
- package/dist/cjs/src/components/admin/layout/LeftNav/LeftNavItem/useKeyboardNavigation.d.ts +12 -0
- package/dist/cjs/src/components/admin/layout/LeftNav/useRefItems.d.ts +22 -0
- package/dist/cjs/src/components/admin/layout/LeftNav/useRefItems.test.d.ts +1 -0
- package/dist/cjs/src/index.cjs.js +1 -1
- package/dist/cjs/src/index.d.ts +2 -0
- package/dist/cjs/src/readyclasses.module.scss.cjs.js +1 -1
- package/dist/esm/Breadcrumbs/Breadcrumbs.esm.js +9 -9
- package/dist/esm/Breadcrumbs/Breadcrumbs.esm.js.map +1 -1
- package/dist/esm/Breadcrumbs/Breadcrumbs.module.scss.esm.js +2 -2
- package/dist/esm/Button/BaseButton.esm.js +5 -5
- package/dist/esm/Button/BaseButton.esm.js.map +1 -1
- package/dist/esm/Button/BaseButton.module.scss.esm.js +2 -2
- package/dist/esm/Button/Button.esm.js +6 -6
- package/dist/esm/Button/Button.esm.js.map +1 -1
- package/dist/esm/Button/Button.module.scss.esm.js +2 -2
- package/dist/esm/Button/IconButton.esm.js +6 -9
- package/dist/esm/Button/IconButton.esm.js.map +1 -1
- package/dist/esm/Button/IconButton.module.scss.esm.js +2 -2
- package/dist/esm/Button/Spinner.esm.js +3 -3
- package/dist/esm/Button/Spinner.esm.js.map +1 -1
- package/dist/esm/ContextMenu/ContextMenu.esm.js +10 -10
- package/dist/esm/ContextMenu/ContextMenu.esm.js.map +1 -1
- package/dist/esm/ContextMenu/ContextMenu.module.scss.esm.js +2 -2
- package/dist/esm/ContextMenu/ContextMenuItem.esm.js +4 -4
- package/dist/esm/ContextMenu/ContextMenuItem.esm.js.map +1 -1
- package/dist/esm/ContextMenu/ContextMenuItem.module.scss.esm.js +2 -2
- package/dist/esm/DataGrid/DataGrid.esm.js +11 -11
- package/dist/esm/DataGrid/DataGrid.esm.js.map +1 -1
- package/dist/esm/DataGrid/DataGrid.module.scss.esm.js +2 -2
- package/dist/esm/DataGrid/DataGridActions/DataGridActions.esm.js +14 -14
- package/dist/esm/DataGrid/DataGridActions/DataGridActions.esm.js.map +1 -1
- package/dist/esm/DataGrid/DataGridActions/DataGridActions.module.scss.esm.js +2 -2
- package/dist/esm/DataGrid/DataGridActions/DataGridColumnsToggle.esm.js +11 -11
- package/dist/esm/DataGrid/DataGridActions/DataGridColumnsToggle.esm.js.map +1 -1
- package/dist/esm/DataGrid/DataGridActions/DataGridColumnsToggle.module.scss.esm.js +2 -2
- package/dist/esm/DataGrid/DataGridBody/DataGridBody.esm.js +10 -10
- package/dist/esm/DataGrid/DataGridBody/DataGridBody.esm.js.map +1 -1
- package/dist/esm/DataGrid/DataGridBody/DataGridBody.module.scss.esm.js +2 -2
- package/dist/esm/DataGrid/DataGridBody/DataGridCell/DataGridCell.esm.js +10 -10
- package/dist/esm/DataGrid/DataGridBody/DataGridCell/DataGridCell.esm.js.map +1 -1
- package/dist/esm/DataGrid/DataGridBody/DataGridCell/DataGridCell.module.scss.esm.js +2 -2
- package/dist/esm/DataGrid/DataGridBody/DataGridDrawer/DataGridDrawer.esm.js +4 -4
- package/dist/esm/DataGrid/DataGridBody/DataGridDrawer/DataGridDrawer.esm.js.map +1 -1
- package/dist/esm/DataGrid/DataGridBody/DataGridDrawer/DataGridDrawer.module.scss.esm.js +2 -2
- package/dist/esm/DataGrid/DataGridBody/DataGridDrawer/DataGridDrawerItem.esm.js +6 -6
- package/dist/esm/DataGrid/DataGridBody/DataGridDrawer/DataGridDrawerItem.esm.js.map +1 -1
- package/dist/esm/DataGrid/DataGridBody/DataGridDrawer/DataGridDrawerItem.module.scss.esm.js +2 -2
- package/dist/esm/DataGrid/DataGridBody/DataGridRow/DataGridRow.esm.js +15 -15
- package/dist/esm/DataGrid/DataGridBody/DataGridRow/DataGridRow.esm.js.map +1 -1
- package/dist/esm/DataGrid/DataGridBody/DataGridRow/DataGridRow.module.scss.esm.js +2 -2
- package/dist/esm/DataGrid/DataGridBody/DataGridRow/useNestedRow.esm.js +4 -4
- package/dist/esm/DataGrid/DataGridBody/DataGridRow/useNestedRow.esm.js.map +1 -1
- package/dist/esm/DataGrid/DataGridFilters/DataGridDateFilter.esm.js +4 -4
- package/dist/esm/DataGrid/DataGridFilters/DataGridDateFilter.esm.js.map +1 -1
- package/dist/esm/DataGrid/DataGridFilters/DataGridFilter.esm.js +4 -4
- package/dist/esm/DataGrid/DataGridFilters/DataGridFilter.esm.js.map +1 -1
- package/dist/esm/DataGrid/DataGridFilters/DataGridFilter.module.scss.esm.js +2 -2
- package/dist/esm/DataGrid/DataGridFilters/DataGridFilterPopover.esm.js +12 -12
- package/dist/esm/DataGrid/DataGridFilters/DataGridFilterPopover.esm.js.map +1 -1
- package/dist/esm/DataGrid/DataGridFilters/DataGridFilterTag.esm.js +17 -17
- package/dist/esm/DataGrid/DataGridFilters/DataGridFilterTag.esm.js.map +1 -1
- package/dist/esm/DataGrid/DataGridFilters/DataGridSearchbar.esm.js +3 -3
- package/dist/esm/DataGrid/DataGridFilters/DataGridSearchbar.esm.js.map +1 -1
- package/dist/esm/DataGrid/DataGridFilters/DataGridToolbar.esm.js +8 -8
- package/dist/esm/DataGrid/DataGridFilters/DataGridToolbar.esm.js.map +1 -1
- package/dist/esm/DataGrid/DataGridFilters/DataGridToolbar.module.scss.esm.js +2 -2
- package/dist/esm/DataGrid/DataGridFilters/DataGridToolbarWrapper.esm.js +5 -5
- package/dist/esm/DataGrid/DataGridFilters/DataGridToolbarWrapper.esm.js.map +1 -1
- package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.esm.js +13 -13
- package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.esm.js.map +1 -1
- package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/DateTimePicker.module.scss.esm.js +2 -2
- package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerCalendarSection.esm.js +8 -8
- package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerCalendarSection.esm.js.map +1 -1
- package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerInputSection.esm.js +4 -4
- package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/DateTimePickerInputSection.esm.js.map +1 -1
- package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/SideMenu.esm.js +3 -3
- package/dist/esm/DataGrid/DataGridFilters/DateTimePicker/SideMenu.esm.js.map +1 -1
- package/dist/esm/DataGrid/DataGridHeader/DataGridHeader.esm.js +7 -7
- package/dist/esm/DataGrid/DataGridHeader/DataGridHeader.esm.js.map +1 -1
- package/dist/esm/DataGrid/DataGridHeader/DataGridHeader.module.scss.esm.js +2 -2
- package/dist/esm/DataGrid/DataGridHeader/DataGridHeaderCell.esm.js +7 -7
- package/dist/esm/DataGrid/DataGridHeader/DataGridHeaderCell.esm.js.map +1 -1
- package/dist/esm/DataGrid/DataGridHeader/DataGridHeaderCell.module.scss.esm.js +2 -2
- package/dist/esm/DatePicker/DatePicker.esm.js +2 -2
- package/dist/esm/DatePicker/DatePicker.esm.js.map +1 -1
- package/dist/esm/DatePicker/DatePicker.module.scss.esm.js +2 -2
- package/dist/esm/Form/Checkbox/Checkbox.esm.js +12 -12
- package/dist/esm/Form/Checkbox/Checkbox.esm.js.map +1 -1
- package/dist/esm/Form/Checkbox/Checkbox.module.scss.esm.js +2 -2
- package/dist/esm/Form/Fieldset/Fieldset.esm.js +7 -7
- package/dist/esm/Form/Fieldset/Fieldset.esm.js.map +1 -1
- package/dist/esm/Form/Fieldset/Fieldset.module.scss.esm.js +2 -2
- package/dist/esm/Form/FileUpload/FileItem/FileItem.esm.js +17 -17
- package/dist/esm/Form/FileUpload/FileItem/FileItem.esm.js.map +1 -1
- package/dist/esm/Form/FileUpload/FileItem/FileItem.module.scss.esm.js +2 -2
- package/dist/esm/Form/FileUpload/FileUpload.esm.js +17 -17
- package/dist/esm/Form/FileUpload/FileUpload.esm.js.map +1 -1
- package/dist/esm/Form/FileUpload/FileUpload.module.scss.esm.js +2 -2
- package/dist/esm/Form/Form.esm.js +3 -3
- package/dist/esm/Form/Form.esm.js.map +1 -1
- package/dist/esm/Form/Form.module.scss.esm.js +2 -2
- package/dist/esm/Form/FormControl/FormControl.esm.js +6 -6
- package/dist/esm/Form/FormControl/FormControl.esm.js.map +1 -1
- package/dist/esm/Form/FormControl/FormControl.module.scss.esm.js +2 -2
- package/dist/esm/Form/FormGroup/FormGroup.esm.js +9 -9
- package/dist/esm/Form/FormGroup/FormGroup.esm.js.map +1 -1
- package/dist/esm/Form/FormGroup/FormGroup.module.scss.esm.js +2 -2
- package/dist/esm/Form/FormHelperText/FormHelperText.esm.js +3 -3
- package/dist/esm/Form/FormHelperText/FormHelperText.esm.js.map +1 -1
- package/dist/esm/Form/FormHelperText/FormHelperText.module.scss.esm.js +2 -2
- package/dist/esm/Form/FormSelectorWrapper/FormSelectorWrapper.esm.js +5 -5
- package/dist/esm/Form/FormSelectorWrapper/FormSelectorWrapper.esm.js.map +1 -1
- package/dist/esm/Form/FormSelectorWrapper/FormSelectorWrapper.module.scss.esm.js +2 -2
- package/dist/esm/Form/Input/Input.esm.js +8 -8
- package/dist/esm/Form/Input/Input.esm.js.map +1 -1
- package/dist/esm/Form/Input/Input.module.scss.esm.js +2 -2
- package/dist/esm/Form/Label/Label.esm.js +3 -3
- package/dist/esm/Form/Label/Label.esm.js.map +1 -1
- package/dist/esm/Form/Label/Label.module.scss.esm.js +2 -2
- package/dist/esm/Form/Radio/Radio.esm.js +7 -7
- package/dist/esm/Form/Radio/Radio.esm.js.map +1 -1
- package/dist/esm/Form/Radio/Radio.module.scss.esm.js +2 -2
- package/dist/esm/Form/Select/MultiSelect/MultiOption.esm.js +3 -3
- package/dist/esm/Form/Select/MultiSelect/MultiOption.esm.js.map +1 -1
- package/dist/esm/Form/Select/MultiSelect/MultiSelect.esm.js +24 -24
- package/dist/esm/Form/Select/MultiSelect/MultiSelect.esm.js.map +1 -1
- package/dist/esm/Form/Select/MultiSelect/MultiSelect.module.scss.esm.js +2 -2
- package/dist/esm/Form/Select/MultiSelect/SelectButton.esm.js +3 -3
- package/dist/esm/Form/Select/MultiSelect/SelectButton.esm.js.map +1 -1
- package/dist/esm/Form/Select/MultiSelect/SelectButton.module.scss.esm.js +2 -2
- package/dist/esm/Form/Select/MultiSelect/SelectedOptions.esm.js +3 -3
- package/dist/esm/Form/Select/MultiSelect/SelectedOptions.esm.js.map +1 -1
- package/dist/esm/Form/Select/MultiSelect/SelectedOptions.module.scss.esm.js +2 -2
- package/dist/esm/Form/Select/MultiSelect/useMultiSelect.esm.js +2 -2
- package/dist/esm/Form/Select/MultiSelect/useMultiSelect.esm.js.map +1 -1
- package/dist/esm/Form/Select/MultiSelect/useSearch.esm.js +2 -2
- package/dist/esm/Form/Select/MultiSelect/useSearch.esm.js.map +1 -1
- package/dist/esm/Form/Select/SingleSelect/Option.esm.js +3 -3
- package/dist/esm/Form/Select/SingleSelect/Option.esm.js.map +1 -1
- package/dist/esm/Form/Select/SingleSelect/Select.esm.js +22 -22
- package/dist/esm/Form/Select/SingleSelect/Select.esm.js.map +1 -1
- package/dist/esm/Form/Select/SingleSelect/Select.module.scss.esm.js +2 -2
- package/dist/esm/Form/Select/SingleSelect/useSearch.esm.js +2 -2
- package/dist/esm/Form/Select/SingleSelect/useSearch.esm.js.map +1 -1
- package/dist/esm/Form/Select/useAddNewBtn.esm.js +3 -3
- package/dist/esm/Form/Select/useAddNewBtn.esm.js.map +1 -1
- package/dist/esm/Form/Select/useAddNewBtn.module.scss.esm.js +2 -2
- package/dist/esm/Form/Textarea/Textarea.esm.js +6 -6
- package/dist/esm/Form/Textarea/Textarea.esm.js.map +1 -1
- package/dist/esm/Form/Textarea/Textarea.module.scss.esm.js +2 -2
- package/dist/esm/Form/Toggle/Toggle.esm.js +5 -5
- package/dist/esm/Form/Toggle/Toggle.esm.js.map +1 -1
- package/dist/esm/Form/Toggle/Toggle.module.scss.esm.js +2 -2
- package/dist/esm/Form/Wrapper/CheckboxWrapper/CheckboxWrapper.esm.js +5 -5
- package/dist/esm/Form/Wrapper/CheckboxWrapper/CheckboxWrapper.esm.js.map +1 -1
- package/dist/esm/Form/Wrapper/CheckboxWrapper/CheckboxWrapper.module.scss.esm.js +2 -2
- package/dist/esm/Form/Wrapper/InputWrapper/InputWrapper.esm.js +4 -4
- package/dist/esm/Form/Wrapper/InputWrapper/InputWrapper.esm.js.map +1 -1
- package/dist/esm/Form/Wrapper/InputWrapper/InputWrapper.module.scss.esm.js +2 -2
- package/dist/esm/Form/Wrapper/MultiSelectWrapper/MultiSelectWrapper.esm.js +4 -4
- package/dist/esm/Form/Wrapper/MultiSelectWrapper/MultiSelectWrapper.esm.js.map +1 -1
- package/dist/esm/Form/Wrapper/MultiSelectWrapper/MultiSelectWrapper.module.scss.esm.js +2 -2
- package/dist/esm/Form/Wrapper/RadioWrapper/RadioWrapper.esm.js +6 -6
- package/dist/esm/Form/Wrapper/RadioWrapper/RadioWrapper.esm.js.map +1 -1
- package/dist/esm/Form/Wrapper/RadioWrapper/RadioWrapper.module.scss.esm.js +2 -2
- package/dist/esm/Form/Wrapper/SelectWrapper/SelectWrapper.esm.js +4 -4
- package/dist/esm/Form/Wrapper/SelectWrapper/SelectWrapper.esm.js.map +1 -1
- package/dist/esm/Form/Wrapper/SelectWrapper/SelectWrapper.module.scss.esm.js +2 -2
- package/dist/esm/Form/Wrapper/TextareaWrapper/TextareaWrapper.esm.js +5 -5
- package/dist/esm/Form/Wrapper/TextareaWrapper/TextareaWrapper.esm.js.map +1 -1
- package/dist/esm/Form/Wrapper/TextareaWrapper/TextareaWrapper.module.scss.esm.js +2 -2
- package/dist/esm/Form/Wrapper/Wrapper/Wrapper.esm.js +7 -7
- package/dist/esm/Form/Wrapper/Wrapper/Wrapper.esm.js.map +1 -1
- package/dist/esm/Form/Wrapper/Wrapper/Wrapper.module.scss.esm.js +2 -2
- package/dist/esm/Icon/Icon.esm.js +4 -3
- package/dist/esm/Icon/Icon.esm.js.map +1 -1
- package/dist/esm/Icon/Icon.module.scss.esm.js +2 -2
- package/dist/esm/Layout/ContentHeader/ContentHeader.esm.js +37 -9
- package/dist/esm/Layout/ContentHeader/ContentHeader.esm.js.map +1 -1
- package/dist/esm/Layout/ContentHeader/ContentHeader.module.scss.esm.js +2 -2
- package/dist/esm/Layout/FormPage/FormWithStepper/FormSection/FormSection.esm.js +6 -6
- package/dist/esm/Layout/FormPage/FormWithStepper/FormSection/FormSection.esm.js.map +1 -1
- package/dist/esm/Layout/FormPage/FormWithStepper/FormSection/FormSection.module.scss.esm.js +2 -2
- package/dist/esm/Layout/FormPage/FormWithStepper/FormStepper/FormStepper.esm.js +3 -3
- package/dist/esm/Layout/FormPage/FormWithStepper/FormStepper/FormStepper.esm.js.map +1 -1
- package/dist/esm/Layout/FormPage/FormWithStepper/FormStepper/FormStepper.module.scss.esm.js +2 -2
- package/dist/esm/Layout/FormPage/FormWithStepper/FormWithStepper.esm.js +3 -3
- package/dist/esm/Layout/FormPage/FormWithStepper/FormWithStepper.esm.js.map +1 -1
- package/dist/esm/Layout/FormPage/FormWithStepper/FormWithStepper.module.scss.esm.js +2 -2
- package/dist/esm/Link/Link.esm.js +5 -5
- package/dist/esm/Link/Link.esm.js.map +1 -1
- package/dist/esm/Link/Link.module.scss.esm.js +2 -2
- package/dist/esm/Notifications/Alert/AlertContainer/AlertContainer.esm.js +2 -2
- package/dist/esm/Notifications/Alert/AlertContainer/AlertContainer.esm.js.map +1 -1
- package/dist/esm/Notifications/Alert/AlertContainer/AlertContainer.module.scss.esm.js +2 -2
- package/dist/esm/Notifications/Alert/AlertItem/AlertItem.esm.js +11 -11
- package/dist/esm/Notifications/Alert/AlertItem/AlertItem.esm.js.map +1 -1
- package/dist/esm/Notifications/Alert/AlertItem/AlertItem.module.scss.esm.js +2 -2
- package/dist/esm/Notifications/Alert/AlertProvider/AlertProvider.esm.js +4 -4
- package/dist/esm/Notifications/Alert/AlertProvider/AlertProvider.esm.js.map +1 -1
- package/dist/esm/Notifications/Banner/Banner.esm.js +7 -7
- package/dist/esm/Notifications/Banner/Banner.esm.js.map +1 -1
- package/dist/esm/Notifications/Banner/Banner.module.scss.esm.js +2 -2
- package/dist/esm/Notifications/BaseModal/BaseModal.esm.js +8 -8
- package/dist/esm/Notifications/BaseModal/BaseModal.esm.js.map +1 -1
- package/dist/esm/Notifications/BaseModal/BaseModal.module.scss.esm.js +2 -2
- package/dist/esm/Notifications/BaseModal/BaseModalActions/BaseModalActions.esm.js +7 -7
- package/dist/esm/Notifications/BaseModal/BaseModalActions/BaseModalActions.esm.js.map +1 -1
- package/dist/esm/Notifications/BaseModal/BaseModalActions/BaseModalActions.module.scss.esm.js +2 -2
- package/dist/esm/Notifications/BaseModal/BaseModalContent/BaseModalContent.esm.js +3 -3
- package/dist/esm/Notifications/BaseModal/BaseModalContent/BaseModalContent.esm.js.map +1 -1
- package/dist/esm/Notifications/BaseModal/BaseModalContent/BaseModalContent.module.scss.esm.js +2 -2
- package/dist/esm/Notifications/BaseModal/BaseModalHeader/BaseModalHeader.esm.js +9 -9
- package/dist/esm/Notifications/BaseModal/BaseModalHeader/BaseModalHeader.esm.js.map +1 -1
- package/dist/esm/Notifications/BaseModal/BaseModalHeader/BaseModalHeader.module.scss.esm.js +2 -2
- package/dist/esm/Notifications/Dialog/Dialog.esm.js +9 -9
- package/dist/esm/Notifications/Dialog/Dialog.esm.js.map +1 -1
- package/dist/esm/Notifications/Dialog/Dialog.module.scss.esm.js +2 -2
- package/dist/esm/Notifications/Dialog/DialogActions/DialogActions.esm.js +3 -3
- package/dist/esm/Notifications/Dialog/DialogActions/DialogActions.esm.js.map +1 -1
- package/dist/esm/Notifications/Dialog/DialogActions/DialogActions.module.scss.esm.js +2 -2
- package/dist/esm/Notifications/Dialog/DialogTitle/DialogTitle.esm.js +10 -10
- package/dist/esm/Notifications/Dialog/DialogTitle/DialogTitle.esm.js.map +1 -1
- package/dist/esm/Notifications/Dialog/DialogTitle/DialogTitle.module.scss.esm.js +2 -2
- package/dist/esm/Notifications/DiscardChangesModal/DiscardChangesDialog/DiscardChangesDialog.esm.js +4 -4
- package/dist/esm/Notifications/DiscardChangesModal/DiscardChangesDialog/DiscardChangesDialog.esm.js.map +1 -1
- package/dist/esm/Notifications/DiscardChangesModal/DiscardChangesModal.esm.js +5 -5
- package/dist/esm/Notifications/DiscardChangesModal/DiscardChangesModal.esm.js.map +1 -1
- package/dist/esm/Notifications/NotificationProvider/NotificationContext.esm.js +3 -3
- package/dist/esm/Notifications/NotificationProvider/NotificationContext.esm.js.map +1 -1
- package/dist/esm/Notifications/SideSheet/SideSheet.esm.js +11 -11
- package/dist/esm/Notifications/SideSheet/SideSheet.esm.js.map +1 -1
- package/dist/esm/Notifications/SideSheet/SideSheet.module.scss.esm.js +2 -2
- package/dist/esm/Notifications/SideSheet/SideSheetContent/SideSheetContent.esm.js +2 -2
- package/dist/esm/Notifications/SideSheet/SideSheetContent/SideSheetContent.esm.js.map +1 -1
- package/dist/esm/Notifications/SideSheet/SideSheetContent/SideSheetContent.module.scss.esm.js +2 -2
- package/dist/esm/Notifications/SideSheet/SideSheetHeader/SideSheetHeader.esm.js +2 -2
- package/dist/esm/Notifications/SideSheet/SideSheetHeader/SideSheetHeader.esm.js.map +1 -1
- package/dist/esm/Notifications/SideSheet/SideSheetHeader/SideSheetHeader.module.scss.esm.js +2 -2
- package/dist/esm/Notifications/SlideInModal/SlideInModal.esm.js +3 -3
- package/dist/esm/Notifications/SlideInModal/SlideInModal.esm.js.map +1 -1
- package/dist/esm/Notifications/SlideInModal/SlideInModal.module.scss.esm.js +2 -2
- package/dist/esm/Pagination/Pagination.esm.js +29 -29
- package/dist/esm/Pagination/Pagination.esm.js.map +1 -1
- package/dist/esm/Pagination/Pagination.module.scss.esm.js +2 -2
- package/dist/esm/Popover/Popover.esm.js +4 -4
- package/dist/esm/Popover/Popover.esm.js.map +1 -1
- package/dist/esm/Popover/Popover.module.scss.esm.js +2 -2
- package/dist/esm/ProgressBar/ProgressBar.esm.js +10 -10
- package/dist/esm/ProgressBar/ProgressBar.esm.js.map +1 -1
- package/dist/esm/ProgressBar/ProgressBar.module.scss.esm.js +2 -2
- package/dist/esm/Skeleton/Skeleton.esm.js +3 -3
- package/dist/esm/Skeleton/Skeleton.esm.js.map +1 -1
- package/dist/esm/Skeleton/Skeleton.module.scss.esm.js +2 -2
- package/dist/esm/Spinner/Spinner.esm.js +4 -4
- package/dist/esm/Spinner/Spinner.esm.js.map +1 -1
- package/dist/esm/Spinner/Spinner.module.scss.esm.js +2 -2
- package/dist/esm/Stepper/Step.esm.js +10 -10
- package/dist/esm/Stepper/Step.esm.js.map +1 -1
- package/dist/esm/Stepper/Step.module.scss.esm.js +2 -2
- package/dist/esm/Stepper/Stepper.esm.js +2 -2
- package/dist/esm/Stepper/Stepper.esm.js.map +1 -1
- package/dist/esm/Stepper/Stepper.module.scss.esm.js +2 -2
- package/dist/esm/Tabs/Tab.esm.js +2 -2
- package/dist/esm/Tabs/Tab.esm.js.map +1 -1
- package/dist/esm/Tabs/Tab.module.scss.esm.js +2 -2
- package/dist/esm/Tabs/TabButton.esm.js +4 -4
- package/dist/esm/Tabs/TabButton.esm.js.map +1 -1
- package/dist/esm/Tabs/TabButton.module.scss.esm.js +2 -2
- package/dist/esm/Tabs/Tabs.esm.js +10 -10
- package/dist/esm/Tabs/Tabs.esm.js.map +1 -1
- package/dist/esm/Tabs/Tabs.module.scss.esm.js +2 -2
- package/dist/esm/Tag/RemoveButton.esm.js +4 -4
- package/dist/esm/Tag/RemoveButton.esm.js.map +1 -1
- package/dist/esm/Tag/RemoveButton.module.scss.esm.js +2 -2
- package/dist/esm/Tag/Tag.esm.js +7 -7
- package/dist/esm/Tag/Tag.esm.js.map +1 -1
- package/dist/esm/Tag/Tag.module.scss.esm.js +2 -2
- package/dist/esm/TextEllipsis/TextEllipsis.esm.js +4 -4
- package/dist/esm/TextEllipsis/TextEllipsis.esm.js.map +1 -1
- package/dist/esm/TextEllipsis/TextEllipsis.module.scss.esm.js +2 -2
- package/dist/esm/Tiles/Tile.esm.js +11 -11
- package/dist/esm/Tiles/Tile.esm.js.map +1 -1
- package/dist/esm/Tiles/Tile.module.scss.esm.js +2 -2
- package/dist/esm/Tiles/Tiles.esm.js +6 -6
- package/dist/esm/Tiles/Tiles.esm.js.map +1 -1
- package/dist/esm/Tiles/Tiles.module.scss.esm.js +2 -2
- package/dist/esm/Tooltip/Tooltip.esm.js +10 -10
- package/dist/esm/Tooltip/Tooltip.esm.js.map +1 -1
- package/dist/esm/Tooltip/Tooltip.module.scss.esm.js +2 -2
- package/dist/esm/Typography/Typography.esm.js +3 -3
- package/dist/esm/Typography/Typography.esm.js.map +1 -1
- package/dist/esm/Typography/Typography.module.scss.esm.js +2 -2
- package/dist/esm/_BaseStyling_/BaseStyling.esm.js +4 -2
- package/dist/esm/_BaseStyling_/BaseStyling.esm.js.map +1 -1
- package/dist/esm/admin/layout/LeftNav/LeftNav.esm.js +41 -0
- package/dist/esm/admin/layout/LeftNav/LeftNav.esm.js.map +1 -0
- package/dist/esm/admin/layout/LeftNav/LeftNav.module.scss.esm.js +8 -0
- package/dist/esm/admin/layout/LeftNav/LeftNav.module.scss.esm.js.map +1 -0
- package/dist/esm/admin/layout/LeftNav/LeftNavItem/ButtonLeftNavItem.esm.js +74 -0
- package/dist/esm/admin/layout/LeftNav/LeftNavItem/ButtonLeftNavItem.esm.js.map +1 -0
- package/dist/esm/admin/layout/LeftNav/LeftNavItem/LeftNavItem.esm.js +28 -0
- package/dist/esm/admin/layout/LeftNav/LeftNavItem/LeftNavItem.esm.js.map +1 -0
- package/dist/esm/admin/layout/LeftNav/LeftNavItem/LeftNavItem.module.scss.esm.js +8 -0
- package/dist/esm/admin/layout/LeftNav/LeftNavItem/LeftNavItem.module.scss.esm.js.map +1 -0
- package/dist/esm/admin/layout/LeftNav/LeftNavItem/LinkLeftNavItem.esm.js +59 -0
- package/dist/esm/admin/layout/LeftNav/LeftNavItem/LinkLeftNavItem.esm.js.map +1 -0
- package/dist/esm/admin/layout/LeftNav/LeftNavItem/useKeyboardNavigation.esm.js +56 -0
- package/dist/esm/admin/layout/LeftNav/LeftNavItem/useKeyboardNavigation.esm.js.map +1 -0
- package/dist/esm/admin/layout/LeftNav/useRefItems.esm.js +236 -0
- package/dist/esm/admin/layout/LeftNav/useRefItems.esm.js.map +1 -0
- package/dist/esm/admin/layout/MicrofrontendContainer/MicrofrontendContainer.esm.js +4 -4
- package/dist/esm/admin/layout/MicrofrontendContainer/MicrofrontendContainer.esm.js.map +1 -1
- package/dist/esm/admin/layout/MicrofrontendContainer/MicrofrontendContainer.module.scss.esm.js +2 -2
- package/dist/esm/miscellaneous/IdentityProviderButton.esm.js +4 -4
- package/dist/esm/miscellaneous/IdentityProviderButton.esm.js.map +1 -1
- package/dist/esm/miscellaneous/IdentityProviderButton.module.scss.esm.js +2 -2
- package/dist/esm/node_modules/@remix-run/router/dist/router.esm.js +373 -0
- package/dist/esm/node_modules/@remix-run/router/dist/router.esm.js.map +1 -0
- package/dist/esm/node_modules/react-router/dist/index.esm.js +328 -0
- package/dist/esm/node_modules/react-router/dist/index.esm.js.map +1 -0
- package/dist/esm/node_modules/react-router-dom/dist/index.esm.js +609 -0
- package/dist/esm/node_modules/react-router-dom/dist/index.esm.js.map +1 -0
- package/dist/esm/src/components/Icon/Icon.d.ts +1 -0
- package/dist/esm/src/components/Layout/ContentHeader/ContentHeader.d.ts +16 -2
- package/dist/esm/src/components/_BaseStyling_/BaseStyling.d.ts +2 -0
- package/dist/esm/src/components/admin/layout/LeftNav/LeftNav.d.ts +10 -0
- package/dist/esm/src/components/admin/layout/LeftNav/LeftNav.interfaces.d.ts +13 -0
- package/dist/esm/src/components/admin/layout/LeftNav/LeftNav.test.d.ts +1 -0
- package/dist/esm/src/components/admin/layout/LeftNav/LeftNavItem/ButtonLeftNavItem.d.ts +13 -0
- package/dist/esm/src/components/admin/layout/LeftNav/LeftNavItem/LeftNavItem.d.ts +3 -0
- package/dist/esm/src/components/admin/layout/LeftNav/LeftNavItem/LeftNavItem.interface.d.ts +10 -0
- package/dist/esm/src/components/admin/layout/LeftNav/LeftNavItem/LeftNavItem.test.d.ts +1 -0
- package/dist/esm/src/components/admin/layout/LeftNav/LeftNavItem/LinkLeftNavItem.d.ts +10 -0
- package/dist/esm/src/components/admin/layout/LeftNav/LeftNavItem/useKeyboardNavigation.d.ts +12 -0
- package/dist/esm/src/components/admin/layout/LeftNav/useRefItems.d.ts +22 -0
- package/dist/esm/src/components/admin/layout/LeftNav/useRefItems.test.d.ts +1 -0
- package/dist/esm/src/hooks/useDebouncedCallback.esm.js +3 -3
- package/dist/esm/src/hooks/useDebouncedCallback.esm.js.map +1 -1
- package/dist/esm/src/hooks/useDetermineStatusIcon.esm.js +3 -3
- package/dist/esm/src/hooks/useDetermineStatusIcon.esm.js.map +1 -1
- package/dist/esm/src/hooks/useRepeater.esm.js +2 -2
- package/dist/esm/src/hooks/useRepeater.esm.js.map +1 -1
- package/dist/esm/src/index.d.ts +2 -0
- package/dist/esm/src/index.esm.js +1 -0
- package/dist/esm/src/index.esm.js.map +1 -1
- package/dist/esm/src/readyclasses.module.scss.esm.js +2 -2
- package/dist/esm/withReadOnly.esm.js +3 -3
- package/dist/esm/withReadOnly.esm.js.map +1 -1
- package/package.json +2 -1
- package/src/components/Button/IconButton.tsx +9 -5
- package/src/components/Icon/Icon.module.scss +4 -0
- package/src/components/Icon/Icon.tsx +1 -0
- package/src/components/Layout/ContentHeader/ContentHeader.module.scss +51 -0
- package/src/components/Layout/ContentHeader/ContentHeader.tsx +82 -6
- package/src/components/_BaseStyling_/BaseStyling.tsx +4 -0
- package/src/components/admin/layout/LeftNav/LeftNav.interfaces.ts +30 -0
- package/src/components/admin/layout/LeftNav/LeftNav.module.scss +52 -0
- package/src/components/admin/layout/LeftNav/LeftNav.tsx +81 -0
- package/src/components/admin/layout/LeftNav/LeftNavItem/ButtonLeftNavItem.tsx +153 -0
- package/src/components/admin/layout/LeftNav/LeftNavItem/LeftNavItem.interface.ts +27 -0
- package/src/components/admin/layout/LeftNav/LeftNavItem/LeftNavItem.module.scss +217 -0
- package/src/components/admin/layout/LeftNav/LeftNavItem/LeftNavItem.tsx +34 -0
- package/src/components/admin/layout/LeftNav/LeftNavItem/LinkLeftNavItem.tsx +105 -0
- package/src/components/admin/layout/LeftNav/LeftNavItem/useKeyboardNavigation.ts +64 -0
- package/src/components/admin/layout/LeftNav/useRefItems.ts +280 -0
- package/src/font/icomoon.eot +0 -0
- package/src/font/icomoon.svg +1 -0
- package/src/font/icomoon.ttf +0 -0
- package/src/font/icomoon.woff +0 -0
- package/src/font/selection.json +1 -1
- package/src/index.ts +2 -0
- package/src/mixins.module.scss +33 -0
- 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":";;;;;;AAAA;;;;;;;;;;;;;;AAcG;AA4BH,MAAM,kBAAkB,GAAG,EAAE,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;AAEtF,MAAM,0BAA0B,GAAiD,CAC/E,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,eAAe,EAAE,eAAe,EAAE,EAC3E,GAAG,KACD;;IACF,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,cAAc,GAAG,CAAC,EAAC,CAAA,EAAA,GAAA,IAAI,CAAC,KAAK,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAA,CAAC;AACvE,IAAA,MAAM,EAAE,oBAAoB,EAAE,GAAG,qBAAqB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;AAE5F,IAAA,MAAM,oBAAoB,GAAG,CAAC,KAAoC,KAAI;AACpE,QAAA,MAAM,aAAa,GAAG,CAAC,CAAE,KAAK,CAAC,MAAsB,CAAC,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;AAC5F,QAAA,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YACjD,KAAK,CAAC,cAAc,EAAE,CAAC;AACvB,YAAA,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpB,YAAA,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SAC9B;AACH,KAAC,CAAC;IAEF,MAAM,wBAAwB,GAAG,MAAK;QACpC,WAAW,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,CAAC;AACrC,KAAC,CAAC;IAEF,MAAM,2BAA2B,GAAG,MAAK;QACvC,IAAI,cAAc,EAAE;YAClB,WAAW,CAAC,IAAI,CAAC,CAAC;SACnB;AACH,KAAC,CAAC;AAEF,IAAA,SAAS,CAAC,2BAA2B,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAEzD,MAAM,iBAAiB,GAAG,MAAK;AAC7B,QAAA,MAAM,aAAa,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QACrE,QAAQ,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;AACpD,QAAA,CAAC,IAAI,CAAC,MAAM,IAAI,cAAc,KAAK,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC;AACnF,QAAA,IAAI,CAAC,QAAQ,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;AACzD,QAAA,MAAM,oBAAoB,GAAG,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACzF,QAAQ,IAAI,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;AAC3D,QAAA,IAAI,CAAC,MAAM,IAAI,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC;QACtE,OAAO;YACL,aAAa;YACb,oBAAoB;SACrB,CAAC;AACJ,KAAC,CAAC;IAEF,MAAM,EAAE,aAAa,EAAE,oBAAoB,EAAE,GAAG,iBAAiB,EAAE,CAAC;AACpE,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;AAErD,IAAA,QACEA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAI,SAAS,EAAE,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAe,aAAA,EAAA,IAAI,CAAC,GAAG,EAAA;AAClE,QAAAA,cAAA,CAAA,aAAA,CAAA,QAAA,EAAA,EAAA,eAAA,EACiB,IAAI,CAAC,GAAG,iBACV,CAAW,QAAA,EAAA,IAAI,CAAC,GAAG,CAAA,CAAE,EACnB,eAAA,EAAA,QAAQ,EACvB,GAAG,EAAE,GAA6B,EAClC,SAAS,EAAE,oBAAoB,EAC/B,OAAO,EAAE,oBAAoB,EAC7B,SAAS,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,EAClC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,QAAQ,EAAA;AAElB,YAAAA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,OAAO,CAAC,wBAAwB,CAAC,EAAA;AAC9C,gBAAA,IAAI,CAAC,aAAa;AACjB,oBAAAA,cAAK,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;AACjF,gBAAA,IAAI,CAAC,IAAI,IACRA,cAAC,CAAA,aAAA,CAAAC,IAAU,EACT,EAAA,EAAE,EAAE,IAAI,CAAC,IAAI,EACC,cAAA,EAAA,IAAI,CAAC,MAAM,GAAG,MAAM,GAAG,KAAK,EAC1C,SAAS,EAAE,OAAO,CAAC,gBAAgB,CAAC,EACpC,QAAQ,EAAE,CAAC,CAAC,EAEX,EAAA,IAAI,CAAC,KAAK,CACA,KAEbD,cAAM,CAAA,aAAA,CAAA,MAAA,EAAA,EAAA,SAAS,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAAA,EAAG,IAAI,CAAC,KAAK,CAAQ,CAChE,CACG;AACN,YAAAA,cAAA,CAAA,aAAA,CAAC,IAAI,EAAA,EACH,OAAO,EAAE,wBAAwB,EACjC,SAAS,EAAE,OAAO,CAAC,uBAAuB,CAAC,EAC3C,IAAI,EAAE,KAAK,CAAC,WAAW,EACjB,CAAC,CAAQ,KAAA,EAAA,kBAAkB,CAAC,YAAY,CAAE,CAAA,GAAG,MAAM,GACzD,CACK;AACT,QAAAA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EACE,EAAE,EAAE,IAAI,CAAC,GAAG,EACZ,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,GAAG,SAAS,GAAG,CAAC,EAAE,EAC9C,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,EAAA,EAE9B,CAAC,IAAI,CAAC,QAAQ;AACb,aAAA,CAAA,EAAA,GAAA,IAAI,CAAC,KAAK,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAG,CAAC,IAAI,KAClBA,cAAC,CAAA,aAAA,CAAA,eAAe,EACd,EAAA,GAAG,EAAE,EAAE,IAAI,QAAQ,CAAC,mBAAmB,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,EACrD,GAAG,EAAE,IAAI,CAAC,GAAG,EACb,eAAe,EAAE,MAAM,WAAW,CAAC,KAAK,CAAC,EACzC,OAAO,EAAE,oBAAoB,EAC7B,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,EAEjB,EAAA,IAAI,CAAC,KAAK,CACK,CACnB,CAAC,CAAA,CACD,CACF,EACL;AACJ,CAAC,CAAC;AAEW,MAAA,iBAAiB,GAAGA,cAAK,CAAC,UAAU,CAAC,0BAA0B;;;;"}
|
|
@@ -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_P9Ljx{background-color:initial;border:0;font-family:var(--font-family)}.LeftNavItem_menu-button_P9Ljx a{color:inherit;text-decoration:inherit}.LeftNavItem_menu-button_P9Ljx a:active,.LeftNavItem_menu-button_P9Ljx a:focus,.LeftNavItem_menu-button_P9Ljx a:hover{color:inherit}.LeftNavItem_menu-link_P9Ljx{text-decoration:none}.LeftNavItem_menu-button-wrapper_P9Ljx>.LeftNavItem_menu-button_P9Ljx+ul>.LeftNavItem_menu-button-wrapper_P9Ljx,.LeftNavItem_menu-button-wrapper_P9Ljx>.LeftNavItem_menu-button_P9Ljx+ul>a{opacity:0;transform:translateY(-60px)}.LeftNavItem_menu-button-wrapper_P9Ljx.LeftNavItem_expanded_P9Ljx>.LeftNavItem_menu-button_P9Ljx+ul>.LeftNavItem_menu-button-wrapper_P9Ljx,.LeftNavItem_menu-button-wrapper_P9Ljx.LeftNavItem_expanded_P9Ljx>.LeftNavItem_menu-button_P9Ljx+ul>li{animation-duration:.25s;animation-fill-mode:forwards;animation-name:LeftNavItem_item-fade-in_P9Ljx;opacity:0}.LeftNavItem_menu-button-wrapper_P9Ljx.LeftNavItem_expanded_P9Ljx>.LeftNavItem_menu-button_P9Ljx+ul>.LeftNavItem_menu-button-wrapper_P9Ljx:first-child,.LeftNavItem_menu-button-wrapper_P9Ljx.LeftNavItem_expanded_P9Ljx>.LeftNavItem_menu-button_P9Ljx+ul>li:first-child{animation-delay:0ms}.LeftNavItem_menu-button-wrapper_P9Ljx.LeftNavItem_expanded_P9Ljx>.LeftNavItem_menu-button_P9Ljx+ul>.LeftNavItem_menu-button-wrapper_P9Ljx:nth-child(2),.LeftNavItem_menu-button-wrapper_P9Ljx.LeftNavItem_expanded_P9Ljx>.LeftNavItem_menu-button_P9Ljx+ul>li:nth-child(2){animation-delay:.1s}.LeftNavItem_menu-button-wrapper_P9Ljx.LeftNavItem_expanded_P9Ljx>.LeftNavItem_menu-button_P9Ljx+ul>.LeftNavItem_menu-button-wrapper_P9Ljx:nth-child(3),.LeftNavItem_menu-button-wrapper_P9Ljx.LeftNavItem_expanded_P9Ljx>.LeftNavItem_menu-button_P9Ljx+ul>li:nth-child(3){animation-delay:.2s}.LeftNavItem_menu-button-wrapper_P9Ljx.LeftNavItem_expanded_P9Ljx>.LeftNavItem_menu-button_P9Ljx+ul>.LeftNavItem_menu-button-wrapper_P9Ljx:nth-child(4),.LeftNavItem_menu-button-wrapper_P9Ljx.LeftNavItem_expanded_P9Ljx>.LeftNavItem_menu-button_P9Ljx+ul>li:nth-child(4){animation-delay:.3s}.LeftNavItem_menu-button-wrapper_P9Ljx.LeftNavItem_expanded_P9Ljx>.LeftNavItem_menu-button_P9Ljx+ul>.LeftNavItem_menu-button-wrapper_P9Ljx:nth-child(5),.LeftNavItem_menu-button-wrapper_P9Ljx.LeftNavItem_expanded_P9Ljx>.LeftNavItem_menu-button_P9Ljx+ul>li:nth-child(5){animation-delay:.4s}.LeftNavItem_menu-button-wrapper_P9Ljx.LeftNavItem_expanded_P9Ljx>.LeftNavItem_menu-button_P9Ljx+ul>.LeftNavItem_menu-button-wrapper_P9Ljx:nth-child(6),.LeftNavItem_menu-button-wrapper_P9Ljx.LeftNavItem_expanded_P9Ljx>.LeftNavItem_menu-button_P9Ljx+ul>li:nth-child(6){animation-delay:.5s}.LeftNavItem_menu-button-wrapper_P9Ljx.LeftNavItem_expanded_P9Ljx>.LeftNavItem_menu-button_P9Ljx+ul>.LeftNavItem_menu-button-wrapper_P9Ljx:nth-child(7),.LeftNavItem_menu-button-wrapper_P9Ljx.LeftNavItem_expanded_P9Ljx>.LeftNavItem_menu-button_P9Ljx+ul>li:nth-child(7){animation-delay:.6s}.LeftNavItem_menu-button-wrapper_P9Ljx.LeftNavItem_expanded_P9Ljx>.LeftNavItem_menu-button_P9Ljx+ul>.LeftNavItem_menu-button-wrapper_P9Ljx:nth-child(8),.LeftNavItem_menu-button-wrapper_P9Ljx.LeftNavItem_expanded_P9Ljx>.LeftNavItem_menu-button_P9Ljx+ul>li:nth-child(8){animation-delay:.7s}.LeftNavItem_menu-button-wrapper_P9Ljx.LeftNavItem_expanded_P9Ljx>.LeftNavItem_menu-button_P9Ljx+ul>.LeftNavItem_menu-button-wrapper_P9Ljx:nth-child(9),.LeftNavItem_menu-button-wrapper_P9Ljx.LeftNavItem_expanded_P9Ljx>.LeftNavItem_menu-button_P9Ljx+ul>li:nth-child(9){animation-delay:.8s}.LeftNavItem_menu-button-wrapper_P9Ljx.LeftNavItem_expanded_P9Ljx>.LeftNavItem_menu-button_P9Ljx+ul>.LeftNavItem_menu-button-wrapper_P9Ljx:nth-child(10),.LeftNavItem_menu-button-wrapper_P9Ljx.LeftNavItem_expanded_P9Ljx>.LeftNavItem_menu-button_P9Ljx+ul>li:nth-child(10){animation-delay:.9s}.LeftNavItem_menu-button-wrapper_P9Ljx.LeftNavItem_expanded_P9Ljx>.LeftNavItem_menu-button_P9Ljx+ul>.LeftNavItem_menu-button-wrapper_P9Ljx:nth-child(11),.LeftNavItem_menu-button-wrapper_P9Ljx.LeftNavItem_expanded_P9Ljx>.LeftNavItem_menu-button_P9Ljx+ul>li:nth-child(11){animation-delay:1s}.LeftNavItem_menu-button-wrapper_P9Ljx.LeftNavItem_expanded_P9Ljx>.LeftNavItem_menu-button_P9Ljx+ul>.LeftNavItem_menu-button-wrapper_P9Ljx:nth-child(12),.LeftNavItem_menu-button-wrapper_P9Ljx.LeftNavItem_expanded_P9Ljx>.LeftNavItem_menu-button_P9Ljx+ul>li:nth-child(12){animation-delay:1.1s}.LeftNavItem_menu-button-wrapper_P9Ljx.LeftNavItem_expanded_P9Ljx>.LeftNavItem_menu-button_P9Ljx+ul>.LeftNavItem_menu-button-wrapper_P9Ljx:nth-child(13),.LeftNavItem_menu-button-wrapper_P9Ljx.LeftNavItem_expanded_P9Ljx>.LeftNavItem_menu-button_P9Ljx+ul>li:nth-child(13){animation-delay:1.2s}.LeftNavItem_menu-button-wrapper_P9Ljx.LeftNavItem_expanded_P9Ljx>.LeftNavItem_menu-button_P9Ljx+ul>.LeftNavItem_menu-button-wrapper_P9Ljx:nth-child(14),.LeftNavItem_menu-button-wrapper_P9Ljx.LeftNavItem_expanded_P9Ljx>.LeftNavItem_menu-button_P9Ljx+ul>li:nth-child(14){animation-delay:1.3s}.LeftNavItem_menu-button-wrapper_P9Ljx.LeftNavItem_expanded_P9Ljx>.LeftNavItem_menu-button_P9Ljx+ul>.LeftNavItem_menu-button-wrapper_P9Ljx:nth-child(15),.LeftNavItem_menu-button-wrapper_P9Ljx.LeftNavItem_expanded_P9Ljx>.LeftNavItem_menu-button_P9Ljx+ul>li:nth-child(15){animation-delay:1.4s}.LeftNavItem_menu-button-wrapper_P9Ljx.LeftNavItem_expanded_P9Ljx>.LeftNavItem_menu-button_P9Ljx+ul>.LeftNavItem_menu-button-wrapper_P9Ljx:nth-child(16),.LeftNavItem_menu-button-wrapper_P9Ljx.LeftNavItem_expanded_P9Ljx>.LeftNavItem_menu-button_P9Ljx+ul>li:nth-child(16){animation-delay:1.5s}.LeftNavItem_menu-button-wrapper_P9Ljx.LeftNavItem_expanded_P9Ljx>.LeftNavItem_menu-button_P9Ljx+ul>.LeftNavItem_menu-button-wrapper_P9Ljx:nth-child(17),.LeftNavItem_menu-button-wrapper_P9Ljx.LeftNavItem_expanded_P9Ljx>.LeftNavItem_menu-button_P9Ljx+ul>li:nth-child(17){animation-delay:1.6s}.LeftNavItem_menu-button-wrapper_P9Ljx.LeftNavItem_expanded_P9Ljx>.LeftNavItem_menu-button_P9Ljx+ul>.LeftNavItem_menu-button-wrapper_P9Ljx:nth-child(18),.LeftNavItem_menu-button-wrapper_P9Ljx.LeftNavItem_expanded_P9Ljx>.LeftNavItem_menu-button_P9Ljx+ul>li:nth-child(18){animation-delay:1.7s}.LeftNavItem_menu-button-wrapper_P9Ljx.LeftNavItem_expanded_P9Ljx>.LeftNavItem_menu-button_P9Ljx+ul>.LeftNavItem_menu-button-wrapper_P9Ljx:nth-child(19),.LeftNavItem_menu-button-wrapper_P9Ljx.LeftNavItem_expanded_P9Ljx>.LeftNavItem_menu-button_P9Ljx+ul>li:nth-child(19){animation-delay:1.8s}.LeftNavItem_menu-list_P9Ljx{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_P9Ljx .LeftNavItem_menu-item-text-wrapper_P9Ljx{padding-left:2rem}.LeftNavItem_menu-list_P9Ljx a:focus-visible,.LeftNavItem_menu-list_P9Ljx button:focus-visible{outline-offset:-.0625rem}.LeftNavItem_menu-item_P9Ljx{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_P9Ljx:focus-visible{outline-offset:-.0625rem}.LeftNavItem_menu-item_P9Ljx .LeftNavItem_menu-item-text-wrapper_P9Ljx{display:flex}.LeftNavItem_menu-item_P9Ljx .LeftNavItem_menu-item-expand-icon_P9Ljx{margin:-.375rem;padding:.375rem}.LeftNavItem_menu-item_P9Ljx .LeftNavItem_menu-item-icon_P9Ljx{align-items:center;display:flex;font-size:1.125rem;justify-content:center;margin-right:.5rem;width:1.5rem}.LeftNavItem_menu-item-text_P9Ljx{align-items:center;display:flex}.LeftNavItem_menu-item-expand-icon_P9Ljx{color:var(--color-blue-grey900);font-size:.75rem;transition:all .15s ease-in-out}.LeftNavItem_menu-item_P9Ljx.LeftNavItem_expanded_P9Ljx .LeftNavItem_menu-item-expand-icon_P9Ljx{transform:rotate(180deg)}.LeftNavItem_menu-item_P9Ljx a{color:inherit}.LeftNavItem_menu-item_P9Ljx:hover{background-color:var(--color-blue-grey50)}.LeftNavItem_menu-item_P9Ljx:active,.LeftNavItem_menu-item_P9Ljx:focus{background-color:var(--color-blue-grey100);color:inherit}.LeftNavItem_menu-item_P9Ljx.LeftNavItem_disabled_P9Ljx{background-color:var(--color-blue-grey25);color:var(--color-blue-grey400);pointer-events:none}.LeftNavItem_menu-list-item_P9Ljx{position:relative}.LeftNavItem_menu-list-item_P9Ljx .LeftNavItem_menu-item_P9Ljx{padding:.75rem 1rem}.LeftNavItem_menu-list-item_P9Ljx a.LeftNavItem_menu-item-active_P9Ljx{background-color:var(--color-primary50)}.LeftNavItem_menu-list-item_P9Ljx a.LeftNavItem_menu-item-active_P9Ljx:hover{background-color:var(--color-blue-grey50)}.LeftNavItem_menu-list-item_P9Ljx a.LeftNavItem_menu-item-active_P9Ljx:active,.LeftNavItem_menu-list-item_P9Ljx a.LeftNavItem_menu-item-active_P9Ljx:focus{background-color:var(--color-blue-grey100)}.LeftNavItem_menu-list-item_P9Ljx a.LeftNavItem_menu-item-active_P9Ljx: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_P9Ljx a.LeftNavItem_menu-item-active_P9Ljx .LeftNavItem_menu-item-text_P9Ljx,.LeftNavItem_menu-list-item_P9Ljx button.LeftNavItem_menu-item-active_P9Ljx .LeftNavItem_menu-item-text_P9Ljx{font-weight:700}@keyframes LeftNavItem_item-fade-in_P9Ljx{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_P9Ljx","menu-link":"LeftNavItem_menu-link_P9Ljx","menu-button-wrapper":"LeftNavItem_menu-button-wrapper_P9Ljx","expanded":"LeftNavItem_expanded_P9Ljx","item-fade-in":"LeftNavItem_item-fade-in_P9Ljx","menu-list":"LeftNavItem_menu-list_P9Ljx","menu-item-text-wrapper":"LeftNavItem_menu-item-text-wrapper_P9Ljx","menu-item":"LeftNavItem_menu-item_P9Ljx","menu-item-expand-icon":"LeftNavItem_menu-item-expand-icon_P9Ljx","menu-item-icon":"LeftNavItem_menu-item-icon_P9Ljx","menu-item-text":"LeftNavItem_menu-item-text_P9Ljx","disabled":"LeftNavItem_disabled_P9Ljx","menu-list-item":"LeftNavItem_menu-list-item_P9Ljx","menu-item-active":"LeftNavItem_menu-item-active_P9Ljx"};
|
|
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":"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"}
|
|
@@ -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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"}
|