@laerdal/life-react-components 5.0.7-dev.5 → 5.0.7-dev.6

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.
@@ -130,6 +130,7 @@ var ModalContainer = /*#__PURE__*/function (_React$Component) {
130
130
  var styles = {
131
131
  content: stylesConfiguration
132
132
  };
133
+ _reactModal["default"].setAppElement('body');
133
134
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactModal["default"], {
134
135
  id: id,
135
136
  isOpen: showModal,
@@ -139,7 +140,6 @@ var ModalContainer = /*#__PURE__*/function (_React$Component) {
139
140
  },
140
141
  shouldCloseOnOverlayClick: shouldCloseOnOverlayClick,
141
142
  style: styles,
142
- appElement: document.getElementById('root') || undefined,
143
143
  children: children
144
144
  });
145
145
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ModalContainer.cjs","names":["React","_interopRequireWildcard","require","_reactModal","_interopRequireDefault","_styles","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","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","_createSuper","_isNativeReflectConstruct","_getPrototypeOf2","s","constructor","Reflect","construct","_possibleConstructorReturn2","Boolean","prototype","valueOf","ModalContainerStyles","content","top","left","right","bottom","marginRight","width","height","borderRadius","boxSizing","margin","overflow","boxShadow","BOXSHADOWS","BOXSHADOW_L3","modalTransitions","concat","Z_INDEXES","backdrop","modal","ModalContainer","_React$Component","_inherits2","_super","_classCallCheck2","_createClass2","key","value","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","_this$props","id","closeModal","children","_this$props$height","_this$props$width","_this$props$overflow","padding","_this$props$minWidth","minWidth","_this$props$maxWidth","maxWidth","_this$props$zIndex","zIndex","parseInt","_this$props$shouldClo","shouldCloseOnOverlayClick","zIndexValue","Math","min","max","toast","stylesConfiguration","assign","styles","jsx","isOpen","closeTimeoutMS","onRequestClose","appElement","getElementById","undefined","offset","openInstances","setState","body","position","state","scrollTo","Component","_propTypes","string","bool","isRequired","func","any","number","_default","exports"],"sources":["../../src/Modals/ModalContainer.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport ReactModal from 'react-modal';\r\nimport {BOXSHADOWS} from '../styles';\r\nimport {Z_INDEXES} from '../styles';\r\nimport styled, {keyframes} 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 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 });\r\n const styles = {content: stylesConfiguration};\r\n\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 appElement={document.getElementById('root') || undefined}>\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","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","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","_createSuper","_isNativeReflectConstruct","_getPrototypeOf2","s","constructor","Reflect","construct","_possibleConstructorReturn2","Boolean","prototype","valueOf","ModalContainerStyles","content","top","left","right","bottom","marginRight","width","height","borderRadius","boxSizing","margin","overflow","boxShadow","BOXSHADOWS","BOXSHADOW_L3","modalTransitions","concat","Z_INDEXES","backdrop","modal","ModalContainer","_React$Component","_inherits2","_super","_classCallCheck2","_createClass2","key","value","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","_this$props","id","closeModal","children","_this$props$height","_this$props$width","_this$props$overflow","padding","_this$props$minWidth","minWidth","_this$props$maxWidth","maxWidth","_this$props$zIndex","zIndex","parseInt","_this$props$shouldClo","shouldCloseOnOverlayClick","zIndexValue","Math","min","max","toast","stylesConfiguration","assign","styles","setAppElement","jsx","isOpen","closeTimeoutMS","onRequestClose","offset","openInstances","setState","body","position","state","scrollTo","Component","_propTypes","string","bool","isRequired","func","any","number","_default","exports"],"sources":["../../src/Modals/ModalContainer.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport ReactModal from 'react-modal';\r\nimport {BOXSHADOWS} from '../styles';\r\nimport {Z_INDEXES} from '../styles';\r\nimport styled, {keyframes} 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 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 });\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":[]}
@@ -121,6 +121,7 @@ var ModalContainer = /*#__PURE__*/function (_React$Component) {
121
121
  var styles = {
122
122
  content: stylesConfiguration
123
123
  };
124
+ ReactModal.setAppElement('body');
124
125
  return /*#__PURE__*/_jsx(ReactModal, {
125
126
  id: id,
126
127
  isOpen: showModal,
@@ -130,7 +131,6 @@ var ModalContainer = /*#__PURE__*/function (_React$Component) {
130
131
  },
131
132
  shouldCloseOnOverlayClick: shouldCloseOnOverlayClick,
132
133
  style: styles,
133
- appElement: document.getElementById('root') || undefined,
134
134
  children: children
135
135
  });
136
136
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ModalContainer.js","names":["React","ReactModal","BOXSHADOWS","Z_INDEXES","jsx","_jsx","ModalContainerStyles","content","top","left","right","bottom","marginRight","width","height","borderRadius","boxSizing","margin","overflow","boxShadow","BOXSHADOW_L3","modalTransitions","concat","backdrop","modal","ModalContainer","_React$Component","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","key","value","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","_this$props","id","closeModal","children","_this$props$height","_this$props$width","_this$props$overflow","padding","_this$props$minWidth","minWidth","_this$props$maxWidth","maxWidth","_this$props$zIndex","zIndex","parseInt","_this$props$shouldClo","shouldCloseOnOverlayClick","zIndexValue","Math","min","max","toast","stylesConfiguration","Object","assign","_objectSpread","styles","isOpen","closeTimeoutMS","onRequestClose","appElement","getElementById","undefined","offset","openInstances","setState","body","position","state","scrollTo","Component","_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} from '../styles';\r\nimport {Z_INDEXES} from '../styles';\r\nimport styled, {keyframes} 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 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 });\r\n const styles = {content: stylesConfiguration};\r\n\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 appElement={document.getElementById('root') || undefined}>\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","Z_INDEXES","jsx","_jsx","ModalContainerStyles","content","top","left","right","bottom","marginRight","width","height","borderRadius","boxSizing","margin","overflow","boxShadow","BOXSHADOW_L3","modalTransitions","concat","backdrop","modal","ModalContainer","_React$Component","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","key","value","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","_this$props","id","closeModal","children","_this$props$height","_this$props$width","_this$props$overflow","padding","_this$props$minWidth","minWidth","_this$props$maxWidth","maxWidth","_this$props$zIndex","zIndex","parseInt","_this$props$shouldClo","shouldCloseOnOverlayClick","zIndexValue","Math","min","max","toast","stylesConfiguration","Object","assign","_objectSpread","styles","setAppElement","isOpen","closeTimeoutMS","onRequestClose","offset","openInstances","setState","body","position","state","scrollTo","Component","_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} from '../styles';\r\nimport {Z_INDEXES} from '../styles';\r\nimport styled, {keyframes} 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 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 });\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":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@laerdal/life-react-components",
3
- "version": "5.0.7-dev.5",
3
+ "version": "5.0.7-dev.6",
4
4
  "private": false,
5
5
  "author": "Erik Martirosyan <erik.martirosyan@laerdal.com>",
6
6
  "contributors": [],