@activecollab/components 2.0.121 → 2.0.122
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/Menu/Menu.js.map +1 -1
- package/dist/cjs/components/Menu/Styles.js +3 -1
- package/dist/cjs/components/Menu/Styles.js.map +1 -1
- package/dist/esm/components/Menu/Menu.d.ts +1 -1
- package/dist/esm/components/Menu/Menu.d.ts.map +1 -1
- package/dist/esm/components/Menu/Menu.js.map +1 -1
- package/dist/esm/components/Menu/Styles.d.ts.map +1 -1
- package/dist/esm/components/Menu/Styles.js +2 -2
- package/dist/esm/components/Menu/Styles.js.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Menu.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_context","_Styles","_useForkRef","_Overlay","_Popper","_Window","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","len","length","arr2","l","Symbol","iterator","f","next","done","push","value","return","isArray","Menu","exports","_ref","children","_ref$disableFocusLock","disableFocusLock","onMenuClick","_ref$handleScroll","handleScroll","_ref$mode","mode","_ref$open","open","defaultOpen","onOpen","onClose","onBeforeClose","_ref$position","position","target","className","menuClassName","popperClassName","backgroundElementClass","_ref$windowAbsolutely","windowAbsolutelyPositioned","onPopperOpen","_useState","useState","_useState2","setOpen","_useState3","_useState4","childNode","setChildNode","elementRef","useRef","isOpenAtLeastOnce","useEffect","handleRefRef","useForkRef","ref","undefined","handleRef","handleOpen","useCallback","event","_target$props","preventDefault","stopPropagation","props","onClick","handleClose","childProps","forceClose","targetProps","current","_elementRef$current","focus","createElement","Fragment","React","cloneElement","Window","disableScrollLock","style","Overlay","tabIndex","disableBackgroundColor","Popper","anchorEl","placement","afterWrite","StyledMenu","classnames","concat","$mode","onMouseDown","MenuContextProvider","displayName"],"sources":["../../../../src/components/Menu/Menu.tsx"],"sourcesContent":["import React, {\n useRef,\n FC,\n ReactNode,\n MouseEvent,\n useState,\n useCallback,\n useEffect,\n ReactElement,\n Ref,\n} from \"react\";\n\nimport { Placement } from \"@popperjs/core\";\nimport classnames from \"classnames\";\n\nimport { MenuContextProvider } from \"./context\";\nimport { StyledMenu } from \"./Styles\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { Overlay } from \"../Overlay\";\nimport { Popper } from \"../Popper\";\nimport { Window } from \"../Window\";\n\ninterface ElementWithRef<T> extends ReactElement {\n ref?: Ref<T>;\n}\n\n// source: https://twitter.com/mattpocockuk/status/1671908303918473217/photo/1\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport type MenuMode = \"normal\" | \"wider\" | \"tiny\";\n\nexport interface IMenu {\n /** Menu content */\n children:\n | ReactNode\n | ((childProps: { forceClose: () => void }) => JSX.Element);\n /** On menu element click */\n onMenuClick?: (event: MouseEvent<HTMLElement>) => void;\n /** Handle scroll bar */\n handleScroll?: boolean;\n /** Disable Focus Lock */\n disableFocusLock?: boolean;\n /** Menu width mode */\n mode?: MenuMode;\n /** Should menu be open when it's mounted */\n open?: boolean;\n /** Callback triggered when modal has been opened */\n onOpen?: () => void;\n /** Callback triggered when modal has been closed */\n onClose?: () => void;\n /** Before close callback */\n onBeforeClose?: () => boolean;\n /** Position Menu */\n position?: Placement;\n /** Target element */\n target?: ElementWithRef<Element>;\n className?: string;\n /** Menu classes */\n menuClassName?: string;\n /** Popper class name*/\n popperClassName?: string;\n /** Background style for clickable element after the menu is open (opacity, color, etc...) */\n backgroundElementClass?: string;\n /** Should Window be positioned absolutely */\n windowAbsolutelyPositioned?: boolean;\n /** Popper on open */\n onPopperOpen?: (...args) => void;\n}\n\nexport const Menu: FC<IMenu> = ({\n children,\n disableFocusLock = false,\n onMenuClick,\n handleScroll = true,\n mode = \"normal\",\n open: defaultOpen = false,\n onOpen,\n onClose,\n onBeforeClose,\n position = \"bottom-start\",\n target,\n className,\n menuClassName,\n popperClassName,\n backgroundElementClass,\n windowAbsolutelyPositioned = false,\n onPopperOpen,\n}) => {\n const [open, setOpen] = useState(defaultOpen);\n const [childNode, setChildNode] = useState<Element | null>();\n const elementRef = useRef<HTMLElement | null>(null);\n const isOpenAtLeastOnce = useRef(false);\n\n useEffect(() => {\n setOpen(defaultOpen);\n }, [defaultOpen]);\n\n const handleRefRef = useForkRef(\n target ? target.ref : undefined,\n setChildNode\n );\n const handleRef = useForkRef(handleRefRef, elementRef);\n\n const handleOpen = useCallback(\n (\n event: Pick<MouseEvent<Element>, \"preventDefault\" | \"stopPropagation\">\n ) => {\n event?.preventDefault();\n event?.stopPropagation();\n setOpen(true);\n typeof onOpen === \"function\" && onOpen();\n typeof target?.props?.onClick === \"function\" &&\n target.props.onClick(event);\n },\n [onOpen, target?.props]\n );\n\n const handleClose = useCallback(() => {\n if (typeof onBeforeClose === \"function\" && !onBeforeClose()) {\n return;\n }\n setOpen(false);\n typeof onClose === \"function\" && onClose();\n }, [onClose, onBeforeClose]);\n\n const childProps = {\n forceClose: handleClose,\n };\n\n const targetProps = {\n open,\n ref: handleRef,\n onClick: handleOpen,\n };\n\n useEffect(() => {\n if (open) {\n isOpenAtLeastOnce.current = true;\n } else if (!open && isOpenAtLeastOnce.current) {\n elementRef.current?.focus();\n isOpenAtLeastOnce.current = false;\n }\n }, [open]);\n\n return (\n <>\n {target && React.cloneElement(target, targetProps)}\n {open ? (\n <Window\n onClose={handleClose}\n disableScrollLock={!handleScroll}\n disableFocusLock={disableFocusLock}\n style={{\n position: windowAbsolutelyPositioned ? \"absolute\" : \"fixed\",\n }}\n >\n <Overlay\n className={backgroundElementClass}\n onClick={handleClose}\n tabIndex={-1}\n disableBackgroundColor\n />\n <Popper\n anchorEl={childNode}\n open={childNode ? open : false}\n placement={position}\n className={popperClassName}\n tabIndex={-1}\n afterWrite={onPopperOpen}\n >\n <StyledMenu\n className={classnames(\n \"c-simple-menu__paper\",\n `c-simple-menu__${mode}`,\n menuClassName,\n className\n )}\n $mode={mode}\n onMouseDown={onMenuClick}\n >\n <MenuContextProvider value={{ open, setOpen }}>\n {typeof children === \"function\"\n ? children(childProps)\n : children}\n </MenuContextProvider>\n </StyledMenu>\n </Popper>\n </Window>\n ) : null}\n </>\n );\n};\n\nMenu.displayName = \"Menu\";\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Menu.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_context","_Styles","_useForkRef","_Overlay","_Popper","_Window","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","len","length","arr2","l","Symbol","iterator","f","next","done","push","value","return","isArray","Menu","exports","_ref","children","_ref$disableFocusLock","disableFocusLock","onMenuClick","_ref$handleScroll","handleScroll","_ref$mode","mode","_ref$open","open","defaultOpen","onOpen","onClose","onBeforeClose","_ref$position","position","target","className","menuClassName","popperClassName","backgroundElementClass","_ref$windowAbsolutely","windowAbsolutelyPositioned","onPopperOpen","_useState","useState","_useState2","setOpen","_useState3","_useState4","childNode","setChildNode","elementRef","useRef","isOpenAtLeastOnce","useEffect","handleRefRef","useForkRef","ref","undefined","handleRef","handleOpen","useCallback","event","_target$props","preventDefault","stopPropagation","props","onClick","handleClose","childProps","forceClose","targetProps","current","_elementRef$current","focus","createElement","Fragment","React","cloneElement","Window","disableScrollLock","style","Overlay","tabIndex","disableBackgroundColor","Popper","anchorEl","placement","afterWrite","StyledMenu","classnames","concat","$mode","onMouseDown","MenuContextProvider","displayName"],"sources":["../../../../src/components/Menu/Menu.tsx"],"sourcesContent":["import React, {\n useRef,\n FC,\n ReactNode,\n MouseEvent,\n useState,\n useCallback,\n useEffect,\n ReactElement,\n Ref,\n} from \"react\";\n\nimport { Placement } from \"@popperjs/core\";\nimport classnames from \"classnames\";\n\nimport { MenuContextProvider } from \"./context\";\nimport { StyledMenu } from \"./Styles\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { Overlay } from \"../Overlay\";\nimport { Popper } from \"../Popper\";\nimport { Window } from \"../Window\";\n\ninterface ElementWithRef<T> extends ReactElement {\n ref?: Ref<T>;\n}\n\n// source: https://twitter.com/mattpocockuk/status/1671908303918473217/photo/1\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport type MenuMode = \"normal\" | \"wider\" | \"tiny\" | \"widest\";\n\nexport interface IMenu {\n /** Menu content */\n children:\n | ReactNode\n | ((childProps: { forceClose: () => void }) => JSX.Element);\n /** On menu element click */\n onMenuClick?: (event: MouseEvent<HTMLElement>) => void;\n /** Handle scroll bar */\n handleScroll?: boolean;\n /** Disable Focus Lock */\n disableFocusLock?: boolean;\n /** Menu width mode */\n mode?: MenuMode;\n /** Should menu be open when it's mounted */\n open?: boolean;\n /** Callback triggered when modal has been opened */\n onOpen?: () => void;\n /** Callback triggered when modal has been closed */\n onClose?: () => void;\n /** Before close callback */\n onBeforeClose?: () => boolean;\n /** Position Menu */\n position?: Placement;\n /** Target element */\n target?: ElementWithRef<Element>;\n className?: string;\n /** Menu classes */\n menuClassName?: string;\n /** Popper class name*/\n popperClassName?: string;\n /** Background style for clickable element after the menu is open (opacity, color, etc...) */\n backgroundElementClass?: string;\n /** Should Window be positioned absolutely */\n windowAbsolutelyPositioned?: boolean;\n /** Popper on open */\n onPopperOpen?: (...args) => void;\n}\n\nexport const Menu: FC<IMenu> = ({\n children,\n disableFocusLock = false,\n onMenuClick,\n handleScroll = true,\n mode = \"normal\",\n open: defaultOpen = false,\n onOpen,\n onClose,\n onBeforeClose,\n position = \"bottom-start\",\n target,\n className,\n menuClassName,\n popperClassName,\n backgroundElementClass,\n windowAbsolutelyPositioned = false,\n onPopperOpen,\n}) => {\n const [open, setOpen] = useState(defaultOpen);\n const [childNode, setChildNode] = useState<Element | null>();\n const elementRef = useRef<HTMLElement | null>(null);\n const isOpenAtLeastOnce = useRef(false);\n\n useEffect(() => {\n setOpen(defaultOpen);\n }, [defaultOpen]);\n\n const handleRefRef = useForkRef(\n target ? target.ref : undefined,\n setChildNode\n );\n const handleRef = useForkRef(handleRefRef, elementRef);\n\n const handleOpen = useCallback(\n (\n event: Pick<MouseEvent<Element>, \"preventDefault\" | \"stopPropagation\">\n ) => {\n event?.preventDefault();\n event?.stopPropagation();\n setOpen(true);\n typeof onOpen === \"function\" && onOpen();\n typeof target?.props?.onClick === \"function\" &&\n target.props.onClick(event);\n },\n [onOpen, target?.props]\n );\n\n const handleClose = useCallback(() => {\n if (typeof onBeforeClose === \"function\" && !onBeforeClose()) {\n return;\n }\n setOpen(false);\n typeof onClose === \"function\" && onClose();\n }, [onClose, onBeforeClose]);\n\n const childProps = {\n forceClose: handleClose,\n };\n\n const targetProps = {\n open,\n ref: handleRef,\n onClick: handleOpen,\n };\n\n useEffect(() => {\n if (open) {\n isOpenAtLeastOnce.current = true;\n } else if (!open && isOpenAtLeastOnce.current) {\n elementRef.current?.focus();\n isOpenAtLeastOnce.current = false;\n }\n }, [open]);\n\n return (\n <>\n {target && React.cloneElement(target, targetProps)}\n {open ? (\n <Window\n onClose={handleClose}\n disableScrollLock={!handleScroll}\n disableFocusLock={disableFocusLock}\n style={{\n position: windowAbsolutelyPositioned ? \"absolute\" : \"fixed\",\n }}\n >\n <Overlay\n className={backgroundElementClass}\n onClick={handleClose}\n tabIndex={-1}\n disableBackgroundColor\n />\n <Popper\n anchorEl={childNode}\n open={childNode ? open : false}\n placement={position}\n className={popperClassName}\n tabIndex={-1}\n afterWrite={onPopperOpen}\n >\n <StyledMenu\n className={classnames(\n \"c-simple-menu__paper\",\n `c-simple-menu__${mode}`,\n menuClassName,\n className\n )}\n $mode={mode}\n onMouseDown={onMenuClick}\n >\n <MenuContextProvider value={{ open, setOpen }}>\n {typeof children === \"function\"\n ? children(childProps)\n : children}\n </MenuContextProvider>\n </StyledMenu>\n </Popper>\n </Window>\n ) : null}\n </>\n );\n};\n\nMenu.displayName = \"Menu\";\n"],"mappings":"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"}
|
|
@@ -13,7 +13,7 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
|
|
|
13
13
|
var StyledMenu = exports.StyledMenu = (0, _styledComponents.default)(_Bubble.Bubble).withConfig({
|
|
14
14
|
displayName: "Styles__StyledMenu",
|
|
15
15
|
componentId: "sc-8fhkp-0"
|
|
16
|
-
})(["", " ", " ", " color:var(--color-theme-700);a:focus,a:active{outline:none;}", " ", " ", ""], {
|
|
16
|
+
})(["", " ", " ", " color:var(--color-theme-700);a:focus,a:active{outline:none;}", " ", " ", " ", ""], {
|
|
17
17
|
"marginTop": "0.25rem",
|
|
18
18
|
"marginBottom": "0.25rem",
|
|
19
19
|
"overflow": "auto",
|
|
@@ -25,6 +25,8 @@ var StyledMenu = exports.StyledMenu = (0, _styledComponents.default)(_Bubble.Bub
|
|
|
25
25
|
return props.$mode === "wider" && (0, _styledComponents.css)(["width:350px;"]);
|
|
26
26
|
}, function (props) {
|
|
27
27
|
return props.$mode === "tiny" && (0, _styledComponents.css)(["width:180px;"]);
|
|
28
|
+
}, function (props) {
|
|
29
|
+
return props.$mode === "widest" && (0, _styledComponents.css)(["width:590px;"]);
|
|
28
30
|
});
|
|
29
31
|
StyledMenu.displayName = "StyledMenu";
|
|
30
32
|
var StyledMenuFooter = exports.StyledMenuFooter = _styledComponents.default.div.withConfig({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Styles.js","names":["_styledComponents","_interopRequireWildcard","require","_BoxSizingStyle","_Bubble","_FontStyle","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","StyledMenu","exports","styled","Bubble","withConfig","displayName","componentId","FontStyle","BoxSizingStyle","props","$mode","css","StyledMenuFooter","div","StyledMenuHeader"],"sources":["../../../../src/components/Menu/Styles.ts"],"sourcesContent":["import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\n\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { Bubble } from \"../Bubble\";\nimport { FontStyle } from \"../FontStyle\";\n\nexport const StyledMenu = styled(Bubble)<{ $mode: string }>`\n ${tw`tw-bg-page-paper-main tw-border-border-primary tw-my-1 tw-overflow-auto`}\n\n ${FontStyle}\n ${BoxSizingStyle}\n \n color: var(--color-theme-700);\n a:focus,\n a:active {\n outline: none;\n }\n\n ${(props) =>\n props.$mode === \"normal\" &&\n css`\n width: 260px;\n `}\n\n ${(props) =>\n props.$mode === \"wider\" &&\n css`\n width: 350px;\n `}\n\n ${(props) =>\n props.$mode === \"tiny\" &&\n css`\n width: 180px;\n `}\n`;\nStyledMenu.displayName = \"StyledMenu\";\n\nexport const StyledMenuFooter = styled.div`\n ${tw`tw-flex tw-px-2 tw-py-1`}\n\n display: flex;\n border-top: 1px solid var(--border-primary);\n height: 32px;\n align-items: center;\n`;\nStyledMenuFooter.displayName = \"StyledMenuFooter\";\n\nexport const StyledMenuHeader = styled.div`\n ${tw`tw-flex tw-items-center tw-justify-between tw-px-2 tw-py-1`}\n\n border-bottom: 1px solid var(--border-primary);\n height: 32px;\n`;\nStyledMenuHeader.displayName = \"StyledMenuHeader\";\n"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,uBAAA,CAAAC,OAAA;AAGA,IAAAC,eAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AAAyC,SAAAI,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAN,wBAAAM,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAElC,IAAMY,UAAU,GAAAC,OAAA,CAAAD,UAAA,GAAG,IAAAE,yBAAM,EAACC,cAAM,CAAC,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"Styles.js","names":["_styledComponents","_interopRequireWildcard","require","_BoxSizingStyle","_Bubble","_FontStyle","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","StyledMenu","exports","styled","Bubble","withConfig","displayName","componentId","FontStyle","BoxSizingStyle","props","$mode","css","StyledMenuFooter","div","StyledMenuHeader"],"sources":["../../../../src/components/Menu/Styles.ts"],"sourcesContent":["import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\n\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { Bubble } from \"../Bubble\";\nimport { FontStyle } from \"../FontStyle\";\n\nexport const StyledMenu = styled(Bubble)<{ $mode: string }>`\n ${tw`tw-bg-page-paper-main tw-border-border-primary tw-my-1 tw-overflow-auto`}\n\n ${FontStyle}\n ${BoxSizingStyle}\n \n color: var(--color-theme-700);\n a:focus,\n a:active {\n outline: none;\n }\n\n ${(props) =>\n props.$mode === \"normal\" &&\n css`\n width: 260px;\n `}\n\n ${(props) =>\n props.$mode === \"wider\" &&\n css`\n width: 350px;\n `}\n\n ${(props) =>\n props.$mode === \"tiny\" &&\n css`\n width: 180px;\n `}\n\n ${(props) =>\n props.$mode === \"widest\" &&\n css`\n width: 590px;\n `}\n`;\nStyledMenu.displayName = \"StyledMenu\";\n\nexport const StyledMenuFooter = styled.div`\n ${tw`tw-flex tw-px-2 tw-py-1`}\n\n display: flex;\n border-top: 1px solid var(--border-primary);\n height: 32px;\n align-items: center;\n`;\nStyledMenuFooter.displayName = \"StyledMenuFooter\";\n\nexport const StyledMenuHeader = styled.div`\n ${tw`tw-flex tw-items-center tw-justify-between tw-px-2 tw-py-1`}\n\n border-bottom: 1px solid var(--border-primary);\n height: 32px;\n`;\nStyledMenuHeader.displayName = \"StyledMenuHeader\";\n"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,uBAAA,CAAAC,OAAA;AAGA,IAAAC,eAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AAAyC,SAAAI,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAN,wBAAAM,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAElC,IAAMY,UAAU,GAAAC,OAAA,CAAAD,UAAA,GAAG,IAAAE,yBAAM,EAACC,cAAM,CAAC,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,uGAClC;EAAA;EAAA;EAAA;EAAA;EAAA;AAAwE,CAAC,EAE3EC,oBAAS,EACTC,8BAAc,EAQd,UAACC,KAAK;EAAA,OACNA,KAAK,CAACC,KAAK,KAAK,QAAQ,QACxBC,qBAAG,mBAEF;AAAA,GAED,UAACF,KAAK;EAAA,OACNA,KAAK,CAACC,KAAK,KAAK,OAAO,QACvBC,qBAAG,mBAEF;AAAA,GAED,UAACF,KAAK;EAAA,OACNA,KAAK,CAACC,KAAK,KAAK,MAAM,QACtBC,qBAAG,mBAEF;AAAA,GAED,UAACF,KAAK;EAAA,OACNA,KAAK,CAACC,KAAK,KAAK,QAAQ,QACxBC,qBAAG,mBAEF;AAAA,EACJ;AACDX,UAAU,CAACK,WAAW,GAAG,YAAY;AAE9B,IAAMO,gBAAgB,GAAAX,OAAA,CAAAW,gBAAA,GAAGV,yBAAM,CAACW,GAAG,CAAAT,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,qGACpC;EAAA;EAAA;EAAA;EAAA;EAAA;AAAwB,CAAC,CAM9B;AACDM,gBAAgB,CAACP,WAAW,GAAG,kBAAkB;AAE1C,IAAMS,gBAAgB,GAAAb,OAAA,CAAAa,gBAAA,GAAGZ,yBAAM,CAACW,GAAG,CAAAT,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,wEACpC;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAA2D,CAAC,CAIjE;AACDQ,gBAAgB,CAACT,WAAW,GAAG,kBAAkB"}
|
|
@@ -3,7 +3,7 @@ import { Placement } from "@popperjs/core";
|
|
|
3
3
|
interface ElementWithRef<T> extends ReactElement {
|
|
4
4
|
ref?: Ref<T>;
|
|
5
5
|
}
|
|
6
|
-
export type MenuMode = "normal" | "wider" | "tiny";
|
|
6
|
+
export type MenuMode = "normal" | "wider" | "tiny" | "widest";
|
|
7
7
|
export interface IMenu {
|
|
8
8
|
/** Menu content */
|
|
9
9
|
children: ReactNode | ((childProps: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Menu.d.ts","sourceRoot":"","sources":["../../../../src/components/Menu/Menu.tsx"],"names":[],"mappings":"AAAA,OAAc,EAEZ,EAAE,EACF,SAAS,EACT,UAAU,EAIV,YAAY,EACZ,GAAG,EACJ,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAU3C,UAAU,cAAc,CAAC,CAAC,CAAE,SAAQ,YAAY;IAC9C,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;CACd;AAID,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"Menu.d.ts","sourceRoot":"","sources":["../../../../src/components/Menu/Menu.tsx"],"names":[],"mappings":"AAAA,OAAc,EAEZ,EAAE,EACF,SAAS,EACT,UAAU,EAIV,YAAY,EACZ,GAAG,EACJ,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAU3C,UAAU,cAAc,CAAC,CAAC,CAAE,SAAQ,YAAY;IAC9C,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;CACd;AAID,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;AAE9D,MAAM,WAAW,KAAK;IACpB,mBAAmB;IACnB,QAAQ,EACJ,SAAS,GACT,CAAC,CAAC,UAAU,EAAE;QAAE,UAAU,EAAE,MAAM,IAAI,CAAA;KAAE,KAAK,GAAG,CAAC,OAAO,CAAC,CAAC;IAC9D,4BAA4B;IAC5B,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IACvD,wBAAwB;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,yBAAyB;IACzB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,sBAAsB;IACtB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,4CAA4C;IAC5C,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,oDAAoD;IACpD,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,oDAAoD;IACpD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,4BAA4B;IAC5B,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC;IAC9B,oBAAoB;IACpB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,qBAAqB;IACrB,MAAM,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uBAAuB;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,6FAA6F;IAC7F,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,6CAA6C;IAC7C,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,qBAAqB;IACrB,YAAY,CAAC,EAAE,CAAC,GAAG,IAAI,OAAA,KAAK,IAAI,CAAC;CAClC;AAED,eAAO,MAAM,IAAI,EAAE,EAAE,CAAC,KAAK,CA0H1B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Menu.js","names":["React","useRef","useState","useCallback","useEffect","classnames","MenuContextProvider","StyledMenu","useForkRef","Overlay","Popper","Window","Menu","_ref","children","disableFocusLock","onMenuClick","handleScroll","mode","open","defaultOpen","onOpen","onClose","onBeforeClose","position","target","className","menuClassName","popperClassName","backgroundElementClass","windowAbsolutelyPositioned","onPopperOpen","setOpen","childNode","setChildNode","elementRef","isOpenAtLeastOnce","handleRefRef","ref","undefined","handleRef","handleOpen","event","_target$props","preventDefault","stopPropagation","props","onClick","handleClose","childProps","forceClose","targetProps","current","_elementRef$current","focus","createElement","Fragment","cloneElement","disableScrollLock","style","tabIndex","disableBackgroundColor","anchorEl","placement","afterWrite","$mode","onMouseDown","value","displayName"],"sources":["../../../../src/components/Menu/Menu.tsx"],"sourcesContent":["import React, {\n useRef,\n FC,\n ReactNode,\n MouseEvent,\n useState,\n useCallback,\n useEffect,\n ReactElement,\n Ref,\n} from \"react\";\n\nimport { Placement } from \"@popperjs/core\";\nimport classnames from \"classnames\";\n\nimport { MenuContextProvider } from \"./context\";\nimport { StyledMenu } from \"./Styles\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { Overlay } from \"../Overlay\";\nimport { Popper } from \"../Popper\";\nimport { Window } from \"../Window\";\n\ninterface ElementWithRef<T> extends ReactElement {\n ref?: Ref<T>;\n}\n\n// source: https://twitter.com/mattpocockuk/status/1671908303918473217/photo/1\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport type MenuMode = \"normal\" | \"wider\" | \"tiny\";\n\nexport interface IMenu {\n /** Menu content */\n children:\n | ReactNode\n | ((childProps: { forceClose: () => void }) => JSX.Element);\n /** On menu element click */\n onMenuClick?: (event: MouseEvent<HTMLElement>) => void;\n /** Handle scroll bar */\n handleScroll?: boolean;\n /** Disable Focus Lock */\n disableFocusLock?: boolean;\n /** Menu width mode */\n mode?: MenuMode;\n /** Should menu be open when it's mounted */\n open?: boolean;\n /** Callback triggered when modal has been opened */\n onOpen?: () => void;\n /** Callback triggered when modal has been closed */\n onClose?: () => void;\n /** Before close callback */\n onBeforeClose?: () => boolean;\n /** Position Menu */\n position?: Placement;\n /** Target element */\n target?: ElementWithRef<Element>;\n className?: string;\n /** Menu classes */\n menuClassName?: string;\n /** Popper class name*/\n popperClassName?: string;\n /** Background style for clickable element after the menu is open (opacity, color, etc...) */\n backgroundElementClass?: string;\n /** Should Window be positioned absolutely */\n windowAbsolutelyPositioned?: boolean;\n /** Popper on open */\n onPopperOpen?: (...args) => void;\n}\n\nexport const Menu: FC<IMenu> = ({\n children,\n disableFocusLock = false,\n onMenuClick,\n handleScroll = true,\n mode = \"normal\",\n open: defaultOpen = false,\n onOpen,\n onClose,\n onBeforeClose,\n position = \"bottom-start\",\n target,\n className,\n menuClassName,\n popperClassName,\n backgroundElementClass,\n windowAbsolutelyPositioned = false,\n onPopperOpen,\n}) => {\n const [open, setOpen] = useState(defaultOpen);\n const [childNode, setChildNode] = useState<Element | null>();\n const elementRef = useRef<HTMLElement | null>(null);\n const isOpenAtLeastOnce = useRef(false);\n\n useEffect(() => {\n setOpen(defaultOpen);\n }, [defaultOpen]);\n\n const handleRefRef = useForkRef(\n target ? target.ref : undefined,\n setChildNode\n );\n const handleRef = useForkRef(handleRefRef, elementRef);\n\n const handleOpen = useCallback(\n (\n event: Pick<MouseEvent<Element>, \"preventDefault\" | \"stopPropagation\">\n ) => {\n event?.preventDefault();\n event?.stopPropagation();\n setOpen(true);\n typeof onOpen === \"function\" && onOpen();\n typeof target?.props?.onClick === \"function\" &&\n target.props.onClick(event);\n },\n [onOpen, target?.props]\n );\n\n const handleClose = useCallback(() => {\n if (typeof onBeforeClose === \"function\" && !onBeforeClose()) {\n return;\n }\n setOpen(false);\n typeof onClose === \"function\" && onClose();\n }, [onClose, onBeforeClose]);\n\n const childProps = {\n forceClose: handleClose,\n };\n\n const targetProps = {\n open,\n ref: handleRef,\n onClick: handleOpen,\n };\n\n useEffect(() => {\n if (open) {\n isOpenAtLeastOnce.current = true;\n } else if (!open && isOpenAtLeastOnce.current) {\n elementRef.current?.focus();\n isOpenAtLeastOnce.current = false;\n }\n }, [open]);\n\n return (\n <>\n {target && React.cloneElement(target, targetProps)}\n {open ? (\n <Window\n onClose={handleClose}\n disableScrollLock={!handleScroll}\n disableFocusLock={disableFocusLock}\n style={{\n position: windowAbsolutelyPositioned ? \"absolute\" : \"fixed\",\n }}\n >\n <Overlay\n className={backgroundElementClass}\n onClick={handleClose}\n tabIndex={-1}\n disableBackgroundColor\n />\n <Popper\n anchorEl={childNode}\n open={childNode ? open : false}\n placement={position}\n className={popperClassName}\n tabIndex={-1}\n afterWrite={onPopperOpen}\n >\n <StyledMenu\n className={classnames(\n \"c-simple-menu__paper\",\n `c-simple-menu__${mode}`,\n menuClassName,\n className\n )}\n $mode={mode}\n onMouseDown={onMenuClick}\n >\n <MenuContextProvider value={{ open, setOpen }}>\n {typeof children === \"function\"\n ? children(childProps)\n : children}\n </MenuContextProvider>\n </StyledMenu>\n </Popper>\n </Window>\n ) : null}\n </>\n );\n};\n\nMenu.displayName = \"Menu\";\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Menu.js","names":["React","useRef","useState","useCallback","useEffect","classnames","MenuContextProvider","StyledMenu","useForkRef","Overlay","Popper","Window","Menu","_ref","children","disableFocusLock","onMenuClick","handleScroll","mode","open","defaultOpen","onOpen","onClose","onBeforeClose","position","target","className","menuClassName","popperClassName","backgroundElementClass","windowAbsolutelyPositioned","onPopperOpen","setOpen","childNode","setChildNode","elementRef","isOpenAtLeastOnce","handleRefRef","ref","undefined","handleRef","handleOpen","event","_target$props","preventDefault","stopPropagation","props","onClick","handleClose","childProps","forceClose","targetProps","current","_elementRef$current","focus","createElement","Fragment","cloneElement","disableScrollLock","style","tabIndex","disableBackgroundColor","anchorEl","placement","afterWrite","$mode","onMouseDown","value","displayName"],"sources":["../../../../src/components/Menu/Menu.tsx"],"sourcesContent":["import React, {\n useRef,\n FC,\n ReactNode,\n MouseEvent,\n useState,\n useCallback,\n useEffect,\n ReactElement,\n Ref,\n} from \"react\";\n\nimport { Placement } from \"@popperjs/core\";\nimport classnames from \"classnames\";\n\nimport { MenuContextProvider } from \"./context\";\nimport { StyledMenu } from \"./Styles\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { Overlay } from \"../Overlay\";\nimport { Popper } from \"../Popper\";\nimport { Window } from \"../Window\";\n\ninterface ElementWithRef<T> extends ReactElement {\n ref?: Ref<T>;\n}\n\n// source: https://twitter.com/mattpocockuk/status/1671908303918473217/photo/1\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport type MenuMode = \"normal\" | \"wider\" | \"tiny\" | \"widest\";\n\nexport interface IMenu {\n /** Menu content */\n children:\n | ReactNode\n | ((childProps: { forceClose: () => void }) => JSX.Element);\n /** On menu element click */\n onMenuClick?: (event: MouseEvent<HTMLElement>) => void;\n /** Handle scroll bar */\n handleScroll?: boolean;\n /** Disable Focus Lock */\n disableFocusLock?: boolean;\n /** Menu width mode */\n mode?: MenuMode;\n /** Should menu be open when it's mounted */\n open?: boolean;\n /** Callback triggered when modal has been opened */\n onOpen?: () => void;\n /** Callback triggered when modal has been closed */\n onClose?: () => void;\n /** Before close callback */\n onBeforeClose?: () => boolean;\n /** Position Menu */\n position?: Placement;\n /** Target element */\n target?: ElementWithRef<Element>;\n className?: string;\n /** Menu classes */\n menuClassName?: string;\n /** Popper class name*/\n popperClassName?: string;\n /** Background style for clickable element after the menu is open (opacity, color, etc...) */\n backgroundElementClass?: string;\n /** Should Window be positioned absolutely */\n windowAbsolutelyPositioned?: boolean;\n /** Popper on open */\n onPopperOpen?: (...args) => void;\n}\n\nexport const Menu: FC<IMenu> = ({\n children,\n disableFocusLock = false,\n onMenuClick,\n handleScroll = true,\n mode = \"normal\",\n open: defaultOpen = false,\n onOpen,\n onClose,\n onBeforeClose,\n position = \"bottom-start\",\n target,\n className,\n menuClassName,\n popperClassName,\n backgroundElementClass,\n windowAbsolutelyPositioned = false,\n onPopperOpen,\n}) => {\n const [open, setOpen] = useState(defaultOpen);\n const [childNode, setChildNode] = useState<Element | null>();\n const elementRef = useRef<HTMLElement | null>(null);\n const isOpenAtLeastOnce = useRef(false);\n\n useEffect(() => {\n setOpen(defaultOpen);\n }, [defaultOpen]);\n\n const handleRefRef = useForkRef(\n target ? target.ref : undefined,\n setChildNode\n );\n const handleRef = useForkRef(handleRefRef, elementRef);\n\n const handleOpen = useCallback(\n (\n event: Pick<MouseEvent<Element>, \"preventDefault\" | \"stopPropagation\">\n ) => {\n event?.preventDefault();\n event?.stopPropagation();\n setOpen(true);\n typeof onOpen === \"function\" && onOpen();\n typeof target?.props?.onClick === \"function\" &&\n target.props.onClick(event);\n },\n [onOpen, target?.props]\n );\n\n const handleClose = useCallback(() => {\n if (typeof onBeforeClose === \"function\" && !onBeforeClose()) {\n return;\n }\n setOpen(false);\n typeof onClose === \"function\" && onClose();\n }, [onClose, onBeforeClose]);\n\n const childProps = {\n forceClose: handleClose,\n };\n\n const targetProps = {\n open,\n ref: handleRef,\n onClick: handleOpen,\n };\n\n useEffect(() => {\n if (open) {\n isOpenAtLeastOnce.current = true;\n } else if (!open && isOpenAtLeastOnce.current) {\n elementRef.current?.focus();\n isOpenAtLeastOnce.current = false;\n }\n }, [open]);\n\n return (\n <>\n {target && React.cloneElement(target, targetProps)}\n {open ? (\n <Window\n onClose={handleClose}\n disableScrollLock={!handleScroll}\n disableFocusLock={disableFocusLock}\n style={{\n position: windowAbsolutelyPositioned ? \"absolute\" : \"fixed\",\n }}\n >\n <Overlay\n className={backgroundElementClass}\n onClick={handleClose}\n tabIndex={-1}\n disableBackgroundColor\n />\n <Popper\n anchorEl={childNode}\n open={childNode ? open : false}\n placement={position}\n className={popperClassName}\n tabIndex={-1}\n afterWrite={onPopperOpen}\n >\n <StyledMenu\n className={classnames(\n \"c-simple-menu__paper\",\n `c-simple-menu__${mode}`,\n menuClassName,\n className\n )}\n $mode={mode}\n onMouseDown={onMenuClick}\n >\n <MenuContextProvider value={{ open, setOpen }}>\n {typeof children === \"function\"\n ? children(childProps)\n : children}\n </MenuContextProvider>\n </StyledMenu>\n </Popper>\n </Window>\n ) : null}\n </>\n );\n};\n\nMenu.displayName = \"Menu\";\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../src/components/Menu/Styles.ts"],"names":[],"mappings":";AAOA,eAAO,MAAM,UAAU;WAA2B,MAAM;
|
|
1
|
+
{"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../src/components/Menu/Styles.ts"],"names":[],"mappings":";AAOA,eAAO,MAAM,UAAU;WAA2B,MAAM;SAmCvD,CAAC;AAGF,eAAO,MAAM,gBAAgB,oEAO5B,CAAC;AAGF,eAAO,MAAM,gBAAgB,oEAK5B,CAAC"}
|
|
@@ -5,13 +5,13 @@ import { FontStyle } from "../FontStyle";
|
|
|
5
5
|
export const StyledMenu = styled(Bubble).withConfig({
|
|
6
6
|
displayName: "Styles__StyledMenu",
|
|
7
7
|
componentId: "sc-8fhkp-0"
|
|
8
|
-
})(["", " ", " ", " color:var(--color-theme-700);a:focus,a:active{outline:none;}", " ", " ", ""], {
|
|
8
|
+
})(["", " ", " ", " color:var(--color-theme-700);a:focus,a:active{outline:none;}", " ", " ", " ", ""], {
|
|
9
9
|
"marginTop": "0.25rem",
|
|
10
10
|
"marginBottom": "0.25rem",
|
|
11
11
|
"overflow": "auto",
|
|
12
12
|
"borderColor": "var(--border-primary)",
|
|
13
13
|
"backgroundColor": "var(--page-paper-main)"
|
|
14
|
-
}, FontStyle, BoxSizingStyle, props => props.$mode === "normal" && css(["width:260px;"]), props => props.$mode === "wider" && css(["width:350px;"]), props => props.$mode === "tiny" && css(["width:180px;"]));
|
|
14
|
+
}, FontStyle, BoxSizingStyle, props => props.$mode === "normal" && css(["width:260px;"]), props => props.$mode === "wider" && css(["width:350px;"]), props => props.$mode === "tiny" && css(["width:180px;"]), props => props.$mode === "widest" && css(["width:590px;"]));
|
|
15
15
|
StyledMenu.displayName = "StyledMenu";
|
|
16
16
|
export const StyledMenuFooter = styled.div.withConfig({
|
|
17
17
|
displayName: "Styles__StyledMenuFooter",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Styles.js","names":["styled","css","BoxSizingStyle","Bubble","FontStyle","StyledMenu","withConfig","displayName","componentId","props","$mode","StyledMenuFooter","div","StyledMenuHeader"],"sources":["../../../../src/components/Menu/Styles.ts"],"sourcesContent":["import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\n\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { Bubble } from \"../Bubble\";\nimport { FontStyle } from \"../FontStyle\";\n\nexport const StyledMenu = styled(Bubble)<{ $mode: string }>`\n ${tw`tw-bg-page-paper-main tw-border-border-primary tw-my-1 tw-overflow-auto`}\n\n ${FontStyle}\n ${BoxSizingStyle}\n \n color: var(--color-theme-700);\n a:focus,\n a:active {\n outline: none;\n }\n\n ${(props) =>\n props.$mode === \"normal\" &&\n css`\n width: 260px;\n `}\n\n ${(props) =>\n props.$mode === \"wider\" &&\n css`\n width: 350px;\n `}\n\n ${(props) =>\n props.$mode === \"tiny\" &&\n css`\n width: 180px;\n `}\n`;\nStyledMenu.displayName = \"StyledMenu\";\n\nexport const StyledMenuFooter = styled.div`\n ${tw`tw-flex tw-px-2 tw-py-1`}\n\n display: flex;\n border-top: 1px solid var(--border-primary);\n height: 32px;\n align-items: center;\n`;\nStyledMenuFooter.displayName = \"StyledMenuFooter\";\n\nexport const StyledMenuHeader = styled.div`\n ${tw`tw-flex tw-items-center tw-justify-between tw-px-2 tw-py-1`}\n\n border-bottom: 1px solid var(--border-primary);\n height: 32px;\n`;\nStyledMenuHeader.displayName = \"StyledMenuHeader\";\n"],"mappings":"AAAA,OAAOA,MAAM,IAAIC,GAAG,QAAQ,mBAAmB;AAG/C,SAASC,cAAc,QAAQ,mBAAmB;AAClD,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,SAAS,QAAQ,cAAc;AAExC,OAAO,MAAMC,UAAU,GAAGL,MAAM,CAACG,MAAM,CAAC,CAAAG,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"Styles.js","names":["styled","css","BoxSizingStyle","Bubble","FontStyle","StyledMenu","withConfig","displayName","componentId","props","$mode","StyledMenuFooter","div","StyledMenuHeader"],"sources":["../../../../src/components/Menu/Styles.ts"],"sourcesContent":["import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\n\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { Bubble } from \"../Bubble\";\nimport { FontStyle } from \"../FontStyle\";\n\nexport const StyledMenu = styled(Bubble)<{ $mode: string }>`\n ${tw`tw-bg-page-paper-main tw-border-border-primary tw-my-1 tw-overflow-auto`}\n\n ${FontStyle}\n ${BoxSizingStyle}\n \n color: var(--color-theme-700);\n a:focus,\n a:active {\n outline: none;\n }\n\n ${(props) =>\n props.$mode === \"normal\" &&\n css`\n width: 260px;\n `}\n\n ${(props) =>\n props.$mode === \"wider\" &&\n css`\n width: 350px;\n `}\n\n ${(props) =>\n props.$mode === \"tiny\" &&\n css`\n width: 180px;\n `}\n\n ${(props) =>\n props.$mode === \"widest\" &&\n css`\n width: 590px;\n `}\n`;\nStyledMenu.displayName = \"StyledMenu\";\n\nexport const StyledMenuFooter = styled.div`\n ${tw`tw-flex tw-px-2 tw-py-1`}\n\n display: flex;\n border-top: 1px solid var(--border-primary);\n height: 32px;\n align-items: center;\n`;\nStyledMenuFooter.displayName = \"StyledMenuFooter\";\n\nexport const StyledMenuHeader = styled.div`\n ${tw`tw-flex tw-items-center tw-justify-between tw-px-2 tw-py-1`}\n\n border-bottom: 1px solid var(--border-primary);\n height: 32px;\n`;\nStyledMenuHeader.displayName = \"StyledMenuHeader\";\n"],"mappings":"AAAA,OAAOA,MAAM,IAAIC,GAAG,QAAQ,mBAAmB;AAG/C,SAASC,cAAc,QAAQ,mBAAmB;AAClD,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,SAAS,QAAQ,cAAc;AAExC,OAAO,MAAMC,UAAU,GAAGL,MAAM,CAACG,MAAM,CAAC,CAAAG,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,uGAClC;EAAA;EAAA;EAAA;EAAA;EAAA;AAAwE,CAAC,EAE3EJ,SAAS,EACTF,cAAc,EAQbO,KAAK,IACNA,KAAK,CAACC,KAAK,KAAK,QAAQ,IACxBT,GAAG,kBAEF,EAEAQ,KAAK,IACNA,KAAK,CAACC,KAAK,KAAK,OAAO,IACvBT,GAAG,kBAEF,EAEAQ,KAAK,IACNA,KAAK,CAACC,KAAK,KAAK,MAAM,IACtBT,GAAG,kBAEF,EAEAQ,KAAK,IACNA,KAAK,CAACC,KAAK,KAAK,QAAQ,IACxBT,GAAG,kBAEF,CACJ;AACDI,UAAU,CAACE,WAAW,GAAG,YAAY;AAErC,OAAO,MAAMI,gBAAgB,GAAGX,MAAM,CAACY,GAAG,CAAAN,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,qGACpC;EAAA;EAAA;EAAA;EAAA;EAAA;AAAwB,CAAC,CAM9B;AACDG,gBAAgB,CAACJ,WAAW,GAAG,kBAAkB;AAEjD,OAAO,MAAMM,gBAAgB,GAAGb,MAAM,CAACY,GAAG,CAAAN,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,wEACpC;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAA2D,CAAC,CAIjE;AACDK,gBAAgB,CAACN,WAAW,GAAG,kBAAkB"}
|
package/dist/index.js
CHANGED
|
@@ -7844,7 +7844,7 @@
|
|
|
7844
7844
|
var StyledMenu$2 = styled__default["default"](Bubble).withConfig({
|
|
7845
7845
|
displayName: "Styles__StyledMenu",
|
|
7846
7846
|
componentId: "sc-8fhkp-0"
|
|
7847
|
-
})(["", " ", " ", " color:var(--color-theme-700);a:focus,a:active{outline:none;}", " ", " ", ""], {
|
|
7847
|
+
})(["", " ", " ", " color:var(--color-theme-700);a:focus,a:active{outline:none;}", " ", " ", " ", ""], {
|
|
7848
7848
|
"marginTop": "0.25rem",
|
|
7849
7849
|
"marginBottom": "0.25rem",
|
|
7850
7850
|
"overflow": "auto",
|
|
@@ -7856,6 +7856,8 @@
|
|
|
7856
7856
|
return props.$mode === "wider" && styled.css(["width:350px;"]);
|
|
7857
7857
|
}, function (props) {
|
|
7858
7858
|
return props.$mode === "tiny" && styled.css(["width:180px;"]);
|
|
7859
|
+
}, function (props) {
|
|
7860
|
+
return props.$mode === "widest" && styled.css(["width:590px;"]);
|
|
7859
7861
|
});
|
|
7860
7862
|
StyledMenu$2.displayName = "StyledMenu";
|
|
7861
7863
|
var StyledMenuFooter$1 = styled__default["default"].div.withConfig({
|