{"version":3,"sources":["webpack:///./src/client/default/js/components/dropdownComponent.js","webpack:///./src/client/default/js/base/baseComponent.js"],"names":["DropdownComponent","_BaseComponent","element","_this","_classCallCheck","_callSuper","timeout","trap","handleEscapeTrigger","bindEvents","_inherits","_createClass","key","get","_defineProperty","this","CUSTOM_MESSAGES","DROPDOWN_EVENTS","show","close","panel","trigger","closeDropdownTrigger","$el","closest","parentElement","classList","contains","CLASSES","open","animate","active","$container","querySelector","SELECTORS","HTMLElement","container","value","content","_this2","parentClasses","arguments","length","undefined","panelClasses","parent","$panel","add","setTimeout","_parent$classList","_panel$classList","innerHTML","apply","_toConsumableArray","$trigger","setModalTrap","EMIT","opening","e","console","error","target","_this3","focusTrap","clickOutsideDeactivates","activate","_this4","_parent$classList2","_panel$classList2","remove","deactivate","_this5","anyFocus","match","$on","preventDefault","clearTimeout","closeTimeout","openTimeout","inputInside","querySelectorAll","forEach","el","checkIfFocus","_this6","document","addEventListener","_ref2","_this7","closeDropdown","click","$options","handle","bindHover","bindClick","form","activeElement","localName","BaseComponent","_BaseGiaComponent","_componentElement","setAttribute","_checkMessages","compOptions","options","_objectSpread","dataset","Object","keys","filter","entry","includes","optionValue","cleanEntry","cleanOptionKey","JSON","parse","replace","convertType","deepFreeze","getAttribute","events","cb","elements","Bean","on","stopPropagation","one","off","fire","message","_loading","LOADER_EVENTS","body","icon","hide","option","optionReturn","str","concat","charAt","toLocaleLowerCase","slice","BaseGiaComponent"],"mappings":"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","file":"js/component-dropdownComponent-js.chunks.js","sourcesContent":["import { match } from '../utilities/resolutionHandler';\nimport BaseComponent from '../base/baseComponent';\nimport * as focusTrap from 'focus-trap';\n\nexport default class DropdownComponent extends BaseComponent {\n get Messages() {\n return {\n [this.CUSTOM_MESSAGES.DROPDOWN_EVENTS.show]: this.close\n };\n }\n\n get SELECTORS() {\n return {\n panel: '.js-dropdown-panel',\n trigger: '.js-dropdown-trigger',\n closeDropdownTrigger: '.js-close-dropdown'\n };\n }\n\n get PARENT() {\n return this.$el.closest('.js-dropdown-container');\n }\n\n get IS_OPEN() {\n return this.$el.parentElement.classList.contains(this.CLASSES.open);\n }\n\n constructor(element) {\n super(element);\n\n this.timeout = null;\n this.trap = null;\n this.handleEscapeTrigger();\n\n this.bindEvents();\n }\n\n get CLASSES() {\n return {\n open: 'open',\n animate: 'animate',\n active: 'active'\n };\n }\n\n /**\n * @return {HTMLElement | undefined}\n */\n get $panel() {\n if (this.panel) return this.panel;\n const panel = this.$container.querySelector(this.SELECTORS.panel);\n if (panel instanceof HTMLElement) {\n this.panel = panel;\n return panel;\n }\n return undefined;\n }\n\n /**\n * @return {HTMLElement | undefined}\n */\n get $container() {\n if (this.container) return this.container;\n const container = this.$el.parentElement;\n if (container instanceof HTMLElement) {\n this.container = container;\n return container;\n }\n return undefined;\n }\n\n /**\n * @return {HTMLElement | undefined}\n */\n get $trigger() {\n if (this.trigger) return this.trigger;\n const trigger = this.$el;\n if (trigger instanceof HTMLElement) {\n this.trigger = trigger;\n return trigger;\n }\n return undefined;\n }\n\n /**\n *\n * @param {String} [content] - Panel content\n * @param {Array} [parentClasses = []] - Parent element classes\n * @param {Array} [panelClasses = []] - Panel classes\n */\n open(content, parentClasses = [], panelClasses = []) {\n try {\n const parent = this.$container;\n const panel = this.$panel;\n\n parent.classList.add(this.CLASSES.open);\n\n this.timeout = setTimeout(() => {\n if (content) {\n panel.innerHTML = content;\n }\n\n if (parentClasses) {\n this.parentClasses = parentClasses;\n parent.classList.add(...parentClasses);\n }\n\n if (panelClasses) {\n this.panelClasses = panelClasses;\n panel.classList.add(...panelClasses);\n }\n\n this.$trigger.classList.add(this.CLASSES.active);\n parent.classList.add(this.CLASSES.animate);\n this.setModalTrap(panel);\n this.EMIT(this.CUSTOM_MESSAGES.DROPDOWN_EVENTS.opening, this.$el);\n }, 100);\n } catch (e) {\n console.error(e);\n }\n }\n\n setModalTrap(target) {\n setTimeout(() => {\n // let targetElement = target.parentElement.querySelector(this.SELECTORS.dropdown);\n // target.setAttribute('aria-labelledby', target.getAttribute('data-id'));\n // target.setAttribute('aria-modal', true);\n this.trap = focusTrap.createFocusTrap(target, { clickOutsideDeactivates: true });\n this.trap.activate();\n }, 200);\n }\n\n close() {\n try {\n const parent = this.$container;\n const panel = this.$panel;\n parent.classList.remove(this.CLASSES.animate);\n\n if (this.parentClasses) parent.classList.remove(...this.parentClasses);\n if (this.panelClasses) panel.classList.remove(...this.panelClasses);\n\n this.timeout = setTimeout(() => {\n parent.classList.remove(this.CLASSES.open);\n this.$trigger.classList.remove(this.CLASSES.active);\n if (this.trap) this.trap.deactivate();\n }, 100);\n } catch (e) {\n console.error(e);\n }\n }\n\n bindHover() {\n var anyFocus = false;\n if (match(null, 'md')) {\n this.$on(\n 'mouseenter.dropdown',\n (e) => {\n e.preventDefault();\n clearTimeout(this.timeout);\n clearTimeout(this.closeTimeout);\n clearTimeout(this.openTimeout);\n this.openTimeout = setTimeout(() => {\n this.open();\n }, 100);\n },\n this.$container\n );\n\n this.$on(\n 'mouseleave.dropdown',\n (e) => {\n const parent = this.$container;\n const inputInside = parent.querySelectorAll(this.SELECTORS.inputInside);\n [...inputInside].forEach((el) => {\n if (this.checkIfFocus(el)) {\n anyFocus = true;\n }\n });\n\n if (!anyFocus) {\n e.preventDefault();\n clearTimeout(this.timeout);\n clearTimeout(this.openTimeout);\n this.closeTimeout = setTimeout(() => {\n this.close();\n }, 100);\n } else {\n anyFocus = false;\n }\n },\n this.$container\n );\n }\n }\n\n handleEscapeTrigger() {\n document.addEventListener('keydown', ({ key }) => {\n if (key === 'Escape') {\n this.close();\n }\n });\n }\n\n bindClick() {\n this.$on(\n 'click.dropdown',\n (e) => {\n if (e) {\n e.preventDefault();\n }\n\n clearTimeout(this.timeout);\n const isOpen = this.$el.parentElement.classList.contains(this.CLASSES.open);\n if (isOpen) {\n this.close();\n } else {\n this.open();\n }\n },\n this.$trigger\n );\n\n let closeDropdown = [...this.$container.querySelectorAll(this.SELECTORS.closeDropdownTrigger)];\n\n if (closeDropdown.length > 0) {\n closeDropdown.forEach((trigger) => {\n trigger.addEventListener('click', (e) => {\n if (e) {\n e.preventDefault();\n }\n if (this.$trigger) {\n this.$trigger.click();\n }\n });\n });\n }\n }\n\n bindEvents() {\n if (this.$options.handle === 'hover') {\n this.bindHover();\n }\n if (this.$options.handle === 'click') {\n this.bindClick();\n }\n if (this.$options.handle === 'all' || !this.$options.handle) {\n this.bindClick();\n this.bindHover();\n }\n }\n\n checkIfFocus(el) {\n return el.form === (document.activeElement.form || null) && document.activeElement.localName === 'input';\n }\n}\n","/* eslint-disable new-cap */\n/* eslint-disable valid-jsdoc */\n/* eslint-disable no-underscore-dangle */\n\nimport Bean from 'bean';\nimport deepFreeze from '../utilities/freeze';\nimport BaseGiaComponent from './baseGiaComponent';\n\nexport default class BaseComponent extends BaseGiaComponent {\n /**\n * @returns {HTMLElement}\n */\n get $el() {\n return /** @type {HTMLElement} */ (this._componentElement);\n }\n\n get $options() {\n const compOptions = {};\n const options = { ...this.$el.dataset };\n const optionsEntires = Object.keys(options).filter((entry) => entry.includes('option'));\n optionsEntires.forEach((entry) => {\n const cleanEntry = BaseComponent.cleanOptionKey(entry);\n let optionValue;\n if (options[entry].includes('{') && options[entry].includes('}')) {\n optionValue = JSON.parse(options[entry].replace(/'/g, '\"'));\n } else {\n optionValue = BaseComponent.convertType(options[entry]);\n }\n compOptions[cleanEntry] = optionValue;\n });\n return deepFreeze(compOptions);\n }\n\n get COMPONENT_NAME() {\n return this.$el.getAttribute('data-component');\n }\n\n /**\n *\n * constructor\n *\n * @param {Element} element\n */\n constructor(element) {\n super(element);\n this._componentElement = element;\n this._componentElement.setAttribute('data-component-init', 'true');\n this._checkMessages();\n }\n\n static convertType(option) {\n let optionReturn;\n switch (option) {\n case 'false':\n optionReturn = false;\n break;\n case 'true':\n optionReturn = true;\n break;\n case 'null':\n optionReturn = null;\n break;\n default:\n optionReturn = option;\n break;\n }\n\n return optionReturn;\n }\n\n static cleanOptionKey(key) {\n const str = key.replace('option', '');\n return `${str.charAt(0).toLocaleLowerCase()}${str.slice(1)}`;\n }\n\n /**\n *\n * $on\n *\n * @param {String} events\n * @param {Function} cb\n * @param {Element} [element = this.$el]\n * @param {Array|String|Element} [elements = null]\n */\n $on(events, cb, element = this.$el, elements = null) {\n if (!element || !events || !cb) return;\n if (!elements) {\n Bean.on(element, events, (e) => {\n if (e) e.stopPropagation();\n cb(e);\n });\n } else {\n Bean.on(element, events, elements, (e) => {\n if (e) e.stopPropagation();\n cb(e);\n });\n }\n }\n\n /**\n *\n * $one\n *\n * @param {String} events\n * @param {Function} cb\n * @param {Element} [element = this.$el]\n */\n $one(events, cb, element = this.$el) {\n Bean.one(element, events, cb);\n }\n\n /**\n *\n * $off\n *\n * @param {String} events\n * @param {Element} [element = this.$el]\n */\n $off(events, element = this.$el) {\n Bean.off(element, events);\n }\n\n /**\n *\n * $fire\n *\n * @param {String} events\n * @param {Element} [element = this.$el]\n */\n $fire(events, element = this.$el) {\n Bean.fire(element, events);\n }\n\n /**\n *\n * Activate loader\n *\n * @param {HTMLElement} [container]\n * @param {String} [message]\n */\n loading(container, message) {\n this._loading = true;\n this.EMIT(this.CUSTOM_MESSAGES.LOADER_EVENTS.show, {\n container: container || document.body,\n message: message ?? null\n });\n }\n\n /**\n *\n * Deactivate loader\n *\n * @param {HTMLElement} [container]\n * @param {String} [message]\n * @param {Boolean} [error=false]\n * @param {String} [icon]\n */\n endLoading(container, message, error = false, icon) {\n this._loading = false;\n setTimeout(() => {\n if (!this._loading) {\n this.EMIT(this.CUSTOM_MESSAGES.LOADER_EVENTS.hide, {\n container: container || document.body,\n message,\n error,\n icon\n });\n }\n }, 400);\n }\n}\n"],"sourceRoot":""}