{"version":3,"file":"static/chunks/7857.3f407dd9166434f4.js","mappings":"2uBAQA,IAMMA,EAAAA,SAAAA,I,6KAuBFC,kBAAoB,WAChB,MAAwC,EAAKC,MAArCC,EAAR,EAAQA,QAAR,EAAiBC,oBAEbD,K,iEAzBR,SAAiCD,GAG7B,GAFsBA,EAAMG,SAAWC,KAAKJ,MAAMG,OAE/B,CACf,IAAME,EAAYC,SAASC,cAAc,QAAQF,UAE7CL,EAAMG,QACNE,EAAUG,IAAI,aACdH,EAAUG,IAAI,gBAEdH,EAAUI,OAAO,aACjBJ,EAAUI,OAAO,cAEjBC,QAAQC,aACJ,GACAL,SAASM,MACTC,OAAOC,SAASC,SAAWF,OAAOC,SAASE,Y,oBAa3D,WAAS,MACL,EAAmCZ,KAAKJ,MAAhCiB,EAAR,EAAQA,SAAUd,EAAlB,EAAkBA,OAAQe,EAA1B,EAA0BA,KAGpBC,EAxCI,SAACC,GAAD,aAAY,eACrBC,EAAAA,EAAAA,MAAeC,MADM,SAErBD,EAAAA,EAAAA,QAAiBE,KAFI,GAGxBH,GAqCiBI,CADDpB,KAAKqB,SAGbC,EAAUC,GAAAA,CAAWR,EAAM,OAAP,eACrBA,EAAO,UAAD,OAAWF,IAAcA,IADV,SAErBE,EAAO,iBAAmBhB,GAFL,IAK1B,OACI,gBAAKyB,UAAWF,EAASG,QAASzB,KAAKL,kBAAvC,WACOmB,GAAQf,KACP,2BACKC,KAAKJ,MAAM8B,UACZ,gBACIF,UAAWT,EAAM,WACjBU,QAASzB,KAAKJ,MAAMC,QAFxB,UAGI,SAAC8B,EAAA,EAAD,CAAKC,QAAQ,OAAOJ,UAAU,8B,EAjDpD9B,CAAcmC,EAAAA,eAmEpBnC,EAAMoC,aAAe,CACjBhB,MAAM,EACNhB,oBAAoB,EACpBD,QAAS,kBAAM,OAGnBH,EAAMqC,YAAcC,EAAAA,EAEpB,ICvFA,EDuFA,G,kBExFAC,EAAOC,QAAU,CAAC,MAAQ,6BAA6B,gBAAgB,qCAAqC,WAAa,oC,kBCAzHD,EAAOC,QAAU,CAAC,MAAQ,2BAA2B,gBAAgB,mCAAmC,WAAa","sources":["webpack://_N_E/./components/Modal/Modal.js","webpack://_N_E/./components/Modal/index.js","webpack://_N_E/./components/Modal/Modal.folkhem.module.scss","webpack://_N_E/./components/Modal/Modal.nordr.module.scss"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport Btn from '../Btn';\nimport { ThemeContext, themes } from '../../themes/ThemeContext';\nimport stylesNordr from './Modal.nordr.module.scss';\nimport stylesFolkhem from './Modal.folkhem.module.scss';\n\nconst getStyles = (theme) => ({\n [themes.NORDR]: stylesNordr,\n [themes.FOLKHEM]: stylesFolkhem,\n }[theme]\n);\n\nclass Modal extends React.PureComponent {\n UNSAFE_componentWillReceiveProps(props) {\n const activeChanged = props.active !== this.props.active;\n\n if (activeChanged) {\n const classList = document.querySelector('body').classList;\n\n if (props.active) {\n classList.add('no-scroll');\n classList.add('modal-open');\n } else {\n classList.remove('no-scroll');\n classList.remove('modal-open');\n\n history.replaceState(\n '',\n document.title,\n window.location.pathname + window.location.search\n );\n }\n }\n }\n\n handleBorderClick = () => {\n const { onClose, closeOnBorderClick } = this.props;\n if (closeOnBorderClick) {\n onClose();\n }\n };\n\n render() {\n const { modifier, active, lazy } = this.props;\n\n const theme = this.context;\n const styles = getStyles(theme);\n\n const classes = classNames(styles[\"Modal\"], {\n [styles[`Modal--${modifier}`]]: modifier,\n [styles[\"Modal--Active\"]]: active,\n });\n\n return (\n
\n {(!lazy || active) && (\n
\n {this.props.children}\n \n \n
\n
\n )}\n \n );\n }\n}\n\nModal.propTypes = {\n lazy: PropTypes.bool,\n active: PropTypes.bool,\n onClose: PropTypes.func,\n closeOnBorderClick: PropTypes.bool,\n modifier: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n};\n\nModal.defaultProps = {\n lazy: true,\n closeOnBorderClick: true,\n onClose: () => null,\n};\n\nModal.contextType = ThemeContext;\n\nexport default Modal;\n","import Modal from './Modal';\n\nexport default Modal;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Modal\":\"Modal_folkhem_Modal__bv4uA\",\"Modal--Active\":\"Modal_folkhem_Modal--Active___QXnt\",\"Modal__Btn\":\"Modal_folkhem_Modal__Btn__gXyXY\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Modal\":\"Modal_nordr_Modal__snWvD\",\"Modal--Active\":\"Modal_nordr_Modal--Active__ZKzHv\",\"Modal__Btn\":\"Modal_nordr_Modal__Btn__hk_BD\"};"],"names":["Modal","handleBorderClick","props","onClose","closeOnBorderClick","active","this","classList","document","querySelector","add","remove","history","replaceState","title","window","location","pathname","search","modifier","lazy","styles","theme","themes","stylesNordr","stylesFolkhem","getStyles","context","classes","classNames","className","onClick","children","Btn","element","React","defaultProps","contextType","ThemeContext","module","exports"],"sourceRoot":""}