@activecollab/components 2.0.444 → 2.0.445

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.
@@ -3,10 +3,11 @@ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWith
3
3
  const _excluded = ["children", "onClose", "controls", "open", "animation", "position", "mode", "disableFocusLock", "disableScrollLock", "disableBackgroundColor", "bodyStyle", "bodyClassName", "disableBackgroundClick"];
4
4
  import React, { useCallback, useEffect, forwardRef, useState, useImperativeHandle } from "react";
5
5
  import classnames from "classnames";
6
- import { StyledAnimatedSpan, StyledCssTransition, StyledHeader, StyledIconsWrapperSmall, StyledListSeparator, StyledSheetIcons, StyledSheetWrapper, StyledSheetSurface, StyledSheetWrapperPaper } from "./Styles";
6
+ import { StyledAnimatedSpan, StyledCssTransition, StyledHeader, StyledIconsWrapperSmall, StyledListSeparator, StyledSheetIcons, StyledSheetWrapper, SHEET_ENTER_MS, SHEET_EXIT_MS, StyledSheetSurface, StyledSheetWrapperPaper } from "./Styles";
7
7
  import { IconButton } from "../IconButton";
8
8
  import { Overlay } from "../Overlay";
9
9
  import { Tooltip } from "../Tooltip";
10
+ import { Fade } from "../Transitions";
10
11
  import { Window } from "../Window";
