{"version":3,"sources":["webpack:///./src/client/default/js/components/moveToComponent.js","webpack:///./src/client/default/js/base/baseComponent.js","webpack:///./src/client/default/js/utilities/youMightNotNeedJQuery.js"],"names":["MoveToComponent","element","$parent","$el","parentElement","windowResize","breakPoint","window","innerWidth","this","CUSTOM_MESSAGES","BREAKPOINTER","BREAKPOINT_CHANGE","_target","document","querySelector","$options","target","a","b","operator","onMobile","isMobile","onDesktop","isDesktop","atBreakpoint","operators","children","length","$target","appendChildren","BaseComponent","_componentElement","setAttribute","_checkMessages","compOptions","options","dataset","Object","keys","filter","entry","includes","forEach","optionValue","cleanEntry","cleanOptionKey","JSON","parse","replace","convertType","deepFreeze","getAttribute","events","cb","elements","Bean","on","e","stopPropagation","one","off","fire","container","message","_loading","EMIT","LOADER_EVENTS","show","body","error","icon","setTimeout","hide","option","optionReturn","key","str","charAt","toLocaleLowerCase","slice","BaseGiaComponent","outerWidth","el","width","offsetWidth","style","getComputedStyle","parseInt","marginLeft","marginRight","HTMLCollection","HTMLElement","documentFragment","createDocumentFragment","child","Array","isArray","appendChild","isObject","value","type","_typeof","Symbol","iterator","obj","constructor","prototype","fadeIn","opacity","classList","remove","add","fade","val","parseFloat","requestAnimationFrame","fadeOut"],"mappings":"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","file":"js/component-moveToComponent-js.chunks.js","sourcesContent":["import BaseComponent from '../base/baseComponent';\nimport { appendChildren } from '../utilities/youMightNotNeedJQuery';\n\nexport default class MoveToComponent extends BaseComponent {\n  constructor(element) {\n    super(element);\n    this.$parent = this.$el.parentElement;\n    this.windowResize({ breakPoint: window.innerWidth });\n  }\n\n  get Messages() {\n    return {\n      [this.CUSTOM_MESSAGES.BREAKPOINTER.BREAKPOINT_CHANGE]: this.windowResize\n    };\n  }\n\n  /**\n   * @returns {HTMLElement}\n   */\n  get $target() {\n    if (!this._target) this._target = /** @type {HTMLElement} */ (document.querySelector(`#${this.$options.target}`));\n    return this._target;\n  }\n\n  /**\n   * Check operators\n   * @param {Number} a\n   * @param {Number} b\n   * @returns {Boolean}\n   */\n  operators(a, b) {\n    switch (this.$options.operator) {\n      case '<':\n        return a < b;\n      case '<=':\n        return a <= b;\n      case '==':\n        return a == b;\n      case '>':\n        return a > b;\n      case '>=':\n        return a >= b;\n      default:\n        return false;\n    }\n  }\n\n  /**\n   * @returns {Boolean}\n   */\n  atBreakpoint() {\n    return (!!this.$options.onMobile && window.isMobile()) || (!!this.$options.onDesktop && window.isDesktop()) || false;\n  }\n\n  windowResize({ breakPoint }) {\n    if (this.atBreakpoint() || this.operators(breakPoint, this.$options.breakPoint)) {\n      if (this.$el.children.length > 0 && this.$target.children.length == 0) appendChildren(this.$target, this.$el.children);\n    } else {\n      if (this.$target.children.length > 0) appendChildren(this.$el, this.$target.children);\n    }\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","/**\n * Function that behaves like jquery outerWidth\n * @param {HTMLElement} el\n */\nexport function outerWidth(el) {\n  var width = el.offsetWidth;\n  var style = getComputedStyle(el);\n\n  width += parseInt(style.marginLeft) + parseInt(style.marginRight);\n  return width;\n}\n\n/**\n * append multiple childs\n * @param {HTMLElement} el\n * @param  {HTMLElement|HTMLElement[]|HTMLCollection} children\n */\nexport function appendChildren(el, children) {\n  if (!el || !children) return;\n  if (children instanceof HTMLCollection) children = /** @type {HTMLElement[]}*/ ([...children]);\n  if (children instanceof HTMLElement) children = [children];\n  // use a document Fragment to prevent reflow.\n  const documentFragment = document.createDocumentFragment();\n  children.forEach((child) => {\n    if (Array.isArray(child)) {\n      child.forEach((child) => documentFragment.appendChild(child));\n    } else {\n      documentFragment.appendChild(child);\n    }\n  });\n  el.appendChild(documentFragment);\n}\n\n/**\n * Function that behaves like jquery position\n * @param {HTMLElement} el\n */\nexport function position(el) {\n  return { left: el.offsetLeft, top: el.offsetTop };\n}\n\nexport function isObject(value) {\n  var type = typeof value === 'undefined' ? 'undefined' : _typeof(value);\n\n  return type === 'function' || (type === 'object' && !!value);\n}\n\nexport const _typeof =\n  typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol'\n    ? function(obj) {\n        return typeof obj;\n      }\n    : function(obj) {\n        return obj && typeof Symbol === 'function' && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;\n      };\n\n/**\n * Function that simulates jquery effect of fade in\n * @param {HTMLElement} el\n * @param {String} [display]\n */\nexport function fadeIn(el, display = 'block') {\n  el.style.opacity = '0';\n  el.classList.remove('transition-hidden');\n  el.classList.add('transition-show');\n\n  (function fade() {\n    let val = parseFloat(el.style.opacity);\n    if ((val += 0.1) <= 1) {\n      el.style.opacity = `${val}`;\n      requestAnimationFrame(fade);\n    }\n  })();\n}\n\n/**\n * Function that simulates jquery effect of fade in\n * @param {HTMLElement} el\n */\nexport function fadeOut(el) {\n  el.style.opacity = '1';\n\n  (function fade() {\n    let val = parseFloat(el.style.opacity);\n    if ((val -= 0.1) < 0) {\n      el.classList.remove('transition-show');\n      el.classList.add('transition-hidden');\n    } else {\n      el.style.opacity = `${val}`;\n      requestAnimationFrame(fade);\n    }\n  })();\n}\n"],"sourceRoot":""}