@activecollab/components 1.0.40 → 1.0.41

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.
@@ -108,8 +108,7 @@ var Menu = function Menu(_ref) {
108
108
  disableFocusLock: disableFocusLock,
109
109
  style: {
110
110
  position: windowAbsolutelyPositioned ? "absolute" : "fixed"
111
- },
112
- preventDefaultClickEvent: true
111
+ }
113
112
  }, /*#__PURE__*/_react.default.createElement(_Overlay.Overlay, {
114
113
  className: backgroundElementClass,
115
114
  onClick: handleClose,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Menu/Menu.tsx"],"names":["Menu","children","disableFocusLock","onMenuClick","handleScroll","mode","open","defaultOpen","onOpen","onClose","onBeforeClose","position","target","className","menuClassName","popperClassName","backgroundElementClass","windowAbsolutelyPositioned","setOpen","childNode","setChildNode","elementRef","handleRefRef","ref","undefined","handleRef","handleOpen","event","preventDefault","handleClose","childProps","forceClose","targetProps","onClick","React","cloneElement","displayName"],"mappings":"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","sourcesContent":["import React, {\n useRef,\n FC,\n ReactNode,\n MouseEvent,\n useState,\n useCallback,\n useEffect,\n ReactElement,\n Ref,\n} from \"react\";\nimport classnames from \"classnames\";\nimport { Popper } from \"../Popper\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { Overlay } from \"../Overlay\";\nimport { Window } from \"../Window\";\nimport { Placement } from \"@popperjs/core\";\nimport { MenuContextProvider } from \"./context\";\nimport { StyledMenu } from \"./Styles\";\n\ninterface ElementWithRef<T> extends ReactElement {\n ref?: Ref<T>;\n}\n\nexport type MenuMode = \"normal\" | \"wider\" | \"tiny\";\n\nexport interface IMenu {\n /** Menu content */\n children: ReactNode;\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}\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}) => {\n const [open, setOpen] = useState(defaultOpen);\n const [childNode, setChildNode] = useState<Element | null>();\n const elementRef = useRef<Element | null>(null);\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 (event: Pick<MouseEvent<Element>, \"preventDefault\">) => {\n event && event.preventDefault();\n setOpen(true);\n typeof onOpen === \"function\" && onOpen();\n },\n [onOpen]\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 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 preventDefaultClickEvent\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 >\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"],"file":"Menu.js"}
1
+ {"version":3,"sources":["../../../../src/components/Menu/Menu.tsx"],"names":["Menu","children","disableFocusLock","onMenuClick","handleScroll","mode","open","defaultOpen","onOpen","onClose","onBeforeClose","position","target","className","menuClassName","popperClassName","backgroundElementClass","windowAbsolutelyPositioned","setOpen","childNode","setChildNode","elementRef","handleRefRef","ref","undefined","handleRef","handleOpen","event","preventDefault","handleClose","childProps","forceClose","targetProps","onClick","React","cloneElement","displayName"],"mappings":"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","sourcesContent":["import React, {\n useRef,\n FC,\n ReactNode,\n MouseEvent,\n useState,\n useCallback,\n useEffect,\n ReactElement,\n Ref,\n} from \"react\";\nimport classnames from \"classnames\";\nimport { Popper } from \"../Popper\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { Overlay } from \"../Overlay\";\nimport { Window } from \"../Window\";\nimport { Placement } from \"@popperjs/core\";\nimport { MenuContextProvider } from \"./context\";\nimport { StyledMenu } from \"./Styles\";\n\ninterface ElementWithRef<T> extends ReactElement {\n ref?: Ref<T>;\n}\n\nexport type MenuMode = \"normal\" | \"wider\" | \"tiny\";\n\nexport interface IMenu {\n /** Menu content */\n children: ReactNode;\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}\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}) => {\n const [open, setOpen] = useState(defaultOpen);\n const [childNode, setChildNode] = useState<Element | null>();\n const elementRef = useRef<Element | null>(null);\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 (event: Pick<MouseEvent<Element>, \"preventDefault\">) => {\n event && event.preventDefault();\n setOpen(true);\n typeof onOpen === \"function\" && onOpen();\n },\n [onOpen]\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 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 >\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"],"file":"Menu.js"}
@@ -87,8 +87,9 @@ var Modal = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
87
87
  typeof onClose === "function" && onClose();
88
88
  }
89
89
  }, [hasTransition, onClose]);
90
- var handleBackgroundClick = (0, _react.useCallback)(function () {
90
+ var handleBackgroundClick = (0, _react.useCallback)(function (event) {
91
91
  if (!disableBackgroundClick) {
92
+ event.preventDefault();
92
93
  handleClose();
93
94
  }
94
95
  }, [disableBackgroundClick, handleClose]);
@@ -121,8 +122,7 @@ var Modal = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
121
122
  ref: handleRef,
122
123
  onClose: handleClose,
123
124
  disableFocusLock: disableFocusLock,
124
- disableScrollLock: disableScrollLock,
125
- preventDefaultClickEvent: true
125
+ disableScrollLock: disableScrollLock
126
126
  }), open ? /*#__PURE__*/_react.default.createElement(_Overlay.Overlay, {
127
127
  onClick: handleBackgroundClick,
128
128
  disableBackgroundColor: disableBackgroundColor
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Modal/Modal.tsx"],"names":["getHasTransition","children","props","Object","prototype","hasOwnProperty","call","Modal","ref","disableFocusLock","disableScrollLock","disableBackgroundClick","disableBackgroundColor","open","defaultOpen","onClose","rest","setOpen","exited","setExited","innerRef","handleRef","hasTransition","handleClose","handleBackgroundClick","handleEnter","handleExited","childProps","onEnter","onExited","in","displayName"],"mappings":"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","sourcesContent":["import React, {\n forwardRef,\n HTMLAttributes,\n useRef,\n cloneElement,\n useMemo,\n useCallback,\n ReactElement,\n useState,\n useEffect,\n} from \"react\";\nimport { Window } from \"../Window\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport createChainedFunction from \"../../utils/createChainedFunction\";\nimport { Overlay } from \"../Overlay\";\n\ninterface IModal {\n disableFocusLock?: boolean;\n disableScrollLock?: boolean;\n open?: boolean;\n disableBackgroundClick?: boolean;\n disableBackgroundColor?: boolean;\n onClose?: () => void;\n children: ReactElement;\n}\n\nconst getHasTransition = (children): boolean => {\n return children.props\n ? Object.prototype.hasOwnProperty.call(children.props, \"in\")\n : false;\n};\n\nexport const Modal = forwardRef<\n HTMLDivElement,\n IModal & HTMLAttributes<HTMLDivElement>\n>(\n (\n {\n children,\n disableFocusLock = false,\n disableScrollLock = false,\n disableBackgroundClick = false,\n disableBackgroundColor = false,\n open: defaultOpen = false,\n onClose,\n ...rest\n },\n ref\n ) => {\n const [open, setOpen] = useState(defaultOpen);\n const [exited, setExited] = useState(true);\n const innerRef = useRef<HTMLDivElement>(null);\n const handleRef = useForkRef(innerRef, ref);\n\n const hasTransition = useMemo(() => {\n return getHasTransition(children);\n }, [children]);\n\n useEffect(() => {\n setOpen(defaultOpen);\n }, [defaultOpen]);\n\n const handleClose = useCallback(() => {\n setOpen(false);\n if (!hasTransition) {\n typeof onClose === \"function\" && onClose();\n }\n }, [hasTransition, onClose]);\n\n const handleBackgroundClick = useCallback(() => {\n if (!disableBackgroundClick) {\n handleClose();\n }\n }, [disableBackgroundClick, handleClose]);\n\n const handleEnter = useCallback(() => {\n setExited(false);\n }, []);\n\n const handleExited = useCallback(() => {\n setExited(true);\n typeof onClose === \"function\" && onClose();\n }, [onClose]);\n\n const childProps = useMemo(() => {\n let props = {};\n\n // It's a Transition like component\n if (hasTransition && children) {\n props = {\n onEnter: createChainedFunction(handleEnter, children.props.onEnter),\n onExited: createChainedFunction(\n handleExited,\n children.props.onExited\n ),\n in: open,\n };\n }\n\n return props;\n }, [children, handleEnter, handleExited, hasTransition, open]);\n\n if (!open && (!hasTransition || exited)) {\n return null;\n }\n\n return (\n <Window\n {...rest}\n ref={handleRef}\n onClose={handleClose}\n disableFocusLock={disableFocusLock}\n disableScrollLock={disableScrollLock}\n preventDefaultClickEvent\n >\n {open ? (\n <Overlay\n onClick={handleBackgroundClick}\n disableBackgroundColor={disableBackgroundColor}\n />\n ) : null}\n {cloneElement(children, childProps)}\n </Window>\n );\n }\n);\n\nModal.displayName = \"Modal\";\n"],"file":"Modal.js"}
1
+ {"version":3,"sources":["../../../../src/components/Modal/Modal.tsx"],"names":["getHasTransition","children","props","Object","prototype","hasOwnProperty","call","Modal","ref","disableFocusLock","disableScrollLock","disableBackgroundClick","disableBackgroundColor","open","defaultOpen","onClose","rest","setOpen","exited","setExited","innerRef","handleRef","hasTransition","handleClose","handleBackgroundClick","event","preventDefault","handleEnter","handleExited","childProps","onEnter","onExited","in","displayName"],"mappings":"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","sourcesContent":["import React, {\n forwardRef,\n HTMLAttributes,\n useRef,\n cloneElement,\n useMemo,\n useCallback,\n ReactElement,\n useState,\n useEffect,\n MouseEvent,\n} from \"react\";\nimport { Window } from \"../Window\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport createChainedFunction from \"../../utils/createChainedFunction\";\nimport { Overlay } from \"../Overlay\";\n\ninterface IModal {\n disableFocusLock?: boolean;\n disableScrollLock?: boolean;\n open?: boolean;\n disableBackgroundClick?: boolean;\n disableBackgroundColor?: boolean;\n onClose?: () => void;\n children: ReactElement;\n}\n\nconst getHasTransition = (children): boolean => {\n return children.props\n ? Object.prototype.hasOwnProperty.call(children.props, \"in\")\n : false;\n};\n\nexport const Modal = forwardRef<\n HTMLDivElement,\n IModal & HTMLAttributes<HTMLDivElement>\n>(\n (\n {\n children,\n disableFocusLock = false,\n disableScrollLock = false,\n disableBackgroundClick = false,\n disableBackgroundColor = false,\n open: defaultOpen = false,\n onClose,\n ...rest\n },\n ref\n ) => {\n const [open, setOpen] = useState(defaultOpen);\n const [exited, setExited] = useState(true);\n const innerRef = useRef<HTMLDivElement>(null);\n const handleRef = useForkRef(innerRef, ref);\n\n const hasTransition = useMemo(() => {\n return getHasTransition(children);\n }, [children]);\n\n useEffect(() => {\n setOpen(defaultOpen);\n }, [defaultOpen]);\n\n const handleClose = useCallback(() => {\n setOpen(false);\n if (!hasTransition) {\n typeof onClose === \"function\" && onClose();\n }\n }, [hasTransition, onClose]);\n\n const handleBackgroundClick = useCallback(\n (event: MouseEvent<HTMLDivElement>) => {\n if (!disableBackgroundClick) {\n event.preventDefault();\n handleClose();\n }\n },\n [disableBackgroundClick, handleClose]\n );\n\n const handleEnter = useCallback(() => {\n setExited(false);\n }, []);\n\n const handleExited = useCallback(() => {\n setExited(true);\n typeof onClose === \"function\" && onClose();\n }, [onClose]);\n\n const childProps = useMemo(() => {\n let props = {};\n\n // It's a Transition like component\n if (hasTransition && children) {\n props = {\n onEnter: createChainedFunction(handleEnter, children.props.onEnter),\n onExited: createChainedFunction(\n handleExited,\n children.props.onExited\n ),\n in: open,\n };\n }\n\n return props;\n }, [children, handleEnter, handleExited, hasTransition, open]);\n\n if (!open && (!hasTransition || exited)) {\n return null;\n }\n\n return (\n <Window\n {...rest}\n ref={handleRef}\n onClose={handleClose}\n disableFocusLock={disableFocusLock}\n disableScrollLock={disableScrollLock}\n >\n {open ? (\n <Overlay\n onClick={handleBackgroundClick}\n disableBackgroundColor={disableBackgroundColor}\n />\n ) : null}\n {cloneElement(children, childProps)}\n </Window>\n );\n }\n);\n\nModal.displayName = \"Modal\";\n"],"file":"Modal.js"}
@@ -97,8 +97,9 @@ var Sheet = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
97
97
  var handleClose = (0, _react.useCallback)(function () {
98
98
  setOpen(false);
99
99
  }, []);
