@activecollab/components 2.0.439 → 2.0.441
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/Dialog/Dialog.js +8 -1
- package/dist/cjs/components/Dialog/Dialog.js.map +1 -1
- package/dist/cjs/components/Menu/Menu.js +45 -19
- package/dist/cjs/components/Menu/Menu.js.map +1 -1
- package/dist/cjs/components/Modal/Modal.js +16 -4
- package/dist/cjs/components/Modal/Modal.js.map +1 -1
- package/dist/cjs/components/Transitions/Fade/Fade.js +3 -2
- package/dist/cjs/components/Transitions/Fade/Fade.js.map +1 -1
- package/dist/cjs/components/Transitions/Grow/Grow.js +110 -0
- package/dist/cjs/components/Transitions/Grow/Grow.js.map +1 -0
- package/dist/cjs/components/Transitions/Grow/index.js +17 -0
- package/dist/cjs/components/Transitions/Grow/index.js.map +1 -0
- package/dist/cjs/components/Transitions/SlideFromTop/SlideFromTop.js +7 -5
- package/dist/cjs/components/Transitions/SlideFromTop/SlideFromTop.js.map +1 -1
- package/dist/cjs/components/Transitions/index.js +11 -0
- package/dist/cjs/components/Transitions/index.js.map +1 -1
- package/dist/esm/components/Dialog/Dialog.d.ts.map +1 -1
- package/dist/esm/components/Dialog/Dialog.js +10 -3
- package/dist/esm/components/Dialog/Dialog.js.map +1 -1
- package/dist/esm/components/Menu/Menu.d.ts.map +1 -1
- package/dist/esm/components/Menu/Menu.js +43 -19
- package/dist/esm/components/Menu/Menu.js.map +1 -1
- package/dist/esm/components/Modal/Modal.d.ts +5 -0
- package/dist/esm/components/Modal/Modal.d.ts.map +1 -1
- package/dist/esm/components/Modal/Modal.js +16 -4
- package/dist/esm/components/Modal/Modal.js.map +1 -1
- package/dist/esm/components/Transitions/Fade/Fade.d.ts +1 -0
- package/dist/esm/components/Transitions/Fade/Fade.d.ts.map +1 -1
- package/dist/esm/components/Transitions/Fade/Fade.js +2 -1
- package/dist/esm/components/Transitions/Fade/Fade.js.map +1 -1
- package/dist/esm/components/Transitions/Grow/Grow.d.ts +14 -0
- package/dist/esm/components/Transitions/Grow/Grow.d.ts.map +1 -0
- package/dist/esm/components/Transitions/Grow/Grow.js +88 -0
- package/dist/esm/components/Transitions/Grow/Grow.js.map +1 -0
- package/dist/esm/components/Transitions/Grow/index.d.ts +2 -0
- package/dist/esm/components/Transitions/Grow/index.d.ts.map +1 -0
- package/dist/esm/components/Transitions/Grow/index.js +2 -0
- package/dist/esm/components/Transitions/Grow/index.js.map +1 -0
- package/dist/esm/components/Transitions/SlideFromTop/SlideFromTop.d.ts +2 -0
- package/dist/esm/components/Transitions/SlideFromTop/SlideFromTop.d.ts.map +1 -1
- package/dist/esm/components/Transitions/SlideFromTop/SlideFromTop.js +6 -4
- package/dist/esm/components/Transitions/SlideFromTop/SlideFromTop.js.map +1 -1
- package/dist/esm/components/Transitions/index.d.ts +1 -0
- package/dist/esm/components/Transitions/index.d.ts.map +1 -1
- package/dist/esm/components/Transitions/index.js +1 -0
- package/dist/esm/components/Transitions/index.js.map +1 -1
- package/dist/index.js +917 -775
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -75,7 +75,14 @@ var _Dialog = exports._Dialog = /*#__PURE__*/(0, _react.forwardRef)(function (_r
|
|
|
75
75
|
onClose: onClose,
|
|
76
76
|
disableBackgroundClick: !enableBackgroundClick,
|
|
77
77
|
disableCloseOnEsc: disableCloseOnEsc,
|
|
78
|
-
onClickOutside: onClickOutside
|
|
78
|
+
onClickOutside: onClickOutside,
|
|
79
|
+
overlayTimeout: animate === "fade" ? {
|
|
80
|
+
enter: _Transitions.FADE_DURATION,
|
|
81
|
+
exit: _Transitions.FADE_DURATION
|
|
82
|
+
} : {
|
|
83
|
+
enter: _SlideFromTop.SLIDE_FROM_TOP_ENTER,
|
|
84
|
+
exit: _SlideFromTop.SLIDE_FROM_TOP_EXIT
|
|
85
|
+
}
|
|
79
86
|
}, rest), /*#__PURE__*/_react.default.createElement(DialogSurface, {
|
|
80
87
|
in: open,
|
|
81
88
|
onClose: onClose,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dialog.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_DialogActions","_DialogContent","_DialogContentDivider","_DialogContext","_DialogTitle","_Styles","_Modal","_Transitions","_SlideFromTop","_excluded","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","_objectWithoutProperties","_objectWithoutPropertiesLoose","getOwnPropertySymbols","indexOf","propertyIsEnumerable","DialogSurface","_ref","_ref$in","in","inProp","onEnter","onExited","forceClose","onClose","animate","children","Animation","Fade","SlideFromTop","value","useMemo","requestClose","createElement","DialogContext","Provider","StyledDialogViewport","className","displayName","_Dialog","exports","forwardRef","_ref2","ref","_dialogSizes$size","_ref2$open","open","_ref2$enableBackgroun","enableBackgroundClick","_ref2$disableCloseOnE","disableCloseOnEsc","_ref2$animate","onClickOutside","_ref2$size","size","_ref2$height","height","rest","Modal","disableBackgroundClick","StyledDialog","$maxWidth","dialogSizes","m","$height","undefined","classnames","Dialog","Title","DialogTitle","Content","DialogContent","ContentDivider","DialogContentDivider","Actions","DialogActions"],"sources":["../../../../src/components/Dialog/Dialog.tsx"],"sourcesContent":["import React, {\n forwardRef,\n HTMLAttributes,\n PropsWithChildren,\n ReactElement,\n useMemo,\n} from \"react\";\n\nimport classnames from \"classnames\";\n\nimport { DialogActions } from \"./DialogActions\";\nimport { DialogContent } from \"./DialogContent\";\nimport { DialogContentDivider } from \"./DialogContentDivider\";\nimport { DialogContext } from \"./DialogContext\";\nimport { DialogTitle } from \"./DialogTitle\";\nimport {\n DialogSize,\n dialogSizes,\n StyledDialog,\n StyledDialogViewport,\n} from \"./Styles\";\nimport { Modal } from \"../Modal\";\nimport { Fade } from \"../Transitions\";\nimport { SlideFromTop } from \"../Transitions/SlideFromTop\";\n\nexport interface DialogProps extends HTMLAttributes<HTMLDivElement> {\n open?: boolean;\n onClose?: () => void;\n className?: string;\n enableBackgroundClick?: boolean;\n disableCloseOnEsc?: boolean;\n animate?: \"fade\" | \"slide\";\n onClickOutside?: (event) => void;\n /** Width step. Every step is a max-width; the dialog always fills it when there is room. */\n size?: DialogSize;\n /** \"fluid\" follows the content. A CSS length (\"95%\", \"600px\") pins the height instead. */\n height?: string;\n}\n\ninterface DialogSurfaceProps {\n in?: boolean;\n onEnter?: () => void;\n onExited?: () => void;\n forceClose?: () => void;\n onClose?: () => void;\n animate: \"fade\" | \"slide\";\n children: ReactElement;\n}\n\n// Modal only treats a child as a transition when its props already carry `in`, so this element\n// must declare it even though Modal overwrites it on clone.\nconst DialogSurface = ({\n in: inProp = false,\n onEnter,\n onExited,\n forceClose,\n onClose,\n animate,\n children,\n}: DialogSurfaceProps) => {\n const Animation = animate === \"fade\" ? Fade : SlideFromTop;\n const value = useMemo(\n () => ({ requestClose: forceClose, onClose }),\n [forceClose, onClose]\n );\n\n return (\n <DialogContext.Provider value={value}>\n <StyledDialogViewport className=\"c-dialog-viewport\">\n <Animation in={inProp} onEnter={onEnter} onExited={onExited}>\n {children}\n </Animation>\n </StyledDialogViewport>\n </DialogContext.Provider>\n );\n};\n\nDialogSurface.displayName = \"DialogSurface\";\n\nexport const _Dialog = forwardRef<\n HTMLDivElement,\n PropsWithChildren<DialogProps>\n>(\n (\n {\n children,\n open = false,\n onClose,\n className,\n enableBackgroundClick = false,\n disableCloseOnEsc = false,\n animate = \"slide\",\n onClickOutside,\n size = \"m\",\n height = \"fluid\",\n ...rest\n },\n ref\n ) => {\n return (\n <Modal\n ref={ref}\n open={open}\n onClose={onClose}\n disableBackgroundClick={!enableBackgroundClick}\n disableCloseOnEsc={disableCloseOnEsc}\n onClickOutside={onClickOutside}\n {...rest}\n >\n <DialogSurface in={open} onClose={onClose} animate={animate}>\n <StyledDialog\n $maxWidth={dialogSizes[size] ?? dialogSizes.m}\n $height={height === \"fluid\" ? undefined : height}\n className={classnames(\"c-dialog\", className)}\n >\n {children}\n </StyledDialog>\n </DialogSurface>\n </Modal>\n );\n }\n);\n\n_Dialog.displayName = \"Dialog\";\n\n// https://github.com/DefinitelyTyped/DefinitelyTyped/issues/34757\nexport const Dialog = Object.assign({}, _Dialog, {\n Title: DialogTitle,\n Content: DialogContent,\n ContentDivider: DialogContentDivider,\n Actions: DialogActions,\n});\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Dialog.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_DialogActions","_DialogContent","_DialogContentDivider","_DialogContext","_DialogTitle","_Styles","_Modal","_Transitions","_SlideFromTop","_excluded","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","_objectWithoutProperties","_objectWithoutPropertiesLoose","getOwnPropertySymbols","indexOf","propertyIsEnumerable","DialogSurface","_ref","_ref$in","in","inProp","onEnter","onExited","forceClose","onClose","animate","children","Animation","Fade","SlideFromTop","value","useMemo","requestClose","createElement","DialogContext","Provider","StyledDialogViewport","className","displayName","_Dialog","exports","forwardRef","_ref2","ref","_dialogSizes$size","_ref2$open","open","_ref2$enableBackgroun","enableBackgroundClick","_ref2$disableCloseOnE","disableCloseOnEsc","_ref2$animate","onClickOutside","_ref2$size","size","_ref2$height","height","rest","Modal","disableBackgroundClick","overlayTimeout","enter","FADE_DURATION","exit","SLIDE_FROM_TOP_ENTER","SLIDE_FROM_TOP_EXIT","StyledDialog","$maxWidth","dialogSizes","m","$height","undefined","classnames","Dialog","Title","DialogTitle","Content","DialogContent","ContentDivider","DialogContentDivider","Actions","DialogActions"],"sources":["../../../../src/components/Dialog/Dialog.tsx"],"sourcesContent":["import React, {\n forwardRef,\n HTMLAttributes,\n PropsWithChildren,\n ReactElement,\n useMemo,\n} from \"react\";\n\nimport classnames from \"classnames\";\n\nimport { DialogActions } from \"./DialogActions\";\nimport { DialogContent } from \"./DialogContent\";\nimport { DialogContentDivider } from \"./DialogContentDivider\";\nimport { DialogContext } from \"./DialogContext\";\nimport { DialogTitle } from \"./DialogTitle\";\nimport {\n DialogSize,\n dialogSizes,\n StyledDialog,\n StyledDialogViewport,\n} from \"./Styles\";\nimport { Modal } from \"../Modal\";\nimport { Fade, FADE_DURATION } from \"../Transitions\";\nimport {\n SlideFromTop,\n SLIDE_FROM_TOP_ENTER,\n SLIDE_FROM_TOP_EXIT,\n} from \"../Transitions/SlideFromTop\";\n\nexport interface DialogProps extends HTMLAttributes<HTMLDivElement> {\n open?: boolean;\n onClose?: () => void;\n className?: string;\n enableBackgroundClick?: boolean;\n disableCloseOnEsc?: boolean;\n animate?: \"fade\" | \"slide\";\n onClickOutside?: (event) => void;\n /** Width step. Every step is a max-width; the dialog always fills it when there is room. */\n size?: DialogSize;\n /** \"fluid\" follows the content. A CSS length (\"95%\", \"600px\") pins the height instead. */\n height?: string;\n}\n\ninterface DialogSurfaceProps {\n in?: boolean;\n onEnter?: () => void;\n onExited?: () => void;\n forceClose?: () => void;\n onClose?: () => void;\n animate: \"fade\" | \"slide\";\n children: ReactElement;\n}\n\n// Modal only treats a child as a transition when its props already carry `in`, so this element\n// must declare it even though Modal overwrites it on clone.\nconst DialogSurface = ({\n in: inProp = false,\n onEnter,\n onExited,\n forceClose,\n onClose,\n animate,\n children,\n}: DialogSurfaceProps) => {\n const Animation = animate === \"fade\" ? Fade : SlideFromTop;\n const value = useMemo(\n () => ({ requestClose: forceClose, onClose }),\n [forceClose, onClose]\n );\n\n return (\n <DialogContext.Provider value={value}>\n <StyledDialogViewport className=\"c-dialog-viewport\">\n <Animation in={inProp} onEnter={onEnter} onExited={onExited}>\n {children}\n </Animation>\n </StyledDialogViewport>\n </DialogContext.Provider>\n );\n};\n\nDialogSurface.displayName = \"DialogSurface\";\n\nexport const _Dialog = forwardRef<\n HTMLDivElement,\n PropsWithChildren<DialogProps>\n>(\n (\n {\n children,\n open = false,\n onClose,\n className,\n enableBackgroundClick = false,\n disableCloseOnEsc = false,\n animate = \"slide\",\n onClickOutside,\n size = \"m\",\n height = \"fluid\",\n ...rest\n },\n ref\n ) => {\n return (\n <Modal\n ref={ref}\n open={open}\n onClose={onClose}\n disableBackgroundClick={!enableBackgroundClick}\n disableCloseOnEsc={disableCloseOnEsc}\n onClickOutside={onClickOutside}\n overlayTimeout={\n animate === \"fade\"\n ? { enter: FADE_DURATION, exit: FADE_DURATION }\n : { enter: SLIDE_FROM_TOP_ENTER, exit: SLIDE_FROM_TOP_EXIT }\n }\n {...rest}\n >\n <DialogSurface in={open} onClose={onClose} animate={animate}>\n <StyledDialog\n $maxWidth={dialogSizes[size] ?? dialogSizes.m}\n $height={height === \"fluid\" ? undefined : height}\n className={classnames(\"c-dialog\", className)}\n >\n {children}\n </StyledDialog>\n </DialogSurface>\n </Modal>\n );\n }\n);\n\n_Dialog.displayName = \"Dialog\";\n\n// https://github.com/DefinitelyTyped/DefinitelyTyped/issues/34757\nexport const Dialog = Object.assign({}, _Dialog, {\n Title: DialogTitle,\n Content: DialogContent,\n ContentDivider: DialogContentDivider,\n Actions: DialogActions,\n});\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAQA,IAAAC,WAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,cAAA,GAAAH,OAAA;AACA,IAAAI,cAAA,GAAAJ,OAAA;AACA,IAAAK,qBAAA,GAAAL,OAAA;AACA,IAAAM,cAAA,GAAAN,OAAA;AACA,IAAAO,YAAA,GAAAP,OAAA;AACA,IAAAQ,OAAA,GAAAR,OAAA;AAMA,IAAAS,MAAA,GAAAT,OAAA;AACA,IAAAU,YAAA,GAAAV,OAAA;AACA,IAAAW,aAAA,GAAAX,OAAA;AAIqC,IAAAY,SAAA;AAAA,SAAAV,uBAAAW,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAd,wBAAAc,CAAA,EAAAG,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAlB,uBAAA,YAAAA,wBAAAc,CAAA,EAAAG,CAAA,SAAAA,CAAA,IAAAH,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,MAAAO,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAR,OAAA,EAAAF,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAS,CAAA,MAAAF,CAAA,GAAAJ,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAE,CAAA,CAAAI,GAAA,CAAAX,CAAA,UAAAO,CAAA,CAAAK,GAAA,CAAAZ,CAAA,GAAAO,CAAA,CAAAM,GAAA,CAAAb,CAAA,EAAAS,CAAA,cAAAK,EAAA,IAAAd,CAAA,gBAAAc,EAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,EAAA,OAAAN,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAnB,CAAA,EAAAc,EAAA,OAAAN,CAAA,CAAAI,GAAA,IAAAJ,CAAA,CAAAK,GAAA,IAAAN,CAAA,CAAAE,CAAA,EAAAK,EAAA,EAAAN,CAAA,IAAAC,CAAA,CAAAK,EAAA,IAAAd,CAAA,CAAAc,EAAA,WAAAL,CAAA,KAAAT,CAAA,EAAAG,CAAA;AAAA,SAAAiB,SAAA,WAAAA,QAAA,GAAAH,MAAA,CAAAI,MAAA,GAAAJ,MAAA,CAAAI,MAAA,CAAAC,IAAA,eAAAhB,CAAA,aAAAN,CAAA,MAAAA,CAAA,GAAAuB,SAAA,CAAAC,MAAA,EAAAxB,CAAA,UAAAG,CAAA,GAAAoB,SAAA,CAAAvB,CAAA,YAAAK,CAAA,IAAAF,CAAA,OAAAY,cAAA,CAAAC,IAAA,CAAAb,CAAA,EAAAE,CAAA,MAAAC,CAAA,CAAAD,CAAA,IAAAF,CAAA,CAAAE,CAAA,aAAAC,CAAA,KAAAc,QAAA,CAAAK,KAAA,OAAAF,SAAA;AAAA,SAAAG,yBAAA1B,CAAA,EAAAG,CAAA,gBAAAH,CAAA,iBAAAO,CAAA,EAAAF,CAAA,EAAAG,CAAA,GAAAmB,6BAAA,CAAA3B,CAAA,EAAAG,CAAA,OAAAc,MAAA,CAAAW,qBAAA,QAAAtB,CAAA,GAAAW,MAAA,CAAAW,qBAAA,CAAA5B,CAAA,QAAAK,CAAA,MAAAA,CAAA,GAAAC,CAAA,CAAAkB,MAAA,EAAAnB,CAAA,IAAAE,CAAA,GAAAD,CAAA,CAAAD,CAAA,UAAAF,CAAA,CAAA0B,OAAA,CAAAtB,CAAA,QAAAuB,oBAAA,CAAAd,IAAA,CAAAhB,CAAA,EAAAO,CAAA,MAAAC,CAAA,CAAAD,CAAA,IAAAP,CAAA,CAAAO,CAAA,aAAAC,CAAA;AAAA,SAAAmB,8BAAAtB,CAAA,EAAAL,CAAA,gBAAAK,CAAA,iBAAAF,CAAA,gBAAAG,CAAA,IAAAD,CAAA,SAAAU,cAAA,CAAAC,IAAA,CAAAX,CAAA,EAAAC,CAAA,gBAAAN,CAAA,CAAA6B,OAAA,CAAAvB,CAAA,aAAAH,CAAA,CAAAG,CAAA,IAAAD,CAAA,CAAAC,CAAA,YAAAH,CAAA;AA0BrC;AACA;AACA,IAAM4B,aAAa,GAAG,SAAhBA,aAAaA,CAAAC,IAAA,EAQO;EAAA,IAAAC,OAAA,GAAAD,IAAA,CAPxBE,EAAE;IAAEC,MAAM,GAAAF,OAAA,cAAG,KAAK,GAAAA,OAAA;IAClBG,OAAO,GAAAJ,IAAA,CAAPI,OAAO;IACPC,QAAQ,GAAAL,IAAA,CAARK,QAAQ;IACRC,UAAU,GAAAN,IAAA,CAAVM,UAAU;IACVC,OAAO,GAAAP,IAAA,CAAPO,OAAO;IACPC,OAAO,GAAAR,IAAA,CAAPQ,OAAO;IACPC,QAAQ,GAAAT,IAAA,CAARS,QAAQ;EAER,IAAMC,SAAS,GAAGF,OAAO,KAAK,MAAM,GAAGG,iBAAI,GAAGC,0BAAY;EAC1D,IAAMC,KAAK,GAAG,IAAAC,cAAO,EACnB;IAAA,OAAO;MAAEC,YAAY,EAAET,UAAU;MAAEC;IAAQ,CAAC;EAAA,CAAC,EAC7C,CAACD,UAAU,EAAEC,OAAO,CACtB,CAAC;EAED,oBACEtD,MAAA,CAAAiB,OAAA,CAAA8C,aAAA,CAACvD,cAAA,CAAAwD,aAAa,CAACC,QAAQ;IAACL,KAAK,EAAEA;EAAM,gBACnC5D,MAAA,CAAAiB,OAAA,CAAA8C,aAAA,CAACrD,OAAA,CAAAwD,oBAAoB;IAACC,SAAS,EAAC;EAAmB,gBACjDnE,MAAA,CAAAiB,OAAA,CAAA8C,aAAA,CAACN,SAAS;IAACR,EAAE,EAAEC,MAAO;IAACC,OAAO,EAAEA,OAAQ;IAACC,QAAQ,EAAEA;EAAS,GACzDI,QACQ,CACS,CACA,CAAC;AAE7B,CAAC;AAEDV,aAAa,CAACsB,WAAW,GAAG,eAAe;AAEpC,IAAMC,OAAO,GAAAC,OAAA,CAAAD,OAAA,gBAAG,IAAAE,iBAAU,EAI/B,UAAAC,KAAA,EAcEC,GAAG,EACA;EAAA,IAAAC,iBAAA;EAAA,IAbDlB,QAAQ,GAAAgB,KAAA,CAARhB,QAAQ;IAAAmB,UAAA,GAAAH,KAAA,CACRI,IAAI;IAAJA,IAAI,GAAAD,UAAA,cAAG,KAAK,GAAAA,UAAA;IACZrB,OAAO,GAAAkB,KAAA,CAAPlB,OAAO;IACPa,SAAS,GAAAK,KAAA,CAATL,SAAS;IAAAU,qBAAA,GAAAL,KAAA,CACTM,qBAAqB;IAArBA,qBAAqB,GAAAD,qBAAA,cAAG,KAAK,GAAAA,qBAAA;IAAAE,qBAAA,GAAAP,KAAA,CAC7BQ,iBAAiB;IAAjBA,iBAAiB,GAAAD,qBAAA,cAAG,KAAK,GAAAA,qBAAA;IAAAE,aAAA,GAAAT,KAAA,CACzBjB,OAAO;IAAPA,OAAO,GAAA0B,aAAA,cAAG,OAAO,GAAAA,aAAA;IACjBC,cAAc,GAAAV,KAAA,CAAdU,cAAc;IAAAC,UAAA,GAAAX,KAAA,CACdY,IAAI;IAAJA,IAAI,GAAAD,UAAA,cAAG,GAAG,GAAAA,UAAA;IAAAE,YAAA,GAAAb,KAAA,CACVc,MAAM;IAANA,MAAM,GAAAD,YAAA,cAAG,OAAO,GAAAA,YAAA;IACbE,IAAI,GAAA9C,wBAAA,CAAA+B,KAAA,EAAA1D,SAAA;EAIT,oBACEd,MAAA,CAAAiB,OAAA,CAAA8C,aAAA,CAACpD,MAAA,CAAA6E,KAAK,EAAArD,QAAA;IACJsC,GAAG,EAAEA,GAAI;IACTG,IAAI,EAAEA,IAAK;IACXtB,OAAO,EAAEA,OAAQ;IACjBmC,sBAAsB,EAAE,CAACX,qBAAsB;IAC/CE,iBAAiB,EAAEA,iBAAkB;IACrCE,cAAc,EAAEA,cAAe;IAC/BQ,cAAc,EACZnC,OAAO,KAAK,MAAM,GACd;MAAEoC,KAAK,EAAEC,0BAAa;MAAEC,IAAI,EAAED;IAAc,CAAC,GAC7C;MAAED,KAAK,EAAEG,kCAAoB;MAAED,IAAI,EAAEE;IAAoB;EAC9D,GACGR,IAAI,gBAERvF,MAAA,CAAAiB,OAAA,CAAA8C,aAAA,CAACjB,aAAa;IAACG,EAAE,EAAE2B,IAAK;IAACtB,OAAO,EAAEA,OAAQ;IAACC,OAAO,EAAEA;EAAQ,gBAC1DvD,MAAA,CAAAiB,OAAA,CAAA8C,aAAA,CAACrD,OAAA,CAAAsF,YAAY;IACXC,SAAS,GAAAvB,iBAAA,GAAEwB,mBAAW,CAACd,IAAI,CAAC,cAAAV,iBAAA,cAAAA,iBAAA,GAAIwB,mBAAW,CAACC,CAAE;IAC9CC,OAAO,EAAEd,MAAM,KAAK,OAAO,GAAGe,SAAS,GAAGf,MAAO;IACjDnB,SAAS,EAAE,IAAAmC,mBAAU,EAAC,UAAU,EAAEnC,SAAS;EAAE,GAE5CX,QACW,CACD,CACV,CAAC;AAEZ,CACF,CAAC;AAEDa,OAAO,CAACD,WAAW,GAAG,QAAQ;;AAE9B;AACO,IAAMmC,MAAM,GAAAjC,OAAA,CAAAiC,MAAA,GAAGvE,MAAM,CAACI,MAAM,CAAC,CAAC,CAAC,EAAEiC,OAAO,EAAE;EAC/CmC,KAAK,EAAEC,wBAAW;EAClBC,OAAO,EAAEC,4BAAa;EACtBC,cAAc,EAAEC,0CAAoB;EACpCC,OAAO,EAAEC;AACX,CAAC,CAAC","ignoreList":[]}
|
|
@@ -11,6 +11,7 @@ var _Styles = require("./Styles");
|
|
|
11
11
|
var _useForkRef = _interopRequireDefault(require("../../utils/useForkRef"));
|
|
12
12
|
var _Overlay = require("../Overlay");
|
|
13
13
|
var _Popper = require("../Popper");
|
|
14
|
+
var _Transitions = require("../Transitions");
|
|
14
15
|
var _Window = require("../Window");
|
|
15
16
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
16
17
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
@@ -51,15 +52,24 @@ var Menu = exports.Menu = function Menu(_ref) {
|
|
|
51
52
|
_useState2 = _slicedToArray(_useState, 2),
|
|
52
53
|
open = _useState2[0],
|
|
53
54
|
setOpen = _useState2[1];
|
|
54
|
-
var _useState3 = (0, _react.useState)(),
|
|
55
|
+
var _useState3 = (0, _react.useState)(!defaultOpen),
|
|
55
56
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
56
|
-
|
|
57
|
-
|
|
57
|
+
exited = _useState4[0],
|
|
58
|
+
setExited = _useState4[1];
|
|
59
|
+
var _useState5 = (0, _react.useState)(),
|
|
60
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
61
|
+
childNode = _useState6[0],
|
|
62
|
+
setChildNode = _useState6[1];
|
|
58
63
|
var elementRef = (0, _react.useRef)(null);
|
|
59
64
|
var isOpenAtLeastOnce = (0, _react.useRef)(false);
|
|
60
65
|
(0, _react.useEffect)(function () {
|
|
61
66
|
setOpen(defaultOpen);
|
|
62
67
|
}, [defaultOpen]);
|
|
68
|
+
(0, _react.useEffect)(function () {
|
|
69
|
+
if (open) {
|
|
70
|
+
setExited(false);
|
|
71
|
+
}
|
|
72
|
+
}, [open]);
|
|
63
73
|
var handleRefRef = (0, _useForkRef.default)(target ? target.ref : undefined, setChildNode);
|
|
64
74
|
var handleRef = (0, _useForkRef.default)(handleRefRef, elementRef);
|
|
65
75
|
var handleOpen = (0, _react.useCallback)(function (event) {
|
|
@@ -94,35 +104,51 @@ var Menu = exports.Menu = function Menu(_ref) {
|
|
|
94
104
|
isOpenAtLeastOnce.current = false;
|
|
95
105
|
}
|
|
96
106
|
}, [open]);
|
|
97
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, target && /*#__PURE__*/_react.default.cloneElement(target, targetProps), open ? /*#__PURE__*/_react.default.createElement(_Window.Window, {
|
|
107
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, target && /*#__PURE__*/_react.default.cloneElement(target, targetProps), open || !exited ? /*#__PURE__*/_react.default.createElement(_Window.Window, {
|
|
98
108
|
onClose: handleClose,
|
|
99
|
-
disableScrollLock: !handleScroll
|
|
100
|
-
|
|
109
|
+
disableScrollLock: !handleScroll
|
|
110
|
+
// A closing menu hands the focus back at once, it does not hold it for the length of the fade.
|
|
111
|
+
,
|
|
112
|
+
disableFocusLock: disableFocusLock || !open,
|
|
101
113
|
style: {
|
|
102
114
|
position: windowAbsolutelyPositioned ? "absolute" : "fixed"
|
|
103
115
|
}
|
|
104
|
-
}, /*#__PURE__*/_react.default.createElement(_Overlay.Overlay, {
|
|
116
|
+
}, open ? /*#__PURE__*/_react.default.createElement(_Overlay.Overlay, {
|
|
105
117
|
className: backgroundElementClass,
|
|
106
118
|
onClick: handleClose,
|
|
107
119
|
tabIndex: -1,
|
|
108
120
|
disableBackgroundColor: true
|
|
109
|
-
}), /*#__PURE__*/_react.default.createElement(_Popper.Popper, {
|
|
121
|
+
}) : null, /*#__PURE__*/_react.default.createElement(_Popper.Popper, {
|
|
110
122
|
anchorEl: childNode,
|
|
111
123
|
open: childNode ? open : false,
|
|
112
124
|
placement: position,
|
|
113
125
|
className: popperClassName,
|
|
114
126
|
tabIndex: -1,
|
|
115
|
-
afterWrite: onPopperOpen
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
127
|
+
afterWrite: onPopperOpen,
|
|
128
|
+
transition: true
|
|
129
|
+
}, function (_ref2) {
|
|
130
|
+
var placement = _ref2.placement,
|
|
131
|
+
transitionProps = _ref2.transitionProps;
|
|
132
|
+
return /*#__PURE__*/_react.default.createElement(_Transitions.Grow, {
|
|
133
|
+
placement: placement,
|
|
134
|
+
in: transitionProps === null || transitionProps === void 0 ? void 0 : transitionProps.in,
|
|
135
|
+
onEnter: transitionProps === null || transitionProps === void 0 ? void 0 : transitionProps.onEnter,
|
|
136
|
+
onExited: function onExited() {
|
|
137
|
+
var _transitionProps$onEx;
|
|
138
|
+
setExited(true);
|
|
139
|
+
transitionProps === null || transitionProps === void 0 || (_transitionProps$onEx = transitionProps.onExited) === null || _transitionProps$onEx === void 0 || _transitionProps$onEx.call(transitionProps);
|
|
140
|
+
}
|
|
141
|
+
}, /*#__PURE__*/_react.default.createElement(_Styles.StyledMenu, {
|
|
142
|
+
className: (0, _classnames.default)("c-simple-menu__paper", "c-simple-menu__".concat(mode), menuClassName, className),
|
|
143
|
+
$mode: mode,
|
|
144
|
+
onMouseDown: onMenuClick
|
|
145
|
+
}, /*#__PURE__*/_react.default.createElement(_context.MenuContextProvider, {
|
|
146
|
+
value: {
|
|
147
|
+
open,
|
|
148
|
+
setOpen
|
|
149
|
+
}
|
|
150
|
+
}, typeof children === "function" ? children(childProps) : children)));
|
|
151
|
+
})) : null);
|
|
126
152
|
};
|
|
127
153
|
Menu.displayName = "Menu";
|
|
128
154
|
//# sourceMappingURL=Menu.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Menu.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_context","_Styles","_useForkRef","_Overlay","_Popper","_Window","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","length","l","Symbol","iterator","u","next","done","push","value","return","isArray","Menu","exports","_ref","children","_ref$disableFocusLock","disableFocusLock","onMenuClick","_ref$handleScroll","handleScroll","_ref$mode","mode","_ref$open","open","defaultOpen","onOpen","onClose","onBeforeClose","_ref$position","position","target","className","menuClassName","popperClassName","backgroundElementClass","_ref$windowAbsolutely","windowAbsolutelyPositioned","onPopperOpen","_useState","useState","_useState2","setOpen","_useState3","_useState4","childNode","setChildNode","elementRef","useRef","isOpenAtLeastOnce","useEffect","handleRefRef","useForkRef","ref","undefined","handleRef","handleOpen","useCallback","event","_target$props","preventDefault","stopPropagation","props","onClick","handleClose","childProps","forceClose","targetProps","current","_elementRef$current","focus","createElement","Fragment","React","cloneElement","Window","disableScrollLock","style","Overlay","tabIndex","disableBackgroundColor","Popper","anchorEl","placement","afterWrite","StyledMenu","classnames","concat","$mode","onMouseDown","MenuContextProvider","displayName"],"sources":["../../../../src/components/Menu/Menu.tsx"],"sourcesContent":["import React, {\n useRef,\n FC,\n ReactNode,\n MouseEvent,\n useState,\n useCallback,\n useEffect,\n ReactElement,\n Ref,\n} from \"react\";\n\nimport { Placement } from \"@popperjs/core\";\nimport classnames from \"classnames\";\n\nimport { MenuContextProvider } from \"./context\";\nimport { StyledMenu } from \"./Styles\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { Overlay } from \"../Overlay\";\nimport { Popper } from \"../Popper\";\nimport { Window } from \"../Window\";\n\ninterface ElementWithRef<T> extends ReactElement {\n ref?: Ref<T>;\n}\n\n// source: https://twitter.com/mattpocockuk/status/1671908303918473217/photo/1\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport type MenuMode = \"normal\" | \"wider\" | \"tiny\" | \"widest\";\n\nexport interface IMenu {\n /** Menu content */\n children:\n | ReactNode\n | ((childProps: { forceClose: () => void }) => JSX.Element);\n /** On menu element click */\n onMenuClick?: (event: MouseEvent<HTMLElement>) => void;\n /** Handle scroll bar */\n handleScroll?: boolean;\n /** Disable Focus Lock */\n disableFocusLock?: boolean;\n /** Menu width mode */\n mode?: MenuMode;\n /** Should menu be open when it's mounted */\n open?: boolean;\n /** Callback triggered when modal has been opened */\n onOpen?: () => void;\n /** Callback triggered when modal has been closed */\n onClose?: () => void;\n /** Before close callback */\n onBeforeClose?: () => boolean;\n /** Position Menu */\n position?: Placement;\n /** Target element */\n target?: ElementWithRef<Element>;\n className?: string;\n /** Menu classes */\n menuClassName?: string;\n /** Popper class name*/\n popperClassName?: string;\n /** Background style for clickable element after the menu is open (opacity, color, etc...) */\n backgroundElementClass?: string;\n /** Should Window be positioned absolutely */\n windowAbsolutelyPositioned?: boolean;\n /** Popper on open */\n onPopperOpen?: (...args) => void;\n}\n\nexport const Menu: FC<IMenu> = ({\n children,\n disableFocusLock = false,\n onMenuClick,\n handleScroll = true,\n mode = \"normal\",\n open: defaultOpen = false,\n onOpen,\n onClose,\n onBeforeClose,\n position = \"bottom-start\",\n target,\n className,\n menuClassName,\n popperClassName,\n backgroundElementClass,\n windowAbsolutelyPositioned = false,\n onPopperOpen,\n}) => {\n const [open, setOpen] = useState(defaultOpen);\n const [childNode, setChildNode] = useState<Element | null>();\n const elementRef = useRef<HTMLElement | null>(null);\n const isOpenAtLeastOnce = useRef(false);\n\n useEffect(() => {\n setOpen(defaultOpen);\n }, [defaultOpen]);\n\n const handleRefRef = useForkRef(\n target ? target.ref : undefined,\n setChildNode\n );\n const handleRef = useForkRef(handleRefRef, elementRef);\n\n const handleOpen = useCallback(\n (\n event: Pick<MouseEvent<Element>, \"preventDefault\" | \"stopPropagation\">\n ) => {\n event?.preventDefault();\n event?.stopPropagation();\n setOpen(true);\n typeof onOpen === \"function\" && onOpen();\n typeof target?.props?.onClick === \"function\" &&\n target.props.onClick(event);\n },\n [onOpen, target?.props]\n );\n\n const handleClose = useCallback(() => {\n if (typeof onBeforeClose === \"function\" && !onBeforeClose()) {\n return;\n }\n setOpen(false);\n typeof onClose === \"function\" && onClose();\n }, [onClose, onBeforeClose]);\n\n const childProps = {\n forceClose: handleClose,\n };\n\n const targetProps = {\n open,\n ref: handleRef,\n onClick: handleOpen,\n };\n\n useEffect(() => {\n if (open) {\n isOpenAtLeastOnce.current = true;\n } else if (!open && isOpenAtLeastOnce.current) {\n elementRef.current?.focus();\n isOpenAtLeastOnce.current = false;\n }\n }, [open]);\n\n return (\n <>\n {target && React.cloneElement(target, targetProps)}\n {open ? (\n <Window\n onClose={handleClose}\n disableScrollLock={!handleScroll}\n disableFocusLock={disableFocusLock}\n style={{\n position: windowAbsolutelyPositioned ? \"absolute\" : \"fixed\",\n }}\n >\n <Overlay\n className={backgroundElementClass}\n onClick={handleClose}\n tabIndex={-1}\n disableBackgroundColor\n />\n <Popper\n anchorEl={childNode}\n open={childNode ? open : false}\n placement={position}\n className={popperClassName}\n tabIndex={-1}\n afterWrite={onPopperOpen}\n >\n <StyledMenu\n className={classnames(\n \"c-simple-menu__paper\",\n `c-simple-menu__${mode}`,\n menuClassName,\n className\n )}\n $mode={mode}\n onMouseDown={onMenuClick}\n >\n <MenuContextProvider value={{ open, setOpen }}>\n {typeof children === \"function\"\n ? children(childProps)\n : children}\n </MenuContextProvider>\n </StyledMenu>\n </Popper>\n </Window>\n ) : null}\n </>\n );\n};\n\nMenu.displayName = \"Menu\";\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAaA,IAAAC,WAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AACA,IAAAK,WAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,QAAA,GAAAN,OAAA;AACA,IAAAO,OAAA,GAAAP,OAAA;AACA,IAAAQ,OAAA,GAAAR,OAAA;AAAmC,SAAAE,uBAAAO,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAV,wBAAAU,CAAA,EAAAG,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAd,uBAAA,YAAAA,wBAAAU,CAAA,EAAAG,CAAA,SAAAA,CAAA,IAAAH,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,MAAAO,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAR,OAAA,EAAAF,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAS,CAAA,MAAAF,CAAA,GAAAJ,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAE,CAAA,CAAAI,GAAA,CAAAX,CAAA,UAAAO,CAAA,CAAAK,GAAA,CAAAZ,CAAA,GAAAO,CAAA,CAAAM,GAAA,CAAAb,CAAA,EAAAS,CAAA,cAAAK,EAAA,IAAAd,CAAA,gBAAAc,EAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,EAAA,OAAAN,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAnB,CAAA,EAAAc,EAAA,OAAAN,CAAA,CAAAI,GAAA,IAAAJ,CAAA,CAAAK,GAAA,IAAAN,CAAA,CAAAE,CAAA,EAAAK,EAAA,EAAAN,CAAA,IAAAC,CAAA,CAAAK,EAAA,IAAAd,CAAA,CAAAc,EAAA,WAAAL,CAAA,KAAAT,CAAA,EAAAG,CAAA;AAAA,SAAAiB,eAAAf,CAAA,EAAAL,CAAA,WAAAqB,eAAA,CAAAhB,CAAA,KAAAiB,qBAAA,CAAAjB,CAAA,EAAAL,CAAA,KAAAuB,2BAAA,CAAAlB,CAAA,EAAAL,CAAA,KAAAwB,gBAAA;AAAA,SAAAA,iBAAA,cAAAC,SAAA;AAAA,SAAAF,4BAAAlB,CAAA,EAAAqB,CAAA,QAAArB,CAAA,2BAAAA,CAAA,SAAAsB,iBAAA,CAAAtB,CAAA,EAAAqB,CAAA,OAAAvB,CAAA,MAAAyB,QAAA,CAAAZ,IAAA,CAAAX,CAAA,EAAAwB,KAAA,6BAAA1B,CAAA,IAAAE,CAAA,CAAAyB,WAAA,KAAA3B,CAAA,GAAAE,CAAA,CAAAyB,WAAA,CAAAC,IAAA,aAAA5B,CAAA,cAAAA,CAAA,GAAA6B,KAAA,CAAAC,IAAA,CAAA5B,CAAA,oBAAAF,CAAA,+CAAA+B,IAAA,CAAA/B,CAAA,IAAAwB,iBAAA,CAAAtB,CAAA,EAAAqB,CAAA;AAAA,SAAAC,kBAAAtB,CAAA,EAAAqB,CAAA,aAAAA,CAAA,IAAAA,CAAA,GAAArB,CAAA,CAAA8B,MAAA,MAAAT,CAAA,GAAArB,CAAA,CAAA8B,MAAA,YAAAnC,CAAA,MAAAM,CAAA,GAAA0B,KAAA,CAAAN,CAAA,GAAA1B,CAAA,GAAA0B,CAAA,EAAA1B,CAAA,IAAAM,CAAA,CAAAN,CAAA,IAAAK,CAAA,CAAAL,CAAA,UAAAM,CAAA;AAAA,SAAAgB,sBAAAjB,CAAA,EAAA+B,CAAA,QAAAjC,CAAA,WAAAE,CAAA,gCAAAgC,MAAA,IAAAhC,CAAA,CAAAgC,MAAA,CAAAC,QAAA,KAAAjC,CAAA,4BAAAF,CAAA,QAAAH,CAAA,EAAAM,CAAA,EAAAE,CAAA,EAAA+B,CAAA,EAAAb,CAAA,OAAAjB,CAAA,OAAAF,CAAA,iBAAAC,CAAA,IAAAL,CAAA,GAAAA,CAAA,CAAAa,IAAA,CAAAX,CAAA,GAAAmC,IAAA,QAAAJ,CAAA,QAAAnB,MAAA,CAAAd,CAAA,MAAAA,CAAA,UAAAM,CAAA,uBAAAA,CAAA,IAAAT,CAAA,GAAAQ,CAAA,CAAAQ,IAAA,CAAAb,CAAA,GAAAsC,IAAA,MAAAf,CAAA,CAAAgB,IAAA,CAAA1C,CAAA,CAAA2C,KAAA,GAAAjB,CAAA,CAAAS,MAAA,KAAAC,CAAA,GAAA3B,CAAA,iBAAAJ,CAAA,IAAAE,CAAA,OAAAD,CAAA,GAAAD,CAAA,yBAAAI,CAAA,YAAAN,CAAA,CAAAyC,MAAA,KAAAL,CAAA,GAAApC,CAAA,CAAAyC,MAAA,IAAA3B,MAAA,CAAAsB,CAAA,MAAAA,CAAA,2BAAAhC,CAAA,QAAAD,CAAA,aAAAoB,CAAA;AAAA,SAAAL,gBAAAhB,CAAA,QAAA2B,KAAA,CAAAa,OAAA,CAAAxC,CAAA,UAAAA,CAAA;AAMnC;AACA;;AAyCO,IAAMyC,IAAe,GAAAC,OAAA,CAAAD,IAAA,GAAG,SAAlBA,IAAeA,CAAAE,IAAA,EAkBtB;EAAA,IAjBJC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IAAAC,qBAAA,GAAAF,IAAA,CACRG,gBAAgB;IAAhBA,gBAAgB,GAAAD,qBAAA,cAAG,KAAK,GAAAA,qBAAA;IACxBE,WAAW,GAAAJ,IAAA,CAAXI,WAAW;IAAAC,iBAAA,GAAAL,IAAA,CACXM,YAAY;IAAZA,YAAY,GAAAD,iBAAA,cAAG,IAAI,GAAAA,iBAAA;IAAAE,SAAA,GAAAP,IAAA,CACnBQ,IAAI;IAAJA,IAAI,GAAAD,SAAA,cAAG,QAAQ,GAAAA,SAAA;IAAAE,SAAA,GAAAT,IAAA,CACfU,IAAI;IAAEC,WAAW,GAAAF,SAAA,cAAG,KAAK,GAAAA,SAAA;IACzBG,MAAM,GAAAZ,IAAA,CAANY,MAAM;IACNC,OAAO,GAAAb,IAAA,CAAPa,OAAO;IACPC,aAAa,GAAAd,IAAA,CAAbc,aAAa;IAAAC,aAAA,GAAAf,IAAA,CACbgB,QAAQ;IAARA,QAAQ,GAAAD,aAAA,cAAG,cAAc,GAAAA,aAAA;IACzBE,MAAM,GAAAjB,IAAA,CAANiB,MAAM;IACNC,SAAS,GAAAlB,IAAA,CAATkB,SAAS;IACTC,aAAa,GAAAnB,IAAA,CAAbmB,aAAa;IACbC,eAAe,GAAApB,IAAA,CAAfoB,eAAe;IACfC,sBAAsB,GAAArB,IAAA,CAAtBqB,sBAAsB;IAAAC,qBAAA,GAAAtB,IAAA,CACtBuB,0BAA0B;IAA1BA,0BAA0B,GAAAD,qBAAA,cAAG,KAAK,GAAAA,qBAAA;IAClCE,YAAY,GAAAxB,IAAA,CAAZwB,YAAY;EAEZ,IAAAC,SAAA,GAAwB,IAAAC,eAAQ,EAACf,WAAW,CAAC;IAAAgB,UAAA,GAAAvD,cAAA,CAAAqD,SAAA;IAAtCf,IAAI,GAAAiB,UAAA;IAAEC,OAAO,GAAAD,UAAA;EACpB,IAAAE,UAAA,GAAkC,IAAAH,eAAQ,EAAiB,CAAC;IAAAI,UAAA,GAAA1D,cAAA,CAAAyD,UAAA;IAArDE,SAAS,GAAAD,UAAA;IAAEE,YAAY,GAAAF,UAAA;EAC9B,IAAMG,UAAU,GAAG,IAAAC,aAAM,EAAqB,IAAI,CAAC;EACnD,IAAMC,iBAAiB,GAAG,IAAAD,aAAM,EAAC,KAAK,CAAC;EAEvC,IAAAE,gBAAS,EAAC,YAAM;IACdR,OAAO,CAACjB,WAAW,CAAC;EACtB,CAAC,EAAE,CAACA,WAAW,CAAC,CAAC;EAEjB,IAAM0B,YAAY,GAAG,IAAAC,mBAAU,EAC7BrB,MAAM,GAAGA,MAAM,CAACsB,GAAG,GAAGC,SAAS,EAC/BR,YACF,CAAC;EACD,IAAMS,SAAS,GAAG,IAAAH,mBAAU,EAACD,YAAY,EAAEJ,UAAU,CAAC;EAEtD,IAAMS,UAAU,GAAG,IAAAC,kBAAW,EAC5B,UACEC,KAAsE,EACnE;IAAA,IAAAC,aAAA;IACHD,KAAK,aAALA,KAAK,eAALA,KAAK,CAAEE,cAAc,CAAC,CAAC;IACvBF,KAAK,aAALA,KAAK,eAALA,KAAK,CAAEG,eAAe,CAAC,CAAC;IACxBnB,OAAO,CAAC,IAAI,CAAC;IACb,OAAOhB,MAAM,KAAK,UAAU,IAAIA,MAAM,CAAC,CAAC;IACxC,QAAOK,MAAM,aAANA,MAAM,gBAAA4B,aAAA,GAAN5B,MAAM,CAAE+B,KAAK,cAAAH,aAAA,uBAAbA,aAAA,CAAeI,OAAO,MAAK,UAAU,IAC1ChC,MAAM,CAAC+B,KAAK,CAACC,OAAO,CAACL,KAAK,CAAC;EAC/B,CAAC,EACD,CAAChC,MAAM,EAAEK,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAE+B,KAAK,CACxB,CAAC;EAED,IAAME,WAAW,GAAG,IAAAP,kBAAW,EAAC,YAAM;IACpC,IAAI,OAAO7B,aAAa,KAAK,UAAU,IAAI,CAACA,aAAa,CAAC,CAAC,EAAE;MAC3D;IACF;IACAc,OAAO,CAAC,KAAK,CAAC;IACd,OAAOf,OAAO,KAAK,UAAU,IAAIA,OAAO,CAAC,CAAC;EAC5C,CAAC,EAAE,CAACA,OAAO,EAAEC,aAAa,CAAC,CAAC;EAE5B,IAAMqC,UAAU,GAAG;IACjBC,UAAU,EAAEF;EACd,CAAC;EAED,IAAMG,WAAW,GAAG;IAClB3C,IAAI;IACJ6B,GAAG,EAAEE,SAAS;IACdQ,OAAO,EAAEP;EACX,CAAC;EAED,IAAAN,gBAAS,EAAC,YAAM;IACd,IAAI1B,IAAI,EAAE;MACRyB,iBAAiB,CAACmB,OAAO,GAAG,IAAI;IAClC,CAAC,MAAM,IAAI,CAAC5C,IAAI,IAAIyB,iBAAiB,CAACmB,OAAO,EAAE;MAAA,IAAAC,mBAAA;MAC7C,CAAAA,mBAAA,GAAAtB,UAAU,CAACqB,OAAO,cAAAC,mBAAA,eAAlBA,mBAAA,CAAoBC,KAAK,CAAC,CAAC;MAC3BrB,iBAAiB,CAACmB,OAAO,GAAG,KAAK;IACnC;EACF,CAAC,EAAE,CAAC5C,IAAI,CAAC,CAAC;EAEV,oBACErE,MAAA,CAAAa,OAAA,CAAAuG,aAAA,CAAApH,MAAA,CAAAa,OAAA,CAAAwG,QAAA,QACGzC,MAAM,iBAAI0C,cAAK,CAACC,YAAY,CAAC3C,MAAM,EAAEoC,WAAW,CAAC,EACjD3C,IAAI,gBACHrE,MAAA,CAAAa,OAAA,CAAAuG,aAAA,CAAC1G,OAAA,CAAA8G,MAAM;IACLhD,OAAO,EAAEqC,WAAY;IACrBY,iBAAiB,EAAE,CAACxD,YAAa;IACjCH,gBAAgB,EAAEA,gBAAiB;IACnC4D,KAAK,EAAE;MACL/C,QAAQ,EAAEO,0BAA0B,GAAG,UAAU,GAAG;IACtD;EAAE,gBAEFlF,MAAA,CAAAa,OAAA,CAAAuG,aAAA,CAAC5G,QAAA,CAAAmH,OAAO;IACN9C,SAAS,EAAEG,sBAAuB;IAClC4B,OAAO,EAAEC,WAAY;IACrBe,QAAQ,EAAE,CAAC,CAAE;IACbC,sBAAsB;EAAA,CACvB,CAAC,eACF7H,MAAA,CAAAa,OAAA,CAAAuG,aAAA,CAAC3G,OAAA,CAAAqH,MAAM;IACLC,QAAQ,EAAErC,SAAU;IACpBrB,IAAI,EAAEqB,SAAS,GAAGrB,IAAI,GAAG,KAAM;IAC/B2D,SAAS,EAAErD,QAAS;IACpBE,SAAS,EAAEE,eAAgB;IAC3B6C,QAAQ,EAAE,CAAC,CAAE;IACbK,UAAU,EAAE9C;EAAa,gBAEzBnF,MAAA,CAAAa,OAAA,CAAAuG,aAAA,CAAC9G,OAAA,CAAA4H,UAAU;IACTrD,SAAS,EAAE,IAAAsD,mBAAU,EACnB,sBAAsB,oBAAAC,MAAA,CACJjE,IAAI,GACtBW,aAAa,EACbD,SACF,CAAE;IACFwD,KAAK,EAAElE,IAAK;IACZmE,WAAW,EAAEvE;EAAY,gBAEzB/D,MAAA,CAAAa,OAAA,CAAAuG,aAAA,CAAC/G,QAAA,CAAAkI,mBAAmB;IAACjF,KAAK,EAAE;MAAEe,IAAI;MAAEkB;IAAQ;EAAE,GAC3C,OAAO3B,QAAQ,KAAK,UAAU,GAC3BA,QAAQ,CAACkD,UAAU,CAAC,GACpBlD,QACe,CACX,CACN,CACF,CAAC,GACP,IACJ,CAAC;AAEP,CAAC;AAEDH,IAAI,CAAC+E,WAAW,GAAG,MAAM","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Menu.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_context","_Styles","_useForkRef","_Overlay","_Popper","_Transitions","_Window","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","length","l","Symbol","iterator","u","next","done","push","value","return","isArray","Menu","exports","_ref","children","_ref$disableFocusLock","disableFocusLock","onMenuClick","_ref$handleScroll","handleScroll","_ref$mode","mode","_ref$open","open","defaultOpen","onOpen","onClose","onBeforeClose","_ref$position","position","target","className","menuClassName","popperClassName","backgroundElementClass","_ref$windowAbsolutely","windowAbsolutelyPositioned","onPopperOpen","_useState","useState","_useState2","setOpen","_useState3","_useState4","exited","setExited","_useState5","_useState6","childNode","setChildNode","elementRef","useRef","isOpenAtLeastOnce","useEffect","handleRefRef","useForkRef","ref","undefined","handleRef","handleOpen","useCallback","event","_target$props","preventDefault","stopPropagation","props","onClick","handleClose","childProps","forceClose","targetProps","current","_elementRef$current","focus","createElement","Fragment","React","cloneElement","Window","disableScrollLock","style","Overlay","tabIndex","disableBackgroundColor","Popper","anchorEl","placement","afterWrite","transition","_ref2","transitionProps","Grow","in","onEnter","onExited","_transitionProps$onEx","StyledMenu","classnames","concat","$mode","onMouseDown","MenuContextProvider","displayName"],"sources":["../../../../src/components/Menu/Menu.tsx"],"sourcesContent":["import React, {\n useRef,\n FC,\n ReactNode,\n MouseEvent,\n useState,\n useCallback,\n useEffect,\n ReactElement,\n Ref,\n} from \"react\";\n\nimport { Placement } from \"@popperjs/core\";\nimport classnames from \"classnames\";\n\nimport { MenuContextProvider } from \"./context\";\nimport { StyledMenu } from \"./Styles\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { Overlay } from \"../Overlay\";\nimport { Popper } from \"../Popper\";\nimport { Grow } from \"../Transitions\";\nimport { Window } from \"../Window\";\n\ninterface ElementWithRef<T> extends ReactElement {\n ref?: Ref<T>;\n}\n\n// source: https://twitter.com/mattpocockuk/status/1671908303918473217/photo/1\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport type MenuMode = \"normal\" | \"wider\" | \"tiny\" | \"widest\";\n\nexport interface IMenu {\n /** Menu content */\n children:\n | ReactNode\n | ((childProps: { forceClose: () => void }) => JSX.Element);\n /** On menu element click */\n onMenuClick?: (event: MouseEvent<HTMLElement>) => void;\n /** Handle scroll bar */\n handleScroll?: boolean;\n /** Disable Focus Lock */\n disableFocusLock?: boolean;\n /** Menu width mode */\n mode?: MenuMode;\n /** Should menu be open when it's mounted */\n open?: boolean;\n /** Callback triggered when modal has been opened */\n onOpen?: () => void;\n /** Callback triggered when modal has been closed */\n onClose?: () => void;\n /** Before close callback */\n onBeforeClose?: () => boolean;\n /** Position Menu */\n position?: Placement;\n /** Target element */\n target?: ElementWithRef<Element>;\n className?: string;\n /** Menu classes */\n menuClassName?: string;\n /** Popper class name*/\n popperClassName?: string;\n /** Background style for clickable element after the menu is open (opacity, color, etc...) */\n backgroundElementClass?: string;\n /** Should Window be positioned absolutely */\n windowAbsolutelyPositioned?: boolean;\n /** Popper on open */\n onPopperOpen?: (...args) => void;\n}\n\nexport const Menu: FC<IMenu> = ({\n children,\n disableFocusLock = false,\n onMenuClick,\n handleScroll = true,\n mode = \"normal\",\n open: defaultOpen = false,\n onOpen,\n onClose,\n onBeforeClose,\n position = \"bottom-start\",\n target,\n className,\n menuClassName,\n popperClassName,\n backgroundElementClass,\n windowAbsolutelyPositioned = false,\n onPopperOpen,\n}) => {\n const [open, setOpen] = useState(defaultOpen);\n const [exited, setExited] = useState(!defaultOpen);\n const [childNode, setChildNode] = useState<Element | null>();\n const elementRef = useRef<HTMLElement | null>(null);\n const isOpenAtLeastOnce = useRef(false);\n\n useEffect(() => {\n setOpen(defaultOpen);\n }, [defaultOpen]);\n\n useEffect(() => {\n if (open) {\n setExited(false);\n }\n }, [open]);\n\n const handleRefRef = useForkRef(\n target ? target.ref : undefined,\n setChildNode\n );\n const handleRef = useForkRef(handleRefRef, elementRef);\n\n const handleOpen = useCallback(\n (\n event: Pick<MouseEvent<Element>, \"preventDefault\" | \"stopPropagation\">\n ) => {\n event?.preventDefault();\n event?.stopPropagation();\n setOpen(true);\n typeof onOpen === \"function\" && onOpen();\n typeof target?.props?.onClick === \"function\" &&\n target.props.onClick(event);\n },\n [onOpen, target?.props]\n );\n\n const handleClose = useCallback(() => {\n if (typeof onBeforeClose === \"function\" && !onBeforeClose()) {\n return;\n }\n setOpen(false);\n typeof onClose === \"function\" && onClose();\n }, [onClose, onBeforeClose]);\n\n const childProps = {\n forceClose: handleClose,\n };\n\n const targetProps = {\n open,\n ref: handleRef,\n onClick: handleOpen,\n };\n\n useEffect(() => {\n if (open) {\n isOpenAtLeastOnce.current = true;\n } else if (!open && isOpenAtLeastOnce.current) {\n elementRef.current?.focus();\n isOpenAtLeastOnce.current = false;\n }\n }, [open]);\n\n return (\n <>\n {target && React.cloneElement(target, targetProps)}\n {open || !exited ? (\n <Window\n onClose={handleClose}\n disableScrollLock={!handleScroll}\n // A closing menu hands the focus back at once, it does not hold it for the length of the fade.\n disableFocusLock={disableFocusLock || !open}\n style={{\n position: windowAbsolutelyPositioned ? \"absolute\" : \"fixed\",\n }}\n >\n {/* A closing menu must not swallow the click that lands while it fades out. */}\n {open ? (\n <Overlay\n className={backgroundElementClass}\n onClick={handleClose}\n tabIndex={-1}\n disableBackgroundColor\n />\n ) : null}\n <Popper\n anchorEl={childNode}\n open={childNode ? open : false}\n placement={position}\n className={popperClassName}\n tabIndex={-1}\n afterWrite={onPopperOpen}\n transition\n >\n {({ placement, transitionProps }) => (\n <Grow\n placement={placement}\n in={transitionProps?.in}\n onEnter={transitionProps?.onEnter}\n onExited={() => {\n setExited(true);\n transitionProps?.onExited?.();\n }}\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 </Grow>\n )}\n </Popper>\n </Window>\n ) : null}\n </>\n );\n};\n\nMenu.displayName = \"Menu\";\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -8,8 +8,9 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
8
8
|
var _createChainedFunction = _interopRequireDefault(require("../../utils/createChainedFunction"));
|
|
9
9
|
var _useForkRef = _interopRequireDefault(require("../../utils/useForkRef"));
|
|
10
10
|
var _Overlay = require("../Overlay");
|
|
11
|
+
var _Transitions = require("../Transitions");
|
|
11
12
|
var _Window = require("../Window");
|
|
12
|
-
var _excluded = ["children", "disableFocusLock", "disableScrollLock", "disableBackgroundClick", "disableBackgroundColor", "disableCloseOnEsc", "open", "onClose", "onClickOutside"];
|
|
13
|
+
var _excluded = ["children", "disableFocusLock", "disableScrollLock", "disableBackgroundClick", "disableBackgroundColor", "disableCloseOnEsc", "open", "overlayTimeout", "onClose", "onClickOutside"];
|
|
13
14
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
15
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
15
16
|
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
@@ -38,6 +39,11 @@ var Modal = exports.Modal = /*#__PURE__*/(0, _react.forwardRef)(function (_ref,
|
|
|
38
39
|
disableCloseOnEsc = _ref$disableCloseOnEs === void 0 ? false : _ref$disableCloseOnEs,
|
|
39
40
|
_ref$open = _ref.open,
|
|
40
41
|
defaultOpen = _ref$open === void 0 ? false : _ref$open,
|
|
42
|
+
_ref$overlayTimeout = _ref.overlayTimeout,
|
|
43
|
+
overlayTimeout = _ref$overlayTimeout === void 0 ? {
|
|
44
|
+
enter: _Transitions.SLIDE_FROM_TOP_ENTER,
|
|
45
|
+
exit: _Transitions.SLIDE_FROM_TOP_EXIT
|
|
46
|
+
} : _ref$overlayTimeout,
|
|
41
47
|
onClose = _ref.onClose,
|
|
42
48
|
onClickOutside = _ref.onClickOutside,
|
|
43
49
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
@@ -102,10 +108,16 @@ var Modal = exports.Modal = /*#__PURE__*/(0, _react.forwardRef)(function (_ref,
|
|
|
102
108
|
disableFocusLock: disableFocusLock,
|
|
103
109
|
disableScrollLock: disableScrollLock,
|
|
104
110
|
disableCloseOnEsc: disableCloseOnEsc
|
|
105
|
-
}),
|
|
111
|
+
}), /*#__PURE__*/_react.default.createElement(_Transitions.Fade, {
|
|
112
|
+
in: open,
|
|
113
|
+
timeout: open ? overlayTimeout.enter : overlayTimeout.exit
|
|
114
|
+
}, /*#__PURE__*/_react.default.createElement(_Overlay.Overlay, {
|
|
106
115
|
onClick: handleBackgroundClick,
|
|
107
|
-
disableBackgroundColor: disableBackgroundColor
|
|
108
|
-
|
|
116
|
+
disableBackgroundColor: disableBackgroundColor,
|
|
117
|
+
style: {
|
|
118
|
+
pointerEvents: open ? undefined : "none"
|
|
119
|
+
}
|
|
120
|
+
})), /*#__PURE__*/(0, _react.cloneElement)(children, childProps));
|
|
109
121
|
});
|
|
110
122
|
Modal.displayName = "Modal";
|
|
111
123
|
//# sourceMappingURL=Modal.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Modal.js","names":["_react","_interopRequireWildcard","require","_createChainedFunction","_interopRequireDefault","_useForkRef","_Overlay","_Window","_excluded","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","l","Symbol","iterator","u","next","done","push","value","return","isArray","_objectWithoutProperties","_objectWithoutPropertiesLoose","getOwnPropertySymbols","indexOf","propertyIsEnumerable","getHasTransition","children","props","prototype","Modal","exports","forwardRef","_ref","ref","_ref$disableFocusLock","disableFocusLock","_ref$disableScrollLoc","disableScrollLock","_ref$disableBackgroun","disableBackgroundClick","_ref$disableBackgroun2","disableBackgroundColor","_ref$disableCloseOnEs","disableCloseOnEsc","_ref$open","open","defaultOpen","onClose","onClickOutside","rest","_useState","useState","_useState2","setOpen","_useState3","_useState4","exited","setExited","innerRef","useRef","handleRef","useForkRef","hasTransition","useMemo","useEffect","handleClose","useCallback","handleBackgroundClick","event","preventDefault","handleEnter","handleExited","childProps","onEnter","createChainedFunction","onExited","in","forceClose","createElement","Window","Overlay","onClick","cloneElement","displayName"],"sources":["../../../../src/components/Modal/Modal.tsx"],"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\";\n\nimport createChainedFunction from \"../../utils/createChainedFunction\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { Overlay } from \"../Overlay\";\nimport { Window } from \"../Window\";\n\nexport interface IModal {\n disableFocusLock?: boolean;\n disableScrollLock?: boolean;\n open?: boolean;\n disableBackgroundClick?: boolean;\n disableCloseOnEsc?: boolean;\n disableBackgroundColor?: boolean;\n onClose?: () => void;\n children: ReactElement;\n onClickOutside?: (event) => void;\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 disableCloseOnEsc = false,\n open: defaultOpen = false,\n onClose,\n onClickOutside,\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 return handleClose();\n }\n\n if (onClickOutside) {\n onClickOutside(event);\n }\n },\n [disableBackgroundClick, onClickOutside, 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 forceClose: handleClose,\n };\n }\n\n return props;\n }, [children, handleClose, 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 disableCloseOnEsc={disableCloseOnEsc}\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"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Modal.js","names":["_react","_interopRequireWildcard","require","_createChainedFunction","_interopRequireDefault","_useForkRef","_Overlay","_Transitions","_Window","_excluded","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","l","Symbol","iterator","u","next","done","push","value","return","isArray","_objectWithoutProperties","_objectWithoutPropertiesLoose","getOwnPropertySymbols","indexOf","propertyIsEnumerable","getHasTransition","children","props","prototype","Modal","exports","forwardRef","_ref","ref","_ref$disableFocusLock","disableFocusLock","_ref$disableScrollLoc","disableScrollLock","_ref$disableBackgroun","disableBackgroundClick","_ref$disableBackgroun2","disableBackgroundColor","_ref$disableCloseOnEs","disableCloseOnEsc","_ref$open","open","defaultOpen","_ref$overlayTimeout","overlayTimeout","enter","SLIDE_FROM_TOP_ENTER","exit","SLIDE_FROM_TOP_EXIT","onClose","onClickOutside","rest","_useState","useState","_useState2","setOpen","_useState3","_useState4","exited","setExited","innerRef","useRef","handleRef","useForkRef","hasTransition","useMemo","useEffect","handleClose","useCallback","handleBackgroundClick","event","preventDefault","handleEnter","handleExited","childProps","onEnter","createChainedFunction","onExited","in","forceClose","createElement","Window","Fade","timeout","Overlay","onClick","style","pointerEvents","undefined","cloneElement","displayName"],"sources":["../../../../src/components/Modal/Modal.tsx"],"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\";\n\nimport createChainedFunction from \"../../utils/createChainedFunction\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { Overlay } from \"../Overlay\";\nimport {\n Fade,\n SLIDE_FROM_TOP_ENTER,\n SLIDE_FROM_TOP_EXIT,\n} from \"../Transitions\";\nimport { Window } from \"../Window\";\n\nexport interface IModal {\n disableFocusLock?: boolean;\n disableScrollLock?: boolean;\n open?: boolean;\n disableBackgroundClick?: boolean;\n disableCloseOnEsc?: boolean;\n disableBackgroundColor?: boolean;\n onClose?: () => void;\n children: ReactElement;\n onClickOutside?: (event) => void;\n /** How long the overlay takes to arrive and to leave. Match it to the animation the child runs. */\n overlayTimeout?: { enter: number; exit: number };\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 disableCloseOnEsc = false,\n open: defaultOpen = false,\n overlayTimeout = {\n enter: SLIDE_FROM_TOP_ENTER,\n exit: SLIDE_FROM_TOP_EXIT,\n },\n onClose,\n onClickOutside,\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 return handleClose();\n }\n\n if (onClickOutside) {\n onClickOutside(event);\n }\n },\n [disableBackgroundClick, onClickOutside, 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 forceClose: handleClose,\n };\n }\n\n return props;\n }, [children, handleClose, 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 disableCloseOnEsc={disableCloseOnEsc}\n >\n <Fade\n in={open}\n timeout={open ? overlayTimeout.enter : overlayTimeout.exit}\n >\n <Overlay\n onClick={handleBackgroundClick}\n disableBackgroundColor={disableBackgroundColor}\n style={{ pointerEvents: open ? undefined : \"none\" }}\n />\n </Fade>\n {cloneElement(children, childProps)}\n </Window>\n );\n }\n);\n\nModal.displayName = \"Modal\";\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.Fade = void 0;
|
|
6
|
+
exports.Fade = exports.FADE_DURATION = void 0;
|
|
7
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
8
8
|
var _reactTransitionGroup = require("react-transition-group");
|
|
9
9
|
var _excluded = ["in", "children", "style", "timeout", "onEnter"];
|
|
@@ -16,6 +16,7 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
|
|
|
16
16
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
17
17
|
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
18
18
|
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
|
|
19
|
+
var FADE_DURATION = exports.FADE_DURATION = 500;
|
|
19
20
|
var defaultStyle = function defaultStyle(duration) {
|
|
20
21
|
return {
|
|
21
22
|
transition: "all ".concat(duration, "ms ease-in-out"),
|
|
@@ -42,7 +43,7 @@ var Fade = exports.Fade = function Fade(_ref) {
|
|
|
42
43
|
children = _ref.children,
|
|
43
44
|
style = _ref.style,
|
|
44
45
|
_ref$timeout = _ref.timeout,
|
|
45
|
-
timeout = _ref$timeout === void 0 ?
|
|
46
|
+
timeout = _ref$timeout === void 0 ? FADE_DURATION : _ref$timeout,
|
|
46
47
|
onEnter = _ref.onEnter,
|
|
47
48
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
48
49
|
// Same forced layout as SlideFromTop: without it the starting opacity never lands in the DOM.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Fade.js","names":["_react","_interopRequireWildcard","require","_reactTransitionGroup","_excluded","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","defaultStyle","duration","transition","concat","opacity","transitionStyles","entering","entered","exiting","exited","Fade","
|
|
1
|
+
{"version":3,"file":"Fade.js","names":["_react","_interopRequireWildcard","require","_reactTransitionGroup","_excluded","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","FADE_DURATION","exports","defaultStyle","duration","transition","concat","opacity","transitionStyles","entering","entered","exiting","exited","Fade","_ref","_ref$in","in","inProp","children","style","_ref$timeout","timeout","onEnter","rest","handleEnter","node","isAppearing","offsetHeight","createElement","Transition","appear","state","cloneElement","visibility","undefined","props","displayName"],"sources":["../../../../../src/components/Transitions/Fade/Fade.tsx"],"sourcesContent":["import React, { FC, ReactElement, cloneElement } from \"react\";\nimport { Transition } from \"react-transition-group\";\n\nimport { TransitionProps } from \"../types\";\n\nexport const FADE_DURATION = 500;\n\ninterface IFadeProps extends Omit<TransitionProps, \"timeout\"> {\n children: ReactElement;\n timeout?: number;\n}\n\nconst defaultStyle = (\n duration: number\n): Partial<{ transition: string; opacity: number }> => ({\n transition: `all ${duration}ms ease-in-out`,\n opacity: 0,\n});\n\nconst transitionStyles = {\n entering: { opacity: 1 },\n entered: { opacity: 1 },\n exiting: { opacity: 0 },\n exited: { opacity: 0 },\n};\n\nexport const Fade: FC<IFadeProps> = ({\n in: inProp = false,\n children,\n style,\n timeout = FADE_DURATION,\n onEnter,\n ...rest\n}) => {\n // Same forced layout as SlideFromTop: without it the starting opacity never lands in the DOM.\n const handleEnter = (node: HTMLElement, isAppearing: boolean) => {\n if (node) {\n void node.offsetHeight;\n }\n onEnter?.(node, isAppearing);\n };\n\n return (\n <Transition\n appear\n in={inProp}\n timeout={timeout}\n onEnter={handleEnter}\n {...rest}\n >\n {(state): ReactElement => {\n return cloneElement(children, {\n style: {\n visibility: state === \"exited\" && !inProp ? \"hidden\" : undefined,\n ...defaultStyle(timeout),\n ...transitionStyles[state],\n ...style,\n ...children.props.style,\n },\n });\n }}\n </Transition>\n );\n};\n\nFade.displayName = \"Fade\";\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.Grow = exports.GROW_EXIT = exports.GROW_ENTER = void 0;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _reactTransitionGroup = require("react-transition-group");
|
|
9
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
10
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
11
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
12
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
13
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
14
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
15
|
+
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
16
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
17
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
18
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
19
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
20
|
+
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
21
|
+
var GROW_ENTER = exports.GROW_ENTER = 140;
|
|
22
|
+
var GROW_EXIT = exports.GROW_EXIT = 100;
|
|
23
|
+
var START_SCALE = 0.96;
|
|
24
|
+
|
|
25
|
+
// jsdom and SSR have no matchMedia, and a reader who asks for less motion gets none.
|
|
26
|
+
var prefersReducedMotion = function prefersReducedMotion() {
|
|
27
|
+
return typeof window !== "undefined" && typeof window.matchMedia === "function" && window.matchMedia("(prefers-reduced-motion: reduce)").matches;
|
|
28
|
+
};
|
|
29
|
+
var originFor = function originFor(placement) {
|
|
30
|
+
var _split = (placement || "bottom-start").split("-"),
|
|
31
|
+
_split2 = _slicedToArray(_split, 2),
|
|
32
|
+
side = _split2[0],
|
|
33
|
+
alignment = _split2[1];
|
|
34
|
+
var vertical = side === "top" ? "bottom" : "top";
|
|
35
|
+
var horizontal = alignment === "end" ? "right" : "left";
|
|
36
|
+
if (side === "left" || side === "right") {
|
|
37
|
+
return "center ".concat(side === "left" ? "right" : "left");
|
|
38
|
+
}
|
|
39
|
+
return "".concat(horizontal, " ").concat(vertical);
|
|
40
|
+
};
|
|
41
|
+
var buildStyles = function buildStyles(origin, enter, exit) {
|
|
42
|
+
var away = "scale(".concat(START_SCALE, ")");
|
|
43
|
+
return {
|
|
44
|
+
base: {
|
|
45
|
+
transformOrigin: origin,
|
|
46
|
+
transitionProperty: "opacity, transform",
|
|
47
|
+
transitionTimingFunction: "ease-out",
|
|
48
|
+
transform: away,
|
|
49
|
+
opacity: 0
|
|
50
|
+
},
|
|
51
|
+
entering: {
|
|
52
|
+
opacity: 1,
|
|
53
|
+
transform: "scale(1)",
|
|
54
|
+
transitionDuration: "".concat(enter, "ms")
|
|
55
|
+
},
|
|
56
|
+
entered: {
|
|
57
|
+
opacity: 1,
|
|
58
|
+
transform: "scale(1)"
|
|
59
|
+
},
|
|
60
|
+
exiting: {
|
|
61
|
+
opacity: 0,
|
|
62
|
+
transform: away,
|
|
63
|
+
transitionDuration: "".concat(exit, "ms")
|
|
64
|
+
},
|
|
65
|
+
exited: {
|
|
66
|
+
opacity: 0,
|
|
67
|
+
transform: away
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
};
|
|
71
|
+
var Grow = exports.Grow = function Grow(_ref) {
|
|
72
|
+
var _ref$in = _ref.in,
|
|
73
|
+
inProp = _ref$in === void 0 ? false : _ref$in,
|
|
74
|
+
onEnter = _ref.onEnter,
|
|
75
|
+
onExited = _ref.onExited,
|
|
76
|
+
children = _ref.children,
|
|
77
|
+
style = _ref.style,
|
|
78
|
+
placement = _ref.placement,
|
|
79
|
+
_ref$timeout = _ref.timeout,
|
|
80
|
+
timeout = _ref$timeout === void 0 ? GROW_ENTER : _ref$timeout;
|
|
81
|
+
var still = prefersReducedMotion();
|
|
82
|
+
var enter = still ? 0 : timeout;
|
|
83
|
+
var exit = still ? 0 : GROW_EXIT;
|
|
84
|
+
var styles = buildStyles(originFor(placement), enter, exit);
|
|
85
|
+
|
|
86
|
+
// React flushes the state change that follows onEnter before the browser paints, so without a
|
|
87
|
+
// forced layout here the element never holds its starting style and the transition is skipped.
|
|
88
|
+
var handleEnter = function handleEnter(node, isAppearing) {
|
|
89
|
+
if (node) {
|
|
90
|
+
void node.offsetHeight;
|
|
91
|
+
}
|
|
92
|
+
onEnter === null || onEnter === void 0 || onEnter(node, isAppearing);
|
|
93
|
+
};
|
|
94
|
+
return /*#__PURE__*/_react.default.createElement(_reactTransitionGroup.Transition, {
|
|
95
|
+
appear: true,
|
|
96
|
+
in: inProp,
|
|
97
|
+
timeout: {
|
|
98
|
+
enter,
|
|
99
|
+
exit
|
|
100
|
+
},
|
|
101
|
+
onEnter: handleEnter,
|
|
102
|
+
onExited: onExited
|
|
103
|
+
}, function (state) {
|
|
104
|
+
return /*#__PURE__*/(0, _react.cloneElement)(children, {
|
|
105
|
+
style: _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, styles.base), styles[state]), style), children.props.style)
|
|
106
|
+
});
|
|
107
|
+
});
|
|
108
|
+
};
|
|
109
|
+
Grow.displayName = "Grow";
|
|
110
|
+
//# sourceMappingURL=Grow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Grow.js","names":["_react","_interopRequireWildcard","require","_reactTransitionGroup","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","l","iterator","u","next","done","return","isArray","GROW_ENTER","exports","GROW_EXIT","START_SCALE","prefersReducedMotion","window","matchMedia","matches","originFor","placement","_split","split","_split2","side","alignment","vertical","horizontal","concat","buildStyles","origin","enter","exit","away","base","transformOrigin","transitionProperty","transitionTimingFunction","transform","opacity","entering","transitionDuration","entered","exiting","exited","Grow","_ref","_ref$in","in","inProp","onEnter","onExited","children","style","_ref$timeout","timeout","still","styles","handleEnter","node","isAppearing","offsetHeight","createElement","Transition","appear","state","cloneElement","props","displayName"],"sources":["../../../../../src/components/Transitions/Grow/Grow.tsx"],"sourcesContent":["import React, { FC, ReactElement, cloneElement } from \"react\";\nimport { Transition } from \"react-transition-group\";\n\nimport { Placement } from \"@popperjs/core\";\n\nimport { TransitionProps } from \"../types\";\n\ninterface IGrow extends Omit<TransitionProps, \"timeout\"> {\n children: ReactElement;\n timeout?: number;\n /** Where the element sits against its anchor, so it grows out of the anchor and not out of its own middle */\n placement?: Placement;\n}\n\nexport const GROW_ENTER = 140;\nexport const GROW_EXIT = 100;\n\nconst START_SCALE = 0.96;\n\n// jsdom and SSR have no matchMedia, and a reader who asks for less motion gets none.\nconst prefersReducedMotion = (): boolean =>\n typeof window !== \"undefined\" &&\n typeof window.matchMedia === \"function\" &&\n window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;\n\nconst originFor = (placement?: Placement): string => {\n const [side, alignment] = (placement || \"bottom-start\").split(\"-\");\n const vertical = side === \"top\" ? \"bottom\" : \"top\";\n const horizontal = alignment === \"end\" ? \"right\" : \"left\";\n\n if (side === \"left\" || side === \"right\") {\n return `center ${side === \"left\" ? \"right\" : \"left\"}`;\n }\n\n return `${horizontal} ${vertical}`;\n};\n\nconst buildStyles = (origin: string, enter: number, exit: number) => {\n const away = `scale(${START_SCALE})`;\n\n return {\n base: {\n transformOrigin: origin,\n transitionProperty: \"opacity, transform\",\n transitionTimingFunction: \"ease-out\",\n transform: away,\n opacity: 0,\n },\n entering: {\n opacity: 1,\n transform: \"scale(1)\",\n transitionDuration: `${enter}ms`,\n },\n entered: { opacity: 1, transform: \"scale(1)\" },\n exiting: {\n opacity: 0,\n transform: away,\n transitionDuration: `${exit}ms`,\n },\n exited: { opacity: 0, transform: away },\n };\n};\n\nexport const Grow: FC<IGrow> = ({\n in: inProp = false,\n onEnter,\n onExited,\n children,\n style,\n placement,\n timeout = GROW_ENTER,\n}) => {\n const still = prefersReducedMotion();\n const enter = still ? 0 : timeout;\n const exit = still ? 0 : GROW_EXIT;\n const styles = buildStyles(originFor(placement), enter, exit);\n\n // React flushes the state change that follows onEnter before the browser paints, so without a\n // forced layout here the element never holds its starting style and the transition is skipped.\n const handleEnter = (node: HTMLElement, isAppearing: boolean) => {\n if (node) {\n void node.offsetHeight;\n }\n onEnter?.(node, isAppearing);\n };\n\n return (\n <Transition\n appear\n in={inProp}\n timeout={{ enter, exit }}\n onEnter={handleEnter}\n onExited={onExited}\n >\n {(state): ReactElement =>\n cloneElement(children, {\n style: {\n ...styles.base,\n ...styles[state],\n ...style,\n ...children.props.style,\n },\n })\n }\n </Transition>\n );\n};\n\nGrow.displayName = \"Grow\";\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _Grow = require("./Grow");
|
|
7
|
+
Object.keys(_Grow).forEach(function (key) {
|
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
|
9
|
+
if (key in exports && exports[key] === _Grow[key]) return;
|
|
10
|
+
Object.defineProperty(exports, key, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function get() {
|
|
13
|
+
return _Grow[key];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["_Grow","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["../../../../../src/components/Transitions/Grow/index.ts"],"sourcesContent":["export * from \"./Grow\";\n"],"mappings":";;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,KAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,KAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAT,KAAA,CAAAK,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
|