11
12
  export const Sheet = /*#__PURE__*/forwardRef((_ref, ref) => {
12
13
  let children = _ref.children,
@@ -67,10 +68,16 @@ export const Sheet = /*#__PURE__*/forwardRef((_ref, ref) => {
67
68
  onClose: handleClose,
68
69
  disableFocusLock: disableFocusLock,
69
70
  disableScrollLock: disableScrollLock
70
- }), open && /*#__PURE__*/React.createElement(Overlay, {
71
+ }), /*#__PURE__*/React.createElement(Fade, {
72
+ in: open,
73
+ timeout: open ? SHEET_ENTER_MS : SHEET_EXIT_MS
74
+ }, /*#__PURE__*/React.createElement(Overlay, {
71
75
  onClick: handleBackgroundClick,
72
- disableBackgroundColor: disableBackgroundColor
73
- }), /*#__PURE__*/React.createElement(StyledSheetWrapper, {
76
+ disableBackgroundColor: disableBackgroundColor,
77
+ style: {
78
+ pointerEvents: open ? undefined : "none"
79
+ }
80
+ })), /*#__PURE__*/React.createElement(StyledSheetWrapper, {
74
81
  className: classnames("c-sheet__wrapper", bodyClassName),
75
82
  style: bodyStyle,
76
83
  $position: position,
@@ -78,7 +85,7 @@ export const Sheet = /*#__PURE__*/forwardRef((_ref, ref) => {
78
85
  }, /*#__PURE__*/React.createElement(StyledCssTransition, {
79
86
  appear: true,
80
87
  in: open,
81
- timeout: 400,
88
+ timeout: SHEET_ENTER_MS,
82
89
  classNames: "c-sheet__animation",
83
90
  $direction: animation,
84
91
  onEnter: handleEnter,
@@ -1 +1 @@
1
- {"version":3,"file":"Sheet.js","names":["React","useCallback","useEffect","forwardRef","useState","useImperativeHandle","classnames","StyledAnimatedSpan","StyledCssTransition","StyledHeader","StyledIconsWrapperSmall","StyledListSeparator","StyledSheetIcons","StyledSheetWrapper","StyledSheetSurface","StyledSheetWrapperPaper","IconButton","Overlay","Tooltip","Window","Sheet","_ref","ref","children","onClose","_ref$controls","controls","_ref$open","open","defaultOpen","_ref$animation","animation","_ref$position","position","_ref$mode","mode","_ref$disableFocusLock","disableFocusLock","_ref$disableScrollLoc","disableScrollLock","_ref$disableBackgroun","disableBackgroundColor","bodyStyle","bodyClassName","_ref$disableBackgroun2","disableBackgroundClick","rest","_objectWithoutPropertiesLoose","_excluded","_useState","setOpen","_useState2","exited","setExited","handleEnter","handleExited","handleClose","handleBackgroundClick","event","preventDefault","close","createElement","_extends","onClick","className","style","$position","$mode","appear","in","timeout","classNames","$direction","onEnter","onExited","length","map","_ref2","index","IconComponent","icon","tooltip","disabled","title","disable","key","$disabled","paperClass","_ref3","variant","displayName"],"sources":["../../../../src/components/Sheet/Sheet.tsx"],"sourcesContent":["import React, {\n useCallback,\n useEffect,\n forwardRef,\n HTMLAttributes,\n useState,\n CSSProperties,\n MouseEvent,\n useImperativeHandle,\n} from \"react\";\n\nimport classnames from \"classnames\";\n\nimport {\n StyledAnimatedSpan,\n StyledCssTransition,\n StyledHeader,\n StyledIconsWrapperSmall,\n StyledListSeparator,\n StyledSheetIcons,\n StyledSheetWrapper,\n StyledSheetSurface,\n StyledSheetWrapperPaper,\n} from \"./Styles\";\nimport { IconButton } from \"../IconButton\";\nimport { Overlay } from \"../Overlay\";\nimport { Tooltip } from \"../Tooltip\";\nimport { Window } from \"../Window\";\n\ninterface ControlProps {\n onClick: () => void;\n icon: React.ReactElement;\n tooltip: string;\n disabled: boolean;\n className: string;\n}\n\ninterface ISheet {\n onClose?: () => void;\n controls?: ControlProps[];\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 interface SheetMethods {\n close: () => void;\n}\n\ntype SheetProps = ISheet & HTMLAttributes<HTMLDivElement>;\n\nexport const Sheet = forwardRef<SheetMethods, SheetProps>(\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\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 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 useImperativeHandle(ref, () => ({\n close: handleClose,\n }));\n\n if (!open && exited) {\n return null;\n }\n\n return (\n <Window\n {...rest}\n onClose={handleClose}\n disableFocusLock={disableFocusLock}\n disableScrollLock={disableScrollLock}\n >\n {open && (\n <Overlay\n onClick={handleBackgroundClick}\n disableBackgroundColor={disableBackgroundColor}\n />\n )}\n <StyledSheetWrapper\n className={classnames(\"c-sheet__wrapper\", bodyClassName)}\n style={bodyStyle}\n $position={position}\n $mode={mode}\n >\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 <StyledSheetSurface>\n {controls.length > 0 && (\n <StyledSheetIcons>\n {controls.map(\n (\n {\n icon: IconComponent,\n tooltip,\n onClick,\n disabled,\n className,\n },\n index\n ) => (\n <Tooltip\n title={tooltip}\n disable={!tooltip || disabled}\n key={`c-sheet-control-${index}`}\n >\n <StyledAnimatedSpan\n onClick={onClick}\n $disabled={disabled}\n className={className}\n >\n {IconComponent}\n </StyledAnimatedSpan>\n </Tooltip>\n )\n )}\n </StyledSheetIcons>\n )}\n <StyledSheetWrapperPaper paperClass=\"c-sheet__wrapper__paper\">\n {controls.length > 0 && (\n <StyledHeader>\n <StyledIconsWrapperSmall>\n {controls.map(\n (\n {\n icon: IconComponent,\n tooltip,\n onClick,\n disabled,\n className,\n },\n index\n ) => (\n <Tooltip\n title={tooltip}\n disable={!tooltip || disabled}\n key={index}\n >\n <IconButton\n onClick={onClick}\n disabled={disabled}\n className={className}\n variant=\"text gray\"\n >\n {IconComponent}\n </IconButton>\n </Tooltip>\n )\n )}\n </StyledIconsWrapperSmall>\n <StyledListSeparator />\n </StyledHeader>\n )}\n {children}\n </StyledSheetWrapperPaper>\n </StyledSheetSurface>\n </StyledCssTransition>\n </StyledSheetWrapper>\n </Window>\n );\n }\n);\n\nSheet.displayName = \"Sheet\";\n"],"mappings":";;;AAAA,OAAOA,KAAK,IACVC,WAAW,EACXC,SAAS,EACTC,UAAU,EAEVC,QAAQ,EAGRC,mBAAmB,QACd,OAAO;AAEd,OAAOC,UAAU,MAAM,YAAY;AAEnC,SACEC,kBAAkB,EAClBC,mBAAmB,EACnBC,YAAY,EACZC,uBAAuB,EACvBC,mBAAmB,EACnBC,gBAAgB,EAChBC,kBAAkB,EAClBC,kBAAkB,EAClBC,uBAAuB,QAClB,UAAU;AACjB,SAASC,UAAU,QAAQ,eAAe;AAC1C,SAASC,OAAO,QAAQ,YAAY;AACpC,SAASC,OAAO,QAAQ,YAAY;AACpC,SAASC,MAAM,QAAQ,WAAW;AA+BlC,OAAO,MAAMC,KAAK,gBAAGjB,UAAU,CAC7B,CAAAkB,IAAA,EAiBEC,GAAG,KACA;EAAA,IAhBDC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IACRC,OAAO,GAAAH,IAAA,CAAPG,OAAO;IAAAC,aAAA,GAAAJ,IAAA,CACPK,QAAQ;IAARA,QAAQ,GAAAD,aAAA,cAAG,EAAE,GAAAA,aAAA;IAAAE,SAAA,GAAAN,IAAA,CACbO,IAAI;IAAEC,WAAW,GAAAF,SAAA,cAAG,KAAK,GAAAA,SAAA;IAAAG,cAAA,GAAAT,IAAA,CACzBU,SAAS;IAATA,SAAS,GAAAD,cAAA,cAAG,KAAK,GAAAA,cAAA;IAAAE,aAAA,GAAAX,IAAA,CACjBY,QAAQ;IAARA,QAAQ,GAAAD,aAAA,cAAG,QAAQ,GAAAA,aAAA;IAAAE,SAAA,GAAAb,IAAA,CACnBc,IAAI;IAAJA,IAAI,GAAAD,SAAA,cAAG,QAAQ,GAAAA,SAAA;IAAAE,qBAAA,GAAAf,IAAA,CACfgB,gBAAgB;IAAhBA,gBAAgB,GAAAD,qBAAA,cAAG,KAAK,GAAAA,qBAAA;IAAAE,qBAAA,GAAAjB,IAAA,CACxBkB,iBAAiB;IAAjBA,iBAAiB,GAAAD,qBAAA,cAAG,KAAK,GAAAA,qBAAA;IAAAE,qBAAA,GAAAnB,IAAA,CACzBoB,sBAAsB;IAAtBA,sBAAsB,GAAAD,qBAAA,cAAG,KAAK,GAAAA,qBAAA;IAC9BE,SAAS,GAAArB,IAAA,CAATqB,SAAS;IACTC,aAAa,GAAAtB,IAAA,CAAbsB,aAAa;IAAAC,sBAAA,GAAAvB,IAAA,CACbwB,sBAAsB;IAAtBA,sBAAsB,GAAAD,sBAAA,cAAG,KAAK,GAAAA,sBAAA;IAC3BE,IAAI,GAAAC,6BAAA,CAAA1B,IAAA,EAAA2B,SAAA;EAIT,MAAAC,SAAA,GAAwB7C,QAAQ,CAACyB,WAAW,CAAC;IAAtCD,IAAI,GAAAqB,SAAA;IAAEC,OAAO,GAAAD,SAAA;EACpB,MAAAE,UAAA,GAA4B/C,QAAQ,CAAC,IAAI,CAAC;IAAnCgD,MAAM,GAAAD,UAAA;IAAEE,SAAS,GAAAF,UAAA;EAExBjD,SAAS,CAAC,MAAM;IACdgD,OAAO,CAACrB,WAAW,CAAC;EACtB,CAAC,EAAE,CAACA,WAAW,CAAC,CAAC;EAEjB,MAAMyB,WAAW,GAAGrD,WAAW,CAAC,MAAM;IACpCoD,SAAS,CAAC,KAAK,CAAC;EAClB,CAAC,EAAE,EAAE,CAAC;EAEN,MAAME,YAAY,GAAGtD,WAAW,CAAC,MAAM;IACrCoD,SAAS,CAAC,IAAI,CAAC;IACf7B,OAAO,YAAPA,OAAO,CAAG,CAAC;EACb,CAAC,EAAE,CAACA,OAAO,CAAC,CAAC;EAEb,MAAMgC,WAAW,GAAGvD,WAAW,CAAC,MAAM;IACpCiD,OAAO,CAAC,KAAK,CAAC;EAChB,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMO,qBAAqB,GAAGxD,WAAW,CACtCyD,KAAiC,IAAK;IACrC,IAAI,CAACb,sBAAsB,EAAE;MAC3Ba,KAAK,CAACC,cAAc,CAAC,CAAC;MACtBH,WAAW,CAAC,CAAC;IACf;EACF,CAAC,EACD,CAACX,sBAAsB,EAAEW,WAAW,CACtC,CAAC;EAEDnD,mBAAmB,CAACiB,GAAG,EAAE,OAAO;IAC9BsC,KAAK,EAAEJ;EACT,CAAC,CAAC,CAAC;EAEH,IAAI,CAAC5B,IAAI,IAAIwB,MAAM,EAAE;IACnB,OAAO,IAAI;EACb;EAEA,oBACEpD,KAAA,CAAA6D,aAAA,CAAC1C,MAAM,EAAA2C,QAAA,KACDhB,IAAI;IACRtB,OAAO,EAAEgC,WAAY;IACrBnB,gBAAgB,EAAEA,gBAAiB;IACnCE,iBAAiB,EAAEA;EAAkB,IAEpCX,IAAI,iBACH5B,KAAA,CAAA6D,aAAA,CAAC5C,OAAO;IACN8C,OAAO,EAAEN,qBAAsB;IAC/BhB,sBAAsB,EAAEA;EAAuB,CAChD,CACF,eACDzC,KAAA,CAAA6D,aAAA,CAAChD,kBAAkB;IACjBmD,SAAS,EAAE1D,UAAU,CAAC,kBAAkB,EAAEqC,aAAa,CAAE;IACzDsB,KAAK,EAAEvB,SAAU;IACjBwB,SAAS,EAAEjC,QAAS;IACpBkC,KAAK,EAAEhC;EAAK,gBAEZnC,KAAA,CAAA6D,aAAA,CAACrD,mBAAmB;IAClB4D,MAAM;IACNC,EAAE,EAAEzC,IAAK;IACT0C,OAAO,EAAE,GAAI;IACbC,UAAU,EAAC,oBAAoB;IAC/BC,UAAU,EAAEzC,SAAU;IACtB0C,OAAO,EAAEnB,WAAY;IACrBoB,QAAQ,EAAEnB;EAAa,gBAEvBvD,KAAA,CAAA6D,aAAA,CAAC/C,kBAAkB,QAChBY,QAAQ,CAACiD,MAAM,GAAG,CAAC,iBAClB3E,KAAA,CAAA6D,aAAA,CAACjD,gBAAgB,QACdc,QAAQ,CAACkD,GAAG,CACX,CAAAC,KAAA,EAQEC,KAAK;IAAA,IANGC,aAAa,GAAAF,KAAA,CAAnBG,IAAI;MACJC,OAAO,GAAAJ,KAAA,CAAPI,OAAO;MACPlB,OAAO,GAAAc,KAAA,CAAPd,OAAO;MACPmB,QAAQ,GAAAL,KAAA,CAARK,QAAQ;MACRlB,SAAS,GAAAa,KAAA,CAATb,SAAS;IAAA,oBAIXhE,KAAA,CAAA6D,aAAA,CAAC3C,OAAO;MACNiE,KAAK,EAAEF,OAAQ;MACfG,OAAO,EAAE,CAACH,OAAO,IAAIC,QAAS;MAC9BG,GAAG,uBAAqBP;IAAQ,gBAEhC9E,KAAA,CAAA6D,aAAA,CAACtD,kBAAkB;MACjBwD,OAAO,EAAEA,OAAQ;MACjBuB,SAAS,EAAEJ,QAAS;MACpBlB,SAAS,EAAEA;IAAU,GAEpBe,aACiB,CACb,CAAC;EAAA,CAEd,CACgB,CACnB,eACD/E,KAAA,CAAA6D,aAAA,CAAC9C,uBAAuB;IAACwE,UAAU,EAAC;EAAyB,GAC1D7D,QAAQ,CAACiD,MAAM,GAAG,CAAC,iBAClB3E,KAAA,CAAA6D,aAAA,CAACpD,YAAY,qBACXT,KAAA,CAAA6D,aAAA,CAACnD,uBAAuB,QACrBgB,QAAQ,CAACkD,GAAG,CACX,CAAAY,KAAA,EAQEV,KAAK;IAAA,IANGC,aAAa,GAAAS,KAAA,CAAnBR,IAAI;MACJC,OAAO,GAAAO,KAAA,CAAPP,OAAO;MACPlB,OAAO,GAAAyB,KAAA,CAAPzB,OAAO;MACPmB,QAAQ,GAAAM,KAAA,CAARN,QAAQ;MACRlB,SAAS,GAAAwB,KAAA,CAATxB,SAAS;IAAA,oBAIXhE,KAAA,CAAA6D,aAAA,CAAC3C,OAAO;MACNiE,KAAK,EAAEF,OAAQ;MACfG,OAAO,EAAE,CAACH,OAAO,IAAIC,QAAS;MAC9BG,GAAG,EAAEP;IAAM,gBAEX9E,KAAA,CAAA6D,aAAA,CAAC7C,UAAU;MACT+C,OAAO,EAAEA,OAAQ;MACjBmB,QAAQ,EAAEA,QAAS;MACnBlB,SAAS,EAAEA,SAAU;MACrByB,OAAO,EAAC;IAAW,GAElBV,aACS,CACL,CAAC;EAAA,CAEd,CACuB,CAAC,eAC1B/E,KAAA,CAAA6D,aAAA,CAAClD,mBAAmB,MAAE,CACV,CACf,EACAY,QACsB,CACP,CACD,CACH,CACd,CAAC;AAEb,CACF,CAAC;AAEDH,KAAK,CAACsE,WAAW,GAAG,OAAO","ignoreList":[]}
1
+ {"version":3,"file":"Sheet.js","names":["React","useCallback","useEffect","forwardRef","useState","useImperativeHandle","classnames","StyledAnimatedSpan","StyledCssTransition","StyledHeader","StyledIconsWrapperSmall","StyledListSeparator","StyledSheetIcons","StyledSheetWrapper","SHEET_ENTER_MS","SHEET_EXIT_MS","StyledSheetSurface","StyledSheetWrapperPaper","IconButton","Overlay","Tooltip","Fade","Window","Sheet","_ref","ref","children","onClose","_ref$controls","controls","_ref$open","open","defaultOpen","_ref$animation","animation","_ref$position","position","_ref$mode","mode","_ref$disableFocusLock","disableFocusLock","_ref$disableScrollLoc","disableScrollLock","_ref$disableBackgroun","disableBackgroundColor","bodyStyle","bodyClassName","_ref$disableBackgroun2","disableBackgroundClick","rest","_objectWithoutPropertiesLoose","_excluded","_useState","setOpen","_useState2","exited","setExited","handleEnter","handleExited","handleClose","handleBackgroundClick","event","preventDefault","close","createElement","_extends","in","timeout","onClick","style","pointerEvents","undefined","className","$position","$mode","appear","classNames","$direction","onEnter","onExited","length","map","_ref2","index","IconComponent","icon","tooltip","disabled","title","disable","key","$disabled","paperClass","_ref3","variant","displayName"],"sources":["../../../../src/components/Sheet/Sheet.tsx"],"sourcesContent":["import React, {\n useCallback,\n useEffect,\n forwardRef,\n HTMLAttributes,\n useState,\n CSSProperties,\n MouseEvent,\n useImperativeHandle,\n} from \"react\";\n\nimport classnames from \"classnames\";\n\nimport {\n StyledAnimatedSpan,\n StyledCssTransition,\n StyledHeader,\n StyledIconsWrapperSmall,\n StyledListSeparator,\n StyledSheetIcons,\n StyledSheetWrapper,\n SHEET_ENTER_MS,\n SHEET_EXIT_MS,\n StyledSheetSurface,\n StyledSheetWrapperPaper,\n} from \"./Styles\";\nimport { IconButton } from \"../IconButton\";\nimport { Overlay } from \"../Overlay\";\nimport { Tooltip } from \"../Tooltip\";\nimport { Fade } from \"../Transitions\";\nimport { Window } from \"../Window\";\n\ninterface ControlProps {\n onClick: () => void;\n icon: React.ReactElement;\n tooltip: string;\n disabled: boolean;\n className: string;\n}\n\ninterface ISheet {\n onClose?: () => void;\n controls?: ControlProps[];\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 interface SheetMethods {\n close: () => void;\n}\n\ntype SheetProps = ISheet & HTMLAttributes<HTMLDivElement>;\n\nexport const Sheet = forwardRef<SheetMethods, SheetProps>(\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\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 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 useImperativeHandle(ref, () => ({\n close: handleClose,\n }));\n\n if (!open && exited) {\n return null;\n }\n\n return (\n <Window\n {...rest}\n onClose={handleClose}\n disableFocusLock={disableFocusLock}\n disableScrollLock={disableScrollLock}\n >\n <Fade in={open} timeout={open ? SHEET_ENTER_MS : SHEET_EXIT_MS}>\n <Overlay\n onClick={handleBackgroundClick}\n disableBackgroundColor={disableBackgroundColor}\n style={{ pointerEvents: open ? undefined : \"none\" }}\n />\n </Fade>\n <StyledSheetWrapper\n className={classnames(\"c-sheet__wrapper\", bodyClassName)}\n style={bodyStyle}\n $position={position}\n $mode={mode}\n >\n <StyledCssTransition\n appear\n in={open}\n timeout={SHEET_ENTER_MS}\n classNames=\"c-sheet__animation\"\n $direction={animation}\n onEnter={handleEnter}\n onExited={handleExited}\n >\n <StyledSheetSurface>\n {controls.length > 0 && (\n <StyledSheetIcons>\n {controls.map(\n (\n {\n icon: IconComponent,\n tooltip,\n onClick,\n disabled,\n className,\n },\n index\n ) => (\n <Tooltip\n title={tooltip}\n disable={!tooltip || disabled}\n key={`c-sheet-control-${index}`}\n >\n <StyledAnimatedSpan\n onClick={onClick}\n $disabled={disabled}\n className={className}\n >\n {IconComponent}\n </StyledAnimatedSpan>\n </Tooltip>\n )\n )}\n </StyledSheetIcons>\n )}\n <StyledSheetWrapperPaper paperClass=\"c-sheet__wrapper__paper\">\n {controls.length > 0 && (\n <StyledHeader>\n <StyledIconsWrapperSmall>\n {controls.map(\n (\n {\n icon: IconComponent,\n tooltip,\n onClick,\n disabled,\n className,\n },\n index\n ) => (\n <Tooltip\n title={tooltip}\n disable={!tooltip || disabled}\n key={index}\n >\n <IconButton\n onClick={onClick}\n disabled={disabled}\n className={className}\n variant=\"text gray\"\n >\n {IconComponent}\n </IconButton>\n </Tooltip>\n )\n )}\n </StyledIconsWrapperSmall>\n <StyledListSeparator />\n </StyledHeader>\n )}\n {children}\n </StyledSheetWrapperPaper>\n </StyledSheetSurface>\n </StyledCssTransition>\n </StyledSheetWrapper>\n </Window>\n );\n }\n);\n\nSheet.displayName = \"Sheet\";\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,6 @@
1
1
  import { CSSTransition } from "react-transition-group";
2
+ export declare const SHEET_ENTER_MS = 400;
3
+ export declare const SHEET_EXIT_MS = 200;
2
4
  export declare const StyledSheetIcons: import("styled-components").StyledComponent<"div", any, {}, never>;
3
5
  interface IStyledSheetWrapper {
4
6
  $position?: "center" | "left" | "right";
@@ -1 +1 @@
1
- {"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../src/components/Sheet/Styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AASvD,eAAO,MAAM,gBAAgB,oEA2B5B,CAAC;AAIF,UAAU,mBAAmB;IAC3B,SAAS,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IACxC,KAAK,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;CAC9B;AAED,eAAO,MAAM,kBAAkB,qFAiG9B,CAAC;AAIF,UAAU,wBAAwB;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,kBAAkB,oEAM9B,CAAC;AAIF,eAAO,MAAM,uBAAuB,0FAkBnC,CAAC;AAIF,UAAU,mBAAmB;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,eAAO,MAAM,kBAAkB,sFAc9B,CAAC;AAIF,eAAO,MAAM,mBAAmB;gBAClB,MAAM;SA6HnB,CAAC;AAIF,eAAO,MAAM,mBAAmB;;;kBAE/B,CAAC;AAIF,eAAO,MAAM,uBAAuB,oEASnC,CAAC;AAIF,eAAO,MAAM,YAAY,oEAIxB,CAAC"}
1
+ {"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../src/components/Sheet/Styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AASvD,eAAO,MAAM,cAAc,MAAM,CAAC;AAClC,eAAO,MAAM,aAAa,MAAM,CAAC;AAEjC,eAAO,MAAM,gBAAgB,oEA2B5B,CAAC;AAIF,UAAU,mBAAmB;IAC3B,SAAS,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IACxC,KAAK,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;CAC9B;AAED,eAAO,MAAM,kBAAkB,qFAiG9B,CAAC;AAIF,UAAU,wBAAwB;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,kBAAkB,oEAM9B,CAAC;AAIF,eAAO,MAAM,uBAAuB,0FAkBnC,CAAC;AAIF,UAAU,mBAAmB;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,eAAO,MAAM,kBAAkB,sFAc9B,CAAC;AAIF,eAAO,MAAM,mBAAmB;gBAClB,MAAM;SA6HnB,CAAC;AAIF,eAAO,MAAM,mBAAmB;;;kBAE/B,CAAC;AAIF,eAAO,MAAM,uBAAuB,oEASnC,CAAC;AAIF,eAAO,MAAM,YAAY,oEAIxB,CAAC"}
@@ -3,6 +3,8 @@ import styled, { css } from "styled-components";
3
3
  import { BoxSizingStyle } from "../BoxSizingStyle";
4
4
  import { FontStyle } from "../FontStyle";
5
5
  import { ListSeparator } from "../List";
6
+ export const SHEET_ENTER_MS = 400;
7
+ export const SHEET_EXIT_MS = 200;
6
8
  export const StyledSheetIcons = styled.div.withConfig({
7
9
  displayName: "Styles__StyledSheetIcons",
8
10
  componentId: "sc-144eyxd-0"
@@ -44,7 +46,7 @@ StyledAnimatedSpan.displayName = "StyledAnimatedSpan";
44
46
  export const StyledCssTransition = styled(CSSTransition).withConfig({
45
47
  displayName: "Styles__StyledCssTransition",
46
48
  componentId: "sc-144eyxd-5"
47
- })(["", " ", " ", " ", ""], props => props.$direction === "top" && css(["&.c-sheet__animation-enter{opacity:0;transform:translateY(-100%);}&.c-sheet__animation-enter-active{opacity:1;transform:translateY(0);transition:opacity 400ms,transform 400ms;}&.c-sheet__animation-appear{opacity:0;transform:translateY(-100%);}&.c-sheet__animation-appear-active{opacity:1;transform:translateY(0);transition:opacity 400ms,transform 400ms;}&.c-sheet__animation-exit{opacity:1;}&.c-sheet__animation-exit-active{opacity:0;transform:translateY(-100%);transition:opacity 200ms,transform 200ms;}"]), props => props.$direction === "bottom" && css(["&.c-sheet__animation-enter{opacity:0;transform:translateY(100%);}&.c-sheet__animation-enter-active{opacity:1;transform:translateY(0);transition:opacity 400ms,transform 400ms;}&.c-sheet__animation-appear{opacity:0;transform:translateY(100%);}&.c-sheet__animation-appear-active{opacity:1;transform:translateY(0);transition:opacity 400ms,transform 400ms;}&.c-sheet__animation-exit{opacity:1;}&.c-sheet__animation-exit-active{opacity:0;transform:translateY(100%);transition:opacity 200ms,transform 200ms;}"]), props => props.$direction === "left" && css(["&.c-sheet__animation-enter{opacity:0;transform:translateX(-100%);}&.c-sheet__animation-enter-active{opacity:1;transform:translateX(0);transition:opacity 400ms,transform 400ms;}&.c-sheet__animation-appear{opacity:0;transform:translateX(-100%);}&.c-sheet__animation-appear-active{opacity:1;transform:translateX(0);transition:opacity 400ms,transform 400ms;}&.c-sheet__animation-exit{opacity:1;}&.c-sheet__animation-exit-active{opacity:0;transform:translateX(-100%);transition:opacity 200ms,transform 200ms;}"]), props => props.$direction === "right" && css(["&.c-sheet__animation-enter{opacity:0;transform:translateX(100%);}&.c-sheet__animation-enter-active{opacity:1;transform:translateX(0);transition:opacity 400ms,transform 400ms;}&.c-sheet__animation-appear{opacity:0;transform:translateX(100%);}&.c-sheet__animation-appear-active{opacity:1;transform:translateX(0);transition:opacity 400ms,transform 400ms;}&.c-sheet__animation-exit{opacity:1;}&.c-sheet__animation-exit-active{opacity:0;transform:translateX(100%);transition:opacity 200ms,transform 200ms;}"]));
49
+ })(["", " ", " ", " ", ""], props => props.$direction === "top" && css(["&.c-sheet__animation-enter{opacity:0;transform:translateY(-100%);}&.c-sheet__animation-enter-active{opacity:1;transform:translateY(0);transition:opacity ", "ms,transform ", "ms;}&.c-sheet__animation-appear{opacity:0;transform:translateY(-100%);}&.c-sheet__animation-appear-active{opacity:1;transform:translateY(0);transition:opacity ", "ms,transform ", "ms;}&.c-sheet__animation-exit{opacity:1;}&.c-sheet__animation-exit-active{opacity:0;transform:translateY(-100%);transition:opacity ", "ms,transform ", "ms;}"], SHEET_ENTER_MS, SHEET_ENTER_MS, SHEET_ENTER_MS, SHEET_ENTER_MS, SHEET_EXIT_MS, SHEET_EXIT_MS), props => props.$direction === "bottom" && css(["&.c-sheet__animation-enter{opacity:0;transform:translateY(100%);}&.c-sheet__animation-enter-active{opacity:1;transform:translateY(0);transition:opacity ", "ms,transform ", "ms;}&.c-sheet__animation-appear{opacity:0;transform:translateY(100%);}&.c-sheet__animation-appear-active{opacity:1;transform:translateY(0);transition:opacity ", "ms,transform ", "ms;}&.c-sheet__animation-exit{opacity:1;}&.c-sheet__animation-exit-active{opacity:0;transform:translateY(100%);transition:opacity ", "ms,transform ", "ms;}"], SHEET_ENTER_MS, SHEET_ENTER_MS, SHEET_ENTER_MS, SHEET_ENTER_MS, SHEET_EXIT_MS, SHEET_EXIT_MS), props => props.$direction === "left" && css(["&.c-sheet__animation-enter{opacity:0;transform:translateX(-100%);}&.c-sheet__animation-enter-active{opacity:1;transform:translateX(0);transition:opacity ", "ms,transform ", "ms;}&.c-sheet__animation-appear{opacity:0;transform:translateX(-100%);}&.c-sheet__animation-appear-active{opacity:1;transform:translateX(0);transition:opacity ", "ms,transform ", "ms;}&.c-sheet__animation-exit{opacity:1;}&.c-sheet__animation-exit-active{opacity:0;transform:translateX(-100%);transition:opacity ", "ms,transform ", "ms;}"], SHEET_ENTER_MS, SHEET_ENTER_MS, SHEET_ENTER_MS, SHEET_ENTER_MS, SHEET_EXIT_MS, SHEET_EXIT_MS), props => props.$direction === "right" && css(["&.c-sheet__animation-enter{opacity:0;transform:translateX(100%);}&.c-sheet__animation-enter-active{opacity:1;transform:translateX(0);transition:opacity ", "ms,transform ", "ms;}&.c-sheet__animation-appear{opacity:0;transform:translateX(100%);}&.c-sheet__animation-appear-active{opacity:1;transform:translateX(0);transition:opacity ", "ms,transform ", "ms;}&.c-sheet__animation-exit{opacity:1;}&.c-sheet__animation-exit-active{opacity:0;transform:translateX(100%);transition:opacity ", "ms,transform ", "ms;}"], SHEET_ENTER_MS, SHEET_ENTER_MS, SHEET_ENTER_MS, SHEET_ENTER_MS, SHEET_EXIT_MS, SHEET_EXIT_MS));
48
50
  StyledCssTransition.displayName = "StyledCssTransition";
49
51
  export const StyledListSeparator = styled(ListSeparator).withConfig({
50
52
  displayName: "Styles__StyledListSeparator",
@@ -1 +1 @@
1
- {"version":3,"file":"Styles.js","names":["CSSTransition","styled","css","BoxSizingStyle","FontStyle","ListSeparator","StyledSheetIcons","div","withConfig","displayName","componentId","StyledSheetWrapper","props","$mode","$position","StyledSheetSurface","StyledSheetWrapperPaper","attrs","className","paperClass","StyledAnimatedSpan","span","$disabled","StyledCssTransition","$direction","StyledListSeparator","StyledIconsWrapperSmall","StyledHeader"],"sources":["../../../../src/components/Sheet/Styles.ts"],"sourcesContent":["import { CSSTransition } from \"react-transition-group\";\n\nimport styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\n\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { FontStyle } from \"../FontStyle\";\nimport { ListSeparator } from \"../List\";\n\nexport const StyledSheetIcons = styled.div`\n display: flex;\n height: 0;\n position: relative;\n\n span {\n position: relative;\n background-color: var(--page-paper-main);\n box-shadow: var(--shadow-secondary);\n cursor: pointer;\n border-radius: 100%;\n width: 40px;\n height: 40px;\n display: flex;\n justify-content: center;\n align-items: center;\n & > * {\n height: 40px;\n width: 40px;\n padding: 8px;\n fill: var(--color-theme-600);\n }\n }\n\n @media (max-width: 640px) {\n display: none;\n }\n`;\n\nStyledSheetIcons.displayName = \"StyledSheetIcons\";\n\ninterface IStyledSheetWrapper {\n $position?: \"center\" | \"left\" | \"right\";\n $mode?: \"normal\" | \"stretch\";\n}\n\nexport const StyledSheetWrapper = styled.div<IStyledSheetWrapper>`\n ${BoxSizingStyle}\n ${FontStyle}\n\n position: relative;\n max-width: 95vw;\n display: flex;\n flex-direction: row;\n\n ${(props) =>\n props.$mode === \"stretch\"\n ? css`\n margin-top: 8px;\n height: calc(100vh - 16px);\n width: calc(100vw - 100px);\n max-width: 1000px;\n ${StyledSheetIcons} {\n flex-direction: column;\n width: 0;\n height: calc(100vh - 32px);\n & > * {\n margin-bottom: 8px;\n }\n span {\n top: 8px;\n }\n }\n `\n : css`\n max-height: calc(100vh - 156px);\n margin-top: 126px;\n margin-bottom: 30px;\n width: 540px;\n flex-direction: column;\n\n ${StyledSheetIcons} {\n flex-direction: row-reverse;\n & > * {\n margin-left: 8px;\n }\n span {\n top: -48px;\n right: 8px;\n }\n }\n `}\n\n ${(props) =>\n props.$mode === \"stretch\" &&\n css`\n @media (max-width: 640px) {\n width: 100%;\n height: 100%;\n }\n `}\n\n ${(props) =>\n props.$position === \"center\" &&\n css`\n ${tw`tw-mx-auto`}\n `}\n\n ${(props) =>\n props.$position === \"left\" &&\n css`\n ${tw`tw-ml-2 tw-mr-auto`}\n `}\n\n ${(props) =>\n props.$position === \"right\" &&\n css`\n ${tw`tw-mr-2 tw-ml-auto`}\n `}\n\n ${(props) =>\n props.$mode === \"stretch\" &&\n props.$position !== \"left\" &&\n css`\n ${StyledSheetIcons} {\n span {\n right: 48px;\n }\n }\n `}\n\n ${(props) =>\n props.$mode === \"stretch\" &&\n props.$position === \"left\" &&\n css`\n flex-direction: row-reverse;\n\n ${StyledSheetIcons} {\n span {\n right: -8px;\n }\n }\n `}\n`;\n\nStyledSheetWrapper.displayName = \"StyledSheetWrapper\";\n\ninterface IStyledSheetWrapperPaper {\n paperClass?: string;\n}\n\nexport const StyledSheetSurface = styled.div`\n display: flex;\n flex-direction: inherit;\n flex: 1 1 auto;\n min-width: 0;\n min-height: 0;\n`;\n\nStyledSheetSurface.displayName = \"StyledSheetSurface\";\n\nexport const StyledSheetWrapperPaper = styled.div.attrs<IStyledSheetWrapperPaper>(\n (props) => ({\n className: props.paperClass,\n })\n)<IStyledSheetWrapperPaper>`\n background-color: var(--page-paper-main);\n color: var(--color-theme-900);\n box-shadow: var(--shadow-primary);\n border-radius: 6px;\n overflow: auto;\n animation: 0.3s linear ease-out;\n /* Scrolling here must not dirty the blurred overlays below, which already clip to this box. */\n transform: translateZ(0);\n contain: paint;\n /* A scroll that runs off the end must stop here. Chained to the page, it moves what the blur samples. */\n overscroll-behavior: contain;\n\n ${tw`tw-flex-auto`}\n`;\n\nStyledSheetWrapperPaper.displayName = \"StyledSheetWrapperPaper\";\n\ninterface IStyledAnimatedSpan {\n $disabled?: boolean;\n}\n\nexport const StyledAnimatedSpan = styled.span<IStyledAnimatedSpan>`\n &:hover svg {\n fill: var(--color-primary);\n }\n\n ${(props) =>\n props.$disabled &&\n css`\n pointer-events: none;\n\n svg {\n opacity: 0.5;\n }\n `}\n`;\n\nStyledAnimatedSpan.displayName = \"StyledAnimatedSpan\";\n\nexport const StyledCssTransition = styled(CSSTransition)<{\n $direction: string;\n}>`\n ${(props) =>\n props.$direction === \"top\" &&\n css`\n &.c-sheet__animation-enter {\n opacity: 0;\n transform: translateY(-100%);\n }\n &.c-sheet__animation-enter-active {\n opacity: 1;\n transform: translateY(0);\n transition: opacity 400ms, transform 400ms;\n }\n &.c-sheet__animation-appear {\n opacity: 0;\n transform: translateY(-100%);\n }\n &.c-sheet__animation-appear-active {\n opacity: 1;\n transform: translateY(0);\n transition: opacity 400ms, transform 400ms;\n }\n &.c-sheet__animation-exit {\n opacity: 1;\n }\n &.c-sheet__animation-exit-active {\n opacity: 0;\n transform: translateY(-100%);\n transition: opacity 200ms, transform 200ms;\n }\n `}\n\n ${(props) =>\n props.$direction === \"bottom\" &&\n css`\n &.c-sheet__animation-enter {\n opacity: 0;\n transform: translateY(100%);\n }\n &.c-sheet__animation-enter-active {\n opacity: 1;\n transform: translateY(0);\n transition: opacity 400ms, transform 400ms;\n }\n &.c-sheet__animation-appear {\n opacity: 0;\n transform: translateY(100%);\n }\n &.c-sheet__animation-appear-active {\n opacity: 1;\n transform: translateY(0);\n transition: opacity 400ms, transform 400ms;\n }\n &.c-sheet__animation-exit {\n opacity: 1;\n }\n &.c-sheet__animation-exit-active {\n opacity: 0;\n transform: translateY(100%);\n transition: opacity 200ms, transform 200ms;\n }\n `}\n\n ${(props) =>\n props.$direction === \"left\" &&\n css`\n &.c-sheet__animation-enter {\n opacity: 0;\n transform: translateX(-100%);\n }\n &.c-sheet__animation-enter-active {\n opacity: 1;\n transform: translateX(0);\n transition: opacity 400ms, transform 400ms;\n }\n &.c-sheet__animation-appear {\n opacity: 0;\n transform: translateX(-100%);\n }\n &.c-sheet__animation-appear-active {\n opacity: 1;\n transform: translateX(0);\n transition: opacity 400ms, transform 400ms;\n }\n &.c-sheet__animation-exit {\n opacity: 1;\n }\n &.c-sheet__animation-exit-active {\n opacity: 0;\n transform: translateX(-100%);\n transition: opacity 200ms, transform 200ms;\n }\n `}\n\n ${(props) =>\n props.$direction === \"right\" &&\n css`\n &.c-sheet__animation-enter {\n opacity: 0;\n transform: translateX(100%);\n }\n &.c-sheet__animation-enter-active {\n opacity: 1;\n transform: translateX(0);\n transition: opacity 400ms, transform 400ms;\n }\n &.c-sheet__animation-appear {\n opacity: 0;\n transform: translateX(100%);\n }\n &.c-sheet__animation-appear-active {\n opacity: 1;\n transform: translateX(0);\n transition: opacity 400ms, transform 400ms;\n }\n &.c-sheet__animation-exit {\n opacity: 1;\n }\n &.c-sheet__animation-exit-active {\n opacity: 0;\n transform: translateX(100%);\n transition: opacity 200ms, transform 200ms;\n }\n `}\n`;\n\nStyledCssTransition.displayName = \"StyledCssTransition\";\n\nexport const StyledListSeparator = styled(ListSeparator)`\n margin: 0;\n`;\n\nStyledListSeparator.displayName = \"StyledListSeparator\";\n\nexport const StyledIconsWrapperSmall = styled.div`\n height: 40px;\n display: flex;\n gap: 8px;\n padding-left: 16px;\n padding-right: 16px;\n align-items: center;\n place-content: end;\n flex-direction: row-reverse;\n`;\n\nStyledIconsWrapperSmall.displayName = \"StyledIconsWrapperSmall\";\n\nexport const StyledHeader = styled.div`\n @media (min-width: 640px) {\n display: none;\n }\n`;\n\nStyledHeader.displayName = \"StyledHeader\";\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Styles.js","names":["CSSTransition","styled","css","BoxSizingStyle","FontStyle","ListSeparator","SHEET_ENTER_MS","SHEET_EXIT_MS","StyledSheetIcons","div","withConfig","displayName","componentId","StyledSheetWrapper","props","$mode","$position","StyledSheetSurface","StyledSheetWrapperPaper","attrs","className","paperClass","StyledAnimatedSpan","span","$disabled","StyledCssTransition","$direction","StyledListSeparator","StyledIconsWrapperSmall","StyledHeader"],"sources":["../../../../src/components/Sheet/Styles.ts"],"sourcesContent":["import { CSSTransition } from \"react-transition-group\";\n\nimport styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\n\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { FontStyle } from \"../FontStyle\";\nimport { ListSeparator } from \"../List\";\n\nexport const SHEET_ENTER_MS = 400;\nexport const SHEET_EXIT_MS = 200;\n\nexport const StyledSheetIcons = styled.div`\n display: flex;\n height: 0;\n position: relative;\n\n span {\n position: relative;\n background-color: var(--page-paper-main);\n box-shadow: var(--shadow-secondary);\n cursor: pointer;\n border-radius: 100%;\n width: 40px;\n height: 40px;\n display: flex;\n justify-content: center;\n align-items: center;\n & > * {\n height: 40px;\n width: 40px;\n padding: 8px;\n fill: var(--color-theme-600);\n }\n }\n\n @media (max-width: 640px) {\n display: none;\n }\n`;\n\nStyledSheetIcons.displayName = \"StyledSheetIcons\";\n\ninterface IStyledSheetWrapper {\n $position?: \"center\" | \"left\" | \"right\";\n $mode?: \"normal\" | \"stretch\";\n}\n\nexport const StyledSheetWrapper = styled.div<IStyledSheetWrapper>`\n ${BoxSizingStyle}\n ${FontStyle}\n\n position: relative;\n max-width: 95vw;\n display: flex;\n flex-direction: row;\n\n ${(props) =>\n props.$mode === \"stretch\"\n ? css`\n margin-top: 8px;\n height: calc(100vh - 16px);\n width: calc(100vw - 100px);\n max-width: 1000px;\n ${StyledSheetIcons} {\n flex-direction: column;\n width: 0;\n height: calc(100vh - 32px);\n & > * {\n margin-bottom: 8px;\n }\n span {\n top: 8px;\n }\n }\n `\n : css`\n max-height: calc(100vh - 156px);\n margin-top: 126px;\n margin-bottom: 30px;\n width: 540px;\n flex-direction: column;\n\n ${StyledSheetIcons} {\n flex-direction: row-reverse;\n & > * {\n margin-left: 8px;\n }\n span {\n top: -48px;\n right: 8px;\n }\n }\n `}\n\n ${(props) =>\n props.$mode === \"stretch\" &&\n css`\n @media (max-width: 640px) {\n width: 100%;\n height: 100%;\n }\n `}\n\n ${(props) =>\n props.$position === \"center\" &&\n css`\n ${tw`tw-mx-auto`}\n `}\n\n ${(props) =>\n props.$position === \"left\" &&\n css`\n ${tw`tw-ml-2 tw-mr-auto`}\n `}\n\n ${(props) =>\n props.$position === \"right\" &&\n css`\n ${tw`tw-mr-2 tw-ml-auto`}\n `}\n\n ${(props) =>\n props.$mode === \"stretch\" &&\n props.$position !== \"left\" &&\n css`\n ${StyledSheetIcons} {\n span {\n right: 48px;\n }\n }\n `}\n\n ${(props) =>\n props.$mode === \"stretch\" &&\n props.$position === \"left\" &&\n css`\n flex-direction: row-reverse;\n\n ${StyledSheetIcons} {\n span {\n right: -8px;\n }\n }\n `}\n`;\n\nStyledSheetWrapper.displayName = \"StyledSheetWrapper\";\n\ninterface IStyledSheetWrapperPaper {\n paperClass?: string;\n}\n\nexport const StyledSheetSurface = styled.div`\n display: flex;\n flex-direction: inherit;\n flex: 1 1 auto;\n min-width: 0;\n min-height: 0;\n`;\n\nStyledSheetSurface.displayName = \"StyledSheetSurface\";\n\nexport const StyledSheetWrapperPaper = styled.div.attrs<IStyledSheetWrapperPaper>(\n (props) => ({\n className: props.paperClass,\n })\n)<IStyledSheetWrapperPaper>`\n background-color: var(--page-paper-main);\n color: var(--color-theme-900);\n box-shadow: var(--shadow-primary);\n border-radius: 6px;\n overflow: auto;\n animation: 0.3s linear ease-out;\n /* Scrolling here must not dirty the blurred overlays below, which already clip to this box. */\n transform: translateZ(0);\n contain: paint;\n /* A scroll that runs off the end must stop here. Chained to the page, it moves what the blur samples. */\n overscroll-behavior: contain;\n\n ${tw`tw-flex-auto`}\n`;\n\nStyledSheetWrapperPaper.displayName = \"StyledSheetWrapperPaper\";\n\ninterface IStyledAnimatedSpan {\n $disabled?: boolean;\n}\n\nexport const StyledAnimatedSpan = styled.span<IStyledAnimatedSpan>`\n &:hover svg {\n fill: var(--color-primary);\n }\n\n ${(props) =>\n props.$disabled &&\n css`\n pointer-events: none;\n\n svg {\n opacity: 0.5;\n }\n `}\n`;\n\nStyledAnimatedSpan.displayName = \"StyledAnimatedSpan\";\n\nexport const StyledCssTransition = styled(CSSTransition)<{\n $direction: string;\n}>`\n ${(props) =>\n props.$direction === \"top\" &&\n css`\n &.c-sheet__animation-enter {\n opacity: 0;\n transform: translateY(-100%);\n }\n &.c-sheet__animation-enter-active {\n opacity: 1;\n transform: translateY(0);\n transition: opacity ${SHEET_ENTER_MS}ms, transform ${SHEET_ENTER_MS}ms;\n }\n &.c-sheet__animation-appear {\n opacity: 0;\n transform: translateY(-100%);\n }\n &.c-sheet__animation-appear-active {\n opacity: 1;\n transform: translateY(0);\n transition: opacity ${SHEET_ENTER_MS}ms, transform ${SHEET_ENTER_MS}ms;\n }\n &.c-sheet__animation-exit {\n opacity: 1;\n }\n &.c-sheet__animation-exit-active {\n opacity: 0;\n transform: translateY(-100%);\n transition: opacity ${SHEET_EXIT_MS}ms, transform ${SHEET_EXIT_MS}ms;\n }\n `}\n\n ${(props) =>\n props.$direction === \"bottom\" &&\n css`\n &.c-sheet__animation-enter {\n opacity: 0;\n transform: translateY(100%);\n }\n &.c-sheet__animation-enter-active {\n opacity: 1;\n transform: translateY(0);\n transition: opacity ${SHEET_ENTER_MS}ms, transform ${SHEET_ENTER_MS}ms;\n }\n &.c-sheet__animation-appear {\n opacity: 0;\n transform: translateY(100%);\n }\n &.c-sheet__animation-appear-active {\n opacity: 1;\n transform: translateY(0);\n transition: opacity ${SHEET_ENTER_MS}ms, transform ${SHEET_ENTER_MS}ms;\n }\n &.c-sheet__animation-exit {\n opacity: 1;\n }\n &.c-sheet__animation-exit-active {\n opacity: 0;\n transform: translateY(100%);\n transition: opacity ${SHEET_EXIT_MS}ms, transform ${SHEET_EXIT_MS}ms;\n }\n `}\n\n ${(props) =>\n props.$direction === \"left\" &&\n css`\n &.c-sheet__animation-enter {\n opacity: 0;\n transform: translateX(-100%);\n }\n &.c-sheet__animation-enter-active {\n opacity: 1;\n transform: translateX(0);\n transition: opacity ${SHEET_ENTER_MS}ms, transform ${SHEET_ENTER_MS}ms;\n }\n &.c-sheet__animation-appear {\n opacity: 0;\n transform: translateX(-100%);\n }\n &.c-sheet__animation-appear-active {\n opacity: 1;\n transform: translateX(0);\n transition: opacity ${SHEET_ENTER_MS}ms, transform ${SHEET_ENTER_MS}ms;\n }\n &.c-sheet__animation-exit {\n opacity: 1;\n }\n &.c-sheet__animation-exit-active {\n opacity: 0;\n transform: translateX(-100%);\n transition: opacity ${SHEET_EXIT_MS}ms, transform ${SHEET_EXIT_MS}ms;\n }\n `}\n\n ${(props) =>\n props.$direction === \"right\" &&\n css`\n &.c-sheet__animation-enter {\n opacity: 0;\n transform: translateX(100%);\n }\n &.c-sheet__animation-enter-active {\n opacity: 1;\n transform: translateX(0);\n transition: opacity ${SHEET_ENTER_MS}ms, transform ${SHEET_ENTER_MS}ms;\n }\n &.c-sheet__animation-appear {\n opacity: 0;\n transform: translateX(100%);\n }\n &.c-sheet__animation-appear-active {\n opacity: 1;\n transform: translateX(0);\n transition: opacity ${SHEET_ENTER_MS}ms, transform ${SHEET_ENTER_MS}ms;\n }\n &.c-sheet__animation-exit {\n opacity: 1;\n }\n &.c-sheet__animation-exit-active {\n opacity: 0;\n transform: translateX(100%);\n transition: opacity ${SHEET_EXIT_MS}ms, transform ${SHEET_EXIT_MS}ms;\n }\n `}\n`;\n\nStyledCssTransition.displayName = \"StyledCssTransition\";\n\nexport const StyledListSeparator = styled(ListSeparator)`\n margin: 0;\n`;\n\nStyledListSeparator.displayName = \"StyledListSeparator\";\n\nexport const StyledIconsWrapperSmall = styled.div`\n height: 40px;\n display: flex;\n gap: 8px;\n padding-left: 16px;\n padding-right: 16px;\n align-items: center;\n place-content: end;\n flex-direction: row-reverse;\n`;\n\nStyledIconsWrapperSmall.displayName = \"StyledIconsWrapperSmall\";\n\nexport const StyledHeader = styled.div`\n @media (min-width: 640px) {\n display: none;\n }\n`;\n\nStyledHeader.displayName = \"StyledHeader\";\n"],"mappings":"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","ignoreList":[]}
package/dist/index.js CHANGED
@@ -15482,6 +15482,16 @@
15482
15482
  setChildNode = _useState6[1];
15483
15483
  var elementRef = React.useRef(null);
15484
15484
  var isOpenAtLeastOnce = React.useRef(false);
15485
+ var wasOpen = React.useRef(open);
15486
+ var focusBeforeOpen = React.useRef(null);
15487
+ var returnFocusTo = React.useRef(null);
15488
+ var popperRef = React.useRef(null);
15489
+
15490
+ // Read on the render that opens the menu, before the focus lock moves the focus inside it.
15491
+ if (open && !wasOpen.current && typeof document !== "undefined") {
15492
+ focusBeforeOpen.current = document.activeElement;
15493
+ }
15494
+ wasOpen.current = open;
15485
15495
  React.useEffect(function () {
15486
15496
  setOpen(defaultOpen);
15487
15497
  }, [defaultOpen]);
@@ -15519,17 +15529,41 @@
15519
15529
  if (open) {
15520
15530
  isOpenAtLeastOnce.current = true;
15521
15531
  } else if (!open && isOpenAtLeastOnce.current) {
15522
- var _elementRef$current;
15523
- (_elementRef$current = elementRef.current) === null || _elementRef$current === void 0 || _elementRef$current.focus();
15532
+ var previous = focusBeforeOpen.current;
15533
+ var returnTo = previous instanceof HTMLElement && previous.isConnected ? previous : elementRef.current;
15534
+ returnFocusTo.current = returnTo;
15535
+ returnTo === null || returnTo === void 0 || returnTo.focus();
15524
15536
  isOpenAtLeastOnce.current = false;
15525
15537
  }
15526
15538
  }, [open]);
15539
+
15540
+ // A fading menu is already closed. Its content can still reach for the focus, and would take it away
15541
+ // with it when it unmounts, so the focus goes straight back to where the menu returned it.
15542
+ React.useEffect(function () {
15543
+ if (open || exited) {
15544
+ return undefined;
15545
+ }
15546
+ var keepFocusOut = function keepFocusOut(event) {
15547
+ var _popperRef$current;
15548
+ if ((_popperRef$current = popperRef.current) !== null && _popperRef$current !== void 0 && _popperRef$current.contains(event.target)) {
15549
+ var _returnFocusTo$curren;
15550
+ (_returnFocusTo$curren = returnFocusTo.current) === null || _returnFocusTo$curren === void 0 || _returnFocusTo$curren.focus();
15551
+ }
15552
+ };
15553
+ document.addEventListener("focusin", keepFocusOut, true);
15554
+ return function () {
15555
+ return document.removeEventListener("focusin", keepFocusOut, true);
15556
+ };
15557
+ }, [open, exited]);
15527
15558
  return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, target && /*#__PURE__*/React__default["default"].cloneElement(target, targetProps), open || !exited ? /*#__PURE__*/React__default["default"].createElement(Window, {
15528
15559
  onClose: handleClose,
15529
15560
  disableScrollLock: !handleScroll
15530
- // A closing menu hands the focus back at once, it does not hold it for the length of the fade.
15561
+ // The menu returns the focus itself at once, so a late returnFocus cannot undo a caller's move.
15531
15562
  ,
15532
- disableFocusLock: disableFocusLock || !open,
15563
+ disableFocusLock: disableFocusLock || !open
15564
+ // A fading menu is already closed, so an escape pressed meanwhile belongs to the page behind it.
15565
+ ,
15566
+ disableCloseOnEsc: !open,
15533
15567
  style: {
15534
15568
  position: windowAbsolutelyPositioned ? "absolute" : "fixed"
15535
15569
  }
@@ -15539,6 +15573,7 @@
15539
15573
  tabIndex: -1,
15540
15574
  disableBackgroundColor: true
15541
15575
  }) : null, /*#__PURE__*/React__default["default"].createElement(Popper, {
15576
+ ref: popperRef,
15542
15577
  anchorEl: childNode,
15543
15578
  open: childNode ? open : false,
15544
15579
  placement: position,
@@ -15561,7 +15596,10 @@
15561
15596
  }, /*#__PURE__*/React__default["default"].createElement(StyledMenu$3, {
15562
15597
  className: classNames__default["default"]("c-simple-menu__paper", "c-simple-menu__".concat(mode), menuClassName, className),
15563
15598
  $mode: mode,
15564
- onMouseDown: onMenuClick
15599
+ onMouseDown: onMenuClick,
15600
+ style: open ? undefined : {
15601
+ pointerEvents: "none"
15602
+ }
15565
15603
  }, /*#__PURE__*/React__default["default"].createElement(MenuContextProvider, {
15566
15604
  value: {
15567
15605
  open,
@@ -24847,6 +24885,8 @@
24847
24885
  });
24848
24886
  Textarea.displayName = "Textarea";
24849
24887
 
24888
+ var SHEET_ENTER_MS = 400;
24889
+ var SHEET_EXIT_MS = 200;
24850
24890
  var StyledSheetIcons = styled__default["default"].div.withConfig({
24851
24891
  displayName: "Styles__StyledSheetIcons",
24852
24892
  componentId: "sc-144eyxd-0"
@@ -24907,13 +24947,13 @@
24907
24947
  displayName: "Styles__StyledCssTransition",
24908
24948
  componentId: "sc-144eyxd-5"
24909
24949
  })(["", " ", " ", " ", ""], function (props) {
24910
- return props.$direction === "top" && styled.css(["&.c-sheet__animation-enter{opacity:0;transform:translateY(-100%);}&.c-sheet__animation-enter-active{opacity:1;transform:translateY(0);transition:opacity 400ms,transform 400ms;}&.c-sheet__animation-appear{opacity:0;transform:translateY(-100%);}&.c-sheet__animation-appear-active{opacity:1;transform:translateY(0);transition:opacity 400ms,transform 400ms;}&.c-sheet__animation-exit{opacity:1;}&.c-sheet__animation-exit-active{opacity:0;transform:translateY(-100%);transition:opacity 200ms,transform 200ms;}"]);
24950
+ return props.$direction === "top" && styled.css(["&.c-sheet__animation-enter{opacity:0;transform:translateY(-100%);}&.c-sheet__animation-enter-active{opacity:1;transform:translateY(0);transition:opacity ", "ms,transform ", "ms;}&.c-sheet__animation-appear{opacity:0;transform:translateY(-100%);}&.c-sheet__animation-appear-active{opacity:1;transform:translateY(0);transition:opacity ", "ms,transform ", "ms;}&.c-sheet__animation-exit{opacity:1;}&.c-sheet__animation-exit-active{opacity:0;transform:translateY(-100%);transition:opacity ", "ms,transform ", "ms;}"], SHEET_ENTER_MS, SHEET_ENTER_MS, SHEET_ENTER_MS, SHEET_ENTER_MS, SHEET_EXIT_MS, SHEET_EXIT_MS);
24911
24951
  }, function (props) {
24912
- return props.$direction === "bottom" && styled.css(["&.c-sheet__animation-enter{opacity:0;transform:translateY(100%);}&.c-sheet__animation-enter-active{opacity:1;transform:translateY(0);transition:opacity 400ms,transform 400ms;}&.c-sheet__animation-appear{opacity:0;transform:translateY(100%);}&.c-sheet__animation-appear-active{opacity:1;transform:translateY(0);transition:opacity 400ms,transform 400ms;}&.c-sheet__animation-exit{opacity:1;}&.c-sheet__animation-exit-active{opacity:0;transform:translateY(100%);transition:opacity 200ms,transform 200ms;}"]);
24952
+ return props.$direction === "bottom" && styled.css(["&.c-sheet__animation-enter{opacity:0;transform:translateY(100%);}&.c-sheet__animation-enter-active{opacity:1;transform:translateY(0);transition:opacity ", "ms,transform ", "ms;}&.c-sheet__animation-appear{opacity:0;transform:translateY(100%);}&.c-sheet__animation-appear-active{opacity:1;transform:translateY(0);transition:opacity ", "ms,transform ", "ms;}&.c-sheet__animation-exit{opacity:1;}&.c-sheet__animation-exit-active{opacity:0;transform:translateY(100%);transition:opacity ", "ms,transform ", "ms;}"], SHEET_ENTER_MS, SHEET_ENTER_MS, SHEET_ENTER_MS, SHEET_ENTER_MS, SHEET_EXIT_MS, SHEET_EXIT_MS);
24913
24953
  }, function (props) {
24914
- return props.$direction === "left" && styled.css(["&.c-sheet__animation-enter{opacity:0;transform:translateX(-100%);}&.c-sheet__animation-enter-active{opacity:1;transform:translateX(0);transition:opacity 400ms,transform 400ms;}&.c-sheet__animation-appear{opacity:0;transform:translateX(-100%);}&.c-sheet__animation-appear-active{opacity:1;transform:translateX(0);transition:opacity 400ms,transform 400ms;}&.c-sheet__animation-exit{opacity:1;}&.c-sheet__animation-exit-active{opacity:0;transform:translateX(-100%);transition:opacity 200ms,transform 200ms;}"]);
24954
+ return props.$direction === "left" && styled.css(["&.c-sheet__animation-enter{opacity:0;transform:translateX(-100%);}&.c-sheet__animation-enter-active{opacity:1;transform:translateX(0);transition:opacity ", "ms,transform ", "ms;}&.c-sheet__animation-appear{opacity:0;transform:translateX(-100%);}&.c-sheet__animation-appear-active{opacity:1;transform:translateX(0);transition:opacity ", "ms,transform ", "ms;}&.c-sheet__animation-exit{opacity:1;}&.c-sheet__animation-exit-active{opacity:0;transform:translateX(-100%);transition:opacity ", "ms,transform ", "ms;}"], SHEET_ENTER_MS, SHEET_ENTER_MS, SHEET_ENTER_MS, SHEET_ENTER_MS, SHEET_EXIT_MS, SHEET_EXIT_MS);
24915
24955
  }, function (props) {
24916
- return props.$direction === "right" && styled.css(["&.c-sheet__animation-enter{opacity:0;transform:translateX(100%);}&.c-sheet__animation-enter-active{opacity:1;transform:translateX(0);transition:opacity 400ms,transform 400ms;}&.c-sheet__animation-appear{opacity:0;transform:translateX(100%);}&.c-sheet__animation-appear-active{opacity:1;transform:translateX(0);transition:opacity 400ms,transform 400ms;}&.c-sheet__animation-exit{opacity:1;}&.c-sheet__animation-exit-active{opacity:0;transform:translateX(100%);transition:opacity 200ms,transform 200ms;}"]);
24956
+ return props.$direction === "right" && styled.css(["&.c-sheet__animation-enter{opacity:0;transform:translateX(100%);}&.c-sheet__animation-enter-active{opacity:1;transform:translateX(0);transition:opacity ", "ms,transform ", "ms;}&.c-sheet__animation-appear{opacity:0;transform:translateX(100%);}&.c-sheet__animation-appear-active{opacity:1;transform:translateX(0);transition:opacity ", "ms,transform ", "ms;}&.c-sheet__animation-exit{opacity:1;}&.c-sheet__animation-exit-active{opacity:0;transform:translateX(100%);transition:opacity ", "ms,transform ", "ms;}"], SHEET_ENTER_MS, SHEET_ENTER_MS, SHEET_ENTER_MS, SHEET_ENTER_MS, SHEET_EXIT_MS, SHEET_EXIT_MS);
24917
24957
  });
24918
24958
  StyledCssTransition.displayName = "StyledCssTransition";
24919
24959
  var StyledListSeparator = styled__default["default"](ListSeparator).withConfig({
@@ -24996,10 +25036,16 @@
24996
25036
  onClose: handleClose,
24997
25037
  disableFocusLock: disableFocusLock,
24998
25038
  disableScrollLock: disableScrollLock
24999
- }), open && /*#__PURE__*/React__default["default"].createElement(Overlay, {
25039
+ }), /*#__PURE__*/React__default["default"].createElement(Fade, {
25040
+ in: open,
25041
+ timeout: open ? SHEET_ENTER_MS : SHEET_EXIT_MS
25042
+ }, /*#__PURE__*/React__default["default"].createElement(Overlay, {
25000
25043
  onClick: handleBackgroundClick,
25001
- disableBackgroundColor: disableBackgroundColor
25002
- }), /*#__PURE__*/React__default["default"].createElement(StyledSheetWrapper, {
25044
+ disableBackgroundColor: disableBackgroundColor,
25045
+ style: {
25046
+ pointerEvents: open ? undefined : "none"
25047
+ }
25048
+ })), /*#__PURE__*/React__default["default"].createElement(StyledSheetWrapper, {
25003
25049
  className: classNames__default["default"]("c-sheet__wrapper", bodyClassName),
25004
25050
  style: bodyStyle,
25005
25051
  $position: position,
@@ -25007,7 +25053,7 @@
25007
25053
  }, /*#__PURE__*/React__default["default"].createElement(StyledCssTransition, {
25008
25054
  appear: true,
25009
25055
  in: open,
25010
- timeout: 400,
25056
+ timeout: SHEET_ENTER_MS,
25011
25057
  classNames: "c-sheet__animation",
25012
25058
  $direction: animation,
25013
25059
  onEnter: handleEnter,