100
- var handleBackgroundClick = (0, _react.useCallback)(function () {
100
+ var handleBackgroundClick = (0, _react.useCallback)(function (event) {
101
101
  if (!disableBackgroundClick) {
102
+ event.preventDefault();
102
103
  handleClose();
103
104
  }
104
105
  }, [disableBackgroundClick, handleClose]);
@@ -111,8 +112,7 @@ var Sheet = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
111
112
  ref: handleRef,
112
113
  onClose: handleClose,
113
114
  disableFocusLock: disableFocusLock,
114
- disableScrollLock: disableScrollLock,
115
- preventDefaultClickEvent: true
115
+ disableScrollLock: disableScrollLock
116
116
  }), open ? /*#__PURE__*/_react.default.createElement(_Overlay.Overlay, {
117
117
  onClick: handleBackgroundClick,
118
118
  disableBackgroundColor: disableBackgroundColor
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Sheet/Sheet.tsx"],"names":["Sheet","ref","children","onClose","controls","open","defaultOpen","animation","position","mode","disableFocusLock","disableScrollLock","disableBackgroundColor","bodyStyle","bodyClassName","disableBackgroundClick","rest","setOpen","exited","setExited","innerRef","handleRef","handleEnter","handleExited","handleClose","handleBackgroundClick","length","map","item","index","maxDurationIn","maxDurationOut","control","durationOut","durationIn","state","displayName"],"mappings":"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","sourcesContent":["import React, {\n useRef,\n useCallback,\n useEffect,\n forwardRef,\n HTMLAttributes,\n useState,\n CSSProperties,\n ReactElement,\n} from \"react\";\n\nimport { Transition } from \"react-transition-group\";\nimport { Window } from \"../Window\";\nimport classnames from \"classnames\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport {\n StyledAnimatedSpan,\n StyledCssTransition,\n StyledSheetIcons,\n StyledSheetWrapper,\n StyledSheetWrapperPaper,\n} from \"./Styles\";\nimport { Overlay } from \"../Overlay\";\n\ninterface ISheet {\n onClose?: () => void;\n controls?: JSX.Element[];\n open?: boolean;\n animation?: \"top\" | \"bottom\" | \"left\" | \"right\";\n position?: \"center\" | \"left\" | \"right\";\n mode?: \"normal\" | \"stretch\";\n disableFocusLock?: boolean;\n disableScrollLock?: boolean;\n disableBackgroundColor?: boolean;\n bodyStyle?: CSSProperties;\n bodyClassName?: string;\n disableBackgroundClick?: boolean;\n}\n\nexport const Sheet = forwardRef<\n HTMLDivElement,\n ISheet & HTMLAttributes<HTMLDivElement>\n>(\n (\n {\n children,\n onClose,\n controls = [],\n open: defaultOpen = false,\n animation = \"top\",\n position = \"center\",\n mode = \"normal\",\n disableFocusLock = false,\n disableScrollLock = false,\n disableBackgroundColor = false,\n bodyStyle,\n bodyClassName,\n disableBackgroundClick = false,\n ...rest\n },\n ref\n ) => {\n const [open, setOpen] = useState(defaultOpen);\n const [exited, setExited] = useState(true);\n const innerRef = useRef<HTMLDivElement>(null);\n\n const handleRef = useForkRef(innerRef, ref);\n\n useEffect(() => {\n setOpen(defaultOpen);\n }, [defaultOpen]);\n\n const handleEnter = useCallback(() => {\n setExited(false);\n }, []);\n\n const handleExited = useCallback(() => {\n setExited(true);\n typeof onClose === \"function\" && onClose();\n }, [onClose]);\n\n const handleClose = useCallback(() => {\n setOpen(false);\n }, []);\n\n const handleBackgroundClick = useCallback(() => {\n if (!disableBackgroundClick) {\n handleClose();\n }\n }, [disableBackgroundClick, handleClose]);\n\n if (!open && exited) {\n return null;\n }\n\n return (\n <Window\n {...rest}\n ref={handleRef}\n onClose={handleClose}\n disableFocusLock={disableFocusLock}\n disableScrollLock={disableScrollLock}\n preventDefaultClickEvent\n >\n {open ? (\n <Overlay\n onClick={handleBackgroundClick}\n disableBackgroundColor={disableBackgroundColor}\n />\n ) : null}\n <StyledSheetWrapper\n className={classnames(\"c-sheet__wrapper\", bodyClassName)}\n style={bodyStyle}\n $position={position}\n $mode={mode}\n >\n {controls.length ? (\n <StyledSheetIcons>\n {controls.map((item, index) => {\n const maxDurationIn = 4; // max duration 4 for 400ms, shorten .4s\n const maxDurationOut = 2; // max duration 2 for 200ms, shorten .2s\n const control = index + 1;\n const durationOut =\n controls.length > maxDurationOut\n ? maxDurationOut\n : maxDurationOut - control;\n const durationIn = control >= maxDurationIn ? 1 : control;\n return (\n <Transition\n appear\n in={open}\n timeout={maxDurationIn * 100}\n key={`c-sheet-control-${index}`}\n >\n {(state): ReactElement => (\n <StyledAnimatedSpan\n $state={state}\n $mode={mode}\n $maxDurationIn={maxDurationIn / 10}\n $maxDurationOut={maxDurationOut / 10}\n $durationOut={durationOut / 10}\n $durationIn={durationIn / 10}\n >\n {item}\n </StyledAnimatedSpan>\n )}\n </Transition>\n );\n })}\n </StyledSheetIcons>\n ) : null}\n <StyledCssTransition\n appear\n in={open}\n timeout={400}\n classNames={\"c-sheet__animation\"}\n $direction={animation}\n onEnter={handleEnter}\n onExited={handleExited}\n >\n <StyledSheetWrapperPaper className=\"c-sheet__wrapper__paper\">\n {children}\n </StyledSheetWrapperPaper>\n </StyledCssTransition>\n </StyledSheetWrapper>\n </Window>\n );\n }\n);\n\nSheet.displayName = \"Sheet\";\n"],"file":"Sheet.js"}
1
+ {"version":3,"sources":["../../../../src/components/Sheet/Sheet.tsx"],"names":["Sheet","ref","children","onClose","controls","open","defaultOpen","animation","position","mode","disableFocusLock","disableScrollLock","disableBackgroundColor","bodyStyle","bodyClassName","disableBackgroundClick","rest","setOpen","exited","setExited","innerRef","handleRef","handleEnter","handleExited","handleClose","handleBackgroundClick","event","preventDefault","length","map","item","index","maxDurationIn","maxDurationOut","control","durationOut","durationIn","state","displayName"],"mappings":"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","sourcesContent":["import React, {\n useRef,\n useCallback,\n useEffect,\n forwardRef,\n HTMLAttributes,\n useState,\n CSSProperties,\n ReactElement,\n MouseEvent,\n} from \"react\";\n\nimport { Transition } from \"react-transition-group\";\nimport { Window } from \"../Window\";\nimport classnames from \"classnames\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport {\n StyledAnimatedSpan,\n StyledCssTransition,\n StyledSheetIcons,\n StyledSheetWrapper,\n StyledSheetWrapperPaper,\n} from \"./Styles\";\nimport { Overlay } from \"../Overlay\";\n\ninterface ISheet {\n onClose?: () => void;\n controls?: JSX.Element[];\n open?: boolean;\n animation?: \"top\" | \"bottom\" | \"left\" | \"right\";\n position?: \"center\" | \"left\" | \"right\";\n mode?: \"normal\" | \"stretch\";\n disableFocusLock?: boolean;\n disableScrollLock?: boolean;\n disableBackgroundColor?: boolean;\n bodyStyle?: CSSProperties;\n bodyClassName?: string;\n disableBackgroundClick?: boolean;\n}\n\nexport const Sheet = forwardRef<\n HTMLDivElement,\n ISheet & HTMLAttributes<HTMLDivElement>\n>(\n (\n {\n children,\n onClose,\n controls = [],\n open: defaultOpen = false,\n animation = \"top\",\n position = \"center\",\n mode = \"normal\",\n disableFocusLock = false,\n disableScrollLock = false,\n disableBackgroundColor = false,\n bodyStyle,\n bodyClassName,\n disableBackgroundClick = false,\n ...rest\n },\n ref\n ) => {\n const [open, setOpen] = useState(defaultOpen);\n const [exited, setExited] = useState(true);\n const innerRef = useRef<HTMLDivElement>(null);\n\n const handleRef = useForkRef(innerRef, ref);\n\n useEffect(() => {\n setOpen(defaultOpen);\n }, [defaultOpen]);\n\n const handleEnter = useCallback(() => {\n setExited(false);\n }, []);\n\n const handleExited = useCallback(() => {\n setExited(true);\n typeof onClose === \"function\" && onClose();\n }, [onClose]);\n\n const handleClose = useCallback(() => {\n setOpen(false);\n }, []);\n\n const handleBackgroundClick = useCallback(\n (event: MouseEvent<HTMLDivElement>) => {\n if (!disableBackgroundClick) {\n event.preventDefault();\n handleClose();\n }\n },\n [disableBackgroundClick, handleClose]\n );\n\n if (!open && exited) {\n return null;\n }\n\n return (\n <Window\n {...rest}\n ref={handleRef}\n onClose={handleClose}\n disableFocusLock={disableFocusLock}\n disableScrollLock={disableScrollLock}\n >\n {open ? (\n <Overlay\n onClick={handleBackgroundClick}\n disableBackgroundColor={disableBackgroundColor}\n />\n ) : null}\n <StyledSheetWrapper\n className={classnames(\"c-sheet__wrapper\", bodyClassName)}\n style={bodyStyle}\n $position={position}\n $mode={mode}\n >\n {controls.length ? (\n <StyledSheetIcons>\n {controls.map((item, index) => {\n const maxDurationIn = 4; // max duration 4 for 400ms, shorten .4s\n const maxDurationOut = 2; // max duration 2 for 200ms, shorten .2s\n const control = index + 1;\n const durationOut =\n controls.length > maxDurationOut\n ? maxDurationOut\n : maxDurationOut - control;\n const durationIn = control >= maxDurationIn ? 1 : control;\n return (\n <Transition\n appear\n in={open}\n timeout={maxDurationIn * 100}\n key={`c-sheet-control-${index}`}\n >\n {(state): ReactElement => (\n <StyledAnimatedSpan\n $state={state}\n $mode={mode}\n $maxDurationIn={maxDurationIn / 10}\n $maxDurationOut={maxDurationOut / 10}\n $durationOut={durationOut / 10}\n $durationIn={durationIn / 10}\n >\n {item}\n </StyledAnimatedSpan>\n )}\n </Transition>\n );\n })}\n </StyledSheetIcons>\n ) : null}\n <StyledCssTransition\n appear\n in={open}\n timeout={400}\n classNames={\"c-sheet__animation\"}\n $direction={animation}\n onEnter={handleEnter}\n onExited={handleExited}\n >\n <StyledSheetWrapperPaper className=\"c-sheet__wrapper__paper\">\n {children}\n </StyledSheetWrapperPaper>\n </StyledCssTransition>\n </StyledSheetWrapper>\n </Window>\n );\n }\n);\n\nSheet.displayName = \"Sheet\";\n"],"file":"Sheet.js"}
@@ -21,7 +21,7 @@ var _reactRemoveScroll = require("react-remove-scroll");
21
21
 
