@laerdal/life-react-components 1.9.9-dev.6.full → 1.10.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 +4 -3
- package/dist/Accordion/AccordionItem.cjs.map +1 -1
- package/dist/Accordion/AccordionItem.d.ts +0 -1
- package/dist/Accordion/AccordionItem.js +4 -3
- package/dist/Accordion/AccordionItem.js.map +1 -1
- package/dist/Accordion/AccordionMenu.cjs +5 -5
- package/dist/Accordion/AccordionMenu.cjs.map +1 -1
- package/dist/Accordion/AccordionMenu.d.ts +1 -2
- package/dist/Accordion/AccordionMenu.js +5 -5
- package/dist/Accordion/AccordionMenu.js.map +1 -1
- package/dist/Accordion/ContentAccordion.cjs +14 -11
- package/dist/Accordion/ContentAccordion.cjs.map +1 -1
- package/dist/Accordion/ContentAccordion.d.ts +1 -1
- package/dist/Accordion/ContentAccordion.js +14 -11
- package/dist/Accordion/ContentAccordion.js.map +1 -1
- package/dist/Accordion/styles.cjs +2 -4
- package/dist/Accordion/styles.cjs.map +1 -1
- package/dist/Accordion/styles.d.ts +0 -1
- package/dist/Accordion/styles.js +2 -4
- package/dist/Accordion/styles.js.map +1 -1
- package/dist/Button/Button.cjs +10 -18
- package/dist/Button/Button.cjs.map +1 -1
- package/dist/Button/Button.js +10 -18
- package/dist/Button/Button.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/Chips/ActionChip.cjs +24 -23
- package/dist/Chips/ActionChip.cjs.map +1 -1
- package/dist/Chips/ActionChip.js +24 -25
- package/dist/Chips/ActionChip.js.map +1 -1
- package/dist/Chips/ChipTypes.d.ts +3 -3
- package/dist/Chips/ChoiceChips.cjs +6 -2
- package/dist/Chips/ChoiceChips.cjs.map +1 -1
- package/dist/Chips/ChoiceChips.js +5 -2
- package/dist/Chips/ChoiceChips.js.map +1 -1
- package/dist/Chips/FilterChip.cjs +24 -23
- package/dist/Chips/FilterChip.cjs.map +1 -1
- package/dist/Chips/FilterChip.js +24 -25
- package/dist/Chips/FilterChip.js.map +1 -1
- package/dist/Chips/InputChip.cjs +42 -40
- package/dist/Chips/InputChip.cjs.map +1 -1
- package/dist/Chips/InputChip.js +41 -41
- package/dist/Chips/InputChip.js.map +1 -1
- package/dist/Dropdown/CommonStyling.cjs +1 -1
- package/dist/Dropdown/CommonStyling.cjs.map +1 -1
- package/dist/Dropdown/CommonStyling.js +1 -1
- package/dist/Dropdown/CommonStyling.js.map +1 -1
- package/dist/Dropdown/index.cjs +4 -4
- package/dist/Dropdown/index.cjs.map +1 -1
- package/dist/Dropdown/index.d.ts +4 -5
- package/dist/Dropdown/index.js +4 -5
- package/dist/Dropdown/index.js.map +1 -1
- package/dist/GlobalNavigationBar/desktop/MainMenu.cjs +1 -1
- package/dist/GlobalNavigationBar/desktop/MainMenu.cjs.map +1 -1
- package/dist/GlobalNavigationBar/desktop/MainMenu.js +1 -1
- package/dist/GlobalNavigationBar/desktop/MainMenu.js.map +1 -1
- package/dist/GlobalNavigationBar/desktop/UserMenu.cjs +2 -2
- package/dist/GlobalNavigationBar/desktop/UserMenu.cjs.map +1 -1
- package/dist/GlobalNavigationBar/desktop/UserMenu.js +2 -2
- package/dist/GlobalNavigationBar/desktop/UserMenu.js.map +1 -1
- package/dist/GlobalNavigationBar/mobile/MobileMenuContent.cjs +1 -1
- package/dist/GlobalNavigationBar/mobile/MobileMenuContent.cjs.map +1 -1
- package/dist/GlobalNavigationBar/mobile/MobileMenuContent.js +1 -1
- package/dist/GlobalNavigationBar/mobile/MobileMenuContent.js.map +1 -1
- package/dist/InputFields/SearchBar.cjs +78 -7
- package/dist/InputFields/SearchBar.cjs.map +1 -1
- package/dist/InputFields/SearchBar.d.ts +9 -0
- package/dist/InputFields/SearchBar.js +75 -7
- package/dist/InputFields/SearchBar.js.map +1 -1
- package/dist/InputFields/components/SearchBarInput.cjs +6 -3
- package/dist/InputFields/components/SearchBarInput.cjs.map +1 -1
- package/dist/InputFields/components/SearchBarInput.d.ts +1 -0
- package/dist/InputFields/components/SearchBarInput.js +6 -3
- package/dist/InputFields/components/SearchBarInput.js.map +1 -1
- package/dist/InputFields/styling.cjs +1 -1
- package/dist/InputFields/styling.cjs.map +1 -1
- package/dist/InputFields/styling.js +1 -1
- package/dist/InputFields/styling.js.map +1 -1
- package/dist/MenuItem/MenuItem.cjs +3 -5
- package/dist/MenuItem/MenuItem.cjs.map +1 -1
- package/dist/MenuItem/MenuItem.js +3 -5
- package/dist/MenuItem/MenuItem.js.map +1 -1
- package/dist/Modals/ModalContainer.cjs.map +1 -1
- package/dist/Modals/ModalContainer.js.map +1 -1
- package/dist/Popover/Popover.cjs +13 -24
- package/dist/Popover/Popover.cjs.map +1 -1
- package/dist/Popover/Popover.js +13 -23
- package/dist/Popover/Popover.js.map +1 -1
- package/dist/SideMenu/SideMenu.cjs +49 -0
- package/dist/SideMenu/SideMenu.cjs.map +1 -0
- package/dist/SideMenu/SideMenu.d.ts +4 -0
- package/dist/SideMenu/SideMenu.js +31 -0
- package/dist/SideMenu/SideMenu.js.map +1 -0
- package/dist/SideMenu/SideMenuBody.cjs +64 -0
- package/dist/SideMenu/SideMenuBody.cjs.map +1 -0
- package/dist/SideMenu/SideMenuBody.d.ts +2 -0
- package/dist/SideMenu/SideMenuBody.js +43 -0
- package/dist/SideMenu/SideMenuBody.js.map +1 -0
- package/dist/SideMenu/SideMenuFooter.cjs +74 -0
- package/dist/SideMenu/SideMenuFooter.cjs.map +1 -0
- package/dist/SideMenu/SideMenuFooter.d.ts +2 -0
- package/dist/SideMenu/SideMenuFooter.js +51 -0
- package/dist/SideMenu/SideMenuFooter.js.map +1 -0
- package/dist/SideMenu/SideMenuHeader.cjs +68 -0
- package/dist/SideMenu/SideMenuHeader.cjs.map +1 -0
- package/dist/SideMenu/SideMenuHeader.d.ts +2 -0
- package/dist/SideMenu/SideMenuHeader.js +48 -0
- package/dist/SideMenu/SideMenuHeader.js.map +1 -0
- package/dist/SideMenu/index.cjs +33 -0
- package/dist/SideMenu/index.cjs.map +1 -0
- package/dist/SideMenu/index.d.ts +2 -0
- package/dist/SideMenu/index.js +3 -0
- package/dist/SideMenu/index.js.map +1 -0
- package/dist/SideMenu/types.cjs +6 -0
- package/dist/SideMenu/types.cjs.map +1 -0
- package/dist/SideMenu/types.d.ts +27 -0
- package/dist/SideMenu/types.js +2 -0
- package/dist/SideMenu/types.js.map +1 -0
- package/dist/Switcher/MobileSwitcherMenu.cjs +1 -1
- package/dist/Switcher/MobileSwitcherMenu.cjs.map +1 -1
- package/dist/Switcher/MobileSwitcherMenu.js +1 -1
- package/dist/Switcher/MobileSwitcherMenu.js.map +1 -1
- package/dist/Switcher/SwitcherMenuItem.cjs +16 -16
- package/dist/Switcher/SwitcherMenuItem.cjs.map +1 -1
- package/dist/Switcher/SwitcherMenuItem.d.ts +9 -2
- package/dist/Switcher/SwitcherMenuItem.js +16 -10
- package/dist/Switcher/SwitcherMenuItem.js.map +1 -1
- package/dist/Table/Table.cjs +3 -3
- package/dist/Table/Table.cjs.map +1 -1
- package/dist/Table/Table.js +3 -3
- package/dist/Table/Table.js.map +1 -1
- package/dist/Table/TableBody.cjs +4 -2
- package/dist/Table/TableBody.cjs.map +1 -1
- package/dist/Table/TableBody.js +5 -3
- package/dist/Table/TableBody.js.map +1 -1
- package/dist/Table/TableFooter.cjs +5 -3
- package/dist/Table/TableFooter.cjs.map +1 -1
- package/dist/Table/TableFooter.js +5 -3
- package/dist/Table/TableFooter.js.map +1 -1
- package/dist/Table/TableStyles.cjs +17 -13
- package/dist/Table/TableStyles.cjs.map +1 -1
- package/dist/Table/TableStyles.d.ts +1 -0
- package/dist/Table/TableStyles.js +13 -12
- package/dist/Table/TableStyles.js.map +1 -1
- package/dist/Table/TableTypes.d.ts +4 -0
- package/dist/Tabs/HorizontalTabs.cjs +3 -1
- package/dist/Tabs/HorizontalTabs.cjs.map +1 -1
- package/dist/Tabs/HorizontalTabs.js +3 -1
- package/dist/Tabs/HorizontalTabs.js.map +1 -1
- package/dist/Tabs/__tests__/Tablist.tests.d.ts +2 -0
- package/dist/Tooltips/TooltipTypes.cjs.map +1 -1
- package/dist/Tooltips/TooltipTypes.d.ts +1 -1
- package/dist/Tooltips/TooltipTypes.js.map +1 -1
- package/dist/Tooltips/TooltipWrapper.cjs +19 -4
- package/dist/Tooltips/TooltipWrapper.cjs.map +1 -1
- package/dist/Tooltips/TooltipWrapper.d.ts +1 -1
- package/dist/Tooltips/TooltipWrapper.js +16 -4
- package/dist/Tooltips/TooltipWrapper.js.map +1 -1
- package/dist/index.cjs +14 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/types.cjs.map +1 -1
- package/dist/types.d.ts +0 -8
- package/dist/types.js.map +1 -1
- package/package.json +5 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Popover/Popover.tsx"],"names":["React","styled","COLORS","ComponentTextStyle","ComponentXSStyling","Button","IconButton","SystemIcons","BOXSHADOWS","ComponentLStyling","ComponentMStyling","ComponentSStyling","ComponentXXSStyling","scrollBarStyling","Z_INDEXES","Position","Size","Container","div","props","size","Small","Large","white","BOXSHADOW_CENTERED","popover","position","Bottom","Top","Left","Right","showArrowPointer","renderArrowStyles","TopContainer","MainContentWrapper","MiddleContainer","BottomContainer","TextContainer","renderMargins","note","NoteContainer","Regular","neutral_600","LabelContainer","Bold","CloseButtonContainer","TextButtonContainer","IconButtonContainer","Wrapper","showOnClick","showPopover","isNotePresent","Popover","Medium","topSectionProps","bottomSectionProps","mainContent","children","useState","setShowPopover","popoverRef","useRef","useEffect","checkIfClickedOutside","e","current","contains","target","document","addEventListener","removeEventListener","text","textButton","icon","action","label","iconButtons","map","iconButton"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport { COLORS, ComponentTextStyle, ComponentXSStyling } from '..';\nimport { Button, IconButton } from '../Button';\nimport { SystemIcons } from '../icons';\nimport { BOXSHADOWS, ComponentLStyling, ComponentMStyling, ComponentSStyling, ComponentXXSStyling, scrollBarStyling, Z_INDEXES } from '../styles';\nimport { Position, Size } from '../types';\n\nconst Container = styled.div<{ size: Size; position: Position; showArrowPointer: boolean }>`\n //height: ${(props) => (props.size === Size.Small ? '240px' : props.size === Size.Large ? '480px' : '360px')};\n min-width: ${(props) => (props.size === Size.Small ? '320px' : props.size === Size.Large ? '640px' : '480px')};\n border-radius: 4px;\n background: ${COLORS.white};\n cursor: default;\n box-shadow: ${BOXSHADOWS.BOXSHADOW_CENTERED};\n\n position: absolute; \n visibility: hidden;\n opacity: 0;\n z-index: ${Z_INDEXES.popover};\n\n ${(props) => (props.position == Position.Bottom ? 'right: 50%; top: calc(100% + 16px); transform: translateX(50%);' : '')}\n ${(props) => (props.position == Position.Top ? 'right: 50%; bottom: calc(100% + 16px); transform: translateX(50%);' : '')}\n\n ${(props) => (props.position == Position.Left ? 'bottom: 50%; right: calc(100% + 16px); transform: translateY(50%);' : '')}\n ${(props) => (props.position == Position.Right ? 'bottom: 50%; left: calc(100% + 16px); transform: translateY(50%);' : '')}\n\n &::after {\n ${(props) => (props.showArrowPointer ? renderArrowStyles(props.position) : '')}\n`;\n\nconst TopContainer = styled.div<{ size: Size }>`\n height: ${(props) => (props.size === Size.Small ? '56px' : props.size === Size.Large ? '72px' : '64px')};\n max-width: ${(props) => (props.size === Size.Small ? '344px' : props.size === Size.Large ? '624px' : '464px')};\n display: flex;\n`;\n\nconst MainContentWrapper = styled.div<{ size: Size }>`\n margin: 8px;\n`;\n\nconst MiddleContainer = styled.div<{ size: Size }>`\n height: ${(props) => (props.size === Size.Small ? '104px' : props.size === Size.Large ? '304px' : '208px')};\n max-width: ${(props) => (props.size === Size.Small ? '312px' : props.size === Size.Large ? '576px' : '424px')};\n padding: ${(props) => (props.size === Size.Small ? '0 8px' : props.size === Size.Large ? '0 16px' : '0 12px')};\n overflow-y: auto;\n ${scrollBarStyling(Size.Small)}\n`;\n\nconst BottomContainer = styled.div<{ size: Size }>`\n height: ${(props) => (props.size === Size.Small ? '64px' : props.size === Size.Large ? '88px' : '72px')};\n max-width: ${(props) => (props.size === Size.Small ? '344px' : props.size === Size.Large ? '624px' : '464px')};\n display: flex;\n\n .bottom-flex {\n flex: 1;\n }\n`;\n\nconst TextContainer = styled.div<{ note: boolean; size: Size }>`\n display: flex;\n flex-direction: column;\n margin: ${(props) => renderMargins(props.note, props.size)};\n flex-grow: 1;\n`;\n\nconst NoteContainer = styled.div<{ size: Size }>`\n ${(props) =>\n props.size === Size.Small\n ? ComponentXXSStyling(ComponentTextStyle.Regular, COLORS.neutral_600)\n : props.size === Size.Large\n ? ComponentSStyling(ComponentTextStyle.Regular, COLORS.neutral_600)\n : ComponentXSStyling(ComponentTextStyle.Regular, COLORS.neutral_600)}\n`;\n\nconst LabelContainer = styled.div<{ size: Size }>`\n ${(props) =>\n props.size === Size.Small\n ? ComponentSStyling(ComponentTextStyle.Bold, null)\n : props.size === Size.Large\n ? ComponentLStyling(ComponentTextStyle.Bold, null)\n : ComponentMStyling(ComponentTextStyle.Bold, null)}\n`;\n\nconst CloseButtonContainer = styled.div<{ size: Size }>`\n margin: ${(props) => (props.size === Size.Small ? '4px 16px 4px 0' : props.size === Size.Large ? '12px 24px 12px 0' : '8px 20px 8px 0')};\n`;\n\nconst TextButtonContainer = styled.div<{ size: Size }>`\n margin: ${(props) => (props.size === Size.Small ? '8px 0 8px 16px' : props.size === Size.Large ? '16px 0 16px 24px' : '12px 0 12px 20px')};\n`;\n\nconst IconButtonContainer = styled.div<{ size: Size }>`\n margin: ${(props) => (props.size === Size.Small ? '8px 16px 8px 0' : props.size === Size.Large ? '16px 24px 16px 0' : '12px 20px 12px 0')};\n display: flex;\n`;\n\nconst Wrapper = styled.div<{ position: Position; showOnClick: boolean; showPopover: boolean }>`\n position: relative;\n\n .pointer-space {\n height: ${(props) => (props.position === Position.Top || props.position === Position.Bottom ? '16px' : '100%')};\n width: ${(props) => (props.position === Position.Left || props.position === Position.Right ? '16px' : '100%')};\n position: absolute;\n\n ${(props) => (props.position === Position.Left ? 'right:100%; bottom: 0%' : '')};\n ${(props) => (props.position === Position.Right ? 'left:100%; bottom: 0%' : '')};\n\n ${(props) => (props.position === Position.Top ? 'bottom: 100%' : '')};\n ${(props) => (props.position === Position.Bottom ? 'top: 100%' : '')};\n }\n\n ${(props) =>\n props.showOnClick\n ? `${Container} {\n visibility: ${props.showPopover ? 'visible' : 'hidden'};\n opacity: ${props.showPopover ? '1' : '0'};\n }\n cursor: pointer;`\n : `&:hover {\n ${Container} {\n visibility: visible;\n opacity: 1;\n }\n }`}\n`;\n\nconst renderMargins = (isNotePresent: boolean, size: Size): string => {\n if (isNotePresent) {\n return size === Size.Small ? '10px 16px' : size === Size.Large ? '14px 24px' : '12px 20px';\n } else {\n return size === Size.Small ? '18px 16px' : size === Size.Large ? '24px' : '20px';\n }\n};\n\nconst renderArrowStyles = (position: Position) => {\n if (position === Position.Bottom) {\n return `height: 0px;\n width: 0px;\n border-top: 16px solid transparent;\n border-right: 12px solid transparent;\n border-bottom: 16px solid rgb(255,255,255);\n border-left: 12px solid transparent;\n content: \"\";\n position: absolute;\n right: calc(50% - 12px);\n bottom: calc(100% - 1px);`;\n }\n\n if (position === Position.Top) {\n return `height: 0px;\n width: 0px;\n border-top: 16px solid rgb(255,255,255);\n border-right: 12px solid transparent;\n border-bottom: 16px solid transparent;\n border-left: 12px solid transparent;\n content: \"\";\n position: absolute;\n right: calc(50% - 12px);\n top: calc(100% - 1px);`;\n }\n\n if (position === Position.Left) {\n return `height: 0px;\n width: 0px;\n border-top: 12px solid transparent;\n border-right: 16px solid transparent;\n border-bottom: 12px solid transparent;\n border-left: 16px solid rgb(255,255,255);\n content: \"\";\n position: absolute;\n left: calc(100% - 1px);\n bottom: calc(50% - 12px);`;\n }\n\n if (position === Position.Right) {\n return `height: 0px;\n width: 0px;\n border-top: 12px solid transparent;\n border-right: 16px solid rgb(255,255,255);\n border-bottom: 12px solid transparent;\n border-left: 16px solid transparent;\n content: \"\";\n position: absolute;\n right: calc(100% - 1px);\n bottom: calc(50% - 12px);`;\n }\n};\n\ntype topSectionProps = {\n text: string;\n note?: string;\n};\n\ntype actionButtonProps = {\n icon: React.ReactNode;\n action: () => void;\n label?: string;\n};\n\ntype bottomSectionProps = {\n iconButtons?: actionButtonProps[];\n textButton?: actionButtonProps;\n};\n\ntype PopoverProps = {\n size?: Size.Small | Size.Medium | Size.Large;\n topSectionProps?: topSectionProps;\n bottomSectionProps?: bottomSectionProps;\n mainContent: React.ReactNode;\n children: React.ReactNode;\n position: Position.Top | Position.Bottom | Position.Right | Position.Left;\n showOnClick: boolean;\n showArrowPointer?: boolean;\n};\n\nconst Popover: React.FunctionComponent<PopoverProps> = ({\n size = Size.Medium,\n topSectionProps,\n bottomSectionProps,\n mainContent,\n children,\n position,\n showOnClick = false,\n showArrowPointer = false,\n}) => {\n const [showPopover, setShowPopover] = React.useState(false);\n const popoverRef = React.useRef<any>();\n\n React.useEffect(() => {\n const checkIfClickedOutside = (e: { target: any }) => {\n if (showPopover && popoverRef.current && !popoverRef.current.contains(e.target)) {\n setShowPopover(false);\n }\n };\n\n document.addEventListener('mousedown', checkIfClickedOutside);\n\n return () => {\n document.removeEventListener('mousedown', checkIfClickedOutside);\n };\n }, [showPopover]);\n\n return (\n <Wrapper position={position} showOnClick={showOnClick} showPopover={showPopover}>\n <Container size={size} position={position} ref={popoverRef} showArrowPointer={showArrowPointer}>\n {!!topSectionProps && (\n <TopContainer size={size}>\n <TextContainer note={!!topSectionProps?.note} size={size}>\n {topSectionProps?.note && <NoteContainer size={size}>{topSectionProps.note}</NoteContainer>}\n <LabelContainer size={size}>{topSectionProps?.text}</LabelContainer>\n </TextContainer>\n\n {showOnClick && (\n <CloseButtonContainer size={size} data-testid={'closeBtn'}>\n <IconButton action={() => setShowPopover(false)} useTransparentBackground iconColor={COLORS.neutral_600} variant=\"secondary\" shape=\"circular\">\n <SystemIcons.Close />\n </IconButton>\n </CloseButtonContainer>\n )}\n </TopContainer>\n )}\n\n <MainContentWrapper size={size}>\n <MiddleContainer size={size}>{mainContent}</MiddleContainer>\n </MainContentWrapper>\n\n {!!bottomSectionProps && (\n <BottomContainer size={size}>\n {!!bottomSectionProps?.textButton?.icon && (\n <TextButtonContainer size={size} data-testid={'textBtn'}>\n <Button size={size} variant=\"secondary\" icon={bottomSectionProps.textButton.icon} onClick={bottomSectionProps.textButton.action}>\n {bottomSectionProps.textButton.label}\n </Button>\n </TextButtonContainer>\n )}\n\n <div className=\"bottom-flex\" />\n\n <IconButtonContainer size={size} data-testid={'iconBtn'}>\n {bottomSectionProps?.iconButtons?.map((iconButton) => (\n <IconButton action={iconButton.action} variant=\"secondary\" shape=\"circular\" useTransparentBackground>\n {iconButton.icon}\n </IconButton>\n ))}\n </IconButtonContainer>\n </BottomContainer>\n )}\n </Container>\n\n <div onClick={() => showOnClick && setShowPopover(!showPopover)}>\n {children}\n\n <div className=\"pointer-space\" />\n </div>\n </Wrapper>\n );\n};\n\nexport default Popover;\n"],"file":"Popover.js"}
|
|
1
|
+
{"version":3,"sources":["../../src/Popover/Popover.tsx"],"names":["React","styled","COLORS","ComponentTextStyle","ComponentXSStyling","Button","IconButton","SystemIcons","BOXSHADOWS","ComponentLStyling","ComponentMStyling","ComponentSStyling","ComponentXXSStyling","scrollBarStyling","Z_INDEXES","Position","Size","Container","div","props","size","Small","Large","white","BOXSHADOW_CENTERED","popover","position","Bottom","Top","Left","Right","showArrowPointer","renderArrowStyles","TopContainer","MiddleContainer","BottomContainer","TextContainer","renderMargins","note","NoteContainer","Regular","neutral_600","LabelContainer","Bold","CloseButtonContainer","TextButtonContainer","IconButtonContainer","Wrapper","showOnClick","showPopover","isNotePresent","Popover","Medium","topSectionProps","bottomSectionProps","mainContent","children","useState","setShowPopover","popoverRef","useRef","useEffect","checkIfClickedOutside","e","current","contains","target","document","addEventListener","removeEventListener","text","textButton","icon","action","label","iconButtons","map","iconButton"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport { COLORS, ComponentTextStyle, ComponentXSStyling } from '..';\nimport { Button, IconButton } from '../Button';\nimport { SystemIcons } from '../icons';\nimport { BOXSHADOWS, ComponentLStyling, ComponentMStyling, ComponentSStyling, ComponentXXSStyling, scrollBarStyling, Z_INDEXES } from '../styles';\nimport { Position, Size } from '../types';\n\nconst Container = styled.div<{ size: Size; position: Position; showArrowPointer: boolean }>`\n //height: ${(props) => (props.size === Size.Small ? '240px' : props.size === Size.Large ? '480px' : '360px')};\n min-width: ${(props) => (props.size === Size.Small ? '320px' : props.size === Size.Large ? '640px' : '480px')};\n border-radius: 4px;\n background: ${COLORS.white};\n cursor: default;\n box-shadow: ${BOXSHADOWS.BOXSHADOW_CENTERED};\n\n position: absolute; \n visibility: hidden;\n opacity: 0;\n z-index: ${Z_INDEXES.popover};\n\n ${(props) => (props.position == Position.Bottom ? 'right: 50%; top: calc(100% + 16px); transform: translateX(50%);' : '')}\n ${(props) => (props.position == Position.Top ? 'right: 50%; bottom: calc(100% + 16px); transform: translateX(50%);' : '')}\n\n ${(props) => (props.position == Position.Left ? 'bottom: 50%; right: calc(100% + 16px); transform: translateY(50%);' : '')}\n ${(props) => (props.position == Position.Right ? 'bottom: 50%; left: calc(100% + 16px); transform: translateY(50%);' : '')}\n\n &::after {\n ${(props) => (props.showArrowPointer ? renderArrowStyles(props.position) : '')}\n`;\n\nconst TopContainer = styled.div<{ size: Size }>`\n height: ${(props) => (props.size === Size.Small ? '56px' : props.size === Size.Large ? '72px' : '64px')};\n display: flex;\n`;\n\nconst MiddleContainer = styled.div<{ size: Size }>`\n margin: 8px;\n height: ${(props) => (props.size === Size.Small ? '104px' : props.size === Size.Large ? '304px' : '208px')};\n padding: ${(props) => (props.size === Size.Small ? '0 8px' : props.size === Size.Large ? '0 16px' : '0 12px')};\n overflow-y: auto;\n ${scrollBarStyling(Size.Small)}\n`;\n\nconst BottomContainer = styled.div<{ size: Size }>`\n height: ${(props) => (props.size === Size.Small ? '64px' : props.size === Size.Large ? '88px' : '72px')}; \n display: flex;\n\n .bottom-flex {\n flex: 1;\n }\n`;\n\nconst TextContainer = styled.div<{ note: boolean; size: Size }>`\n display: flex;\n flex-direction: column;\n margin: ${(props) => renderMargins(props.note, props.size)};\n flex-grow: 1;\n`;\n\nconst NoteContainer = styled.div<{ size: Size }>`\n ${(props) =>\n props.size === Size.Small\n ? ComponentXXSStyling(ComponentTextStyle.Regular, COLORS.neutral_600)\n : props.size === Size.Large\n ? ComponentSStyling(ComponentTextStyle.Regular, COLORS.neutral_600)\n : ComponentXSStyling(ComponentTextStyle.Regular, COLORS.neutral_600)}\n`;\n\nconst LabelContainer = styled.div<{ size: Size }>`\n ${(props) =>\n props.size === Size.Small\n ? ComponentSStyling(ComponentTextStyle.Bold, null)\n : props.size === Size.Large\n ? ComponentLStyling(ComponentTextStyle.Bold, null)\n : ComponentMStyling(ComponentTextStyle.Bold, null)}\n`;\n\nconst CloseButtonContainer = styled.div<{ size: Size }>`\n margin: ${(props) => (props.size === Size.Small ? '4px 16px 4px 0' : props.size === Size.Large ? '12px 24px 12px 0' : '8px 20px 8px 0')};\n`;\n\nconst TextButtonContainer = styled.div<{ size: Size }>`\n margin: ${(props) => (props.size === Size.Small ? '8px 0 8px 16px' : props.size === Size.Large ? '16px 0 16px 24px' : '12px 0 12px 20px')};\n`;\n\nconst IconButtonContainer = styled.div<{ size: Size }>`\n margin: ${(props) => (props.size === Size.Small ? '8px 16px 8px 0' : props.size === Size.Large ? '16px 24px 16px 0' : '12px 20px 12px 0')};\n display: flex;\n`;\n\nconst Wrapper = styled.div<{ position: Position; showOnClick: boolean; showPopover: boolean }>`\n position: relative;\n\n .pointer-space {\n height: ${(props) => (props.position === Position.Top || props.position === Position.Bottom ? '16px' : '100%')};\n width: ${(props) => (props.position === Position.Left || props.position === Position.Right ? '16px' : '100%')};\n position: absolute;\n\n ${(props) => (props.position === Position.Left ? 'right:100%; bottom: 0%' : '')};\n ${(props) => (props.position === Position.Right ? 'left:100%; bottom: 0%' : '')};\n\n ${(props) => (props.position === Position.Top ? 'bottom: 100%' : '')};\n ${(props) => (props.position === Position.Bottom ? 'top: 100%' : '')};\n }\n\n ${(props) =>\n props.showOnClick\n ? `${Container} {\n visibility: ${props.showPopover ? 'visible' : 'hidden'};\n opacity: ${props.showPopover ? '1' : '0'};\n }\n cursor: pointer;`\n : `&:hover {\n ${Container} {\n visibility: visible;\n opacity: 1;\n }\n }`}\n`;\n\nconst renderMargins = (isNotePresent: boolean, size: Size): string => {\n if (isNotePresent) {\n return size === Size.Small ? '10px 16px' : size === Size.Large ? '14px 24px' : '12px 20px';\n } else {\n return size === Size.Small ? '18px 16px' : size === Size.Large ? '24px' : '20px';\n }\n};\n\nconst renderArrowStyles = (position: Position) => {\n if (position === Position.Bottom) {\n return `height: 0px;\n width: 0px;\n border-top: 16px solid transparent;\n border-right: 12px solid transparent;\n border-bottom: 16px solid rgb(255,255,255);\n border-left: 12px solid transparent;\n content: \"\";\n position: absolute;\n right: calc(50% - 12px);\n bottom: calc(100% - 1px);`;\n }\n\n if (position === Position.Top) {\n return `height: 0px;\n width: 0px;\n border-top: 16px solid rgb(255,255,255);\n border-right: 12px solid transparent;\n border-bottom: 16px solid transparent;\n border-left: 12px solid transparent;\n content: \"\";\n position: absolute;\n right: calc(50% - 12px);\n top: calc(100% - 1px);`;\n }\n\n if (position === Position.Left) {\n return `height: 0px;\n width: 0px;\n border-top: 12px solid transparent;\n border-right: 16px solid transparent;\n border-bottom: 12px solid transparent;\n border-left: 16px solid rgb(255,255,255);\n content: \"\";\n position: absolute;\n left: calc(100% - 1px);\n bottom: calc(50% - 12px);`;\n }\n\n if (position === Position.Right) {\n return `height: 0px;\n width: 0px;\n border-top: 12px solid transparent;\n border-right: 16px solid rgb(255,255,255);\n border-bottom: 12px solid transparent;\n border-left: 16px solid transparent;\n content: \"\";\n position: absolute;\n right: calc(100% - 1px);\n bottom: calc(50% - 12px);`;\n }\n};\n\ntype topSectionProps = {\n text: string;\n note?: string;\n};\n\ntype actionButtonProps = {\n icon: React.ReactNode;\n action: () => void;\n label?: string;\n};\n\ntype bottomSectionProps = {\n iconButtons?: actionButtonProps[];\n textButton?: actionButtonProps;\n};\n\ntype PopoverProps = {\n size?: Size.Small | Size.Medium | Size.Large;\n topSectionProps?: topSectionProps;\n bottomSectionProps?: bottomSectionProps;\n mainContent: React.ReactNode;\n children: React.ReactNode;\n position: Position.Top | Position.Bottom | Position.Right | Position.Left;\n showOnClick: boolean;\n showArrowPointer?: boolean;\n};\n\nconst Popover: React.FunctionComponent<PopoverProps> = ({\n size = Size.Medium,\n topSectionProps,\n bottomSectionProps,\n mainContent,\n children,\n position,\n showOnClick = false,\n showArrowPointer = false,\n}) => {\n const [showPopover, setShowPopover] = React.useState(false);\n const popoverRef = React.useRef<any>();\n\n React.useEffect(() => {\n const checkIfClickedOutside = (e: { target: any }) => {\n if (showPopover && popoverRef.current && !popoverRef.current.contains(e.target)) {\n setShowPopover(false);\n }\n };\n\n document.addEventListener('mousedown', checkIfClickedOutside);\n\n return () => {\n document.removeEventListener('mousedown', checkIfClickedOutside);\n };\n }, [showPopover]);\n\n return (\n <Wrapper position={position} showOnClick={showOnClick} showPopover={showPopover}>\n <Container size={size} position={position} ref={popoverRef} showArrowPointer={showArrowPointer}>\n {!!topSectionProps && (\n <TopContainer size={size}>\n <TextContainer note={!!topSectionProps?.note} size={size}>\n {topSectionProps?.note && <NoteContainer size={size}>{topSectionProps.note}</NoteContainer>}\n <LabelContainer size={size}>{topSectionProps?.text}</LabelContainer>\n </TextContainer>\n\n {showOnClick && (\n <CloseButtonContainer size={size} data-testid={'closeBtn'}>\n <IconButton action={() => setShowPopover(false)} useTransparentBackground iconColor={COLORS.neutral_600} variant=\"secondary\" shape=\"circular\">\n <SystemIcons.Close />\n </IconButton>\n </CloseButtonContainer>\n )}\n </TopContainer>\n )}\n\n <MiddleContainer size={size}>{mainContent}</MiddleContainer>\n\n {!!bottomSectionProps && (\n <BottomContainer size={size}>\n {!!bottomSectionProps?.textButton?.icon && (\n <TextButtonContainer size={size} data-testid={'textBtn'}>\n <Button size={size} variant=\"secondary\" icon={bottomSectionProps.textButton.icon} onClick={bottomSectionProps.textButton.action}>\n {bottomSectionProps.textButton.label}\n </Button>\n </TextButtonContainer>\n )}\n\n <div className=\"bottom-flex\" />\n\n <IconButtonContainer size={size} data-testid={'iconBtn'}>\n {bottomSectionProps?.iconButtons?.map((iconButton) => (\n <IconButton action={iconButton.action} variant=\"secondary\" shape=\"circular\" useTransparentBackground>\n {iconButton.icon}\n </IconButton>\n ))}\n </IconButtonContainer>\n </BottomContainer>\n )}\n </Container>\n\n <div onClick={() => showOnClick && setShowPopover(!showPopover)}>\n {children}\n\n <div className=\"pointer-space\" />\n </div>\n </Wrapper>\n );\n};\n\nexport default Popover;\n"],"file":"Popover.js"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
|
|
12
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
13
|
+
|
|
14
|
+
var _react = _interopRequireDefault(require("react"));
|
|
15
|
+
|
|
16
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
17
|
+
|
|
18
|
+
var _SideMenuHeader = require("./SideMenuHeader");
|
|
19
|
+
|
|
20
|
+
var _SideMenuFooter = require("./SideMenuFooter");
|
|
21
|
+
|
|
22
|
+
var _SideMenuBody = require("./SideMenuBody");
|
|
23
|
+
|
|
24
|
+
var _styles = require("../styles");
|
|
25
|
+
|
|
26
|
+
var _types = require("../types");
|
|
27
|
+
|
|
28
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
29
|
+
|
|
30
|
+
var _templateObject;
|
|
31
|
+
|
|
32
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
33
|
+
|
|
34
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
35
|
+
|
|
36
|
+
var Wrapper = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n z-index: ", ";\n height: 100%;\n box-sizing: border-box;\n background: ", ";\n\n display: flex;\n flex-direction: column;\n\n width: fit-content;\n box-shadow: ", ";\n\n &.small {\n min-width: 320px;\n }\n\n &.medium {\n min-width: 400px;\n }\n\n &.large {\n min-width: 480px;\n }\n"])), _styles.Z_INDEXES.off_canvas, _styles.COLORS.white, _styles.BOXSHADOWS.BOXSHADOW_CENTERED);
|
|
37
|
+
|
|
38
|
+
var SideMenu = function SideMenu(props) {
|
|
39
|
+
var _props$size = props.size,
|
|
40
|
+
size = _props$size === void 0 ? _types.Size.Medium : _props$size;
|
|
41
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Wrapper, {
|
|
42
|
+
className: size,
|
|
43
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_SideMenuHeader.SideMenuHeader, _objectSpread({}, props)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_SideMenuBody.SideMenuBody, _objectSpread({}, props)), props.footer && /*#__PURE__*/(0, _jsxRuntime.jsx)(_SideMenuFooter.SideMenuFooter, _objectSpread({}, props))]
|
|
44
|
+
});
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
var _default = SideMenu;
|
|
48
|
+
exports.default = _default;
|
|
49
|
+
//# sourceMappingURL=SideMenu.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/SideMenu/SideMenu.tsx"],"names":["Wrapper","styled","div","Z_INDEXES","off_canvas","COLORS","white","BOXSHADOWS","BOXSHADOW_CENTERED","SideMenu","props","size","Size","Medium","footer"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,IAAMA,OAAO,GAAGC,0BAAOC,GAAV,wYACAC,kBAAUC,UADV,EAIGC,eAAOC,KAJV,EAUGC,mBAAWC,kBAVd,CAAb;;AA0BA,IAAMC,QAAgD,GAAG,SAAnDA,QAAmD,CAACC,KAAD,EAAW;AAClE,oBAA6BA,KAA7B,CAAOC,IAAP;AAAA,MAAOA,IAAP,4BAAcC,YAAKC,MAAnB;AAEA,sBACE,sBAAC,OAAD;AAAS,IAAA,SAAS,EAAEF,IAApB;AAAA,4BACE,qBAAC,8BAAD,oBAAoBD,KAApB,EADF,eAEE,qBAAC,0BAAD,oBAAkBA,KAAlB,EAFF,EAGGA,KAAK,CAACI,MAAN,iBAAgB,qBAAC,8BAAD,oBAAoBJ,KAApB,EAHnB;AAAA,IADF;AAOD,CAVD;;eAYeD,Q","sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\nimport {SideMenuProps} from './types';\nimport {SideMenuHeader} from './SideMenuHeader';\nimport {SideMenuFooter} from './SideMenuFooter';\nimport {SideMenuBody} from './SideMenuBody';\nimport {BOXSHADOWS, COLORS, Z_INDEXES} from '../styles';\nimport {Size} from '../types';\n\nconst Wrapper = styled.div`\n z-index: ${Z_INDEXES.off_canvas};\n height: 100%;\n box-sizing: border-box;\n background: ${COLORS.white};\n\n display: flex;\n flex-direction: column;\n\n width: fit-content;\n box-shadow: ${BOXSHADOWS.BOXSHADOW_CENTERED};\n\n &.small {\n min-width: 320px;\n }\n\n &.medium {\n min-width: 400px;\n }\n\n &.large {\n min-width: 480px;\n }\n`;\n\n\nconst SideMenu: React.FunctionComponent<SideMenuProps> = (props) => {\n const {size = Size.Medium} = props;\n\n return (\n <Wrapper className={size}>\n <SideMenuHeader {...props} />\n <SideMenuBody {...props}/>\n {props.footer && <SideMenuFooter {...props}/>}\n </Wrapper>\n );\n}\n\nexport default SideMenu;\n"],"file":"SideMenu.cjs"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
|
+
import _taggedTemplateLiteral from "@babel/runtime/helpers/esm/taggedTemplateLiteral";
|
|
3
|
+
|
|
4
|
+
var _templateObject;
|
|
5
|
+
|
|
6
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
7
|
+
|
|
8
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
9
|
+
|
|
10
|
+
import React from 'react';
|
|
11
|
+
import styled from 'styled-components';
|
|
12
|
+
import { SideMenuHeader } from './SideMenuHeader';
|
|
13
|
+
import { SideMenuFooter } from './SideMenuFooter';
|
|
14
|
+
import { SideMenuBody } from './SideMenuBody';
|
|
15
|
+
import { BOXSHADOWS, COLORS, Z_INDEXES } from '../styles';
|
|
16
|
+
import { Size } from '../types';
|
|
17
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
18
|
+
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
19
|
+
var Wrapper = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n z-index: ", ";\n height: 100%;\n box-sizing: border-box;\n background: ", ";\n\n display: flex;\n flex-direction: column;\n\n width: fit-content;\n box-shadow: ", ";\n\n &.small {\n min-width: 320px;\n }\n\n &.medium {\n min-width: 400px;\n }\n\n &.large {\n min-width: 480px;\n }\n"])), Z_INDEXES.off_canvas, COLORS.white, BOXSHADOWS.BOXSHADOW_CENTERED);
|
|
20
|
+
|
|
21
|
+
var SideMenu = function SideMenu(props) {
|
|
22
|
+
var _props$size = props.size,
|
|
23
|
+
size = _props$size === void 0 ? Size.Medium : _props$size;
|
|
24
|
+
return /*#__PURE__*/_jsxs(Wrapper, {
|
|
25
|
+
className: size,
|
|
26
|
+
children: [/*#__PURE__*/_jsx(SideMenuHeader, _objectSpread({}, props)), /*#__PURE__*/_jsx(SideMenuBody, _objectSpread({}, props)), props.footer && /*#__PURE__*/_jsx(SideMenuFooter, _objectSpread({}, props))]
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
export default SideMenu;
|
|
31
|
+
//# sourceMappingURL=SideMenu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/SideMenu/SideMenu.tsx"],"names":["React","styled","SideMenuHeader","SideMenuFooter","SideMenuBody","BOXSHADOWS","COLORS","Z_INDEXES","Size","Wrapper","div","off_canvas","white","BOXSHADOW_CENTERED","SideMenu","props","size","Medium","footer"],"mappings":";;;;;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,MAAP,MAAmB,mBAAnB;AAEA,SAAQC,cAAR,QAA6B,kBAA7B;AACA,SAAQC,cAAR,QAA6B,kBAA7B;AACA,SAAQC,YAAR,QAA2B,gBAA3B;AACA,SAAQC,UAAR,EAAoBC,MAApB,EAA4BC,SAA5B,QAA4C,WAA5C;AACA,SAAQC,IAAR,QAAmB,UAAnB;;;AAEA,IAAMC,OAAO,GAAGR,MAAM,CAACS,GAAV,0XACAH,SAAS,CAACI,UADV,EAIGL,MAAM,CAACM,KAJV,EAUGP,UAAU,CAACQ,kBAVd,CAAb;;AA0BA,IAAMC,QAAgD,GAAG,SAAnDA,QAAmD,CAACC,KAAD,EAAW;AAClE,oBAA6BA,KAA7B,CAAOC,IAAP;AAAA,MAAOA,IAAP,4BAAcR,IAAI,CAACS,MAAnB;AAEA,sBACE,MAAC,OAAD;AAAS,IAAA,SAAS,EAAED,IAApB;AAAA,4BACE,KAAC,cAAD,oBAAoBD,KAApB,EADF,eAEE,KAAC,YAAD,oBAAkBA,KAAlB,EAFF,EAGGA,KAAK,CAACG,MAAN,iBAAgB,KAAC,cAAD,oBAAoBH,KAApB,EAHnB;AAAA,IADF;AAOD,CAVD;;AAYA,eAAeD,QAAf","sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\nimport {SideMenuProps} from './types';\nimport {SideMenuHeader} from './SideMenuHeader';\nimport {SideMenuFooter} from './SideMenuFooter';\nimport {SideMenuBody} from './SideMenuBody';\nimport {BOXSHADOWS, COLORS, Z_INDEXES} from '../styles';\nimport {Size} from '../types';\n\nconst Wrapper = styled.div`\n z-index: ${Z_INDEXES.off_canvas};\n height: 100%;\n box-sizing: border-box;\n background: ${COLORS.white};\n\n display: flex;\n flex-direction: column;\n\n width: fit-content;\n box-shadow: ${BOXSHADOWS.BOXSHADOW_CENTERED};\n\n &.small {\n min-width: 320px;\n }\n\n &.medium {\n min-width: 400px;\n }\n\n &.large {\n min-width: 480px;\n }\n`;\n\n\nconst SideMenu: React.FunctionComponent<SideMenuProps> = (props) => {\n const {size = Size.Medium} = props;\n\n return (\n <Wrapper className={size}>\n <SideMenuHeader {...props} />\n <SideMenuBody {...props}/>\n {props.footer && <SideMenuFooter {...props}/>}\n </Wrapper>\n );\n}\n\nexport default SideMenu;\n"],"file":"SideMenu.js"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.SideMenuBody = void 0;
|
|
9
|
+
|
|
10
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
|
+
|
|
12
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
13
|
+
|
|
14
|
+
var _react = _interopRequireDefault(require("react"));
|
|
15
|
+
|
|
16
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
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, _templateObject2;
|
|
27
|
+
|
|
28
|
+
var Wrapper = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n padding: 8px 0;\n width: 100%;\n box-sizing: border-box;\n flex-flow: column;\n display: flex;\n flex: 1;\n overflow: hidden;\n"])));
|
|
29
|
+
|
|
30
|
+
var ScrollableContainer = _styledComponents.default.div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n flex: 1;\n display: flex;\n overflow-y: auto;\n max-height: 100%;\n\n &.scrollable {\n margin-right: 6px;\n padding-right: 6px;\n }\n\n ", "\n"])), (0, _styles.scrollBarStyling)(_types.Size.Small));
|
|
31
|
+
|
|
32
|
+
var SideMenuBody = function SideMenuBody(props) {
|
|
33
|
+
var _React$useState = _react.default.useState(false),
|
|
34
|
+
_React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
|
|
35
|
+
scrollable = _React$useState2[0],
|
|
36
|
+
setScrollable = _React$useState2[1];
|
|
37
|
+
|
|
38
|
+
var _useDimensionsRef = (0, _rooks.useDimensionsRef)({
|
|
39
|
+
updateOnResize: true
|
|
40
|
+
}),
|
|
41
|
+
_useDimensionsRef2 = (0, _slicedToArray2.default)(_useDimensionsRef, 3),
|
|
42
|
+
ref = _useDimensionsRef2[0],
|
|
43
|
+
dimensions = _useDimensionsRef2[1],
|
|
44
|
+
node = _useDimensionsRef2[2];
|
|
45
|
+
|
|
46
|
+
_react.default.useEffect(function () {
|
|
47
|
+
var _node$clientHeight, _node$scrollHeight;
|
|
48
|
+
|
|
49
|
+
var clientHeight = (_node$clientHeight = node === null || node === void 0 ? void 0 : node.clientHeight) !== null && _node$clientHeight !== void 0 ? _node$clientHeight : 0;
|
|
50
|
+
var scrollHeight = (_node$scrollHeight = node === null || node === void 0 ? void 0 : node.scrollHeight) !== null && _node$scrollHeight !== void 0 ? _node$scrollHeight : 0;
|
|
51
|
+
setScrollable(scrollHeight > clientHeight);
|
|
52
|
+
}, [dimensions, node, props.children]);
|
|
53
|
+
|
|
54
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(Wrapper, {
|
|
55
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(ScrollableContainer, {
|
|
56
|
+
ref: ref,
|
|
57
|
+
className: scrollable ? 'scrollable' : '',
|
|
58
|
+
children: props.children
|
|
59
|
+
})
|
|
60
|
+
});
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
exports.SideMenuBody = SideMenuBody;
|
|
64
|
+
//# sourceMappingURL=SideMenuBody.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/SideMenu/SideMenuBody.tsx"],"names":["Wrapper","styled","div","ScrollableContainer","Size","Small","SideMenuBody","props","React","useState","scrollable","setScrollable","updateOnResize","ref","dimensions","node","useEffect","clientHeight","scrollHeight","children"],"mappings":";;;;;;;;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;;;;;AAEA,IAAMA,OAAO,GAAGC,0BAAOC,GAAV,4NAAb;;AAUA,IAAMC,mBAAmB,GAAGF,0BAAOC,GAAV,oPAWrB,8BAAiBE,YAAKC,KAAtB,CAXqB,CAAzB;;AAeO,IAAMC,YAAY,GAAG,SAAfA,YAAe,CAACC,KAAD,EAA0B;AACpD,wBAAoCC,eAAMC,QAAN,CAAe,KAAf,CAApC;AAAA;AAAA,MAAOC,UAAP;AAAA,MAAmBC,aAAnB;;AACA,0BAAgC,6BAAiB;AAACC,IAAAA,cAAc,EAAE;AAAjB,GAAjB,CAAhC;AAAA;AAAA,MAAOC,GAAP;AAAA,MAAYC,UAAZ;AAAA,MAAwBC,IAAxB;;AAEAP,iBAAMQ,SAAN,CAAgB,YAAM;AAAA;;AACpB,QAAMC,YAAY,yBAAGF,IAAH,aAAGA,IAAH,uBAAGA,IAAI,CAAEE,YAAT,mEAAyB,CAA3C;AACA,QAAMC,YAAY,yBAAGH,IAAH,aAAGA,IAAH,uBAAGA,IAAI,CAAEG,YAAT,mEAAyB,CAA3C;AACAP,IAAAA,aAAa,CAACO,YAAY,GAAGD,YAAhB,CAAb;AACD,GAJD,EAIG,CAACH,UAAD,EAAaC,IAAb,EAAmBR,KAAK,CAACY,QAAzB,CAJH;;AAMA,sBACE,qBAAC,OAAD;AAAA,2BACE,qBAAC,mBAAD;AAAqB,MAAA,GAAG,EAAEN,GAA1B;AACqB,MAAA,SAAS,EAAEH,UAAU,GAAG,YAAH,GAAkB,EAD5D;AAAA,gBAEGH,KAAK,CAACY;AAFT;AADF,IADF;AAQD,CAlBM","sourcesContent":["import React from 'react';\nimport {SideMenuProps} from './types';\nimport styled from 'styled-components';\nimport {scrollBarStyling} from '../styles';\nimport {Size} from '../types';\nimport {useDimensionsRef} from 'rooks';\n\nconst Wrapper = styled.div`\n padding: 8px 0;\n width: 100%;\n box-sizing: border-box;\n flex-flow: column;\n display: flex;\n flex: 1;\n overflow: hidden;\n`;\n\nconst ScrollableContainer = styled.div`\n flex: 1;\n display: flex;\n overflow-y: auto;\n max-height: 100%;\n\n &.scrollable {\n margin-right: 6px;\n padding-right: 6px;\n }\n\n ${scrollBarStyling(Size.Small)}\n`;\n\n\nexport const SideMenuBody = (props: SideMenuProps) => {\n const [scrollable, setScrollable] = React.useState(false);\n const [ref, 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 }, [dimensions, node, props.children]);\n\n return (\n <Wrapper>\n <ScrollableContainer ref={ref as any}\n className={scrollable ? 'scrollable' : ''}>\n {props.children}\n </ScrollableContainer>\n </Wrapper>\n )\n};\n"],"file":"SideMenuBody.cjs"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
2
|
+
import _taggedTemplateLiteral from "@babel/runtime/helpers/esm/taggedTemplateLiteral";
|
|
3
|
+
|
|
4
|
+
var _templateObject, _templateObject2;
|
|
5
|
+
|
|
6
|
+
import React from 'react';
|
|
7
|
+
import styled from 'styled-components';
|
|
8
|
+
import { scrollBarStyling } from '../styles';
|
|
9
|
+
import { Size } from '../types';
|
|
10
|
+
import { useDimensionsRef } from 'rooks';
|
|
11
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
12
|
+
var Wrapper = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n padding: 8px 0;\n width: 100%;\n box-sizing: border-box;\n flex-flow: column;\n display: flex;\n flex: 1;\n overflow: hidden;\n"])));
|
|
13
|
+
var ScrollableContainer = styled.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n flex: 1;\n display: flex;\n overflow-y: auto;\n max-height: 100%;\n\n &.scrollable {\n margin-right: 6px;\n padding-right: 6px;\n }\n\n ", "\n"])), scrollBarStyling(Size.Small));
|
|
14
|
+
export var SideMenuBody = function SideMenuBody(props) {
|
|
15
|
+
var _React$useState = React.useState(false),
|
|
16
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
17
|
+
scrollable = _React$useState2[0],
|
|
18
|
+
setScrollable = _React$useState2[1];
|
|
19
|
+
|
|
20
|
+
var _useDimensionsRef = useDimensionsRef({
|
|
21
|
+
updateOnResize: true
|
|
22
|
+
}),
|
|
23
|
+
_useDimensionsRef2 = _slicedToArray(_useDimensionsRef, 3),
|
|
24
|
+
ref = _useDimensionsRef2[0],
|
|
25
|
+
dimensions = _useDimensionsRef2[1],
|
|
26
|
+
node = _useDimensionsRef2[2];
|
|
27
|
+
|
|
28
|
+
React.useEffect(function () {
|
|
29
|
+
var _node$clientHeight, _node$scrollHeight;
|
|
30
|
+
|
|
31
|
+
var clientHeight = (_node$clientHeight = node === null || node === void 0 ? void 0 : node.clientHeight) !== null && _node$clientHeight !== void 0 ? _node$clientHeight : 0;
|
|
32
|
+
var scrollHeight = (_node$scrollHeight = node === null || node === void 0 ? void 0 : node.scrollHeight) !== null && _node$scrollHeight !== void 0 ? _node$scrollHeight : 0;
|
|
33
|
+
setScrollable(scrollHeight > clientHeight);
|
|
34
|
+
}, [dimensions, node, props.children]);
|
|
35
|
+
return /*#__PURE__*/_jsx(Wrapper, {
|
|
36
|
+
children: /*#__PURE__*/_jsx(ScrollableContainer, {
|
|
37
|
+
ref: ref,
|
|
38
|
+
className: scrollable ? 'scrollable' : '',
|
|
39
|
+
children: props.children
|
|
40
|
+
})
|
|
41
|
+
});
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=SideMenuBody.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/SideMenu/SideMenuBody.tsx"],"names":["React","styled","scrollBarStyling","Size","useDimensionsRef","Wrapper","div","ScrollableContainer","Small","SideMenuBody","props","useState","scrollable","setScrollable","updateOnResize","ref","dimensions","node","useEffect","clientHeight","scrollHeight","children"],"mappings":";;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AAEA,OAAOC,MAAP,MAAmB,mBAAnB;AACA,SAAQC,gBAAR,QAA+B,WAA/B;AACA,SAAQC,IAAR,QAAmB,UAAnB;AACA,SAAQC,gBAAR,QAA+B,OAA/B;;AAEA,IAAMC,OAAO,GAAGJ,MAAM,CAACK,GAAV,8MAAb;AAUA,IAAMC,mBAAmB,GAAGN,MAAM,CAACK,GAAV,sOAWrBJ,gBAAgB,CAACC,IAAI,CAACK,KAAN,CAXK,CAAzB;AAeA,OAAO,IAAMC,YAAY,GAAG,SAAfA,YAAe,CAACC,KAAD,EAA0B;AACpD,wBAAoCV,KAAK,CAACW,QAAN,CAAe,KAAf,CAApC;AAAA;AAAA,MAAOC,UAAP;AAAA,MAAmBC,aAAnB;;AACA,0BAAgCT,gBAAgB,CAAC;AAACU,IAAAA,cAAc,EAAE;AAAjB,GAAD,CAAhD;AAAA;AAAA,MAAOC,GAAP;AAAA,MAAYC,UAAZ;AAAA,MAAwBC,IAAxB;;AAEAjB,EAAAA,KAAK,CAACkB,SAAN,CAAgB,YAAM;AAAA;;AACpB,QAAMC,YAAY,yBAAGF,IAAH,aAAGA,IAAH,uBAAGA,IAAI,CAAEE,YAAT,mEAAyB,CAA3C;AACA,QAAMC,YAAY,yBAAGH,IAAH,aAAGA,IAAH,uBAAGA,IAAI,CAAEG,YAAT,mEAAyB,CAA3C;AACAP,IAAAA,aAAa,CAACO,YAAY,GAAGD,YAAhB,CAAb;AACD,GAJD,EAIG,CAACH,UAAD,EAAaC,IAAb,EAAmBP,KAAK,CAACW,QAAzB,CAJH;AAMA,sBACE,KAAC,OAAD;AAAA,2BACE,KAAC,mBAAD;AAAqB,MAAA,GAAG,EAAEN,GAA1B;AACqB,MAAA,SAAS,EAAEH,UAAU,GAAG,YAAH,GAAkB,EAD5D;AAAA,gBAEGF,KAAK,CAACW;AAFT;AADF,IADF;AAQD,CAlBM","sourcesContent":["import React from 'react';\nimport {SideMenuProps} from './types';\nimport styled from 'styled-components';\nimport {scrollBarStyling} from '../styles';\nimport {Size} from '../types';\nimport {useDimensionsRef} from 'rooks';\n\nconst Wrapper = styled.div`\n padding: 8px 0;\n width: 100%;\n box-sizing: border-box;\n flex-flow: column;\n display: flex;\n flex: 1;\n overflow: hidden;\n`;\n\nconst ScrollableContainer = styled.div`\n flex: 1;\n display: flex;\n overflow-y: auto;\n max-height: 100%;\n\n &.scrollable {\n margin-right: 6px;\n padding-right: 6px;\n }\n\n ${scrollBarStyling(Size.Small)}\n`;\n\n\nexport const SideMenuBody = (props: SideMenuProps) => {\n const [scrollable, setScrollable] = React.useState(false);\n const [ref, 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 }, [dimensions, node, props.children]);\n\n return (\n <Wrapper>\n <ScrollableContainer ref={ref as any}\n className={scrollable ? 'scrollable' : ''}>\n {props.children}\n </ScrollableContainer>\n </Wrapper>\n )\n};\n"],"file":"SideMenuBody.js"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.SideMenuFooter = void 0;
|
|
9
|
+
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
|
|
12
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
13
|
+
|
|
14
|
+
var _react = _interopRequireDefault(require("react"));
|
|
15
|
+
|
|
16
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
17
|
+
|
|
18
|
+
var _styles = require("../styles");
|
|
19
|
+
|
|
20
|
+
var _assets = require("../assets");
|
|
21
|
+
|
|
22
|
+
var _Button = require("../Button");
|
|
23
|
+
|
|
24
|
+
var _MenuItem = require("../MenuItem");
|
|
25
|
+
|
|
26
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
27
|
+
|
|
28
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
|
|
29
|
+
|
|
30
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
31
|
+
|
|
32
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
33
|
+
|
|
34
|
+
var Wrapper = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n flex-direction: column;\n align-items: center;\n box-sizing: border-box;\n width: 100%;\n\n border-top: 1px solid ", ";\n"])), _styles.COLORS.neutral_200);
|
|
35
|
+
|
|
36
|
+
var ItemsContainer = _styledComponents.default.div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n padding: 8px;\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n width: 100%;\n"])));
|
|
37
|
+
|
|
38
|
+
var ButtonsContainer = _styledComponents.default.div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n flex-direction: row;\n box-sizing: border-box;\n padding: 8px 16px;\n gap: 10px;\n width: 100%;\n\n button {\n flex: 1;\n }\n\n .small & {\n gap: 0;\n flex-direction: column-reverse;\n }\n"])));
|
|
39
|
+
|
|
40
|
+
var LogoContainer = _styledComponents.default.div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n align-items: center;\n justify-content: space-between;\n box-sizing: border-box;\n min-height: 80px;\n padding: 8px 16px;\n background-color: ", ";\n width: 100%;\n"])), _styles.COLORS.neutral_20);
|
|
41
|
+
|
|
42
|
+
var NoteContainer = _styledComponents.default.div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["\n ", "\n"])), (0, _styles.ComponentXXSStyling)(_styles.ComponentTextStyle.Regular, _styles.COLORS.neutral_500));
|
|
43
|
+
|
|
44
|
+
var SideMenuFooter = function SideMenuFooter(props) {
|
|
45
|
+
var _props$footer, _props$footer$items, _props$footer2, _props$footer2$button, _props$footer3, _props$footer3$button, _props$footer4;
|
|
46
|
+
|
|
47
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Wrapper, {
|
|
48
|
+
children: [!!((_props$footer = props.footer) !== null && _props$footer !== void 0 && (_props$footer$items = _props$footer.items) !== null && _props$footer$items !== void 0 && _props$footer$items.length) && /*#__PURE__*/(0, _jsxRuntime.jsx)(ItemsContainer, {
|
|
49
|
+
children: props.footer.items.map(function (item, index) {
|
|
50
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_MenuItem.MenuItem, _objectSpread({
|
|
51
|
+
size: props.size
|
|
52
|
+
}, item), index);
|
|
53
|
+
})
|
|
54
|
+
}), !!((_props$footer2 = props.footer) !== null && _props$footer2 !== void 0 && (_props$footer2$button = _props$footer2.buttons) !== null && _props$footer2$button !== void 0 && _props$footer2$button.length) && /*#__PURE__*/(0, _jsxRuntime.jsx)(ButtonsContainer, {
|
|
55
|
+
children: props.footer.buttons.map(function (button, index) {
|
|
56
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.Button, _objectSpread(_objectSpread({
|
|
57
|
+
size: props.size
|
|
58
|
+
}, button), {}, {
|
|
59
|
+
children: button.label
|
|
60
|
+
}), index);
|
|
61
|
+
})
|
|
62
|
+
}), !((_props$footer3 = props.footer) !== null && _props$footer3 !== void 0 && (_props$footer3$button = _props$footer3.buttons) !== null && _props$footer3$button !== void 0 && _props$footer3$button.length) && /*#__PURE__*/(0, _jsxRuntime.jsxs)(LogoContainer, {
|
|
63
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_assets.LaerdalLogo, {
|
|
64
|
+
height: '36px',
|
|
65
|
+
width: '66px'
|
|
66
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(NoteContainer, {
|
|
67
|
+
children: (_props$footer4 = props.footer) === null || _props$footer4 === void 0 ? void 0 : _props$footer4.note
|
|
68
|
+
})]
|
|
69
|
+
})]
|
|
70
|
+
});
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
exports.SideMenuFooter = SideMenuFooter;
|
|
74
|
+
//# sourceMappingURL=SideMenuFooter.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/SideMenu/SideMenuFooter.tsx"],"names":["Wrapper","styled","div","COLORS","neutral_200","ItemsContainer","ButtonsContainer","LogoContainer","neutral_20","NoteContainer","ComponentTextStyle","Regular","neutral_500","SideMenuFooter","props","footer","items","length","map","item","index","size","buttons","button","label","note"],"mappings":";;;;;;;;;;;;;AAAA;;AAEA;;AACA;;AAKA;;AACA;;AACA;;;;;;;;;;AAEA,IAAMA,OAAO,GAAGC,0BAAOC,GAAV,uOAOaC,eAAOC,WAPpB,CAAb;;AAUA,IAAMC,cAAc,GAAGJ,0BAAOC,GAAV,gMAApB;;AAQA,IAAMI,gBAAgB,GAAGL,0BAAOC,GAAV,wTAAtB;;AAkBA,IAAMK,aAAa,GAAGN,0BAAOC,GAAV,sRAOGC,eAAOK,UAPV,CAAnB;;AAWA,IAAMC,aAAa,GAAGR,0BAAOC,GAAV,gGACf,iCAAoBQ,2BAAmBC,OAAvC,EAAgDR,eAAOS,WAAvD,CADe,CAAnB;;AAIO,IAAMC,cAAc,GAAG,SAAjBA,cAAiB,CAACC,KAAD,EAA0B;AAAA;;AAEtD,sBACE,sBAAC,OAAD;AAAA,eAEI,CAAC,mBAACA,KAAK,CAACC,MAAP,iEAAC,cAAcC,KAAf,gDAAC,oBAAqBC,MAAtB,CAAD,iBACA,qBAAC,cAAD;AAAA,gBACGH,KAAK,CAACC,MAAN,CAAaC,KAAb,CAAmBE,GAAnB,CAAuB,UAACC,IAAD,EAAOC,KAAP;AAAA,4BACtB,qBAAC,kBAAD;AAAsB,UAAA,IAAI,EAAEN,KAAK,CAACO;AAAlC,WAA4CF,IAA5C,GAAeC,KAAf,CADsB;AAAA,OAAvB;AADH,MAHJ,EAUI,CAAC,oBAACN,KAAK,CAACC,MAAP,oEAAC,eAAcO,OAAf,kDAAC,sBAAuBL,MAAxB,CAAD,iBACA,qBAAC,gBAAD;AAAA,gBAEIH,KAAK,CAACC,MAAN,CAAaO,OAAb,CAAqBJ,GAArB,CAAyB,UAACK,MAAD,EAASH,KAAT;AAAA,4BACvB,qBAAC,cAAD;AAAoB,UAAA,IAAI,EAAEN,KAAK,CAACO;AAAhC,WAA0CE,MAA1C;AAAA,oBACGA,MAAM,CAACC;AADV,YAAaJ,KAAb,CADuB;AAAA,OAAzB;AAFJ,MAXJ,EAsBI,oBAACN,KAAK,CAACC,MAAP,oEAAC,eAAcO,OAAf,kDAAC,sBAAuBL,MAAxB,kBACA,sBAAC,aAAD;AAAA,8BACE,qBAAC,mBAAD;AAAa,QAAA,MAAM,EAAE,MAArB;AAA6B,QAAA,KAAK,EAAE;AAApC,QADF,eAEE,qBAAC,aAAD;AAAA,oCAAgBH,KAAK,CAACC,MAAtB,mDAAgB,eAAcU;AAA9B,QAFF;AAAA,MAvBJ;AAAA,IADF;AAgCD,CAlCM","sourcesContent":["import React from 'react';\nimport {SideMenuProps} from './types';\nimport styled from 'styled-components';\nimport {\n COLORS,\n ComponentTextStyle,\n ComponentXXSStyling\n} from '../styles';\nimport {LaerdalLogo} from '../assets';\nimport {Button} from '../Button';\nimport {MenuItem} from '../MenuItem';\n\nconst Wrapper = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n box-sizing: border-box;\n width: 100%;\n\n border-top: 1px solid ${COLORS.neutral_200};\n`;\n\nconst ItemsContainer = styled.div`\n padding: 8px;\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n width: 100%;\n`;\n\nconst ButtonsContainer = styled.div`\n display: flex;\n flex-direction: row;\n box-sizing: border-box;\n padding: 8px 16px;\n gap: 10px;\n width: 100%;\n\n button {\n flex: 1;\n }\n\n .small & {\n gap: 0;\n flex-direction: column-reverse;\n }\n`;\n\nconst LogoContainer = styled.div`\n display: flex;\n align-items: center;\n justify-content: space-between;\n box-sizing: border-box;\n min-height: 80px;\n padding: 8px 16px;\n background-color: ${COLORS.neutral_20};\n width: 100%;\n`;\n\nconst NoteContainer = styled.div`\n ${ComponentXXSStyling(ComponentTextStyle.Regular, COLORS.neutral_500)}\n`;\n\nexport const SideMenuFooter = (props: SideMenuProps) => {\n\n return (\n <Wrapper>\n {\n !!props.footer?.items?.length &&\n <ItemsContainer>\n {props.footer.items.map((item, index) =>\n <MenuItem key={index} size={props.size} {...item}/>\n )}\n </ItemsContainer>\n }\n {\n !!props.footer?.buttons?.length &&\n <ButtonsContainer>\n {\n props.footer.buttons.map((button, index) =>\n <Button key={index} size={props.size} {...button} >\n {button.label}\n </Button>\n )\n }\n </ButtonsContainer>\n }\n {\n !props.footer?.buttons?.length &&\n <LogoContainer>\n <LaerdalLogo height={'36px'} width={'66px'}/>\n <NoteContainer>{props.footer?.note}</NoteContainer>\n </LogoContainer>\n }\n\n </Wrapper>\n )\n};\n"],"file":"SideMenuFooter.cjs"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
|
+
import _taggedTemplateLiteral from "@babel/runtime/helpers/esm/taggedTemplateLiteral";
|
|
3
|
+
|
|
4
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
|
|
5
|
+
|
|
6
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
7
|
+
|
|
8
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
9
|
+
|
|
10
|
+
import React from 'react';
|
|
11
|
+
import styled from 'styled-components';
|
|
12
|
+
import { COLORS, ComponentTextStyle, ComponentXXSStyling } from '../styles';
|
|
13
|
+
import { LaerdalLogo } from '../assets';
|
|
14
|
+
import { Button } from '../Button';
|
|
15
|
+
import { MenuItem } from '../MenuItem';
|
|
16
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
17
|
+
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
18
|
+
var Wrapper = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: column;\n align-items: center;\n box-sizing: border-box;\n width: 100%;\n\n border-top: 1px solid ", ";\n"])), COLORS.neutral_200);
|
|
19
|
+
var ItemsContainer = styled.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n padding: 8px;\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n width: 100%;\n"])));
|
|
20
|
+
var ButtonsContainer = styled.div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: row;\n box-sizing: border-box;\n padding: 8px 16px;\n gap: 10px;\n width: 100%;\n\n button {\n flex: 1;\n }\n\n .small & {\n gap: 0;\n flex-direction: column-reverse;\n }\n"])));
|
|
21
|
+
var LogoContainer = styled.div(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n justify-content: space-between;\n box-sizing: border-box;\n min-height: 80px;\n padding: 8px 16px;\n background-color: ", ";\n width: 100%;\n"])), COLORS.neutral_20);
|
|
22
|
+
var NoteContainer = styled.div(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n ", "\n"])), ComponentXXSStyling(ComponentTextStyle.Regular, COLORS.neutral_500));
|
|
23
|
+
export var SideMenuFooter = function SideMenuFooter(props) {
|
|
24
|
+
var _props$footer, _props$footer$items, _props$footer2, _props$footer2$button, _props$footer3, _props$footer3$button, _props$footer4;
|
|
25
|
+
|
|
26
|
+
return /*#__PURE__*/_jsxs(Wrapper, {
|
|
27
|
+
children: [!!((_props$footer = props.footer) !== null && _props$footer !== void 0 && (_props$footer$items = _props$footer.items) !== null && _props$footer$items !== void 0 && _props$footer$items.length) && /*#__PURE__*/_jsx(ItemsContainer, {
|
|
28
|
+
children: props.footer.items.map(function (item, index) {
|
|
29
|
+
return /*#__PURE__*/_jsx(MenuItem, _objectSpread({
|
|
30
|
+
size: props.size
|
|
31
|
+
}, item), index);
|
|
32
|
+
})
|
|
33
|
+
}), !!((_props$footer2 = props.footer) !== null && _props$footer2 !== void 0 && (_props$footer2$button = _props$footer2.buttons) !== null && _props$footer2$button !== void 0 && _props$footer2$button.length) && /*#__PURE__*/_jsx(ButtonsContainer, {
|
|
34
|
+
children: props.footer.buttons.map(function (button, index) {
|
|
35
|
+
return /*#__PURE__*/_jsx(Button, _objectSpread(_objectSpread({
|
|
36
|
+
size: props.size
|
|
37
|
+
}, button), {}, {
|
|
38
|
+
children: button.label
|
|
39
|
+
}), index);
|
|
40
|
+
})
|
|
41
|
+
}), !((_props$footer3 = props.footer) !== null && _props$footer3 !== void 0 && (_props$footer3$button = _props$footer3.buttons) !== null && _props$footer3$button !== void 0 && _props$footer3$button.length) && /*#__PURE__*/_jsxs(LogoContainer, {
|
|
42
|
+
children: [/*#__PURE__*/_jsx(LaerdalLogo, {
|
|
43
|
+
height: '36px',
|
|
44
|
+
width: '66px'
|
|
45
|
+
}), /*#__PURE__*/_jsx(NoteContainer, {
|
|
46
|
+
children: (_props$footer4 = props.footer) === null || _props$footer4 === void 0 ? void 0 : _props$footer4.note
|
|
47
|
+
})]
|
|
48
|
+
})]
|
|
49
|
+
});
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=SideMenuFooter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/SideMenu/SideMenuFooter.tsx"],"names":["React","styled","COLORS","ComponentTextStyle","ComponentXXSStyling","LaerdalLogo","Button","MenuItem","Wrapper","div","neutral_200","ItemsContainer","ButtonsContainer","LogoContainer","neutral_20","NoteContainer","Regular","neutral_500","SideMenuFooter","props","footer","items","length","map","item","index","size","buttons","button","label","note"],"mappings":";;;;;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AAEA,OAAOC,MAAP,MAAmB,mBAAnB;AACA,SACEC,MADF,EAEEC,kBAFF,EAGEC,mBAHF,QAIO,WAJP;AAKA,SAAQC,WAAR,QAA0B,WAA1B;AACA,SAAQC,MAAR,QAAqB,WAArB;AACA,SAAQC,QAAR,QAAuB,aAAvB;;;AAEA,IAAMC,OAAO,GAAGP,MAAM,CAACQ,GAAV,yNAOaP,MAAM,CAACQ,WAPpB,CAAb;AAUA,IAAMC,cAAc,GAAGV,MAAM,CAACQ,GAAV,kLAApB;AAQA,IAAMG,gBAAgB,GAAGX,MAAM,CAACQ,GAAV,0SAAtB;AAkBA,IAAMI,aAAa,GAAGZ,MAAM,CAACQ,GAAV,wQAOGP,MAAM,CAACY,UAPV,CAAnB;AAWA,IAAMC,aAAa,GAAGd,MAAM,CAACQ,GAAV,kFACfL,mBAAmB,CAACD,kBAAkB,CAACa,OAApB,EAA6Bd,MAAM,CAACe,WAApC,CADJ,CAAnB;AAIA,OAAO,IAAMC,cAAc,GAAG,SAAjBA,cAAiB,CAACC,KAAD,EAA0B;AAAA;;AAEtD,sBACE,MAAC,OAAD;AAAA,eAEI,CAAC,mBAACA,KAAK,CAACC,MAAP,iEAAC,cAAcC,KAAf,gDAAC,oBAAqBC,MAAtB,CAAD,iBACA,KAAC,cAAD;AAAA,gBACGH,KAAK,CAACC,MAAN,CAAaC,KAAb,CAAmBE,GAAnB,CAAuB,UAACC,IAAD,EAAOC,KAAP;AAAA,4BACtB,KAAC,QAAD;AAAsB,UAAA,IAAI,EAAEN,KAAK,CAACO;AAAlC,WAA4CF,IAA5C,GAAeC,KAAf,CADsB;AAAA,OAAvB;AADH,MAHJ,EAUI,CAAC,oBAACN,KAAK,CAACC,MAAP,oEAAC,eAAcO,OAAf,kDAAC,sBAAuBL,MAAxB,CAAD,iBACA,KAAC,gBAAD;AAAA,gBAEIH,KAAK,CAACC,MAAN,CAAaO,OAAb,CAAqBJ,GAArB,CAAyB,UAACK,MAAD,EAASH,KAAT;AAAA,4BACvB,KAAC,MAAD;AAAoB,UAAA,IAAI,EAAEN,KAAK,CAACO;AAAhC,WAA0CE,MAA1C;AAAA,oBACGA,MAAM,CAACC;AADV,YAAaJ,KAAb,CADuB;AAAA,OAAzB;AAFJ,MAXJ,EAsBI,oBAACN,KAAK,CAACC,MAAP,oEAAC,eAAcO,OAAf,kDAAC,sBAAuBL,MAAxB,kBACA,MAAC,aAAD;AAAA,8BACE,KAAC,WAAD;AAAa,QAAA,MAAM,EAAE,MAArB;AAA6B,QAAA,KAAK,EAAE;AAApC,QADF,eAEE,KAAC,aAAD;AAAA,oCAAgBH,KAAK,CAACC,MAAtB,mDAAgB,eAAcU;AAA9B,QAFF;AAAA,MAvBJ;AAAA,IADF;AAgCD,CAlCM","sourcesContent":["import React from 'react';\nimport {SideMenuProps} from './types';\nimport styled from 'styled-components';\nimport {\n COLORS,\n ComponentTextStyle,\n ComponentXXSStyling\n} from '../styles';\nimport {LaerdalLogo} from '../assets';\nimport {Button} from '../Button';\nimport {MenuItem} from '../MenuItem';\n\nconst Wrapper = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n box-sizing: border-box;\n width: 100%;\n\n border-top: 1px solid ${COLORS.neutral_200};\n`;\n\nconst ItemsContainer = styled.div`\n padding: 8px;\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n width: 100%;\n`;\n\nconst ButtonsContainer = styled.div`\n display: flex;\n flex-direction: row;\n box-sizing: border-box;\n padding: 8px 16px;\n gap: 10px;\n width: 100%;\n\n button {\n flex: 1;\n }\n\n .small & {\n gap: 0;\n flex-direction: column-reverse;\n }\n`;\n\nconst LogoContainer = styled.div`\n display: flex;\n align-items: center;\n justify-content: space-between;\n box-sizing: border-box;\n min-height: 80px;\n padding: 8px 16px;\n background-color: ${COLORS.neutral_20};\n width: 100%;\n`;\n\nconst NoteContainer = styled.div`\n ${ComponentXXSStyling(ComponentTextStyle.Regular, COLORS.neutral_500)}\n`;\n\nexport const SideMenuFooter = (props: SideMenuProps) => {\n\n return (\n <Wrapper>\n {\n !!props.footer?.items?.length &&\n <ItemsContainer>\n {props.footer.items.map((item, index) =>\n <MenuItem key={index} size={props.size} {...item}/>\n )}\n </ItemsContainer>\n }\n {\n !!props.footer?.buttons?.length &&\n <ButtonsContainer>\n {\n props.footer.buttons.map((button, index) =>\n <Button key={index} size={props.size} {...button} >\n {button.label}\n </Button>\n )\n }\n </ButtonsContainer>\n }\n {\n !props.footer?.buttons?.length &&\n <LogoContainer>\n <LaerdalLogo height={'36px'} width={'66px'}/>\n <NoteContainer>{props.footer?.note}</NoteContainer>\n </LogoContainer>\n }\n\n </Wrapper>\n )\n};\n"],"file":"SideMenuFooter.js"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.SideMenuHeader = void 0;
|
|
9
|
+
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
|
|
12
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
13
|
+
|
|
14
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
15
|
+
|
|
16
|
+
var _react = _interopRequireDefault(require("react"));
|
|
17
|
+
|
|
18
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
19
|
+
|
|
20
|
+
var _styles = require("../styles");
|
|
21
|
+
|
|
22
|
+
var _Button = require("../Button");
|
|
23
|
+
|
|
24
|
+
var _icons = require("../icons");
|
|
25
|
+
|
|
26
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
27
|
+
|
|
28
|
+
var _excluded = ["icon"];
|
|
29
|
+
|
|
30
|
+
var _templateObject, _templateObject2;
|
|
31
|
+
|
|
32
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
33
|
+
|
|
34
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
35
|
+
|
|
36
|
+
var Wrapper = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n align-items: center;\n padding: 0 8px;\n\n .small & {\n min-height: 48px;\n }\n\n .medium & {\n min-height: 56px;\n }\n\n .large & {\n min-height: 64px;\n }\n"])));
|
|
37
|
+
|
|
38
|
+
var LabelContainer = _styledComponents.default.div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n margin-left: 8px;\n\n .small & {\n ", "\n }\n\n .medium & {\n ", "\n }\n\n .large & {\n ", "\n }\n"])), (0, _styles.ComponentSStyling)(_styles.ComponentTextStyle.Bold, _styles.COLORS.neutral_600), (0, _styles.ComponentMStyling)(_styles.ComponentTextStyle.Bold, _styles.COLORS.neutral_600), (0, _styles.ComponentLStyling)(_styles.ComponentTextStyle.Bold, _styles.COLORS.neutral_600));
|
|
39
|
+
|
|
40
|
+
var SideMenuHeader = function SideMenuHeader(props) {
|
|
41
|
+
var _props$header, _props$header$actions, _props$header2;
|
|
42
|
+
|
|
43
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Wrapper, {
|
|
44
|
+
children: [(_props$header = props.header) === null || _props$header === void 0 ? void 0 : (_props$header$actions = _props$header.actions) === null || _props$header$actions === void 0 ? void 0 : _props$header$actions.map(function (_ref, index) {
|
|
45
|
+
var icon = _ref.icon,
|
|
46
|
+
rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
47
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.IconButton, _objectSpread(_objectSpread({
|
|
48
|
+
variant: 'secondary',
|
|
49
|
+
shape: 'circular'
|
|
50
|
+
}, rest), {}, {
|
|
51
|
+
children: icon
|
|
52
|
+
}), index);
|
|
53
|
+
}), ((_props$header2 = props.header) === null || _props$header2 === void 0 ? void 0 : _props$header2.label) && /*#__PURE__*/(0, _jsxRuntime.jsx)(LabelContainer, {
|
|
54
|
+
children: props.header.label
|
|
55
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.IconButton, {
|
|
56
|
+
action: props.onClose,
|
|
57
|
+
variant: 'secondary',
|
|
58
|
+
shape: 'circular',
|
|
59
|
+
style: {
|
|
60
|
+
marginLeft: 'auto'
|
|
61
|
+
},
|
|
62
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.SystemIcons.Close, {})
|
|
63
|
+
})]
|
|
64
|
+
});
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
exports.SideMenuHeader = SideMenuHeader;
|
|
68
|
+
//# sourceMappingURL=SideMenuHeader.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/SideMenu/SideMenuHeader.tsx"],"names":["Wrapper","styled","div","LabelContainer","ComponentTextStyle","Bold","COLORS","neutral_600","SideMenuHeader","props","header","actions","map","index","icon","rest","label","onClose","marginLeft"],"mappings":";;;;;;;;;;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;;;;;;;;;;;AAEA,IAAMA,OAAO,GAAGC,0BAAOC,GAAV,uRAAb;;AAkBA,IAAMC,cAAc,GAAGF,0BAAOC,GAAV,2MAId,+BAAkBE,2BAAmBC,IAArC,EAA2CC,eAAOC,WAAlD,CAJc,EAQd,+BAAkBH,2BAAmBC,IAArC,EAA2CC,eAAOC,WAAlD,CARc,EAYd,+BAAkBH,2BAAmBC,IAArC,EAA2CC,eAAOC,WAAlD,CAZc,CAApB;;AAgBO,IAAMC,cAAc,GAAG,SAAjBA,cAAiB,CAACC,KAAD,EAA0B;AAAA;;AAEtD,sBACE,sBAAC,OAAD;AAAA,gCAEIA,KAAK,CAACC,MAFV,2EAEI,cAAcC,OAFlB,0DAEI,sBAAuBC,GAAvB,CAA2B,gBAAkBC,KAAlB;AAAA,UAAEC,IAAF,QAAEA,IAAF;AAAA,UAAWC,IAAX;AAAA,0BACzB,qBAAC,kBAAD;AAAwB,QAAA,OAAO,EAAE,WAAjC;AAA8C,QAAA,KAAK,EAAE;AAArD,SAAqEA,IAArE;AAAA,kBACGD;AADH,UAAiBD,KAAjB,CADyB;AAAA,KAA3B,CAFJ,EASI,mBAAAJ,KAAK,CAACC,MAAN,kEAAcM,KAAd,kBACA,qBAAC,cAAD;AAAA,gBACGP,KAAK,CAACC,MAAN,CAAaM;AADhB,MAVJ,eAcE,qBAAC,kBAAD;AAAY,MAAA,MAAM,EAAEP,KAAK,CAACQ,OAA1B;AAAmC,MAAA,OAAO,EAAE,WAA5C;AAAyD,MAAA,KAAK,EAAE,UAAhE;AAA4E,MAAA,KAAK,EAAE;AAACC,QAAAA,UAAU,EAAE;AAAb,OAAnF;AAAA,6BACE,qBAAC,kBAAD,CAAa,KAAb;AADF,MAdF;AAAA,IADF;AAoBD,CAtBM","sourcesContent":["import React from 'react';\nimport {SideMenuProps} from './types';\nimport styled from 'styled-components';\nimport {COLORS, ComponentLStyling, ComponentMStyling, ComponentSStyling, ComponentTextStyle} from '../styles';\nimport {IconButton} from '../Button';\nimport {SystemIcons} from '../icons';\n\nconst Wrapper = styled.div`\n display: flex;\n align-items: center;\n padding: 0 8px;\n\n .small & {\n min-height: 48px;\n }\n\n .medium & {\n min-height: 56px;\n }\n\n .large & {\n min-height: 64px;\n }\n`;\n\nconst LabelContainer = styled.div`\n margin-left: 8px;\n\n .small & {\n ${ComponentSStyling(ComponentTextStyle.Bold, COLORS.neutral_600)}\n }\n\n .medium & {\n ${ComponentMStyling(ComponentTextStyle.Bold, COLORS.neutral_600)}\n }\n\n .large & {\n ${ComponentLStyling(ComponentTextStyle.Bold, COLORS.neutral_600)}\n }\n`;\n\nexport const SideMenuHeader = (props: SideMenuProps) => {\n\n return (\n <Wrapper>\n {\n props.header?.actions?.map(({icon, ...rest}, index) =>\n <IconButton key={index} variant={'secondary'} shape={'circular'} {...rest}>\n {icon}\n </IconButton>\n )\n }\n {\n props.header?.label &&\n <LabelContainer>\n {props.header.label}\n </LabelContainer>\n }\n <IconButton action={props.onClose} variant={'secondary'} shape={'circular'} style={{marginLeft: 'auto'}}>\n <SystemIcons.Close/>\n </IconButton>\n </Wrapper>\n )\n};\n"],"file":"SideMenuHeader.cjs"}
|