@laerdal/life-react-components 6.1.0 → 6.1.2-dev.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"ModalContainer.cjs","names":["React","_interopRequireWildcard","require","_reactModal","_interopRequireDefault","_styles","_styledComponents","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","ModalContainerStyles","content","top","left","right","bottom","marginRight","width","height","borderRadius","boxSizing","margin","overflow","boxShadow","BOXSHADOWS","BOXSHADOW_L3","modalTransitions","Z_INDEXES","backdrop","modal","ModalContainer","Component","componentDidMount","ReactModal","defaultStyles","overlay","backgroundColor","document","querySelector","head","getElementsByTagName","style","createElement","setAttribute","appendChild","createTextNode","props","showModal","preventScroll","window","scrollY","getSnapshotBeforeUpdate","prevProps","prevState","scroll","componentDidUpdate","snapshot","resetScroll","componentWillUnmount","render","id","className","closeModal","children","padding","minWidth","maxWidth","zIndex","parseInt","shouldCloseOnOverlayClick","zIndexValue","Math","min","max","toast","stylesConfiguration","assign","background","COLORS","generateToken","componentType","defaultVariant","context","theme","styles","setAppElement","jsx","isOpen","closeTimeoutMS","onRequestClose","offset","openInstances","setState","body","position","state","scrollTo","_propTypes","string","bool","isRequired","func","any","number","ThemeContext","_default","exports"],"sources":["../../src/Modals/ModalContainer.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport ReactModal from 'react-modal';\r\nimport {BOXSHADOWS, COLORS} from '../styles';\r\nimport {Z_INDEXES} from '../styles';\r\nimport styled, {keyframes, ThemeContext} from 'styled-components';\r\n\r\nconst ModalContainerStyles = {\r\n content: {\r\n top: 'auto',\r\n left: 'auto',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-50%',\r\n width: '640px',\r\n height: '320px',\r\n borderRadius: '8px',\r\n boxSizing: 'border-box' as any,\r\n margin: 0,\r\n overflow: 'auto',\r\n boxShadow: BOXSHADOWS.BOXSHADOW_L3,\r\n },\r\n};\r\n\r\n//override modal classes to define the animations\r\nconst modalTransitions = `\r\n\r\n@keyframes modalOpenAnimation {\r\n from{\r\n transform: scale(1.1, 1.1);\r\n }\r\n to {\r\n transform: scale(1, 1);\r\n }\r\n}\r\n\r\n.ReactModal__Overlay {\r\n opacity: 0;\r\n z-index: ${Z_INDEXES.backdrop};\r\n display:flex;\r\n justify-content: center;\r\n align-items: center;\r\n}\r\n\r\n.ReactModal__Overlay--after-open {\r\n opacity: 1;\r\n transition: opacity 150ms cubic-bezier(0.22, 0.61, 0.35, 1);\r\n}\r\n\r\n.ReactModal__Content{\r\n z-index: ${Z_INDEXES.modal};\r\n opacity:0;\r\n transition: opacity 150ms cubic-bezier(0.22, 0.61, 0.35, 1);\r\n}\r\n\r\n.ReactModal__Content--after-open{\r\n opacity: 1;\r\n animation: modalOpenAnimation 150ms ease-in-out;\r\n}\r\n\r\n.ReactModal__Overlay--before-close {\r\n opacity: 0;\r\n transition: opacity 120ms linear;\r\n}\r\n\r\n.ReactModal__Content--before-close{\r\n opacity: 0;\r\n transform: scale(1.1, 1.1);\r\n transition: transform 120ms ease-in-out, opacity 120ms cubic-bezier(0.55, 0.05, 0.67, 0.19);\r\n}\r\n`;\r\n\r\n\r\ntype ModalContainerProps = {\r\n id?: string;\r\n className?: string;\r\n showModal: boolean;\r\n closeModal: () => void;\r\n children: any;\r\n height?: any;\r\n width?: any;\r\n overflow?: string;\r\n padding?: string;\r\n minWidth?: string;\r\n maxWidth?: string;\r\n zIndex?: number;\r\n shouldCloseOnOverlayClick?: boolean;\r\n};\r\n\r\ntype ModalContainerState = {\r\n scroll: number;\r\n};\r\n\r\nclass ModalContainer extends React.Component<ModalContainerProps, ModalContainerState> {\r\n private static openInstances = 0;\r\n\r\n static contextType = ThemeContext;\r\n declare context: React.ContextType<typeof ThemeContext>;\r\n\r\n componentDidMount() {\r\n if (ReactModal.defaultStyles.overlay) {\r\n ReactModal.defaultStyles.overlay.backgroundColor = 'rgba(0,0,0,0.5)';\r\n }\r\n\r\n //append style node to override modal transition classes\r\n if (!document.querySelector('[modal-custom-styling=\"active\"]')) {\r\n const head = document.head || document.getElementsByTagName('head')[0];\r\n const style = document.createElement('style');\r\n style.setAttribute('modal-custom-styling', 'active');\r\n head.appendChild(style);\r\n style.appendChild(document.createTextNode(modalTransitions));\r\n }\r\n\r\n if (this.props.showModal) {\r\n this.preventScroll(window.scrollY);\r\n }\r\n }\r\n\r\n getSnapshotBeforeUpdate(prevProps: Readonly<ModalContainerProps>, prevState: Readonly<ModalContainerState>): { scroll: number } {\r\n return {scroll: window.scrollY};\r\n }\r\n\r\n componentDidUpdate(prevProps: Readonly<ModalContainerProps>, prevState: Readonly<ModalContainerState>, snapshot?: { scroll: number }) {\r\n if (this.props.showModal && !prevProps.showModal) {\r\n this.preventScroll(snapshot!.scroll);\r\n }\r\n if (!this.props.showModal && prevProps.showModal) {\r\n this.resetScroll();\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n if (this.props.showModal) {\r\n this.resetScroll();\r\n }\r\n }\r\n\r\n render() {\r\n const {\r\n id,\r\n className,\r\n showModal,\r\n closeModal,\r\n children,\r\n height = 'auto',\r\n width = 'auto',\r\n overflow = 'visible',\r\n padding,\r\n minWidth = '',\r\n maxWidth = '',\r\n zIndex = parseInt(Z_INDEXES.modal),\r\n shouldCloseOnOverlayClick = true\r\n } = this.props;\r\n\r\n // should be at least z-index of modal and below z-index of toast\r\n const zIndexValue = Math.min(Math.max(zIndex, +Z_INDEXES.modal), +Z_INDEXES.toast - 1);\r\n const stylesConfiguration = Object.assign({...ModalContainerStyles.content}, {\r\n height,\r\n width,\r\n padding,\r\n overflow,\r\n minWidth,\r\n maxWidth,\r\n zIndex: zIndexValue,\r\n background: COLORS.generateToken({componentType:'bg-surface', defaultVariant:'default'}, this.context!.theme)\r\n });\r\n const styles = {content: stylesConfiguration};\r\n\r\n ReactModal.setAppElement('body');\r\n return (\r\n <ReactModal id={id}\r\n isOpen={showModal}\r\n closeTimeoutMS={120}\r\n onRequestClose={() => closeModal()}\r\n shouldCloseOnOverlayClick={shouldCloseOnOverlayClick}\r\n style={styles}\r\n className={className}>\r\n {children}\r\n </ReactModal>\r\n );\r\n }\r\n\r\n private preventScroll(offset: number) {\r\n if (!ModalContainer.openInstances) {\r\n this.setState({scroll: offset});\r\n document.body.style.position = 'fixed';\r\n document.body.style.left = `0px`;\r\n document.body.style.right = `0px`;\r\n document.body.style.top = `-${offset}px`;\r\n }\r\n ModalContainer.openInstances++\r\n }\r\n\r\n private resetScroll() {\r\n ModalContainer.openInstances--;\r\n if (!ModalContainer.openInstances) {\r\n //@ts-ignore\r\n document.body.style.position = null;\r\n //@ts-ignore\r\n document.body.style.left = null;\r\n //@ts-ignore\r\n document.body.style.top = null;\r\n //@ts-ignore\r\n document.body.style.right = null;\r\n this.state.scroll && window.scrollTo(0, this.state.scroll);\r\n this.setState({scroll: 0});\r\n }\r\n }\r\n}\r\n\r\nexport default ModalContainer;"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ModalContainer.cjs","names":["React","_interopRequireWildcard","require","_reactModal","_interopRequireDefault","_styles","_styledComponents","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","ModalContainerStyles","content","top","left","right","bottom","marginRight","width","height","borderRadius","boxSizing","margin","overflow","boxShadow","BOXSHADOWS","BOXSHADOW_L3","modalTransitions","Z_INDEXES","backdrop","modal","ModalContainer","Component","componentDidMount","ReactModal","defaultStyles","overlay","backgroundColor","document","querySelector","head","getElementsByTagName","style","createElement","setAttribute","appendChild","createTextNode","props","showModal","preventScroll","window","scrollY","getSnapshotBeforeUpdate","prevProps","prevState","scroll","componentDidUpdate","snapshot","resetScroll","componentWillUnmount","render","id","closeModal","children","padding","minWidth","maxWidth","zIndex","parseInt","shouldCloseOnOverlayClick","zIndexValue","Math","min","max","toast","stylesConfiguration","assign","background","COLORS","generateToken","componentType","defaultVariant","context","theme","styles","setAppElement","jsx","isOpen","closeTimeoutMS","onRequestClose","offset","openInstances","setState","body","position","state","scrollTo","_propTypes","string","bool","isRequired","func","any","number","ThemeContext","_default","exports"],"sources":["../../src/Modals/ModalContainer.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport ReactModal from 'react-modal';\r\nimport {BOXSHADOWS, COLORS} from '../styles';\r\nimport {Z_INDEXES} from '../styles';\r\nimport styled, {keyframes, ThemeContext} from 'styled-components';\r\n\r\nconst ModalContainerStyles = {\r\n content: {\r\n top: 'auto',\r\n left: 'auto',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-50%',\r\n width: '640px',\r\n height: '320px',\r\n borderRadius: '8px',\r\n boxSizing: 'border-box' as any,\r\n margin: 0,\r\n overflow: 'auto',\r\n boxShadow: BOXSHADOWS.BOXSHADOW_L3,\r\n },\r\n};\r\n\r\n//override modal classes to define the animations\r\nconst modalTransitions = `\r\n\r\n@keyframes modalOpenAnimation {\r\n from{\r\n transform: scale(1.1, 1.1);\r\n }\r\n to {\r\n transform: scale(1, 1);\r\n }\r\n}\r\n\r\n.ReactModal__Overlay {\r\n opacity: 0;\r\n z-index: ${Z_INDEXES.backdrop};\r\n display:flex;\r\n justify-content: center;\r\n align-items: center;\r\n}\r\n\r\n.ReactModal__Overlay--after-open {\r\n opacity: 1;\r\n transition: opacity 150ms cubic-bezier(0.22, 0.61, 0.35, 1);\r\n}\r\n\r\n.ReactModal__Content{\r\n z-index: ${Z_INDEXES.modal};\r\n opacity:0;\r\n transition: opacity 150ms cubic-bezier(0.22, 0.61, 0.35, 1);\r\n}\r\n\r\n.ReactModal__Content--after-open{\r\n opacity: 1;\r\n animation: modalOpenAnimation 150ms ease-in-out;\r\n}\r\n\r\n.ReactModal__Overlay--before-close {\r\n opacity: 0;\r\n transition: opacity 120ms linear;\r\n}\r\n\r\n.ReactModal__Content--before-close{\r\n opacity: 0;\r\n transform: scale(1.1, 1.1);\r\n transition: transform 120ms ease-in-out, opacity 120ms cubic-bezier(0.55, 0.05, 0.67, 0.19);\r\n}\r\n`;\r\n\r\n\r\ntype ModalContainerProps = {\r\n id?: string;\r\n showModal: boolean;\r\n closeModal: () => void;\r\n children: any;\r\n height?: any;\r\n width?: any;\r\n overflow?: string;\r\n padding?: string;\r\n minWidth?: string;\r\n maxWidth?: string;\r\n zIndex?: number;\r\n shouldCloseOnOverlayClick?: boolean;\r\n};\r\n\r\ntype ModalContainerState = {\r\n scroll: number;\r\n};\r\n\r\nclass ModalContainer extends React.Component<ModalContainerProps, ModalContainerState> {\r\n private static openInstances = 0;\r\n\r\n static contextType = ThemeContext;\r\n declare context: React.ContextType<typeof ThemeContext>;\r\n\r\n componentDidMount() {\r\n if (ReactModal.defaultStyles.overlay) {\r\n ReactModal.defaultStyles.overlay.backgroundColor = 'rgba(0,0,0,0.5)';\r\n }\r\n\r\n //append style node to override modal transition classes\r\n if (!document.querySelector('[modal-custom-styling=\"active\"]')) {\r\n const head = document.head || document.getElementsByTagName('head')[0];\r\n const style = document.createElement('style');\r\n style.setAttribute('modal-custom-styling', 'active');\r\n head.appendChild(style);\r\n style.appendChild(document.createTextNode(modalTransitions));\r\n }\r\n\r\n if (this.props.showModal) {\r\n this.preventScroll(window.scrollY);\r\n }\r\n }\r\n\r\n getSnapshotBeforeUpdate(prevProps: Readonly<ModalContainerProps>, prevState: Readonly<ModalContainerState>): { scroll: number } {\r\n return {scroll: window.scrollY};\r\n }\r\n\r\n componentDidUpdate(prevProps: Readonly<ModalContainerProps>, prevState: Readonly<ModalContainerState>, snapshot?: { scroll: number }) {\r\n if (this.props.showModal && !prevProps.showModal) {\r\n this.preventScroll(snapshot!.scroll);\r\n }\r\n if (!this.props.showModal && prevProps.showModal) {\r\n this.resetScroll();\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n if (this.props.showModal) {\r\n this.resetScroll();\r\n }\r\n }\r\n\r\n render() {\r\n const {\r\n id,\r\n showModal,\r\n closeModal,\r\n children,\r\n height = 'auto',\r\n width = 'auto',\r\n overflow = 'visible',\r\n padding,\r\n minWidth = '',\r\n maxWidth = '',\r\n zIndex = parseInt(Z_INDEXES.modal),\r\n shouldCloseOnOverlayClick = true\r\n } = this.props;\r\n\r\n // should be at least z-index of modal and below z-index of toast\r\n const zIndexValue = Math.min(Math.max(zIndex, +Z_INDEXES.modal), +Z_INDEXES.toast - 1);\r\n const stylesConfiguration = Object.assign({...ModalContainerStyles.content}, {\r\n height,\r\n width,\r\n padding,\r\n overflow,\r\n minWidth,\r\n maxWidth,\r\n zIndex: zIndexValue,\r\n background: COLORS.generateToken({componentType:'bg-surface', defaultVariant:'default'}, this.context!.theme)\r\n });\r\n const styles = {content: stylesConfiguration};\r\n\r\n ReactModal.setAppElement('body');\r\n return (\r\n <ReactModal id={id}\r\n isOpen={showModal}\r\n closeTimeoutMS={120}\r\n onRequestClose={() => closeModal()}\r\n shouldCloseOnOverlayClick={shouldCloseOnOverlayClick}\r\n style={styles}>\r\n {children}\r\n </ReactModal>\r\n );\r\n }\r\n\r\n private preventScroll(offset: number) {\r\n if (!ModalContainer.openInstances) {\r\n this.setState({scroll: offset});\r\n document.body.style.position = 'fixed';\r\n document.body.style.left = `0px`;\r\n document.body.style.right = `0px`;\r\n document.body.style.top = `-${offset}px`;\r\n }\r\n ModalContainer.openInstances++\r\n }\r\n\r\n private resetScroll() {\r\n ModalContainer.openInstances--;\r\n if (!ModalContainer.openInstances) {\r\n //@ts-ignore\r\n document.body.style.position = null;\r\n //@ts-ignore\r\n document.body.style.left = null;\r\n //@ts-ignore\r\n document.body.style.top = null;\r\n //@ts-ignore\r\n document.body.style.right = null;\r\n this.state.scroll && window.scrollTo(0, this.state.scroll);\r\n this.setState({scroll: 0});\r\n }\r\n }\r\n}\r\n\r\nexport default ModalContainer;"],"mappings":";;;;;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAEA,IAAAI,iBAAA,GAAAJ,OAAA;AAAkE,IAAAK,WAAA,GAAAL,OAAA;AAAA,SAAAM,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAR,wBAAAQ,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAW,QAAAnB,CAAA,EAAAE,CAAA,QAAAC,CAAA,GAAAQ,MAAA,CAAAS,IAAA,CAAApB,CAAA,OAAAW,MAAA,CAAAU,qBAAA,QAAAC,CAAA,GAAAX,MAAA,CAAAU,qBAAA,CAAArB,CAAA,GAAAE,CAAA,KAAAoB,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAArB,CAAA,WAAAS,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAE,CAAA,EAAAsB,UAAA,OAAArB,CAAA,CAAAsB,IAAA,CAAAC,KAAA,CAAAvB,CAAA,EAAAmB,CAAA,YAAAnB,CAAA;AAAA,SAAAwB,cAAA3B,CAAA,aAAAE,CAAA,MAAAA,CAAA,GAAA0B,SAAA,CAAAC,MAAA,EAAA3B,CAAA,UAAAC,CAAA,WAAAyB,SAAA,CAAA1B,CAAA,IAAA0B,SAAA,CAAA1B,CAAA,QAAAA,CAAA,OAAAiB,OAAA,CAAAR,MAAA,CAAAR,CAAA,OAAA2B,OAAA,WAAA5B,CAAA,QAAA6B,gBAAA,CAAA1B,OAAA,EAAAL,CAAA,EAAAE,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAS,MAAA,CAAAqB,yBAAA,GAAArB,MAAA,CAAAsB,gBAAA,CAAAjC,CAAA,EAAAW,MAAA,CAAAqB,yBAAA,CAAA7B,CAAA,KAAAgB,OAAA,CAAAR,MAAA,CAAAR,CAAA,GAAA2B,OAAA,WAAA5B,CAAA,IAAAS,MAAA,CAAAC,cAAA,CAAAZ,CAAA,EAAAE,CAAA,EAAAS,MAAA,CAAAE,wBAAA,CAAAV,CAAA,EAAAD,CAAA,iBAAAF,CAAA;AAElE,MAAMkC,oBAAoB,GAAG;EAC3BC,OAAO,EAAE;IACPC,GAAG,EAAE,MAAM;IACXC,IAAI,EAAE,MAAM;IACZC,KAAK,EAAE,MAAM;IACbC,MAAM,EAAE,MAAM;IACdC,WAAW,EAAE,MAAM;IACnBC,KAAK,EAAE,OAAO;IACdC,MAAM,EAAE,OAAO;IACfC,YAAY,EAAE,KAAK;IACnBC,SAAS,EAAE,YAAmB;IAC9BC,MAAM,EAAE,CAAC;IACTC,QAAQ,EAAE,MAAM;IAChBC,SAAS,EAAEC,kBAAU,CAACC;EACxB;AACF,CAAC;;AAED;AACA,MAAMC,gBAAgB,GAAG;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAaC,iBAAS,CAACC,QAAQ;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAaD,iBAAS,CAACE,KAAK;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAsBD,MAAMC,cAAc,SAAS/D,KAAK,CAACgE,SAAS,CAA2C;EAMrFC,iBAAiBA,CAAA,EAAG;IAClB,IAAIC,mBAAU,CAACC,aAAa,CAACC,OAAO,EAAE;MACpCF,mBAAU,CAACC,aAAa,CAACC,OAAO,CAACC,eAAe,GAAG,iBAAiB;IACtE;;IAEA;IACA,IAAI,CAACC,QAAQ,CAACC,aAAa,CAAC,iCAAiC,CAAC,EAAE;MAC9D,MAAMC,IAAI,GAAGF,QAAQ,CAACE,IAAI,IAAIF,QAAQ,CAACG,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;MACtE,MAAMC,KAAK,GAAGJ,QAAQ,CAACK,aAAa,CAAC,OAAO,CAAC;MAC7CD,KAAK,CAACE,YAAY,CAAC,sBAAsB,EAAE,QAAQ,CAAC;MACpDJ,IAAI,CAACK,WAAW,CAACH,KAAK,CAAC;MACvBA,KAAK,CAACG,WAAW,CAACP,QAAQ,CAACQ,cAAc,CAACnB,gBAAgB,CAAC,CAAC;IAC9D;IAEA,IAAI,IAAI,CAACoB,KAAK,CAACC,SAAS,EAAE;MACxB,IAAI,CAACC,aAAa,CAACC,MAAM,CAACC,OAAO,CAAC;IACpC;EACF;EAEAC,uBAAuBA,CAACC,SAAwC,EAAEC,SAAwC,EAAsB;IAC9H,OAAO;MAACC,MAAM,EAAEL,MAAM,CAACC;IAAO,CAAC;EACjC;EAEAK,kBAAkBA,CAACH,SAAwC,EAAEC,SAAwC,EAAEG,QAA6B,EAAE;IACpI,IAAI,IAAI,CAACV,KAAK,CAACC,SAAS,IAAI,CAACK,SAAS,CAACL,SAAS,EAAE;MAChD,IAAI,CAACC,aAAa,CAACQ,QAAQ,CAAEF,MAAM,CAAC;IACtC;IACA,IAAI,CAAC,IAAI,CAACR,KAAK,CAACC,SAAS,IAAIK,SAAS,CAACL,SAAS,EAAE;MAChD,IAAI,CAACU,WAAW,CAAC,CAAC;IACpB;EACF;EAEAC,oBAAoBA,CAAA,EAAG;IACrB,IAAI,IAAI,CAACZ,KAAK,CAACC,SAAS,EAAE;MACxB,IAAI,CAACU,WAAW,CAAC,CAAC;IACpB;EACF;EAEAE,MAAMA,CAAA,EAAG;IACP,MAAM;MACJC,EAAE;MACFb,SAAS;MACTc,UAAU;MACVC,QAAQ;MACR5C,MAAM,GAAG,MAAM;MACfD,KAAK,GAAG,MAAM;MACdK,QAAQ,GAAG,SAAS;MACpByC,OAAO;MACPC,QAAQ,GAAG,EAAE;MACbC,QAAQ,GAAG,EAAE;MACbC,MAAM,GAAGC,QAAQ,CAACxC,iBAAS,CAACE,KAAK,CAAC;MAClCuC,yBAAyB,GAAG;IAC9B,CAAC,GAAG,IAAI,CAACtB,KAAK;;IAEd;IACA,MAAMuB,WAAW,GAAGC,IAAI,CAACC,GAAG,CAACD,IAAI,CAACE,GAAG,CAACN,MAAM,EAAE,CAACvC,iBAAS,CAACE,KAAK,CAAC,EAAE,CAACF,iBAAS,CAAC8C,KAAK,GAAG,CAAC,CAAC;IACtF,MAAMC,mBAAmB,GAAGvF,MAAM,CAACwF,MAAM,CAAAxE,aAAA,KAAKO,oBAAoB,CAACC,OAAO,GAAG;MAC3EO,MAAM;MACND,KAAK;MACL8C,OAAO;MACPzC,QAAQ;MACR0C,QAAQ;MACRC,QAAQ;MACRC,MAAM,EAAEG,WAAW;MACnBO,UAAU,EAAEC,cAAM,CAACC,aAAa,CAAC;QAACC,aAAa,EAAC,YAAY;QAAEC,cAAc,EAAC;MAAS,CAAC,EAAE,IAAI,CAACC,OAAO,CAAEC,KAAK;IAC9G,CAAC,CAAC;IACF,MAAMC,MAAM,GAAG;MAACxE,OAAO,EAAE+D;IAAmB,CAAC;IAE7CzC,mBAAU,CAACmD,aAAa,CAAC,MAAM,CAAC;IAChC,oBACE,IAAA9G,WAAA,CAAA+G,GAAA,EAACnH,WAAA,CAAAW,OAAU;MAAC+E,EAAE,EAAEA,EAAG;MACP0B,MAAM,EAAEvC,SAAU;MAClBwC,cAAc,EAAE,GAAI;MACpBC,cAAc,EAAEA,CAAA,KAAM3B,UAAU,CAAC,CAAE;MACnCO,yBAAyB,EAAEA,yBAA0B;MACrD3B,KAAK,EAAE0C,MAAO;MAAArB,QAAA,EACvBA;IAAQ,CACC,CAAC;EAEjB;EAEQd,aAAaA,CAACyC,MAAc,EAAE;IACpC,IAAI,CAAC3D,cAAc,CAAC4D,aAAa,EAAE;MACjC,IAAI,CAACC,QAAQ,CAAC;QAACrC,MAAM,EAAEmC;MAAM,CAAC,CAAC;MAC/BpD,QAAQ,CAACuD,IAAI,CAACnD,KAAK,CAACoD,QAAQ,GAAG,OAAO;MACtCxD,QAAQ,CAACuD,IAAI,CAACnD,KAAK,CAAC5B,IAAI,GAAG,KAAK;MAChCwB,QAAQ,CAACuD,IAAI,CAACnD,KAAK,CAAC3B,KAAK,GAAG,KAAK;MACjCuB,QAAQ,CAACuD,IAAI,CAACnD,KAAK,CAAC7B,GAAG,GAAG,IAAI6E,MAAM,IAAI;IAC1C;IACA3D,cAAc,CAAC4D,aAAa,EAAE;EAChC;EAEQjC,WAAWA,CAAA,EAAG;IACpB3B,cAAc,CAAC4D,aAAa,EAAE;IAC9B,IAAI,CAAC5D,cAAc,CAAC4D,aAAa,EAAE;MACjC;MACArD,QAAQ,CAACuD,IAAI,CAACnD,KAAK,CAACoD,QAAQ,GAAG,IAAI;MACnC;MACAxD,QAAQ,CAACuD,IAAI,CAACnD,KAAK,CAAC5B,IAAI,GAAG,IAAI;MAC/B;MACAwB,QAAQ,CAACuD,IAAI,CAACnD,KAAK,CAAC7B,GAAG,GAAG,IAAI;MAC9B;MACAyB,QAAQ,CAACuD,IAAI,CAACnD,KAAK,CAAC3B,KAAK,GAAG,IAAI;MAChC,IAAI,CAACgF,KAAK,CAACxC,MAAM,IAAIL,MAAM,CAAC8C,QAAQ,CAAC,CAAC,EAAE,IAAI,CAACD,KAAK,CAACxC,MAAM,CAAC;MAC1D,IAAI,CAACqC,QAAQ,CAAC;QAACrC,MAAM,EAAE;MAAC,CAAC,CAAC;IAC5B;EACF;AACF;AAAC,IAAA/C,gBAAA,CAAA1B,OAAA,EAjHKiD,cAAc;EAlBlB8B,EAAE,EAAAoC,UAAA,CAAAnH,OAAA,CAAAoH,MAAA;EACFlD,SAAS,EAAAiD,UAAA,CAAAnH,OAAA,CAAAqH,IAAA,CAAAC,UAAA;EACTtC,UAAU,EAAAmC,UAAA,CAAAnH,OAAA,CAAAuH,IAAA,CAAAD,UAAA;EACVrC,QAAQ,EAAAkC,UAAA,CAAAnH,OAAA,CAAAwH,GAAA,CAAAF,UAAA;EACRjF,MAAM,EAAA8E,UAAA,CAAAnH,OAAA,CAAAwH,GAAA;EACNpF,KAAK,EAAA+E,UAAA,CAAAnH,OAAA,CAAAwH,GAAA;EACL/E,QAAQ,EAAA0E,UAAA,CAAAnH,OAAA,CAAAoH,MAAA;EACRlC,OAAO,EAAAiC,UAAA,CAAAnH,OAAA,CAAAoH,MAAA;EACPjC,QAAQ,EAAAgC,UAAA,CAAAnH,OAAA,CAAAoH,MAAA;EACRhC,QAAQ,EAAA+B,UAAA,CAAAnH,OAAA,CAAAoH,MAAA;EACR/B,MAAM,EAAA8B,UAAA,CAAAnH,OAAA,CAAAyH,MAAA;EACNlC,yBAAyB,EAAA4B,UAAA,CAAAnH,OAAA,CAAAqH;AAAA;AAAA,IAAA3F,gBAAA,CAAA1B,OAAA,EAOrBiD,cAAc,mBACa,CAAC;AAAA,IAAAvB,gBAAA,CAAA1B,OAAA,EAD5BiD,cAAc,iBAGGyE,8BAAY;AAAA,IAAAC,QAAA,GAAAC,OAAA,CAAA5H,OAAA,GAgHpBiD,cAAc","ignoreList":[]}
@@ -2,7 +2,6 @@ import * as React from 'react';
2
2
  import { ThemeContext } from 'styled-components';
3
3
  type ModalContainerProps = {
4
4
  id?: string;
5
- className?: string;
6
5
  showModal: boolean;
7
6
  closeModal: () => void;
8
7
  children: any;
@@ -111,7 +111,6 @@ class ModalContainer extends React.Component {
111
111
  render() {
112
112
  const {
113
113
  id,
114
- className,
115
114
  showModal,
116
115
  closeModal,
117
116
  children,
@@ -151,7 +150,6 @@ class ModalContainer extends React.Component {
151
150
  onRequestClose: () => closeModal(),
152
151
  shouldCloseOnOverlayClick: shouldCloseOnOverlayClick,
153
152
  style: styles,
154
- className: className,
155
153
  children: children
156
154
  });
157
155
  }
@@ -187,7 +185,6 @@ class ModalContainer extends React.Component {
187
185
  }
188
186
  _defineProperty(ModalContainer, "propTypes", {
189
187
  id: _pt.string,
190
- className: _pt.string,
191
188
  showModal: _pt.bool.isRequired,
192
189
  closeModal: _pt.func.isRequired,
193
190
  children: _pt.any.isRequired,
@@ -1 +1 @@
1
- {"version":3,"file":"ModalContainer.js","names":["React","ReactModal","BOXSHADOWS","COLORS","Z_INDEXES","ThemeContext","jsx","_jsx","ModalContainerStyles","content","top","left","right","bottom","marginRight","width","height","borderRadius","boxSizing","margin","overflow","boxShadow","BOXSHADOW_L3","modalTransitions","backdrop","modal","ModalContainer","Component","componentDidMount","defaultStyles","overlay","backgroundColor","document","querySelector","head","getElementsByTagName","style","createElement","setAttribute","appendChild","createTextNode","props","showModal","preventScroll","window","scrollY","getSnapshotBeforeUpdate","prevProps","prevState","scroll","componentDidUpdate","snapshot","resetScroll","componentWillUnmount","render","id","className","closeModal","children","padding","minWidth","maxWidth","zIndex","parseInt","shouldCloseOnOverlayClick","zIndexValue","Math","min","max","toast","stylesConfiguration","Object","assign","_objectSpread","background","generateToken","componentType","defaultVariant","context","theme","styles","setAppElement","isOpen","closeTimeoutMS","onRequestClose","offset","openInstances","setState","body","position","state","scrollTo","_defineProperty","_pt","string","bool","isRequired","func","any","number"],"sources":["../../src/Modals/ModalContainer.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport ReactModal from 'react-modal';\r\nimport {BOXSHADOWS, COLORS} from '../styles';\r\nimport {Z_INDEXES} from '../styles';\r\nimport styled, {keyframes, ThemeContext} from 'styled-components';\r\n\r\nconst ModalContainerStyles = {\r\n content: {\r\n top: 'auto',\r\n left: 'auto',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-50%',\r\n width: '640px',\r\n height: '320px',\r\n borderRadius: '8px',\r\n boxSizing: 'border-box' as any,\r\n margin: 0,\r\n overflow: 'auto',\r\n boxShadow: BOXSHADOWS.BOXSHADOW_L3,\r\n },\r\n};\r\n\r\n//override modal classes to define the animations\r\nconst modalTransitions = `\r\n\r\n@keyframes modalOpenAnimation {\r\n from{\r\n transform: scale(1.1, 1.1);\r\n }\r\n to {\r\n transform: scale(1, 1);\r\n }\r\n}\r\n\r\n.ReactModal__Overlay {\r\n opacity: 0;\r\n z-index: ${Z_INDEXES.backdrop};\r\n display:flex;\r\n justify-content: center;\r\n align-items: center;\r\n}\r\n\r\n.ReactModal__Overlay--after-open {\r\n opacity: 1;\r\n transition: opacity 150ms cubic-bezier(0.22, 0.61, 0.35, 1);\r\n}\r\n\r\n.ReactModal__Content{\r\n z-index: ${Z_INDEXES.modal};\r\n opacity:0;\r\n transition: opacity 150ms cubic-bezier(0.22, 0.61, 0.35, 1);\r\n}\r\n\r\n.ReactModal__Content--after-open{\r\n opacity: 1;\r\n animation: modalOpenAnimation 150ms ease-in-out;\r\n}\r\n\r\n.ReactModal__Overlay--before-close {\r\n opacity: 0;\r\n transition: opacity 120ms linear;\r\n}\r\n\r\n.ReactModal__Content--before-close{\r\n opacity: 0;\r\n transform: scale(1.1, 1.1);\r\n transition: transform 120ms ease-in-out, opacity 120ms cubic-bezier(0.55, 0.05, 0.67, 0.19);\r\n}\r\n`;\r\n\r\n\r\ntype ModalContainerProps = {\r\n id?: string;\r\n className?: string;\r\n showModal: boolean;\r\n closeModal: () => void;\r\n children: any;\r\n height?: any;\r\n width?: any;\r\n overflow?: string;\r\n padding?: string;\r\n minWidth?: string;\r\n maxWidth?: string;\r\n zIndex?: number;\r\n shouldCloseOnOverlayClick?: boolean;\r\n};\r\n\r\ntype ModalContainerState = {\r\n scroll: number;\r\n};\r\n\r\nclass ModalContainer extends React.Component<ModalContainerProps, ModalContainerState> {\r\n private static openInstances = 0;\r\n\r\n static contextType = ThemeContext;\r\n declare context: React.ContextType<typeof ThemeContext>;\r\n\r\n componentDidMount() {\r\n if (ReactModal.defaultStyles.overlay) {\r\n ReactModal.defaultStyles.overlay.backgroundColor = 'rgba(0,0,0,0.5)';\r\n }\r\n\r\n //append style node to override modal transition classes\r\n if (!document.querySelector('[modal-custom-styling=\"active\"]')) {\r\n const head = document.head || document.getElementsByTagName('head')[0];\r\n const style = document.createElement('style');\r\n style.setAttribute('modal-custom-styling', 'active');\r\n head.appendChild(style);\r\n style.appendChild(document.createTextNode(modalTransitions));\r\n }\r\n\r\n if (this.props.showModal) {\r\n this.preventScroll(window.scrollY);\r\n }\r\n }\r\n\r\n getSnapshotBeforeUpdate(prevProps: Readonly<ModalContainerProps>, prevState: Readonly<ModalContainerState>): { scroll: number } {\r\n return {scroll: window.scrollY};\r\n }\r\n\r\n componentDidUpdate(prevProps: Readonly<ModalContainerProps>, prevState: Readonly<ModalContainerState>, snapshot?: { scroll: number }) {\r\n if (this.props.showModal && !prevProps.showModal) {\r\n this.preventScroll(snapshot!.scroll);\r\n }\r\n if (!this.props.showModal && prevProps.showModal) {\r\n this.resetScroll();\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n if (this.props.showModal) {\r\n this.resetScroll();\r\n }\r\n }\r\n\r\n render() {\r\n const {\r\n id,\r\n className,\r\n showModal,\r\n closeModal,\r\n children,\r\n height = 'auto',\r\n width = 'auto',\r\n overflow = 'visible',\r\n padding,\r\n minWidth = '',\r\n maxWidth = '',\r\n zIndex = parseInt(Z_INDEXES.modal),\r\n shouldCloseOnOverlayClick = true\r\n } = this.props;\r\n\r\n // should be at least z-index of modal and below z-index of toast\r\n const zIndexValue = Math.min(Math.max(zIndex, +Z_INDEXES.modal), +Z_INDEXES.toast - 1);\r\n const stylesConfiguration = Object.assign({...ModalContainerStyles.content}, {\r\n height,\r\n width,\r\n padding,\r\n overflow,\r\n minWidth,\r\n maxWidth,\r\n zIndex: zIndexValue,\r\n background: COLORS.generateToken({componentType:'bg-surface', defaultVariant:'default'}, this.context!.theme)\r\n });\r\n const styles = {content: stylesConfiguration};\r\n\r\n ReactModal.setAppElement('body');\r\n return (\r\n <ReactModal id={id}\r\n isOpen={showModal}\r\n closeTimeoutMS={120}\r\n onRequestClose={() => closeModal()}\r\n shouldCloseOnOverlayClick={shouldCloseOnOverlayClick}\r\n style={styles}\r\n className={className}>\r\n {children}\r\n </ReactModal>\r\n );\r\n }\r\n\r\n private preventScroll(offset: number) {\r\n if (!ModalContainer.openInstances) {\r\n this.setState({scroll: offset});\r\n document.body.style.position = 'fixed';\r\n document.body.style.left = `0px`;\r\n document.body.style.right = `0px`;\r\n document.body.style.top = `-${offset}px`;\r\n }\r\n ModalContainer.openInstances++\r\n }\r\n\r\n private resetScroll() {\r\n ModalContainer.openInstances--;\r\n if (!ModalContainer.openInstances) {\r\n //@ts-ignore\r\n document.body.style.position = null;\r\n //@ts-ignore\r\n document.body.style.left = null;\r\n //@ts-ignore\r\n document.body.style.top = null;\r\n //@ts-ignore\r\n document.body.style.right = null;\r\n this.state.scroll && window.scrollTo(0, this.state.scroll);\r\n this.setState({scroll: 0});\r\n }\r\n }\r\n}\r\n\r\nexport default ModalContainer;"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ModalContainer.js","names":["React","ReactModal","BOXSHADOWS","COLORS","Z_INDEXES","ThemeContext","jsx","_jsx","ModalContainerStyles","content","top","left","right","bottom","marginRight","width","height","borderRadius","boxSizing","margin","overflow","boxShadow","BOXSHADOW_L3","modalTransitions","backdrop","modal","ModalContainer","Component","componentDidMount","defaultStyles","overlay","backgroundColor","document","querySelector","head","getElementsByTagName","style","createElement","setAttribute","appendChild","createTextNode","props","showModal","preventScroll","window","scrollY","getSnapshotBeforeUpdate","prevProps","prevState","scroll","componentDidUpdate","snapshot","resetScroll","componentWillUnmount","render","id","closeModal","children","padding","minWidth","maxWidth","zIndex","parseInt","shouldCloseOnOverlayClick","zIndexValue","Math","min","max","toast","stylesConfiguration","Object","assign","_objectSpread","background","generateToken","componentType","defaultVariant","context","theme","styles","setAppElement","isOpen","closeTimeoutMS","onRequestClose","offset","openInstances","setState","body","position","state","scrollTo","_defineProperty","_pt","string","bool","isRequired","func","any","number"],"sources":["../../src/Modals/ModalContainer.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport ReactModal from 'react-modal';\r\nimport {BOXSHADOWS, COLORS} from '../styles';\r\nimport {Z_INDEXES} from '../styles';\r\nimport styled, {keyframes, ThemeContext} from 'styled-components';\r\n\r\nconst ModalContainerStyles = {\r\n content: {\r\n top: 'auto',\r\n left: 'auto',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-50%',\r\n width: '640px',\r\n height: '320px',\r\n borderRadius: '8px',\r\n boxSizing: 'border-box' as any,\r\n margin: 0,\r\n overflow: 'auto',\r\n boxShadow: BOXSHADOWS.BOXSHADOW_L3,\r\n },\r\n};\r\n\r\n//override modal classes to define the animations\r\nconst modalTransitions = `\r\n\r\n@keyframes modalOpenAnimation {\r\n from{\r\n transform: scale(1.1, 1.1);\r\n }\r\n to {\r\n transform: scale(1, 1);\r\n }\r\n}\r\n\r\n.ReactModal__Overlay {\r\n opacity: 0;\r\n z-index: ${Z_INDEXES.backdrop};\r\n display:flex;\r\n justify-content: center;\r\n align-items: center;\r\n}\r\n\r\n.ReactModal__Overlay--after-open {\r\n opacity: 1;\r\n transition: opacity 150ms cubic-bezier(0.22, 0.61, 0.35, 1);\r\n}\r\n\r\n.ReactModal__Content{\r\n z-index: ${Z_INDEXES.modal};\r\n opacity:0;\r\n transition: opacity 150ms cubic-bezier(0.22, 0.61, 0.35, 1);\r\n}\r\n\r\n.ReactModal__Content--after-open{\r\n opacity: 1;\r\n animation: modalOpenAnimation 150ms ease-in-out;\r\n}\r\n\r\n.ReactModal__Overlay--before-close {\r\n opacity: 0;\r\n transition: opacity 120ms linear;\r\n}\r\n\r\n.ReactModal__Content--before-close{\r\n opacity: 0;\r\n transform: scale(1.1, 1.1);\r\n transition: transform 120ms ease-in-out, opacity 120ms cubic-bezier(0.55, 0.05, 0.67, 0.19);\r\n}\r\n`;\r\n\r\n\r\ntype ModalContainerProps = {\r\n id?: string;\r\n showModal: boolean;\r\n closeModal: () => void;\r\n children: any;\r\n height?: any;\r\n width?: any;\r\n overflow?: string;\r\n padding?: string;\r\n minWidth?: string;\r\n maxWidth?: string;\r\n zIndex?: number;\r\n shouldCloseOnOverlayClick?: boolean;\r\n};\r\n\r\ntype ModalContainerState = {\r\n scroll: number;\r\n};\r\n\r\nclass ModalContainer extends React.Component<ModalContainerProps, ModalContainerState> {\r\n private static openInstances = 0;\r\n\r\n static contextType = ThemeContext;\r\n declare context: React.ContextType<typeof ThemeContext>;\r\n\r\n componentDidMount() {\r\n if (ReactModal.defaultStyles.overlay) {\r\n ReactModal.defaultStyles.overlay.backgroundColor = 'rgba(0,0,0,0.5)';\r\n }\r\n\r\n //append style node to override modal transition classes\r\n if (!document.querySelector('[modal-custom-styling=\"active\"]')) {\r\n const head = document.head || document.getElementsByTagName('head')[0];\r\n const style = document.createElement('style');\r\n style.setAttribute('modal-custom-styling', 'active');\r\n head.appendChild(style);\r\n style.appendChild(document.createTextNode(modalTransitions));\r\n }\r\n\r\n if (this.props.showModal) {\r\n this.preventScroll(window.scrollY);\r\n }\r\n }\r\n\r\n getSnapshotBeforeUpdate(prevProps: Readonly<ModalContainerProps>, prevState: Readonly<ModalContainerState>): { scroll: number } {\r\n return {scroll: window.scrollY};\r\n }\r\n\r\n componentDidUpdate(prevProps: Readonly<ModalContainerProps>, prevState: Readonly<ModalContainerState>, snapshot?: { scroll: number }) {\r\n if (this.props.showModal && !prevProps.showModal) {\r\n this.preventScroll(snapshot!.scroll);\r\n }\r\n if (!this.props.showModal && prevProps.showModal) {\r\n this.resetScroll();\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n if (this.props.showModal) {\r\n this.resetScroll();\r\n }\r\n }\r\n\r\n render() {\r\n const {\r\n id,\r\n showModal,\r\n closeModal,\r\n children,\r\n height = 'auto',\r\n width = 'auto',\r\n overflow = 'visible',\r\n padding,\r\n minWidth = '',\r\n maxWidth = '',\r\n zIndex = parseInt(Z_INDEXES.modal),\r\n shouldCloseOnOverlayClick = true\r\n } = this.props;\r\n\r\n // should be at least z-index of modal and below z-index of toast\r\n const zIndexValue = Math.min(Math.max(zIndex, +Z_INDEXES.modal), +Z_INDEXES.toast - 1);\r\n const stylesConfiguration = Object.assign({...ModalContainerStyles.content}, {\r\n height,\r\n width,\r\n padding,\r\n overflow,\r\n minWidth,\r\n maxWidth,\r\n zIndex: zIndexValue,\r\n background: COLORS.generateToken({componentType:'bg-surface', defaultVariant:'default'}, this.context!.theme)\r\n });\r\n const styles = {content: stylesConfiguration};\r\n\r\n ReactModal.setAppElement('body');\r\n return (\r\n <ReactModal id={id}\r\n isOpen={showModal}\r\n closeTimeoutMS={120}\r\n onRequestClose={() => closeModal()}\r\n shouldCloseOnOverlayClick={shouldCloseOnOverlayClick}\r\n style={styles}>\r\n {children}\r\n </ReactModal>\r\n );\r\n }\r\n\r\n private preventScroll(offset: number) {\r\n if (!ModalContainer.openInstances) {\r\n this.setState({scroll: offset});\r\n document.body.style.position = 'fixed';\r\n document.body.style.left = `0px`;\r\n document.body.style.right = `0px`;\r\n document.body.style.top = `-${offset}px`;\r\n }\r\n ModalContainer.openInstances++\r\n }\r\n\r\n private resetScroll() {\r\n ModalContainer.openInstances--;\r\n if (!ModalContainer.openInstances) {\r\n //@ts-ignore\r\n document.body.style.position = null;\r\n //@ts-ignore\r\n document.body.style.left = null;\r\n //@ts-ignore\r\n document.body.style.top = null;\r\n //@ts-ignore\r\n document.body.style.right = null;\r\n this.state.scroll && window.scrollTo(0, this.state.scroll);\r\n this.setState({scroll: 0});\r\n }\r\n }\r\n}\r\n\r\nexport default ModalContainer;"],"mappings":"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","ignoreList":[]}
@@ -41,9 +41,7 @@ const ModalDialog = _ref => {
41
41
  contentOverflow,
42
42
  hideCloseButton,
43
43
  width,
44
- hasContentBorders,
45
- className,
46
- id
44
+ hasContentBorders
47
45
  } = _ref;
48
46
  const theme = (0, _styledComponents.useTheme)();
49
47
  const getMinWidth = () => {
@@ -264,8 +262,6 @@ const ModalDialog = _ref => {
264
262
  }
265
263
  };
266
264
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ModalContainer.default, {
267
- className: className,
268
- id: id,
269
265
  showModal: isModalOpen,
270
266
  closeModal: closeAction,
271
267
  minWidth: getMinWidth(),
@@ -348,8 +344,6 @@ ModalDialog.propTypes = {
348
344
  buttons: _propTypes.default.array,
349
345
  tooltip: _propTypes.default.string,
350
346
  backButton: _propTypes.default.func,
351
- className: _propTypes.default.string,
352
- id: _propTypes.default.string,
353
347
  closeAction: _propTypes.default.func.isRequired,
354
348
  hideCloseButton: _propTypes.default.bool,
355
349
  submitAction: _propTypes.default.func.isRequired,
@@ -1 +1 @@
1
- {"version":3,"file":"ModalDialog.cjs","names":["_react","_interopRequireDefault","require","_Button","_icons","_styles","_types","_ModalContainer","_ModalStyles","_ModalNote","_Tooltips","_","_styledComponents","_jsxRuntime","ModalDialog","_ref","size","isModalOpen","title","topImage","topImageWithFallbacksProps","topImageGrayscale","buttons","leftFooterAction","backButton","closeAction","submitAction","tooltip","children","note","shouldCloseOnOverlayClick","state","icon","zIndex","contentOverflow","hideCloseButton","width","hasContentBorders","className","id","theme","useTheme","getMinWidth","Size","Small","Large","Medium","getMaxWidth","getImageHeight","getMarginBottom","getPadding","getMaxHeight","ModalTitle","jsx","ComponentM","textStyle","ComponentTextStyle","Bold","ComponentL","ComponentXL","ModalTootip","ModalHoverModifier","TooltipWrapper","delay","XSmall","align","position","withArrow","label","IconButton","variant","shape","action","SystemIcons","Help","color","COLORS","generateToken","componentType","defaultVariant","ModalCloseButton","onClick","CloseButtonWrapper","$hasImage","$size","borderRadius","Close","ModalBackButton","BackButtonWrapper","ArrowLineLeft","getLeftActionIconElement","React","cloneElement","LeftFooterAction","text","actionType","disabled","button","TextButton","type","loading","style","order","marginRight","jsxs","HyperLink","href","e","preventDefault","default","showModal","closeModal","minWidth","maxWidth","height","padding","Column","onSubmit","display","flexDirection","maxHeight","StyledModalHeader","$height","$marginBottom","ImageContainer","ImageOverlay","src","alt","ImageWithFallbacks","loader","fallbacks","ModalHeaderActionsWithImage","$hasBackButton","ModalTitleSection","FlexContainer","ModalHeaderActions","ModalBody","$overflow","$hasContentBorders","ModalNote","ModalFooter","map","b","i","exports","propTypes","_propTypes","bool","isRequired","node","oneOfType","string","any","array","func","number","_default"],"sources":["../../src/Modals/ModalDialog.tsx"],"sourcesContent":["import React from 'react';\r\nimport { TextButton, IconButton } from '../Button';\r\nimport { SystemIcons } from '../icons';\r\nimport { COLORS, ComponentL, ComponentM, ComponentTextStyle, ComponentXL } from '../styles';\r\nimport { Size } from '../types';\r\nimport ModalContainer from './ModalContainer';\r\nimport {\r\n BackButtonWrapper,\r\n CloseButtonWrapper,\r\n Column,\r\n FlexContainer,\r\n ModalBody,\r\n ModalFooter,\r\n ModalHeaderActions,\r\n ModalHeaderActionsWithImage,\r\n ModalTitleSection,\r\n StyledModalHeader,\r\n ModalHoverModifier,\r\n ImageOverlay,\r\n ImageContainer,\r\n} from './ModalStyles';\r\n\r\nimport { ModalNote } from './ModalNote';\r\nimport { TooltipWrapper } from '../Tooltips';\r\nimport { ButtonAction, LeftFooterAction, LeftFooterButton, LeftFooterHyperlink } from './ModalTypes';\r\nimport { HyperLink, ImageWithFallbacks } from '..';\r\nimport { ImageWithFallbacksProps } from '../Image/ImageWithFallbacks';\r\nimport { useTheme } from 'styled-components';\r\n\r\nexport interface ModalDialogProps {\r\n /** Optional. Size of the modal. Defaults to 'medium' */\r\n size?: Size.Small | Size.Medium | Size.Large;\r\n /** Required. Current state of the modal. */\r\n isModalOpen: boolean;\r\n /** Optional. Content of the ModalDialog. */\r\n children?: React.ReactNode;\r\n /** Optional. Title of the ModalDialog. */\r\n title?: string | React.ReactNode;\r\n /** Optional. Content of the image to be shown in the header of the modal. */\r\n topImage?: any;\r\n /** Optional. Serves same purpose as 'topImage' except adds support for fallback options. Has higher priority than 'topImage'. */\r\n topImageWithFallbacksProps?: ImageWithFallbacksProps;\r\n /** Optional. If flag is set then overlay is added that converts image to grey color. */\r\n topImageGrayscale?: boolean;\r\n /** Optional. Collection of Buttons that will be shown in the footer on the right side of the ModalDialog. */\r\n buttons?: ButtonAction[];\r\n /** Optional. Left footer action that will be shown on the left side of the footer of ModalDialog. Can be a hyperlink, button or a note. */\r\n leftFooterAction?: LeftFooterAction;\r\n /** Optional. Tooltip that will be shown */\r\n tooltip?: string;\r\n /** */\r\n backButton?: () => void;\r\n className?: string;\r\n id?: string;\r\n closeAction: () => void;\r\n hideCloseButton?: boolean;\r\n submitAction: (event?: React.FormEvent<HTMLFormElement> | undefined) => void;\r\n note?: string | React.ReactNode;\r\n state?: string;\r\n icon?: React.ReactNode;\r\n zIndex?: number;\r\n contentOverflow?: string;\r\n width?: string;\r\n hasContentBorders?: boolean;\r\n shouldCloseOnOverlayClick?: boolean;\r\n}\r\n\r\nexport const ModalDialog: React.FunctionComponent<ModalDialogProps> = ({\r\n size,\r\n isModalOpen,\r\n title,\r\n topImage,\r\n topImageWithFallbacksProps,\r\n topImageGrayscale,\r\n buttons,\r\n leftFooterAction,\r\n backButton,\r\n closeAction,\r\n submitAction,\r\n tooltip,\r\n children,\r\n note,\r\n shouldCloseOnOverlayClick,\r\n state,\r\n icon,\r\n zIndex,\r\n contentOverflow,\r\n hideCloseButton,\r\n width,\r\n hasContentBorders,\r\n className,\r\n id,\r\n}) => {\r\n\r\n const theme = useTheme();\r\n const getMinWidth = () => {\r\n switch (size) {\r\n case Size.Small:\r\n return '320px';\r\n case Size.Large:\r\n return '640px';\r\n case Size.Medium:\r\n default:\r\n return '480px';\r\n }\r\n };\r\n\r\n const getMaxWidth = () => {\r\n switch (size) {\r\n case Size.Small:\r\n return '480px';\r\n case Size.Large:\r\n return '720px';\r\n case Size.Medium:\r\n default:\r\n return '640px';\r\n }\r\n };\r\n\r\n const getImageHeight = () => {\r\n switch (size) {\r\n case Size.Small:\r\n return 160;\r\n case Size.Medium:\r\n return 200;\r\n case Size.Large:\r\n return 240;\r\n default:\r\n return 200;\r\n }\r\n };\r\n\r\n const getMarginBottom = () => {\r\n switch (size) {\r\n case Size.Small:\r\n return '16px';\r\n case Size.Medium:\r\n return '24px';\r\n case Size.Large:\r\n return '32px';\r\n default:\r\n return '24px';\r\n }\r\n };\r\n\r\n const getPadding = () => {\r\n switch (size) {\r\n case Size.Small:\r\n return '16px 16px 8px';\r\n case Size.Medium:\r\n return '24px 24px 20px';\r\n case Size.Large:\r\n return '32px';\r\n default:\r\n return '24px 24px 16px';\r\n }\r\n };\r\n\r\n const getMaxHeight = () => {\r\n switch (size) {\r\n case Size.Small:\r\n return 'calc(100vh - 56px)';\r\n case Size.Medium:\r\n return 'calc(100vh - 76px)';\r\n case Size.Large:\r\n return 'calc(100vh - 96px)';\r\n default:\r\n return 'calc(100vh - 72px)';\r\n }\r\n };\r\n\r\n const ModalTitle = (title: string | React.ReactNode, size?: Size) => {\r\n if (typeof title === 'string') {\r\n switch (size) {\r\n case Size.Small:\r\n return <ComponentM textStyle={ComponentTextStyle.Bold}>{title}</ComponentM>;\r\n case Size.Medium:\r\n return <ComponentL textStyle={ComponentTextStyle.Bold}>{title}</ComponentL>;\r\n case Size.Large:\r\n return <ComponentXL textStyle={ComponentTextStyle.Bold}>{title}</ComponentXL>;\r\n default:\r\n return <ComponentL textStyle={ComponentTextStyle.Bold}>{title}</ComponentL>;\r\n }\r\n } else {\r\n return title;\r\n }\r\n };\r\n\r\n const ModalTootip = (tooltip: string) => {\r\n return (\r\n <ModalHoverModifier>\r\n <TooltipWrapper delay=\"0s\" size={Size.XSmall} align=\"center\" position=\"top\" withArrow={false} label={tooltip}>\r\n <IconButton variant=\"secondary\" shape=\"circular\" action={() => {}}>\r\n <SystemIcons.Help size=\"24px\" color={COLORS.generateToken({componentType:'icon', defaultVariant:'subtle'}, theme)} />\r\n </IconButton>\r\n </TooltipWrapper>\r\n </ModalHoverModifier>\r\n );\r\n };\r\n\r\n const ModalCloseButton = (onClick: any) => {\r\n return (\r\n <CloseButtonWrapper $hasImage={!!topImage || !!topImageWithFallbacksProps} $size={size}>\r\n <IconButton variant=\"secondary\" shape=\"circular\" action={() => onClick()} borderRadius={48}>\r\n <SystemIcons.Close size=\"24px\" color={COLORS.generateToken({componentType:'icon', defaultVariant:'subtle'}, theme)} />\r\n </IconButton>\r\n </CloseButtonWrapper>\r\n );\r\n };\r\n\r\n const ModalBackButton = () => {\r\n if (backButton) {\r\n return (\r\n <BackButtonWrapper $hasImage={!!topImage || !!topImageWithFallbacksProps} $size={size}>\r\n <IconButton variant=\"secondary\" shape=\"circular\" action={() => backButton()} borderRadius={48}>\r\n <SystemIcons.ArrowLineLeft size=\"24px\" color={COLORS.generateToken({componentType:'icon', defaultVariant:'subtle'}, theme)} />\r\n </IconButton>\r\n </BackButtonWrapper>\r\n );\r\n }\r\n };\r\n\r\n const getLeftActionIconElement = (icon: React.ReactNode) => {\r\n return React.cloneElement(icon as React.ReactElement<any>, { size: size === Size.Small ? '20px' : size === Size.Large ? '28px' : '24px' });\r\n };\r\n\r\n const LeftFooterAction = (leftFooterAction: LeftFooterAction) => {\r\n const { text, actionType, disabled, icon, action } = leftFooterAction;\r\n switch (actionType) {\r\n case 'button':\r\n const button = leftFooterAction as LeftFooterButton;\r\n return (\r\n <TextButton\r\n id={'left-action-button'}\r\n type={button?.type}\r\n disabled={disabled}\r\n loading={button?.loading}\r\n icon={icon}\r\n size={size}\r\n onClick={action}\r\n variant={button?.variant ?? 'secondary'}\r\n style={{ order: -1, marginRight: 'auto' }}>\r\n {button?.children ?? button?.text}\r\n </TextButton>\r\n );\r\n case 'hyperlink':\r\n return (\r\n <HyperLink\r\n id=\"left-action-hyperlink\"\r\n className=\"footer-action\"\r\n href={(leftFooterAction as LeftFooterHyperlink).href}\r\n disabled={disabled}\r\n variant=\"default\"\r\n onClick={(e) => {\r\n if (action) {\r\n e.preventDefault();\r\n action(e);\r\n }\r\n }}>\r\n {text}\r\n {icon && getLeftActionIconElement(icon)}\r\n </HyperLink>\r\n );\r\n case 'note':\r\n return (\r\n <div className=\"footer-action note\">\r\n {icon && getLeftActionIconElement(icon)}\r\n <span>{text}</span>\r\n </div>\r\n );\r\n }\r\n };\r\n\r\n return (\r\n <ModalContainer\r\n className={className}\r\n id={id}\r\n showModal={isModalOpen}\r\n closeModal={closeAction}\r\n minWidth={getMinWidth()}\r\n shouldCloseOnOverlayClick={shouldCloseOnOverlayClick}\r\n maxWidth={getMaxWidth()}\r\n height=\"auto\"\r\n padding={getPadding()}\r\n zIndex={zIndex}\r\n width={width}>\r\n <Column>\r\n <form onSubmit={submitAction} style={{ display: 'flex', flexDirection: 'column', maxHeight: getMaxHeight() }}>\r\n {(topImage || topImageWithFallbacksProps) && (\r\n <StyledModalHeader $size={size} $height={getImageHeight()} $marginBottom={getMarginBottom()}>\r\n <ImageContainer $height={getImageHeight()}>\r\n {topImageGrayscale && <ImageOverlay $height={getImageHeight()} />}\r\n {topImage && <img src={topImage} alt=\"Modal top\" />}\r\n {!topImage && topImageWithFallbacksProps && (\r\n <ImageWithFallbacks\r\n loader={topImageWithFallbacksProps.loader}\r\n alt={topImageWithFallbacksProps.alt}\r\n fallbacks={topImageWithFallbacksProps.fallbacks}\r\n src={topImageWithFallbacksProps.src}\r\n />\r\n )}\r\n </ImageContainer>\r\n <ModalHeaderActionsWithImage $hasBackButton={!!backButton}>\r\n {ModalBackButton()}\r\n {!hideCloseButton && ModalCloseButton(closeAction)}\r\n </ModalHeaderActionsWithImage>\r\n </StyledModalHeader>\r\n )}\r\n <ModalTitleSection>\r\n <FlexContainer>\r\n {!(topImage || topImageWithFallbacksProps) && ModalBackButton()}\r\n {title && ModalTitle(title, size)}\r\n </FlexContainer>\r\n {(tooltip || !(topImage || topImageWithFallbacksProps)) && (\r\n <ModalHeaderActions>\r\n {tooltip && ModalTootip(tooltip)}\r\n {!(topImage || topImageWithFallbacksProps || hideCloseButton) && ModalCloseButton(closeAction)}\r\n </ModalHeaderActions>\r\n )}\r\n </ModalTitleSection>\r\n\r\n <ModalBody $size={size} $overflow={contentOverflow} $hasContentBorders={hasContentBorders}>\r\n {children}\r\n </ModalBody>\r\n\r\n {note && <ModalNote note={note} state={state} size={size} icon={icon} />}\r\n\r\n <ModalFooter $size={size}>\r\n {leftFooterAction && LeftFooterAction(leftFooterAction)}\r\n {buttons?.map((b, i) => (\r\n <TextButton key={b.id || i} icon={b.icon} id={b.id} disabled={b.disabled} loading={b.loading} size={size} onClick={b.action} type={b.type} variant={b.variant}>\r\n {b.children ?? b.text}\r\n </TextButton>\r\n ))}\r\n </ModalFooter>\r\n </form>\r\n </Column>\r\n </ModalContainer>\r\n );\r\n};\r\n\r\nexport default ModalDialog;\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ModalDialog.cjs","names":["_react","_interopRequireDefault","require","_Button","_icons","_styles","_types","_ModalContainer","_ModalStyles","_ModalNote","_Tooltips","_","_styledComponents","_jsxRuntime","ModalDialog","_ref","size","isModalOpen","title","topImage","topImageWithFallbacksProps","topImageGrayscale","buttons","leftFooterAction","backButton","closeAction","submitAction","tooltip","children","note","shouldCloseOnOverlayClick","state","icon","zIndex","contentOverflow","hideCloseButton","width","hasContentBorders","theme","useTheme","getMinWidth","Size","Small","Large","Medium","getMaxWidth","getImageHeight","getMarginBottom","getPadding","getMaxHeight","ModalTitle","jsx","ComponentM","textStyle","ComponentTextStyle","Bold","ComponentL","ComponentXL","ModalTootip","ModalHoverModifier","TooltipWrapper","delay","XSmall","align","position","withArrow","label","IconButton","variant","shape","action","SystemIcons","Help","color","COLORS","generateToken","componentType","defaultVariant","ModalCloseButton","onClick","CloseButtonWrapper","$hasImage","$size","borderRadius","Close","ModalBackButton","BackButtonWrapper","ArrowLineLeft","getLeftActionIconElement","React","cloneElement","LeftFooterAction","text","actionType","disabled","button","TextButton","id","type","loading","style","order","marginRight","jsxs","HyperLink","className","href","e","preventDefault","default","showModal","closeModal","minWidth","maxWidth","height","padding","Column","onSubmit","display","flexDirection","maxHeight","StyledModalHeader","$height","$marginBottom","ImageContainer","ImageOverlay","src","alt","ImageWithFallbacks","loader","fallbacks","ModalHeaderActionsWithImage","$hasBackButton","ModalTitleSection","FlexContainer","ModalHeaderActions","ModalBody","$overflow","$hasContentBorders","ModalNote","ModalFooter","map","b","i","exports","propTypes","_propTypes","bool","isRequired","node","oneOfType","string","any","array","func","number","_default"],"sources":["../../src/Modals/ModalDialog.tsx"],"sourcesContent":["import React from 'react';\r\nimport { TextButton, IconButton } from '../Button';\r\nimport { SystemIcons } from '../icons';\r\nimport { COLORS, ComponentL, ComponentM, ComponentTextStyle, ComponentXL } from '../styles';\r\nimport { Size } from '../types';\r\nimport ModalContainer from './ModalContainer';\r\nimport {\r\n BackButtonWrapper,\r\n CloseButtonWrapper,\r\n Column,\r\n FlexContainer,\r\n ModalBody,\r\n ModalFooter,\r\n ModalHeaderActions,\r\n ModalHeaderActionsWithImage,\r\n ModalTitleSection,\r\n StyledModalHeader,\r\n ModalHoverModifier,\r\n ImageOverlay,\r\n ImageContainer,\r\n} from './ModalStyles';\r\n\r\nimport { ModalNote } from './ModalNote';\r\nimport { TooltipWrapper } from '../Tooltips';\r\nimport { ButtonAction, LeftFooterAction, LeftFooterButton, LeftFooterHyperlink } from './ModalTypes';\r\nimport { HyperLink, ImageWithFallbacks } from '..';\r\nimport { ImageWithFallbacksProps } from '../Image/ImageWithFallbacks';\r\nimport { useTheme } from 'styled-components';\r\n\r\nexport interface ModalDialogProps {\r\n /** Optional. Size of the modal. Defaults to 'medium' */\r\n size?: Size.Small | Size.Medium | Size.Large;\r\n /** Required. Current state of the modal. */\r\n isModalOpen: boolean;\r\n /** Optional. Content of the ModalDialog. */\r\n children?: React.ReactNode;\r\n /** Optional. Title of the ModalDialog. */\r\n title?: string | React.ReactNode;\r\n /** Optional. Content of the image to be shown in the header of the modal. */\r\n topImage?: any;\r\n /** Optional. Serves same purpose as 'topImage' except adds support for fallback options. Has higher priority than 'topImage'. */\r\n topImageWithFallbacksProps?: ImageWithFallbacksProps;\r\n /** Optional. If flag is set then overlay is added that converts image to grey color. */\r\n topImageGrayscale?: boolean;\r\n /** Optional. Collection of Buttons that will be shown in the footer on the right side of the ModalDialog. */\r\n buttons?: ButtonAction[];\r\n /** Optional. Left footer action that will be shown on the left side of the footer of ModalDialog. Can be a hyperlink, button or a note. */\r\n leftFooterAction?: LeftFooterAction;\r\n /** Optional. Tooltip that will be shown */\r\n tooltip?: string;\r\n /** */\r\n backButton?: () => void;\r\n closeAction: () => void;\r\n hideCloseButton?: boolean;\r\n submitAction: (event?: React.FormEvent<HTMLFormElement> | undefined) => void;\r\n note?: string | React.ReactNode;\r\n state?: string;\r\n icon?: React.ReactNode;\r\n zIndex?: number;\r\n contentOverflow?: string;\r\n width?: string;\r\n hasContentBorders?: boolean;\r\n shouldCloseOnOverlayClick?: boolean;\r\n}\r\n\r\nexport const ModalDialog: React.FunctionComponent<ModalDialogProps> = ({\r\n size,\r\n isModalOpen,\r\n title,\r\n topImage,\r\n topImageWithFallbacksProps,\r\n topImageGrayscale,\r\n buttons,\r\n leftFooterAction,\r\n backButton,\r\n closeAction,\r\n submitAction,\r\n tooltip,\r\n children,\r\n note,\r\n shouldCloseOnOverlayClick,\r\n state,\r\n icon,\r\n zIndex,\r\n contentOverflow,\r\n hideCloseButton,\r\n width,\r\n hasContentBorders,\r\n}) => {\r\n\r\n const theme = useTheme();\r\n const getMinWidth = () => {\r\n switch (size) {\r\n case Size.Small:\r\n return '320px';\r\n case Size.Large:\r\n return '640px';\r\n case Size.Medium:\r\n default:\r\n return '480px';\r\n }\r\n };\r\n\r\n const getMaxWidth = () => {\r\n switch (size) {\r\n case Size.Small:\r\n return '480px';\r\n case Size.Large:\r\n return '720px';\r\n case Size.Medium:\r\n default:\r\n return '640px';\r\n }\r\n };\r\n\r\n const getImageHeight = () => {\r\n switch (size) {\r\n case Size.Small:\r\n return 160;\r\n case Size.Medium:\r\n return 200;\r\n case Size.Large:\r\n return 240;\r\n default:\r\n return 200;\r\n }\r\n };\r\n\r\n const getMarginBottom = () => {\r\n switch (size) {\r\n case Size.Small:\r\n return '16px';\r\n case Size.Medium:\r\n return '24px';\r\n case Size.Large:\r\n return '32px';\r\n default:\r\n return '24px';\r\n }\r\n };\r\n\r\n const getPadding = () => {\r\n switch (size) {\r\n case Size.Small:\r\n return '16px 16px 8px';\r\n case Size.Medium:\r\n return '24px 24px 20px';\r\n case Size.Large:\r\n return '32px';\r\n default:\r\n return '24px 24px 16px';\r\n }\r\n };\r\n\r\n const getMaxHeight = () => {\r\n switch (size) {\r\n case Size.Small:\r\n return 'calc(100vh - 56px)';\r\n case Size.Medium:\r\n return 'calc(100vh - 76px)';\r\n case Size.Large:\r\n return 'calc(100vh - 96px)';\r\n default:\r\n return 'calc(100vh - 72px)';\r\n }\r\n };\r\n\r\n const ModalTitle = (title: string | React.ReactNode, size?: Size) => {\r\n if (typeof title === 'string') {\r\n switch (size) {\r\n case Size.Small:\r\n return <ComponentM textStyle={ComponentTextStyle.Bold}>{title}</ComponentM>;\r\n case Size.Medium:\r\n return <ComponentL textStyle={ComponentTextStyle.Bold}>{title}</ComponentL>;\r\n case Size.Large:\r\n return <ComponentXL textStyle={ComponentTextStyle.Bold}>{title}</ComponentXL>;\r\n default:\r\n return <ComponentL textStyle={ComponentTextStyle.Bold}>{title}</ComponentL>;\r\n }\r\n } else {\r\n return title;\r\n }\r\n };\r\n\r\n const ModalTootip = (tooltip: string) => {\r\n return (\r\n <ModalHoverModifier>\r\n <TooltipWrapper delay=\"0s\" size={Size.XSmall} align=\"center\" position=\"top\" withArrow={false} label={tooltip}>\r\n <IconButton variant=\"secondary\" shape=\"circular\" action={() => {}}>\r\n <SystemIcons.Help size=\"24px\" color={COLORS.generateToken({componentType:'icon', defaultVariant:'subtle'}, theme)} />\r\n </IconButton>\r\n </TooltipWrapper>\r\n </ModalHoverModifier>\r\n );\r\n };\r\n\r\n const ModalCloseButton = (onClick: any) => {\r\n return (\r\n <CloseButtonWrapper $hasImage={!!topImage || !!topImageWithFallbacksProps} $size={size}>\r\n <IconButton variant=\"secondary\" shape=\"circular\" action={() => onClick()} borderRadius={48}>\r\n <SystemIcons.Close size=\"24px\" color={COLORS.generateToken({componentType:'icon', defaultVariant:'subtle'}, theme)} />\r\n </IconButton>\r\n </CloseButtonWrapper>\r\n );\r\n };\r\n\r\n const ModalBackButton = () => {\r\n if (backButton) {\r\n return (\r\n <BackButtonWrapper $hasImage={!!topImage || !!topImageWithFallbacksProps} $size={size}>\r\n <IconButton variant=\"secondary\" shape=\"circular\" action={() => backButton()} borderRadius={48}>\r\n <SystemIcons.ArrowLineLeft size=\"24px\" color={COLORS.generateToken({componentType:'icon', defaultVariant:'subtle'}, theme)} />\r\n </IconButton>\r\n </BackButtonWrapper>\r\n );\r\n }\r\n };\r\n\r\n const getLeftActionIconElement = (icon: React.ReactNode) => {\r\n return React.cloneElement(icon as React.ReactElement<any>, { size: size === Size.Small ? '20px' : size === Size.Large ? '28px' : '24px' });\r\n };\r\n\r\n const LeftFooterAction = (leftFooterAction: LeftFooterAction) => {\r\n const { text, actionType, disabled, icon, action } = leftFooterAction;\r\n switch (actionType) {\r\n case 'button':\r\n const button = leftFooterAction as LeftFooterButton;\r\n return (\r\n <TextButton\r\n id={'left-action-button'}\r\n type={button?.type}\r\n disabled={disabled}\r\n loading={button?.loading}\r\n icon={icon}\r\n size={size}\r\n onClick={action}\r\n variant={button?.variant ?? 'secondary'}\r\n style={{ order: -1, marginRight: 'auto' }}>\r\n {button?.children ?? button?.text}\r\n </TextButton>\r\n );\r\n case 'hyperlink':\r\n return (\r\n <HyperLink\r\n id=\"left-action-hyperlink\"\r\n className=\"footer-action\"\r\n href={(leftFooterAction as LeftFooterHyperlink).href}\r\n disabled={disabled}\r\n variant=\"default\"\r\n onClick={(e) => {\r\n if (action) {\r\n e.preventDefault();\r\n action(e);\r\n }\r\n }}>\r\n {text}\r\n {icon && getLeftActionIconElement(icon)}\r\n </HyperLink>\r\n );\r\n case 'note':\r\n return (\r\n <div className=\"footer-action note\">\r\n {icon && getLeftActionIconElement(icon)}\r\n <span>{text}</span>\r\n </div>\r\n );\r\n }\r\n };\r\n\r\n return (\r\n <ModalContainer\r\n showModal={isModalOpen}\r\n closeModal={closeAction}\r\n minWidth={getMinWidth()}\r\n shouldCloseOnOverlayClick={shouldCloseOnOverlayClick}\r\n maxWidth={getMaxWidth()}\r\n height=\"auto\"\r\n padding={getPadding()}\r\n zIndex={zIndex}\r\n width={width}>\r\n <Column>\r\n <form onSubmit={submitAction} style={{ display: 'flex', flexDirection: 'column', maxHeight: getMaxHeight() }}>\r\n {(topImage || topImageWithFallbacksProps) && (\r\n <StyledModalHeader $size={size} $height={getImageHeight()} $marginBottom={getMarginBottom()}>\r\n <ImageContainer $height={getImageHeight()}>\r\n {topImageGrayscale && <ImageOverlay $height={getImageHeight()} />}\r\n {topImage && <img src={topImage} alt=\"Modal top\" />}\r\n {!topImage && topImageWithFallbacksProps && (\r\n <ImageWithFallbacks\r\n loader={topImageWithFallbacksProps.loader}\r\n alt={topImageWithFallbacksProps.alt}\r\n fallbacks={topImageWithFallbacksProps.fallbacks}\r\n src={topImageWithFallbacksProps.src}\r\n />\r\n )}\r\n </ImageContainer>\r\n <ModalHeaderActionsWithImage $hasBackButton={!!backButton}>\r\n {ModalBackButton()}\r\n {!hideCloseButton && ModalCloseButton(closeAction)}\r\n </ModalHeaderActionsWithImage>\r\n </StyledModalHeader>\r\n )}\r\n <ModalTitleSection>\r\n <FlexContainer>\r\n {!(topImage || topImageWithFallbacksProps) && ModalBackButton()}\r\n {title && ModalTitle(title, size)}\r\n </FlexContainer>\r\n {(tooltip || !(topImage || topImageWithFallbacksProps)) && (\r\n <ModalHeaderActions>\r\n {tooltip && ModalTootip(tooltip)}\r\n {!(topImage || topImageWithFallbacksProps || hideCloseButton) && ModalCloseButton(closeAction)}\r\n </ModalHeaderActions>\r\n )}\r\n </ModalTitleSection>\r\n\r\n <ModalBody $size={size} $overflow={contentOverflow} $hasContentBorders={hasContentBorders}>\r\n {children}\r\n </ModalBody>\r\n\r\n {note && <ModalNote note={note} state={state} size={size} icon={icon} />}\r\n\r\n <ModalFooter $size={size}>\r\n {leftFooterAction && LeftFooterAction(leftFooterAction)}\r\n {buttons?.map((b, i) => (\r\n <TextButton key={b.id || i} icon={b.icon} id={b.id} disabled={b.disabled} loading={b.loading} size={size} onClick={b.action} type={b.type} variant={b.variant}>\r\n {b.children ?? b.text}\r\n </TextButton>\r\n ))}\r\n </ModalFooter>\r\n </form>\r\n </Column>\r\n </ModalContainer>\r\n );\r\n};\r\n\r\nexport default ModalDialog;\r\n"],"mappings":"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","ignoreList":[]}
@@ -25,8 +25,6 @@ export interface ModalDialogProps {
25
25
  tooltip?: string;
26
26
  /** */
27
27
  backButton?: () => void;
28
- className?: string;
29
- id?: string;
30
28
  closeAction: () => void;
31
29
  hideCloseButton?: boolean;
32
30
  submitAction: (event?: React.FormEvent<HTMLFormElement> | undefined) => void;
@@ -34,9 +34,7 @@ export const ModalDialog = _ref => {
34
34
  contentOverflow,
35
35
  hideCloseButton,
36
36
  width,
37
- hasContentBorders,
38
- className,
39
- id
37
+ hasContentBorders
40
38
  } = _ref;
41
39
  const theme = useTheme();
42
40
  const getMinWidth = () => {
@@ -257,8 +255,6 @@ export const ModalDialog = _ref => {
257
255
  }
258
256
  };
259
257
  return /*#__PURE__*/_jsx(ModalContainer, {
260
- className: className,
261
- id: id,
262
258
  showModal: isModalOpen,
263
259
  closeModal: closeAction,
264
260
  minWidth: getMinWidth(),
@@ -340,8 +336,6 @@ ModalDialog.propTypes = {
340
336
  buttons: _pt.array,
341
337
  tooltip: _pt.string,
342
338
  backButton: _pt.func,
343
- className: _pt.string,
344
- id: _pt.string,
345
339
  closeAction: _pt.func.isRequired,
346
340
  hideCloseButton: _pt.bool,
347
341
  submitAction: _pt.func.isRequired,
@@ -1 +1 @@
1
- {"version":3,"file":"ModalDialog.js","names":["React","TextButton","IconButton","SystemIcons","COLORS","ComponentL","ComponentM","ComponentTextStyle","ComponentXL","Size","ModalContainer","BackButtonWrapper","CloseButtonWrapper","Column","FlexContainer","ModalBody","ModalFooter","ModalHeaderActions","ModalHeaderActionsWithImage","ModalTitleSection","StyledModalHeader","ModalHoverModifier","ImageOverlay","ImageContainer","ModalNote","TooltipWrapper","HyperLink","ImageWithFallbacks","useTheme","jsx","_jsx","jsxs","_jsxs","ModalDialog","_ref","size","isModalOpen","title","topImage","topImageWithFallbacksProps","topImageGrayscale","buttons","leftFooterAction","backButton","closeAction","submitAction","tooltip","children","note","shouldCloseOnOverlayClick","state","icon","zIndex","contentOverflow","hideCloseButton","width","hasContentBorders","className","id","theme","getMinWidth","Small","Large","Medium","getMaxWidth","getImageHeight","getMarginBottom","getPadding","getMaxHeight","ModalTitle","textStyle","Bold","ModalTootip","delay","XSmall","align","position","withArrow","label","variant","shape","action","Help","color","generateToken","componentType","defaultVariant","ModalCloseButton","onClick","$hasImage","$size","borderRadius","Close","ModalBackButton","ArrowLineLeft","getLeftActionIconElement","cloneElement","LeftFooterAction","text","actionType","disabled","button","type","loading","style","order","marginRight","href","e","preventDefault","showModal","closeModal","minWidth","maxWidth","height","padding","onSubmit","display","flexDirection","maxHeight","$height","$marginBottom","src","alt","loader","fallbacks","$hasBackButton","$overflow","$hasContentBorders","map","b","i","propTypes","_pt","bool","isRequired","node","oneOfType","string","any","array","func","number"],"sources":["../../src/Modals/ModalDialog.tsx"],"sourcesContent":["import React from 'react';\r\nimport { TextButton, IconButton } from '../Button';\r\nimport { SystemIcons } from '../icons';\r\nimport { COLORS, ComponentL, ComponentM, ComponentTextStyle, ComponentXL } from '../styles';\r\nimport { Size } from '../types';\r\nimport ModalContainer from './ModalContainer';\r\nimport {\r\n BackButtonWrapper,\r\n CloseButtonWrapper,\r\n Column,\r\n FlexContainer,\r\n ModalBody,\r\n ModalFooter,\r\n ModalHeaderActions,\r\n ModalHeaderActionsWithImage,\r\n ModalTitleSection,\r\n StyledModalHeader,\r\n ModalHoverModifier,\r\n ImageOverlay,\r\n ImageContainer,\r\n} from './ModalStyles';\r\n\r\nimport { ModalNote } from './ModalNote';\r\nimport { TooltipWrapper } from '../Tooltips';\r\nimport { ButtonAction, LeftFooterAction, LeftFooterButton, LeftFooterHyperlink } from './ModalTypes';\r\nimport { HyperLink, ImageWithFallbacks } from '..';\r\nimport { ImageWithFallbacksProps } from '../Image/ImageWithFallbacks';\r\nimport { useTheme } from 'styled-components';\r\n\r\nexport interface ModalDialogProps {\r\n /** Optional. Size of the modal. Defaults to 'medium' */\r\n size?: Size.Small | Size.Medium | Size.Large;\r\n /** Required. Current state of the modal. */\r\n isModalOpen: boolean;\r\n /** Optional. Content of the ModalDialog. */\r\n children?: React.ReactNode;\r\n /** Optional. Title of the ModalDialog. */\r\n title?: string | React.ReactNode;\r\n /** Optional. Content of the image to be shown in the header of the modal. */\r\n topImage?: any;\r\n /** Optional. Serves same purpose as 'topImage' except adds support for fallback options. Has higher priority than 'topImage'. */\r\n topImageWithFallbacksProps?: ImageWithFallbacksProps;\r\n /** Optional. If flag is set then overlay is added that converts image to grey color. */\r\n topImageGrayscale?: boolean;\r\n /** Optional. Collection of Buttons that will be shown in the footer on the right side of the ModalDialog. */\r\n buttons?: ButtonAction[];\r\n /** Optional. Left footer action that will be shown on the left side of the footer of ModalDialog. Can be a hyperlink, button or a note. */\r\n leftFooterAction?: LeftFooterAction;\r\n /** Optional. Tooltip that will be shown */\r\n tooltip?: string;\r\n /** */\r\n backButton?: () => void;\r\n className?: string;\r\n id?: string;\r\n closeAction: () => void;\r\n hideCloseButton?: boolean;\r\n submitAction: (event?: React.FormEvent<HTMLFormElement> | undefined) => void;\r\n note?: string | React.ReactNode;\r\n state?: string;\r\n icon?: React.ReactNode;\r\n zIndex?: number;\r\n contentOverflow?: string;\r\n width?: string;\r\n hasContentBorders?: boolean;\r\n shouldCloseOnOverlayClick?: boolean;\r\n}\r\n\r\nexport const ModalDialog: React.FunctionComponent<ModalDialogProps> = ({\r\n size,\r\n isModalOpen,\r\n title,\r\n topImage,\r\n topImageWithFallbacksProps,\r\n topImageGrayscale,\r\n buttons,\r\n leftFooterAction,\r\n backButton,\r\n closeAction,\r\n submitAction,\r\n tooltip,\r\n children,\r\n note,\r\n shouldCloseOnOverlayClick,\r\n state,\r\n icon,\r\n zIndex,\r\n contentOverflow,\r\n hideCloseButton,\r\n width,\r\n hasContentBorders,\r\n className,\r\n id,\r\n}) => {\r\n\r\n const theme = useTheme();\r\n const getMinWidth = () => {\r\n switch (size) {\r\n case Size.Small:\r\n return '320px';\r\n case Size.Large:\r\n return '640px';\r\n case Size.Medium:\r\n default:\r\n return '480px';\r\n }\r\n };\r\n\r\n const getMaxWidth = () => {\r\n switch (size) {\r\n case Size.Small:\r\n return '480px';\r\n case Size.Large:\r\n return '720px';\r\n case Size.Medium:\r\n default:\r\n return '640px';\r\n }\r\n };\r\n\r\n const getImageHeight = () => {\r\n switch (size) {\r\n case Size.Small:\r\n return 160;\r\n case Size.Medium:\r\n return 200;\r\n case Size.Large:\r\n return 240;\r\n default:\r\n return 200;\r\n }\r\n };\r\n\r\n const getMarginBottom = () => {\r\n switch (size) {\r\n case Size.Small:\r\n return '16px';\r\n case Size.Medium:\r\n return '24px';\r\n case Size.Large:\r\n return '32px';\r\n default:\r\n return '24px';\r\n }\r\n };\r\n\r\n const getPadding = () => {\r\n switch (size) {\r\n case Size.Small:\r\n return '16px 16px 8px';\r\n case Size.Medium:\r\n return '24px 24px 20px';\r\n case Size.Large:\r\n return '32px';\r\n default:\r\n return '24px 24px 16px';\r\n }\r\n };\r\n\r\n const getMaxHeight = () => {\r\n switch (size) {\r\n case Size.Small:\r\n return 'calc(100vh - 56px)';\r\n case Size.Medium:\r\n return 'calc(100vh - 76px)';\r\n case Size.Large:\r\n return 'calc(100vh - 96px)';\r\n default:\r\n return 'calc(100vh - 72px)';\r\n }\r\n };\r\n\r\n const ModalTitle = (title: string | React.ReactNode, size?: Size) => {\r\n if (typeof title === 'string') {\r\n switch (size) {\r\n case Size.Small:\r\n return <ComponentM textStyle={ComponentTextStyle.Bold}>{title}</ComponentM>;\r\n case Size.Medium:\r\n return <ComponentL textStyle={ComponentTextStyle.Bold}>{title}</ComponentL>;\r\n case Size.Large:\r\n return <ComponentXL textStyle={ComponentTextStyle.Bold}>{title}</ComponentXL>;\r\n default:\r\n return <ComponentL textStyle={ComponentTextStyle.Bold}>{title}</ComponentL>;\r\n }\r\n } else {\r\n return title;\r\n }\r\n };\r\n\r\n const ModalTootip = (tooltip: string) => {\r\n return (\r\n <ModalHoverModifier>\r\n <TooltipWrapper delay=\"0s\" size={Size.XSmall} align=\"center\" position=\"top\" withArrow={false} label={tooltip}>\r\n <IconButton variant=\"secondary\" shape=\"circular\" action={() => {}}>\r\n <SystemIcons.Help size=\"24px\" color={COLORS.generateToken({componentType:'icon', defaultVariant:'subtle'}, theme)} />\r\n </IconButton>\r\n </TooltipWrapper>\r\n </ModalHoverModifier>\r\n );\r\n };\r\n\r\n const ModalCloseButton = (onClick: any) => {\r\n return (\r\n <CloseButtonWrapper $hasImage={!!topImage || !!topImageWithFallbacksProps} $size={size}>\r\n <IconButton variant=\"secondary\" shape=\"circular\" action={() => onClick()} borderRadius={48}>\r\n <SystemIcons.Close size=\"24px\" color={COLORS.generateToken({componentType:'icon', defaultVariant:'subtle'}, theme)} />\r\n </IconButton>\r\n </CloseButtonWrapper>\r\n );\r\n };\r\n\r\n const ModalBackButton = () => {\r\n if (backButton) {\r\n return (\r\n <BackButtonWrapper $hasImage={!!topImage || !!topImageWithFallbacksProps} $size={size}>\r\n <IconButton variant=\"secondary\" shape=\"circular\" action={() => backButton()} borderRadius={48}>\r\n <SystemIcons.ArrowLineLeft size=\"24px\" color={COLORS.generateToken({componentType:'icon', defaultVariant:'subtle'}, theme)} />\r\n </IconButton>\r\n </BackButtonWrapper>\r\n );\r\n }\r\n };\r\n\r\n const getLeftActionIconElement = (icon: React.ReactNode) => {\r\n return React.cloneElement(icon as React.ReactElement<any>, { size: size === Size.Small ? '20px' : size === Size.Large ? '28px' : '24px' });\r\n };\r\n\r\n const LeftFooterAction = (leftFooterAction: LeftFooterAction) => {\r\n const { text, actionType, disabled, icon, action } = leftFooterAction;\r\n switch (actionType) {\r\n case 'button':\r\n const button = leftFooterAction as LeftFooterButton;\r\n return (\r\n <TextButton\r\n id={'left-action-button'}\r\n type={button?.type}\r\n disabled={disabled}\r\n loading={button?.loading}\r\n icon={icon}\r\n size={size}\r\n onClick={action}\r\n variant={button?.variant ?? 'secondary'}\r\n style={{ order: -1, marginRight: 'auto' }}>\r\n {button?.children ?? button?.text}\r\n </TextButton>\r\n );\r\n case 'hyperlink':\r\n return (\r\n <HyperLink\r\n id=\"left-action-hyperlink\"\r\n className=\"footer-action\"\r\n href={(leftFooterAction as LeftFooterHyperlink).href}\r\n disabled={disabled}\r\n variant=\"default\"\r\n onClick={(e) => {\r\n if (action) {\r\n e.preventDefault();\r\n action(e);\r\n }\r\n }}>\r\n {text}\r\n {icon && getLeftActionIconElement(icon)}\r\n </HyperLink>\r\n );\r\n case 'note':\r\n return (\r\n <div className=\"footer-action note\">\r\n {icon && getLeftActionIconElement(icon)}\r\n <span>{text}</span>\r\n </div>\r\n );\r\n }\r\n };\r\n\r\n return (\r\n <ModalContainer\r\n className={className}\r\n id={id}\r\n showModal={isModalOpen}\r\n closeModal={closeAction}\r\n minWidth={getMinWidth()}\r\n shouldCloseOnOverlayClick={shouldCloseOnOverlayClick}\r\n maxWidth={getMaxWidth()}\r\n height=\"auto\"\r\n padding={getPadding()}\r\n zIndex={zIndex}\r\n width={width}>\r\n <Column>\r\n <form onSubmit={submitAction} style={{ display: 'flex', flexDirection: 'column', maxHeight: getMaxHeight() }}>\r\n {(topImage || topImageWithFallbacksProps) && (\r\n <StyledModalHeader $size={size} $height={getImageHeight()} $marginBottom={getMarginBottom()}>\r\n <ImageContainer $height={getImageHeight()}>\r\n {topImageGrayscale && <ImageOverlay $height={getImageHeight()} />}\r\n {topImage && <img src={topImage} alt=\"Modal top\" />}\r\n {!topImage && topImageWithFallbacksProps && (\r\n <ImageWithFallbacks\r\n loader={topImageWithFallbacksProps.loader}\r\n alt={topImageWithFallbacksProps.alt}\r\n fallbacks={topImageWithFallbacksProps.fallbacks}\r\n src={topImageWithFallbacksProps.src}\r\n />\r\n )}\r\n </ImageContainer>\r\n <ModalHeaderActionsWithImage $hasBackButton={!!backButton}>\r\n {ModalBackButton()}\r\n {!hideCloseButton && ModalCloseButton(closeAction)}\r\n </ModalHeaderActionsWithImage>\r\n </StyledModalHeader>\r\n )}\r\n <ModalTitleSection>\r\n <FlexContainer>\r\n {!(topImage || topImageWithFallbacksProps) && ModalBackButton()}\r\n {title && ModalTitle(title, size)}\r\n </FlexContainer>\r\n {(tooltip || !(topImage || topImageWithFallbacksProps)) && (\r\n <ModalHeaderActions>\r\n {tooltip && ModalTootip(tooltip)}\r\n {!(topImage || topImageWithFallbacksProps || hideCloseButton) && ModalCloseButton(closeAction)}\r\n </ModalHeaderActions>\r\n )}\r\n </ModalTitleSection>\r\n\r\n <ModalBody $size={size} $overflow={contentOverflow} $hasContentBorders={hasContentBorders}>\r\n {children}\r\n </ModalBody>\r\n\r\n {note && <ModalNote note={note} state={state} size={size} icon={icon} />}\r\n\r\n <ModalFooter $size={size}>\r\n {leftFooterAction && LeftFooterAction(leftFooterAction)}\r\n {buttons?.map((b, i) => (\r\n <TextButton key={b.id || i} icon={b.icon} id={b.id} disabled={b.disabled} loading={b.loading} size={size} onClick={b.action} type={b.type} variant={b.variant}>\r\n {b.children ?? b.text}\r\n </TextButton>\r\n ))}\r\n </ModalFooter>\r\n </form>\r\n </Column>\r\n </ModalContainer>\r\n );\r\n};\r\n\r\nexport default ModalDialog;\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ModalDialog.js","names":["React","TextButton","IconButton","SystemIcons","COLORS","ComponentL","ComponentM","ComponentTextStyle","ComponentXL","Size","ModalContainer","BackButtonWrapper","CloseButtonWrapper","Column","FlexContainer","ModalBody","ModalFooter","ModalHeaderActions","ModalHeaderActionsWithImage","ModalTitleSection","StyledModalHeader","ModalHoverModifier","ImageOverlay","ImageContainer","ModalNote","TooltipWrapper","HyperLink","ImageWithFallbacks","useTheme","jsx","_jsx","jsxs","_jsxs","ModalDialog","_ref","size","isModalOpen","title","topImage","topImageWithFallbacksProps","topImageGrayscale","buttons","leftFooterAction","backButton","closeAction","submitAction","tooltip","children","note","shouldCloseOnOverlayClick","state","icon","zIndex","contentOverflow","hideCloseButton","width","hasContentBorders","theme","getMinWidth","Small","Large","Medium","getMaxWidth","getImageHeight","getMarginBottom","getPadding","getMaxHeight","ModalTitle","textStyle","Bold","ModalTootip","delay","XSmall","align","position","withArrow","label","variant","shape","action","Help","color","generateToken","componentType","defaultVariant","ModalCloseButton","onClick","$hasImage","$size","borderRadius","Close","ModalBackButton","ArrowLineLeft","getLeftActionIconElement","cloneElement","LeftFooterAction","text","actionType","disabled","button","id","type","loading","style","order","marginRight","className","href","e","preventDefault","showModal","closeModal","minWidth","maxWidth","height","padding","onSubmit","display","flexDirection","maxHeight","$height","$marginBottom","src","alt","loader","fallbacks","$hasBackButton","$overflow","$hasContentBorders","map","b","i","propTypes","_pt","bool","isRequired","node","oneOfType","string","any","array","func","number"],"sources":["../../src/Modals/ModalDialog.tsx"],"sourcesContent":["import React from 'react';\r\nimport { TextButton, IconButton } from '../Button';\r\nimport { SystemIcons } from '../icons';\r\nimport { COLORS, ComponentL, ComponentM, ComponentTextStyle, ComponentXL } from '../styles';\r\nimport { Size } from '../types';\r\nimport ModalContainer from './ModalContainer';\r\nimport {\r\n BackButtonWrapper,\r\n CloseButtonWrapper,\r\n Column,\r\n FlexContainer,\r\n ModalBody,\r\n ModalFooter,\r\n ModalHeaderActions,\r\n ModalHeaderActionsWithImage,\r\n ModalTitleSection,\r\n StyledModalHeader,\r\n ModalHoverModifier,\r\n ImageOverlay,\r\n ImageContainer,\r\n} from './ModalStyles';\r\n\r\nimport { ModalNote } from './ModalNote';\r\nimport { TooltipWrapper } from '../Tooltips';\r\nimport { ButtonAction, LeftFooterAction, LeftFooterButton, LeftFooterHyperlink } from './ModalTypes';\r\nimport { HyperLink, ImageWithFallbacks } from '..';\r\nimport { ImageWithFallbacksProps } from '../Image/ImageWithFallbacks';\r\nimport { useTheme } from 'styled-components';\r\n\r\nexport interface ModalDialogProps {\r\n /** Optional. Size of the modal. Defaults to 'medium' */\r\n size?: Size.Small | Size.Medium | Size.Large;\r\n /** Required. Current state of the modal. */\r\n isModalOpen: boolean;\r\n /** Optional. Content of the ModalDialog. */\r\n children?: React.ReactNode;\r\n /** Optional. Title of the ModalDialog. */\r\n title?: string | React.ReactNode;\r\n /** Optional. Content of the image to be shown in the header of the modal. */\r\n topImage?: any;\r\n /** Optional. Serves same purpose as 'topImage' except adds support for fallback options. Has higher priority than 'topImage'. */\r\n topImageWithFallbacksProps?: ImageWithFallbacksProps;\r\n /** Optional. If flag is set then overlay is added that converts image to grey color. */\r\n topImageGrayscale?: boolean;\r\n /** Optional. Collection of Buttons that will be shown in the footer on the right side of the ModalDialog. */\r\n buttons?: ButtonAction[];\r\n /** Optional. Left footer action that will be shown on the left side of the footer of ModalDialog. Can be a hyperlink, button or a note. */\r\n leftFooterAction?: LeftFooterAction;\r\n /** Optional. Tooltip that will be shown */\r\n tooltip?: string;\r\n /** */\r\n backButton?: () => void;\r\n closeAction: () => void;\r\n hideCloseButton?: boolean;\r\n submitAction: (event?: React.FormEvent<HTMLFormElement> | undefined) => void;\r\n note?: string | React.ReactNode;\r\n state?: string;\r\n icon?: React.ReactNode;\r\n zIndex?: number;\r\n contentOverflow?: string;\r\n width?: string;\r\n hasContentBorders?: boolean;\r\n shouldCloseOnOverlayClick?: boolean;\r\n}\r\n\r\nexport const ModalDialog: React.FunctionComponent<ModalDialogProps> = ({\r\n size,\r\n isModalOpen,\r\n title,\r\n topImage,\r\n topImageWithFallbacksProps,\r\n topImageGrayscale,\r\n buttons,\r\n leftFooterAction,\r\n backButton,\r\n closeAction,\r\n submitAction,\r\n tooltip,\r\n children,\r\n note,\r\n shouldCloseOnOverlayClick,\r\n state,\r\n icon,\r\n zIndex,\r\n contentOverflow,\r\n hideCloseButton,\r\n width,\r\n hasContentBorders,\r\n}) => {\r\n\r\n const theme = useTheme();\r\n const getMinWidth = () => {\r\n switch (size) {\r\n case Size.Small:\r\n return '320px';\r\n case Size.Large:\r\n return '640px';\r\n case Size.Medium:\r\n default:\r\n return '480px';\r\n }\r\n };\r\n\r\n const getMaxWidth = () => {\r\n switch (size) {\r\n case Size.Small:\r\n return '480px';\r\n case Size.Large:\r\n return '720px';\r\n case Size.Medium:\r\n default:\r\n return '640px';\r\n }\r\n };\r\n\r\n const getImageHeight = () => {\r\n switch (size) {\r\n case Size.Small:\r\n return 160;\r\n case Size.Medium:\r\n return 200;\r\n case Size.Large:\r\n return 240;\r\n default:\r\n return 200;\r\n }\r\n };\r\n\r\n const getMarginBottom = () => {\r\n switch (size) {\r\n case Size.Small:\r\n return '16px';\r\n case Size.Medium:\r\n return '24px';\r\n case Size.Large:\r\n return '32px';\r\n default:\r\n return '24px';\r\n }\r\n };\r\n\r\n const getPadding = () => {\r\n switch (size) {\r\n case Size.Small:\r\n return '16px 16px 8px';\r\n case Size.Medium:\r\n return '24px 24px 20px';\r\n case Size.Large:\r\n return '32px';\r\n default:\r\n return '24px 24px 16px';\r\n }\r\n };\r\n\r\n const getMaxHeight = () => {\r\n switch (size) {\r\n case Size.Small:\r\n return 'calc(100vh - 56px)';\r\n case Size.Medium:\r\n return 'calc(100vh - 76px)';\r\n case Size.Large:\r\n return 'calc(100vh - 96px)';\r\n default:\r\n return 'calc(100vh - 72px)';\r\n }\r\n };\r\n\r\n const ModalTitle = (title: string | React.ReactNode, size?: Size) => {\r\n if (typeof title === 'string') {\r\n switch (size) {\r\n case Size.Small:\r\n return <ComponentM textStyle={ComponentTextStyle.Bold}>{title}</ComponentM>;\r\n case Size.Medium:\r\n return <ComponentL textStyle={ComponentTextStyle.Bold}>{title}</ComponentL>;\r\n case Size.Large:\r\n return <ComponentXL textStyle={ComponentTextStyle.Bold}>{title}</ComponentXL>;\r\n default:\r\n return <ComponentL textStyle={ComponentTextStyle.Bold}>{title}</ComponentL>;\r\n }\r\n } else {\r\n return title;\r\n }\r\n };\r\n\r\n const ModalTootip = (tooltip: string) => {\r\n return (\r\n <ModalHoverModifier>\r\n <TooltipWrapper delay=\"0s\" size={Size.XSmall} align=\"center\" position=\"top\" withArrow={false} label={tooltip}>\r\n <IconButton variant=\"secondary\" shape=\"circular\" action={() => {}}>\r\n <SystemIcons.Help size=\"24px\" color={COLORS.generateToken({componentType:'icon', defaultVariant:'subtle'}, theme)} />\r\n </IconButton>\r\n </TooltipWrapper>\r\n </ModalHoverModifier>\r\n );\r\n };\r\n\r\n const ModalCloseButton = (onClick: any) => {\r\n return (\r\n <CloseButtonWrapper $hasImage={!!topImage || !!topImageWithFallbacksProps} $size={size}>\r\n <IconButton variant=\"secondary\" shape=\"circular\" action={() => onClick()} borderRadius={48}>\r\n <SystemIcons.Close size=\"24px\" color={COLORS.generateToken({componentType:'icon', defaultVariant:'subtle'}, theme)} />\r\n </IconButton>\r\n </CloseButtonWrapper>\r\n );\r\n };\r\n\r\n const ModalBackButton = () => {\r\n if (backButton) {\r\n return (\r\n <BackButtonWrapper $hasImage={!!topImage || !!topImageWithFallbacksProps} $size={size}>\r\n <IconButton variant=\"secondary\" shape=\"circular\" action={() => backButton()} borderRadius={48}>\r\n <SystemIcons.ArrowLineLeft size=\"24px\" color={COLORS.generateToken({componentType:'icon', defaultVariant:'subtle'}, theme)} />\r\n </IconButton>\r\n </BackButtonWrapper>\r\n );\r\n }\r\n };\r\n\r\n const getLeftActionIconElement = (icon: React.ReactNode) => {\r\n return React.cloneElement(icon as React.ReactElement<any>, { size: size === Size.Small ? '20px' : size === Size.Large ? '28px' : '24px' });\r\n };\r\n\r\n const LeftFooterAction = (leftFooterAction: LeftFooterAction) => {\r\n const { text, actionType, disabled, icon, action } = leftFooterAction;\r\n switch (actionType) {\r\n case 'button':\r\n const button = leftFooterAction as LeftFooterButton;\r\n return (\r\n <TextButton\r\n id={'left-action-button'}\r\n type={button?.type}\r\n disabled={disabled}\r\n loading={button?.loading}\r\n icon={icon}\r\n size={size}\r\n onClick={action}\r\n variant={button?.variant ?? 'secondary'}\r\n style={{ order: -1, marginRight: 'auto' }}>\r\n {button?.children ?? button?.text}\r\n </TextButton>\r\n );\r\n case 'hyperlink':\r\n return (\r\n <HyperLink\r\n id=\"left-action-hyperlink\"\r\n className=\"footer-action\"\r\n href={(leftFooterAction as LeftFooterHyperlink).href}\r\n disabled={disabled}\r\n variant=\"default\"\r\n onClick={(e) => {\r\n if (action) {\r\n e.preventDefault();\r\n action(e);\r\n }\r\n }}>\r\n {text}\r\n {icon && getLeftActionIconElement(icon)}\r\n </HyperLink>\r\n );\r\n case 'note':\r\n return (\r\n <div className=\"footer-action note\">\r\n {icon && getLeftActionIconElement(icon)}\r\n <span>{text}</span>\r\n </div>\r\n );\r\n }\r\n };\r\n\r\n return (\r\n <ModalContainer\r\n showModal={isModalOpen}\r\n closeModal={closeAction}\r\n minWidth={getMinWidth()}\r\n shouldCloseOnOverlayClick={shouldCloseOnOverlayClick}\r\n maxWidth={getMaxWidth()}\r\n height=\"auto\"\r\n padding={getPadding()}\r\n zIndex={zIndex}\r\n width={width}>\r\n <Column>\r\n <form onSubmit={submitAction} style={{ display: 'flex', flexDirection: 'column', maxHeight: getMaxHeight() }}>\r\n {(topImage || topImageWithFallbacksProps) && (\r\n <StyledModalHeader $size={size} $height={getImageHeight()} $marginBottom={getMarginBottom()}>\r\n <ImageContainer $height={getImageHeight()}>\r\n {topImageGrayscale && <ImageOverlay $height={getImageHeight()} />}\r\n {topImage && <img src={topImage} alt=\"Modal top\" />}\r\n {!topImage && topImageWithFallbacksProps && (\r\n <ImageWithFallbacks\r\n loader={topImageWithFallbacksProps.loader}\r\n alt={topImageWithFallbacksProps.alt}\r\n fallbacks={topImageWithFallbacksProps.fallbacks}\r\n src={topImageWithFallbacksProps.src}\r\n />\r\n )}\r\n </ImageContainer>\r\n <ModalHeaderActionsWithImage $hasBackButton={!!backButton}>\r\n {ModalBackButton()}\r\n {!hideCloseButton && ModalCloseButton(closeAction)}\r\n </ModalHeaderActionsWithImage>\r\n </StyledModalHeader>\r\n )}\r\n <ModalTitleSection>\r\n <FlexContainer>\r\n {!(topImage || topImageWithFallbacksProps) && ModalBackButton()}\r\n {title && ModalTitle(title, size)}\r\n </FlexContainer>\r\n {(tooltip || !(topImage || topImageWithFallbacksProps)) && (\r\n <ModalHeaderActions>\r\n {tooltip && ModalTootip(tooltip)}\r\n {!(topImage || topImageWithFallbacksProps || hideCloseButton) && ModalCloseButton(closeAction)}\r\n </ModalHeaderActions>\r\n )}\r\n </ModalTitleSection>\r\n\r\n <ModalBody $size={size} $overflow={contentOverflow} $hasContentBorders={hasContentBorders}>\r\n {children}\r\n </ModalBody>\r\n\r\n {note && <ModalNote note={note} state={state} size={size} icon={icon} />}\r\n\r\n <ModalFooter $size={size}>\r\n {leftFooterAction && LeftFooterAction(leftFooterAction)}\r\n {buttons?.map((b, i) => (\r\n <TextButton key={b.id || i} icon={b.icon} id={b.id} disabled={b.disabled} loading={b.loading} size={size} onClick={b.action} type={b.type} variant={b.variant}>\r\n {b.children ?? b.text}\r\n </TextButton>\r\n ))}\r\n </ModalFooter>\r\n </form>\r\n </Column>\r\n </ModalContainer>\r\n );\r\n};\r\n\r\nexport default ModalDialog;\r\n"],"mappings":"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","ignoreList":[]}