@laerdal/life-react-components 0.0.280-dev.1 → 0.0.280-dev.12.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/esm/Banners/Banner.js +107 -52
- package/dist/esm/Banners/Banner.js.map +1 -1
- package/dist/esm/Banners/styles.js +122 -0
- package/dist/esm/Banners/styles.js.map +1 -0
- package/dist/esm/Button/Iconbutton.js +1 -1
- package/dist/esm/Button/Iconbutton.js.map +1 -1
- package/dist/esm/Chips/InputChip.js +3 -0
- package/dist/esm/Chips/InputChip.js.map +1 -1
- package/dist/esm/Dropdown/DropdownButton.js +2 -0
- package/dist/esm/Dropdown/DropdownButton.js.map +1 -1
- package/dist/esm/Dropdown/DropdownFilter.js +0 -1
- package/dist/esm/Dropdown/DropdownFilter.js.map +1 -1
- package/dist/esm/Footer/Components/FooterNewsletterAndSocialSection.js +36 -15
- package/dist/esm/Footer/Components/FooterNewsletterAndSocialSection.js.map +1 -1
- package/dist/esm/GlobalNavigationBar/UserMenu/MobileUserMenu.js +4 -0
- package/dist/esm/GlobalNavigationBar/UserMenu/MobileUserMenu.js.map +1 -1
- package/dist/esm/GlobalNavigationBar/mobile/MobileMenu.js +2 -0
- package/dist/esm/GlobalNavigationBar/mobile/MobileMenu.js.map +1 -1
- package/dist/esm/InputFields/DatepickerField.js +2 -0
- package/dist/esm/InputFields/DatepickerField.js.map +1 -1
- package/dist/esm/InputFields/styling.js +7 -1
- package/dist/esm/InputFields/styling.js.map +1 -1
- package/dist/esm/Modals/Modal.js +2 -0
- package/dist/esm/Modals/Modal.js.map +1 -1
- package/dist/esm/Modals/ModalDialog.js +4 -0
- package/dist/esm/Modals/ModalDialog.js.map +1 -1
- package/dist/esm/Switcher/MobileSwitcherMenu.js +4 -0
- package/dist/esm/Switcher/MobileSwitcherMenu.js.map +1 -1
- package/dist/esm/Table/Table.js +6 -0
- package/dist/esm/Table/Table.js.map +1 -1
- package/dist/esm/Tabs/Tabs.js +3 -3
- package/dist/esm/Tabs/Tabs.js.map +1 -1
- package/dist/esm/Toasters/Toast.js +13 -1
- package/dist/esm/Toasters/Toast.js.map +1 -1
- package/dist/esm/icons/contenticons/ContentIcons.js +444 -296
- package/dist/esm/icons/contenticons/ContentIcons.js.map +1 -1
- package/dist/esm/icons/systemicons/SystemIcons.js +43 -25
- package/dist/esm/icons/systemicons/SystemIcons.js.map +1 -1
- package/dist/js/Banners/Banner.d.ts +2 -0
- package/dist/js/Banners/Banner.js +74 -41
- package/dist/js/Banners/Banner.js.map +1 -1
- package/dist/js/Banners/styles.d.ts +1 -0
- package/dist/js/Banners/styles.js +33 -0
- package/dist/js/Banners/styles.js.map +1 -0
- package/dist/js/Button/Iconbutton.js +3 -1
- package/dist/js/Button/Iconbutton.js.map +1 -1
- package/dist/js/Chips/InputChip.js +3 -0
- package/dist/js/Chips/InputChip.js.map +1 -1
- package/dist/js/Dropdown/DropdownButton.js +2 -0
- package/dist/js/Dropdown/DropdownButton.js.map +1 -1
- package/dist/js/Dropdown/DropdownFilter.js +0 -1
- package/dist/js/Dropdown/DropdownFilter.js.map +1 -1
- package/dist/js/Footer/Components/FooterNewsletterAndSocialSection.js +18 -4
- package/dist/js/Footer/Components/FooterNewsletterAndSocialSection.js.map +1 -1
- package/dist/js/GlobalNavigationBar/UserMenu/MobileUserMenu.js +4 -0
- package/dist/js/GlobalNavigationBar/UserMenu/MobileUserMenu.js.map +1 -1
- package/dist/js/GlobalNavigationBar/mobile/MobileMenu.js +2 -0
- package/dist/js/GlobalNavigationBar/mobile/MobileMenu.js.map +1 -1
- package/dist/js/InputFields/DatepickerField.js +2 -0
- package/dist/js/InputFields/DatepickerField.js.map +1 -1
- package/dist/js/InputFields/styling.js +2 -2
- package/dist/js/InputFields/styling.js.map +1 -1
- package/dist/js/Modals/Modal.js +2 -0
- package/dist/js/Modals/Modal.js.map +1 -1
- package/dist/js/Modals/ModalDialog.js +4 -0
- package/dist/js/Modals/ModalDialog.js.map +1 -1
- package/dist/js/Switcher/MobileSwitcherMenu.js +4 -0
- package/dist/js/Switcher/MobileSwitcherMenu.js.map +1 -1
- package/dist/js/Table/Table.js +6 -0
- package/dist/js/Table/Table.js.map +1 -1
- package/dist/js/Tabs/Tabs.js +1 -1
- package/dist/js/Tabs/Tabs.js.map +1 -1
- package/dist/js/Toasters/Toast.js +6 -2
- package/dist/js/Toasters/Toast.js.map +1 -1
- package/dist/js/icons/contenticons/ContentIcons.js +592 -296
- package/dist/js/icons/contenticons/ContentIcons.js.map +1 -1
- package/dist/js/icons/systemicons/SystemIcons.d.ts +2 -0
- package/dist/js/icons/systemicons/SystemIcons.js +403 -373
- package/dist/js/icons/systemicons/SystemIcons.js.map +1 -1
- package/dist/umd/Banners/Banner.js +109 -55
- package/dist/umd/Banners/Banner.js.map +1 -1
- package/dist/umd/Banners/styles.js +141 -0
- package/dist/umd/Banners/styles.js.map +1 -0
- package/dist/umd/Button/Iconbutton.js +1 -1
- package/dist/umd/Button/Iconbutton.js.map +1 -1
- package/dist/umd/Chips/InputChip.js +3 -0
- package/dist/umd/Chips/InputChip.js.map +1 -1
- package/dist/umd/Dropdown/DropdownButton.js +2 -0
- package/dist/umd/Dropdown/DropdownButton.js.map +1 -1
- package/dist/umd/Dropdown/DropdownFilter.js +0 -1
- package/dist/umd/Dropdown/DropdownFilter.js.map +1 -1
- package/dist/umd/Footer/Components/FooterNewsletterAndSocialSection.js +39 -19
- package/dist/umd/Footer/Components/FooterNewsletterAndSocialSection.js.map +1 -1
- package/dist/umd/GlobalNavigationBar/UserMenu/MobileUserMenu.js +4 -0
- package/dist/umd/GlobalNavigationBar/UserMenu/MobileUserMenu.js.map +1 -1
- package/dist/umd/GlobalNavigationBar/mobile/MobileMenu.js +2 -0
- package/dist/umd/GlobalNavigationBar/mobile/MobileMenu.js.map +1 -1
- package/dist/umd/InputFields/DatepickerField.js +2 -0
- package/dist/umd/InputFields/DatepickerField.js.map +1 -1
- package/dist/umd/InputFields/styling.js +7 -1
- package/dist/umd/InputFields/styling.js.map +1 -1
- package/dist/umd/Modals/Modal.js +2 -0
- package/dist/umd/Modals/Modal.js.map +1 -1
- package/dist/umd/Modals/ModalDialog.js +4 -0
- package/dist/umd/Modals/ModalDialog.js.map +1 -1
- package/dist/umd/Switcher/MobileSwitcherMenu.js +4 -0
- package/dist/umd/Switcher/MobileSwitcherMenu.js.map +1 -1
- package/dist/umd/Table/Table.js +6 -0
- package/dist/umd/Table/Table.js.map +1 -1
- package/dist/umd/Tabs/Tabs.js +3 -3
- package/dist/umd/Tabs/Tabs.js.map +1 -1
- package/dist/umd/Toasters/Toast.js +13 -1
- package/dist/umd/Toasters/Toast.js.map +1 -1
- package/dist/umd/icons/contenticons/ContentIcons.js +444 -296
- package/dist/umd/icons/contenticons/ContentIcons.js.map +1 -1
- package/dist/umd/icons/systemicons/SystemIcons.js +46 -26
- package/dist/umd/icons/systemicons/SystemIcons.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/Dropdown/DropdownButton.tsx"],"names":["DropdownButton","onClick","React","dropdownContentRef","document","handleClickOutside","event","setDropdownOpen","clickListItem","getElements","options","item","renderItemIcon","renderIconButton","disabled","icon","size","color","iconColor","i","COLORS","neutral_600","width","dropdownOpen"],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["../../../src/Dropdown/DropdownButton.tsx"],"names":["DropdownButton","onClick","React","dropdownContentRef","document","handleClickOutside","event","setDropdownOpen","clickListItem","getElements","options","item","renderItemIcon","renderIconButton","disabled","icon","size","color","iconColor","i","COLORS","neutral_600","width","dropdownOpen"],"mappings":"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","sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import custom components.\n */\nimport { IconButton } from '../Button';\nimport { SystemIcons as icons } from '../icons/index';\nimport { COLORS } from '../styles';\n\n/**\n * Import custom styles.\n */\nimport { DropdownContent, DropdownButton as DB } from './CommonStyling';\n\n/**\n * Import custom types.\n */\nimport { DropdownButtonProps, Icons } from './DropdownButtonTypes';\n\nconst DropdownButton = ({ list, icon, iconSize, disabled, width, iconColor, onClick }: DropdownButtonProps) => {\n // Globally used variables within the view.\n const [dropdownOpen, setDropdownOpen] = React.useState<boolean>(false);\n const dropdownContentRef = React.useRef<HTMLDivElement>(null);\n\n /**\n * Adds custom event handler.\n */\n React.useEffect(() => {\n document.addEventListener('click', handleClickOutside);\n return () => {\n document.removeEventListener('click', handleClickOutside);\n };\n });\n\n /**\n * Checks if we have clicked outside the dropdown - then close the dropdown.\n * @param event - Event handler from the mouse click.\n */\n const handleClickOutside = (event: any) => {\n if (dropdownContentRef?.current && !dropdownContentRef.current.contains(event.target)) {\n if (dropdownOpen) {\n setDropdownOpen(false);\n }\n }\n };\n\n /**\n * Does all required actions when list item was selected.\n * @param {Object} event - Event handler from the mouse click.\n * @param {string} id - ID of the clicked list item.\n */\n const clickListItem = (event: React.MouseEvent, id: string): void => {\n // Prevent default actions\n event.preventDefault();\n\n // Do all required actions\n onClick(id);\n setDropdownOpen(false);\n };\n\n /**\n * Retrieves elements for the dropdown list.\n * @returns Dropdown list elements HTML code.\n */\n const getElements = () => {\n var options = list;\n\n if (options.length === 0) {\n return (\n <DB disabled>\n <span>There are no options available</span>\n </DB>\n );\n }\n return options.map((item) => {\n return (\n <DB\n type=\"button\"\n onClick={(event: React.MouseEvent) => {\n if (!item.disabled) clickListItem(event, item.id);\n }}\n key={item.id}\n disabled={item.disabled}\n className={item.showDividerAbove ? 'show-divider-above' : ''}>\n {item.icon && (\n <div className=\"item-content\">\n <div className=\"item-label\">{item.label}</div>\n {renderItemIcon(item.icon)}\n </div>\n )}\n {!item.icon && <span>{item.label}</span>}\n </DB>\n );\n });\n };\n\n /**\n * Renders Icon Button dropdown menu.\n * @returns HTML View for the Icon button dropdown menu.\n */\n const renderIconButton = () => {\n return (\n <IconButton variant=\"secondary\" shape=\"circular\" action={() => setDropdownOpen(!dropdownOpen)} disabled={disabled}>\n {icon && icons[icon]({ size: iconSize, color: iconColor })}\n </IconButton>\n );\n };\n\n const renderItemIcon = (i: Icons | undefined) => {\n return i && <div className=\"item-icon\">{icons[i]({ size: '20px', color: COLORS.neutral_600 })}</div>;\n };\n\n return (\n <>\n {renderIconButton()}\n\n {!disabled && (\n <DropdownContent isButton={false} style={{ width }} ref={dropdownContentRef} className={dropdownOpen ? 'show' : ''}>\n {getElements()}\n </DropdownContent>\n )}\n </>\n );\n};\n\nexport default DropdownButton;\n"],"file":"DropdownButton.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/Dropdown/DropdownFilter.tsx"],"names":["InputField","styled","input","COLORS","black","neutral_600","BREAKPOINTS","MEDIUM","id","list","placeholder","onSelect","onInputChange","initalValue","required","disableSorting","messageOnNoResults","disabled","locked","isButton","activeValidationMessage","autofilledMessage","size","buttonFontSize","keepInitialValue","icon","margin","MAX_MENU_HEIGHT","AVG_OPTION_HEIGHT","DropdownFilter","React","dropdownContentRef","styledFieldRef","inputRef","options","option","setCurrentSearchResult","handleClickOutside","e","setIsOpen","setFocused","setInput","setPlaceholderSearch","setNewFocusedElement","index","newFocusedElement","document","handleKeyDown","focusedNow","handleKeyPress","matches","currentSearchResult","c","setRestartFilter","setIsLoading","determineDropUp","node","windowHeight","window","menuHeight","Math","instOffsetWithMenu","setIsUp","getElements","number","item","renderStandardDropdown","isOpen","isLoading","renderButtonDropdown","isUp","warning_400"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport { BREAKPOINTS, COLORS } from '../styles';\nimport { Attention, Information, ScrollArrowDown, ScrollArrowUp } from '../icons/systemicons/SystemIcons';\nimport { LoadingIndicator } from '../LoadingIndicator';\nimport { DropdownButton, StyledField, DropdownContent, Dropdown, ButtonDropdownWrapper } from './CommonStyling';\nimport { AutofilledMessage, WarningMessage } from '../InputFields/styling';\n\nconst InputField = styled.input`\n font-weight: normal;\n font-size: 18px;\n border: none;\n outline: none;\n background-color: inherit;\n cursor: pointer;\n color: ${COLORS.black} !important;\n padding: 0;\n ::-webkit-search-decoration,\n ::-webkit-search-cancel-button,\n ::-webkit-search-results-button,\n ::-webkit-search-results-decoration {\n -webkit-appearance: none;\n }\n ::placeholder {\n font-family: 'Lato', sans-serif;\n font-style: italic;\n font-weight: normal;\n font-size: 16px;\n color: ${COLORS.neutral_600};\n ${BREAKPOINTS.MEDIUM} {\n font-size: 18px;\n }\n &.small {\n font-size: 16px;\n }\n &.medium {\n font-size: 18px;\n }\n }\n`;\n\ninterface DropdownFilterProps {\n id: string;\n list: string[];\n placeholder?: string;\n onSelect?: (value: string) => void;\n onInputChange?: (input: string) => void;\n initalValue?: string;\n required?: boolean;\n disableSorting?: boolean;\n messageOnNoResults?: string;\n disabled?: boolean;\n locked?: boolean;\n isButton?: boolean;\n activeValidationMessage?: string;\n autofilledMessage?: string;\n size?: 'small' | 'medium';\n buttonFontSize?: string;\n keepInitialValue?: boolean;\n icon?: React.ReactNode;\n margin?: string;\n}\n\nconst MAX_MENU_HEIGHT = 240;\nconst AVG_OPTION_HEIGHT = 48;\n\nconst DropdownFilter = ({\n id,\n list,\n placeholder,\n onSelect,\n onInputChange,\n initalValue,\n required,\n disableSorting,\n messageOnNoResults,\n disabled,\n locked,\n isButton,\n activeValidationMessage,\n autofilledMessage,\n size,\n buttonFontSize,\n keepInitialValue,\n icon,\n margin,\n}: DropdownFilterProps) => {\n const [isOpen, setIsOpen] = React.useState<Boolean>(false);\n const [isUp, setIsUp] = React.useState<boolean>(false);\n const [isLoading, setIsLoading] = React.useState<Boolean>(false);\n const [input, setInput] = React.useState<string>('');\n const [placeholderSearch, setPlaceholderSearch] = React.useState<string>(placeholder || '');\n const [restartFilter, setRestartFilter] = React.useState<boolean>(false);\n const [focused, setFocused] = React.useState<number | null>(null);\n const [currentSearchResult, setCurrentSearchResult] = React.useState<string[]>(list);\n\n const dropdownContentRef = React.useRef<HTMLDivElement>(null);\n const styledFieldRef = React.useRef<HTMLDivElement>(null);\n const inputRef = React.useRef<HTMLInputElement>(null);\n\n React.useEffect(() => {\n var options = [...list];\n if (!restartFilter && input !== '') {\n options = options.filter((option) => option.toUpperCase().indexOf(input.toUpperCase()) !== -1);\n }\n if (!disableSorting) {\n options = options.sort();\n }\n setCurrentSearchResult(options);\n }, [input, list]);\n\n const handleClickOutside = (e: any) => {\n if (dropdownContentRef?.current && !dropdownContentRef.current.contains(e.target)) {\n if (isOpen) {\n setIsOpen(false);\n setFocused(null);\n if (!list.includes(input)) {\n setInput('');\n setPlaceholderSearch(placeholder || '');\n }\n }\n }\n };\n\n const setNewFocusedElement = (index: number) => {\n const newFocusedElement = document.getElementById(`${id}_${index}`);\n if (newFocusedElement) {\n setFocused(index);\n newFocusedElement.focus();\n }\n };\n\n const handleKeyDown = (e: any) => {\n if (isOpen) {\n if (e.keyCode === 38) {\n e.preventDefault();\n var focusedNow = focused;\n if (focusedNow !== undefined && focusedNow !== null && focusedNow > 0) {\n focusedNow -= 1;\n setNewFocusedElement(focusedNow);\n }\n } else if (e.keyCode === 40) {\n e.preventDefault();\n var focusedNow = focused;\n if (focusedNow !== undefined && focusedNow !== null) {\n focusedNow++;\n } else {\n focusedNow = 0;\n }\n setNewFocusedElement(focusedNow);\n } else if (e.keyCode === 9) {\n e.preventDefault();\n var focusedNow = focused;\n if (focusedNow !== undefined && focusedNow !== null) {\n focusedNow++;\n const newFocusedElement = document.getElementById(`${id}_${focusedNow}`);\n if (!newFocusedElement) {\n setNewFocusedElement(0);\n } else {\n setNewFocusedElement(focusedNow);\n }\n } else {\n setNewFocusedElement(0);\n }\n } else if (e.keyCode === 27) {\n setIsOpen(false);\n setNewFocusedElement(0);\n if (!list.includes(input)) {\n setInput('');\n setPlaceholderSearch(placeholder || '');\n }\n styledFieldRef.current?.focus();\n }\n }\n };\n\n const handleKeyPress = (e: any) => {\n if (styledFieldRef?.current && styledFieldRef.current.contains(e.target)) {\n if (e.keyCode === 13 && !locked) {\n const matches = currentSearchResult?.filter((c) => c.toLowerCase() === input.toLowerCase());\n if (matches.length === 1 && onSelect) {\n onSelect(matches[0]);\n setInput(matches[0]);\n }\n setIsOpen(!isOpen);\n setNewFocusedElement(0);\n if (matches.length === 0) {\n setInput('');\n }\n } else if (e.keyCode === 40) {\n setIsOpen(!isOpen);\n setNewFocusedElement(0);\n }\n }\n };\n\n React.useEffect(() => {\n if (initalValue || initalValue === '') {\n setInput(initalValue);\n setRestartFilter(true);\n }\n }, [initalValue]);\n\n React.useEffect(() => {\n document.addEventListener('keydown', handleKeyDown);\n document.addEventListener('keypress', handleKeyPress);\n document.addEventListener('click', handleClickOutside);\n return () => {\n document.removeEventListener('keydown', handleKeyDown);\n document.removeEventListener('keypress', handleKeyPress);\n document.removeEventListener('click', handleClickOutside);\n };\n });\n\n React.useEffect(() => {\n setIsLoading(false);\n }, [input]);\n\n React.useEffect(() => {\n determineDropUp();\n }, [isOpen]);\n\n const determineDropUp = () => {\n const options = list;\n const node = dropdownContentRef.current;\n\n if (!node) return;\n\n const windowHeight = window.innerHeight;\n const menuHeight = Math.min(MAX_MENU_HEIGHT, options.length * AVG_OPTION_HEIGHT);\n const instOffsetWithMenu = node.getBoundingClientRect().top + menuHeight;\n setIsUp(instOffsetWithMenu >= windowHeight);\n };\n\n const getElements = () => {\n if (locked || disabled) {\n return <></>;\n }\n var number = 0;\n if (currentSearchResult.length === 0) {\n return (\n <DropdownButton disabled>\n <span>{messageOnNoResults}</span>\n </DropdownButton>\n );\n }\n return currentSearchResult.map((item) => {\n return (\n <DropdownButton\n type=\"button\"\n onClick={(e: any) => {\n e.preventDefault();\n setRestartFilter(true);\n setInput(item);\n onSelect && onSelect(item);\n setIsOpen(false);\n setFocused(null);\n }}\n className={item?.toLowerCase() === input?.toLowerCase() ? 'active' : ''}\n key={item}\n id={`${id}_${number++}`}>\n <span>{item}</span>\n </DropdownButton>\n );\n });\n };\n\n const renderStandardDropdown = () => {\n return (\n <StyledField\n ref={styledFieldRef}\n className={(isOpen ? 'expanded ' : '').concat(size ? size : '')}\n onClick={(e: any) => {\n e.stopPropagation();\n setIsOpen(!isOpen);\n inputRef.current?.focus();\n }}\n tabIndex={disabled || locked ? -1 : 0}\n disabled={disabled || false}\n locked={locked || false}\n showValidationMessage={!!activeValidationMessage}\n fontSize={buttonFontSize}>\n <InputField\n ref={inputRef}\n autoComplete={'off-' + Math.floor(Math.random() * 999999999999)}\n type=\"search\"\n placeholder={placeholderSearch}\n id={`${id}_input`}\n value={input}\n className={size ? `${size} value` : 'value'}\n onChange={(e: any) => {\n if (!locked && !disabled) {\n setRestartFilter(false);\n setIsLoading(true);\n setIsOpen(true);\n setInput(e.target.value);\n if (onInputChange) {\n onInputChange(e.target.value || '');\n }\n }\n }}\n onClick={(e: any) => {\n if (!locked && !disabled) {\n e.stopPropagation();\n setIsOpen(!isOpen);\n }\n }}\n onFocus={() => setPlaceholderSearch('')}\n onBlur={() => setPlaceholderSearch(placeholder || '')}\n required={required}\n tabIndex={disabled || locked ? -1 : 0}\n disabled={disabled || false}\n />\n\n {isLoading ? <LoadingIndicator size=\"small\" color={COLORS.neutral_600} /> : null}\n\n <div onClick={() => setIsOpen(!isOpen)} className={'icon'}>\n {isOpen && !locked && !disabled ? <ScrollArrowUp size=\"24px\" className={size ? size : ''} /> : <ScrollArrowDown size=\"24px\" className={size ? size : ''} />}\n </div>\n </StyledField>\n );\n };\n\n const renderButtonDropdown = () => (\n <ButtonDropdownWrapper\n onClick={(e: any) => {\n e.stopPropagation();\n setIsOpen(!isOpen);\n inputRef.current?.focus();\n }}\n disabled={disabled}\n locked={locked}>\n <StyledField\n ref={styledFieldRef}\n className={(isOpen ? 'expanded ' : '').concat(size ? size : '').concat(isButton ? 'button' : '')}\n tabIndex={disabled || locked ? -1 : 0}\n disabled={disabled || false}\n locked={locked || false}\n showValidationMessage={!!activeValidationMessage}\n fontSize={buttonFontSize}>\n {icon}\n <div className={'value'}>{initalValue && keepInitialValue ? initalValue : input || placeholderSearch}</div>\n {isLoading ? <LoadingIndicator size=\"small\" color={COLORS.neutral_600} /> : null}\n <div onClick={() => setIsOpen(!isOpen)} className={'icon'}>\n {isOpen && !locked && !disabled ? <ScrollArrowUp size=\"24px\" className={size ? size : ''} /> : <ScrollArrowDown size=\"24px\" className={size ? size : ''} />}\n </div>\n </StyledField>\n </ButtonDropdownWrapper>\n );\n\n return (\n <>\n <Dropdown isButton={isButton || false} disabled={disabled} locked={locked} className={size ? size : ''} margin={margin}>\n {!isButton && renderStandardDropdown()}\n {!!isButton && renderButtonDropdown()}\n {!locked && !disabled && (\n <DropdownContent\n isButton={isButton || false}\n ref={dropdownContentRef}\n id={`${id}_dropdowncontent`}\n className={[isOpen && 'show', isUp && 'up'].filter((e) => !!e).join(' ')}>\n {getElements()}\n </DropdownContent>\n )}\n </Dropdown>\n {activeValidationMessage && (\n <WarningMessage className={size || ''}>\n <Attention size=\"20px\" color={COLORS.warning_400} />\n <span>{activeValidationMessage}</span>\n </WarningMessage>\n )}\n {autofilledMessage && (\n <AutofilledMessage className={size || ''}>\n <Information size=\"20px\" color={COLORS.neutral_600} />\n <span>{autofilledMessage}</span>\n </AutofilledMessage>\n )}\n </>\n );\n};\n\nexport default DropdownFilter;\n"],"file":"DropdownFilter.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/Dropdown/DropdownFilter.tsx"],"names":["InputField","styled","input","COLORS","black","neutral_600","BREAKPOINTS","MEDIUM","id","list","placeholder","onSelect","onInputChange","initalValue","required","disableSorting","messageOnNoResults","disabled","locked","isButton","activeValidationMessage","autofilledMessage","size","buttonFontSize","keepInitialValue","icon","margin","MAX_MENU_HEIGHT","AVG_OPTION_HEIGHT","DropdownFilter","React","dropdownContentRef","styledFieldRef","inputRef","options","option","setCurrentSearchResult","handleClickOutside","e","setIsOpen","setFocused","setInput","setPlaceholderSearch","setNewFocusedElement","index","newFocusedElement","document","handleKeyDown","focusedNow","handleKeyPress","matches","currentSearchResult","c","setRestartFilter","setIsLoading","determineDropUp","node","windowHeight","window","menuHeight","Math","instOffsetWithMenu","setIsUp","getElements","number","item","renderStandardDropdown","isOpen","isLoading","renderButtonDropdown","isUp","warning_400"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport { BREAKPOINTS, COLORS } from '../styles';\nimport { Attention, Information, ScrollArrowDown, ScrollArrowUp } from '../icons/systemicons/SystemIcons';\nimport { LoadingIndicator } from '../LoadingIndicator';\nimport { DropdownButton, StyledField, DropdownContent, Dropdown, ButtonDropdownWrapper } from './CommonStyling';\nimport { AutofilledMessage, WarningMessage } from '../InputFields/styling';\n\nconst InputField = styled.input`\n font-weight: normal;\n font-size: 18px;\n border: none;\n outline: none;\n background-color: inherit;\n cursor: pointer;\n color: ${COLORS.black} !important;\n padding: 0;\n ::-webkit-search-decoration,\n ::-webkit-search-cancel-button,\n ::-webkit-search-results-button,\n ::-webkit-search-results-decoration {\n -webkit-appearance: none;\n }\n ::placeholder {\n font-family: 'Lato', sans-serif;\n font-style: italic;\n font-weight: normal;\n font-size: 16px;\n color: ${COLORS.neutral_600};\n ${BREAKPOINTS.MEDIUM} {\n font-size: 18px;\n }\n &.small {\n font-size: 16px;\n }\n &.medium {\n font-size: 18px;\n }\n }\n`;\n\ninterface DropdownFilterProps {\n id: string;\n list: string[];\n placeholder?: string;\n onSelect?: (value: string) => void;\n onInputChange?: (input: string) => void;\n initalValue?: string;\n required?: boolean;\n disableSorting?: boolean;\n messageOnNoResults?: string;\n disabled?: boolean;\n locked?: boolean;\n isButton?: boolean;\n activeValidationMessage?: string;\n autofilledMessage?: string;\n size?: 'small' | 'medium';\n buttonFontSize?: string;\n keepInitialValue?: boolean;\n icon?: React.ReactNode;\n margin?: string;\n}\n\nconst MAX_MENU_HEIGHT = 240;\nconst AVG_OPTION_HEIGHT = 48;\n\nconst DropdownFilter = ({\n id,\n list,\n placeholder,\n onSelect,\n onInputChange,\n initalValue,\n required,\n disableSorting,\n messageOnNoResults,\n disabled,\n locked,\n isButton,\n activeValidationMessage,\n autofilledMessage,\n size,\n buttonFontSize,\n keepInitialValue,\n icon,\n margin,\n}: DropdownFilterProps) => {\n const [isOpen, setIsOpen] = React.useState<Boolean>(false);\n const [isUp, setIsUp] = React.useState<boolean>(false);\n const [isLoading, setIsLoading] = React.useState<Boolean>(false);\n const [input, setInput] = React.useState<string>('');\n const [placeholderSearch, setPlaceholderSearch] = React.useState<string>(placeholder || '');\n const [restartFilter, setRestartFilter] = React.useState<boolean>(false);\n const [focused, setFocused] = React.useState<number | null>(null);\n const [currentSearchResult, setCurrentSearchResult] = React.useState<string[]>(list);\n\n const dropdownContentRef = React.useRef<HTMLDivElement>(null);\n const styledFieldRef = React.useRef<HTMLDivElement>(null);\n const inputRef = React.useRef<HTMLInputElement>(null);\n\n React.useEffect(() => {\n var options = [...list];\n if (!restartFilter && input !== '') {\n options = options.filter((option) => option.toUpperCase().indexOf(input.toUpperCase()) !== -1);\n }\n if (!disableSorting) {\n options = options.sort();\n }\n setCurrentSearchResult(options);\n }, [input, list]);\n\n const handleClickOutside = (e: any) => {\n if (dropdownContentRef?.current && !dropdownContentRef.current.contains(e.target)) {\n if (isOpen) {\n setIsOpen(false);\n setFocused(null);\n if (!list.includes(input)) {\n setInput('');\n setPlaceholderSearch(placeholder || '');\n }\n }\n }\n };\n\n const setNewFocusedElement = (index: number) => {\n const newFocusedElement = document.getElementById(`${id}_${index}`);\n if (newFocusedElement) {\n setFocused(index);\n newFocusedElement.focus();\n }\n };\n\n const handleKeyDown = (e: any) => {\n if (isOpen) {\n if (e.keyCode === 38) {\n e.preventDefault();\n var focusedNow = focused;\n if (focusedNow !== undefined && focusedNow !== null && focusedNow > 0) {\n focusedNow -= 1;\n setNewFocusedElement(focusedNow);\n }\n } else if (e.keyCode === 40) {\n e.preventDefault();\n var focusedNow = focused;\n if (focusedNow !== undefined && focusedNow !== null) {\n focusedNow++;\n } else {\n focusedNow = 0;\n }\n setNewFocusedElement(focusedNow);\n } else if (e.keyCode === 9) {\n e.preventDefault();\n var focusedNow = focused;\n if (focusedNow !== undefined && focusedNow !== null) {\n focusedNow++;\n const newFocusedElement = document.getElementById(`${id}_${focusedNow}`);\n if (!newFocusedElement) {\n setNewFocusedElement(0);\n } else {\n setNewFocusedElement(focusedNow);\n }\n } else {\n setNewFocusedElement(0);\n }\n } else if (e.keyCode === 27) {\n setIsOpen(false);\n setNewFocusedElement(0);\n if (!list.includes(input)) {\n setInput('');\n setPlaceholderSearch(placeholder || '');\n }\n styledFieldRef.current?.focus();\n }\n }\n };\n\n const handleKeyPress = (e: any) => {\n if (styledFieldRef?.current && styledFieldRef.current.contains(e.target)) {\n if (e.keyCode === 13 && !locked) {\n const matches = currentSearchResult?.filter((c) => c.toLowerCase() === input.toLowerCase());\n if (matches.length === 1 && onSelect) {\n onSelect(matches[0]);\n setInput(matches[0]);\n }\n setIsOpen(!isOpen);\n setNewFocusedElement(0);\n if (matches.length === 0) {\n setInput('');\n }\n } else if (e.keyCode === 40) {\n setIsOpen(!isOpen);\n setNewFocusedElement(0);\n }\n }\n };\n\n React.useEffect(() => {\n if (initalValue || initalValue === '') {\n setInput(initalValue);\n setRestartFilter(true);\n }\n }, [initalValue]);\n\n React.useEffect(() => {\n document.addEventListener('keydown', handleKeyDown);\n document.addEventListener('keypress', handleKeyPress);\n document.addEventListener('click', handleClickOutside);\n return () => {\n document.removeEventListener('keydown', handleKeyDown);\n document.removeEventListener('keypress', handleKeyPress);\n document.removeEventListener('click', handleClickOutside);\n };\n });\n\n React.useEffect(() => {\n setIsLoading(false);\n }, [input]);\n\n React.useEffect(() => {\n determineDropUp();\n }, [isOpen]);\n\n const determineDropUp = () => {\n const options = list;\n const node = dropdownContentRef.current;\n\n if (!node) return;\n\n const windowHeight = window.innerHeight;\n const menuHeight = Math.min(MAX_MENU_HEIGHT, options.length * AVG_OPTION_HEIGHT);\n const instOffsetWithMenu = node.getBoundingClientRect().top + menuHeight;\n setIsUp(instOffsetWithMenu >= windowHeight);\n };\n\n const getElements = () => {\n if (locked || disabled) {\n return <></>;\n }\n var number = 0;\n if (currentSearchResult.length === 0) {\n return (\n <DropdownButton disabled>\n <span>{messageOnNoResults}</span>\n </DropdownButton>\n );\n }\n return currentSearchResult.map((item) => {\n return (\n <DropdownButton\n type=\"button\"\n onClick={(e: any) => {\n e.preventDefault();\n setRestartFilter(true);\n setInput(item);\n onSelect && onSelect(item);\n setIsOpen(false);\n setFocused(null);\n }}\n className={item?.toLowerCase() === input?.toLowerCase() ? 'active' : ''}\n key={item}\n id={`${id}_${number++}`}>\n <span>{item}</span>\n </DropdownButton>\n );\n });\n };\n\n const renderStandardDropdown = () => {\n return (\n <StyledField\n ref={styledFieldRef}\n className={(isOpen ? 'expanded ' : '').concat(size ? size : '')}\n onClick={(e: any) => {\n e.stopPropagation();\n setIsOpen(!isOpen);\n inputRef.current?.focus();\n }}\n tabIndex={disabled || locked ? -1 : 0}\n disabled={disabled || false}\n locked={locked || false}\n showValidationMessage={!!activeValidationMessage}\n fontSize={buttonFontSize}>\n <InputField\n ref={inputRef}\n autoComplete={'off-' + Math.floor(Math.random() * 999999999999)}\n type=\"search\"\n placeholder={placeholderSearch}\n value={input}\n className={size ? `${size} value` : 'value'}\n onChange={(e: any) => {\n if (!locked && !disabled) {\n setRestartFilter(false);\n setIsLoading(true);\n setIsOpen(true);\n setInput(e.target.value);\n if (onInputChange) {\n onInputChange(e.target.value || '');\n }\n }\n }}\n onClick={(e: any) => {\n if (!locked && !disabled) {\n e.stopPropagation();\n setIsOpen(!isOpen);\n }\n }}\n onFocus={() => setPlaceholderSearch('')}\n onBlur={() => setPlaceholderSearch(placeholder || '')}\n required={required}\n tabIndex={disabled || locked ? -1 : 0}\n disabled={disabled || false}\n />\n\n {isLoading ? <LoadingIndicator size=\"small\" color={COLORS.neutral_600} /> : null}\n\n <div onClick={() => setIsOpen(!isOpen)} className={'icon'}>\n {isOpen && !locked && !disabled ? <ScrollArrowUp size=\"24px\" className={size ? size : ''} /> : <ScrollArrowDown size=\"24px\" className={size ? size : ''} />}\n </div>\n </StyledField>\n );\n };\n\n const renderButtonDropdown = () => (\n <ButtonDropdownWrapper\n onClick={(e: any) => {\n e.stopPropagation();\n setIsOpen(!isOpen);\n inputRef.current?.focus();\n }}\n disabled={disabled}\n locked={locked}>\n <StyledField\n ref={styledFieldRef}\n className={(isOpen ? 'expanded ' : '').concat(size ? size : '').concat(isButton ? 'button' : '')}\n tabIndex={disabled || locked ? -1 : 0}\n disabled={disabled || false}\n locked={locked || false}\n showValidationMessage={!!activeValidationMessage}\n fontSize={buttonFontSize}>\n {icon}\n <div className={'value'}>{initalValue && keepInitialValue ? initalValue : input || placeholderSearch}</div>\n {isLoading ? <LoadingIndicator size=\"small\" color={COLORS.neutral_600} /> : null}\n <div onClick={() => setIsOpen(!isOpen)} className={'icon'}>\n {isOpen && !locked && !disabled ? <ScrollArrowUp size=\"24px\" className={size ? size : ''} /> : <ScrollArrowDown size=\"24px\" className={size ? size : ''} />}\n </div>\n </StyledField>\n </ButtonDropdownWrapper>\n );\n\n return (\n <>\n <Dropdown isButton={isButton || false} disabled={disabled} locked={locked} className={size ? size : ''} margin={margin}>\n {!isButton && renderStandardDropdown()}\n {!!isButton && renderButtonDropdown()}\n {!locked && !disabled && (\n <DropdownContent\n isButton={isButton || false}\n ref={dropdownContentRef}\n id={`${id}_dropdowncontent`}\n className={[isOpen && 'show', isUp && 'up'].filter((e) => !!e).join(' ')}>\n {getElements()}\n </DropdownContent>\n )}\n </Dropdown>\n {activeValidationMessage && (\n <WarningMessage className={size || ''}>\n <Attention size=\"20px\" color={COLORS.warning_400} />\n <span>{activeValidationMessage}</span>\n </WarningMessage>\n )}\n {autofilledMessage && (\n <AutofilledMessage className={size || ''}>\n <Information size=\"20px\" color={COLORS.neutral_600} />\n <span>{autofilledMessage}</span>\n </AutofilledMessage>\n )}\n </>\n );\n};\n\nexport default DropdownFilter;\n"],"file":"DropdownFilter.js"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
2
|
if (typeof define === "function" && define.amd) {
|
|
3
|
-
define(["exports", "prop-types", "react", "styled-components", "../../styles", "../../InputFields", "../../icons/systemicons/SystemIcons"], factory);
|
|
3
|
+
define(["exports", "prop-types", "react", "styled-components", "../../styles", "../../InputFields", "../../icons/systemicons/SystemIcons", "../../Button"], factory);
|
|
4
4
|
} else if (typeof exports !== "undefined") {
|
|
5
|
-
factory(exports, require("prop-types"), require("react"), require("styled-components"), require("../../styles"), require("../../InputFields"), require("../../icons/systemicons/SystemIcons"));
|
|
5
|
+
factory(exports, require("prop-types"), require("react"), require("styled-components"), require("../../styles"), require("../../InputFields"), require("../../icons/systemicons/SystemIcons"), require("../../Button"));
|
|
6
6
|
} else {
|
|
7
7
|
var mod = {
|
|
8
8
|
exports: {}
|
|
9
9
|
};
|
|
10
|
-
factory(mod.exports, global.propTypes, global.react, global.styledComponents, global.styles, global.InputFields, global.SystemIcons);
|
|
10
|
+
factory(mod.exports, global.propTypes, global.react, global.styledComponents, global.styles, global.InputFields, global.SystemIcons, global.Button);
|
|
11
11
|
global.undefined = mod.exports;
|
|
12
12
|
}
|
|
13
|
-
})(this, function (exports, _propTypes, _react, _styledComponents, _styles, _InputFields, _SystemIcons) {
|
|
13
|
+
})(this, function (exports, _propTypes, _react, _styledComponents, _styles, _InputFields, _SystemIcons, _Button) {
|
|
14
14
|
"use strict";
|
|
15
15
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", {
|
|
@@ -179,36 +179,44 @@
|
|
|
179
179
|
display: flex;
|
|
180
180
|
justify-content: center;
|
|
181
181
|
|
|
182
|
-
|
|
182
|
+
button div {
|
|
183
183
|
display: flex;
|
|
184
|
-
width: 32px;
|
|
185
|
-
height: 32px;
|
|
186
184
|
background-color: transparent;
|
|
187
185
|
color: ${_styles.COLORS.white};
|
|
188
186
|
margin: 0 0 0 20px;
|
|
189
|
-
|
|
187
|
+
|
|
188
|
+
svg {
|
|
189
|
+
fill: ${_styles.COLORS.white};
|
|
190
|
+
path {
|
|
191
|
+
fill: ${_styles.COLORS.white};
|
|
192
|
+
}
|
|
193
|
+
}
|
|
190
194
|
|
|
191
195
|
&:first-child {
|
|
192
196
|
margin: 0;
|
|
193
197
|
}
|
|
194
|
-
svg {
|
|
195
|
-
margin: auto;
|
|
196
|
-
}
|
|
197
198
|
&:hover {
|
|
198
199
|
background-color: ${_styles.COLORS.white};
|
|
199
200
|
color: ${_styles.COLORS.neutral_600};
|
|
200
|
-
cursor: pointer;
|
|
201
201
|
}
|
|
202
202
|
&:active {
|
|
203
203
|
background-color: ${_styles.COLORS.primary_800};
|
|
204
204
|
color: ${_styles.COLORS.primary_100};
|
|
205
|
-
cursor: pointer;
|
|
206
205
|
}
|
|
206
|
+
}
|
|
207
|
+
a {
|
|
207
208
|
&:focus {
|
|
208
|
-
background-color: ${_styles.COLORS.white};
|
|
209
|
-
color: ${_styles.COLORS.neutral_600};
|
|
210
|
-
box-shadow: 0px 4px 12px rgba(46, 127, 161, 0.25), 0px 0px 8px #2e7fa1;
|
|
211
209
|
outline: none;
|
|
210
|
+
div {
|
|
211
|
+
background-color: ${_styles.COLORS.white};
|
|
212
|
+
color: ${_styles.COLORS.neutral_600};
|
|
213
|
+
outline: none;
|
|
214
|
+
box-shadow: 0px 0px 8px ${_styles.COLORS.primary_500}, 0px 4px 12px rgba(46, 127, 161, 0.25);
|
|
215
|
+
}
|
|
216
|
+
div svg path,
|
|
217
|
+
div svg {
|
|
218
|
+
fill: ${_styles.COLORS.neutral_600};
|
|
219
|
+
}
|
|
212
220
|
}
|
|
213
221
|
}
|
|
214
222
|
|
|
@@ -236,17 +244,29 @@
|
|
|
236
244
|
href: "https://www.facebook.com/LaerdalMedical/",
|
|
237
245
|
target: "_blank",
|
|
238
246
|
rel: "noreferrer noopener"
|
|
239
|
-
}, /*#__PURE__*/React.createElement(
|
|
247
|
+
}, /*#__PURE__*/React.createElement(_Button.IconButton, {
|
|
248
|
+
variant: "secondary",
|
|
249
|
+
action: () => {},
|
|
250
|
+
tabIndex: -1
|
|
251
|
+
}, /*#__PURE__*/React.createElement(_SystemIcons.Facebook, null))), /*#__PURE__*/React.createElement("a", {
|
|
240
252
|
key: `socialmedia_${Math.floor(Math.random() * 999999999999)}`,
|
|
241
253
|
href: "https://twitter.com/laerdalmedical",
|
|
242
254
|
target: "_blank",
|
|
243
255
|
rel: "noreferrer noopener"
|
|
244
|
-
}, /*#__PURE__*/React.createElement(
|
|
256
|
+
}, /*#__PURE__*/React.createElement(_Button.IconButton, {
|
|
257
|
+
variant: "secondary",
|
|
258
|
+
action: () => {},
|
|
259
|
+
tabIndex: -1
|
|
260
|
+
}, /*#__PURE__*/React.createElement(_SystemIcons.Twitter, null))), /*#__PURE__*/React.createElement("a", {
|
|
245
261
|
key: `socialmedia_${Math.floor(Math.random() * 999999999999)}`,
|
|
246
262
|
href: "https://www.youtube.com/user/LaerdalMedical",
|
|
247
263
|
target: "_blank",
|
|
248
264
|
rel: "noreferrer noopener"
|
|
249
|
-
}, /*#__PURE__*/React.createElement(
|
|
265
|
+
}, /*#__PURE__*/React.createElement(_Button.IconButton, {
|
|
266
|
+
variant: "secondary",
|
|
267
|
+
action: () => {},
|
|
268
|
+
tabIndex: -1
|
|
269
|
+
}, /*#__PURE__*/React.createElement(_SystemIcons.Youtube, null))))));
|
|
250
270
|
};
|
|
251
271
|
|
|
252
272
|
FooterNewsletterAndSocialSection.propTypes = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/Footer/Components/FooterNewsletterAndSocialSection.tsx"],"names":["NewsletterAndSocial","styled","section","BREAKPOINTS","MEDIUM","NewsletterEmailSection","div","COLORS","white","NewsletterEmail","NewsletterButton","button","SocialMedia","SocialMediaButtons","neutral_600","primary_800","primary_100","actionOnNewsletterSignup","newsletterLabel","placeholderEmail","FooterNewsletterAndSocialSection","React","value","setEmailInput","e","Math"],"mappings":";;;;;;;;;;;;;;;;;;;;;MAAA,K;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"sources":["../../../../src/Footer/Components/FooterNewsletterAndSocialSection.tsx"],"names":["NewsletterAndSocial","styled","section","BREAKPOINTS","MEDIUM","NewsletterEmailSection","div","COLORS","white","NewsletterEmail","NewsletterButton","button","SocialMedia","SocialMediaButtons","neutral_600","primary_800","primary_100","primary_500","actionOnNewsletterSignup","newsletterLabel","placeholderEmail","FooterNewsletterAndSocialSection","React","value","setEmailInput","e","Math"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\n\nimport { BREAKPOINTS, COLORS } from '../../styles';\nimport { TextField } from '../../InputFields';\nimport { Facebook, Twitter, Youtube } from '../../icons/systemicons/SystemIcons';\nimport { IconButton } from '../../Button';\n\nconst NewsletterAndSocial = styled.section`\n display: flex;\n flex-direction: column;\n margin-bottom: 16px;\n\n ${BREAKPOINTS.MEDIUM} {\n flex-direction: row;\n }\n`;\n\nconst NewsletterEmailSection = styled.div`\n width: 100%;\n margin: 16px auto 0 auto;\n\n ${BREAKPOINTS.MEDIUM} {\n width: 60%;\n margin: 16px 0 0 0;\n }\n\n label {\n color: ${COLORS.white};\n font-family: Lato;\n font-style: normal;\n font-weight: normal;\n font-size: 16px;\n line-height: 120%;\n margin-bottom: 2px;\n }\n div div {\n width: 100%;\n ${BREAKPOINTS.MEDIUM} {\n width: calc(100% - 82px);\n width: 288px;\n }\n }\n input {\n height: 48px;\n }\n`;\n\nconst NewsletterEmail = styled.div`\n display: flex;\n flex-direction: column;\n margin-top: 2px;\n margin: 2px auto 0 auto;\n\n ${BREAKPOINTS.MEDIUM} {\n margin: 2px 0 0 0;\n flex-direction: row;\n }\n`;\n\nconst NewsletterButton = styled.button`\n background: transparent;\n color: ${COLORS.white};\n width: 100%;\n height: 40px;\n border: 2px solid ${COLORS.white};\n box-sizing: border-box;\n border-radius: 8px;\n margin: 8px 0 4px 0;\n font-family: Lato;\n font-style: normal;\n font-weight: bold;\n font-size: 19px;\n line-height: 23px;\n\n ${BREAKPOINTS.MEDIUM} {\n width: 94px;\n margin: auto 0 4px 8px;\n }\n\n &:hover {\n cursor: pointer;\n }\n`;\n\nconst SocialMedia = styled.div`\n color: ${COLORS.white};\n margin: 0 auto;\n\n button div {\n box-sizing: border-box;\n border-radius: 4px;\n }\n\n h4 {\n margin-top: 16px;\n margin-bottom: 8px;\n font-weight: normal;\n font-size: 16px;\n }\n\n ${BREAKPOINTS.MEDIUM} {\n margin: 0 0 0 auto;\n button {\n margin: 0 0 0 12px;\n }\n }\n`;\n\nconst SocialMediaButtons = styled.div`\n display: flex;\n justify-content: center;\n\n button div {\n display: flex;\n background-color: transparent;\n color: ${COLORS.white};\n margin: 0 0 0 20px;\n\n svg {\n fill: ${COLORS.white};\n path {\n fill: ${COLORS.white};\n }\n }\n\n &:first-child {\n margin: 0;\n }\n &:hover {\n background-color: ${COLORS.white};\n color: ${COLORS.neutral_600};\n }\n &:active {\n background-color: ${COLORS.primary_800};\n color: ${COLORS.primary_100};\n }\n }\n a {\n &:focus {\n outline: none;\n div {\n background-color: ${COLORS.white};\n color: ${COLORS.neutral_600};\n outline: none;\n box-shadow: 0px 0px 8px ${COLORS.primary_500}, 0px 4px 12px rgba(46, 127, 161, 0.25);\n }\n div svg path,\n div svg {\n fill: ${COLORS.neutral_600};\n }\n }\n }\n\n ${BREAKPOINTS.MEDIUM} {\n justify-content: flex-end;\n }\n`;\n\ninterface FooterNewsletterAndSocialSection {\n actionOnNewsletterSignup?: (email: string) => void;\n newsletterLabel: string;\n placeholderEmail?: string;\n}\n\nconst FooterNewsletterAndSocialSection = ({ actionOnNewsletterSignup, newsletterLabel, placeholderEmail }: FooterNewsletterAndSocialSection) => {\n const [emailInput, setEmailInput] = React.useState<string>('');\n return (\n <NewsletterAndSocial>\n <NewsletterEmailSection>\n <label>{newsletterLabel}</label>\n <NewsletterEmail>\n <TextField id=\"NewsletterEmail\" withoutBorder={true} placeholder={placeholderEmail} value={emailInput} onChange={(value: string) => setEmailInput(value)} />\n <NewsletterButton onClick={(e: any) => actionOnNewsletterSignup && actionOnNewsletterSignup(e.target.value)}>Sign up</NewsletterButton>\n </NewsletterEmail>\n </NewsletterEmailSection>\n <SocialMedia>\n <h4>Follow us on social media</h4>\n <SocialMediaButtons>\n <a key={`socialmedia_${Math.floor(Math.random() * 999999999999)}`} href=\"https://www.facebook.com/LaerdalMedical/\" target=\"_blank\" rel=\"noreferrer noopener\">\n <IconButton variant=\"secondary\" action={() => {}} tabIndex={-1}>\n <Facebook />\n </IconButton>\n </a>\n <a key={`socialmedia_${Math.floor(Math.random() * 999999999999)}`} href=\"https://twitter.com/laerdalmedical\" target=\"_blank\" rel=\"noreferrer noopener\">\n <IconButton variant=\"secondary\" action={() => {}} tabIndex={-1}>\n <Twitter />\n </IconButton>\n </a>\n <a key={`socialmedia_${Math.floor(Math.random() * 999999999999)}`} href=\"https://www.youtube.com/user/LaerdalMedical\" target=\"_blank\" rel=\"noreferrer noopener\">\n <IconButton variant=\"secondary\" action={() => {}} tabIndex={-1}>\n <Youtube />\n </IconButton>\n </a>\n </SocialMediaButtons>\n </SocialMedia>\n </NewsletterAndSocial>\n );\n};\n\nexport default FooterNewsletterAndSocialSection;\n"],"file":"FooterNewsletterAndSocialSection.js"}
|
|
@@ -197,12 +197,16 @@
|
|
|
197
197
|
}, /*#__PURE__*/React.createElement(Top, {
|
|
198
198
|
key: "MobileUserMenuTopSection"
|
|
199
199
|
}, /*#__PURE__*/React.createElement(_Button.IconButton, {
|
|
200
|
+
variant: "secondary",
|
|
201
|
+
shape: "circular",
|
|
200
202
|
action: clickMenuAction,
|
|
201
203
|
isInMobileMenu: true
|
|
202
204
|
}, /*#__PURE__*/React.createElement(_SystemIcons.ArrowLineLeft, {
|
|
203
205
|
size: "24px",
|
|
204
206
|
color: _styles.COLORS.neutral_600
|
|
205
207
|
})), /*#__PURE__*/React.createElement("h3", null, accountMenuHeader), /*#__PURE__*/React.createElement(_CommonStyles.Right, null, /*#__PURE__*/React.createElement(_Button.IconButton, {
|
|
208
|
+
variant: "secondary",
|
|
209
|
+
shape: "circular",
|
|
206
210
|
action: clickMenuAction,
|
|
207
211
|
isInMobileMenu: true
|
|
208
212
|
}, /*#__PURE__*/React.createElement(_SystemIcons.Close, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/GlobalNavigationBar/UserMenu/MobileUserMenu.tsx"],"names":["Menu","styled","ul","COLORS","white","flowDown","BREAKPOINTS","SMALL","scrollBarStyling","MenuSection","li","MenuSectionList","UserMenuSectionListStyling","Top","div","neutral_600","LabelLine","span","neutral_20","StyledMenulink","accountMenuHeader","firstName","lastName","email","organizationName","clickMenuAction","accountSection","organizationSection","supportSection","signOut","signOutLabel","MobileUserMenu","React","e","document","element","label","display","margin","width"],"mappings":";;;;;;;;;;;;;;;;;;;;;MAAA,K;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,QAAMA,IAAI,GAAGC,2BAAOC,EAAG;AACvB;AACA;AACA,sBAAsBC,eAAOC,KAAM;AACnC;AACA;AACA,uBAAuBC,sBAAS;AAChC,eAAeA,sBAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAIC,oBAAYC,KAAM;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMD,oBAAYC,KAAM;AACxB;AACA;AACA;AACA;AACA,IAAIC,wBAAiB;AAjCrB,CAAA;AAoCA,QAAMC,WAAW,GAAGR,2BAAOS,EAAG;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AARA,CAAA;AAWA,QAAMC,eAAe,GAAGV,2BAAOC,EAAG;AAClC;AACA;AACA;AACA;AACA,IAAIU,wCAA2B;AAL/B,CAAA;AAQA,QAAMC,GAAG,GAAGZ,2BAAOa,GAAI;AACvB;AACA;AACA;AACA;AACA,WAAWX,eAAOY,WAAY;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAhBA,CAAA;AAmBA,QAAMC,SAAS,GAAGf,2BAAOgB,IAAK;AAC9B;AACA,sBAAsBd,eAAOe,UAAW;AACxC;AACA;AACA;AALA,CAAA;AAQA,QAAMC,cAAc,GAAGlB,gCAAM,kBAANA,CAAiB;AACxC;AACA;AACA;AACA;AAJA,CAAA;;AAqBA,QAAM8B,cAAc,GAAG,CAAC;AAAA,IAAA,iBAAA;AAAA,IAAA,SAAA;AAAA,IAAA,QAAA;AAAA,IAAA,KAAA;AAAA,IAAA,gBAAA;AAAA,IAAA,eAAA;AAAA,IAAA,cAAA;AAAA,IAAA,mBAAA;AAAA,IAAA,cAAA;AAAA,IAAA,OAAA;AAWtBD,IAAAA;AAXsB,GAAD,KAYV;AACXE,IAAAA,KAAK,CAALA,SAAAA,CAAgB,MAAM;AACpB,eAAA,cAAA,CAAA,CAAA,EAAgC;AAC9B,YAAIC,CAAC,CAADA,OAAAA,KAAJ,EAAA,EAAsB;AACpBR,UAAAA,eAAe;AAChB;AACF;;AAEDS,MAAAA,QAAQ,CAARA,gBAAAA,CAAAA,SAAAA,EAAAA,cAAAA,EAAAA,KAAAA;AACA,aAAO,MAAM;AACXA,QAAAA,QAAQ,CAARA,mBAAAA,CAAAA,SAAAA,EAAAA,cAAAA,EAAAA,KAAAA;AADF,OAAA;AARFF,KAAAA,EAWG,CAXHA,eAWG,CAXHA;AAaA,WAAA,aACE,KAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AAAM,MAAA,OAAO,EAAE,MAAM,CAArB,CAAA;AAAyB,MAAA,IAAI,EAA7B,MAAA;AAAqC,yBAAgB;AAArD,KAAA,EAAA,aACE,KAAA,CAAA,aAAA,CAAA,GAAA,EAAA;AAAK,MAAA,GAAG,EAAC;AAAT,KAAA,EAAA,aACE,KAAA,CAAA,aAAA,CAAA,kBAAA,EAAA;AAAY,MAAA,MAAM,EAAlB,eAAA;AAAqC,MAAA,cAAc,EAAE;AAArD,KAAA,EAAA,aACE,KAAA,CAAA,aAAA,CAAA,0BAAA,EAAA;AAAe,MAAA,IAAI,EAAnB,MAAA;AAA2B,MAAA,KAAK,EAAE7B,eAAOY;AAAzC,KAAA,CADF,CADF,EAAA,aAIE,KAAA,CAAA,aAAA,CAAA,IAAA,EAAA,IAAA,EAJF,iBAIE,CAJF,EAAA,aAKE,KAAA,CAAA,aAAA,CAAA,mBAAA,EAAA,IAAA,EAAA,aACE,KAAA,CAAA,aAAA,CAAA,kBAAA,EAAA;AAAY,MAAA,MAAM,EAAlB,eAAA;AAAqC,MAAA,cAAc,EAAE;AAArD,KAAA,EAAA,aACE,KAAA,CAAA,aAAA,CAAA,kBAAA,EAAA;AAAO,MAAA,IAAI,EAAC;AAAZ,KAAA,CADF,CADF,CALF,CADF,EAYGW,cAAc,IAAIA,cAAc,EAAdA,MAAAA,GAAlBA,CAAAA,IAAAA,aACC,KAAA,CAAA,aAAA,CAAA,WAAA,EAAA;AAAa,MAAA,GAAG,EAAC;AAAjB,KAAA,EAAA,aACE,KAAA,CAAA,aAAA,CAAA,SAAA,EAAA;AAAW,0BAAA;AAAX,KAAA,EAA8B,GAAEL,SAAU,IAAGC,QAD/C,EACE,CADF,EAAA,aAEE,KAAA,CAAA,aAAA,CAAA,eAAA,EAAA,IAAA,EACG,cAAc,EAAd,GAAA,CAAqBa,OAAD,IAAA,aACnB,KAAA,CAAA,aAAA,CAAA,cAAA,EAAA;AAAgB,MAAA,GAAG,EAAEA,OAAO,EAA5B,EAAA;AAAkC,MAAA,EAAE,EAAEA,OAAO,EAA7C,EAAA;AAAmD,MAAA,QAAQ,EAAEA,OAAO,EAAEC;AAAtE,KAAA,CADD,CADH,CAFF,CAbJ,EAsBGT,mBAAmB,IAAIA,mBAAmB,EAAnBA,MAAAA,GAAvBA,CAAAA,IAAAA,aACC,KAAA,CAAA,aAAA,CAAA,WAAA,EAAA;AAAa,MAAA,GAAG,EAAC;AAAjB,KAAA,EAAA,aACE,KAAA,CAAA,aAAA,CAAA,SAAA,EAAA,IAAA,EAAYH,gBAAgB,IAD9B,EACE,CADF,EAAA,aAEE,KAAA,CAAA,aAAA,CAAA,eAAA,EAAA,IAAA,EACG,mBAAmB,EAAnB,GAAA,CAA0BW,OAAD,IAAA,aACxB,KAAA,CAAA,aAAA,CAAA,cAAA,EAAA;AAAgB,MAAA,GAAG,EAAEA,OAAO,EAA5B,EAAA;AAAkC,MAAA,EAAE,EAAEA,OAAO,EAA7C,EAAA;AAAmD,MAAA,QAAQ,EAAEA,OAAO,EAAEC;AAAtE,KAAA,CADD,CADH,CAFF,CAvBJ,EAiCGR,cAAc,IAAIA,cAAc,EAAdA,MAAAA,GAAlBA,CAAAA,IAAAA,aACC,KAAA,CAAA,aAAA,CAAA,WAAA,EAAA;AAAa,MAAA,GAAG,EAAC;AAAjB,KAAA,EAAA,aACE,KAAA,CAAA,aAAA,CAAA,SAAA,EAAA,IAAA,EADF,EACE,CADF,EAAA,aAEE,KAAA,CAAA,aAAA,CAAA,eAAA,EAAA,IAAA,EACG,cAAc,EAAd,GAAA,CAAqBO,OAAD,IAAA,aACnB,KAAA,CAAA,aAAA,CAAA,cAAA,EAAA;AAAgB,MAAA,GAAG,EAAEA,OAAO,EAA5B,EAAA;AAAkC,MAAA,UAAU,EAAEA,OAAO,CAArD,UAAA;AAAkE,MAAA,EAAE,EAAEA,OAAO,EAA7E,EAAA;AAAmF,MAAA,QAAQ,EAAEA,OAAO,EAAEC;AAAtG,KAAA,CADD,CADH,CAFF,CAlCJ,EA2CGP,OAAO,IAAA,aACN,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,MAAA,GAAG,EAAR,eAAA;AAAyB,MAAA,KAAK,EAAE;AAAEQ,QAAAA,OAAO,EAAT,MAAA;AAAmBC,QAAAA,MAAM,EAAE;AAA3B;AAAhC,KAAA,EAAA,aACE,KAAA,CAAA,aAAA,CAAA,cAAA,EAAA;AACE,MAAA,KAAK,EAAE;AAAEC,QAAAA,KAAK,EAAP,KAAA;AAAgBD,QAAAA,MAAM,EAAE;AAAxB,OADT;AAEE,MAAA,OAAO,EAFT,WAAA;AAGE,MAAA,OAAO,EAAGL,CAAD,IAAO;AACdA,QAAAA,CAAC,CAADA,cAAAA;AACAJ,QAAAA,OAAO,CAAPA,CAAO,CAAPA;AACD;AANH,KAAA,EA9CR,YA8CQ,CADF,CA5CJ,CADF;AA1BF,GAAA;;;AAbET,IAAAA,iB;AACAC,IAAAA,S;AACAC,IAAAA,Q;AACAC,IAAAA,K;AACAC,IAAAA,gB;AACAC,IAAAA,e;AACAC,IAAAA,c;AACAC,IAAAA,mB;AACAC,IAAAA,c;AACAC,IAAAA,O;AACAC,IAAAA,Y;;oBA0FF,c","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport { BREAKPOINTS, COLORS, scrollBarStyling } from '../../styles';\n\nimport MenuLink from './MenuLink';\nimport { UserMenuItem } from '../../types';\nimport { Button, IconButton } from '../../Button';\nimport { ArrowLineLeft, Close } from '../../icons/systemicons/SystemIcons';\nimport { flowDown, Right, UserMenuSectionListStyling } from '../mobile/CommonStyles';\n\nconst Menu = styled.ul`\n list-style: none;\n margin: 0;\n background-color: ${COLORS.white};\n box-sizing: border-box;\n display: none;\n -webkit-animation: ${flowDown} 0.2s ease-in-out;\n animation: ${flowDown} 0.2s ease-in-out;\n position: absolute;\n border-radius: 4px;\n z-index: 100;\n height: 100%;\n width: 320px;\n padding-inline-start: 0;\n overflow-y: scroll;\n ${BREAKPOINTS.SMALL} {\n min-width: 360px;\n }\n\n .open & {\n display: flex;\n flex-direction: column;\n }\n\n .signOutButton {\n height: 40px !important;\n width: 288px !important;\n\n ${BREAKPOINTS.SMALL} {\n width: 328px !important;\n }\n }\n\n ${scrollBarStyling};\n`;\n\nconst MenuSection = styled.li`\n padding: 8px 0;\n position: relative;\n\n .disabled-link {\n color: #21212150;\n pointer-events: none;\n key-events: none;\n }\n`;\n\nconst MenuSectionList = styled.ul`\n list-style: none;\n margin: 0;\n overflow-y: unset !important;\n padding-inline-start: 0;\n ${UserMenuSectionListStyling};\n`;\n\nconst Top = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: 22px 12px 0 12px;\n color: ${COLORS.neutral_600};\n\n h3 {\n margin-block-start: 0 !important;\n margin-block-end: 0 !important;\n margin-inline-start: 0px;\n margin-inline-end: 0px;\n font-weight: normal;\n font-size: 16px;\n color: inherit;\n margin-left: 24px;\n }\n`;\n\nconst LabelLine = styled.span`\n height: 32px;\n background-color: ${COLORS.neutral_20};\n padding-left: 24px;\n display: flex;\n line-height: 32px;\n`;\n\nconst StyledMenulink = styled(MenuLink)`\n width: 100%;\n height: 48px;\n margin: 0;\n line-height: 48px;\n`;\n\ninterface Props {\n accountMenuHeader: string;\n firstName: string;\n lastName: string;\n email: string;\n organizationName: string;\n clickMenuAction: () => void;\n accountSection?: UserMenuItem[];\n organizationSection?: UserMenuItem[];\n supportSection?: UserMenuItem[];\n signOut?: (e: any) => void;\n signOutLabel?: string;\n}\n\nconst MobileUserMenu = ({\n accountMenuHeader,\n firstName,\n lastName,\n email,\n organizationName,\n clickMenuAction,\n accountSection,\n organizationSection,\n supportSection,\n signOut,\n signOutLabel,\n}: Props) => {\n React.useEffect(() => {\n function handleKeyPress(e: any) {\n if (e.keyCode === 27) {\n clickMenuAction();\n }\n }\n\n document.addEventListener('keydown', handleKeyPress, false);\n return () => {\n document.removeEventListener('keydown', handleKeyPress, false);\n };\n }, [clickMenuAction]);\n\n return (\n <Menu onClick={() => {}} role=\"menu\" aria-labelledby=\"UserMenuButton\">\n <Top key=\"MobileUserMenuTopSection\">\n <IconButton action={clickMenuAction} isInMobileMenu={true}>\n <ArrowLineLeft size=\"24px\" color={COLORS.neutral_600} />\n </IconButton>\n <h3>{accountMenuHeader}</h3>\n <Right>\n <IconButton action={clickMenuAction} isInMobileMenu={true}>\n <Close size=\"24px\" />\n </IconButton>\n </Right>\n </Top>\n {accountSection && accountSection?.length > 0 && (\n <MenuSection key=\"MobileAccountSection\">\n <LabelLine data-hj-suppress>{`${firstName} ${lastName}`}</LabelLine>\n <MenuSectionList>\n {accountSection?.map((element) => (\n <StyledMenulink key={element?.to} to={element?.to} menuText={element?.label} />\n ))}\n </MenuSectionList>\n </MenuSection>\n )}\n {organizationSection && organizationSection?.length > 0 && (\n <MenuSection key=\"MObileOrganizationSection\">\n <LabelLine>{organizationName || ''}</LabelLine>\n <MenuSectionList>\n {organizationSection?.map((element) => (\n <StyledMenulink key={element?.to} to={element?.to} menuText={element?.label} />\n ))}\n </MenuSectionList>\n </MenuSection>\n )}\n\n {supportSection && supportSection?.length > 0 && (\n <MenuSection key=\"MobileSupportSection\">\n <LabelLine>{''}</LabelLine>\n <MenuSectionList>\n {supportSection?.map((element) => (\n <StyledMenulink key={element?.to} isExternal={element.isExternal} to={element?.to} menuText={element?.label} />\n ))}\n </MenuSectionList>\n </MenuSection>\n )}\n {signOut && (\n <div key=\"SignoutButton\" style={{ display: 'flex', margin: 'auto 0 12px 0' }}>\n <Button\n style={{ width: '90%', margin: '0 auto' }}\n variant=\"secondary\"\n onClick={(e) => {\n e.preventDefault();\n signOut(e);\n }}>\n {signOutLabel}\n </Button>\n </div>\n )}\n </Menu>\n );\n};\n\nexport default MobileUserMenu;\n"],"file":"MobileUserMenu.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/GlobalNavigationBar/UserMenu/MobileUserMenu.tsx"],"names":["Menu","styled","ul","COLORS","white","flowDown","BREAKPOINTS","SMALL","scrollBarStyling","MenuSection","li","MenuSectionList","UserMenuSectionListStyling","Top","div","neutral_600","LabelLine","span","neutral_20","StyledMenulink","accountMenuHeader","firstName","lastName","email","organizationName","clickMenuAction","accountSection","organizationSection","supportSection","signOut","signOutLabel","MobileUserMenu","React","e","document","element","label","display","margin","width"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport { BREAKPOINTS, COLORS, scrollBarStyling } from '../../styles';\n\nimport MenuLink from './MenuLink';\nimport { UserMenuItem } from '../../types';\nimport { Button, IconButton } from '../../Button';\nimport { ArrowLineLeft, Close } from '../../icons/systemicons/SystemIcons';\nimport { flowDown, Right, UserMenuSectionListStyling } from '../mobile/CommonStyles';\n\nconst Menu = styled.ul`\n list-style: none;\n margin: 0;\n background-color: ${COLORS.white};\n box-sizing: border-box;\n display: none;\n -webkit-animation: ${flowDown} 0.2s ease-in-out;\n animation: ${flowDown} 0.2s ease-in-out;\n position: absolute;\n border-radius: 4px;\n z-index: 100;\n height: 100%;\n width: 320px;\n padding-inline-start: 0;\n overflow-y: scroll;\n ${BREAKPOINTS.SMALL} {\n min-width: 360px;\n }\n\n .open & {\n display: flex;\n flex-direction: column;\n }\n\n .signOutButton {\n height: 40px !important;\n width: 288px !important;\n\n ${BREAKPOINTS.SMALL} {\n width: 328px !important;\n }\n }\n\n ${scrollBarStyling};\n`;\n\nconst MenuSection = styled.li`\n padding: 8px 0;\n position: relative;\n\n .disabled-link {\n color: #21212150;\n pointer-events: none;\n key-events: none;\n }\n`;\n\nconst MenuSectionList = styled.ul`\n list-style: none;\n margin: 0;\n overflow-y: unset !important;\n padding-inline-start: 0;\n ${UserMenuSectionListStyling};\n`;\n\nconst Top = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: 22px 12px 0 12px;\n color: ${COLORS.neutral_600};\n\n h3 {\n margin-block-start: 0 !important;\n margin-block-end: 0 !important;\n margin-inline-start: 0px;\n margin-inline-end: 0px;\n font-weight: normal;\n font-size: 16px;\n color: inherit;\n margin-left: 24px;\n }\n`;\n\nconst LabelLine = styled.span`\n height: 32px;\n background-color: ${COLORS.neutral_20};\n padding-left: 24px;\n display: flex;\n line-height: 32px;\n`;\n\nconst StyledMenulink = styled(MenuLink)`\n width: 100%;\n height: 48px;\n margin: 0;\n line-height: 48px;\n`;\n\ninterface Props {\n accountMenuHeader: string;\n firstName: string;\n lastName: string;\n email: string;\n organizationName: string;\n clickMenuAction: () => void;\n accountSection?: UserMenuItem[];\n organizationSection?: UserMenuItem[];\n supportSection?: UserMenuItem[];\n signOut?: (e: any) => void;\n signOutLabel?: string;\n}\n\nconst MobileUserMenu = ({\n accountMenuHeader,\n firstName,\n lastName,\n email,\n organizationName,\n clickMenuAction,\n accountSection,\n organizationSection,\n supportSection,\n signOut,\n signOutLabel,\n}: Props) => {\n React.useEffect(() => {\n function handleKeyPress(e: any) {\n if (e.keyCode === 27) {\n clickMenuAction();\n }\n }\n\n document.addEventListener('keydown', handleKeyPress, false);\n return () => {\n document.removeEventListener('keydown', handleKeyPress, false);\n };\n }, [clickMenuAction]);\n\n return (\n <Menu onClick={() => {}} role=\"menu\" aria-labelledby=\"UserMenuButton\">\n <Top key=\"MobileUserMenuTopSection\">\n <IconButton variant=\"secondary\" shape=\"circular\" action={clickMenuAction} isInMobileMenu={true}>\n <ArrowLineLeft size=\"24px\" color={COLORS.neutral_600} />\n </IconButton>\n <h3>{accountMenuHeader}</h3>\n <Right>\n <IconButton variant=\"secondary\" shape=\"circular\" action={clickMenuAction} isInMobileMenu={true}>\n <Close size=\"24px\" />\n </IconButton>\n </Right>\n </Top>\n {accountSection && accountSection?.length > 0 && (\n <MenuSection key=\"MobileAccountSection\">\n <LabelLine data-hj-suppress>{`${firstName} ${lastName}`}</LabelLine>\n <MenuSectionList>\n {accountSection?.map((element) => (\n <StyledMenulink key={element?.to} to={element?.to} menuText={element?.label} />\n ))}\n </MenuSectionList>\n </MenuSection>\n )}\n {organizationSection && organizationSection?.length > 0 && (\n <MenuSection key=\"MObileOrganizationSection\">\n <LabelLine>{organizationName || ''}</LabelLine>\n <MenuSectionList>\n {organizationSection?.map((element) => (\n <StyledMenulink key={element?.to} to={element?.to} menuText={element?.label} />\n ))}\n </MenuSectionList>\n </MenuSection>\n )}\n\n {supportSection && supportSection?.length > 0 && (\n <MenuSection key=\"MobileSupportSection\">\n <LabelLine>{''}</LabelLine>\n <MenuSectionList>\n {supportSection?.map((element) => (\n <StyledMenulink key={element?.to} isExternal={element.isExternal} to={element?.to} menuText={element?.label} />\n ))}\n </MenuSectionList>\n </MenuSection>\n )}\n {signOut && (\n <div key=\"SignoutButton\" style={{ display: 'flex', margin: 'auto 0 12px 0' }}>\n <Button\n style={{ width: '90%', margin: '0 auto' }}\n variant=\"secondary\"\n onClick={(e) => {\n e.preventDefault();\n signOut(e);\n }}>\n {signOutLabel}\n </Button>\n </div>\n )}\n </Menu>\n );\n};\n\nexport default MobileUserMenu;\n"],"file":"MobileUserMenu.js"}
|
|
@@ -309,6 +309,8 @@
|
|
|
309
309
|
useUserMenu: useUserMenu,
|
|
310
310
|
setShowUserMenu: setShowUserMenu
|
|
311
311
|
}), /*#__PURE__*/React.createElement(_Button.IconButton, {
|
|
312
|
+
variant: "secondary",
|
|
313
|
+
shape: "circular",
|
|
312
314
|
action: () => clickMenuAction(),
|
|
313
315
|
isInMobileMenu: true
|
|
314
316
|
}, /*#__PURE__*/React.createElement(_SystemIcons.Close, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/GlobalNavigationBar/mobile/MobileMenu.tsx"],"names":["SwitchButton","styled","span","COLORS","neutral_600","BottomPinnedSection","div","neutral_200","FirstRowLayout","BottomRowLayout","BREAKPOINTS","SMALL","StyledNavItem","black","primary_500","primary_800","neutral_300","neutral_100","primary_600","primary_20","primary_100","SwitcherButton","name","navigationOptions","secondaryNavigationOptions","clickMenuAction","firstName","lastName","email","signout","isAuthenticated","notifications","switcherAction","accountSection","organizationSection","supportSection","accountMenuHeader","signOutLabel","organizationName","showUserMenu","setShowUserMenu","MobileMenu","React","notificationMenuRef","userMenuRef","userRef","notificationRef","switcherRef","location","actions","setShowNotificationMenu","fireAction","ref","action","isPressingEnter","e","showNotificationMenu","notification","no","label","padding","margin"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\n\nimport { BREAKPOINTS, COLORS } from '../../styles';\nimport { NavButton, NavOption, ActionOptions, UserMenuItem } from '../../types';\nimport Actions, { ActionButton } from '../Actions';\nimport { Close, GridView, Notification } from '../../icons/systemicons/SystemIcons';\nimport MobileActionMenu from './MobileActionMenu';\nimport { Right, RowLayout, MenuWrapper, MenuSection, MenuSectionList } from './CommonStyles';\nimport { NavLink, useLocation } from 'react-router-dom';\nimport { SwitcherMenuItem } from '../../Switcher';\nimport Avatar, { AvatarContainer } from '../Avatar';\nimport MobileUserMenu from '../UserMenu/MobileUserMenu';\nimport { IconButton } from '../../Button';\nimport { LaerdalLogo } from '../../assets';\n\nconst SwitchButton = styled.span`\n color: ${COLORS.neutral_600};\n font-size: 14px;\n font-weight: bold;\n padding: 0;\n border: 0;\n margin: 0 auto 0 12px;\n line-height: 48px;\n`;\n\nconst BottomPinnedSection = styled.div`\n position: absolute;\n left: 0;\n width: 100%;\n bottom: 0;\n border-top: 1px solid ${COLORS.neutral_200};\n`;\n\nconst FirstRowLayout = styled(RowLayout)`\n margin-top: 10px;\n padding: 12px;\n`;\n\nconst BottomRowLayout = styled(RowLayout)`\n margin: 8px auto 0 0;\n width: 95%;\n height: 48px;\n ${BREAKPOINTS.SMALL} {\n height: 56px;\n }\n`;\n\nconst StyledNavItem = styled(SwitcherMenuItem)`\n font-style: normal;\n font-weight: normal;\n font-size: 19px;\n padding: 0 0 0 20px;\n margin: 0 2px;\n\n display: flex;\n align-items: center;\n text-align: center;\n position: relative;\n\n color: ${COLORS.black};\n text-decoration: none;\n\n svg {\n margin-right: 16px;\n }\n\n &:after {\n content: '';\n display: block;\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n width: 4px;\n background-color: transparent;\n }\n\n &.active:not(.disabled) {\n font-weight: bold;\n &:after {\n background-color: ${COLORS.primary_500};\n }\n\n color: ${COLORS.primary_800};\n svg path {\n fill: ${COLORS.primary_800};\n }\n }\n\n &.disabled {\n color: ${COLORS.neutral_300};\n background-color: ${COLORS.neutral_100};\n }\n\n &:hover:not(.disabled) {\n color: ${COLORS.primary_600};\n background-color: ${COLORS.primary_20};\n\n svg path {\n fill: ${COLORS.primary_600};\n }\n }\n\n &:active:not(.disabled) {\n color: ${COLORS.primary_800};\n background-color: ${COLORS.primary_100};\n box-shadow: none;\n &:after {\n background-color: ${COLORS.primary_500};\n }\n svg path {\n fill: ${COLORS.primary_800};\n }\n }\n\n &:focus:not(.disabled) {\n box-shadow: 0px 0px 8px ${COLORS.primary_500}, 0px 4px 12px rgba(46, 127, 161, 0.25);\n outline: none;\n }\n`;\nconst SwitcherButton = styled.div`\n display: flex;\n margin-left: auto;\n\n line-height: 48px;\n button:last-child {\n margin: 0 !important;\n }\n`;\n\ntype Props = {\n name: string;\n navigationOptions?: NavOption[];\n secondaryNavigationOptions?: NavOption[];\n secondaryButton?: NavButton;\n actions?: ActionOptions;\n clickMenuAction: () => void;\n firstName: string;\n lastName: string;\n email: string;\n signout?: (e: any) => void;\n isAuthenticated?: boolean;\n notifications?: NavOption[];\n switcherAction?: () => void;\n accountSection?: UserMenuItem[];\n organizationSection?: UserMenuItem[];\n supportSection?: UserMenuItem[];\n accountMenuHeader: string;\n signOutLabel: string;\n organizationName: string;\n useUserMenu: boolean | undefined;\n showUserMenu: boolean;\n setShowUserMenu: (show: boolean) => void;\n};\n\nconst MobileMenu = ({\n clickMenuAction,\n navigationOptions,\n actions,\n firstName,\n lastName,\n email,\n signout,\n notifications,\n accountSection,\n organizationSection,\n supportSection,\n switcherAction,\n accountMenuHeader,\n signOutLabel,\n organizationName,\n useUserMenu,\n showUserMenu,\n setShowUserMenu,\n}: Props) => {\n const [showNotificationMenu, setShowNotificationMenu] = React.useState<boolean>(false);\n const notificationMenuRef = React.useRef(null);\n const userMenuRef = React.useRef(null);\n const userRef = React.useRef(null);\n const notificationRef = React.useRef(null);\n const switcherRef = React.useRef(null);\n\n const location = useLocation();\n\n if (actions?.user) {\n actions.user = () => setShowUserMenu(true);\n }\n if (actions?.notification) {\n actions.notification = () => setShowNotificationMenu(true);\n }\n\n const fireAction = (action: (() => void) | undefined, ref: React.MutableRefObject<HTMLButtonElement | null>) => {\n ref?.current?.blur();\n action !== undefined && action();\n };\n\n const isPressingEnter = (e: any) => {\n if (e.key === 'Enter') {\n e.preventDefault();\n e.stopPropagation();\n return true;\n }\n return false;\n };\n\n React.useEffect(() => {\n clickMenuAction();\n }, [location]);\n\n return (\n <>\n {actions?.notification && (\n <MenuWrapper ref={notificationMenuRef} className={showNotificationMenu ? 'open' : ''} isVisible={showNotificationMenu}>\n <MobileActionMenu\n name=\"Notifications\"\n clickMenuAction={() => setShowNotificationMenu(false)}\n navigationOptions={notifications}\n actionList={{\n notification: () => {},\n }}\n />\n </MenuWrapper>\n )}\n {actions?.user && (\n <MenuWrapper ref={userMenuRef} className={showUserMenu ? 'open' : ''} isVisible={showUserMenu}>\n <MobileUserMenu\n accountMenuHeader={accountMenuHeader}\n firstName={firstName}\n lastName={lastName}\n email={email}\n organizationName={organizationName}\n clickMenuAction={clickMenuAction}\n accountSection={accountSection}\n organizationSection={organizationSection}\n supportSection={supportSection}\n signOut={signout}\n signOutLabel={signOutLabel}\n />\n </MenuWrapper>\n )}\n <FirstRowLayout>\n {firstName && lastName && (\n <AvatarContainer\n id=\"avatarContainer\"\n ref={userRef}\n onClick={actions?.user}\n onKeyDown={(e: any) => (isPressingEnter(e) ? fireAction(actions?.user, userRef) : null)}\n inMobileMenu={true}\n hideOnLowWidth={false}>\n <Avatar size={36} firstName={firstName} lastName={lastName} color={COLORS.primary_500} profileMenuLink=\"#TODO\" />\n </AvatarContainer>\n )}\n {actions?.notification && (\n <ActionButton\n hideOnLowWidth={false}\n inMobileMenu={true}\n ref={notificationRef}\n onClick={() => fireAction(actions?.notification, notificationRef)}\n onKeyDown={(e: any) => (isPressingEnter(e) ? fireAction(actions?.notification, notificationRef) : null)}>\n <div>\n <Notification size=\"24px\" />\n </div>\n </ActionButton>\n )}\n <Right>\n <Actions\n actions={actions}\n firstName={firstName}\n lastName={lastName}\n isInMobileMenu={true}\n hideOnLowWidth={false}\n useUserMenu={useUserMenu}\n setShowUserMenu={setShowUserMenu}\n />\n <IconButton action={() => clickMenuAction()} isInMobileMenu={true}>\n <Close size=\"24px\" />\n </IconButton>\n </Right>\n </FirstRowLayout>\n <MenuSection>\n <MenuSectionList>\n {navigationOptions?.map((no) => (\n <li key={no.label}>\n <StyledNavItem\n as={NavLink}\n exact={no?.exact}\n to={no.to}\n onClick={() => {\n if (no?.onClick) {\n no?.onClick();\n }\n }}>\n {no.label}\n </StyledNavItem>\n </li>\n ))}\n </MenuSectionList>\n </MenuSection>\n\n <BottomPinnedSection>\n <MenuSection style={{ padding: '0 12px 12px 12px', margin: '0' }}>\n <MenuSectionList>\n <BottomRowLayout>\n <LaerdalLogo />\n {switcherAction && (\n <SwitcherButton>\n <SwitchButton onClick={() => switcherAction()}>Switch site</SwitchButton>{' '}\n <ActionButton\n hideOnLowWidth={false}\n inMobileMenu={true}\n id=\"globalNavAppsButton\"\n ref={switcherRef}\n onClick={() => switcherAction()}\n onKeyDown={(e: any) => (isPressingEnter(e) ? switcherAction() : null)}>\n <div>\n <GridView size=\"24px\" />\n </div>\n </ActionButton>\n </SwitcherButton>\n )}\n </BottomRowLayout>\n </MenuSectionList>\n </MenuSection>\n </BottomPinnedSection>\n </>\n );\n};\n\nexport default MobileMenu;\n"],"file":"MobileMenu.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/GlobalNavigationBar/mobile/MobileMenu.tsx"],"names":["SwitchButton","styled","span","COLORS","neutral_600","BottomPinnedSection","div","neutral_200","FirstRowLayout","BottomRowLayout","BREAKPOINTS","SMALL","StyledNavItem","black","primary_500","primary_800","neutral_300","neutral_100","primary_600","primary_20","primary_100","SwitcherButton","name","navigationOptions","secondaryNavigationOptions","clickMenuAction","firstName","lastName","email","signout","isAuthenticated","notifications","switcherAction","accountSection","organizationSection","supportSection","accountMenuHeader","signOutLabel","organizationName","showUserMenu","setShowUserMenu","MobileMenu","React","notificationMenuRef","userMenuRef","userRef","notificationRef","switcherRef","location","actions","setShowNotificationMenu","fireAction","ref","action","isPressingEnter","e","showNotificationMenu","notification","no","label","padding","margin"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\n\nimport { BREAKPOINTS, COLORS } from '../../styles';\nimport { NavButton, NavOption, ActionOptions, UserMenuItem } from '../../types';\nimport Actions, { ActionButton } from '../Actions';\nimport { Close, GridView, Notification } from '../../icons/systemicons/SystemIcons';\nimport MobileActionMenu from './MobileActionMenu';\nimport { Right, RowLayout, MenuWrapper, MenuSection, MenuSectionList } from './CommonStyles';\nimport { NavLink, useLocation } from 'react-router-dom';\nimport { SwitcherMenuItem } from '../../Switcher';\nimport Avatar, { AvatarContainer } from '../Avatar';\nimport MobileUserMenu from '../UserMenu/MobileUserMenu';\nimport { IconButton } from '../../Button';\nimport { LaerdalLogo } from '../../assets';\n\nconst SwitchButton = styled.span`\n color: ${COLORS.neutral_600};\n font-size: 14px;\n font-weight: bold;\n padding: 0;\n border: 0;\n margin: 0 auto 0 12px;\n line-height: 48px;\n`;\n\nconst BottomPinnedSection = styled.div`\n position: absolute;\n left: 0;\n width: 100%;\n bottom: 0;\n border-top: 1px solid ${COLORS.neutral_200};\n`;\n\nconst FirstRowLayout = styled(RowLayout)`\n margin-top: 10px;\n padding: 12px;\n`;\n\nconst BottomRowLayout = styled(RowLayout)`\n margin: 8px auto 0 0;\n width: 95%;\n height: 48px;\n ${BREAKPOINTS.SMALL} {\n height: 56px;\n }\n`;\n\nconst StyledNavItem = styled(SwitcherMenuItem)`\n font-style: normal;\n font-weight: normal;\n font-size: 19px;\n padding: 0 0 0 20px;\n margin: 0 2px;\n\n display: flex;\n align-items: center;\n text-align: center;\n position: relative;\n\n color: ${COLORS.black};\n text-decoration: none;\n\n svg {\n margin-right: 16px;\n }\n\n &:after {\n content: '';\n display: block;\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n width: 4px;\n background-color: transparent;\n }\n\n &.active:not(.disabled) {\n font-weight: bold;\n &:after {\n background-color: ${COLORS.primary_500};\n }\n\n color: ${COLORS.primary_800};\n svg path {\n fill: ${COLORS.primary_800};\n }\n }\n\n &.disabled {\n color: ${COLORS.neutral_300};\n background-color: ${COLORS.neutral_100};\n }\n\n &:hover:not(.disabled) {\n color: ${COLORS.primary_600};\n background-color: ${COLORS.primary_20};\n\n svg path {\n fill: ${COLORS.primary_600};\n }\n }\n\n &:active:not(.disabled) {\n color: ${COLORS.primary_800};\n background-color: ${COLORS.primary_100};\n box-shadow: none;\n &:after {\n background-color: ${COLORS.primary_500};\n }\n svg path {\n fill: ${COLORS.primary_800};\n }\n }\n\n &:focus:not(.disabled) {\n box-shadow: 0px 0px 8px ${COLORS.primary_500}, 0px 4px 12px rgba(46, 127, 161, 0.25);\n outline: none;\n }\n`;\nconst SwitcherButton = styled.div`\n display: flex;\n margin-left: auto;\n\n line-height: 48px;\n button:last-child {\n margin: 0 !important;\n }\n`;\n\ntype Props = {\n name: string;\n navigationOptions?: NavOption[];\n secondaryNavigationOptions?: NavOption[];\n secondaryButton?: NavButton;\n actions?: ActionOptions;\n clickMenuAction: () => void;\n firstName: string;\n lastName: string;\n email: string;\n signout?: (e: any) => void;\n isAuthenticated?: boolean;\n notifications?: NavOption[];\n switcherAction?: () => void;\n accountSection?: UserMenuItem[];\n organizationSection?: UserMenuItem[];\n supportSection?: UserMenuItem[];\n accountMenuHeader: string;\n signOutLabel: string;\n organizationName: string;\n useUserMenu: boolean | undefined;\n showUserMenu: boolean;\n setShowUserMenu: (show: boolean) => void;\n};\n\nconst MobileMenu = ({\n clickMenuAction,\n navigationOptions,\n actions,\n firstName,\n lastName,\n email,\n signout,\n notifications,\n accountSection,\n organizationSection,\n supportSection,\n switcherAction,\n accountMenuHeader,\n signOutLabel,\n organizationName,\n useUserMenu,\n showUserMenu,\n setShowUserMenu,\n}: Props) => {\n const [showNotificationMenu, setShowNotificationMenu] = React.useState<boolean>(false);\n const notificationMenuRef = React.useRef(null);\n const userMenuRef = React.useRef(null);\n const userRef = React.useRef(null);\n const notificationRef = React.useRef(null);\n const switcherRef = React.useRef(null);\n\n const location = useLocation();\n\n if (actions?.user) {\n actions.user = () => setShowUserMenu(true);\n }\n if (actions?.notification) {\n actions.notification = () => setShowNotificationMenu(true);\n }\n\n const fireAction = (action: (() => void) | undefined, ref: React.MutableRefObject<HTMLButtonElement | null>) => {\n ref?.current?.blur();\n action !== undefined && action();\n };\n\n const isPressingEnter = (e: any) => {\n if (e.key === 'Enter') {\n e.preventDefault();\n e.stopPropagation();\n return true;\n }\n return false;\n };\n\n React.useEffect(() => {\n clickMenuAction();\n }, [location]);\n\n return (\n <>\n {actions?.notification && (\n <MenuWrapper ref={notificationMenuRef} className={showNotificationMenu ? 'open' : ''} isVisible={showNotificationMenu}>\n <MobileActionMenu\n name=\"Notifications\"\n clickMenuAction={() => setShowNotificationMenu(false)}\n navigationOptions={notifications}\n actionList={{\n notification: () => {},\n }}\n />\n </MenuWrapper>\n )}\n {actions?.user && (\n <MenuWrapper ref={userMenuRef} className={showUserMenu ? 'open' : ''} isVisible={showUserMenu}>\n <MobileUserMenu\n accountMenuHeader={accountMenuHeader}\n firstName={firstName}\n lastName={lastName}\n email={email}\n organizationName={organizationName}\n clickMenuAction={clickMenuAction}\n accountSection={accountSection}\n organizationSection={organizationSection}\n supportSection={supportSection}\n signOut={signout}\n signOutLabel={signOutLabel}\n />\n </MenuWrapper>\n )}\n <FirstRowLayout>\n {firstName && lastName && (\n <AvatarContainer\n id=\"avatarContainer\"\n ref={userRef}\n onClick={actions?.user}\n onKeyDown={(e: any) => (isPressingEnter(e) ? fireAction(actions?.user, userRef) : null)}\n inMobileMenu={true}\n hideOnLowWidth={false}>\n <Avatar size={36} firstName={firstName} lastName={lastName} color={COLORS.primary_500} profileMenuLink=\"#TODO\" />\n </AvatarContainer>\n )}\n {actions?.notification && (\n <ActionButton\n hideOnLowWidth={false}\n inMobileMenu={true}\n ref={notificationRef}\n onClick={() => fireAction(actions?.notification, notificationRef)}\n onKeyDown={(e: any) => (isPressingEnter(e) ? fireAction(actions?.notification, notificationRef) : null)}>\n <div>\n <Notification size=\"24px\" />\n </div>\n </ActionButton>\n )}\n <Right>\n <Actions\n actions={actions}\n firstName={firstName}\n lastName={lastName}\n isInMobileMenu={true}\n hideOnLowWidth={false}\n useUserMenu={useUserMenu}\n setShowUserMenu={setShowUserMenu}\n />\n <IconButton variant=\"secondary\" shape=\"circular\" action={() => clickMenuAction()} isInMobileMenu={true}>\n <Close size=\"24px\" />\n </IconButton>\n </Right>\n </FirstRowLayout>\n <MenuSection>\n <MenuSectionList>\n {navigationOptions?.map((no) => (\n <li key={no.label}>\n <StyledNavItem\n as={NavLink}\n exact={no?.exact}\n to={no.to}\n onClick={() => {\n if (no?.onClick) {\n no?.onClick();\n }\n }}>\n {no.label}\n </StyledNavItem>\n </li>\n ))}\n </MenuSectionList>\n </MenuSection>\n\n <BottomPinnedSection>\n <MenuSection style={{ padding: '0 12px 12px 12px', margin: '0' }}>\n <MenuSectionList>\n <BottomRowLayout>\n <LaerdalLogo />\n {switcherAction && (\n <SwitcherButton>\n <SwitchButton onClick={() => switcherAction()}>Switch site</SwitchButton>{' '}\n <ActionButton\n hideOnLowWidth={false}\n inMobileMenu={true}\n id=\"globalNavAppsButton\"\n ref={switcherRef}\n onClick={() => switcherAction()}\n onKeyDown={(e: any) => (isPressingEnter(e) ? switcherAction() : null)}>\n <div>\n <GridView size=\"24px\" />\n </div>\n </ActionButton>\n </SwitcherButton>\n )}\n </BottomRowLayout>\n </MenuSectionList>\n </MenuSection>\n </BottomPinnedSection>\n </>\n );\n};\n\nexport default MobileMenu;\n"],"file":"MobileMenu.js"}
|