22
22
  var _Style = require("./Style");
23
23
 
24
- var _excluded = ["children", "onClose", "className", "style", "onKeyDown", "onClick", "disableFocusLock", "disableScrollLock", "preventDefaultClickEvent"];
24
+ var _excluded = ["children", "onClose", "className", "style", "onKeyDown", "disableFocusLock", "disableScrollLock"];
25
25
 
26
26
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
27
 
@@ -50,13 +50,10 @@ var Window = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
50
50
  className = _ref.className,
51
51
  style = _ref.style,
52
52
  onKeyDown = _ref.onKeyDown,
53
- onClick = _ref.onClick,
54
53
  _ref$disableFocusLock = _ref.disableFocusLock,
55
54
  disableFocusLock = _ref$disableFocusLock === void 0 ? false : _ref$disableFocusLock,
56
55
  _ref$disableScrollLoc = _ref.disableScrollLock,
57
56
  disableScrollLock = _ref$disableScrollLoc === void 0 ? false : _ref$disableScrollLoc,
58
- _ref$preventDefaultCl = _ref.preventDefaultClickEvent,
59
- preventDefaultClickEvent = _ref$preventDefaultCl === void 0 ? false : _ref$preventDefaultCl,
60
57
  rest = _objectWithoutProperties(_ref, _excluded);
61
58
 
62
59
  var innerRef = (0, _react.useRef)(null);
@@ -79,10 +76,6 @@ var Window = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
79
76
  onKeyDown(event);
80
77
  }
81
78
  }, [onClose, onKeyDown]);
