@laerdal/life-react-components 2.3.1-dev.3.full → 2.3.1-dev.30.full
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/Accordion/AccordionItem.cjs +2 -1
- package/dist/Accordion/AccordionItem.cjs.map +1 -1
- package/dist/Accordion/AccordionItem.js +2 -1
- package/dist/Accordion/AccordionItem.js.map +1 -1
- package/dist/Accordion/styles.cjs +8 -4
- package/dist/Accordion/styles.cjs.map +1 -1
- package/dist/Accordion/styles.js +8 -4
- package/dist/Accordion/styles.js.map +1 -1
- package/dist/AuthPage/AuthPage.cjs +1 -1
- package/dist/AuthPage/AuthPage.cjs.map +1 -1
- package/dist/AuthPage/AuthPage.d.ts +1 -0
- package/dist/AuthPage/AuthPage.js +1 -1
- package/dist/AuthPage/AuthPage.js.map +1 -1
- package/dist/Breadcrumb/Breadcrumb.cjs +34 -32
- package/dist/Breadcrumb/Breadcrumb.cjs.map +1 -1
- package/dist/Breadcrumb/Breadcrumb.d.ts +1 -0
- package/dist/Breadcrumb/Breadcrumb.js +34 -32
- package/dist/Breadcrumb/Breadcrumb.js.map +1 -1
- package/dist/Button/Iconbutton.cjs.map +1 -1
- package/dist/Button/Iconbutton.d.ts +1 -1
- package/dist/Button/Iconbutton.js.map +1 -1
- package/dist/Card/HorizontalCard/types.cjs.map +1 -1
- package/dist/Card/HorizontalCard/types.d.ts +1 -1
- package/dist/Card/HorizontalCard/types.js.map +1 -1
- package/dist/Dropdown/BasicDropdown.cjs +17 -5
- package/dist/Dropdown/BasicDropdown.cjs.map +1 -1
- package/dist/Dropdown/BasicDropdown.d.ts +1 -0
- package/dist/Dropdown/BasicDropdown.js +17 -5
- package/dist/Dropdown/BasicDropdown.js.map +1 -1
- package/dist/Dropdown/CommonStyling.cjs +6 -3
- package/dist/Dropdown/CommonStyling.cjs.map +1 -1
- package/dist/Dropdown/CommonStyling.d.ts +3 -1
- package/dist/Dropdown/CommonStyling.js +6 -3
- package/dist/Dropdown/CommonStyling.js.map +1 -1
- package/dist/Dropdown/DropdownButtonTypes.d.ts +1 -0
- package/dist/Dropdown/DropdownFilter.cjs +11 -1
- package/dist/Dropdown/DropdownFilter.cjs.map +1 -1
- package/dist/Dropdown/DropdownFilter.js +11 -1
- package/dist/Dropdown/DropdownFilter.js.map +1 -1
- package/dist/Footer/Components/FooterBottomLinks.d.ts +1 -0
- package/dist/Footer/Components/FooterDropdownLinks.d.ts +1 -0
- package/dist/Footer/Components/FooterNavSection.d.ts +1 -0
- package/dist/Footer/Components/FooterNewsletterAndSocialSection.d.ts +1 -0
- package/dist/Footer/Components/FooterTop.d.ts +1 -0
- package/dist/Footer/Footer.d.ts +1 -0
- package/dist/Footer/SiteFooter.cjs +30 -19
- package/dist/Footer/SiteFooter.cjs.map +1 -1
- package/dist/Footer/SiteFooter.d.ts +3 -1
- package/dist/Footer/SiteFooter.js +31 -19
- package/dist/Footer/SiteFooter.js.map +1 -1
- package/dist/GlobalNavigationBar/GlobalNavigationBar.cjs +3 -1
- package/dist/GlobalNavigationBar/GlobalNavigationBar.cjs.map +1 -1
- package/dist/GlobalNavigationBar/GlobalNavigationBar.js +3 -1
- package/dist/GlobalNavigationBar/GlobalNavigationBar.js.map +1 -1
- package/dist/GlobalNavigationBar/desktop/DesktopActions.cjs +2 -0
- package/dist/GlobalNavigationBar/desktop/DesktopActions.cjs.map +1 -1
- package/dist/GlobalNavigationBar/desktop/DesktopActions.js +2 -0
- package/dist/GlobalNavigationBar/desktop/DesktopActions.js.map +1 -1
- package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.cjs +7 -2
- package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.cjs.map +1 -1
- package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.d.ts +5 -0
- package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.js +6 -5
- package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.js.map +1 -1
- package/dist/GlobalNavigationBar/desktop/MainMenu.cjs +207 -56
- package/dist/GlobalNavigationBar/desktop/MainMenu.cjs.map +1 -1
- package/dist/GlobalNavigationBar/desktop/MainMenu.d.ts +2 -2
- package/dist/GlobalNavigationBar/desktop/MainMenu.js +207 -56
- package/dist/GlobalNavigationBar/desktop/MainMenu.js.map +1 -1
- package/dist/GlobalNavigationBar/desktop/SubMenu.cjs +259 -0
- package/dist/GlobalNavigationBar/desktop/SubMenu.cjs.map +1 -0
- package/dist/GlobalNavigationBar/desktop/SubMenu.d.ts +21 -0
- package/dist/GlobalNavigationBar/desktop/SubMenu.js +249 -0
- package/dist/GlobalNavigationBar/desktop/SubMenu.js.map +1 -0
- package/dist/GlobalNavigationBar/desktop/UserMenu.d.ts +1 -0
- package/dist/GlobalNavigationBar/mobile/MobileMenu.d.ts +1 -0
- package/dist/GlobalNavigationBar/types.cjs.map +1 -1
- package/dist/GlobalNavigationBar/types.d.ts +12 -2
- package/dist/GlobalNavigationBar/types.js.map +1 -1
- package/dist/GlobalNavigationBar/utils.cjs +17 -0
- package/dist/GlobalNavigationBar/utils.cjs.map +1 -0
- package/dist/GlobalNavigationBar/utils.d.ts +2 -0
- package/dist/GlobalNavigationBar/utils.js +10 -0
- package/dist/GlobalNavigationBar/utils.js.map +1 -0
- package/dist/InputFields/DatepickerField.cjs +18 -5
- package/dist/InputFields/DatepickerField.cjs.map +1 -1
- package/dist/InputFields/DatepickerField.d.ts +18 -1
- package/dist/InputFields/DatepickerField.js +18 -5
- package/dist/InputFields/DatepickerField.js.map +1 -1
- package/dist/InputFields/DatepickerFieldHeader.cjs +2 -4
- package/dist/InputFields/DatepickerFieldHeader.cjs.map +1 -1
- package/dist/InputFields/DatepickerFieldHeader.d.ts +1 -0
- package/dist/InputFields/DatepickerFieldHeader.js +2 -4
- package/dist/InputFields/DatepickerFieldHeader.js.map +1 -1
- package/dist/InputFields/Label.cjs.map +1 -1
- package/dist/InputFields/Label.d.ts +1 -1
- package/dist/InputFields/Label.js.map +1 -1
- package/dist/InputFields/NumberField.cjs +14 -4
- package/dist/InputFields/NumberField.cjs.map +1 -1
- package/dist/InputFields/NumberField.d.ts +15 -0
- package/dist/InputFields/NumberField.js +14 -4
- package/dist/InputFields/NumberField.js.map +1 -1
- package/dist/InputFields/PasswordField.cjs.map +1 -1
- package/dist/InputFields/PasswordField.d.ts +15 -1
- package/dist/InputFields/PasswordField.js.map +1 -1
- package/dist/InputFields/QuickSearch.cjs.map +1 -1
- package/dist/InputFields/QuickSearch.d.ts +1 -1
- package/dist/InputFields/QuickSearch.js.map +1 -1
- package/dist/InputFields/RadioButton.cjs.map +1 -1
- package/dist/InputFields/RadioButton.d.ts +16 -3
- package/dist/InputFields/RadioButton.js.map +1 -1
- package/dist/InputFields/SearchBar.cjs.map +1 -1
- package/dist/InputFields/SearchBar.d.ts +2 -2
- package/dist/InputFields/SearchBar.js.map +1 -1
- package/dist/InputFields/TextField.cjs +12 -3
- package/dist/InputFields/TextField.cjs.map +1 -1
- package/dist/InputFields/TextField.d.ts +20 -1
- package/dist/InputFields/TextField.js +12 -3
- package/dist/InputFields/TextField.js.map +1 -1
- package/dist/InputFields/index.cjs.map +1 -1
- package/dist/InputFields/index.d.ts +10 -8
- package/dist/InputFields/index.js.map +1 -1
- package/dist/InputFields/styling.cjs +7 -3
- package/dist/InputFields/styling.cjs.map +1 -1
- package/dist/InputFields/styling.d.ts +1 -0
- package/dist/InputFields/styling.js +7 -3
- package/dist/InputFields/styling.js.map +1 -1
- package/dist/InputFields/types.cjs.map +1 -1
- package/dist/InputFields/types.d.ts +0 -19
- package/dist/InputFields/types.js.map +1 -1
- package/dist/Layouts/index.cjs +4 -6
- package/dist/Layouts/index.cjs.map +1 -1
- package/dist/Layouts/index.d.ts +0 -1
- package/dist/Layouts/index.js +3 -4
- package/dist/Layouts/index.js.map +1 -1
- package/dist/LoadingIndicator/LoadingIndicator.d.ts +1 -0
- package/dist/MiniProductCard/MiniProductCard.d.ts +1 -0
- package/dist/Modals/ModalContent.cjs +1 -1
- package/dist/Modals/ModalContent.cjs.map +1 -1
- package/dist/Modals/ModalContent.js +1 -1
- package/dist/Modals/ModalContent.js.map +1 -1
- package/dist/Modals/ModalDialog.cjs +1 -1
- package/dist/Modals/ModalDialog.cjs.map +1 -1
- package/dist/Modals/ModalDialog.js +1 -1
- package/dist/Modals/ModalDialog.js.map +1 -1
- package/dist/NavItem/NavItem.cjs +2 -1
- package/dist/NavItem/NavItem.cjs.map +1 -1
- package/dist/NavItem/NavItem.d.ts +1 -0
- package/dist/NavItem/NavItem.js +1 -1
- package/dist/NavItem/NavItem.js.map +1 -1
- package/dist/NavItem/NestedNavItem.cjs +38 -0
- package/dist/NavItem/NestedNavItem.cjs.map +1 -0
- package/dist/NavItem/NestedNavItem.d.ts +13 -0
- package/dist/NavItem/NestedNavItem.js +28 -0
- package/dist/NavItem/NestedNavItem.js.map +1 -0
- package/dist/Paginator/Paginator.d.ts +1 -0
- package/dist/Panel/Panel.cjs +4 -4
- package/dist/Panel/Panel.cjs.map +1 -1
- package/dist/Panel/Panel.js +5 -5
- package/dist/Panel/Panel.js.map +1 -1
- package/dist/SideMenu/SideMenuBody.d.ts +1 -0
- package/dist/SideMenu/SideMenuFooter.d.ts +1 -0
- package/dist/SideMenu/SideMenuHeader.d.ts +1 -0
- package/dist/SideMenu/types.d.ts +1 -0
- package/dist/Switcher/MobileCustomMenuContent.cjs +3 -0
- package/dist/Switcher/MobileCustomMenuContent.cjs.map +1 -1
- package/dist/Switcher/MobileCustomMenuContent.d.ts +1 -0
- package/dist/Switcher/MobileCustomMenuContent.js +3 -0
- package/dist/Switcher/MobileCustomMenuContent.js.map +1 -1
- package/dist/Switcher/SwitcherMenuItem.d.ts +1 -0
- package/dist/Table/TableTypes.d.ts +1 -0
- package/dist/Tabs/TabLink.cjs +74 -48
- package/dist/Tabs/TabLink.cjs.map +1 -1
- package/dist/Tabs/TabLink.d.ts +14 -10
- package/dist/Tabs/TabLink.js +74 -48
- package/dist/Tabs/TabLink.js.map +1 -1
- package/dist/Tabs/VerticalTabs.cjs +2 -0
- package/dist/Tabs/VerticalTabs.cjs.map +1 -1
- package/dist/Tabs/VerticalTabs.d.ts +1 -0
- package/dist/Tabs/VerticalTabs.js +2 -0
- package/dist/Tabs/VerticalTabs.js.map +1 -1
- package/dist/Tile/TileCommonItems.cjs +3 -3
- package/dist/Tile/TileCommonItems.cjs.map +1 -1
- package/dist/Tile/TileCommonItems.d.ts +1 -0
- package/dist/Tile/TileCommonItems.js +3 -3
- package/dist/Tile/TileCommonItems.js.map +1 -1
- package/dist/Tile/TileHeader.cjs +3 -3
- package/dist/Tile/TileHeader.cjs.map +1 -1
- package/dist/Tile/TileHeader.js +3 -3
- package/dist/Tile/TileHeader.js.map +1 -1
- package/dist/Toggles/TogglerTypes.d.ts +1 -0
- package/dist/Tooltips/TooltipOverflow.cjs +117 -0
- package/dist/Tooltips/TooltipOverflow.cjs.map +1 -0
- package/dist/Tooltips/TooltipOverflow.d.ts +10 -0
- package/dist/Tooltips/TooltipOverflow.js +107 -0
- package/dist/Tooltips/TooltipOverflow.js.map +1 -0
- package/dist/Tooltips/TooltipStyles.cjs +5 -2
- package/dist/Tooltips/TooltipStyles.cjs.map +1 -1
- package/dist/Tooltips/TooltipStyles.d.ts +1 -0
- package/dist/Tooltips/TooltipStyles.js +5 -2
- package/dist/Tooltips/TooltipStyles.js.map +1 -1
- package/dist/Tooltips/TooltipTypes.d.ts +1 -0
- package/dist/Tooltips/TooltipWrapper.d.ts +1 -0
- package/dist/icons/contenticons/AedNoShockAdvised.cjs +41 -0
- package/dist/icons/contenticons/AedNoShockAdvised.cjs.map +1 -0
- package/dist/icons/contenticons/AedNoShockAdvised.d.ts +3 -0
- package/dist/icons/contenticons/AedNoShockAdvised.js +30 -0
- package/dist/icons/contenticons/AedNoShockAdvised.js.map +1 -0
- package/dist/icons/contenticons/AedShockAdvised.cjs +41 -0
- package/dist/icons/contenticons/AedShockAdvised.cjs.map +1 -0
- package/dist/icons/contenticons/AedShockAdvised.d.ts +3 -0
- package/dist/icons/contenticons/AedShockAdvised.js +30 -0
- package/dist/icons/contenticons/AedShockAdvised.js.map +1 -0
- package/dist/icons/contenticons/{NoShockAdvised.cjs → Data.cjs} +5 -5
- package/dist/icons/contenticons/Data.cjs.map +1 -0
- package/dist/icons/contenticons/Data.d.ts +3 -0
- package/dist/icons/contenticons/{NoShockAdvised.js → Data.js} +3 -3
- package/dist/icons/contenticons/Data.js.map +1 -0
- package/dist/icons/contenticons/DecisionFlow.cjs +41 -0
- package/dist/icons/contenticons/DecisionFlow.cjs.map +1 -0
- package/dist/icons/contenticons/DecisionFlow.d.ts +3 -0
- package/dist/icons/contenticons/DecisionFlow.js +30 -0
- package/dist/icons/contenticons/DecisionFlow.js.map +1 -0
- package/dist/icons/contenticons/Metronome.cjs +41 -0
- package/dist/icons/contenticons/Metronome.cjs.map +1 -0
- package/dist/icons/contenticons/Metronome.d.ts +3 -0
- package/dist/icons/contenticons/Metronome.js +30 -0
- package/dist/icons/contenticons/Metronome.js.map +1 -0
- package/dist/icons/contenticons/ShockAutomated.cjs +41 -0
- package/dist/icons/contenticons/ShockAutomated.cjs.map +1 -0
- package/dist/icons/contenticons/{NoShockAdvised.d.ts → ShockAutomated.d.ts} +1 -1
- package/dist/icons/contenticons/ShockAutomated.js +30 -0
- package/dist/icons/contenticons/ShockAutomated.js.map +1 -0
- package/dist/icons/contenticons/ShockNotAdvised.cjs +41 -0
- package/dist/icons/contenticons/ShockNotAdvised.cjs.map +1 -0
- package/dist/icons/contenticons/ShockNotAdvised.d.ts +3 -0
- package/dist/icons/contenticons/ShockNotAdvised.js +30 -0
- package/dist/icons/contenticons/ShockNotAdvised.js.map +1 -0
- package/dist/icons/contenticons/Visibility.cjs +41 -0
- package/dist/icons/contenticons/Visibility.cjs.map +1 -0
- package/dist/icons/contenticons/Visibility.d.ts +3 -0
- package/dist/icons/contenticons/Visibility.js +30 -0
- package/dist/icons/contenticons/Visibility.js.map +1 -0
- package/dist/icons/contenticons/index.cjs +81 -4
- package/dist/icons/contenticons/index.cjs.map +1 -1
- package/dist/icons/contenticons/index.d.ts +8 -1
- package/dist/icons/contenticons/index.js +8 -1
- package/dist/icons/contenticons/index.js.map +1 -1
- package/dist/icons/systemicons/Adult.cjs +41 -0
- package/dist/icons/systemicons/Adult.cjs.map +1 -0
- package/dist/icons/systemicons/Adult.d.ts +3 -0
- package/dist/icons/systemicons/Adult.js +30 -0
- package/dist/icons/systemicons/Adult.js.map +1 -0
- package/dist/icons/systemicons/AedPads.cjs +41 -0
- package/dist/icons/systemicons/AedPads.cjs.map +1 -0
- package/dist/icons/systemicons/AedPads.d.ts +3 -0
- package/dist/icons/systemicons/AedPads.js +30 -0
- package/dist/icons/systemicons/AedPads.js.map +1 -0
- package/dist/icons/systemicons/AedPadsCorrect.cjs +41 -0
- package/dist/icons/systemicons/AedPadsCorrect.cjs.map +1 -0
- package/dist/icons/systemicons/AedPadsCorrect.d.ts +3 -0
- package/dist/icons/systemicons/AedPadsCorrect.js +30 -0
- package/dist/icons/systemicons/AedPadsCorrect.js.map +1 -0
- package/dist/icons/systemicons/AedPadsError.cjs +41 -0
- package/dist/icons/systemicons/AedPadsError.cjs.map +1 -0
- package/dist/icons/systemicons/AedPadsError.d.ts +3 -0
- package/dist/icons/systemicons/AedPadsError.js +30 -0
- package/dist/icons/systemicons/AedPadsError.js.map +1 -0
- package/dist/icons/systemicons/Archive.cjs +41 -0
- package/dist/icons/systemicons/Archive.cjs.map +1 -0
- package/dist/icons/systemicons/Archive.d.ts +3 -0
- package/dist/icons/systemicons/Archive.js +30 -0
- package/dist/icons/systemicons/Archive.js.map +1 -0
- package/dist/icons/systemicons/ArrowCollapse.cjs +41 -0
- package/dist/icons/systemicons/ArrowCollapse.cjs.map +1 -0
- package/dist/icons/systemicons/ArrowCollapse.d.ts +3 -0
- package/dist/icons/systemicons/ArrowCollapse.js +30 -0
- package/dist/icons/systemicons/ArrowCollapse.js.map +1 -0
- package/dist/icons/systemicons/ArrowExpand.cjs +41 -0
- package/dist/icons/systemicons/ArrowExpand.cjs.map +1 -0
- package/dist/icons/systemicons/ArrowExpand.d.ts +3 -0
- package/dist/icons/systemicons/ArrowExpand.js +30 -0
- package/dist/icons/systemicons/ArrowExpand.js.map +1 -0
- package/dist/icons/systemicons/Child.cjs +41 -0
- package/dist/icons/systemicons/Child.cjs.map +1 -0
- package/dist/icons/systemicons/Child.d.ts +3 -0
- package/dist/icons/systemicons/Child.js +30 -0
- package/dist/icons/systemicons/Child.js.map +1 -0
- package/dist/icons/systemicons/Copy.cjs +41 -0
- package/dist/icons/systemicons/Copy.cjs.map +1 -0
- package/dist/icons/systemicons/Copy.d.ts +3 -0
- package/dist/icons/systemicons/Copy.js +30 -0
- package/dist/icons/systemicons/Copy.js.map +1 -0
- package/dist/icons/systemicons/DecisionFlow.cjs +41 -0
- package/dist/icons/systemicons/DecisionFlow.cjs.map +1 -0
- package/dist/icons/systemicons/DecisionFlow.d.ts +3 -0
- package/dist/icons/systemicons/DecisionFlow.js +30 -0
- package/dist/icons/systemicons/DecisionFlow.js.map +1 -0
- package/dist/icons/systemicons/HeartShock.cjs +41 -0
- package/dist/icons/systemicons/HeartShock.cjs.map +1 -0
- package/dist/icons/systemicons/HeartShock.d.ts +3 -0
- package/dist/icons/systemicons/HeartShock.js +30 -0
- package/dist/icons/systemicons/HeartShock.js.map +1 -0
- package/dist/icons/systemicons/Infant.cjs +41 -0
- package/dist/icons/systemicons/Infant.cjs.map +1 -0
- package/dist/icons/systemicons/Infant.d.ts +3 -0
- package/dist/icons/systemicons/Infant.js +30 -0
- package/dist/icons/systemicons/Infant.js.map +1 -0
- package/dist/icons/systemicons/Metronome.cjs +41 -0
- package/dist/icons/systemicons/Metronome.cjs.map +1 -0
- package/dist/icons/systemicons/Metronome.d.ts +3 -0
- package/dist/icons/systemicons/Metronome.js +30 -0
- package/dist/icons/systemicons/Metronome.js.map +1 -0
- package/dist/icons/systemicons/Shock.cjs +41 -0
- package/dist/icons/systemicons/Shock.cjs.map +1 -0
- package/dist/icons/systemicons/Shock.d.ts +3 -0
- package/dist/icons/systemicons/Shock.js +30 -0
- package/dist/icons/systemicons/Shock.js.map +1 -0
- package/dist/icons/systemicons/ShockAdvised.cjs +41 -0
- package/dist/icons/systemicons/ShockAdvised.cjs.map +1 -0
- package/dist/icons/systemicons/ShockAdvised.d.ts +3 -0
- package/dist/icons/systemicons/ShockAdvised.js +30 -0
- package/dist/icons/systemicons/ShockAdvised.js.map +1 -0
- package/dist/icons/systemicons/ShockAutomated.cjs +41 -0
- package/dist/icons/systemicons/ShockAutomated.cjs.map +1 -0
- package/dist/icons/systemicons/ShockAutomated.d.ts +3 -0
- package/dist/icons/systemicons/ShockAutomated.js +30 -0
- package/dist/icons/systemicons/ShockAutomated.js.map +1 -0
- package/dist/icons/systemicons/ShockNotAdvised.cjs +41 -0
- package/dist/icons/systemicons/ShockNotAdvised.cjs.map +1 -0
- package/dist/icons/systemicons/ShockNotAdvised.d.ts +3 -0
- package/dist/icons/systemicons/ShockNotAdvised.js +30 -0
- package/dist/icons/systemicons/ShockNotAdvised.js.map +1 -0
- package/dist/icons/systemicons/Translation.cjs +41 -0
- package/dist/icons/systemicons/Translation.cjs.map +1 -0
- package/dist/icons/systemicons/Translation.d.ts +3 -0
- package/dist/icons/systemicons/Translation.js +30 -0
- package/dist/icons/systemicons/Translation.js.map +1 -0
- package/dist/icons/systemicons/index.cjs +198 -0
- package/dist/icons/systemicons/index.cjs.map +1 -1
- package/dist/icons/systemicons/index.d.ts +18 -0
- package/dist/icons/systemicons/index.js +18 -0
- package/dist/icons/systemicons/index.js.map +1 -1
- package/package.json +10 -10
- package/dist/icons/contenticons/NoShockAdvised.cjs.map +0 -1
- package/dist/icons/contenticons/NoShockAdvised.js.map +0 -1
|
@@ -0,0 +1,259 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.SubMenuWrapper = exports.SubMenu = void 0;
|
|
9
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
10
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
12
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
|
+
var React = _interopRequireWildcard(require("react"));
|
|
14
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
15
|
+
var _ExtendedMainMenu = require("./ExtendedMainMenu");
|
|
16
|
+
var _types = require("../../types");
|
|
17
|
+
var _icons = require("../../icons");
|
|
18
|
+
var _utils = require("../utils");
|
|
19
|
+
var _Tabs = _interopRequireDefault(require("../../Tabs/Tabs"));
|
|
20
|
+
var _TabLink = _interopRequireDefault(require("../../Tabs/TabLink"));
|
|
21
|
+
var _MenuItem = require("../../MenuItem");
|
|
22
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
23
|
+
var _templateObject;
|
|
24
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
25
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
26
|
+
var SubMenuWrapper = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n ", " {\n top: ", ";\n left: ", ";\n }\n\n ", "\n\n button {\n padding-left: 0px;\n }\n"])), _ExtendedMainMenu.Menu, function (props) {
|
|
27
|
+
return props.topLevel ? '100%' : '0px';
|
|
28
|
+
}, function (props) {
|
|
29
|
+
return props.topLevel ? '0px' : 'calc(100% - 12px)';
|
|
30
|
+
}, function (props) {
|
|
31
|
+
return !props.visible ? 'display: none;' : '';
|
|
32
|
+
});
|
|
33
|
+
exports.SubMenuWrapper = SubMenuWrapper;
|
|
34
|
+
var SubMenu = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
35
|
+
var item = _ref.item,
|
|
36
|
+
index = _ref.index,
|
|
37
|
+
topLevel = _ref.topLevel,
|
|
38
|
+
dropdownMenusOpenedArray = _ref.dropdownMenusOpenedArray,
|
|
39
|
+
onSubMenuHidden = _ref.onSubMenuHidden,
|
|
40
|
+
onSubMenuOpened = _ref.onSubMenuOpened,
|
|
41
|
+
onItemStateChanged = _ref.onItemStateChanged,
|
|
42
|
+
focusedItemId = _ref.focusedItemId,
|
|
43
|
+
activeItemId = _ref.activeItemId,
|
|
44
|
+
nestPath = _ref.nestPath,
|
|
45
|
+
ariaLabelledBy = _ref.ariaLabelledBy,
|
|
46
|
+
onItemFocused = _ref.onItemFocused;
|
|
47
|
+
var _React$useState = React.useState({}),
|
|
48
|
+
_React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
|
|
49
|
+
forceUpdate = _React$useState2[1];
|
|
50
|
+
var focusedRef = React.useRef({
|
|
51
|
+
index: -1
|
|
52
|
+
});
|
|
53
|
+
var _React$useState3 = React.useState([]),
|
|
54
|
+
_React$useState4 = (0, _slicedToArray2.default)(_React$useState3, 2),
|
|
55
|
+
allRefs = _React$useState4[0],
|
|
56
|
+
setAllRefs = _React$useState4[1];
|
|
57
|
+
var _React$useState5 = React.useState([]),
|
|
58
|
+
_React$useState6 = (0, _slicedToArray2.default)(_React$useState5, 2),
|
|
59
|
+
subMenuRefs = _React$useState6[0],
|
|
60
|
+
setAllSubMenuRefs = _React$useState6[1];
|
|
61
|
+
React.useEffect(function () {
|
|
62
|
+
setAllRefs(item.items.map(function (x) {
|
|
63
|
+
return x.type == 'desktopgroup' ? /*#__PURE__*/React.createRef() : /*#__PURE__*/React.createRef();
|
|
64
|
+
}));
|
|
65
|
+
setAllSubMenuRefs(item.items.map(function (x) {
|
|
66
|
+
return x.type == 'desktopgroup' ? /*#__PURE__*/React.createRef() : undefined;
|
|
67
|
+
}));
|
|
68
|
+
}, [item]);
|
|
69
|
+
var existingRef = dropdownMenusOpenedArray.current.find(function (x) {
|
|
70
|
+
return x == item.id;
|
|
71
|
+
});
|
|
72
|
+
var _onMouseLeave = function onMouseLeave(event, id) {
|
|
73
|
+
dropdownMenusOpenedArray.current = (0, _toConsumableArray2.default)(dropdownMenusOpenedArray.current.filter(function (x) {
|
|
74
|
+
return x != id;
|
|
75
|
+
}));
|
|
76
|
+
//just trigger rerendering
|
|
77
|
+
onSubMenuHidden && onSubMenuHidden(id);
|
|
78
|
+
forceUpdate({});
|
|
79
|
+
};
|
|
80
|
+
var containActiveItem = false;
|
|
81
|
+
if (item.type == 'desktopgroup' && activeItemId) containActiveItem = (0, _utils.checkIfContainsItem)(item, activeItemId);
|
|
82
|
+
var _onMouseEnter = function onMouseEnter(event, id) {
|
|
83
|
+
var existingRefForId = dropdownMenusOpenedArray.current.find(function (x) {
|
|
84
|
+
return x == id;
|
|
85
|
+
});
|
|
86
|
+
if (existingRefForId == null) {
|
|
87
|
+
dropdownMenusOpenedArray.current = [].concat((0, _toConsumableArray2.default)(dropdownMenusOpenedArray.current), [id]);
|
|
88
|
+
//just trigger rerendering
|
|
89
|
+
onSubMenuOpened && onSubMenuOpened(id);
|
|
90
|
+
forceUpdate({});
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
var _onKeyDown = function onKeyDown(e) {
|
|
94
|
+
if (e.key === 'ArrowUp' || e.key === 'Up') {
|
|
95
|
+
e.stopPropagation();
|
|
96
|
+
e.preventDefault();
|
|
97
|
+
if (focusedRef.current.index > 0) {
|
|
98
|
+
setNewFocusedElement(focusedRef.current.index - 1);
|
|
99
|
+
}
|
|
100
|
+
} else if (e.key === 'ArrowDown' || e.key === 'Down') {
|
|
101
|
+
e.stopPropagation();
|
|
102
|
+
e.preventDefault();
|
|
103
|
+
if (focusedRef.current.index < allRefs.length - 1) setNewFocusedElement(focusedRef.current.index + 1);
|
|
104
|
+
} else if (e.key == 'Enter' || e.code == 'Space') {
|
|
105
|
+
e.stopPropagation();
|
|
106
|
+
if (focusedRef.current.index < 0) return;
|
|
107
|
+
var focusedItem = item.items[focusedRef.current.index];
|
|
108
|
+
if (focusedItem.type == 'desktopgroup') {
|
|
109
|
+
dropdownMenusOpenedArray.current = [].concat((0, _toConsumableArray2.default)(dropdownMenusOpenedArray.current), [focusedItem.id]);
|
|
110
|
+
forceUpdate({});
|
|
111
|
+
} else {
|
|
112
|
+
var _allRefs$focusedRef$c;
|
|
113
|
+
(_allRefs$focusedRef$c = allRefs[focusedRef.current.index].current) === null || _allRefs$focusedRef$c === void 0 ? void 0 : _allRefs$focusedRef$c.click();
|
|
114
|
+
forceUpdate({});
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
//just trigger rerendering
|
|
118
|
+
}
|
|
119
|
+
};
|
|
120
|
+
|
|
121
|
+
var setNewFocusedElement = function setNewFocusedElement(index) {
|
|
122
|
+
var _oldFocusedElement$cu;
|
|
123
|
+
var newFocusedElement = index >= 0 ? allRefs[index] : null;
|
|
124
|
+
var oldFocusedElement = focusedRef.current.index >= 0 ? allRefs[focusedRef.current.index] : null;
|
|
125
|
+
focusedRef.current.index = index;
|
|
126
|
+
if (oldFocusedElement) oldFocusedElement === null || oldFocusedElement === void 0 ? void 0 : (_oldFocusedElement$cu = oldFocusedElement.current) === null || _oldFocusedElement$cu === void 0 ? void 0 : _oldFocusedElement$cu.classList.remove('dropdown-hover');
|
|
127
|
+
if (newFocusedElement && newFocusedElement !== oldFocusedElement) {
|
|
128
|
+
var _newFocusedElement$cu, _item$items$index$id;
|
|
129
|
+
(_newFocusedElement$cu = newFocusedElement.current) === null || _newFocusedElement$cu === void 0 ? void 0 : _newFocusedElement$cu.classList.add('dropdown-hover');
|
|
130
|
+
console.log(item.items[index].id);
|
|
131
|
+
onItemFocused && onItemFocused((_item$items$index$id = item.items[index].id) !== null && _item$items$index$id !== void 0 ? _item$items$index$id : '');
|
|
132
|
+
} else if (onItemFocused) onItemFocused('');
|
|
133
|
+
};
|
|
134
|
+
var onFocus = function onFocus(event) {
|
|
135
|
+
event.stopPropagation();
|
|
136
|
+
dropdownMenusOpenedArray.current = (0, _toConsumableArray2.default)(nestPath !== null && nestPath !== void 0 ? nestPath : []);
|
|
137
|
+
setNewFocusedElement(0);
|
|
138
|
+
forceUpdate({});
|
|
139
|
+
};
|
|
140
|
+
var onBlur = function onBlur(event) {
|
|
141
|
+
event.stopPropagation();
|
|
142
|
+
setNewFocusedElement(-1);
|
|
143
|
+
};
|
|
144
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(SubMenuWrapper, {
|
|
145
|
+
id: item.id,
|
|
146
|
+
className: existingRef ? 'open' : '',
|
|
147
|
+
topLevel: topLevel,
|
|
148
|
+
visible: Boolean(existingRef),
|
|
149
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ExtendedMainMenu.Menu, {
|
|
150
|
+
role: "group",
|
|
151
|
+
ref: ref,
|
|
152
|
+
"aria-labelledby": ariaLabelledBy,
|
|
153
|
+
onBlur: onBlur,
|
|
154
|
+
onFocus: onFocus,
|
|
155
|
+
onKeyDown: function onKeyDown(event) {
|
|
156
|
+
return _onKeyDown(event);
|
|
157
|
+
},
|
|
158
|
+
tabIndex: 0,
|
|
159
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ExtendedMainMenu.MenuSection, {
|
|
160
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ExtendedMainMenu.MenuSectionList, {
|
|
161
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tabs.default, {
|
|
162
|
+
size: _types.Size.Medium,
|
|
163
|
+
children: item.items.map(function (entry, index) {
|
|
164
|
+
var _entry$label2;
|
|
165
|
+
var isGroup = entry.type == 'desktopgroup';
|
|
166
|
+
var key = isGroup ? entry.id : entry.type == 'item' ? entry.to : '';
|
|
167
|
+
var SubItemOpened = Boolean(dropdownMenusOpenedArray.current.find(function (x) {
|
|
168
|
+
return x == entry.id;
|
|
169
|
+
}));
|
|
170
|
+
if (isGroup) {
|
|
171
|
+
var _entry$items$find$id, _entry$items$find, _entry$label;
|
|
172
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
173
|
+
style: {
|
|
174
|
+
position: 'relative'
|
|
175
|
+
},
|
|
176
|
+
onMouseEnter: function onMouseEnter(event) {
|
|
177
|
+
return _onMouseEnter(event, entry.id);
|
|
178
|
+
},
|
|
179
|
+
onMouseLeave: function onMouseLeave(event) {
|
|
180
|
+
return _onMouseLeave(event, entry.id);
|
|
181
|
+
},
|
|
182
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_MenuItem.MenuItem, {
|
|
183
|
+
id: entry.id + '_parentOption',
|
|
184
|
+
"aria-expanded": Boolean(SubItemOpened),
|
|
185
|
+
"aria-activedescendant": (_entry$items$find$id = (_entry$items$find = entry.items.find(function (x) {
|
|
186
|
+
return x.id == focusedItemId;
|
|
187
|
+
})) === null || _entry$items$find === void 0 ? void 0 : _entry$items$find.id) !== null && _entry$items$find$id !== void 0 ? _entry$items$find$id : '',
|
|
188
|
+
tabIndex: -1,
|
|
189
|
+
ref: allRefs[index],
|
|
190
|
+
"aria-controls": entry.id,
|
|
191
|
+
role: "group"
|
|
192
|
+
//id={entry.id} removing this can break something
|
|
193
|
+
,
|
|
194
|
+
item: {
|
|
195
|
+
value: (_entry$label = entry.label) !== null && _entry$label !== void 0 ? _entry$label : ''
|
|
196
|
+
},
|
|
197
|
+
iconRight: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.SystemIcons.ArrowDropRight, {
|
|
198
|
+
size: "24px"
|
|
199
|
+
}),
|
|
200
|
+
active: SubItemOpened || Boolean(activeItemId) && activeItemId != '' && (0, _utils.checkIfContainsItem)(entry, activeItemId),
|
|
201
|
+
onClickHandler: function onClickHandler() {}
|
|
202
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(SubMenu, {
|
|
203
|
+
ariaLabelledBy: entry.id + '_parentOption',
|
|
204
|
+
onItemFocused: onItemFocused,
|
|
205
|
+
focusedItemId: focusedItemId,
|
|
206
|
+
ref: subMenuRefs[index],
|
|
207
|
+
nestPath: [].concat((0, _toConsumableArray2.default)(nestPath !== null && nestPath !== void 0 ? nestPath : []), [entry.id]),
|
|
208
|
+
onItemStateChanged: onItemStateChanged,
|
|
209
|
+
activeItemId: activeItemId,
|
|
210
|
+
dropdownMenusOpenedArray: dropdownMenusOpenedArray,
|
|
211
|
+
item: entry,
|
|
212
|
+
index: index + 1,
|
|
213
|
+
topLevel: false
|
|
214
|
+
})]
|
|
215
|
+
});
|
|
216
|
+
}
|
|
217
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
|
|
218
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_TabLink.default, {
|
|
219
|
+
id: entry.id,
|
|
220
|
+
tabIndex: -1,
|
|
221
|
+
to: isGroup ? '' : key,
|
|
222
|
+
ref: allRefs[index],
|
|
223
|
+
onActiveStateChanged: function onActiveStateChanged(state) {
|
|
224
|
+
return onItemStateChanged && entry.type == 'item' && onItemStateChanged(entry.to, state);
|
|
225
|
+
},
|
|
226
|
+
forceDeactivate: isGroup,
|
|
227
|
+
requiredLine: (_entry$label2 = entry.label) !== null && _entry$label2 !== void 0 ? _entry$label2 : '',
|
|
228
|
+
optionalLine: '',
|
|
229
|
+
endLineIcon: isGroup ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.SystemIcons.ArrowDropRight, {
|
|
230
|
+
size: "24px"
|
|
231
|
+
}) : null,
|
|
232
|
+
OptionalLineIcon: '',
|
|
233
|
+
disabled: entry.disabled,
|
|
234
|
+
showNotificationDot: false,
|
|
235
|
+
size: _types.Size.Medium,
|
|
236
|
+
variant: "positive"
|
|
237
|
+
}, key)
|
|
238
|
+
});
|
|
239
|
+
})
|
|
240
|
+
})
|
|
241
|
+
})
|
|
242
|
+
})
|
|
243
|
+
})
|
|
244
|
+
});
|
|
245
|
+
});
|
|
246
|
+
exports.SubMenu = SubMenu;
|
|
247
|
+
SubMenu.propTypes = {
|
|
248
|
+
index: _propTypes.default.number.isRequired,
|
|
249
|
+
topLevel: _propTypes.default.bool.isRequired,
|
|
250
|
+
onSubMenuOpened: _propTypes.default.func,
|
|
251
|
+
onSubMenuHidden: _propTypes.default.func,
|
|
252
|
+
onItemStateChanged: _propTypes.default.func,
|
|
253
|
+
onItemFocused: _propTypes.default.func,
|
|
254
|
+
focusedItemId: _propTypes.default.string,
|
|
255
|
+
activeItemId: _propTypes.default.string,
|
|
256
|
+
nestPath: _propTypes.default.arrayOf(_propTypes.default.string),
|
|
257
|
+
ariaLabelledBy: _propTypes.default.string
|
|
258
|
+
};
|
|
259
|
+
//# sourceMappingURL=SubMenu.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SubMenu.cjs","names":["SubMenuWrapper","styled","div","Menu","props","topLevel","visible","SubMenu","React","forwardRef","ref","item","index","dropdownMenusOpenedArray","onSubMenuHidden","onSubMenuOpened","onItemStateChanged","focusedItemId","activeItemId","nestPath","ariaLabelledBy","onItemFocused","useState","forceUpdate","focusedRef","useRef","allRefs","setAllRefs","subMenuRefs","setAllSubMenuRefs","useEffect","items","map","x","type","createRef","undefined","existingRef","current","find","id","onMouseLeave","event","filter","containActiveItem","checkIfContainsItem","onMouseEnter","existingRefForId","onKeyDown","e","key","stopPropagation","preventDefault","setNewFocusedElement","length","code","focusedItem","click","newFocusedElement","oldFocusedElement","classList","remove","add","console","log","onFocus","onBlur","Boolean","Size","Medium","entry","isGroup","to","SubItemOpened","position","value","label","state","disabled"],"sources":["../../../src/GlobalNavigationBar/desktop/SubMenu.tsx"],"sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\n\nimport { Menu, MenuSection, MenuSectionList } from './ExtendedMainMenu';\nimport { MenuNavigationItemTypeDesktopGroup } from '../types';\nimport { Size } from '../../types';\nimport { SystemIcons } from '../../icons';\nimport { checkIfContainsItem } from '../utils';\nimport Tabs from '../../Tabs/Tabs';\nimport TabLink from '../../Tabs/TabLink';\nimport { MenuItem } from '../../MenuItem';\n\nexport type SubMenuProps = {\n item: MenuNavigationItemTypeDesktopGroup;\n index: number;\n topLevel: boolean;\n dropdownMenusOpenedArray: React.MutableRefObject<string[]>;\n onSubMenuOpened?: (item: string) => void;\n onSubMenuHidden?: (item: string) => void;\n onItemStateChanged?: (item: string, state: boolean) => void;\n onItemFocused?: (item: string) => void;\n focusedItemId?: string;\n activeItemId?: string;\n nestPath?: string[];\n ariaLabelledBy?: string;\n};\n\nexport const SubMenuWrapper = styled.div<{ topLevel: boolean; visible: boolean }>`\n ${Menu} {\n top: ${(props) => (props.topLevel ? '100%' : '0px')};\n left: ${(props) => (props.topLevel ? '0px' : 'calc(100% - 12px)')};\n }\n\n ${(props) => (!props.visible ? 'display: none;' : '')}\n\n button {\n padding-left: 0px;\n }\n`;\n\nexport const SubMenu = React.forwardRef<HTMLUListElement, SubMenuProps>(({\n item,\n index,\n topLevel,\n dropdownMenusOpenedArray,\n onSubMenuHidden,\n onSubMenuOpened,\n onItemStateChanged,\n focusedItemId,\n activeItemId,\n nestPath,\n ariaLabelledBy,\n onItemFocused\n}: SubMenuProps, ref): React.ReactElement<SubMenuProps> => {\n const [, forceUpdate] = React.useState({});\n const focusedRef = React.useRef<{ index: number }>({ index: -1 });\n const [allRefs, setAllRefs] = React.useState<React.RefObject<HTMLButtonElement | HTMLAnchorElement>[]>([]);\n const [subMenuRefs, setAllSubMenuRefs] = React.useState<(React.RefObject<HTMLUListElement> | undefined)[]>([]);\n\n React.useEffect(() => {\n setAllRefs(item.items.map((x) => (x.type == 'desktopgroup' ? React.createRef<HTMLButtonElement>() : React.createRef<HTMLAnchorElement>())));\n setAllSubMenuRefs(item.items.map((x) => (x.type == 'desktopgroup' ? React.createRef<HTMLUListElement>() : undefined)));\n }, [item]);\n\n const existingRef = dropdownMenusOpenedArray.current.find((x) => x == item.id);\n const onMouseLeave = (event: any, id: string) => {\n dropdownMenusOpenedArray.current = [...dropdownMenusOpenedArray.current.filter((x) => x != id)];\n //just trigger rerendering\n onSubMenuHidden && onSubMenuHidden(id);\n forceUpdate({});\n };\n let containActiveItem = false;\n if (item.type == 'desktopgroup' && activeItemId) containActiveItem = checkIfContainsItem(item, activeItemId);\n\n const onMouseEnter = (event: any, id: string) => {\n const existingRefForId = dropdownMenusOpenedArray.current.find((x) => x == id);\n if (existingRefForId == null) {\n dropdownMenusOpenedArray.current = [...dropdownMenusOpenedArray.current, id];\n //just trigger rerendering\n onSubMenuOpened && onSubMenuOpened(id);\n forceUpdate({});\n }\n };\n\n const onKeyDown = (e: React.KeyboardEvent<HTMLUListElement>) => {\n \n if (e.key === 'ArrowUp' || e.key === 'Up') {\n e.stopPropagation();\n e.preventDefault();\n if (focusedRef.current.index > 0) {\n setNewFocusedElement(focusedRef.current.index - 1);\n }\n } else if (e.key === 'ArrowDown' || e.key === 'Down') {\n e.stopPropagation();\n e.preventDefault();\n if(focusedRef.current.index < allRefs.length - 1)\n setNewFocusedElement(focusedRef.current.index + 1);\n } \n else\n if (e.key == 'Enter' || e.code == 'Space') {\n e.stopPropagation();\n if(focusedRef.current.index < 0)\n return;\n \n const focusedItem = item.items[focusedRef.current.index];\n if(focusedItem.type == 'desktopgroup')\n {\n dropdownMenusOpenedArray.current = [...dropdownMenusOpenedArray.current, focusedItem.id];\n forceUpdate({});\n }\n else\n {\n allRefs[focusedRef.current.index].current?.click();\n forceUpdate({});\n }\n\n //just trigger rerendering\n \n }\n };\n\n const setNewFocusedElement = (index: number) => {\n const newFocusedElement = index >= 0 ? allRefs[index] : null;\n const oldFocusedElement = focusedRef.current.index >= 0 ? allRefs[focusedRef.current.index] : null;\n focusedRef.current.index = index;\n\n if(oldFocusedElement)\n oldFocusedElement?.current?.classList.remove('dropdown-hover');\n\n if (newFocusedElement && newFocusedElement !== oldFocusedElement) {\n newFocusedElement.current?.classList.add('dropdown-hover');\n console.log(item.items[index].id);\n onItemFocused && onItemFocused(item.items[index].id ?? '');\n }\n else if(onItemFocused)\n onItemFocused('');\n };\n\n const onFocus = (event: React.FocusEvent<HTMLUListElement>) => {\n event.stopPropagation();\n dropdownMenusOpenedArray.current = [...(nestPath ?? [])];\n setNewFocusedElement(0);\n forceUpdate({});\n \n };\n\n const onBlur = (event: React.FocusEvent<HTMLUListElement>) => {\n event.stopPropagation();\n setNewFocusedElement(-1);\n };\n\n return (\n <SubMenuWrapper id={item.id} className={existingRef ? 'open' : '' } topLevel={topLevel} visible={Boolean(existingRef)}>\n <Menu role=\"group\" ref={ref} aria-labelledby={ariaLabelledBy} onBlur={onBlur} onFocus={onFocus} onKeyDown={(event) => onKeyDown(event)} tabIndex={0}>\n <MenuSection>\n <MenuSectionList>\n <Tabs size={Size.Medium}>\n {item.items.map((entry, index) => {\n const isGroup = entry.type == 'desktopgroup';\n const key = isGroup ? entry.id : entry.type == 'item' ? entry.to : '';\n const SubItemOpened = Boolean(dropdownMenusOpenedArray.current.find((x) => x == entry.id));\n if (isGroup) {\n return (\n <div style={{ position: 'relative' }} onMouseEnter={(event) => onMouseEnter(event, entry.id)} onMouseLeave={(event) => onMouseLeave(event, entry.id)}>\n <MenuItem\n id={entry.id + '_parentOption'}\n aria-expanded={Boolean(SubItemOpened)}\n aria-activedescendant={entry.items.find(x => x.id == focusedItemId)?.id ?? ''}\n tabIndex={-1}\n ref={allRefs[index] as React.Ref<HTMLButtonElement>}\n \n aria-controls={entry.id}\n role=\"group\"\n //id={entry.id} removing this can break something\n item={{\n value: entry.label ?? '',\n }}\n iconRight={<SystemIcons.ArrowDropRight size=\"24px\" />}\n active={SubItemOpened || (Boolean(activeItemId) && activeItemId != '' && checkIfContainsItem(entry, activeItemId!))}\n onClickHandler={() => {}}\n />\n <SubMenu\n ariaLabelledBy={entry.id + '_parentOption'}\n onItemFocused={onItemFocused}\n focusedItemId={focusedItemId}\n ref={subMenuRefs[index]}\n nestPath={[...(nestPath ?? []), entry.id]}\n onItemStateChanged={onItemStateChanged}\n activeItemId={activeItemId}\n dropdownMenusOpenedArray={dropdownMenusOpenedArray}\n item={entry as MenuNavigationItemTypeDesktopGroup}\n index={index + 1}\n topLevel={false}\n />\n </div>\n );\n }\n return (\n <>\n <TabLink\n id={entry.id}\n tabIndex={-1}\n key={key}\n to={isGroup ? '' : key}\n ref={allRefs[index] as React.Ref<HTMLAnchorElement>}\n onActiveStateChanged={(state) => onItemStateChanged && entry.type == 'item' && onItemStateChanged(entry.to, state)}\n forceDeactivate={isGroup}\n requiredLine={entry.label ?? ''}\n optionalLine={''}\n endLineIcon={isGroup ? <SystemIcons.ArrowDropRight size=\"24px\" /> : null}\n OptionalLineIcon={''}\n disabled={entry.disabled}\n showNotificationDot={false}\n size={Size.Medium}\n variant=\"positive\"\n />\n </>\n );\n })}\n </Tabs>\n </MenuSectionList>\n </MenuSection>\n </Menu>\n </SubMenuWrapper>\n );\n});\n"],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { MenuNavigationItemTypeDesktopGroup } from '../types';
|
|
3
|
+
export type SubMenuProps = {
|
|
4
|
+
item: MenuNavigationItemTypeDesktopGroup;
|
|
5
|
+
index: number;
|
|
6
|
+
topLevel: boolean;
|
|
7
|
+
dropdownMenusOpenedArray: React.MutableRefObject<string[]>;
|
|
8
|
+
onSubMenuOpened?: (item: string) => void;
|
|
9
|
+
onSubMenuHidden?: (item: string) => void;
|
|
10
|
+
onItemStateChanged?: (item: string, state: boolean) => void;
|
|
11
|
+
onItemFocused?: (item: string) => void;
|
|
12
|
+
focusedItemId?: string;
|
|
13
|
+
activeItemId?: string;
|
|
14
|
+
nestPath?: string[];
|
|
15
|
+
ariaLabelledBy?: string;
|
|
16
|
+
};
|
|
17
|
+
export declare const SubMenuWrapper: import("styled-components").StyledComponent<"div", any, {
|
|
18
|
+
topLevel: boolean;
|
|
19
|
+
visible: boolean;
|
|
20
|
+
}, never>;
|
|
21
|
+
export declare const SubMenu: React.ForwardRefExoticComponent<SubMenuProps & React.RefAttributes<HTMLUListElement>>;
|
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
2
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
3
|
+
import _taggedTemplateLiteral from "@babel/runtime/helpers/esm/taggedTemplateLiteral";
|
|
4
|
+
import _pt from "prop-types";
|
|
5
|
+
var _templateObject;
|
|
6
|
+
import * as React from 'react';
|
|
7
|
+
import styled from 'styled-components';
|
|
8
|
+
import { Menu, MenuSection, MenuSectionList } from './ExtendedMainMenu';
|
|
9
|
+
import { Size } from '../../types';
|
|
10
|
+
import { SystemIcons } from '../../icons';
|
|
11
|
+
import { checkIfContainsItem } from '../utils';
|
|
12
|
+
import Tabs from '../../Tabs/Tabs';
|
|
13
|
+
import TabLink from '../../Tabs/TabLink';
|
|
14
|
+
import { MenuItem } from '../../MenuItem';
|
|
15
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
16
|
+
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
17
|
+
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
18
|
+
export var SubMenuWrapper = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n ", " {\n top: ", ";\n left: ", ";\n }\n\n ", "\n\n button {\n padding-left: 0px;\n }\n"])), Menu, function (props) {
|
|
19
|
+
return props.topLevel ? '100%' : '0px';
|
|
20
|
+
}, function (props) {
|
|
21
|
+
return props.topLevel ? '0px' : 'calc(100% - 12px)';
|
|
22
|
+
}, function (props) {
|
|
23
|
+
return !props.visible ? 'display: none;' : '';
|
|
24
|
+
});
|
|
25
|
+
export var SubMenu = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
26
|
+
var item = _ref.item,
|
|
27
|
+
index = _ref.index,
|
|
28
|
+
topLevel = _ref.topLevel,
|
|
29
|
+
dropdownMenusOpenedArray = _ref.dropdownMenusOpenedArray,
|
|
30
|
+
onSubMenuHidden = _ref.onSubMenuHidden,
|
|
31
|
+
onSubMenuOpened = _ref.onSubMenuOpened,
|
|
32
|
+
onItemStateChanged = _ref.onItemStateChanged,
|
|
33
|
+
focusedItemId = _ref.focusedItemId,
|
|
34
|
+
activeItemId = _ref.activeItemId,
|
|
35
|
+
nestPath = _ref.nestPath,
|
|
36
|
+
ariaLabelledBy = _ref.ariaLabelledBy,
|
|
37
|
+
onItemFocused = _ref.onItemFocused;
|
|
38
|
+
var _React$useState = React.useState({}),
|
|
39
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
40
|
+
forceUpdate = _React$useState2[1];
|
|
41
|
+
var focusedRef = React.useRef({
|
|
42
|
+
index: -1
|
|
43
|
+
});
|
|
44
|
+
var _React$useState3 = React.useState([]),
|
|
45
|
+
_React$useState4 = _slicedToArray(_React$useState3, 2),
|
|
46
|
+
allRefs = _React$useState4[0],
|
|
47
|
+
setAllRefs = _React$useState4[1];
|
|
48
|
+
var _React$useState5 = React.useState([]),
|
|
49
|
+
_React$useState6 = _slicedToArray(_React$useState5, 2),
|
|
50
|
+
subMenuRefs = _React$useState6[0],
|
|
51
|
+
setAllSubMenuRefs = _React$useState6[1];
|
|
52
|
+
React.useEffect(function () {
|
|
53
|
+
setAllRefs(item.items.map(function (x) {
|
|
54
|
+
return x.type == 'desktopgroup' ? /*#__PURE__*/React.createRef() : /*#__PURE__*/React.createRef();
|
|
55
|
+
}));
|
|
56
|
+
setAllSubMenuRefs(item.items.map(function (x) {
|
|
57
|
+
return x.type == 'desktopgroup' ? /*#__PURE__*/React.createRef() : undefined;
|
|
58
|
+
}));
|
|
59
|
+
}, [item]);
|
|
60
|
+
var existingRef = dropdownMenusOpenedArray.current.find(function (x) {
|
|
61
|
+
return x == item.id;
|
|
62
|
+
});
|
|
63
|
+
var _onMouseLeave = function onMouseLeave(event, id) {
|
|
64
|
+
dropdownMenusOpenedArray.current = _toConsumableArray(dropdownMenusOpenedArray.current.filter(function (x) {
|
|
65
|
+
return x != id;
|
|
66
|
+
}));
|
|
67
|
+
//just trigger rerendering
|
|
68
|
+
onSubMenuHidden && onSubMenuHidden(id);
|
|
69
|
+
forceUpdate({});
|
|
70
|
+
};
|
|
71
|
+
var containActiveItem = false;
|
|
72
|
+
if (item.type == 'desktopgroup' && activeItemId) containActiveItem = checkIfContainsItem(item, activeItemId);
|
|
73
|
+
var _onMouseEnter = function onMouseEnter(event, id) {
|
|
74
|
+
var existingRefForId = dropdownMenusOpenedArray.current.find(function (x) {
|
|
75
|
+
return x == id;
|
|
76
|
+
});
|
|
77
|
+
if (existingRefForId == null) {
|
|
78
|
+
dropdownMenusOpenedArray.current = [].concat(_toConsumableArray(dropdownMenusOpenedArray.current), [id]);
|
|
79
|
+
//just trigger rerendering
|
|
80
|
+
onSubMenuOpened && onSubMenuOpened(id);
|
|
81
|
+
forceUpdate({});
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
var _onKeyDown = function onKeyDown(e) {
|
|
85
|
+
if (e.key === 'ArrowUp' || e.key === 'Up') {
|
|
86
|
+
e.stopPropagation();
|
|
87
|
+
e.preventDefault();
|
|
88
|
+
if (focusedRef.current.index > 0) {
|
|
89
|
+
setNewFocusedElement(focusedRef.current.index - 1);
|
|
90
|
+
}
|
|
91
|
+
} else if (e.key === 'ArrowDown' || e.key === 'Down') {
|
|
92
|
+
e.stopPropagation();
|
|
93
|
+
e.preventDefault();
|
|
94
|
+
if (focusedRef.current.index < allRefs.length - 1) setNewFocusedElement(focusedRef.current.index + 1);
|
|
95
|
+
} else if (e.key == 'Enter' || e.code == 'Space') {
|
|
96
|
+
e.stopPropagation();
|
|
97
|
+
if (focusedRef.current.index < 0) return;
|
|
98
|
+
var focusedItem = item.items[focusedRef.current.index];
|
|
99
|
+
if (focusedItem.type == 'desktopgroup') {
|
|
100
|
+
dropdownMenusOpenedArray.current = [].concat(_toConsumableArray(dropdownMenusOpenedArray.current), [focusedItem.id]);
|
|
101
|
+
forceUpdate({});
|
|
102
|
+
} else {
|
|
103
|
+
var _allRefs$focusedRef$c;
|
|
104
|
+
(_allRefs$focusedRef$c = allRefs[focusedRef.current.index].current) === null || _allRefs$focusedRef$c === void 0 ? void 0 : _allRefs$focusedRef$c.click();
|
|
105
|
+
forceUpdate({});
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
//just trigger rerendering
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
var setNewFocusedElement = function setNewFocusedElement(index) {
|
|
113
|
+
var _oldFocusedElement$cu;
|
|
114
|
+
var newFocusedElement = index >= 0 ? allRefs[index] : null;
|
|
115
|
+
var oldFocusedElement = focusedRef.current.index >= 0 ? allRefs[focusedRef.current.index] : null;
|
|
116
|
+
focusedRef.current.index = index;
|
|
117
|
+
if (oldFocusedElement) oldFocusedElement === null || oldFocusedElement === void 0 ? void 0 : (_oldFocusedElement$cu = oldFocusedElement.current) === null || _oldFocusedElement$cu === void 0 ? void 0 : _oldFocusedElement$cu.classList.remove('dropdown-hover');
|
|
118
|
+
if (newFocusedElement && newFocusedElement !== oldFocusedElement) {
|
|
119
|
+
var _newFocusedElement$cu, _item$items$index$id;
|
|
120
|
+
(_newFocusedElement$cu = newFocusedElement.current) === null || _newFocusedElement$cu === void 0 ? void 0 : _newFocusedElement$cu.classList.add('dropdown-hover');
|
|
121
|
+
console.log(item.items[index].id);
|
|
122
|
+
onItemFocused && onItemFocused((_item$items$index$id = item.items[index].id) !== null && _item$items$index$id !== void 0 ? _item$items$index$id : '');
|
|
123
|
+
} else if (onItemFocused) onItemFocused('');
|
|
124
|
+
};
|
|
125
|
+
var onFocus = function onFocus(event) {
|
|
126
|
+
event.stopPropagation();
|
|
127
|
+
dropdownMenusOpenedArray.current = _toConsumableArray(nestPath !== null && nestPath !== void 0 ? nestPath : []);
|
|
128
|
+
setNewFocusedElement(0);
|
|
129
|
+
forceUpdate({});
|
|
130
|
+
};
|
|
131
|
+
var onBlur = function onBlur(event) {
|
|
132
|
+
event.stopPropagation();
|
|
133
|
+
setNewFocusedElement(-1);
|
|
134
|
+
};
|
|
135
|
+
return /*#__PURE__*/_jsx(SubMenuWrapper, {
|
|
136
|
+
id: item.id,
|
|
137
|
+
className: existingRef ? 'open' : '',
|
|
138
|
+
topLevel: topLevel,
|
|
139
|
+
visible: Boolean(existingRef),
|
|
140
|
+
children: /*#__PURE__*/_jsx(Menu, {
|
|
141
|
+
role: "group",
|
|
142
|
+
ref: ref,
|
|
143
|
+
"aria-labelledby": ariaLabelledBy,
|
|
144
|
+
onBlur: onBlur,
|
|
145
|
+
onFocus: onFocus,
|
|
146
|
+
onKeyDown: function onKeyDown(event) {
|
|
147
|
+
return _onKeyDown(event);
|
|
148
|
+
},
|
|
149
|
+
tabIndex: 0,
|
|
150
|
+
children: /*#__PURE__*/_jsx(MenuSection, {
|
|
151
|
+
children: /*#__PURE__*/_jsx(MenuSectionList, {
|
|
152
|
+
children: /*#__PURE__*/_jsx(Tabs, {
|
|
153
|
+
size: Size.Medium,
|
|
154
|
+
children: item.items.map(function (entry, index) {
|
|
155
|
+
var _entry$label2;
|
|
156
|
+
var isGroup = entry.type == 'desktopgroup';
|
|
157
|
+
var key = isGroup ? entry.id : entry.type == 'item' ? entry.to : '';
|
|
158
|
+
var SubItemOpened = Boolean(dropdownMenusOpenedArray.current.find(function (x) {
|
|
159
|
+
return x == entry.id;
|
|
160
|
+
}));
|
|
161
|
+
if (isGroup) {
|
|
162
|
+
var _entry$items$find$id, _entry$items$find, _entry$label;
|
|
163
|
+
return /*#__PURE__*/_jsxs("div", {
|
|
164
|
+
style: {
|
|
165
|
+
position: 'relative'
|
|
166
|
+
},
|
|
167
|
+
onMouseEnter: function onMouseEnter(event) {
|
|
168
|
+
return _onMouseEnter(event, entry.id);
|
|
169
|
+
},
|
|
170
|
+
onMouseLeave: function onMouseLeave(event) {
|
|
171
|
+
return _onMouseLeave(event, entry.id);
|
|
172
|
+
},
|
|
173
|
+
children: [/*#__PURE__*/_jsx(MenuItem, {
|
|
174
|
+
id: entry.id + '_parentOption',
|
|
175
|
+
"aria-expanded": Boolean(SubItemOpened),
|
|
176
|
+
"aria-activedescendant": (_entry$items$find$id = (_entry$items$find = entry.items.find(function (x) {
|
|
177
|
+
return x.id == focusedItemId;
|
|
178
|
+
})) === null || _entry$items$find === void 0 ? void 0 : _entry$items$find.id) !== null && _entry$items$find$id !== void 0 ? _entry$items$find$id : '',
|
|
179
|
+
tabIndex: -1,
|
|
180
|
+
ref: allRefs[index],
|
|
181
|
+
"aria-controls": entry.id,
|
|
182
|
+
role: "group"
|
|
183
|
+
//id={entry.id} removing this can break something
|
|
184
|
+
,
|
|
185
|
+
item: {
|
|
186
|
+
value: (_entry$label = entry.label) !== null && _entry$label !== void 0 ? _entry$label : ''
|
|
187
|
+
},
|
|
188
|
+
iconRight: /*#__PURE__*/_jsx(SystemIcons.ArrowDropRight, {
|
|
189
|
+
size: "24px"
|
|
190
|
+
}),
|
|
191
|
+
active: SubItemOpened || Boolean(activeItemId) && activeItemId != '' && checkIfContainsItem(entry, activeItemId),
|
|
192
|
+
onClickHandler: function onClickHandler() {}
|
|
193
|
+
}), /*#__PURE__*/_jsx(SubMenu, {
|
|
194
|
+
ariaLabelledBy: entry.id + '_parentOption',
|
|
195
|
+
onItemFocused: onItemFocused,
|
|
196
|
+
focusedItemId: focusedItemId,
|
|
197
|
+
ref: subMenuRefs[index],
|
|
198
|
+
nestPath: [].concat(_toConsumableArray(nestPath !== null && nestPath !== void 0 ? nestPath : []), [entry.id]),
|
|
199
|
+
onItemStateChanged: onItemStateChanged,
|
|
200
|
+
activeItemId: activeItemId,
|
|
201
|
+
dropdownMenusOpenedArray: dropdownMenusOpenedArray,
|
|
202
|
+
item: entry,
|
|
203
|
+
index: index + 1,
|
|
204
|
+
topLevel: false
|
|
205
|
+
})]
|
|
206
|
+
});
|
|
207
|
+
}
|
|
208
|
+
return /*#__PURE__*/_jsx(_Fragment, {
|
|
209
|
+
children: /*#__PURE__*/_jsx(TabLink, {
|
|
210
|
+
id: entry.id,
|
|
211
|
+
tabIndex: -1,
|
|
212
|
+
to: isGroup ? '' : key,
|
|
213
|
+
ref: allRefs[index],
|
|
214
|
+
onActiveStateChanged: function onActiveStateChanged(state) {
|
|
215
|
+
return onItemStateChanged && entry.type == 'item' && onItemStateChanged(entry.to, state);
|
|
216
|
+
},
|
|
217
|
+
forceDeactivate: isGroup,
|
|
218
|
+
requiredLine: (_entry$label2 = entry.label) !== null && _entry$label2 !== void 0 ? _entry$label2 : '',
|
|
219
|
+
optionalLine: '',
|
|
220
|
+
endLineIcon: isGroup ? /*#__PURE__*/_jsx(SystemIcons.ArrowDropRight, {
|
|
221
|
+
size: "24px"
|
|
222
|
+
}) : null,
|
|
223
|
+
OptionalLineIcon: '',
|
|
224
|
+
disabled: entry.disabled,
|
|
225
|
+
showNotificationDot: false,
|
|
226
|
+
size: Size.Medium,
|
|
227
|
+
variant: "positive"
|
|
228
|
+
}, key)
|
|
229
|
+
});
|
|
230
|
+
})
|
|
231
|
+
})
|
|
232
|
+
})
|
|
233
|
+
})
|
|
234
|
+
})
|
|
235
|
+
});
|
|
236
|
+
});
|
|
237
|
+
SubMenu.propTypes = {
|
|
238
|
+
index: _pt.number.isRequired,
|
|
239
|
+
topLevel: _pt.bool.isRequired,
|
|
240
|
+
onSubMenuOpened: _pt.func,
|
|
241
|
+
onSubMenuHidden: _pt.func,
|
|
242
|
+
onItemStateChanged: _pt.func,
|
|
243
|
+
onItemFocused: _pt.func,
|
|
244
|
+
focusedItemId: _pt.string,
|
|
245
|
+
activeItemId: _pt.string,
|
|
246
|
+
nestPath: _pt.arrayOf(_pt.string),
|
|
247
|
+
ariaLabelledBy: _pt.string
|
|
248
|
+
};
|
|
249
|
+
//# sourceMappingURL=SubMenu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SubMenu.js","names":["React","styled","Menu","MenuSection","MenuSectionList","Size","SystemIcons","checkIfContainsItem","Tabs","TabLink","MenuItem","SubMenuWrapper","div","props","topLevel","visible","SubMenu","forwardRef","ref","item","index","dropdownMenusOpenedArray","onSubMenuHidden","onSubMenuOpened","onItemStateChanged","focusedItemId","activeItemId","nestPath","ariaLabelledBy","onItemFocused","useState","forceUpdate","focusedRef","useRef","allRefs","setAllRefs","subMenuRefs","setAllSubMenuRefs","useEffect","items","map","x","type","createRef","undefined","existingRef","current","find","id","onMouseLeave","event","filter","containActiveItem","onMouseEnter","existingRefForId","onKeyDown","e","key","stopPropagation","preventDefault","setNewFocusedElement","length","code","focusedItem","click","newFocusedElement","oldFocusedElement","classList","remove","add","console","log","onFocus","onBlur","Boolean","Medium","entry","isGroup","to","SubItemOpened","position","value","label","state","disabled"],"sources":["../../../src/GlobalNavigationBar/desktop/SubMenu.tsx"],"sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\n\nimport { Menu, MenuSection, MenuSectionList } from './ExtendedMainMenu';\nimport { MenuNavigationItemTypeDesktopGroup } from '../types';\nimport { Size } from '../../types';\nimport { SystemIcons } from '../../icons';\nimport { checkIfContainsItem } from '../utils';\nimport Tabs from '../../Tabs/Tabs';\nimport TabLink from '../../Tabs/TabLink';\nimport { MenuItem } from '../../MenuItem';\n\nexport type SubMenuProps = {\n item: MenuNavigationItemTypeDesktopGroup;\n index: number;\n topLevel: boolean;\n dropdownMenusOpenedArray: React.MutableRefObject<string[]>;\n onSubMenuOpened?: (item: string) => void;\n onSubMenuHidden?: (item: string) => void;\n onItemStateChanged?: (item: string, state: boolean) => void;\n onItemFocused?: (item: string) => void;\n focusedItemId?: string;\n activeItemId?: string;\n nestPath?: string[];\n ariaLabelledBy?: string;\n};\n\nexport const SubMenuWrapper = styled.div<{ topLevel: boolean; visible: boolean }>`\n ${Menu} {\n top: ${(props) => (props.topLevel ? '100%' : '0px')};\n left: ${(props) => (props.topLevel ? '0px' : 'calc(100% - 12px)')};\n }\n\n ${(props) => (!props.visible ? 'display: none;' : '')}\n\n button {\n padding-left: 0px;\n }\n`;\n\nexport const SubMenu = React.forwardRef<HTMLUListElement, SubMenuProps>(({\n item,\n index,\n topLevel,\n dropdownMenusOpenedArray,\n onSubMenuHidden,\n onSubMenuOpened,\n onItemStateChanged,\n focusedItemId,\n activeItemId,\n nestPath,\n ariaLabelledBy,\n onItemFocused\n}: SubMenuProps, ref): React.ReactElement<SubMenuProps> => {\n const [, forceUpdate] = React.useState({});\n const focusedRef = React.useRef<{ index: number }>({ index: -1 });\n const [allRefs, setAllRefs] = React.useState<React.RefObject<HTMLButtonElement | HTMLAnchorElement>[]>([]);\n const [subMenuRefs, setAllSubMenuRefs] = React.useState<(React.RefObject<HTMLUListElement> | undefined)[]>([]);\n\n React.useEffect(() => {\n setAllRefs(item.items.map((x) => (x.type == 'desktopgroup' ? React.createRef<HTMLButtonElement>() : React.createRef<HTMLAnchorElement>())));\n setAllSubMenuRefs(item.items.map((x) => (x.type == 'desktopgroup' ? React.createRef<HTMLUListElement>() : undefined)));\n }, [item]);\n\n const existingRef = dropdownMenusOpenedArray.current.find((x) => x == item.id);\n const onMouseLeave = (event: any, id: string) => {\n dropdownMenusOpenedArray.current = [...dropdownMenusOpenedArray.current.filter((x) => x != id)];\n //just trigger rerendering\n onSubMenuHidden && onSubMenuHidden(id);\n forceUpdate({});\n };\n let containActiveItem = false;\n if (item.type == 'desktopgroup' && activeItemId) containActiveItem = checkIfContainsItem(item, activeItemId);\n\n const onMouseEnter = (event: any, id: string) => {\n const existingRefForId = dropdownMenusOpenedArray.current.find((x) => x == id);\n if (existingRefForId == null) {\n dropdownMenusOpenedArray.current = [...dropdownMenusOpenedArray.current, id];\n //just trigger rerendering\n onSubMenuOpened && onSubMenuOpened(id);\n forceUpdate({});\n }\n };\n\n const onKeyDown = (e: React.KeyboardEvent<HTMLUListElement>) => {\n \n if (e.key === 'ArrowUp' || e.key === 'Up') {\n e.stopPropagation();\n e.preventDefault();\n if (focusedRef.current.index > 0) {\n setNewFocusedElement(focusedRef.current.index - 1);\n }\n } else if (e.key === 'ArrowDown' || e.key === 'Down') {\n e.stopPropagation();\n e.preventDefault();\n if(focusedRef.current.index < allRefs.length - 1)\n setNewFocusedElement(focusedRef.current.index + 1);\n } \n else\n if (e.key == 'Enter' || e.code == 'Space') {\n e.stopPropagation();\n if(focusedRef.current.index < 0)\n return;\n \n const focusedItem = item.items[focusedRef.current.index];\n if(focusedItem.type == 'desktopgroup')\n {\n dropdownMenusOpenedArray.current = [...dropdownMenusOpenedArray.current, focusedItem.id];\n forceUpdate({});\n }\n else\n {\n allRefs[focusedRef.current.index].current?.click();\n forceUpdate({});\n }\n\n //just trigger rerendering\n \n }\n };\n\n const setNewFocusedElement = (index: number) => {\n const newFocusedElement = index >= 0 ? allRefs[index] : null;\n const oldFocusedElement = focusedRef.current.index >= 0 ? allRefs[focusedRef.current.index] : null;\n focusedRef.current.index = index;\n\n if(oldFocusedElement)\n oldFocusedElement?.current?.classList.remove('dropdown-hover');\n\n if (newFocusedElement && newFocusedElement !== oldFocusedElement) {\n newFocusedElement.current?.classList.add('dropdown-hover');\n console.log(item.items[index].id);\n onItemFocused && onItemFocused(item.items[index].id ?? '');\n }\n else if(onItemFocused)\n onItemFocused('');\n };\n\n const onFocus = (event: React.FocusEvent<HTMLUListElement>) => {\n event.stopPropagation();\n dropdownMenusOpenedArray.current = [...(nestPath ?? [])];\n setNewFocusedElement(0);\n forceUpdate({});\n \n };\n\n const onBlur = (event: React.FocusEvent<HTMLUListElement>) => {\n event.stopPropagation();\n setNewFocusedElement(-1);\n };\n\n return (\n <SubMenuWrapper id={item.id} className={existingRef ? 'open' : '' } topLevel={topLevel} visible={Boolean(existingRef)}>\n <Menu role=\"group\" ref={ref} aria-labelledby={ariaLabelledBy} onBlur={onBlur} onFocus={onFocus} onKeyDown={(event) => onKeyDown(event)} tabIndex={0}>\n <MenuSection>\n <MenuSectionList>\n <Tabs size={Size.Medium}>\n {item.items.map((entry, index) => {\n const isGroup = entry.type == 'desktopgroup';\n const key = isGroup ? entry.id : entry.type == 'item' ? entry.to : '';\n const SubItemOpened = Boolean(dropdownMenusOpenedArray.current.find((x) => x == entry.id));\n if (isGroup) {\n return (\n <div style={{ position: 'relative' }} onMouseEnter={(event) => onMouseEnter(event, entry.id)} onMouseLeave={(event) => onMouseLeave(event, entry.id)}>\n <MenuItem\n id={entry.id + '_parentOption'}\n aria-expanded={Boolean(SubItemOpened)}\n aria-activedescendant={entry.items.find(x => x.id == focusedItemId)?.id ?? ''}\n tabIndex={-1}\n ref={allRefs[index] as React.Ref<HTMLButtonElement>}\n \n aria-controls={entry.id}\n role=\"group\"\n //id={entry.id} removing this can break something\n item={{\n value: entry.label ?? '',\n }}\n iconRight={<SystemIcons.ArrowDropRight size=\"24px\" />}\n active={SubItemOpened || (Boolean(activeItemId) && activeItemId != '' && checkIfContainsItem(entry, activeItemId!))}\n onClickHandler={() => {}}\n />\n <SubMenu\n ariaLabelledBy={entry.id + '_parentOption'}\n onItemFocused={onItemFocused}\n focusedItemId={focusedItemId}\n ref={subMenuRefs[index]}\n nestPath={[...(nestPath ?? []), entry.id]}\n onItemStateChanged={onItemStateChanged}\n activeItemId={activeItemId}\n dropdownMenusOpenedArray={dropdownMenusOpenedArray}\n item={entry as MenuNavigationItemTypeDesktopGroup}\n index={index + 1}\n topLevel={false}\n />\n </div>\n );\n }\n return (\n <>\n <TabLink\n id={entry.id}\n tabIndex={-1}\n key={key}\n to={isGroup ? '' : key}\n ref={allRefs[index] as React.Ref<HTMLAnchorElement>}\n onActiveStateChanged={(state) => onItemStateChanged && entry.type == 'item' && onItemStateChanged(entry.to, state)}\n forceDeactivate={isGroup}\n requiredLine={entry.label ?? ''}\n optionalLine={''}\n endLineIcon={isGroup ? <SystemIcons.ArrowDropRight size=\"24px\" /> : null}\n OptionalLineIcon={''}\n disabled={entry.disabled}\n showNotificationDot={false}\n size={Size.Medium}\n variant=\"positive\"\n />\n </>\n );\n })}\n </Tabs>\n </MenuSectionList>\n </MenuSection>\n </Menu>\n </SubMenuWrapper>\n );\n});\n"],"mappings":"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"}
|