{"version":3,"sources":["webpack:///./Scripts/Containers/Overlay.container.js"],"names":["connect","state","overlay","dispatch","closeOverlay","removeOverlay","componentName","activeOverlays","disableOverlayClick","overlayClasses","length","c","name","useEffect","classesToRemove","document","body","classList","remove","add","className","join","onClick","component","onOverlayClick"],"mappings":"k3CAyDeA,uBAbS,SAAAC,GACpB,cACOA,EAAMC,YAIU,SAAAC,GACvB,MAAO,CACHC,aAAcD,EAASC,eACvBC,cAAe,SAAAC,GAAa,OAAIH,EAASE,YAAcC,QAIhDN,EAnDU,SAAC,GAA2D,MAAzDO,EAAyD,EAAzDA,eAAgBF,EAAyC,EAAzCA,cAAeG,EAA0B,EAA1BA,oBAEjDC,EAAiBF,EAAiB,OAACA,EAAeG,OAAS,GAJ/C,YAImB,WAAmD,IAAAH,GAAc,KAAdA,GAAmB,SAAAI,GAAC,6BAJ1F,UAI0F,cAAyBA,EAAEC,WAAW,GAIlJC,qBAAU,WAAM,MAGsC,EAKF,EAN1CC,EAAkB,UAAWC,SAASC,KAAKC,YAAzB,QAA2C,SAAAN,GAAC,OAAI,IAAAA,GAAC,KAADA,EAV1D,uBAUyFA,KACpGG,GAAmBA,EAAgBJ,OAAS,IAC3C,EAAAK,SAASC,KAAKC,WAAUC,OAAxB,YAAkCJ,IAInCP,GAAkBA,EAAeG,OAAS,IACzC,EAAAK,SAASC,KAAKC,WAAUE,IAAxB,YAA+BV,MAGpC,CAACF,IAiBJ,OAAOA,GAAkBA,EAAeG,OAAS,GAAK,yBAAKU,UAAWX,EAAeY,KAAK,KAAMC,QAXzE,WACnB,IAAGd,EAAH,CADyB,UAGJD,GAHI,IAGzB,2BAAqC,KAA7BgB,EAA6B,QAC9BA,EAAUC,iBACTD,EAAUC,iBACVnB,EAAckB,EAAUX,QANP","file":"55.c48d78b0ea4175822383.js","sourcesContent":["import React, { useEffect } from \"react\"\r\nimport { connect } from \"react-redux\"\r\nimport { closeOverlay, removeOverlay } from \"../Actions/Overlay.action\"\r\n\r\nconst OVERLAY_CLASS = \"overlay\"\r\n\r\nconst OverlayContainer = ({ activeOverlays, removeOverlay, disableOverlayClick }) => {\r\n \r\n const overlayClasses = activeOverlays ? [activeOverlays.length > 0 && OVERLAY_CLASS, ...activeOverlays.map(c => `${OVERLAY_CLASS}--${c.name}`)] : []\r\n /**\r\n * Adds overlay classes to body to enable styling on components based on active overlays\r\n */\r\n useEffect(() => {\r\n // Remove all overlay classes that are not active anymore, before adding new\r\n const classesToRemove = Array.from(document.body.classList).filter(c => c.startsWith(OVERLAY_CLASS) || c == OVERLAY_CLASS)\r\n if(classesToRemove && classesToRemove.length > 0) {\r\n document.body.classList.remove(...classesToRemove)\r\n }\r\n\r\n // Add overlay classes to body\r\n if(activeOverlays && activeOverlays.length > 0) {\r\n document.body.classList.add(...overlayClasses)\r\n }\r\n \r\n }, [activeOverlays])\r\n\r\n /**\r\n * Removes all overlays.\r\n * Triggers onOverLay click on all active overlay components\r\n */\r\n const onOverlayClick = () => {\r\n if(disableOverlayClick) return;\r\n \r\n for(let component of activeOverlays) {\r\n if(component.onOverlayClick) {\r\n component.onOverlayClick()\r\n removeOverlay(component.name)\r\n }\r\n }\r\n }\r\n\r\n return activeOverlays && activeOverlays.length > 0 &&
\r\n}\r\n\r\nconst mapStateToProps = state => {\r\n return {\r\n ...state.overlay\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n closeOverlay: dispatch(closeOverlay()),\r\n removeOverlay: componentName => dispatch(removeOverlay(componentName))\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(OverlayContainer)"],"sourceRoot":""}