82
- var handleClick = (0, _react.useCallback)(function (event) {
83
- preventDefaultClickEvent && event.preventDefault();
84
- typeof onClick === "function" && onClick(event);
85
- }, [onClick, preventDefaultClickEvent]);
86
79
  (0, _react.useEffect)(function () {
87
80
  return function () {
88
81
  typeof onClose === "function" && onClose();
@@ -102,7 +95,6 @@ var Window = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
102
95
  zIndex: zIndex
103
96
  }, style),
104
97
  onKeyDown: handleKeyDown,
105
- onClick: handleClick,
106
98
  tabIndex: 0,
107
99
  className: (0, _classnames.default)("c-window", className)
108
100
  }), children))));
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Window/Window.tsx"],"names":["returnFocus","preventScroll","Window","ref","children","onClose","className","style","onKeyDown","onClick","disableFocusLock","disableScrollLock","preventDefaultClickEvent","rest","innerRef","handleRef","zIndex","handleKeyDown","event","defaultPrevented","key","preventDefault","handleClick","displayName"],"mappings":";;;;;;;;;AAAA;;AAQA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;AASA,IAAMA,WAAW,GAAG;AAAEC,EAAAA,aAAa,EAAE;AAAjB,CAApB;AAEO,IAAMC,MAAM,gBAAG,uBAIpB,gBAaEC,GAbF,EAcK;AAAA,MAZDC,QAYC,QAZDA,QAYC;AAAA,MAXDC,OAWC,QAXDA,OAWC;AAAA,MAVDC,SAUC,QAVDA,SAUC;AAAA,MATDC,KASC,QATDA,KASC;AAAA,MARDC,SAQC,QARDA,SAQC;AAAA,MAPDC,OAOC,QAPDA,OAOC;AAAA,mCANDC,gBAMC;AAAA,MANDA,gBAMC,sCANkB,KAMlB;AAAA,mCALDC,iBAKC;AAAA,MALDA,iBAKC,sCALmB,KAKnB;AAAA,mCAJDC,wBAIC;AAAA,MAJDA,wBAIC,sCAJ0B,KAI1B;AAAA,MAHEC,IAGF;;AACH,MAAMC,QAAQ,GAAG,mBAAuB,IAAvB,CAAjB;AACA,MAAMC,SAAS,GAAG,yBAAWD,QAAX,EAAqBX,GAArB,CAAlB;;AACA,yBAA0B,+BAA1B;AAAA,+CAAQa,MAAR;AAAA,MAAQA,MAAR,sCAAiB,IAAjB;;AAEA,MAAMC,aAAa,GAAG,wBACpB,UAACC,KAAD,EAA0C;AACxC,QACE,CAACA,KAAK,CAACC,gBAAP,KACCD,KAAK,CAACE,GAAN,KAAc,KAAd,IAAuBF,KAAK,CAACE,GAAN,KAAc,QADtC,CADF,EAGE;AACAF,MAAAA,KAAK,CAACG,cAAN;;AACA,UAAIhB,OAAJ,EAAa;AACXA,QAAAA,OAAO;AACR;AACF;;AACD,QAAI,OAAOG,SAAP,KAAqB,UAAzB,EAAqC;AACnCA,MAAAA,SAAS,CAACU,KAAD,CAAT;AACD;AACF,GAdmB,EAepB,CAACb,OAAD,EAAUG,SAAV,CAfoB,CAAtB;AAkBA,MAAMc,WAAW,GAAG,wBAClB,UAACJ,KAAD,EAAW;AACTN,IAAAA,wBAAwB,IAAIM,KAAK,CAACG,cAAN,EAA5B;AACA,WAAOZ,OAAP,KAAmB,UAAnB,IAAiCA,OAAO,CAACS,KAAD,CAAxC;AACD,GAJiB,EAKlB,CAACT,OAAD,EAAUG,wBAAV,CALkB,CAApB;AAQA,wBAAU,YAAM;AACd,WAAO,YAAY;AACjB,aAAOP,OAAP,KAAmB,UAAnB,IAAiCA,OAAO,EAAxC;AACD,KAFD,CADc,CAId;AACA;AACD,GAND,EAMG,EANH;AAQA,sBACE,6BAAC,eAAD,qBACE,6BAAC,uBAAD;AAAW,IAAA,WAAW,EAAEL,WAAxB;AAAqC,IAAA,QAAQ,EAAEU;AAA/C,kBACE,6BAAC,+BAAD;AACE,IAAA,YAAY,MADd;AAEE,IAAA,GAAG,EAAEK,SAFP;AAGE,IAAA,OAAO,EAAE,CAACJ,iBAHZ;AAIE,IAAA,WAAW;AAJb,kBAME,6BAAC,mBAAD,eACME,IADN;AAEE,IAAA,KAAK;AAAIG,MAAAA,MAAM,EAANA;AAAJ,OAAeT,KAAf,CAFP;AAGE,IAAA,SAAS,EAAEU,aAHb;AAIE,IAAA,OAAO,EAAEK,WAJX;AAKE,IAAA,QAAQ,EAAE,CALZ;AAME,IAAA,SAAS,EAAE,yBAAW,UAAX,EAAuBhB,SAAvB;AANb,MAQGF,QARH,CANF,CADF,CADF,CADF;AAuBD,CAhFmB,CAAf;;AAmFPF,MAAM,CAACqB,WAAP,GAAqB,QAArB","sourcesContent":["import React, {\n useCallback,\n useRef,\n useEffect,\n forwardRef,\n HTMLAttributes,\n KeyboardEvent,\n} from \"react\";\nimport classnames from \"classnames\";\nimport FocusLock from \"react-focus-lock\";\nimport { Portal, useLayerContext } from \"../../helpers\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { StyledWindow } from \"./Style\";\n\ninterface IWindow {\n onClose?: () => void;\n disableFocusLock?: boolean;\n disableScrollLock?: boolean;\n preventDefaultClickEvent?: boolean;\n}\n\nconst returnFocus = { preventScroll: true };\n\nexport const Window = forwardRef<\n HTMLDivElement,\n IWindow & HTMLAttributes<HTMLDivElement>\n>(\n (\n {\n children,\n onClose,\n className,\n style,\n onKeyDown,\n onClick,\n disableFocusLock = false,\n disableScrollLock = false,\n preventDefaultClickEvent = false,\n ...rest\n },\n ref\n ) => {\n const innerRef = useRef<HTMLDivElement>(null);\n const handleRef = useForkRef(innerRef, ref);\n const { zIndex = 1300 } = useLayerContext();\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n if (\n !event.defaultPrevented &&\n (event.key === \"Esc\" || event.key === \"Escape\")\n ) {\n event.preventDefault();\n if (onClose) {\n onClose();\n }\n }\n if (typeof onKeyDown === \"function\") {\n onKeyDown(event);\n }\n },\n [onClose, onKeyDown]\n );\n\n const handleClick = useCallback(\n (event) => {\n preventDefaultClickEvent && event.preventDefault();\n typeof onClick === \"function\" && onClick(event);\n },\n [onClick, preventDefaultClickEvent]\n );\n\n useEffect(() => {\n return (): void => {\n typeof onClose === \"function\" && onClose();\n };\n // Dependency is empty because we only want to call onClose when component is unmounted\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <Portal>\n <FocusLock returnFocus={returnFocus} disabled={disableFocusLock}>\n <RemoveScroll\n forwardProps\n ref={handleRef}\n enabled={!disableScrollLock}\n noIsolation\n >\n <StyledWindow\n {...rest}\n style={{ zIndex, ...style }}\n onKeyDown={handleKeyDown}\n onClick={handleClick}\n tabIndex={0}\n className={classnames(\"c-window\", className)}\n >\n {children}\n </StyledWindow>\n </RemoveScroll>\n </FocusLock>\n </Portal>\n );\n }\n);\n\nWindow.displayName = \"Window\";\n"],"file":"Window.js"}
1
+ {"version":3,"sources":["../../../../src/components/Window/Window.tsx"],"names":["returnFocus","preventScroll","Window","ref","children","onClose","className","style","onKeyDown","disableFocusLock","disableScrollLock","rest","innerRef","handleRef","zIndex","handleKeyDown","event","defaultPrevented","key","preventDefault","displayName"],"mappings":";;;;;;;;;AAAA;;AAQA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;AAQA,IAAMA,WAAW,GAAG;AAAEC,EAAAA,aAAa,EAAE;AAAjB,CAApB;AAEO,IAAMC,MAAM,gBAAG,uBAIpB,gBAWEC,GAXF,EAYK;AAAA,MAVDC,QAUC,QAVDA,QAUC;AAAA,MATDC,OASC,QATDA,OASC;AAAA,MARDC,SAQC,QARDA,SAQC;AAAA,MAPDC,KAOC,QAPDA,KAOC;AAAA,MANDC,SAMC,QANDA,SAMC;AAAA,mCALDC,gBAKC;AAAA,MALDA,gBAKC,sCALkB,KAKlB;AAAA,mCAJDC,iBAIC;AAAA,MAJDA,iBAIC,sCAJmB,KAInB;AAAA,MAHEC,IAGF;;AACH,MAAMC,QAAQ,GAAG,mBAAuB,IAAvB,CAAjB;AACA,MAAMC,SAAS,GAAG,yBAAWD,QAAX,EAAqBT,GAArB,CAAlB;;AACA,yBAA0B,+BAA1B;AAAA,+CAAQW,MAAR;AAAA,MAAQA,MAAR,sCAAiB,IAAjB;;AAEA,MAAMC,aAAa,GAAG,wBACpB,UAACC,KAAD,EAA0C;AACxC,QACE,CAACA,KAAK,CAACC,gBAAP,KACCD,KAAK,CAACE,GAAN,KAAc,KAAd,IAAuBF,KAAK,CAACE,GAAN,KAAc,QADtC,CADF,EAGE;AACAF,MAAAA,KAAK,CAACG,cAAN;;AACA,UAAId,OAAJ,EAAa;AACXA,QAAAA,OAAO;AACR;AACF;;AACD,QAAI,OAAOG,SAAP,KAAqB,UAAzB,EAAqC;AACnCA,MAAAA,SAAS,CAACQ,KAAD,CAAT;AACD;AACF,GAdmB,EAepB,CAACX,OAAD,EAAUG,SAAV,CAfoB,CAAtB;AAkBA,wBAAU,YAAM;AACd,WAAO,YAAY;AACjB,aAAOH,OAAP,KAAmB,UAAnB,IAAiCA,OAAO,EAAxC;AACD,KAFD,CADc,CAId;AACA;AACD,GAND,EAMG,EANH;AAQA,sBACE,6BAAC,eAAD,qBACE,6BAAC,uBAAD;AAAW,IAAA,WAAW,EAAEL,WAAxB;AAAqC,IAAA,QAAQ,EAAES;AAA/C,kBACE,6BAAC,+BAAD;AACE,IAAA,YAAY,MADd;AAEE,IAAA,GAAG,EAAEI,SAFP;AAGE,IAAA,OAAO,EAAE,CAACH,iBAHZ;AAIE,IAAA,WAAW;AAJb,kBAME,6BAAC,mBAAD,eACMC,IADN;AAEE,IAAA,KAAK;AAAIG,MAAAA,MAAM,EAANA;AAAJ,OAAeP,KAAf,CAFP;AAGE,IAAA,SAAS,EAAEQ,aAHb;AAIE,IAAA,QAAQ,EAAE,CAJZ;AAKE,IAAA,SAAS,EAAE,yBAAW,UAAX,EAAuBT,SAAvB;AALb,MAOGF,QAPH,CANF,CADF,CADF,CADF;AAsBD,CArEmB,CAAf;;AAwEPF,MAAM,CAACkB,WAAP,GAAqB,QAArB","sourcesContent":["import React, {\n useCallback,\n useRef,\n useEffect,\n forwardRef,\n HTMLAttributes,\n KeyboardEvent,\n} from \"react\";\nimport classnames from \"classnames\";\nimport FocusLock from \"react-focus-lock\";\nimport { Portal, useLayerContext } from \"../../helpers\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { StyledWindow } from \"./Style\";\n\ninterface IWindow {\n onClose?: () => void;\n disableFocusLock?: boolean;\n disableScrollLock?: boolean;\n}\n\nconst returnFocus = { preventScroll: true };\n\nexport const Window = forwardRef<\n HTMLDivElement,\n IWindow & HTMLAttributes<HTMLDivElement>\n>(\n (\n {\n children,\n onClose,\n className,\n style,\n onKeyDown,\n disableFocusLock = false,\n disableScrollLock = false,\n ...rest\n },\n ref\n ) => {\n const innerRef = useRef<HTMLDivElement>(null);\n const handleRef = useForkRef(innerRef, ref);\n const { zIndex = 1300 } = useLayerContext();\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n if (\n !event.defaultPrevented &&\n (event.key === \"Esc\" || event.key === \"Escape\")\n ) {\n event.preventDefault();\n if (onClose) {\n onClose();\n }\n }\n if (typeof onKeyDown === \"function\") {\n onKeyDown(event);\n }\n },\n [onClose, onKeyDown]\n );\n\n useEffect(() => {\n return (): void => {\n typeof onClose === \"function\" && onClose();\n };\n // Dependency is empty because we only want to call onClose when component is unmounted\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <Portal>\n <FocusLock returnFocus={returnFocus} disabled={disableFocusLock}>\n <RemoveScroll\n forwardProps\n ref={handleRef}\n enabled={!disableScrollLock}\n noIsolation\n >\n <StyledWindow\n {...rest}\n style={{ zIndex, ...style }}\n onKeyDown={handleKeyDown}\n tabIndex={0}\n className={classnames(\"c-window\", className)}\n >\n {children}\n </StyledWindow>\n </RemoveScroll>\n </FocusLock>\n </Portal>\n );\n }\n);\n\nWindow.displayName = \"Window\";\n"],"file":"Window.js"}
@@ -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;AAMf,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAI3C,UAAU,cAAc,CAAC,CAAC,CAAE,SAAQ,YAAY;IAC9C,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;CACd;AAED,oBAAY,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;AAEnD,MAAM,WAAW,KAAK;IAEpB,QAAQ,EAAE,SAAS,CAAC;IAEpB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IAEvD,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B,IAAI,CAAC,EAAE,QAAQ,CAAC;IAEhB,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IAEpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAErB,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC;IAE9B,QAAQ,CAAC,EAAE,SAAS,CAAC;IAErB,MAAM,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC,0BAA0B,CAAC,EAAE,OAAO,CAAC;CACtC;AAED,eAAO,MAAM,IAAI,EAAE,EAAE,CAAC,KAAK,CA0G1B,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;AAMf,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAI3C,UAAU,cAAc,CAAC,CAAC,CAAE,SAAQ,YAAY;IAC9C,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;CACd;AAED,oBAAY,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;AAEnD,MAAM,WAAW,KAAK;IAEpB,QAAQ,EAAE,SAAS,CAAC;IAEpB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IAEvD,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B,IAAI,CAAC,EAAE,QAAQ,CAAC;IAEhB,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IAEpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAErB,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC;IAE9B,QAAQ,CAAC,EAAE,SAAS,CAAC;IAErB,MAAM,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC,0BAA0B,CAAC,EAAE,OAAO,CAAC;CACtC;AAED,eAAO,MAAM,IAAI,EAAE,EAAE,CAAC,KAAK,CAyG1B,CAAC"}
@@ -71,8 +71,7 @@ export var Menu = function Menu(_ref) {
71
71
  disableFocusLock: disableFocusLock,
72
72
  style: {
73
73
  position: windowAbsolutelyPositioned ? "absolute" : "fixed"
74
- },
75
- preventDefaultClickEvent: true
74
+ }
76
75
  }, /*#__PURE__*/React.createElement(Overlay, {
77
76
  className: backgroundElementClass,
78
77
  onClick: handleClose,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Menu/Menu.tsx"],"names":["React","useRef","useState","useCallback","useEffect","classnames","Popper","useForkRef","Overlay","Window","MenuContextProvider","StyledMenu","Menu","children","disableFocusLock","onMenuClick","handleScroll","mode","open","defaultOpen","onOpen","onClose","onBeforeClose","position","target","className","menuClassName","popperClassName","backgroundElementClass","windowAbsolutelyPositioned","setOpen","childNode","setChildNode","elementRef","handleRefRef","ref","undefined","handleRef","handleOpen","event","preventDefault","handleClose","childProps","forceClose","targetProps","onClick","cloneElement","displayName"],"mappings":"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","sourcesContent":["import React, {\n useRef,\n FC,\n ReactNode,\n MouseEvent,\n useState,\n useCallback,\n useEffect,\n ReactElement,\n Ref,\n} from \"react\";\nimport classnames from \"classnames\";\nimport { Popper } from \"../Popper\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { Overlay } from \"../Overlay\";\nimport { Window } from \"../Window\";\nimport { Placement } from \"@popperjs/core\";\nimport { MenuContextProvider } from \"./context\";\nimport { StyledMenu } from \"./Styles\";\n\ninterface ElementWithRef<T> extends ReactElement {\n ref?: Ref<T>;\n}\n\nexport type MenuMode = \"normal\" | \"wider\" | \"tiny\";\n\nexport interface IMenu {\n /** Menu content */\n children: ReactNode;\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}\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}) => {\n const [open, setOpen] = useState(defaultOpen);\n const [childNode, setChildNode] = useState<Element | null>();\n const elementRef = useRef<Element | null>(null);\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 (event: Pick<MouseEvent<Element>, \"preventDefault\">) => {\n event && event.preventDefault();\n setOpen(true);\n typeof onOpen === \"function\" && onOpen();\n },\n [onOpen]\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 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 preventDefaultClickEvent\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 >\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"],"file":"Menu.js"}
