{"version":3,"file":"Modal.js","names":["namespace","defaultConfig","animationDuration","parentElement","document","body","displayHeader","backdropClose","scrollLock","focusTrap","width","ariaDescribedby","ariaLabelledby","previouslyActiveElement","frameStyle","Modal","config","_","defaults","_modalRootEl","undefined","_modalBackdropEl","_modalFrameEl","_modalContentWrapEl","_modalCloseBtnEl","_deactivateTrap","isAnimating","isNotTheOnlyModalInTheVillage","querySelector","_htmlEl","_eventListeners","initScaffold","initEventListeners","createElement","$","addClass","style","display","header","frameInlineCss","html","_setYPosition","appendChild","topPos","maxHeight","window","innerHeight","maxWidth","top","initCloseEventListeners","on","throttle","bind","callback","_onCloseBtnClick","push","element","events","onBackdropCallback","_onBackdropClick","selector","callbackBtnEl","onClick","e","type","which","css","hide","Promise","resolve","reject","requestAnimationFrame","classList","add","_disableScroll","activateFocusTrap","setTimeout","remove","then","_enableScroll","forEach","off","parentNode","removeChild","firstChild"],"sources":["components/Modal.js"],"sourcesContent":["import _ from 'lodash';\r\nimport $ from 'jquery';\r\nimport activateFocusTrap from '../utils/focusTrap';\r\n\r\nconst namespace = 'ar-modal';\r\n\r\nvar defaultConfig = {\r\n animationDuration: 150,\r\n parentElement: document.body,\r\n displayHeader: true,\r\n backdropClose: true,\r\n scrollLock: true,\r\n focusTrap: false,\r\n width: 500,\r\n ariaDescribedby: null,\r\n ariaLabelledby: null,\r\n previouslyActiveElement: null,\r\n frameStyle: null,\r\n};\r\n\r\nexport class Modal {\r\n constructor(config) {\r\n this.config = _.defaults(config || {}, defaultConfig);\r\n this._modalRootEl = undefined;\r\n this._modalBackdropEl = undefined;\r\n this._modalFrameEl = undefined;\r\n this._modalContentWrapEl = undefined;\r\n this._modalCloseBtnEl = undefined;\r\n this._deactivateTrap = undefined;\r\n this.isAnimating = false;\r\n this.isNotTheOnlyModalInTheVillage = !!document.querySelector('.' + namespace);\r\n this._htmlEl = document.querySelector('html');\r\n this._eventListeners = [];\r\n }\r\n\r\n init() {\r\n this.initScaffold();\r\n this.initEventListeners();\r\n return this;\r\n }\r\n\r\n initScaffold() {\r\n this._modalRootEl = document.createElement('div');\r\n $(this._modalRootEl).addClass(namespace);\r\n this._modalRootEl.style.display = 'none';\r\n\r\n var header = `\r\n
\r\n \"\"\r\n \r\n
\r\n `;\r\n\r\n header = this.config.displayHeader ? header : '';\r\n var ariaLabelledby = this.config.ariaLabelledby\r\n ? `aria-labelledby=\"${this.config.ariaLabelledby}\"`\r\n : '';\r\n var ariaDescribedby = this.config.ariaDescribedby\r\n ? `aria-describedby=\"${this.config.ariaDescribedby}\"`\r\n : '';\r\n var frameInlineCss = this.config.frameStyle ? `style='${this.config.frameStyle}'` : '';\r\n\r\n $(this._modalRootEl).html(`\r\n
\r\n ${header}\r\n
\r\n
\r\n
\r\n `);\r\n\r\n this._modalBackdropEl = this._modalRootEl.querySelector(`.${namespace}-backdrop`);\r\n\r\n this._modalFrameEl = this._modalRootEl.querySelector(`.${namespace}-frame`);\r\n this._setYPosition();\r\n\r\n this._modalContentWrapEl = this._modalRootEl.querySelector(`.${namespace}-content-wrap`);\r\n this._modalCloseBtnEl = this._modalRootEl.querySelector(`.${namespace}-close-btn`);\r\n\r\n this.config.parentElement.appendChild(this._modalRootEl);\r\n }\r\n\r\n _setYPosition() {\r\n const topPos = 30;\r\n const maxHeight = window.innerHeight - topPos - 30;\r\n\r\n this._modalFrameEl.style.maxWidth = this.config.width + 'px';\r\n this._modalFrameEl.style.top = topPos + 'px';\r\n this._modalFrameEl.style.maxHeight = maxHeight + 'px';\r\n }\r\n\r\n initEventListeners() {\r\n this.initCloseEventListeners();\r\n $(window).on('resize', _.throttle(this._setYPosition.bind(this), 250));\r\n }\r\n\r\n /** @protected Inits events controlling closing the modal. Override for custom behavior */\r\n initCloseEventListeners() {\r\n if (this._modalCloseBtnEl) {\r\n const callback = this._onCloseBtnClick.bind(this);\r\n this._eventListeners.push({\r\n element: this._modalCloseBtnEl,\r\n callback: callback,\r\n events: 'click keypress',\r\n });\r\n $(this._modalCloseBtnEl).on('click keypress', callback);\r\n }\r\n\r\n const onBackdropCallback = this._onBackdropClick.bind(this);\r\n if (this.config.backdropClose) {\r\n this._eventListeners.push({\r\n element: this._modalBackdropEl,\r\n callback: onBackdropCallback,\r\n events: 'click ',\r\n });\r\n $(this._modalBackdropEl).on('click', onBackdropCallback);\r\n }\r\n\r\n this._eventListeners.push({ element: document, callback: onBackdropCallback, events: 'keyup' });\r\n $(document).on('keyup', onBackdropCallback);\r\n }\r\n\r\n initCloseButton(selector) {\r\n this._modalCloseBtnEl = this._modalRootEl.querySelector(selector);\r\n if (this._modalCloseBtnEl) {\r\n let callback = this._onCloseBtnClick.bind(this);\r\n this._eventListeners.push({\r\n element: this._modalCloseBtnEl,\r\n callback: callback,\r\n events: 'click keypress',\r\n });\r\n $(this._modalCloseBtnEl).on('click keypress', callback);\r\n }\r\n }\r\n\r\n initButtonWithCallback(selector, callback) {\r\n let callbackBtnEl = this._modalRootEl.querySelector(selector);\r\n if (callbackBtnEl && typeof callback === 'function') {\r\n const onClick = function (e) {\r\n if (e.type === 'click' || e.which == 13) {\r\n callback();\r\n }\r\n };\r\n this._eventListeners.push({\r\n element: callbackBtnEl,\r\n callback: onClick,\r\n events: 'click keypress',\r\n });\r\n $(callbackBtnEl).on('click keypress', onClick);\r\n }\r\n }\r\n\r\n _disableScroll() {\r\n $('body').css('overflow', 'hidden');\r\n }\r\n\r\n _enableScroll() {\r\n $('body').css('overflow', 'auto');\r\n }\r\n\r\n _onCloseBtnClick(e) {\r\n if (e.type === 'click' || e.which == 13) {\r\n this.hide();\r\n }\r\n }\r\n\r\n _onBackdropClick(e) {\r\n if (e.type === 'click' || e.which == 27) {\r\n this.hide();\r\n }\r\n }\r\n\r\n show() {\r\n if (this.isAnimating) {\r\n return;\r\n }\r\n\r\n this.isAnimating = true;\r\n\r\n this._modalRootEl.style.display = 'block';\r\n\r\n return new Promise((resolve, reject) => {\r\n requestAnimationFrame(() => {\r\n this._modalRootEl.classList.add('show');\r\n\r\n if (this.config.scrollLock) {\r\n this._disableScroll();\r\n }\r\n\r\n if (this.config.focusTrap) {\r\n this._deactivateTrap = activateFocusTrap(this._modalFrameEl, {\r\n previouslyActiveElement: this.config.previouslyActiveElement,\r\n });\r\n }\r\n\r\n setTimeout(() => {\r\n this.isAnimating = false;\r\n\r\n resolve();\r\n }, this.config.animationDuration);\r\n });\r\n });\r\n }\r\n\r\n hide() {\r\n if (this.isAnimating) return;\r\n\r\n this.isAnimating = true;\r\n\r\n this._modalRootEl.classList.remove('show');\r\n return new Promise((resolve, reject) => setTimeout(resolve, this.config.animationDuration))\r\n .then(() => {\r\n this._modalRootEl.style.display = 'none';\r\n\r\n if (this.config.scrollLock) {\r\n this._enableScroll();\r\n }\r\n\r\n if (this.config.focusTrap && typeof this._deactivateTrap === 'function') {\r\n this._deactivateTrap();\r\n }\r\n\r\n this._eventListeners.forEach(({ element, events, callback }) => {\r\n $(element).off(events, callback);\r\n });\r\n\r\n this.isAnimating = false;\r\n\r\n return Promise.resolve();\r\n })\r\n .then(() => {\r\n this._modalRootEl.parentNode && this._modalRootEl.parentNode.removeChild(this._modalRootEl);\r\n });\r\n }\r\n\r\n setContent(element) {\r\n while (this._modalContentWrapEl.firstChild) {\r\n this._modalContentWrapEl.removeChild(this._modalContentWrapEl.firstChild);\r\n }\r\n\r\n if (typeof element === 'string') {\r\n $(this._modalContentWrapEl).html(element);\r\n }\r\n if (typeof element === 'object') {\r\n this._modalContentWrapEl.appendChild(element);\r\n }\r\n }\r\n}\r\n"],"mappings":"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"}