@laerdal/life-react-components 1.11.0-dev.9 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Accordion/AccordionItem.cjs +12 -7
- package/dist/Accordion/AccordionItem.cjs.map +1 -1
- package/dist/Accordion/AccordionItem.js +12 -7
- package/dist/Accordion/AccordionItem.js.map +1 -1
- package/dist/Accordion/ContentAccordion.cjs +3 -1
- package/dist/Accordion/ContentAccordion.cjs.map +1 -1
- package/dist/Accordion/ContentAccordion.js +3 -1
- package/dist/Accordion/ContentAccordion.js.map +1 -1
- package/dist/Accordion/styles.cjs +1 -1
- package/dist/Accordion/styles.cjs.map +1 -1
- package/dist/Accordion/styles.js +1 -1
- package/dist/Accordion/styles.js.map +1 -1
- package/dist/AuthPage/AuthPage.d.ts +0 -1
- package/dist/Banners/Banner.cjs +9 -4
- package/dist/Banners/Banner.cjs.map +1 -1
- package/dist/Banners/Banner.js +8 -4
- package/dist/Banners/Banner.js.map +1 -1
- package/dist/Breadcrumb/Breadcrumb.cjs +12 -0
- package/dist/Breadcrumb/Breadcrumb.cjs.map +1 -1
- package/dist/Breadcrumb/Breadcrumb.js +12 -0
- package/dist/Breadcrumb/Breadcrumb.js.map +1 -1
- package/dist/Button/DualFunctionButton.cjs +27 -12
- package/dist/Button/DualFunctionButton.cjs.map +1 -1
- package/dist/Button/DualFunctionButton.js +26 -12
- package/dist/Button/DualFunctionButton.js.map +1 -1
- package/dist/Button/Iconbutton.cjs +2 -2
- package/dist/Button/Iconbutton.cjs.map +1 -1
- package/dist/Button/Iconbutton.js +2 -2
- package/dist/Button/Iconbutton.js.map +1 -1
- package/dist/Card/VerticalCard/Card.cjs +2 -2
- package/dist/Card/VerticalCard/Card.cjs.map +1 -1
- package/dist/Card/VerticalCard/Card.js +2 -2
- package/dist/Card/VerticalCard/Card.js.map +1 -1
- package/dist/ChipsInput/ChipDropdownInput.cjs +33 -22
- package/dist/ChipsInput/ChipDropdownInput.cjs.map +1 -1
- package/dist/ChipsInput/ChipDropdownInput.js +33 -22
- package/dist/ChipsInput/ChipDropdownInput.js.map +1 -1
- package/dist/Dropdown/BasicDropdown.cjs +26 -12
- package/dist/Dropdown/BasicDropdown.cjs.map +1 -1
- package/dist/Dropdown/BasicDropdown.js +26 -12
- package/dist/Dropdown/BasicDropdown.js.map +1 -1
- package/dist/Dropdown/DropdownButton.cjs +27 -11
- package/dist/Dropdown/DropdownButton.cjs.map +1 -1
- package/dist/Dropdown/DropdownButton.js +27 -11
- package/dist/Dropdown/DropdownButton.js.map +1 -1
- package/dist/Dropdown/DropdownButtonTypes.cjs.map +1 -1
- package/dist/Dropdown/DropdownButtonTypes.d.ts +1 -1
- package/dist/Dropdown/DropdownButtonTypes.js.map +1 -1
- package/dist/Dropdown/DropdownContent.cjs +44 -6
- package/dist/Dropdown/DropdownContent.cjs.map +1 -1
- package/dist/Dropdown/DropdownContent.d.ts +2 -0
- package/dist/Dropdown/DropdownContent.js +44 -6
- package/dist/Dropdown/DropdownContent.js.map +1 -1
- package/dist/Dropdown/DropdownFilter.cjs +23 -9
- package/dist/Dropdown/DropdownFilter.cjs.map +1 -1
- package/dist/Dropdown/DropdownFilter.js +23 -9
- package/dist/Dropdown/DropdownFilter.js.map +1 -1
- package/dist/Footer/Components/FooterBottomLinks.d.ts +0 -1
- package/dist/Footer/Components/FooterDropdownLinks.d.ts +0 -1
- package/dist/Footer/Components/FooterNavSection.cjs +7 -2
- package/dist/Footer/Components/FooterNavSection.cjs.map +1 -1
- package/dist/Footer/Components/FooterNavSection.d.ts +0 -1
- package/dist/Footer/Components/FooterNavSection.js +6 -2
- package/dist/Footer/Components/FooterNavSection.js.map +1 -1
- package/dist/Footer/Components/FooterNewsletterAndSocialSection.d.ts +0 -1
- package/dist/Footer/Components/FooterTop.d.ts +0 -1
- package/dist/Footer/Footer.d.ts +0 -1
- package/dist/GlobalNavigationBar/GlobalNavigationBar.cjs +3 -1
- package/dist/GlobalNavigationBar/GlobalNavigationBar.cjs.map +1 -1
- package/dist/GlobalNavigationBar/GlobalNavigationBar.js +2 -1
- package/dist/GlobalNavigationBar/GlobalNavigationBar.js.map +1 -1
- package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.d.ts +0 -1
- package/dist/GlobalNavigationBar/desktop/UserMenu.d.ts +0 -1
- package/dist/GlobalNavigationBar/mobile/CommonStyles.cjs +24 -2
- package/dist/GlobalNavigationBar/mobile/CommonStyles.cjs.map +1 -1
- package/dist/GlobalNavigationBar/mobile/CommonStyles.d.ts +5 -0
- package/dist/GlobalNavigationBar/mobile/CommonStyles.js +8 -2
- package/dist/GlobalNavigationBar/mobile/CommonStyles.js.map +1 -1
- package/dist/GlobalNavigationBar/mobile/MobileActionContainer.cjs +53 -0
- package/dist/GlobalNavigationBar/mobile/MobileActionContainer.cjs.map +1 -0
- package/dist/GlobalNavigationBar/mobile/MobileActionContainer.d.ts +6 -0
- package/dist/GlobalNavigationBar/mobile/MobileActionContainer.js +34 -0
- package/dist/GlobalNavigationBar/mobile/MobileActionContainer.js.map +1 -0
- package/dist/GlobalNavigationBar/mobile/MobileMenu.cjs +3 -5
- package/dist/GlobalNavigationBar/mobile/MobileMenu.cjs.map +1 -1
- package/dist/GlobalNavigationBar/mobile/MobileMenu.d.ts +0 -1
- package/dist/GlobalNavigationBar/mobile/MobileMenu.js +2 -4
- package/dist/GlobalNavigationBar/mobile/MobileMenu.js.map +1 -1
- package/dist/GlobalNavigationBar/mobile/MobileMenuContent.cjs +30 -61
- package/dist/GlobalNavigationBar/mobile/MobileMenuContent.cjs.map +1 -1
- package/dist/GlobalNavigationBar/mobile/MobileMenuContent.js +30 -57
- package/dist/GlobalNavigationBar/mobile/MobileMenuContent.js.map +1 -1
- package/dist/GlobalNavigationBar/types.cjs.map +1 -1
- package/dist/GlobalNavigationBar/types.d.ts +3 -1
- package/dist/GlobalNavigationBar/types.js.map +1 -1
- package/dist/InputFields/Checkbox.cjs +1 -0
- package/dist/InputFields/Checkbox.cjs.map +1 -1
- package/dist/InputFields/Checkbox.js +1 -0
- package/dist/InputFields/Checkbox.js.map +1 -1
- package/dist/InputFields/DatepickerField.cjs +12 -4
- package/dist/InputFields/DatepickerField.cjs.map +1 -1
- package/dist/InputFields/DatepickerField.js +6 -4
- package/dist/InputFields/DatepickerField.js.map +1 -1
- package/dist/InputFields/DatepickerFieldHeader.d.ts +0 -1
- package/dist/InputFields/Label.cjs +16 -14
- package/dist/InputFields/Label.cjs.map +1 -1
- package/dist/InputFields/Label.d.ts +1 -0
- package/dist/InputFields/Label.js +15 -13
- package/dist/InputFields/Label.js.map +1 -1
- package/dist/InputFields/NumberField.cjs +1 -1
- package/dist/InputFields/NumberField.cjs.map +1 -1
- package/dist/InputFields/NumberField.js +1 -1
- package/dist/InputFields/NumberField.js.map +1 -1
- package/dist/InputFields/QuickSearch.cjs +1 -1
- package/dist/InputFields/QuickSearch.cjs.map +1 -1
- package/dist/InputFields/QuickSearch.js +1 -1
- package/dist/InputFields/QuickSearch.js.map +1 -1
- package/dist/InputFields/ResponsiveComponentWrapper.cjs +3 -3
- package/dist/InputFields/ResponsiveComponentWrapper.cjs.map +1 -1
- package/dist/InputFields/ResponsiveComponentWrapper.js +3 -3
- package/dist/InputFields/ResponsiveComponentWrapper.js.map +1 -1
- package/dist/InputFields/SearchBar.cjs +1 -0
- package/dist/InputFields/SearchBar.cjs.map +1 -1
- package/dist/InputFields/SearchBar.js +1 -0
- package/dist/InputFields/SearchBar.js.map +1 -1
- package/dist/InputFields/Textarea.cjs.map +1 -1
- package/dist/InputFields/Textarea.d.ts +1 -1
- package/dist/InputFields/Textarea.js.map +1 -1
- package/dist/InputFields/types.cjs.map +1 -1
- package/dist/InputFields/types.d.ts +1 -1
- package/dist/InputFields/types.js.map +1 -1
- package/dist/LoadingIndicator/LoadingIndicator.d.ts +0 -1
- package/dist/MiniProductCard/MiniProductCard.d.ts +0 -1
- package/dist/Modals/ModalContent.cjs +2 -1
- package/dist/Modals/ModalContent.cjs.map +1 -1
- package/dist/Modals/ModalContent.d.ts +1 -0
- package/dist/Modals/ModalContent.js +2 -1
- package/dist/Modals/ModalContent.js.map +1 -1
- package/dist/Modals/ModalDialog.cjs +1 -0
- package/dist/Modals/ModalDialog.cjs.map +1 -1
- package/dist/Modals/ModalDialog.d.ts +1 -0
- package/dist/Modals/ModalDialog.js +1 -0
- package/dist/Modals/ModalDialog.js.map +1 -1
- package/dist/NavItem/NavItem.cjs +22 -1
- package/dist/NavItem/NavItem.cjs.map +1 -1
- package/dist/NavItem/NavItem.d.ts +7 -1
- package/dist/NavItem/NavItem.js +18 -1
- package/dist/NavItem/NavItem.js.map +1 -1
- package/dist/NavItem/index.cjs.map +1 -1
- package/dist/NavItem/index.d.ts +1 -0
- package/dist/NavItem/index.js.map +1 -1
- package/dist/Paginator/Paginator.d.ts +0 -1
- package/dist/QuizButton/QuizButton.cjs +3 -1
- package/dist/QuizButton/QuizButton.cjs.map +1 -1
- package/dist/QuizButton/QuizButton.js +3 -1
- package/dist/QuizButton/QuizButton.js.map +1 -1
- package/dist/SideMenu/SideMenuBody.d.ts +0 -1
- package/dist/SideMenu/SideMenuFooter.d.ts +0 -1
- package/dist/SideMenu/SideMenuHeader.d.ts +0 -1
- package/dist/SideMenu/types.d.ts +0 -1
- package/dist/SkipToContent/SkipToContent.cjs +5 -0
- package/dist/SkipToContent/SkipToContent.cjs.map +1 -1
- package/dist/SkipToContent/SkipToContent.d.ts +3 -1
- package/dist/SkipToContent/SkipToContent.js +4 -0
- package/dist/SkipToContent/SkipToContent.js.map +1 -1
- package/dist/Switcher/MobileCustomMenuContent.cjs +56 -0
- package/dist/Switcher/MobileCustomMenuContent.cjs.map +1 -0
- package/dist/Switcher/MobileCustomMenuContent.d.ts +8 -0
- package/dist/Switcher/MobileCustomMenuContent.js +39 -0
- package/dist/Switcher/MobileCustomMenuContent.js.map +1 -0
- package/dist/Switcher/MobileSwitcherMenu.cjs +17 -4
- package/dist/Switcher/MobileSwitcherMenu.cjs.map +1 -1
- package/dist/Switcher/MobileSwitcherMenu.d.ts +5 -3
- package/dist/Switcher/MobileSwitcherMenu.js +16 -4
- package/dist/Switcher/MobileSwitcherMenu.js.map +1 -1
- package/dist/Switcher/SwitcherMenuItem.d.ts +0 -1
- package/dist/Table/Table.cjs +9 -6
- package/dist/Table/Table.cjs.map +1 -1
- package/dist/Table/Table.js +9 -6
- package/dist/Table/Table.js.map +1 -1
- package/dist/Table/TableBody.cjs +6 -5
- package/dist/Table/TableBody.cjs.map +1 -1
- package/dist/Table/TableBody.d.ts +1 -3
- package/dist/Table/TableBody.js +6 -5
- package/dist/Table/TableBody.js.map +1 -1
- package/dist/Table/TableStyles.cjs +1 -1
- package/dist/Table/TableStyles.cjs.map +1 -1
- package/dist/Table/TableStyles.js +1 -1
- package/dist/Table/TableStyles.js.map +1 -1
- package/dist/Table/TableTypes.cjs.map +1 -1
- package/dist/Table/TableTypes.d.ts +5 -1
- package/dist/Table/TableTypes.js.map +1 -1
- package/dist/Table/index.cjs.map +1 -1
- package/dist/Table/index.d.ts +1 -1
- package/dist/Table/index.js.map +1 -1
- package/dist/Tabs/TabLink.cjs +13 -16
- package/dist/Tabs/TabLink.cjs.map +1 -1
- package/dist/Tabs/TabLink.d.ts +1 -1
- package/dist/Tabs/TabLink.js +14 -16
- package/dist/Tabs/TabLink.js.map +1 -1
- package/dist/Tabs/VerticalTabs.cjs +1 -0
- package/dist/Tabs/VerticalTabs.cjs.map +1 -1
- package/dist/Tabs/VerticalTabs.d.ts +1 -2
- package/dist/Tabs/VerticalTabs.js +1 -0
- package/dist/Tabs/VerticalTabs.js.map +1 -1
- package/dist/Tile/TileBody.cjs.map +1 -1
- package/dist/Tile/TileBody.d.ts +1 -0
- package/dist/Tile/TileBody.js.map +1 -1
- package/dist/Tile/TileCommonItems.d.ts +0 -1
- package/dist/Toasters/ToastContext.cjs +5 -0
- package/dist/Toasters/ToastContext.cjs.map +1 -1
- package/dist/Toasters/ToastContext.d.ts +6 -4
- package/dist/Toasters/ToastContext.js +4 -0
- package/dist/Toasters/ToastContext.js.map +1 -1
- package/dist/Toggles/TogglerTypes.d.ts +0 -1
- package/dist/Tooltips/TooltipTypes.d.ts +0 -1
- package/dist/Tooltips/TooltipWrapper.d.ts +0 -1
- package/dist/common/ScrollableContainer.cjs +44 -0
- package/dist/common/ScrollableContainer.cjs.map +1 -0
- package/dist/common/ScrollableContainer.d.ts +2 -0
- package/dist/common/ScrollableContainer.js +28 -0
- package/dist/common/ScrollableContainer.js.map +1 -0
- package/dist/icons/contenticons/ContentIcons.cjs +83 -2
- package/dist/icons/contenticons/ContentIcons.cjs.map +1 -1
- package/dist/icons/contenticons/ContentIcons.d.ts +3 -0
- package/dist/icons/contenticons/ContentIcons.js +72 -0
- package/dist/icons/contenticons/ContentIcons.js.map +1 -1
- package/dist/icons/index.cjs +14 -7
- package/dist/icons/index.cjs.map +1 -1
- package/dist/icons/index.d.ts +1 -0
- package/dist/icons/index.js +14 -7
- package/dist/icons/index.js.map +1 -1
- package/dist/icons/systemicons/SystemIcons.cjs +30 -1
- package/dist/icons/systemicons/SystemIcons.cjs.map +1 -1
- package/dist/icons/systemicons/SystemIcons.d.ts +1 -0
- package/dist/icons/systemicons/SystemIcons.js +26 -0
- package/dist/icons/systemicons/SystemIcons.js.map +1 -1
- package/dist/styles/typography.cjs +27 -13
- package/dist/styles/typography.cjs.map +1 -1
- package/dist/styles/typography.d.ts +2 -0
- package/dist/styles/typography.js +27 -13
- package/dist/styles/typography.js.map +1 -1
- package/dist/utils/utils.cjs +13 -0
- package/dist/utils/utils.cjs.map +1 -0
- package/dist/utils/utils.d.ts +1 -0
- package/dist/utils/utils.js +4 -0
- package/dist/utils/utils.js.map +1 -0
- package/package.json +22 -17
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommonStyles.js","names":["styled","css","keyframes","BREAKPOINTS","COLORS","focusStyles","NavLink","ComponentMStyling","ComponentTextStyle","Z_INDEXES","RowLayout","div","Button","button","white","flowLeft","flowRight","fadeOut","fadeIn","Menu","off_canvas","SMALL","Right","SiteName","span","neutral_600","MenuSection","li","MenuSectionList","ul","UserMenuSectionListStyling","hover","primary_20","primary_600","focus","active","primary_100","primary_800","neutral_300","neutral_100","MenuLink","Regular","black","flowDown"],"sources":["../../../src/GlobalNavigationBar/mobile/CommonStyles.ts"],"sourcesContent":["import styled, {css, keyframes} from 'styled-components';\nimport {BREAKPOINTS, COLORS, focusStyles} from '../../styles';\nimport {NavLink} from 'react-router-dom';\nimport {ComponentMStyling, ComponentTextStyle} from '../../styles';\nimport {Z_INDEXES} from '../../styles';\n\nexport const RowLayout = styled.div`\n display: flex;\n align-items: center;\n`;\n\nexport const Button = styled.button`\n background-color: ${COLORS.white};\n font-weight: bold;\n border: 0;\n`;\n\nconst flowLeft = keyframes`\n 0% {\n opacity: 0;\n transform: translateX(100%);\n }\n to {\n opacity: 1;\n transform: translateX(0);\n }\n`;\n\nconst flowRight = keyframes`\n 0% {\n opacity: 1;\n transform: translateX(0);\n visibility: visible;\n }\n to {\n opacity: 0;\n visibility: hidden;\n transform: translateX(100%);\n }\n`;\n\nexport const fadeOut = keyframes`\n 0% {\n opacity: 1;\n visibility: visible;\n }\n to {\n opacity: 0;\n visibility: hidden;\n }\n`;\n\nexport const fadeIn = keyframes`\n 0% {\n opacity: 0;\n visibility: hidden;\n }\n to {\n opacity: 1;\n visibility: visible;\n }\n`;\n\nexport const Menu = styled.div`\n height: 100%;\n background-color: ${COLORS.white};\n box-sizing: border-box;\n right: 0;\n top: 0;\n position: absolute;\n z-index: ${Z_INDEXES.off_canvas};\n align-items: center;\n\n width: 320px;\n\n ${BREAKPOINTS.SMALL} {\n width: 400px;\n }\n\n .open & {\n visibility: visible;\n display: flex;\n animation: ${flowLeft} 0.3s ease-in-out;\n }\n\n .closed & {\n visibility: hidden;\n animation: ${flowRight} 0.3s ease-in-out;\n }\n`;\n\nexport const Right = styled.div`\n display: flex;\n margin-left: auto;\n`;\n\nexport const SiteName = styled.span`\n color: ${COLORS.neutral_600};\n font-weight: bold;\n font-size: 14px;\n margin-left: 4px;\n`;\n\nexport const MenuSection = styled.li`\n margin-top: 16px;\n\n .disabled-link {\n color: #21212150;\n pointer-events: none;\n key-events: none;\n }\n`;\n\nexport const MenuSectionList = styled.ul`\n list-style: none;\n padding: 0;\n\n li {\n width: 80%;\n height: 48px;\n margin: 0 auto 0 12px;\n\n a {\n height: 100%;\n }\n }\n`;\n\nexport const UserMenuSectionListStyling = css`\n li {\n position: relative;\n }\n\n li:hover:not(.disabled) {\n z-index: ${Z_INDEXES.hover};\n background-color: ${COLORS.primary_20};\n\n a {\n color: ${COLORS.primary_600};\n }\n\n svg {\n color: ${COLORS.primary_600};\n }\n }\n\n li:focus-within:not(.disabled) {\n z-index: ${Z_INDEXES.focus};\n\n ${focusStyles}\n a {\n outline: none;\n }\n }\n\n li:active:not(.disabled) {\n z-index: ${Z_INDEXES.active};\n background: ${COLORS.primary_100};\n\n a {\n color: ${COLORS.primary_800};\n }\n\n svg {\n color: ${COLORS.primary_800};\n }\n }\n\n .disabled {\n a {\n color: ${COLORS.neutral_300};\n }\n\n svg {\n color: ${COLORS.neutral_300};\n }\n\n background-color: ${COLORS.neutral_100};\n }\n`;\n\nexport const MenuLink = styled(NavLink)`\n border: none;\n background: transparent;\n margin: auto;\n\n box-sizing: border-box;\n\n ${ComponentMStyling(ComponentTextStyle.Regular, COLORS.black)}\n\n text-decoration: none;\n text-align: center;\n align-items: center;\n display: flex;\n`;\n\
|
|
1
|
+
{"version":3,"file":"CommonStyles.js","names":["styled","css","keyframes","BREAKPOINTS","COLORS","ComponentSStyling","focusStyles","scrollBarStyling","ParagraphXSStyling","ParagraphTextStyle","NavLink","ComponentMStyling","ComponentTextStyle","Z_INDEXES","Size","RowLayout","div","Button","button","white","flowLeft","flowRight","fadeOut","fadeIn","Menu","off_canvas","SMALL","Right","SiteName","span","neutral_600","MenuSection","li","MenuSectionList","ul","UserMenuSectionListStyling","hover","primary_20","primary_600","focus","active","primary_100","primary_800","neutral_300","neutral_100","MenuLink","Regular","black","flowDown","MobileMenuWrapper","ScrollableContainer","Small","MobileHeaderText","Bold","MobileHeaderNote","MobileHeaderContainer","neutral_200"],"sources":["../../../src/GlobalNavigationBar/mobile/CommonStyles.ts"],"sourcesContent":["import styled, { css, keyframes } from 'styled-components';\nimport { BREAKPOINTS, COLORS, ComponentSStyling, focusStyles, scrollBarStyling, ParagraphXSStyling, ParagraphTextStyle } from '../../styles';\nimport { NavLink } from 'react-router-dom';\nimport { ComponentMStyling, ComponentTextStyle } from '../../styles';\nimport { Z_INDEXES } from '../../styles';\nimport { Size } from '../../types';\n\nexport const RowLayout = styled.div`\n display: flex;\n align-items: center;\n`;\n\nexport const Button = styled.button`\n background-color: ${COLORS.white};\n font-weight: bold;\n border: 0;\n`;\n\nconst flowLeft = keyframes`\n 0% {\n opacity: 0;\n transform: translateX(100%);\n }\n to {\n opacity: 1;\n transform: translateX(0);\n }\n`;\n\nconst flowRight = keyframes`\n 0% {\n opacity: 1;\n transform: translateX(0);\n visibility: visible;\n }\n to {\n opacity: 0;\n visibility: hidden;\n transform: translateX(100%);\n }\n`;\n\nexport const fadeOut = keyframes`\n 0% {\n opacity: 1;\n visibility: visible;\n }\n to {\n opacity: 0;\n visibility: hidden;\n }\n`;\n\nexport const fadeIn = keyframes`\n 0% {\n opacity: 0;\n visibility: hidden;\n }\n to {\n opacity: 1;\n visibility: visible;\n }\n`;\n\nexport const Menu = styled.div`\n height: 100%;\n background-color: ${COLORS.white};\n box-sizing: border-box;\n right: 0;\n top: 0;\n position: absolute;\n z-index: ${Z_INDEXES.off_canvas};\n align-items: center;\n\n width: 320px;\n\n ${BREAKPOINTS.SMALL} {\n width: 400px;\n }\n\n .open & {\n visibility: visible;\n display: flex;\n animation: ${flowLeft} 0.3s ease-in-out;\n }\n\n .closed & {\n visibility: hidden;\n animation: ${flowRight} 0.3s ease-in-out;\n }\n`;\n\nexport const Right = styled.div`\n display: flex;\n margin-left: auto;\n`;\n\nexport const SiteName = styled.span`\n color: ${COLORS.neutral_600};\n font-weight: bold;\n font-size: 14px;\n margin-left: 4px;\n`;\n\nexport const MenuSection = styled.li`\n margin-top: 16px;\n\n .disabled-link {\n color: #21212150;\n pointer-events: none;\n key-events: none;\n }\n`;\n\nexport const MenuSectionList = styled.ul`\n list-style: none;\n padding: 0;\n\n li {\n width: 80%;\n height: 48px;\n margin: 0 auto 0 12px;\n\n a {\n height: 100%;\n }\n }\n`;\n\nexport const UserMenuSectionListStyling = css`\n li {\n position: relative;\n }\n\n li:hover:not(.disabled) {\n z-index: ${Z_INDEXES.hover};\n background-color: ${COLORS.primary_20};\n\n a {\n color: ${COLORS.primary_600};\n }\n\n svg {\n color: ${COLORS.primary_600};\n }\n }\n\n li:focus-within:not(.disabled) {\n z-index: ${Z_INDEXES.focus};\n\n ${focusStyles}\n a {\n outline: none;\n }\n }\n\n li:active:not(.disabled) {\n z-index: ${Z_INDEXES.active};\n background: ${COLORS.primary_100};\n\n a {\n color: ${COLORS.primary_800};\n }\n\n svg {\n color: ${COLORS.primary_800};\n }\n }\n\n .disabled {\n a {\n color: ${COLORS.neutral_300};\n }\n\n svg {\n color: ${COLORS.neutral_300};\n }\n\n background-color: ${COLORS.neutral_100};\n }\n`;\n\nexport const MenuLink = styled(NavLink)`\n border: none;\n background: transparent;\n margin: auto;\n\n box-sizing: border-box;\n\n ${ComponentMStyling(ComponentTextStyle.Regular, COLORS.black)}\n\n text-decoration: none;\n text-align: center;\n align-items: center;\n display: flex;\n`;\n\nexport const flowDown = keyframes`\n 0% {\n opacity: 0;\n transform: translateY(-10px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n`;\n\nexport const MobileMenuWrapper = styled.div`\n width: 100%;\n box-sizing: border-box;\n flex-flow: column;\n display: flex;\n flex: 1;\n overflow: hidden;\n`;\n\nexport const ScrollableContainer = styled.div`\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow-y: auto;\n max-height: 100%;\n\n &.scrollable {\n margin-right: 6px;\n padding-right: 10px;\n }\n\n ${scrollBarStyling(Size.Small)}\n\n ::-webkit-scrollbar-track {\n margin: 8px;\n }\n`;\n\nexport const MobileHeaderText = styled.div`\n ${ComponentSStyling(ComponentTextStyle.Bold, COLORS.neutral_600)}\n ${BREAKPOINTS.SMALL} {\n ${ComponentMStyling(ComponentTextStyle.Bold, COLORS.neutral_600)}\n }\n`;\nexport const MobileHeaderNote = styled.div`\n word-break: break-all;\n ${ParagraphXSStyling(ParagraphTextStyle.Regular, COLORS.neutral_600)}\n`;\n\nexport const MobileHeaderContainer = styled.div`\n margin: 0 24px;\n padding-bottom: 8px;\n box-sizing: border-box;\n border-bottom: 1px solid ${COLORS.neutral_200};\n display: flex;\n flex-direction: column;\n`;\n"],"mappings":";;;;AAAA,OAAOA,MAAP,IAAiBC,GAAjB,EAAsBC,SAAtB,QAAuC,mBAAvC;AACA,SAASC,WAAT,EAAsBC,MAAtB,EAA8BC,iBAA9B,EAAiDC,WAAjD,EAA8DC,gBAA9D,EAAgFC,kBAAhF,EAAoGC,kBAApG,QAA8H,cAA9H;AACA,SAASC,OAAT,QAAwB,kBAAxB;AACA,SAASC,iBAAT,EAA4BC,kBAA5B,QAAsD,cAAtD;AACA,SAASC,SAAT,QAA0B,cAA1B;AACA,SAASC,IAAT,QAAqB,aAArB;AAEA,OAAO,IAAMC,SAAS,GAAGf,MAAM,CAACgB,GAAV,iHAAf;AAKP,OAAO,IAAMC,MAAM,GAAGjB,MAAM,CAACkB,MAAV,yIACGd,MAAM,CAACe,KADV,CAAZ;AAMP,IAAMC,QAAQ,GAAGlB,SAAH,sMAAd;AAWA,IAAMmB,SAAS,GAAGnB,SAAH,yPAAf;AAaA,OAAO,IAAMoB,OAAO,GAAGpB,SAAH,wLAAb;AAWP,OAAO,IAAMqB,MAAM,GAAGrB,SAAH,wLAAZ;AAWP,OAAO,IAAMsB,IAAI,GAAGxB,MAAM,CAACgB,GAAV,geAEKZ,MAAM,CAACe,KAFZ,EAOJN,SAAS,CAACY,UAPN,EAYbtB,WAAW,CAACuB,KAZC,EAmBAN,QAnBA,EAwBAC,SAxBA,CAAV;AA4BP,OAAO,IAAMM,KAAK,GAAG3B,MAAM,CAACgB,GAAV,iHAAX;AAKP,OAAO,IAAMY,QAAQ,GAAG5B,MAAM,CAAC6B,IAAV,yJACVzB,MAAM,CAAC0B,WADG,CAAd;AAOP,OAAO,IAAMC,WAAW,GAAG/B,MAAM,CAACgC,EAAV,oMAAjB;AAUP,OAAO,IAAMC,eAAe,GAAGjC,MAAM,CAACkC,EAAV,qOAArB;AAeP,OAAO,IAAMC,0BAA0B,GAAGlC,GAAH,qqBAMxBY,SAAS,CAACuB,KANc,EAOfhC,MAAM,CAACiC,UAPQ,EAUxBjC,MAAM,CAACkC,WAViB,EAcxBlC,MAAM,CAACkC,WAdiB,EAmBxBzB,SAAS,CAAC0B,KAnBc,EAqBjCjC,WArBiC,EA4BxBO,SAAS,CAAC2B,MA5Bc,EA6BrBpC,MAAM,CAACqC,WA7Bc,EAgCxBrC,MAAM,CAACsC,WAhCiB,EAoCxBtC,MAAM,CAACsC,WApCiB,EA0CxBtC,MAAM,CAACuC,WA1CiB,EA8CxBvC,MAAM,CAACuC,WA9CiB,EAiDfvC,MAAM,CAACwC,WAjDQ,CAAhC;AAqDP,OAAO,IAAMC,QAAQ,GAAG7C,MAAM,CAACU,OAAD,CAAT,8QAOjBC,iBAAiB,CAACC,kBAAkB,CAACkC,OAApB,EAA6B1C,MAAM,CAAC2C,KAApC,CAPA,CAAd;AAeP,OAAO,IAAMC,QAAQ,GAAG9C,SAAH,yMAAd;AAWP,OAAO,IAAM+C,iBAAiB,GAAGjD,MAAM,CAACgB,GAAV,+LAAvB;AASP,OAAO,IAAMkC,mBAAmB,GAAGlD,MAAM,CAACgB,GAAV,4TAY5BT,gBAAgB,CAACO,IAAI,CAACqC,KAAN,CAZY,CAAzB;AAmBP,OAAO,IAAMC,gBAAgB,GAAGpD,MAAM,CAACgB,GAAV,6GACzBX,iBAAiB,CAACO,kBAAkB,CAACyC,IAApB,EAA0BjD,MAAM,CAAC0B,WAAjC,CADQ,EAEzB3B,WAAW,CAACuB,KAFa,EAGvBf,iBAAiB,CAACC,kBAAkB,CAACyC,IAApB,EAA0BjD,MAAM,CAAC0B,WAAjC,CAHM,CAAtB;AAMP,OAAO,IAAMwB,gBAAgB,GAAGtD,MAAM,CAACgB,GAAV,8GAEzBR,kBAAkB,CAACC,kBAAkB,CAACqC,OAApB,EAA6B1C,MAAM,CAAC0B,WAApC,CAFO,CAAtB;AAKP,OAAO,IAAMyB,qBAAqB,GAAGvD,MAAM,CAACgB,GAAV,iOAILZ,MAAM,CAACoD,WAJF,CAA3B"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.MobileActionContainer = void 0;
|
|
9
|
+
|
|
10
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
11
|
+
|
|
12
|
+
var _react = _interopRequireDefault(require("react"));
|
|
13
|
+
|
|
14
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
15
|
+
|
|
16
|
+
var _Button = require("../../Button");
|
|
17
|
+
|
|
18
|
+
var _styles = require("../../styles");
|
|
19
|
+
|
|
20
|
+
var _types = require("../../types");
|
|
21
|
+
|
|
22
|
+
var _rooks = require("rooks");
|
|
23
|
+
|
|
24
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
25
|
+
|
|
26
|
+
var _templateObject;
|
|
27
|
+
|
|
28
|
+
var ActionContainer = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n padding: 8px 16px;\n box-sizing: border-box;\n border-top: 1px solid ", ";\n display: flex;\n flex-direction: column;\n\n ", " {\n padding: 16px;\n }\n"])), _styles.COLORS.neutral_200, _styles.BREAKPOINTS.SMALL);
|
|
29
|
+
|
|
30
|
+
var MobileActionContainer = function MobileActionContainer(_ref) {
|
|
31
|
+
var disabled = _ref.disabled,
|
|
32
|
+
_ref$variant = _ref.variant,
|
|
33
|
+
variant = _ref$variant === void 0 ? 'secondary' : _ref$variant,
|
|
34
|
+
icon = _ref.icon,
|
|
35
|
+
label = _ref.label,
|
|
36
|
+
isLoading = _ref.isLoading,
|
|
37
|
+
action = _ref.action;
|
|
38
|
+
var isSmallScreen = (0, _rooks.useMediaMatch)(_styles.BREAKPOINTS.SMALL.replace('@media ', ''));
|
|
39
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(ActionContainer, {
|
|
40
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.Button, {
|
|
41
|
+
variant: variant,
|
|
42
|
+
size: isSmallScreen ? _types.Size.Medium : _types.Size.Small,
|
|
43
|
+
disabled: disabled,
|
|
44
|
+
icon: icon,
|
|
45
|
+
loading: isLoading,
|
|
46
|
+
onClick: action,
|
|
47
|
+
children: label
|
|
48
|
+
})
|
|
49
|
+
});
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
exports.MobileActionContainer = MobileActionContainer;
|
|
53
|
+
//# sourceMappingURL=MobileActionContainer.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MobileActionContainer.cjs","names":["ActionContainer","styled","div","COLORS","neutral_200","BREAKPOINTS","SMALL","MobileActionContainer","disabled","variant","icon","label","isLoading","action","isSmallScreen","useMediaMatch","replace","Size","Medium","Small"],"sources":["../../../src/GlobalNavigationBar/mobile/MobileActionContainer.tsx"],"sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\nimport { Button } from '../../Button';\nimport { BREAKPOINTS, COLORS } from '../../styles';\nimport { Size } from '../../types';\nimport { MenuButton } from '../types';\nimport {useMediaMatch} from \"rooks\";\n\nconst ActionContainer = styled.div`\n padding: 8px 16px;\n box-sizing: border-box;\n border-top: 1px solid ${COLORS.neutral_200};\n display: flex;\n flex-direction: column;\n\n ${BREAKPOINTS.SMALL} {\n padding: 16px;\n }\n`;\n\ninterface MobileActionContainerProps extends MenuButton {}\n\nexport const MobileActionContainer: React.FunctionComponent<MobileActionContainerProps> = ({ disabled, variant = 'secondary', icon, label, isLoading, action }) => {\n const isSmallScreen = useMediaMatch(BREAKPOINTS.SMALL.replace('@media ', ''));\n\n return (\n <ActionContainer>\n <Button variant={variant} size={isSmallScreen ? Size.Medium : Size.Small} disabled={disabled} icon={icon} loading={isLoading} onClick={action}>\n {label}\n </Button>\n </ActionContainer>\n );\n};\n"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AAEA;;;;;;AAEA,IAAMA,eAAe,GAAGC,yBAAA,CAAOC,GAAV,wPAGKC,cAAA,CAAOC,WAHZ,EAOjBC,mBAAA,CAAYC,KAPK,CAArB;;AAcO,IAAMC,qBAA0E,GAAG,SAA7EA,qBAA6E,OAAyE;EAAA,IAAtEC,QAAsE,QAAtEA,QAAsE;EAAA,wBAA5DC,OAA4D;EAAA,IAA5DA,OAA4D,6BAAlD,WAAkD;EAAA,IAArCC,IAAqC,QAArCA,IAAqC;EAAA,IAA/BC,KAA+B,QAA/BA,KAA+B;EAAA,IAAxBC,SAAwB,QAAxBA,SAAwB;EAAA,IAAbC,MAAa,QAAbA,MAAa;EACjK,IAAMC,aAAa,GAAG,IAAAC,oBAAA,EAAcV,mBAAA,CAAYC,KAAZ,CAAkBU,OAAlB,CAA0B,SAA1B,EAAqC,EAArC,CAAd,CAAtB;EAEA,oBACE,qBAAC,eAAD;IAAA,uBACE,qBAAC,cAAD;MAAQ,OAAO,EAAEP,OAAjB;MAA0B,IAAI,EAAEK,aAAa,GAAGG,WAAA,CAAKC,MAAR,GAAiBD,WAAA,CAAKE,KAAnE;MAA0E,QAAQ,EAAEX,QAApF;MAA8F,IAAI,EAAEE,IAApG;MAA0G,OAAO,EAAEE,SAAnH;MAA8H,OAAO,EAAEC,MAAvI;MAAA,UACGF;IADH;EADF,EADF;AAOD,CAVM"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import _taggedTemplateLiteral from "@babel/runtime/helpers/esm/taggedTemplateLiteral";
|
|
2
|
+
|
|
3
|
+
var _templateObject;
|
|
4
|
+
|
|
5
|
+
import React from 'react';
|
|
6
|
+
import styled from 'styled-components';
|
|
7
|
+
import { Button } from '../../Button';
|
|
8
|
+
import { BREAKPOINTS, COLORS } from '../../styles';
|
|
9
|
+
import { Size } from '../../types';
|
|
10
|
+
import { useMediaMatch } from "rooks";
|
|
11
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
12
|
+
var ActionContainer = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n padding: 8px 16px;\n box-sizing: border-box;\n border-top: 1px solid ", ";\n display: flex;\n flex-direction: column;\n\n ", " {\n padding: 16px;\n }\n"])), COLORS.neutral_200, BREAKPOINTS.SMALL);
|
|
13
|
+
export var MobileActionContainer = function MobileActionContainer(_ref) {
|
|
14
|
+
var disabled = _ref.disabled,
|
|
15
|
+
_ref$variant = _ref.variant,
|
|
16
|
+
variant = _ref$variant === void 0 ? 'secondary' : _ref$variant,
|
|
17
|
+
icon = _ref.icon,
|
|
18
|
+
label = _ref.label,
|
|
19
|
+
isLoading = _ref.isLoading,
|
|
20
|
+
action = _ref.action;
|
|
21
|
+
var isSmallScreen = useMediaMatch(BREAKPOINTS.SMALL.replace('@media ', ''));
|
|
22
|
+
return /*#__PURE__*/_jsx(ActionContainer, {
|
|
23
|
+
children: /*#__PURE__*/_jsx(Button, {
|
|
24
|
+
variant: variant,
|
|
25
|
+
size: isSmallScreen ? Size.Medium : Size.Small,
|
|
26
|
+
disabled: disabled,
|
|
27
|
+
icon: icon,
|
|
28
|
+
loading: isLoading,
|
|
29
|
+
onClick: action,
|
|
30
|
+
children: label
|
|
31
|
+
})
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=MobileActionContainer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MobileActionContainer.js","names":["React","styled","Button","BREAKPOINTS","COLORS","Size","useMediaMatch","ActionContainer","div","neutral_200","SMALL","MobileActionContainer","disabled","variant","icon","label","isLoading","action","isSmallScreen","replace","Medium","Small"],"sources":["../../../src/GlobalNavigationBar/mobile/MobileActionContainer.tsx"],"sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\nimport { Button } from '../../Button';\nimport { BREAKPOINTS, COLORS } from '../../styles';\nimport { Size } from '../../types';\nimport { MenuButton } from '../types';\nimport {useMediaMatch} from \"rooks\";\n\nconst ActionContainer = styled.div`\n padding: 8px 16px;\n box-sizing: border-box;\n border-top: 1px solid ${COLORS.neutral_200};\n display: flex;\n flex-direction: column;\n\n ${BREAKPOINTS.SMALL} {\n padding: 16px;\n }\n`;\n\ninterface MobileActionContainerProps extends MenuButton {}\n\nexport const MobileActionContainer: React.FunctionComponent<MobileActionContainerProps> = ({ disabled, variant = 'secondary', icon, label, isLoading, action }) => {\n const isSmallScreen = useMediaMatch(BREAKPOINTS.SMALL.replace('@media ', ''));\n\n return (\n <ActionContainer>\n <Button variant={variant} size={isSmallScreen ? Size.Medium : Size.Small} disabled={disabled} icon={icon} loading={isLoading} onClick={action}>\n {label}\n </Button>\n </ActionContainer>\n );\n};\n"],"mappings":";;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,MAAP,MAAmB,mBAAnB;AACA,SAASC,MAAT,QAAuB,cAAvB;AACA,SAASC,WAAT,EAAsBC,MAAtB,QAAoC,cAApC;AACA,SAASC,IAAT,QAAqB,aAArB;AAEA,SAAQC,aAAR,QAA4B,OAA5B;;AAEA,IAAMC,eAAe,GAAGN,MAAM,CAACO,GAAV,0OAGKJ,MAAM,CAACK,WAHZ,EAOjBN,WAAW,CAACO,KAPK,CAArB;AAcA,OAAO,IAAMC,qBAA0E,GAAG,SAA7EA,qBAA6E,OAAyE;EAAA,IAAtEC,QAAsE,QAAtEA,QAAsE;EAAA,wBAA5DC,OAA4D;EAAA,IAA5DA,OAA4D,6BAAlD,WAAkD;EAAA,IAArCC,IAAqC,QAArCA,IAAqC;EAAA,IAA/BC,KAA+B,QAA/BA,KAA+B;EAAA,IAAxBC,SAAwB,QAAxBA,SAAwB;EAAA,IAAbC,MAAa,QAAbA,MAAa;EACjK,IAAMC,aAAa,GAAGZ,aAAa,CAACH,WAAW,CAACO,KAAZ,CAAkBS,OAAlB,CAA0B,SAA1B,EAAqC,EAArC,CAAD,CAAnC;EAEA,oBACE,KAAC,eAAD;IAAA,uBACE,KAAC,MAAD;MAAQ,OAAO,EAAEN,OAAjB;MAA0B,IAAI,EAAEK,aAAa,GAAGb,IAAI,CAACe,MAAR,GAAiBf,IAAI,CAACgB,KAAnE;MAA0E,QAAQ,EAAET,QAApF;MAA8F,IAAI,EAAEE,IAApG;MAA0G,OAAO,EAAEE,SAAnH;MAA8H,OAAO,EAAEC,MAAvI;MAAA,UACGF;IADH;EADF,EADF;AAOD,CAVM"}
|
|
@@ -31,10 +31,10 @@ var _MobileMenuHeader = _interopRequireDefault(require("./MobileMenuHeader"));
|
|
|
31
31
|
|
|
32
32
|
var _MobileMenuContent = _interopRequireDefault(require("./MobileMenuContent"));
|
|
33
33
|
|
|
34
|
-
var _reactResponsive = require("react-responsive");
|
|
35
|
-
|
|
36
34
|
var _StackState = require("../../common/StackState");
|
|
37
35
|
|
|
36
|
+
var _rooks = require("rooks");
|
|
37
|
+
|
|
38
38
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
39
39
|
|
|
40
40
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4;
|
|
@@ -71,9 +71,7 @@ var MobileMenu = function MobileMenu(_ref) {
|
|
|
71
71
|
pop = _useStackState.pop,
|
|
72
72
|
peek = _useStackState.peek;
|
|
73
73
|
|
|
74
|
-
var isMediumScreen = (0,
|
|
75
|
-
query: _styles.BREAKPOINTS.LARGE.replace('@media ', '')
|
|
76
|
-
});
|
|
74
|
+
var isMediumScreen = (0, _rooks.useMediaMatch)(_styles.BREAKPOINTS.LARGE.replace('@media ', ''));
|
|
77
75
|
var location = (0, _reactRouterDom.useLocation)();
|
|
78
76
|
|
|
79
77
|
var onSubMenuOpen = function onSubMenuOpen(menu) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MobileMenu.cjs","names":["Wrapper","styled","div","Z_INDEXES","off_canvas","BREAKPOINTS","SMALL","SwitcherLabel","MobileFooter","COLORS","neutral_200","ComponentXSStyling","ComponentTextStyle","Bold","neutral_600","ComponentSStyling","CustomContent","MobileMenu","show","profile","buttons","label","header","items","footer","action","onClose","useStackState","reset","length","push","pop","peek","isMediumScreen","useMediaQuery","query","LARGE","replace","location","useLocation","onSubMenuOpen","menu","type","content","customContent","custom","React","useEffect","setTimeout","current","switcher","find","a","undefined"],"sources":["../../../src/GlobalNavigationBar/mobile/MobileMenu.tsx"],"sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport {BREAKPOINTS, COLORS, ComponentSStyling, ComponentTextStyle, ComponentXSStyling, Z_INDEXES} from '../../styles';\nimport {SwitchApp} from '../../icons/systemicons/SystemIcons';\nimport {useLocation} from 'react-router-dom';\nimport {IconButton} from '../../Button';\nimport {LaerdalLogo} from '../../assets';\nimport {\n MenuAccountInfo,\n MenuButton,\n MenuNavigationItemTypeGroup,\n MenuGroupFooter,\n MenuGroupHeader,\n MenuIconButton,\n MenuNavigationItemTypeItem,\n MobileNavigationMenuProps,\n ProfileMenu,\n MenuNavigationItemTypeSection,\n MenuIconSubMenuButton,\n MobileMenuButtonTypes,\n MenuSwitcherButton,\n MenuNavigationCustomSubMenu\n} from '../types';\nimport MobileMenuHeader from './MobileMenuHeader';\nimport MobileMenuContent from './MobileMenuContent';\nimport {useMediaQuery} from 'react-responsive';\nimport {useStackState} from '../../common/StackState';\n\nconst Wrapper = styled.div`\n width: 320px;\n z-index: ${Z_INDEXES.off_canvas};\n height: 100%;\n box-sizing: border-box;\n\n display: flex;\n flex-direction: column;\n gap: 8px;\n\n ${BREAKPOINTS.SMALL} {\n width: 400px;\n }\n`;\n\nconst SwitcherLabel = styled.div`\n margin-left: auto;\n`;\n\nconst MobileFooter = styled.div`\n display: flex;\n align-items: center;\n box-sizing: border-box;\n height: 48px;\n\n padding: 0 4px 0 16px;\n border-top: 1px solid ${COLORS.neutral_200};\n\n ${ComponentXSStyling(ComponentTextStyle.Bold, COLORS.neutral_600)}\n ${BREAKPOINTS.SMALL} {\n height: 56px;\n padding: 4px 8px 4px 16px;\n ${ComponentSStyling(ComponentTextStyle.Bold, COLORS.neutral_600)}\n }\n`;\n\nconst CustomContent = styled.div`\n width: 100%;\n box-sizing: border-box;\n flex-flow: column;\n display: flex;\n flex: 1;\n overflow: hidden;\n`;\n\ntype Props = MobileNavigationMenuProps & {\n profile?: ProfileMenu;\n show?: boolean;\n onClose: () => void;\n};\n\ninterface MenuState {\n header: {\n label?: string;\n buttons?: MobileMenuButtonTypes[];\n }\n content?: {\n header?: MenuGroupHeader;\n items?: (MenuNavigationItemTypeItem | MenuNavigationItemTypeGroup | MenuNavigationItemTypeSection)[];\n footer?: MenuGroupFooter;\n action?: MenuButton;\n },\n customContent?: () => React.ReactNode;\n footer?: boolean;\n}\n\nconst MobileMenu = ({\n show,\n profile,\n buttons,\n label,\n header,\n items,\n footer,\n action,\n onClose,\n }: Props) => {\n\n const {reset, length, push, pop, peek} = useStackState<MenuState>();\n\n const isMediumScreen = useMediaQuery({query: BREAKPOINTS.LARGE.replace('@media ', '')});\n\n const location = useLocation();\n\n const onSubMenuOpen = (menu?: MenuNavigationItemTypeGroup | MenuNavigationCustomSubMenu) => {\n\n switch (menu?.type) {\n case 'group':\n push({\n header: {\n label: menu.label,\n buttons: menu.buttons,\n },\n content: {\n header: menu.header,\n items: menu.items,\n footer: menu.footer,\n action: menu.action\n },\n footer: false\n });\n break;\n case 'custom':\n push({\n header: {\n label: menu.label,\n buttons: menu.buttons,\n },\n customContent: menu.custom,\n footer: false\n });\n break;\n default:\n break;\n }\n\n };\n\n React.useEffect(() => {\n onClose();\n }, [location]);\n\n React.useEffect(() => {\n isMediumScreen && onClose()\n }, [isMediumScreen]);\n\n React.useEffect(() => {\n setTimeout(() => {\n reset({\n footer: true,\n header: {\n label: label,\n buttons: buttons,\n },\n content: {\n header: header,\n items: items,\n footer: footer,\n action: action\n }\n })\n }, 300)\n }, [show])\n\n\n const current = peek();\n\n const switcher = current?.header?.buttons?.find(a => a.type === 'switcher') as MenuSwitcherButton;\n\n return (\n <Wrapper>\n <MobileMenuHeader buttons={current?.header.buttons}\n onGoBack={length > 1 ? pop : undefined}\n onSubMenuOpen={onSubMenuOpen}\n profile={profile}\n label={current?.header.label}\n onClose={onClose}/>\n {current?.customContent && <CustomContent>{current?.customContent()}</CustomContent>}\n {current?.content && <MobileMenuContent header={current?.content.header}\n items={current?.content.items}\n footer={current?.content.footer}\n action={current?.content.action}\n onSubMenuOpen={onSubMenuOpen}/>}\n\n {\n current?.footer &&\n <MobileFooter>\n <LaerdalLogo height={'36px'} width={'66px'}/>\n {switcher &&\n <>\n <SwitcherLabel className={'globalNav-toggler'}>Switch site</SwitcherLabel>\n <IconButton\n variant={'secondary'}\n shape={'circular'}\n id=\"globalNavAppsButton\"\n action={() => switcher.action && switcher.action() && onClose()}>\n <SwitchApp size=\"24px\"/>\n </IconButton>\n </>\n }\n\n </MobileFooter>\n }\n </Wrapper>\n );\n};\n\nexport default MobileMenu;\n"],"mappings":";;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAiBA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,IAAMA,OAAO,GAAGC,yBAAA,CAAOC,GAAV,qQAEAC,iBAAA,CAAUC,UAFV,EAUTC,mBAAA,CAAYC,KAVH,CAAb;;AAeA,IAAMC,aAAa,GAAGN,yBAAA,CAAOC,GAAV,6GAAnB;;AAIA,IAAMM,YAAY,GAAGP,yBAAA,CAAOC,GAAV,+TAOQO,cAAA,CAAOC,WAPf,EASd,IAAAC,0BAAA,EAAmBC,0BAAA,CAAmBC,IAAtC,EAA4CJ,cAAA,CAAOK,WAAnD,CATc,EAUdT,mBAAA,CAAYC,KAVE,EAaZ,IAAAS,yBAAA,EAAkBH,0BAAA,CAAmBC,IAArC,EAA2CJ,cAAA,CAAOK,WAAlD,CAbY,CAAlB;;AAiBA,IAAME,aAAa,GAAGf,yBAAA,CAAOC,GAAV,2MAAnB;;AA8BA,IAAMe,UAAU,GAAG,SAAbA,UAAa,OAUc;EAAA;;EAAA,IATXC,IASW,QATXA,IASW;EAAA,IARXC,OAQW,QARXA,OAQW;EAAA,IAPXC,OAOW,QAPXA,OAOW;EAAA,IANXC,KAMW,QANXA,KAMW;EAAA,IALXC,MAKW,QALXA,MAKW;EAAA,IAJXC,KAIW,QAJXA,KAIW;EAAA,IAHXC,MAGW,QAHXA,MAGW;EAAA,IAFXC,MAEW,QAFXA,MAEW;EAAA,IADXC,OACW,QADXA,OACW;;EAE/B,qBAAyC,IAAAC,yBAAA,GAAzC;EAAA,IAAOC,KAAP,kBAAOA,KAAP;EAAA,IAAcC,MAAd,kBAAcA,MAAd;EAAA,IAAsBC,IAAtB,kBAAsBA,IAAtB;EAAA,IAA4BC,GAA5B,kBAA4BA,GAA5B;EAAA,IAAiCC,IAAjC,kBAAiCA,IAAjC;;EAEA,IAAMC,cAAc,GAAG,IAAAC,8BAAA,EAAc;IAACC,KAAK,EAAE9B,mBAAA,CAAY+B,KAAZ,CAAkBC,OAAlB,CAA0B,SAA1B,EAAqC,EAArC;EAAR,CAAd,CAAvB;EAEA,IAAMC,QAAQ,GAAG,IAAAC,2BAAA,GAAjB;;EAEA,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAACC,IAAD,EAAsE;IAE1F,QAAQA,IAAR,aAAQA,IAAR,uBAAQA,IAAI,CAAEC,IAAd;MACE,KAAK,OAAL;QACEZ,IAAI,CAAC;UACHR,MAAM,EAAE;YACND,KAAK,EAAEoB,IAAI,CAACpB,KADN;YAEND,OAAO,EAAEqB,IAAI,CAACrB;UAFR,CADL;UAKHuB,OAAO,EAAE;YACPrB,MAAM,EAAEmB,IAAI,CAACnB,MADN;YAEPC,KAAK,EAAEkB,IAAI,CAAClB,KAFL;YAGPC,MAAM,EAAEiB,IAAI,CAACjB,MAHN;YAIPC,MAAM,EAAEgB,IAAI,CAAChB;UAJN,CALN;UAWHD,MAAM,EAAE;QAXL,CAAD,CAAJ;QAaA;;MACF,KAAK,QAAL;QACEM,IAAI,CAAC;UACHR,MAAM,EAAE;YACND,KAAK,EAAEoB,IAAI,CAACpB,KADN;YAEND,OAAO,EAAEqB,IAAI,CAACrB;UAFR,CADL;UAKHwB,aAAa,EAAEH,IAAI,CAACI,MALjB;UAMHrB,MAAM,EAAE;QANL,CAAD,CAAJ;QAQA;;MACF;QACE;IA3BJ;EA8BD,CAhCD;;EAkCAsB,KAAK,CAACC,SAAN,CAAgB,YAAM;IACpBrB,OAAO;EACR,CAFD,EAEG,CAACY,QAAD,CAFH;EAIAQ,KAAK,CAACC,SAAN,CAAgB,YAAM;IACpBd,cAAc,IAAIP,OAAO,EAAzB;EACD,CAFD,EAEG,CAACO,cAAD,CAFH;EAIAa,KAAK,CAACC,SAAN,CAAgB,YAAM;IACpBC,UAAU,CAAC,YAAM;MACfpB,KAAK,CAAC;QACJJ,MAAM,EAAE,IADJ;QAEJF,MAAM,EAAE;UACND,KAAK,EAAEA,KADD;UAEND,OAAO,EAAEA;QAFH,CAFJ;QAMJuB,OAAO,EAAE;UACPrB,MAAM,EAAEA,MADD;UAEPC,KAAK,EAAEA,KAFA;UAGPC,MAAM,EAAEA,MAHD;UAIPC,MAAM,EAAEA;QAJD;MANL,CAAD,CAAL;IAaD,CAdS,EAcP,GAdO,CAAV;EAeD,CAhBD,EAgBG,CAACP,IAAD,CAhBH;EAmBA,IAAM+B,OAAO,GAAGjB,IAAI,EAApB;EAEA,IAAMkB,QAAQ,GAAGD,OAAH,aAAGA,OAAH,0CAAGA,OAAO,CAAE3B,MAAZ,6EAAG,gBAAiBF,OAApB,0DAAG,sBAA0B+B,IAA1B,CAA+B,UAAAC,CAAC;IAAA,OAAIA,CAAC,CAACV,IAAF,KAAW,UAAf;EAAA,CAAhC,CAAjB;EAEA,oBACE,sBAAC,OAAD;IAAA,wBACE,qBAAC,yBAAD;MAAkB,OAAO,EAAEO,OAAF,aAAEA,OAAF,uBAAEA,OAAO,CAAE3B,MAAT,CAAgBF,OAA3C;MACkB,QAAQ,EAAES,MAAM,GAAG,CAAT,GAAaE,GAAb,GAAmBsB,SAD/C;MAEkB,aAAa,EAAEb,aAFjC;MAGkB,OAAO,EAAErB,OAH3B;MAIkB,KAAK,EAAE8B,OAAF,aAAEA,OAAF,uBAAEA,OAAO,CAAE3B,MAAT,CAAgBD,KAJzC;MAKkB,OAAO,EAAEK;IAL3B,EADF,EAOG,CAAAuB,OAAO,SAAP,IAAAA,OAAO,WAAP,YAAAA,OAAO,CAAEL,aAAT,kBAA0B,qBAAC,aAAD;MAAA,UAAgBK,OAAhB,aAAgBA,OAAhB,uBAAgBA,OAAO,CAAEL,aAAT;IAAhB,EAP7B,EAQG,CAAAK,OAAO,SAAP,IAAAA,OAAO,WAAP,YAAAA,OAAO,CAAEN,OAAT,kBAAoB,qBAAC,0BAAD;MAAmB,MAAM,EAAEM,OAAF,aAAEA,OAAF,uBAAEA,OAAO,CAAEN,OAAT,CAAiBrB,MAA5C;MACmB,KAAK,EAAE2B,OAAF,aAAEA,OAAF,uBAAEA,OAAO,CAAEN,OAAT,CAAiBpB,KAD3C;MAEmB,MAAM,EAAE0B,OAAF,aAAEA,OAAF,uBAAEA,OAAO,CAAEN,OAAT,CAAiBnB,MAF5C;MAGmB,MAAM,EAAEyB,OAAF,aAAEA,OAAF,uBAAEA,OAAO,CAAEN,OAAT,CAAiBlB,MAH5C;MAImB,aAAa,EAAEe;IAJlC,EARvB,EAeI,CAAAS,OAAO,SAAP,IAAAA,OAAO,WAAP,YAAAA,OAAO,CAAEzB,MAAT,kBACA,sBAAC,YAAD;MAAA,wBACE,qBAAC,mBAAD;QAAa,MAAM,EAAE,MAArB;QAA6B,KAAK,EAAE;MAApC,EADF,EAEG0B,QAAQ,iBACP;QAAA,wBACE,qBAAC,aAAD;UAAe,SAAS,EAAE,mBAA1B;UAAA;QAAA,EADF,eAEE,qBAAC,kBAAD;UACE,OAAO,EAAE,WADX;UAEE,KAAK,EAAE,UAFT;UAGE,EAAE,EAAC,qBAHL;UAIE,MAAM,EAAE;YAAA,OAAMA,QAAQ,CAACzB,MAAT,IAAmByB,QAAQ,CAACzB,MAAT,EAAnB,IAAwCC,OAAO,EAArD;UAAA,CAJV;UAAA,uBAKE,qBAAC,sBAAD;YAAW,IAAI,EAAC;UAAhB;QALF,EAFF;MAAA,EAHJ;IAAA,EAhBJ;EAAA,EADF;AAoCD,CAvHD;;;EAnBER,I;EACAQ,O;;eA2IaT,U"}
|
|
1
|
+
{"version":3,"file":"MobileMenu.cjs","names":["Wrapper","styled","div","Z_INDEXES","off_canvas","BREAKPOINTS","SMALL","SwitcherLabel","MobileFooter","COLORS","neutral_200","ComponentXSStyling","ComponentTextStyle","Bold","neutral_600","ComponentSStyling","CustomContent","MobileMenu","show","profile","buttons","label","header","items","footer","action","onClose","useStackState","reset","length","push","pop","peek","isMediumScreen","useMediaMatch","LARGE","replace","location","useLocation","onSubMenuOpen","menu","type","content","customContent","custom","React","useEffect","setTimeout","current","switcher","find","a","undefined"],"sources":["../../../src/GlobalNavigationBar/mobile/MobileMenu.tsx"],"sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport {BREAKPOINTS, COLORS, ComponentSStyling, ComponentTextStyle, ComponentXSStyling, Z_INDEXES} from '../../styles';\nimport {SwitchApp} from '../../icons/systemicons/SystemIcons';\nimport {useLocation} from 'react-router-dom';\nimport {IconButton} from '../../Button';\nimport {LaerdalLogo} from '../../assets';\nimport {\n MenuAccountInfo,\n MenuButton,\n MenuNavigationItemTypeGroup,\n MenuGroupFooter,\n MenuGroupHeader,\n MenuIconButton,\n MenuNavigationItemTypeItem,\n MobileNavigationMenuProps,\n ProfileMenu,\n MenuNavigationItemTypeSection,\n MobileMenuButtonTypes,\n MenuSwitcherButton,\n MenuNavigationCustomSubMenu\n} from '../types';\nimport MobileMenuHeader from './MobileMenuHeader';\nimport MobileMenuContent from './MobileMenuContent';\nimport {useStackState} from '../../common/StackState';\nimport {useMediaMatch} from \"rooks\";\n\nconst Wrapper = styled.div`\n width: 320px;\n z-index: ${Z_INDEXES.off_canvas};\n height: 100%;\n box-sizing: border-box;\n\n display: flex;\n flex-direction: column;\n gap: 8px;\n\n ${BREAKPOINTS.SMALL} {\n width: 400px;\n }\n`;\n\nconst SwitcherLabel = styled.div`\n margin-left: auto;\n`;\n\nconst MobileFooter = styled.div`\n display: flex;\n align-items: center;\n box-sizing: border-box;\n height: 48px;\n\n padding: 0 4px 0 16px;\n border-top: 1px solid ${COLORS.neutral_200};\n\n ${ComponentXSStyling(ComponentTextStyle.Bold, COLORS.neutral_600)}\n ${BREAKPOINTS.SMALL} {\n height: 56px;\n padding: 4px 8px 4px 16px;\n ${ComponentSStyling(ComponentTextStyle.Bold, COLORS.neutral_600)}\n }\n`;\n\nconst CustomContent = styled.div`\n width: 100%;\n box-sizing: border-box;\n flex-flow: column;\n display: flex;\n flex: 1;\n overflow: hidden;\n`;\n\ntype Props = MobileNavigationMenuProps & {\n profile?: ProfileMenu;\n show?: boolean;\n onClose: () => void;\n};\n\ninterface MenuState {\n header: {\n label?: string;\n buttons?: MobileMenuButtonTypes[];\n }\n content?: {\n header?: MenuGroupHeader;\n items?: (MenuNavigationItemTypeItem | MenuNavigationItemTypeGroup | MenuNavigationItemTypeSection)[];\n footer?: MenuGroupFooter;\n action?: MenuButton;\n },\n customContent?: () => React.ReactNode;\n footer?: boolean;\n}\n\nconst MobileMenu = ({\n show,\n profile,\n buttons,\n label,\n header,\n items,\n footer,\n action,\n onClose,\n }: Props) => {\n\n const {reset, length, push, pop, peek} = useStackState<MenuState>();\n\n const isMediumScreen = useMediaMatch(BREAKPOINTS.LARGE.replace('@media ', ''));\n\n const location = useLocation();\n\n const onSubMenuOpen = (menu?: MenuNavigationItemTypeGroup | MenuNavigationCustomSubMenu) => {\n\n switch (menu?.type) {\n case 'group':\n push({\n header: {\n label: menu.label,\n buttons: menu.buttons,\n },\n content: {\n header: menu.header,\n items: menu.items,\n footer: menu.footer,\n action: menu.action\n },\n footer: false\n });\n break;\n case 'custom':\n push({\n header: {\n label: menu.label,\n buttons: menu.buttons,\n },\n customContent: menu.custom,\n footer: false\n });\n break;\n default:\n break;\n }\n\n };\n\n React.useEffect(() => {\n onClose();\n }, [location]);\n\n React.useEffect(() => {\n isMediumScreen && onClose()\n }, [isMediumScreen]);\n\n React.useEffect(() => {\n setTimeout(() => {\n reset({\n footer: true,\n header: {\n label: label,\n buttons: buttons,\n },\n content: {\n header: header,\n items: items,\n footer: footer,\n action: action\n }\n })\n }, 300)\n }, [show])\n\n\n const current = peek();\n\n const switcher = current?.header?.buttons?.find(a => a.type === 'switcher') as MenuSwitcherButton;\n\n return (\n <Wrapper>\n <MobileMenuHeader buttons={current?.header.buttons}\n onGoBack={length > 1 ? pop : undefined}\n onSubMenuOpen={onSubMenuOpen}\n profile={profile}\n label={current?.header.label}\n onClose={onClose}/>\n {current?.customContent && <CustomContent>{current?.customContent()}</CustomContent>}\n {current?.content && <MobileMenuContent header={current?.content.header}\n items={current?.content.items}\n footer={current?.content.footer}\n action={current?.content.action}\n onSubMenuOpen={onSubMenuOpen}/>}\n\n {\n current?.footer &&\n <MobileFooter>\n <LaerdalLogo height={'36px'} width={'66px'}/>\n {switcher &&\n <>\n <SwitcherLabel className={'globalNav-toggler'}>Switch site</SwitcherLabel>\n <IconButton\n variant={'secondary'}\n shape={'circular'}\n id=\"globalNavAppsButton\"\n action={() => switcher.action && switcher.action() && onClose()}>\n <SwitchApp size=\"24px\"/>\n </IconButton>\n </>\n }\n\n </MobileFooter>\n }\n </Wrapper>\n );\n};\n\nexport default MobileMenu;\n"],"mappings":"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"}
|
|
@@ -12,8 +12,8 @@ import { IconButton } from '../../Button';
|
|
|
12
12
|
import { LaerdalLogo } from '../../assets';
|
|
13
13
|
import MobileMenuHeader from './MobileMenuHeader';
|
|
14
14
|
import MobileMenuContent from './MobileMenuContent';
|
|
15
|
-
import { useMediaQuery } from 'react-responsive';
|
|
16
15
|
import { useStackState } from '../../common/StackState';
|
|
16
|
+
import { useMediaMatch } from "rooks";
|
|
17
17
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
18
18
|
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
19
19
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
@@ -42,9 +42,7 @@ var MobileMenu = function MobileMenu(_ref) {
|
|
|
42
42
|
pop = _useStackState.pop,
|
|
43
43
|
peek = _useStackState.peek;
|
|
44
44
|
|
|
45
|
-
var isMediumScreen =
|
|
46
|
-
query: BREAKPOINTS.LARGE.replace('@media ', '')
|
|
47
|
-
});
|
|
45
|
+
var isMediumScreen = useMediaMatch(BREAKPOINTS.LARGE.replace('@media ', ''));
|
|
48
46
|
var location = useLocation();
|
|
49
47
|
|
|
50
48
|
var onSubMenuOpen = function onSubMenuOpen(menu) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MobileMenu.js","names":["React","styled","BREAKPOINTS","COLORS","ComponentSStyling","ComponentTextStyle","ComponentXSStyling","Z_INDEXES","SwitchApp","useLocation","IconButton","LaerdalLogo","MobileMenuHeader","MobileMenuContent","useMediaQuery","useStackState","Wrapper","div","off_canvas","SMALL","SwitcherLabel","MobileFooter","neutral_200","Bold","neutral_600","CustomContent","MobileMenu","show","profile","buttons","label","header","items","footer","action","onClose","reset","length","push","pop","peek","isMediumScreen","query","LARGE","replace","location","onSubMenuOpen","menu","type","content","customContent","custom","useEffect","setTimeout","current","switcher","find","a","undefined"],"sources":["../../../src/GlobalNavigationBar/mobile/MobileMenu.tsx"],"sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport {BREAKPOINTS, COLORS, ComponentSStyling, ComponentTextStyle, ComponentXSStyling, Z_INDEXES} from '../../styles';\nimport {SwitchApp} from '../../icons/systemicons/SystemIcons';\nimport {useLocation} from 'react-router-dom';\nimport {IconButton} from '../../Button';\nimport {LaerdalLogo} from '../../assets';\nimport {\n MenuAccountInfo,\n MenuButton,\n MenuNavigationItemTypeGroup,\n MenuGroupFooter,\n MenuGroupHeader,\n MenuIconButton,\n MenuNavigationItemTypeItem,\n MobileNavigationMenuProps,\n ProfileMenu,\n MenuNavigationItemTypeSection,\n MenuIconSubMenuButton,\n MobileMenuButtonTypes,\n MenuSwitcherButton,\n MenuNavigationCustomSubMenu\n} from '../types';\nimport MobileMenuHeader from './MobileMenuHeader';\nimport MobileMenuContent from './MobileMenuContent';\nimport {useMediaQuery} from 'react-responsive';\nimport {useStackState} from '../../common/StackState';\n\nconst Wrapper = styled.div`\n width: 320px;\n z-index: ${Z_INDEXES.off_canvas};\n height: 100%;\n box-sizing: border-box;\n\n display: flex;\n flex-direction: column;\n gap: 8px;\n\n ${BREAKPOINTS.SMALL} {\n width: 400px;\n }\n`;\n\nconst SwitcherLabel = styled.div`\n margin-left: auto;\n`;\n\nconst MobileFooter = styled.div`\n display: flex;\n align-items: center;\n box-sizing: border-box;\n height: 48px;\n\n padding: 0 4px 0 16px;\n border-top: 1px solid ${COLORS.neutral_200};\n\n ${ComponentXSStyling(ComponentTextStyle.Bold, COLORS.neutral_600)}\n ${BREAKPOINTS.SMALL} {\n height: 56px;\n padding: 4px 8px 4px 16px;\n ${ComponentSStyling(ComponentTextStyle.Bold, COLORS.neutral_600)}\n }\n`;\n\nconst CustomContent = styled.div`\n width: 100%;\n box-sizing: border-box;\n flex-flow: column;\n display: flex;\n flex: 1;\n overflow: hidden;\n`;\n\ntype Props = MobileNavigationMenuProps & {\n profile?: ProfileMenu;\n show?: boolean;\n onClose: () => void;\n};\n\ninterface MenuState {\n header: {\n label?: string;\n buttons?: MobileMenuButtonTypes[];\n }\n content?: {\n header?: MenuGroupHeader;\n items?: (MenuNavigationItemTypeItem | MenuNavigationItemTypeGroup | MenuNavigationItemTypeSection)[];\n footer?: MenuGroupFooter;\n action?: MenuButton;\n },\n customContent?: () => React.ReactNode;\n footer?: boolean;\n}\n\nconst MobileMenu = ({\n show,\n profile,\n buttons,\n label,\n header,\n items,\n footer,\n action,\n onClose,\n }: Props) => {\n\n const {reset, length, push, pop, peek} = useStackState<MenuState>();\n\n const isMediumScreen = useMediaQuery({query: BREAKPOINTS.LARGE.replace('@media ', '')});\n\n const location = useLocation();\n\n const onSubMenuOpen = (menu?: MenuNavigationItemTypeGroup | MenuNavigationCustomSubMenu) => {\n\n switch (menu?.type) {\n case 'group':\n push({\n header: {\n label: menu.label,\n buttons: menu.buttons,\n },\n content: {\n header: menu.header,\n items: menu.items,\n footer: menu.footer,\n action: menu.action\n },\n footer: false\n });\n break;\n case 'custom':\n push({\n header: {\n label: menu.label,\n buttons: menu.buttons,\n },\n customContent: menu.custom,\n footer: false\n });\n break;\n default:\n break;\n }\n\n };\n\n React.useEffect(() => {\n onClose();\n }, [location]);\n\n React.useEffect(() => {\n isMediumScreen && onClose()\n }, [isMediumScreen]);\n\n React.useEffect(() => {\n setTimeout(() => {\n reset({\n footer: true,\n header: {\n label: label,\n buttons: buttons,\n },\n content: {\n header: header,\n items: items,\n footer: footer,\n action: action\n }\n })\n }, 300)\n }, [show])\n\n\n const current = peek();\n\n const switcher = current?.header?.buttons?.find(a => a.type === 'switcher') as MenuSwitcherButton;\n\n return (\n <Wrapper>\n <MobileMenuHeader buttons={current?.header.buttons}\n onGoBack={length > 1 ? pop : undefined}\n onSubMenuOpen={onSubMenuOpen}\n profile={profile}\n label={current?.header.label}\n onClose={onClose}/>\n {current?.customContent && <CustomContent>{current?.customContent()}</CustomContent>}\n {current?.content && <MobileMenuContent header={current?.content.header}\n items={current?.content.items}\n footer={current?.content.footer}\n action={current?.content.action}\n onSubMenuOpen={onSubMenuOpen}/>}\n\n {\n current?.footer &&\n <MobileFooter>\n <LaerdalLogo height={'36px'} width={'66px'}/>\n {switcher &&\n <>\n <SwitcherLabel className={'globalNav-toggler'}>Switch site</SwitcherLabel>\n <IconButton\n variant={'secondary'}\n shape={'circular'}\n id=\"globalNavAppsButton\"\n action={() => switcher.action && switcher.action() && onClose()}>\n <SwitchApp size=\"24px\"/>\n </IconButton>\n </>\n }\n\n </MobileFooter>\n }\n </Wrapper>\n );\n};\n\nexport default MobileMenu;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MobileMenu.js","names":["React","styled","BREAKPOINTS","COLORS","ComponentSStyling","ComponentTextStyle","ComponentXSStyling","Z_INDEXES","SwitchApp","useLocation","IconButton","LaerdalLogo","MobileMenuHeader","MobileMenuContent","useStackState","useMediaMatch","Wrapper","div","off_canvas","SMALL","SwitcherLabel","MobileFooter","neutral_200","Bold","neutral_600","CustomContent","MobileMenu","show","profile","buttons","label","header","items","footer","action","onClose","reset","length","push","pop","peek","isMediumScreen","LARGE","replace","location","onSubMenuOpen","menu","type","content","customContent","custom","useEffect","setTimeout","current","switcher","find","a","undefined"],"sources":["../../../src/GlobalNavigationBar/mobile/MobileMenu.tsx"],"sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport {BREAKPOINTS, COLORS, ComponentSStyling, ComponentTextStyle, ComponentXSStyling, Z_INDEXES} from '../../styles';\nimport {SwitchApp} from '../../icons/systemicons/SystemIcons';\nimport {useLocation} from 'react-router-dom';\nimport {IconButton} from '../../Button';\nimport {LaerdalLogo} from '../../assets';\nimport {\n MenuAccountInfo,\n MenuButton,\n MenuNavigationItemTypeGroup,\n MenuGroupFooter,\n MenuGroupHeader,\n MenuIconButton,\n MenuNavigationItemTypeItem,\n MobileNavigationMenuProps,\n ProfileMenu,\n MenuNavigationItemTypeSection,\n MobileMenuButtonTypes,\n MenuSwitcherButton,\n MenuNavigationCustomSubMenu\n} from '../types';\nimport MobileMenuHeader from './MobileMenuHeader';\nimport MobileMenuContent from './MobileMenuContent';\nimport {useStackState} from '../../common/StackState';\nimport {useMediaMatch} from \"rooks\";\n\nconst Wrapper = styled.div`\n width: 320px;\n z-index: ${Z_INDEXES.off_canvas};\n height: 100%;\n box-sizing: border-box;\n\n display: flex;\n flex-direction: column;\n gap: 8px;\n\n ${BREAKPOINTS.SMALL} {\n width: 400px;\n }\n`;\n\nconst SwitcherLabel = styled.div`\n margin-left: auto;\n`;\n\nconst MobileFooter = styled.div`\n display: flex;\n align-items: center;\n box-sizing: border-box;\n height: 48px;\n\n padding: 0 4px 0 16px;\n border-top: 1px solid ${COLORS.neutral_200};\n\n ${ComponentXSStyling(ComponentTextStyle.Bold, COLORS.neutral_600)}\n ${BREAKPOINTS.SMALL} {\n height: 56px;\n padding: 4px 8px 4px 16px;\n ${ComponentSStyling(ComponentTextStyle.Bold, COLORS.neutral_600)}\n }\n`;\n\nconst CustomContent = styled.div`\n width: 100%;\n box-sizing: border-box;\n flex-flow: column;\n display: flex;\n flex: 1;\n overflow: hidden;\n`;\n\ntype Props = MobileNavigationMenuProps & {\n profile?: ProfileMenu;\n show?: boolean;\n onClose: () => void;\n};\n\ninterface MenuState {\n header: {\n label?: string;\n buttons?: MobileMenuButtonTypes[];\n }\n content?: {\n header?: MenuGroupHeader;\n items?: (MenuNavigationItemTypeItem | MenuNavigationItemTypeGroup | MenuNavigationItemTypeSection)[];\n footer?: MenuGroupFooter;\n action?: MenuButton;\n },\n customContent?: () => React.ReactNode;\n footer?: boolean;\n}\n\nconst MobileMenu = ({\n show,\n profile,\n buttons,\n label,\n header,\n items,\n footer,\n action,\n onClose,\n }: Props) => {\n\n const {reset, length, push, pop, peek} = useStackState<MenuState>();\n\n const isMediumScreen = useMediaMatch(BREAKPOINTS.LARGE.replace('@media ', ''));\n\n const location = useLocation();\n\n const onSubMenuOpen = (menu?: MenuNavigationItemTypeGroup | MenuNavigationCustomSubMenu) => {\n\n switch (menu?.type) {\n case 'group':\n push({\n header: {\n label: menu.label,\n buttons: menu.buttons,\n },\n content: {\n header: menu.header,\n items: menu.items,\n footer: menu.footer,\n action: menu.action\n },\n footer: false\n });\n break;\n case 'custom':\n push({\n header: {\n label: menu.label,\n buttons: menu.buttons,\n },\n customContent: menu.custom,\n footer: false\n });\n break;\n default:\n break;\n }\n\n };\n\n React.useEffect(() => {\n onClose();\n }, [location]);\n\n React.useEffect(() => {\n isMediumScreen && onClose()\n }, [isMediumScreen]);\n\n React.useEffect(() => {\n setTimeout(() => {\n reset({\n footer: true,\n header: {\n label: label,\n buttons: buttons,\n },\n content: {\n header: header,\n items: items,\n footer: footer,\n action: action\n }\n })\n }, 300)\n }, [show])\n\n\n const current = peek();\n\n const switcher = current?.header?.buttons?.find(a => a.type === 'switcher') as MenuSwitcherButton;\n\n return (\n <Wrapper>\n <MobileMenuHeader buttons={current?.header.buttons}\n onGoBack={length > 1 ? pop : undefined}\n onSubMenuOpen={onSubMenuOpen}\n profile={profile}\n label={current?.header.label}\n onClose={onClose}/>\n {current?.customContent && <CustomContent>{current?.customContent()}</CustomContent>}\n {current?.content && <MobileMenuContent header={current?.content.header}\n items={current?.content.items}\n footer={current?.content.footer}\n action={current?.content.action}\n onSubMenuOpen={onSubMenuOpen}/>}\n\n {\n current?.footer &&\n <MobileFooter>\n <LaerdalLogo height={'36px'} width={'66px'}/>\n {switcher &&\n <>\n <SwitcherLabel className={'globalNav-toggler'}>Switch site</SwitcherLabel>\n <IconButton\n variant={'secondary'}\n shape={'circular'}\n id=\"globalNavAppsButton\"\n action={() => switcher.action && switcher.action() && onClose()}>\n <SwitchApp size=\"24px\"/>\n </IconButton>\n </>\n }\n\n </MobileFooter>\n }\n </Wrapper>\n );\n};\n\nexport default MobileMenu;\n"],"mappings":"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"}
|
|
@@ -7,6 +7,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.default = void 0;
|
|
9
9
|
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
|
|
10
12
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
13
|
|
|
12
14
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
@@ -23,51 +25,45 @@ var _types = require("../../types");
|
|
|
23
25
|
|
|
24
26
|
var _HyperLink = require("../../HyperLink");
|
|
25
27
|
|
|
26
|
-
var _reactResponsive = require("react-responsive");
|
|
27
|
-
|
|
28
|
-
var _Button = require("../../Button");
|
|
29
|
-
|
|
30
28
|
var _NavigationHelper = require("../../common/NavigationHelper");
|
|
31
29
|
|
|
32
30
|
var _MenuItem = require("../../MenuItem");
|
|
33
31
|
|
|
34
32
|
var _icons = require("../../icons");
|
|
35
33
|
|
|
36
|
-
var
|
|
34
|
+
var _CommonStyles = require("./CommonStyles");
|
|
37
35
|
|
|
38
|
-
var
|
|
39
|
-
|
|
40
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15;
|
|
36
|
+
var _ScrollableContainer = require("../../common/ScrollableContainer");
|
|
41
37
|
|
|
42
|
-
var
|
|
38
|
+
var _MobileActionContainer = require("./MobileActionContainer");
|
|
43
39
|
|
|
44
|
-
var
|
|
40
|
+
var _rooks = require("rooks");
|
|
45
41
|
|
|
46
|
-
var
|
|
42
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
47
43
|
|
|
48
|
-
var
|
|
44
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9;
|
|
49
45
|
|
|
50
|
-
var
|
|
46
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
51
47
|
|
|
52
|
-
var
|
|
48
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
53
49
|
|
|
54
|
-
var
|
|
50
|
+
var MenuItemsContainer = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n padding: 8px;\n"])));
|
|
55
51
|
|
|
56
|
-
var
|
|
52
|
+
var MenuSectionContainer = _styledComponents.default.div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n padding-bottom: 8px;\n display: flex;\n flex-direction: column;\n width: 100%;\n\n &.divider {\n border-top: 1px solid ", ";\n }\n"])), _styles.COLORS.neutral_200);
|
|
57
53
|
|
|
58
|
-
var
|
|
54
|
+
var MenuSectionHeader = _styledComponents.default.div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n align-items: center;\n padding: 8px 16px 4px 16px;\n box-sizing: border-box;\n min-height: 32px;\n background-color: ", ";\n\n ", "\n"])), _styles.COLORS.neutral_20, (0, _styles.ComponentSStyling)(_styles.ComponentTextStyle.Bold, _styles.COLORS.neutral_500));
|
|
59
55
|
|
|
60
|
-
var
|
|
56
|
+
var MenuSectionList = _styledComponents.default.div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n flex-direction: column;\n"])));
|
|
61
57
|
|
|
62
|
-
var
|
|
58
|
+
var PinnedContainer = _styledComponents.default.div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["\n border-top: 1px solid ", ";\n"])), _styles.COLORS.neutral_200);
|
|
63
59
|
|
|
64
|
-
var
|
|
60
|
+
var FooterText = _styledComponents.default.div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2.default)(["\n ", "\n ", " {\n ", "\n }\n"])), (0, _styles.ComponentXSStyling)(_styles.ComponentTextStyle.Bold, _styles.COLORS.neutral_600), _styles.BREAKPOINTS.SMALL, (0, _styles.ComponentSStyling)(_styles.ComponentTextStyle.Bold, _styles.COLORS.neutral_600));
|
|
65
61
|
|
|
66
|
-
var
|
|
62
|
+
var FooterNote = _styledComponents.default.div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2.default)(["\n ", "\n ", " {\n ", "\n }\n"])), (0, _styles.ParagraphXSStyling)(_styles.ParagraphTextStyle.Regular, _styles.COLORS.neutral_600), _styles.BREAKPOINTS.SMALL, (0, _styles.ParagraphSStyling)(_styles.ParagraphTextStyle.Regular, _styles.COLORS.neutral_600));
|
|
67
63
|
|
|
68
|
-
var
|
|
64
|
+
var FooterLink = _styledComponents.default.div(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2.default)(["\n a {\n ", "\n ", " {\n ", "\n }\n }\n"])), (0, _styles.ComponentXSStyling)(_styles.ComponentTextStyle.Bold, null), _styles.BREAKPOINTS.SMALL, (0, _styles.ComponentSStyling)(_styles.ComponentTextStyle.Bold, null));
|
|
69
65
|
|
|
70
|
-
var
|
|
66
|
+
var FooterContainer = _styledComponents.default.div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2.default)(["\n padding: 8px 16px;\n box-sizing: border-box;\n border-top: 1px solid ", ";\n display: flex;\n flex-direction: column;\n background: ", ";\n\n ", " {\n padding: 16px;\n }\n"])), _styles.COLORS.neutral_200, _styles.COLORS.neutral_20, _styles.BREAKPOINTS.SMALL);
|
|
71
67
|
|
|
72
68
|
var MobileMenuContent = function MobileMenuContent(_ref) {
|
|
73
69
|
var header = _ref.header,
|
|
@@ -75,34 +71,16 @@ var MobileMenuContent = function MobileMenuContent(_ref) {
|
|
|
75
71
|
footer = _ref.footer,
|
|
76
72
|
action = _ref.action,
|
|
77
73
|
onSubMenuOpen = _ref.onSubMenuOpen;
|
|
78
|
-
var isSmallScreen = (0,
|
|
79
|
-
query: _styles.BREAKPOINTS.SMALL.replace('@media ', '')
|
|
80
|
-
});
|
|
74
|
+
var isSmallScreen = (0, _rooks.useMediaMatch)(_styles.BREAKPOINTS.SMALL.replace('@media ', ''));
|
|
81
75
|
|
|
82
76
|
var _useNavigationHelper = (0, _NavigationHelper.useNavigationHelper)(),
|
|
83
77
|
navigate = _useNavigationHelper.navigate,
|
|
84
78
|
isActiveRoute = _useNavigationHelper.isActiveRoute;
|
|
85
79
|
|
|
86
|
-
var
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
var _useDimensionsRef = (0, _rooks.useDimensionsRef)({
|
|
92
|
-
updateOnResize: true
|
|
93
|
-
}),
|
|
94
|
-
_useDimensionsRef2 = (0, _slicedToArray2.default)(_useDimensionsRef, 3),
|
|
95
|
-
scrollContainerRef = _useDimensionsRef2[0],
|
|
96
|
-
dimensions = _useDimensionsRef2[1],
|
|
97
|
-
node = _useDimensionsRef2[2];
|
|
98
|
-
|
|
99
|
-
_react.default.useEffect(function () {
|
|
100
|
-
var _node$clientHeight, _node$scrollHeight;
|
|
101
|
-
|
|
102
|
-
var clientHeight = (_node$clientHeight = node === null || node === void 0 ? void 0 : node.clientHeight) !== null && _node$clientHeight !== void 0 ? _node$clientHeight : 0;
|
|
103
|
-
var scrollHeight = (_node$scrollHeight = node === null || node === void 0 ? void 0 : node.scrollHeight) !== null && _node$scrollHeight !== void 0 ? _node$scrollHeight : 0;
|
|
104
|
-
setScrollable(scrollHeight > clientHeight);
|
|
105
|
-
}, [header, dimensions, node, footer, action, items]);
|
|
80
|
+
var _useScrollableContain = (0, _ScrollableContainer.useScrollableContainer)([header, footer, action, items]),
|
|
81
|
+
_useScrollableContain2 = (0, _slicedToArray2.default)(_useScrollableContain, 2),
|
|
82
|
+
scrollContainerRef = _useScrollableContain2[0],
|
|
83
|
+
scrollable = _useScrollableContain2[1];
|
|
106
84
|
|
|
107
85
|
var renderItem = function renderItem(item, index) {
|
|
108
86
|
switch (item.type) {
|
|
@@ -157,14 +135,14 @@ var MobileMenuContent = function MobileMenuContent(_ref) {
|
|
|
157
135
|
}
|
|
158
136
|
};
|
|
159
137
|
|
|
160
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(
|
|
161
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(ScrollableContainer, {
|
|
138
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_CommonStyles.MobileMenuWrapper, {
|
|
139
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_CommonStyles.ScrollableContainer, {
|
|
162
140
|
ref: scrollContainerRef,
|
|
163
141
|
className: scrollable ? 'scrollable' : '',
|
|
164
|
-
children: [!!header && /*#__PURE__*/(0, _jsxRuntime.jsxs)(
|
|
165
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
142
|
+
children: [!!header && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_CommonStyles.MobileHeaderContainer, {
|
|
143
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_CommonStyles.MobileHeaderText, {
|
|
166
144
|
children: header.header
|
|
167
|
-
}), header.note && /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
145
|
+
}), header.note && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CommonStyles.MobileHeaderNote, {
|
|
168
146
|
children: header.note
|
|
169
147
|
})]
|
|
170
148
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(MenuItemsContainer, {
|
|
@@ -199,16 +177,7 @@ var MobileMenuContent = function MobileMenuContent(_ref) {
|
|
|
199
177
|
children: footer.link.label
|
|
200
178
|
})
|
|
201
179
|
})]
|
|
202
|
-
}), action && /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
203
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.Button, {
|
|
204
|
-
variant: 'secondary',
|
|
205
|
-
size: isSmallScreen ? _types.Size.Medium : _types.Size.Small,
|
|
206
|
-
disabled: action.disabled,
|
|
207
|
-
icon: action.icon,
|
|
208
|
-
onClick: action.action,
|
|
209
|
-
children: action.label
|
|
210
|
-
})
|
|
211
|
-
})]
|
|
180
|
+
}), action && /*#__PURE__*/(0, _jsxRuntime.jsx)(_MobileActionContainer.MobileActionContainer, _objectSpread({}, action))]
|
|
212
181
|
});
|
|
213
182
|
};
|
|
214
183
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MobileMenuContent.cjs","names":["HeaderText","styled","div","ComponentSStyling","ComponentTextStyle","Bold","COLORS","neutral_600","BREAKPOINTS","SMALL","ComponentMStyling","HeaderNote","ParagraphXSStyling","ParagraphTextStyle","Regular","HeaderContainer","neutral_200","ScrollableContainer","scrollBarStyling","Size","Small","MenuItemsContainer","MenuSectionContainer","MenuSectionHeader","neutral_20","neutral_500","MenuSectionList","PinnedContainer","FooterText","ComponentXSStyling","FooterNote","ParagraphSStyling","FooterLink","FooterContainer","ActionContainer","Wrapper","MobileMenuContent","header","items","footer","action","onSubMenuOpen","isSmallScreen","useMediaQuery","query","replace","useNavigationHelper","navigate","isActiveRoute","React","useState","scrollable","setScrollable","useDimensionsRef","updateOnResize","scrollContainerRef","dimensions","node","useEffect","clientHeight","scrollHeight","renderItem","item","index","type","label","map","Medium","value","disabled","icon","displayLabel","noteLabel","note","e","nativeEvent","stopImmediatePropagation","external","to","exact","filter","a","pinned","some","link","id","target","onClick","href"],"sources":["../../../src/GlobalNavigationBar/mobile/MobileMenuContent.tsx"],"sourcesContent":["import React from 'react';\nimport {\n MenuButton,\n MenuGroupFooter,\n MenuGroupHeader,\n MenuNavigationItemTypeGroup,\n MenuNavigationItemTypeItem,\n MenuNavigationItemTypeSection\n} from '../types';\nimport styled from 'styled-components';\nimport {\n BREAKPOINTS,\n COLORS,\n ComponentMStyling,\n ComponentSStyling,\n ComponentTextStyle,\n ComponentXSStyling,\n ParagraphSStyling,\n ParagraphTextStyle,\n ParagraphXSStyling,\n scrollBarStyling\n} from '../../styles';\nimport {Size} from '../../types';\nimport {HyperLink} from '../../HyperLink';\nimport {useMediaQuery} from 'react-responsive';\nimport {Button} from '../../Button';\nimport {useNavigationHelper} from '../../common/NavigationHelper';\nimport {MenuItem} from '../../MenuItem';\nimport {SystemIcons} from '../../icons';\nimport {useDimensionsRef} from 'rooks';\n\n\nconst HeaderText = styled.div`\n ${ComponentSStyling(ComponentTextStyle.Bold, COLORS.neutral_600)}\n ${BREAKPOINTS.SMALL} {\n ${ComponentMStyling(ComponentTextStyle.Bold, COLORS.neutral_600)}\n }\n`;\nconst HeaderNote = styled.div`\n word-break: break-all;\n ${ParagraphXSStyling(ParagraphTextStyle.Regular, COLORS.neutral_600)}\n`;\n\nconst HeaderContainer = styled.div`\n margin: 0 24px;\n padding-bottom: 8px;\n box-sizing: border-box;\n border-bottom: 1px solid ${COLORS.neutral_200};\n display: flex;\n flex-direction: column;\n`;\n\n\nconst ScrollableContainer = styled.div`\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow-y: auto;\n max-height: 100%;\n\n &.scrollable {\n margin-right: 6px;\n padding-right: 10px;\n }\n\n ${scrollBarStyling(Size.Small)}\n\n ::-webkit-scrollbar-track {\n margin: 8px;\n }\n\n`;\n\nconst MenuItemsContainer = styled.div`\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n padding: 8px;\n`;\n\nconst MenuSectionContainer = styled.div`\n padding-bottom: 8px;\n display: flex;\n flex-direction: column;\n width: 100%;\n\n &.divider {\n border-top: 1px solid ${COLORS.neutral_200};\n }\n`;\n\nconst MenuSectionHeader = styled.div`\n display: flex;\n align-items: center;\n padding: 8px 16px 4px 16px;\n box-sizing: border-box;\n min-height: 32px;\n background-color: ${COLORS.neutral_20};\n\n ${ComponentSStyling(ComponentTextStyle.Bold, COLORS.neutral_500)}\n`;\n\nconst MenuSectionList = styled.div`\n display: flex;\n flex-direction: column;\n`;\n\n\nconst PinnedContainer = styled.div`\n border-top: 1px solid ${COLORS.neutral_200};\n`;\n\nconst FooterText = styled.div`\n ${ComponentXSStyling(ComponentTextStyle.Bold, COLORS.neutral_600)}\n ${BREAKPOINTS.SMALL} {\n ${ComponentSStyling(ComponentTextStyle.Bold, COLORS.neutral_600)}\n }\n`;\nconst FooterNote = styled.div`\n ${ParagraphXSStyling(ParagraphTextStyle.Regular, COLORS.neutral_600)}\n ${BREAKPOINTS.SMALL} {\n ${ParagraphSStyling(ParagraphTextStyle.Regular, COLORS.neutral_600)}\n }\n`;\nconst FooterLink = styled.div`\n a {\n ${ComponentXSStyling(ComponentTextStyle.Bold, null)}\n ${BREAKPOINTS.SMALL} {\n ${ComponentSStyling(ComponentTextStyle.Bold, null)}\n }\n }\n`;\n\nconst FooterContainer = styled.div`\n padding: 8px 16px;\n box-sizing: border-box;\n border-top: 1px solid ${COLORS.neutral_200};\n display: flex;\n flex-direction: column;\n background: ${COLORS.neutral_20};\n\n ${BREAKPOINTS.SMALL} {\n padding: 16px;\n }\n`;\n\nconst ActionContainer = styled.div`\n padding: 8px 16px;\n box-sizing: border-box;\n border-top: 1px solid ${COLORS.neutral_200};\n display: flex;\n flex-direction: column;\n\n ${BREAKPOINTS.SMALL} {\n padding: 16px;\n }\n`;\n\nconst Wrapper = styled.div`\n width: 100%;\n box-sizing: border-box;\n flex-flow: column;\n display: flex;\n flex: 1;\n overflow: hidden;\n`;\n\ninterface MobileMenuContentProps {\n header?: MenuGroupHeader;\n items?: (MenuNavigationItemTypeItem | MenuNavigationItemTypeGroup | MenuNavigationItemTypeSection)[];\n footer?: MenuGroupFooter;\n action?: MenuButton;\n\n onSubMenuOpen?: (item: MenuNavigationItemTypeGroup) => void;\n}\n\nconst MobileMenuContent: React.FunctionComponent<MobileMenuContentProps> = ({\n header,\n items,\n footer,\n action,\n onSubMenuOpen\n }) => {\n\n const isSmallScreen = useMediaQuery({query: BREAKPOINTS.SMALL.replace('@media ', '')});\n\n const {navigate, isActiveRoute} = useNavigationHelper();\n\n const [scrollable, setScrollable] = React.useState(false);\n\n const [scrollContainerRef, dimensions, node] = useDimensionsRef({updateOnResize: true});\n\n React.useEffect(() => {\n const clientHeight = node?.clientHeight ?? 0;\n const scrollHeight = node?.scrollHeight ?? 0;\n setScrollable(scrollHeight > clientHeight);\n }, [header, dimensions, node, footer, action, items]);\n\n const renderItem = (item: MenuNavigationItemTypeItem | MenuNavigationItemTypeGroup | MenuNavigationItemTypeSection, index: number) => {\n switch (item.type) {\n case 'section':\n return (\n <MenuSectionContainer key={index}>\n {item.label && <MenuSectionHeader>{item.label}</MenuSectionHeader>}\n <MenuSectionList>\n {item.items.map((item, index) => renderItem(item, index))}\n </MenuSectionList>\n </MenuSectionContainer>\n );\n case 'group':\n return <MenuItem key={index}\n id={'menu-item-' + index}\n size={isSmallScreen ? Size.Medium : Size.Small}\n active={false}\n item={{\n value: item.label,\n disabled: item.disabled,\n icon: item.icon,\n displayLabel: item.label,\n noteLabel: item.note,\n }}\n iconRight={<SystemIcons.ArrowDropRight/>}\n onClickHandler={(e) => {\n e.nativeEvent.stopImmediatePropagation();\n onSubMenuOpen && onSubMenuOpen(item);\n }}/>\n case 'item':\n default:\n return (\n <MenuItem key={index}\n id={'menu-item-' + index}\n active={!item.external && isActiveRoute(item.to, !!item.exact)}\n size={isSmallScreen ? Size.Medium : Size.Small}\n item={{\n value: item.to,\n disabled: item.disabled,\n icon: item.icon,\n displayLabel: item.label,\n noteLabel: item.note,\n }}\n onClickHandler={(e) => {\n item.action && item.action(e);\n navigate(item.to, !!item.external);\n }}/>\n );\n }\n }\n\n return (\n <Wrapper>\n <ScrollableContainer ref={scrollContainerRef as any} className={scrollable ? 'scrollable' : ''}>\n {\n !!header &&\n <HeaderContainer>\n <HeaderText>{header.header}</HeaderText>\n {header.note && <HeaderNote>{header.note}</HeaderNote>}\n </HeaderContainer>\n }\n <MenuItemsContainer>\n {items?.filter(a => !a.pinned).map((item, index) => renderItem(item, index))}\n </MenuItemsContainer>\n </ScrollableContainer>\n {\n items?.some(a => a.pinned) &&\n <PinnedContainer>\n <MenuItemsContainer>\n {items?.filter(a => !!a.pinned).map((item, index) => renderItem(item, index))}\n </MenuItemsContainer>\n </PinnedContainer>\n\n }\n {\n footer &&\n <FooterContainer>\n <FooterText>{footer.header}</FooterText>\n {footer.note && <FooterNote>{footer.note}</FooterNote>}\n {footer.link &&\n <FooterLink>\n <HyperLink variant={'default'}\n id={footer.link.id}\n target={footer.link.target}\n onClick={footer.link.onClick}\n href={footer.link.href}>\n {footer.link.label}\n </HyperLink>\n </FooterLink>\n }\n </FooterContainer>\n }\n {\n action &&\n <ActionContainer>\n <Button variant={'secondary'}\n size={isSmallScreen ? Size.Medium : Size.Small}\n disabled={action.disabled}\n icon={action.icon}\n onClick={action.action}>\n {action.label}\n </Button>\n </ActionContainer>\n }\n </Wrapper>\n )\n};\n\nexport default MobileMenuContent;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MobileMenuContent.cjs","names":["MenuItemsContainer","styled","div","MenuSectionContainer","COLORS","neutral_200","MenuSectionHeader","neutral_20","ComponentSStyling","ComponentTextStyle","Bold","neutral_500","MenuSectionList","PinnedContainer","FooterText","ComponentXSStyling","neutral_600","BREAKPOINTS","SMALL","FooterNote","ParagraphXSStyling","ParagraphTextStyle","Regular","ParagraphSStyling","FooterLink","FooterContainer","MobileMenuContent","header","items","footer","action","onSubMenuOpen","isSmallScreen","useMediaMatch","replace","useNavigationHelper","navigate","isActiveRoute","useScrollableContainer","scrollContainerRef","scrollable","renderItem","item","index","type","label","map","Size","Medium","Small","value","disabled","icon","displayLabel","noteLabel","note","e","nativeEvent","stopImmediatePropagation","external","to","exact","filter","a","pinned","some","link","id","target","onClick","href"],"sources":["../../../src/GlobalNavigationBar/mobile/MobileMenuContent.tsx"],"sourcesContent":["import React from 'react';\nimport { MenuButton, MenuGroupFooter, MenuGroupHeader, MenuNavigationItemTypeGroup, MenuNavigationItemTypeItem, MenuNavigationItemTypeSection } from '../types';\nimport styled from 'styled-components';\nimport {\n BREAKPOINTS,\n COLORS,\n ComponentMStyling,\n ComponentSStyling,\n ComponentTextStyle,\n ComponentXSStyling,\n ParagraphSStyling,\n ParagraphTextStyle,\n ParagraphXSStyling,\n scrollBarStyling,\n} from '../../styles';\nimport { Size } from '../../types';\nimport { HyperLink } from '../../HyperLink';\nimport { useNavigationHelper } from '../../common/NavigationHelper';\nimport { MenuItem } from '../../MenuItem';\nimport { SystemIcons } from '../../icons';\nimport { MobileHeaderContainer, MobileHeaderNote, MobileHeaderText, MobileMenuWrapper, ScrollableContainer } from './CommonStyles';\nimport { useScrollableContainer } from '../../common/ScrollableContainer';\nimport { MobileActionContainer } from './MobileActionContainer';\nimport {useMediaMatch} from \"rooks\";\n\nconst MenuItemsContainer = styled.div`\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n padding: 8px;\n`;\n\nconst MenuSectionContainer = styled.div`\n padding-bottom: 8px;\n display: flex;\n flex-direction: column;\n width: 100%;\n\n &.divider {\n border-top: 1px solid ${COLORS.neutral_200};\n }\n`;\n\nconst MenuSectionHeader = styled.div`\n display: flex;\n align-items: center;\n padding: 8px 16px 4px 16px;\n box-sizing: border-box;\n min-height: 32px;\n background-color: ${COLORS.neutral_20};\n\n ${ComponentSStyling(ComponentTextStyle.Bold, COLORS.neutral_500)}\n`;\n\nconst MenuSectionList = styled.div`\n display: flex;\n flex-direction: column;\n`;\n\nconst PinnedContainer = styled.div`\n border-top: 1px solid ${COLORS.neutral_200};\n`;\n\nconst FooterText = styled.div`\n ${ComponentXSStyling(ComponentTextStyle.Bold, COLORS.neutral_600)}\n ${BREAKPOINTS.SMALL} {\n ${ComponentSStyling(ComponentTextStyle.Bold, COLORS.neutral_600)}\n }\n`;\nconst FooterNote = styled.div`\n ${ParagraphXSStyling(ParagraphTextStyle.Regular, COLORS.neutral_600)}\n ${BREAKPOINTS.SMALL} {\n ${ParagraphSStyling(ParagraphTextStyle.Regular, COLORS.neutral_600)}\n }\n`;\nconst FooterLink = styled.div`\n a {\n ${ComponentXSStyling(ComponentTextStyle.Bold, null)}\n ${BREAKPOINTS.SMALL} {\n ${ComponentSStyling(ComponentTextStyle.Bold, null)}\n }\n }\n`;\n\nconst FooterContainer = styled.div`\n padding: 8px 16px;\n box-sizing: border-box;\n border-top: 1px solid ${COLORS.neutral_200};\n display: flex;\n flex-direction: column;\n background: ${COLORS.neutral_20};\n\n ${BREAKPOINTS.SMALL} {\n padding: 16px;\n }\n`;\n\ninterface MobileMenuContentProps {\n header?: MenuGroupHeader;\n items?: (MenuNavigationItemTypeItem | MenuNavigationItemTypeGroup | MenuNavigationItemTypeSection)[];\n footer?: MenuGroupFooter;\n action?: MenuButton;\n\n onSubMenuOpen?: (item: MenuNavigationItemTypeGroup) => void;\n}\n\nconst MobileMenuContent: React.FunctionComponent<MobileMenuContentProps> = ({ header, items, footer, action, onSubMenuOpen }) => {\n const isSmallScreen = useMediaMatch(BREAKPOINTS.SMALL.replace('@media ', ''));\n\n const { navigate, isActiveRoute } = useNavigationHelper();\n\n const [scrollContainerRef, scrollable] = useScrollableContainer([header, footer, action, items]);\n\n const renderItem = (item: MenuNavigationItemTypeItem | MenuNavigationItemTypeGroup | MenuNavigationItemTypeSection, index: number) => {\n switch (item.type) {\n case 'section':\n return (\n <MenuSectionContainer key={index}>\n {item.label && <MenuSectionHeader>{item.label}</MenuSectionHeader>}\n <MenuSectionList>{item.items.map((item, index) => renderItem(item, index))}</MenuSectionList>\n </MenuSectionContainer>\n );\n case 'group':\n return (\n <MenuItem\n key={index}\n id={'menu-item-' + index}\n size={isSmallScreen ? Size.Medium : Size.Small}\n active={false}\n item={{\n value: item.label,\n disabled: item.disabled,\n icon: item.icon,\n displayLabel: item.label,\n noteLabel: item.note,\n }}\n iconRight={<SystemIcons.ArrowDropRight />}\n onClickHandler={(e) => {\n e.nativeEvent.stopImmediatePropagation();\n onSubMenuOpen && onSubMenuOpen(item);\n }}\n />\n );\n case 'item':\n default:\n return (\n <MenuItem\n key={index}\n id={'menu-item-' + index}\n active={!item.external && isActiveRoute(item.to, !!item.exact)}\n size={isSmallScreen ? Size.Medium : Size.Small}\n item={{\n value: item.to,\n disabled: item.disabled,\n icon: item.icon,\n displayLabel: item.label,\n noteLabel: item.note,\n }}\n onClickHandler={(e) => {\n item.action && item.action(e);\n navigate(item.to, !!item.external);\n }}\n />\n );\n }\n };\n\n return (\n <MobileMenuWrapper>\n <ScrollableContainer ref={scrollContainerRef as any} className={scrollable ? 'scrollable' : ''}>\n {!!header && (\n <MobileHeaderContainer>\n <MobileHeaderText>{header.header}</MobileHeaderText>\n {header.note && <MobileHeaderNote>{header.note}</MobileHeaderNote>}\n </MobileHeaderContainer>\n )}\n <MenuItemsContainer>{items?.filter((a) => !a.pinned).map((item, index) => renderItem(item, index))}</MenuItemsContainer>\n </ScrollableContainer>\n {items?.some((a) => a.pinned) && (\n <PinnedContainer>\n <MenuItemsContainer>{items?.filter((a) => !!a.pinned).map((item, index) => renderItem(item, index))}</MenuItemsContainer>\n </PinnedContainer>\n )}\n {footer && (\n <FooterContainer>\n <FooterText>{footer.header}</FooterText>\n {footer.note && <FooterNote>{footer.note}</FooterNote>}\n {footer.link && (\n <FooterLink>\n <HyperLink variant={'default'} id={footer.link.id} target={footer.link.target} onClick={footer.link.onClick} href={footer.link.href}>\n {footer.link.label}\n </HyperLink>\n </FooterLink>\n )}\n </FooterContainer>\n )}\n {action && <MobileActionContainer {...action} />}\n </MobileMenuWrapper>\n );\n};\n\nexport default MobileMenuContent;\n"],"mappings":"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"}
|