1
+ {"version":3,"sources":["../../../../src/components/Menu/Menu.tsx"],"names":["React","useRef","useState","useCallback","useEffect","classnames","Popper","useForkRef","Overlay","Window","MenuContextProvider","StyledMenu","Menu","children","disableFocusLock","onMenuClick","handleScroll","mode","open","defaultOpen","onOpen","onClose","onBeforeClose","position","target","className","menuClassName","popperClassName","backgroundElementClass","windowAbsolutelyPositioned","setOpen","childNode","setChildNode","elementRef","handleRefRef","ref","undefined","handleRef","handleOpen","event","preventDefault","handleClose","childProps","forceClose","targetProps","onClick","cloneElement","displayName"],"mappings":"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","sourcesContent":["import React, {\n useRef,\n FC,\n ReactNode,\n MouseEvent,\n useState,\n useCallback,\n useEffect,\n ReactElement,\n Ref,\n} from \"react\";\nimport classnames from \"classnames\";\nimport { Popper } from \"../Popper\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { Overlay } from \"../Overlay\";\nimport { Window } from \"../Window\";\nimport { Placement } from \"@popperjs/core\";\nimport { MenuContextProvider } from \"./context\";\nimport { StyledMenu } from \"./Styles\";\n\ninterface ElementWithRef<T> extends ReactElement {\n ref?: Ref<T>;\n}\n\nexport type MenuMode = \"normal\" | \"wider\" | \"tiny\";\n\nexport interface IMenu {\n /** Menu content */\n children: ReactNode;\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}\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}) => {\n const [open, setOpen] = useState(defaultOpen);\n const [childNode, setChildNode] = useState<Element | null>();\n const elementRef = useRef<Element | null>(null);\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 (event: Pick<MouseEvent<Element>, \"preventDefault\">) => {\n event && event.preventDefault();\n setOpen(true);\n typeof onOpen === \"function\" && onOpen();\n },\n [onOpen]\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 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 >\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"],"file":"Menu.js"}
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.d.ts","sourceRoot":"","sources":["../../../../src/components/Modal/Modal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAOZ,YAAY,EAGb,MAAM,OAAO,CAAC;AAMf,UAAU,MAAM;IACd,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,YAAY,CAAC;CACxB;AAQD,eAAO,MAAM,KAAK,sHA6FjB,CAAC"}
1
+ {"version":3,"file":"Modal.d.ts","sourceRoot":"","sources":["../../../../src/components/Modal/Modal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAOZ,YAAY,EAIb,MAAM,OAAO,CAAC;AAMf,UAAU,MAAM;IACd,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,YAAY,CAAC;CACxB;AAQD,eAAO,MAAM,KAAK,sHAgGjB,CAAC"}
@@ -49,8 +49,9 @@ export var Modal = /*#__PURE__*/forwardRef(function (_ref, ref) {
49
49
  typeof onClose === "function" && onClose();
50
50
  }
51
51
  }, [hasTransition, onClose]);
52
- var handleBackgroundClick = useCallback(function () {
52
+ var handleBackgroundClick = useCallback(function (event) {
53
53
  if (!disableBackgroundClick) {
54
+ event.preventDefault();
54
55
  handleClose();
55
56
  }
56
57
  }, [disableBackgroundClick, handleClose]);
@@ -83,8 +84,7 @@ export var Modal = /*#__PURE__*/forwardRef(function (_ref, ref) {
83
84
  ref: handleRef,
84
85
  onClose: handleClose,
85
86
  disableFocusLock: disableFocusLock,
86
- disableScrollLock: disableScrollLock,
87
- preventDefaultClickEvent: true
87
+ disableScrollLock: disableScrollLock
88
88
  }), open ? /*#__PURE__*/React.createElement(Overlay, {
89
89
  onClick: handleBackgroundClick,
90
90
  disableBackgroundColor: disableBackgroundColor
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Modal/Modal.tsx"],"names":["React","forwardRef","useRef","cloneElement","useMemo","useCallback","useState","useEffect","Window","useForkRef","createChainedFunction","Overlay","getHasTransition","children","props","Object","prototype","hasOwnProperty","call","Modal","ref","disableFocusLock","disableScrollLock","disableBackgroundClick","disableBackgroundColor","open","defaultOpen","onClose","rest","setOpen","exited","setExited","innerRef","handleRef","hasTransition","handleClose","handleBackgroundClick","handleEnter","handleExited","childProps","onEnter","onExited","in","displayName"],"mappings":"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","sourcesContent":["import React, {\n forwardRef,\n HTMLAttributes,\n useRef,\n cloneElement,\n useMemo,\n useCallback,\n ReactElement,\n useState,\n useEffect,\n} from \"react\";\nimport { Window } from \"../Window\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport createChainedFunction from \"../../utils/createChainedFunction\";\nimport { Overlay } from \"../Overlay\";\n\ninterface IModal {\n disableFocusLock?: boolean;\n disableScrollLock?: boolean;\n open?: boolean;\n disableBackgroundClick?: boolean;\n disableBackgroundColor?: boolean;\n onClose?: () => void;\n children: ReactElement;\n}\n\nconst getHasTransition = (children): boolean => {\n return children.props\n ? Object.prototype.hasOwnProperty.call(children.props, \"in\")\n : false;\n};\n\nexport const Modal = forwardRef<\n HTMLDivElement,\n IModal & HTMLAttributes<HTMLDivElement>\n>(\n (\n {\n children,\n disableFocusLock = false,\n disableScrollLock = false,\n disableBackgroundClick = false,\n disableBackgroundColor = false,\n open: defaultOpen = false,\n onClose,\n ...rest\n },\n ref\n ) => {\n const [open, setOpen] = useState(defaultOpen);\n const [exited, setExited] = useState(true);\n const innerRef = useRef<HTMLDivElement>(null);\n const handleRef = useForkRef(innerRef, ref);\n\n const hasTransition = useMemo(() => {\n return getHasTransition(children);\n }, [children]);\n\n useEffect(() => {\n setOpen(defaultOpen);\n }, [defaultOpen]);\n\n const handleClose = useCallback(() => {\n setOpen(false);\n if (!hasTransition) {\n typeof onClose === \"function\" && onClose();\n }\n }, [hasTransition, onClose]);\n\n const handleBackgroundClick = useCallback(() => {\n if (!disableBackgroundClick) {\n handleClose();\n }\n }, [disableBackgroundClick, handleClose]);\n\n const handleEnter = useCallback(() => {\n setExited(false);\n }, []);\n\n const handleExited = useCallback(() => {\n setExited(true);\n typeof onClose === \"function\" && onClose();\n }, [onClose]);\n\n const childProps = useMemo(() => {\n let props = {};\n\n // It's a Transition like component\n if (hasTransition && children) {\n props = {\n onEnter: createChainedFunction(handleEnter, children.props.onEnter),\n onExited: createChainedFunction(\n handleExited,\n children.props.onExited\n ),\n in: open,\n };\n }\n\n return props;\n }, [children, handleEnter, handleExited, hasTransition, open]);\n\n if (!open && (!hasTransition || exited)) {\n return null;\n }\n\n return (\n <Window\n {...rest}\n ref={handleRef}\n onClose={handleClose}\n disableFocusLock={disableFocusLock}\n disableScrollLock={disableScrollLock}\n preventDefaultClickEvent\n >\n {open ? (\n <Overlay\n onClick={handleBackgroundClick}\n disableBackgroundColor={disableBackgroundColor}\n />\n ) : null}\n {cloneElement(children, childProps)}\n </Window>\n );\n }\n);\n\nModal.displayName = \"Modal\";\n"],"file":"Modal.js"}
1
+ {"version":3,"sources":["../../../../src/components/Modal/Modal.tsx"],"names":["React","forwardRef","useRef","cloneElement","useMemo","useCallback","useState","useEffect","Window","useForkRef","createChainedFunction","Overlay","getHasTransition","children","props","Object","prototype","hasOwnProperty","call","Modal","ref","disableFocusLock","disableScrollLock","disableBackgroundClick","disableBackgroundColor","open","defaultOpen","onClose","rest","setOpen","exited","setExited","innerRef","handleRef","hasTransition","handleClose","handleBackgroundClick","event","preventDefault","handleEnter","handleExited","childProps","onEnter","onExited","in","displayName"],"mappings":"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","sourcesContent":["import React, {\n forwardRef,\n HTMLAttributes,\n useRef,\n cloneElement,\n useMemo,\n useCallback,\n ReactElement,\n useState,\n useEffect,\n MouseEvent,\n} from \"react\";\nimport { Window } from \"../Window\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport createChainedFunction from \"../../utils/createChainedFunction\";\nimport { Overlay } from \"../Overlay\";\n\ninterface IModal {\n disableFocusLock?: boolean;\n disableScrollLock?: boolean;\n open?: boolean;\n disableBackgroundClick?: boolean;\n disableBackgroundColor?: boolean;\n onClose?: () => void;\n children: ReactElement;\n}\n\nconst getHasTransition = (children): boolean => {\n return children.props\n ? Object.prototype.hasOwnProperty.call(children.props, \"in\")\n : false;\n};\n\nexport const Modal = forwardRef<\n HTMLDivElement,\n IModal & HTMLAttributes<HTMLDivElement>\n>(\n (\n {\n children,\n disableFocusLock = false,\n disableScrollLock = false,\n disableBackgroundClick = false,\n disableBackgroundColor = false,\n open: defaultOpen = false,\n onClose,\n ...rest\n },\n ref\n ) => {\n const [open, setOpen] = useState(defaultOpen);\n const [exited, setExited] = useState(true);\n const innerRef = useRef<HTMLDivElement>(null);\n const handleRef = useForkRef(innerRef, ref);\n\n const hasTransition = useMemo(() => {\n return getHasTransition(children);\n }, [children]);\n\n useEffect(() => {\n setOpen(defaultOpen);\n }, [defaultOpen]);\n\n const handleClose = useCallback(() => {\n setOpen(false);\n if (!hasTransition) {\n typeof onClose === \"function\" && onClose();\n }\n }, [hasTransition, onClose]);\n\n const handleBackgroundClick = useCallback(\n (event: MouseEvent<HTMLDivElement>) => {\n if (!disableBackgroundClick) {\n event.preventDefault();\n handleClose();\n }\n },\n [disableBackgroundClick, handleClose]\n );\n\n const handleEnter = useCallback(() => {\n setExited(false);\n }, []);\n\n const handleExited = useCallback(() => {\n setExited(true);\n typeof onClose === \"function\" && onClose();\n }, [onClose]);\n\n const childProps = useMemo(() => {\n let props = {};\n\n // It's a Transition like component\n if (hasTransition && children) {\n props = {\n onEnter: createChainedFunction(handleEnter, children.props.onEnter),\n onExited: createChainedFunction(\n handleExited,\n children.props.onExited\n ),\n in: open,\n };\n }\n\n return props;\n }, [children, handleEnter, handleExited, hasTransition, open]);\n\n if (!open && (!hasTransition || exited)) {\n return null;\n }\n\n return (\n <Window\n {...rest}\n ref={handleRef}\n onClose={handleClose}\n disableFocusLock={disableFocusLock}\n disableScrollLock={disableScrollLock}\n >\n {open ? (\n <Overlay\n onClick={handleBackgroundClick}\n disableBackgroundColor={disableBackgroundColor}\n />\n ) : null}\n {cloneElement(children, childProps)}\n </Window>\n );\n }\n);\n\nModal.displayName = \"Modal\";\n"],"file":"Modal.js"}
@@ -1 +1 @@
1
- {"version":3,"file":"Sheet.d.ts","sourceRoot":"","sources":["../../../../src/components/Sheet/Sheet.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAOZ,aAAa,EAEd,MAAM,OAAO,CAAC;AAef,UAAU,MAAM;IACd,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;IACzB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IAChD,QAAQ,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IACvC,IAAI,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC5B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,eAAO,MAAM,KAAK,sHAiIjB,CAAC"}
1
+ {"version":3,"file":"Sheet.d.ts","sourceRoot":"","sources":["../../../../src/components/Sheet/Sheet.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAOZ,aAAa,EAGd,MAAM,OAAO,CAAC;AAef,UAAU,MAAM;IACd,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;IACzB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IAChD,QAAQ,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IACvC,IAAI,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC5B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,eAAO,MAAM,KAAK,sHAoIjB,CAAC"}
@@ -56,8 +56,9 @@ export var Sheet = /*#__PURE__*/forwardRef(function (_ref, ref) {
56
56
  var handleClose = useCallback(function () {
57
57
  setOpen(false);
58
58
  }, []);
59
- var handleBackgroundClick = useCallback(function () {
59
+ var handleBackgroundClick = useCallback(function (event) {
60
60
  if (!disableBackgroundClick) {
61
+ event.preventDefault();
61
62
  handleClose();
62
63
  }
63
64
  }, [disableBackgroundClick, handleClose]);
@@ -70,8 +71,7 @@ export var Sheet = /*#__PURE__*/forwardRef(function (_ref, ref) {
70
71
  ref: handleRef,
71
72
  onClose: handleClose,
72
73
  disableFocusLock: disableFocusLock,
73
- disableScrollLock: disableScrollLock,
74
- preventDefaultClickEvent: true
74
+ disableScrollLock: disableScrollLock
75
75
  }), open ? /*#__PURE__*/React.createElement(Overlay, {
76
76
  onClick: handleBackgroundClick,
77
77
  disableBackgroundColor: disableBackgroundColor
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Sheet/Sheet.tsx"],"names":["React","useRef","useCallback","useEffect","forwardRef","useState","Transition","Window","classnames","useForkRef","StyledAnimatedSpan","StyledCssTransition","StyledSheetIcons","StyledSheetWrapper","StyledSheetWrapperPaper","Overlay","Sheet","ref","children","onClose","controls","open","defaultOpen","animation","position","mode","disableFocusLock","disableScrollLock","disableBackgroundColor","bodyStyle","bodyClassName","disableBackgroundClick","rest","setOpen","exited","setExited","innerRef","handleRef","handleEnter","handleExited","handleClose","handleBackgroundClick","length","map","item","index","maxDurationIn","maxDurationOut","control","durationOut","durationIn","state","displayName"],"mappings":"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","sourcesContent":["import React, {\n useRef,\n useCallback,\n useEffect,\n forwardRef,\n HTMLAttributes,\n useState,\n CSSProperties,\n ReactElement,\n} from \"react\";\n\nimport { Transition } from \"react-transition-group\";\nimport { Window } from \"../Window\";\nimport classnames from \"classnames\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport {\n StyledAnimatedSpan,\n StyledCssTransition,\n StyledSheetIcons,\n StyledSheetWrapper,\n StyledSheetWrapperPaper,\n} from \"./Styles\";\nimport { Overlay } from \"../Overlay\";\n\ninterface ISheet {\n onClose?: () => void;\n controls?: JSX.Element[];\n open?: boolean;\n animation?: \"top\" | \"bottom\" | \"left\" | \"right\";\n position?: \"center\" | \"left\" | \"right\";\n mode?: \"normal\" | \"stretch\";\n disableFocusLock?: boolean;\n disableScrollLock?: boolean;\n disableBackgroundColor?: boolean;\n bodyStyle?: CSSProperties;\n bodyClassName?: string;\n disableBackgroundClick?: boolean;\n}\n\nexport const Sheet = forwardRef<\n HTMLDivElement,\n ISheet & HTMLAttributes<HTMLDivElement>\n>(\n (\n {\n children,\n onClose,\n controls = [],\n open: defaultOpen = false,\n animation = \"top\",\n position = \"center\",\n mode = \"normal\",\n disableFocusLock = false,\n disableScrollLock = false,\n disableBackgroundColor = false,\n bodyStyle,\n bodyClassName,\n disableBackgroundClick = false,\n ...rest\n },\n ref\n ) => {\n const [open, setOpen] = useState(defaultOpen);\n const [exited, setExited] = useState(true);\n const innerRef = useRef<HTMLDivElement>(null);\n\n const handleRef = useForkRef(innerRef, ref);\n\n useEffect(() => {\n setOpen(defaultOpen);\n }, [defaultOpen]);\n\n const handleEnter = useCallback(() => {\n setExited(false);\n }, []);\n\n const handleExited = useCallback(() => {\n setExited(true);\n typeof onClose === \"function\" && onClose();\n }, [onClose]);\n\n const handleClose = useCallback(() => {\n setOpen(false);\n }, []);\n\n const handleBackgroundClick = useCallback(() => {\n if (!disableBackgroundClick) {\n handleClose();\n }\n }, [disableBackgroundClick, handleClose]);\n\n if (!open && exited) {\n return null;\n }\n\n return (\n <Window\n {...rest}\n ref={handleRef}\n onClose={handleClose}\n disableFocusLock={disableFocusLock}\n disableScrollLock={disableScrollLock}\n preventDefaultClickEvent\n >\n {open ? (\n <Overlay\n onClick={handleBackgroundClick}\n disableBackgroundColor={disableBackgroundColor}\n />\n ) : null}\n <StyledSheetWrapper\n className={classnames(\"c-sheet__wrapper\", bodyClassName)}\n style={bodyStyle}\n $position={position}\n $mode={mode}\n >\n {controls.length ? (\n <StyledSheetIcons>\n {controls.map((item, index) => {\n const maxDurationIn = 4; // max duration 4 for 400ms, shorten .4s\n const maxDurationOut = 2; // max duration 2 for 200ms, shorten .2s\n const control = index + 1;\n const durationOut =\n controls.length > maxDurationOut\n ? maxDurationOut\n : maxDurationOut - control;\n const durationIn = control >= maxDurationIn ? 1 : control;\n return (\n <Transition\n appear\n in={open}\n timeout={maxDurationIn * 100}\n key={`c-sheet-control-${index}`}\n >\n {(state): ReactElement => (\n <StyledAnimatedSpan\n $state={state}\n $mode={mode}\n $maxDurationIn={maxDurationIn / 10}\n $maxDurationOut={maxDurationOut / 10}\n $durationOut={durationOut / 10}\n $durationIn={durationIn / 10}\n >\n {item}\n </StyledAnimatedSpan>\n )}\n </Transition>\n );\n })}\n </StyledSheetIcons>\n ) : null}\n <StyledCssTransition\n appear\n in={open}\n timeout={400}\n classNames={\"c-sheet__animation\"}\n $direction={animation}\n onEnter={handleEnter}\n onExited={handleExited}\n >\n <StyledSheetWrapperPaper className=\"c-sheet__wrapper__paper\">\n {children}\n </StyledSheetWrapperPaper>\n </StyledCssTransition>\n </StyledSheetWrapper>\n </Window>\n );\n }\n);\n\nSheet.displayName = \"Sheet\";\n"],"file":"Sheet.js"}
1
+ {"version":3,"sources":["../../../../src/components/Sheet/Sheet.tsx"],"names":["React","useRef","useCallback","useEffect","forwardRef","useState","Transition","Window","classnames","useForkRef","StyledAnimatedSpan","StyledCssTransition","StyledSheetIcons","StyledSheetWrapper","StyledSheetWrapperPaper","Overlay","Sheet","ref","children","onClose","controls","open","defaultOpen","animation","position","mode","disableFocusLock","disableScrollLock","disableBackgroundColor","bodyStyle","bodyClassName","disableBackgroundClick","rest","setOpen","exited","setExited","innerRef","handleRef","handleEnter","handleExited","handleClose","handleBackgroundClick","event","preventDefault","length","map","item","index","maxDurationIn","maxDurationOut","control","durationOut","durationIn","state","displayName"],"mappings":"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","sourcesContent":["import React, {\n useRef,\n useCallback,\n useEffect,\n forwardRef,\n HTMLAttributes,\n useState,\n CSSProperties,\n ReactElement,\n MouseEvent,\n} from \"react\";\n\nimport { Transition } from \"react-transition-group\";\nimport { Window } from \"../Window\";\nimport classnames from \"classnames\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport {\n StyledAnimatedSpan,\n StyledCssTransition,\n StyledSheetIcons,\n StyledSheetWrapper,\n StyledSheetWrapperPaper,\n} from \"./Styles\";\nimport { Overlay } from \"../Overlay\";\n\ninterface ISheet {\n onClose?: () => void;\n controls?: JSX.Element[];\n open?: boolean;\n animation?: \"top\" | \"bottom\" | \"left\" | \"right\";\n position?: \"center\" | \"left\" | \"right\";\n mode?: \"normal\" | \"stretch\";\n disableFocusLock?: boolean;\n disableScrollLock?: boolean;\n disableBackgroundColor?: boolean;\n bodyStyle?: CSSProperties;\n bodyClassName?: string;\n disableBackgroundClick?: boolean;\n}\n\nexport const Sheet = forwardRef<\n HTMLDivElement,\n ISheet & HTMLAttributes<HTMLDivElement>\n>(\n (\n {\n children,\n onClose,\n controls = [],\n open: defaultOpen = false,\n animation = \"top\",\n position = \"center\",\n mode = \"normal\",\n disableFocusLock = false,\n disableScrollLock = false,\n disableBackgroundColor = false,\n bodyStyle,\n bodyClassName,\n disableBackgroundClick = false,\n ...rest\n },\n ref\n ) => {\n const [open, setOpen] = useState(defaultOpen);\n const [exited, setExited] = useState(true);\n const innerRef = useRef<HTMLDivElement>(null);\n\n const handleRef = useForkRef(innerRef, ref);\n\n useEffect(() => {\n setOpen(defaultOpen);\n }, [defaultOpen]);\n\n const handleEnter = useCallback(() => {\n setExited(false);\n }, []);\n\n const handleExited = useCallback(() => {\n setExited(true);\n typeof onClose === \"function\" && onClose();\n }, [onClose]);\n\n const handleClose = useCallback(() => {\n setOpen(false);\n }, []);\n\n const handleBackgroundClick = useCallback(\n (event: MouseEvent<HTMLDivElement>) => {\n if (!disableBackgroundClick) {\n event.preventDefault();\n handleClose();\n }\n },\n [disableBackgroundClick, handleClose]\n );\n\n if (!open && exited) {\n return null;\n }\n\n return (\n <Window\n {...rest}\n ref={handleRef}\n onClose={handleClose}\n disableFocusLock={disableFocusLock}\n disableScrollLock={disableScrollLock}\n >\n {open ? (\n <Overlay\n onClick={handleBackgroundClick}\n disableBackgroundColor={disableBackgroundColor}\n />\n ) : null}\n <StyledSheetWrapper\n className={classnames(\"c-sheet__wrapper\", bodyClassName)}\n style={bodyStyle}\n $position={position}\n $mode={mode}\n >\n {controls.length ? (\n <StyledSheetIcons>\n {controls.map((item, index) => {\n const maxDurationIn = 4; // max duration 4 for 400ms, shorten .4s\n const maxDurationOut = 2; // max duration 2 for 200ms, shorten .2s\n const control = index + 1;\n const durationOut =\n controls.length > maxDurationOut\n ? maxDurationOut\n : maxDurationOut - control;\n const durationIn = control >= maxDurationIn ? 1 : control;\n return (\n <Transition\n appear\n in={open}\n timeout={maxDurationIn * 100}\n key={`c-sheet-control-${index}`}\n >\n {(state): ReactElement => (\n <StyledAnimatedSpan\n $state={state}\n $mode={mode}\n $maxDurationIn={maxDurationIn / 10}\n $maxDurationOut={maxDurationOut / 10}\n $durationOut={durationOut / 10}\n $durationIn={durationIn / 10}\n >\n {item}\n </StyledAnimatedSpan>\n )}\n </Transition>\n );\n })}\n </StyledSheetIcons>\n ) : null}\n <StyledCssTransition\n appear\n in={open}\n timeout={400}\n classNames={\"c-sheet__animation\"}\n $direction={animation}\n onEnter={handleEnter}\n onExited={handleExited}\n >\n <StyledSheetWrapperPaper className=\"c-sheet__wrapper__paper\">\n {children}\n </StyledSheetWrapperPaper>\n </StyledCssTransition>\n </StyledSheetWrapper>\n </Window>\n );\n }\n);\n\nSheet.displayName = \"Sheet\";\n"],"file":"Sheet.js"}
@@ -3,7 +3,6 @@ interface IWindow {
3
3
  onClose?: () => void;
4
4
  disableFocusLock?: boolean;
5
5
  disableScrollLock?: boolean;
6
- preventDefaultClickEvent?: boolean;
7
6
  }
8
7
  export declare const Window: React.ForwardRefExoticComponent<IWindow & React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
9
8
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"Window.d.ts","sourceRoot":"","sources":["../../../../src/components/Window/Window.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAC;AAQf,UAAU,OAAO;IACf,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC;AAID,eAAO,MAAM,MAAM,uHAiFlB,CAAC"}
1
+ {"version":3,"file":"Window.d.ts","sourceRoot":"","sources":["../../../../src/components/Window/Window.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAC;AAQf,UAAU,OAAO;IACf,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAID,eAAO,MAAM,MAAM,uHAsElB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
- var _excluded = ["children", "onClose", "className", "style", "onKeyDown", "onClick", "disableFocusLock", "disableScrollLock", "preventDefaultClickEvent"];
3
+ var _excluded = ["children", "onClose", "className", "style", "onKeyDown", "disableFocusLock", "disableScrollLock"];
4
4
  import React, { useCallback, useRef, useEffect, forwardRef } from "react";
5
5
  import classnames from "classnames";
6
6
  import FocusLock from "react-focus-lock";
@@ -17,13 +17,10 @@ export var Window = /*#__PURE__*/forwardRef(function (_ref, ref) {
17
17
  className = _ref.className,
18
18
  style = _ref.style,
19
19
  onKeyDown = _ref.onKeyDown,
20
- onClick = _ref.onClick,
21
20
  _ref$disableFocusLock = _ref.disableFocusLock,
22
21
  disableFocusLock = _ref$disableFocusLock === void 0 ? false : _ref$disableFocusLock,
23
22
  _ref$disableScrollLoc = _ref.disableScrollLock,
24
23
  disableScrollLock = _ref$disableScrollLoc === void 0 ? false : _ref$disableScrollLoc,
25
- _ref$preventDefaultCl = _ref.preventDefaultClickEvent,
26
- preventDefaultClickEvent = _ref$preventDefaultCl === void 0 ? false : _ref$preventDefaultCl,
27
24
  rest = _objectWithoutPropertiesLoose(_ref, _excluded);
28
25
 
29
26
  var innerRef = useRef(null);
@@ -46,10 +43,6 @@ export var Window = /*#__PURE__*/forwardRef(function (_ref, ref) {
46
43
  onKeyDown(event);
47
44
  }
48
45
  }, [onClose, onKeyDown]);
49
- var handleClick = useCallback(function (event) {
50
- preventDefaultClickEvent && event.preventDefault();
51
- typeof onClick === "function" && onClick(event);
52
- }, [onClick, preventDefaultClickEvent]);
53
46
  useEffect(function () {
54
47
  return function () {
55
48
  typeof onClose === "function" && onClose();
@@ -69,7 +62,6 @@ export var Window = /*#__PURE__*/forwardRef(function (_ref, ref) {
69
62
  zIndex: zIndex
70
63
  }, style),
71
64
  onKeyDown: handleKeyDown,
72
- onClick: handleClick,
73
65
  tabIndex: 0,
74
66
  className: classnames("c-window", className)
75
67
  }), children))));
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Window/Window.tsx"],"names":["React","useCallback","useRef","useEffect","forwardRef","classnames","FocusLock","Portal","useLayerContext","useForkRef","RemoveScroll","StyledWindow","returnFocus","preventScroll","Window","ref","children","onClose","className","style","onKeyDown","onClick","disableFocusLock","disableScrollLock","preventDefaultClickEvent","rest","innerRef","handleRef","zIndex","handleKeyDown","event","defaultPrevented","key","preventDefault","handleClick","displayName"],"mappings":"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","sourcesContent":["import React, {\n useCallback,\n useRef,\n useEffect,\n forwardRef,\n HTMLAttributes,\n KeyboardEvent,\n} from \"react\";\nimport classnames from \"classnames\";\nimport FocusLock from \"react-focus-lock\";\nimport { Portal, useLayerContext } from \"../../helpers\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { StyledWindow } from \"./Style\";\n\ninterface IWindow {\n onClose?: () => void;\n disableFocusLock?: boolean;\n disableScrollLock?: boolean;\n preventDefaultClickEvent?: boolean;\n}\n\nconst returnFocus = { preventScroll: true };\n\nexport const Window = forwardRef<\n HTMLDivElement,\n IWindow & HTMLAttributes<HTMLDivElement>\n>(\n (\n {\n children,\n onClose,\n className,\n style,\n onKeyDown,\n onClick,\n disableFocusLock = false,\n disableScrollLock = false,\n preventDefaultClickEvent = false,\n ...rest\n },\n ref\n ) => {\n const innerRef = useRef<HTMLDivElement>(null);\n const handleRef = useForkRef(innerRef, ref);\n const { zIndex = 1300 } = useLayerContext();\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n if (\n !event.defaultPrevented &&\n (event.key === \"Esc\" || event.key === \"Escape\")\n ) {\n event.preventDefault();\n if (onClose) {\n onClose();\n }\n }\n if (typeof onKeyDown === \"function\") {\n onKeyDown(event);\n }\n },\n [onClose, onKeyDown]\n );\n\n const handleClick = useCallback(\n (event) => {\n preventDefaultClickEvent && event.preventDefault();\n typeof onClick === \"function\" && onClick(event);\n },\n [onClick, preventDefaultClickEvent]\n );\n\n useEffect(() => {\n return (): void => {\n typeof onClose === \"function\" && onClose();\n };\n // Dependency is empty because we only want to call onClose when component is unmounted\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <Portal>\n <FocusLock returnFocus={returnFocus} disabled={disableFocusLock}>\n <RemoveScroll\n forwardProps\n ref={handleRef}\n enabled={!disableScrollLock}\n noIsolation\n >\n <StyledWindow\n {...rest}\n style={{ zIndex, ...style }}\n onKeyDown={handleKeyDown}\n onClick={handleClick}\n tabIndex={0}\n className={classnames(\"c-window\", className)}\n >\n {children}\n </StyledWindow>\n </RemoveScroll>\n </FocusLock>\n </Portal>\n );\n }\n);\n\nWindow.displayName = \"Window\";\n"],"file":"Window.js"}
1
+ {"version":3,"sources":["../../../../src/components/Window/Window.tsx"],"names":["React","useCallback","useRef","useEffect","forwardRef","classnames","FocusLock","Portal","useLayerContext","useForkRef","RemoveScroll","StyledWindow","returnFocus","preventScroll","Window","ref","children","onClose","className","style","onKeyDown","disableFocusLock","disableScrollLock","rest","innerRef","handleRef","zIndex","handleKeyDown","event","defaultPrevented","key","preventDefault","displayName"],"mappings":";;;AAAA,OAAOA,KAAP,IACEC,WADF,EAEEC,MAFF,EAGEC,SAHF,EAIEC,UAJF,QAOO,OAPP;AAQA,OAAOC,UAAP,MAAuB,YAAvB;AACA,OAAOC,SAAP,MAAsB,kBAAtB;AACA,SAASC,MAAT,EAAiBC,eAAjB,QAAwC,eAAxC;AACA,OAAOC,UAAP,MAAuB,wBAAvB;AACA,SAASC,YAAT,QAA6B,qBAA7B;AACA,SAASC,YAAT,QAA6B,SAA7B;AAQA,IAAMC,WAAW,GAAG;AAAEC,EAAAA,aAAa,EAAE;AAAjB,CAApB;AAEA,OAAO,IAAMC,MAAM,gBAAGV,UAAU,CAI9B,gBAWEW,GAXF,EAYK;AAAA,MAVDC,QAUC,QAVDA,QAUC;AAAA,MATDC,OASC,QATDA,OASC;AAAA,MARDC,SAQC,QARDA,SAQC;AAAA,MAPDC,KAOC,QAPDA,KAOC;AAAA,MANDC,SAMC,QANDA,SAMC;AAAA,mCALDC,gBAKC;AAAA,MALDA,gBAKC,sCALkB,KAKlB;AAAA,mCAJDC,iBAIC;AAAA,MAJDA,iBAIC,sCAJmB,KAInB;AAAA,MAHEC,IAGF;;AACH,MAAMC,QAAQ,GAAGtB,MAAM,CAAiB,IAAjB,CAAvB;AACA,MAAMuB,SAAS,GAAGhB,UAAU,CAACe,QAAD,EAAWT,GAAX,CAA5B;;AACA,yBAA0BP,eAAe,EAAzC;AAAA,+CAAQkB,MAAR;AAAA,MAAQA,MAAR,sCAAiB,IAAjB;;AAEA,MAAMC,aAAa,GAAG1B,WAAW,CAC/B,UAAC2B,KAAD,EAA0C;AACxC,QACE,CAACA,KAAK,CAACC,gBAAP,KACCD,KAAK,CAACE,GAAN,KAAc,KAAd,IAAuBF,KAAK,CAACE,GAAN,KAAc,QADtC,CADF,EAGE;AACAF,MAAAA,KAAK,CAACG,cAAN;;AACA,UAAId,OAAJ,EAAa;AACXA,QAAAA,OAAO;AACR;AACF;;AACD,QAAI,OAAOG,SAAP,KAAqB,UAAzB,EAAqC;AACnCA,MAAAA,SAAS,CAACQ,KAAD,CAAT;AACD;AACF,GAd8B,EAe/B,CAACX,OAAD,EAAUG,SAAV,CAf+B,CAAjC;AAkBAjB,EAAAA,SAAS,CAAC,YAAM;AACd,WAAO,YAAY;AACjB,aAAOc,OAAP,KAAmB,UAAnB,IAAiCA,OAAO,EAAxC;AACD,KAFD,CADc,CAId;AACA;AACD,GANQ,EAMN,EANM,CAAT;AAQA,sBACE,oBAAC,MAAD,qBACE,oBAAC,SAAD;AAAW,IAAA,WAAW,EAAEL,WAAxB;AAAqC,IAAA,QAAQ,EAAES;AAA/C,kBACE,oBAAC,YAAD;AACE,IAAA,YAAY,MADd;AAEE,IAAA,GAAG,EAAEI,SAFP;AAGE,IAAA,OAAO,EAAE,CAACH,iBAHZ;AAIE,IAAA,WAAW;AAJb,kBAME,oBAAC,YAAD,eACMC,IADN;AAEE,IAAA,KAAK;AAAIG,MAAAA,MAAM,EAANA;AAAJ,OAAeP,KAAf,CAFP;AAGE,IAAA,SAAS,EAAEQ,aAHb;AAIE,IAAA,QAAQ,EAAE,CAJZ;AAKE,IAAA,SAAS,EAAEtB,UAAU,CAAC,UAAD,EAAaa,SAAb;AALvB,MAOGF,QAPH,CANF,CADF,CADF,CADF;AAsBD,CArE6B,CAAzB;AAwEPF,MAAM,CAACkB,WAAP,GAAqB,QAArB","sourcesContent":["import React, {\n useCallback,\n useRef,\n useEffect,\n forwardRef,\n HTMLAttributes,\n KeyboardEvent,\n} from \"react\";\nimport classnames from \"classnames\";\nimport FocusLock from \"react-focus-lock\";\nimport { Portal, useLayerContext } from \"../../helpers\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { StyledWindow } from \"./Style\";\n\ninterface IWindow {\n onClose?: () => void;\n disableFocusLock?: boolean;\n disableScrollLock?: boolean;\n}\n\nconst returnFocus = { preventScroll: true };\n\nexport const Window = forwardRef<\n HTMLDivElement,\n IWindow & HTMLAttributes<HTMLDivElement>\n>(\n (\n {\n children,\n onClose,\n className,\n style,\n onKeyDown,\n disableFocusLock = false,\n disableScrollLock = false,\n ...rest\n },\n ref\n ) => {\n const innerRef = useRef<HTMLDivElement>(null);\n const handleRef = useForkRef(innerRef, ref);\n const { zIndex = 1300 } = useLayerContext();\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n if (\n !event.defaultPrevented &&\n (event.key === \"Esc\" || event.key === \"Escape\")\n ) {\n event.preventDefault();\n if (onClose) {\n onClose();\n }\n }\n if (typeof onKeyDown === \"function\") {\n onKeyDown(event);\n }\n },\n [onClose, onKeyDown]\n );\n\n useEffect(() => {\n return (): void => {\n typeof onClose === \"function\" && onClose();\n };\n // Dependency is empty because we only want to call onClose when component is unmounted\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <Portal>\n <FocusLock returnFocus={returnFocus} disabled={disableFocusLock}>\n <RemoveScroll\n forwardProps\n ref={handleRef}\n enabled={!disableScrollLock}\n noIsolation\n >\n <StyledWindow\n {...rest}\n style={{ zIndex, ...style }}\n onKeyDown={handleKeyDown}\n tabIndex={0}\n className={classnames(\"c-window\", className)}\n >\n {children}\n </StyledWindow>\n </RemoveScroll>\n </FocusLock>\n </Portal>\n );\n }\n);\n\nWindow.displayName = \"Window\";\n"],"file":"Window.js"}