{"version":3,"sources":["webpack:///./src/client/default/js/components/inputComponent.js","webpack:///./src/client/default/js/base/baseComponent.js","webpack:///./node_modules/floatl/built/floatl.umd.js"],"names":["InputComponent","element","floatl","Floatl","$el","$input","querySelector","SELECTORS","input","$btnSubmit","submitBtn","parentElement","dataset","clearable","$clear","clearInput","initClearWatch","matches","setTimeout","e","simulateClick","console","log","errorMessage","showClear","event","MouseEvent","view","window","bubbles","cancelable","this","dispatchEvent","$on","debounce","value","length","classList","add","CLASSES","removeAttribute","remove","setAttribute","focus","BaseComponent","_componentElement","_checkMessages","compOptions","options","Object","keys","filter","entry","includes","forEach","optionValue","cleanEntry","cleanOptionKey","JSON","parse","replace","convertType","deepFreeze","getAttribute","events","cb","elements","Bean","on","stopPropagation","one","off","fire","container","message","_loading","EMIT","CUSTOM_MESSAGES","LOADER_EVENTS","show","document","body","error","icon","hide","option","optionReturn","key","str","charAt","toLocaleLowerCase","slice","BaseGiaComponent","module","exports","addClass","className","removeClass","re","RegExp","split","join","addEventListener","attachEvent","call","removeEventListener","detachEvent","_this","handleChange","ACTIVE_CLASS","addFocusedClass","FOCUSED_CLASS","removeFocusedClass","label","querySelectorAll","nodeName","MULTILINE_CLASS","_i","_a","event_1","prototype","destroy","event_2","factory"],"mappings":"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","file":"js/component-inputComponent-js.chunks.js","sourcesContent":["import BaseComponent from '../base/baseComponent';\nimport { debounce } from 'underscore';\nimport Floatl from 'floatl';\n\nexport default class InputComponent extends BaseComponent {\n get SELECTORS() {\n return {\n input: 'input',\n clearInput: '.js-clear-btn',\n submitBtn: '.js-btn-store',\n errorMessage: '.js-error-message'\n };\n }\n\n get CLASSES() {\n return {\n showClear: 'show'\n };\n }\n\n constructor(element) {\n super(element);\n this.floatl = new Floatl(this.$el);\n this.$input = /** @type {HTMLInputElement} */ (this.$el.querySelector(this.SELECTORS.input));\n this.$btnSubmit = /** @type {HTMLInputElement} */ (this.$el.querySelector(this.SELECTORS.submitBtn)) || (this.$el.parentElement.querySelector(this.SELECTORS.submitBtn));\n let isClearable = this.$input.dataset.clearable == 'true' ? true : false;\n if (isClearable) {\n this.$clear = this.$el.querySelector(this.SELECTORS.clearInput);\n this.initClearWatch();\n }\n try {\n if (this.$input.matches(':-webkit-autofill')) {\n setTimeout((e) => {\n this.simulateClick();\n }, 500);\n }\n } catch (e) {\n console.log(e);\n }\n }\n\n simulateClick() {\n var event = new MouseEvent('focus', {\n view: window,\n bubbles: true,\n cancelable: true\n });\n this.$input.dispatchEvent(event);\n // console.log(eventDispatched);\n }\n\n initClearWatch() {\n this.$on(\n 'input.inputChange',\n debounce((e) => {\n if (this.$input.value.length > 0) {\n if (this.$clear) {\n this.$clear.classList.add(this.CLASSES.showClear);\n }\n console.log(this);\n if (this.$btnSubmit) {\n this.$btnSubmit.removeAttribute('disabled');\n }\n } else {\n if (this.$clear) {\n this.$clear.classList.remove(this.CLASSES.showClear);\n }\n if (this.$btnSubmit) {\n this.$btnSubmit.setAttribute('disabled', 'true');\n }\n }\n }, 250),\n this.$input\n );\n this.$on(\n 'click.inputClear',\n () => {\n if (this.$btnSubmit) {\n this.$btnSubmit.setAttribute('disabled', 'true');\n }\n if (this.$clear) {\n this.$clear.classList.remove(this.CLASSES.showClear);\n }\n this.$input.value = '';\n this.$input.setAttribute('value', '');\n if (this.$el.querySelector(this.SELECTORS.errorMessage)) {\n this.$el.querySelector(this.SELECTORS.errorMessage).remove();\n }\n this.$input.focus();\n },\n this.$clear\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","/* floatl version 2.0.1 */\n(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global.Floatl = factory());\n}(this, (function () { 'use strict';\n\nfunction addClass(element, className) {\r\n if (element.classList) {\r\n element.classList.add(className);\r\n }\r\n else {\r\n element.className += \" \" + className;\r\n }\r\n}\r\nfunction removeClass(element, className) {\r\n if (element.classList) {\r\n element.classList.remove(className);\r\n }\r\n else {\r\n var re = new RegExp(\"(^|\\\\b)\" + className.split(\" \").join(\"|\") + \"(\\\\b|$)\", \"gi\");\r\n element.className = element.className.replace(re, \" \");\r\n }\r\n}\r\nfunction addEventListener(element, event, cb) {\r\n if (element.addEventListener) {\r\n element.addEventListener(event, cb);\r\n }\r\n else {\r\n element.attachEvent(\"on\" + event, function () {\r\n cb.call(element);\r\n });\r\n }\r\n}\r\nfunction removeEventListener(element, event, cb) {\r\n if (element.removeEventListener) {\r\n element.removeEventListener(event, cb);\r\n }\r\n else {\r\n element.detachEvent(\"on\" + event, cb);\r\n }\r\n}\n\nvar Floatl = /** @class */ (function () {\r\n function Floatl(element) {\r\n var _this = this;\r\n this.handleChange = function () {\r\n if (_this.input.value === \"\") {\r\n removeClass(_this.element, Floatl.ACTIVE_CLASS);\r\n }\r\n else {\r\n addClass(_this.element, Floatl.ACTIVE_CLASS);\r\n }\r\n };\r\n this.addFocusedClass = function () {\r\n addClass(_this.element, Floatl.FOCUSED_CLASS);\r\n };\r\n this.removeFocusedClass = function () {\r\n removeClass(_this.element, Floatl.FOCUSED_CLASS);\r\n };\r\n this.element = element;\r\n this.label = element.querySelectorAll(\".floatl__label\")[0];\r\n this.input = element.querySelectorAll(\".floatl__input\")[0];\r\n // Return early if not both the label and input are present\r\n if (!this.label || !this.input) {\r\n return;\r\n }\r\n if (this.input.nodeName === \"TEXTAREA\") {\r\n addClass(this.element, Floatl.MULTILINE_CLASS);\r\n }\r\n // Handle initial value\r\n this.handleChange();\r\n // Bind event listeners\r\n addEventListener(this.input, \"focus\", this.addFocusedClass);\r\n addEventListener(this.input, \"blur\", this.removeFocusedClass);\r\n for (var _i = 0, _a = [\"keyup\", \"blur\", \"change\", \"input\"]; _i < _a.length; _i++) {\r\n var event_1 = _a[_i];\r\n addEventListener(this.input, event_1, this.handleChange);\r\n }\r\n }\r\n Floatl.prototype.destroy = function () {\r\n removeEventListener(this.input, \"focus\", this.addFocusedClass);\r\n removeEventListener(this.input, \"blur\", this.removeFocusedClass);\r\n for (var _i = 0, _a = [\"keyup\", \"blur\", \"change\", \"input\"]; _i < _a.length; _i++) {\r\n var event_2 = _a[_i];\r\n removeEventListener(this.input, event_2, this.handleChange);\r\n }\r\n };\r\n Floatl.FOCUSED_CLASS = \"floatl--focused\";\r\n Floatl.ACTIVE_CLASS = \"floatl--active\";\r\n Floatl.MULTILINE_CLASS = \"floatl--multiline\";\r\n return Floatl;\r\n}());\n\nreturn Floatl;\n\n})));\n"],"sourceRoot":""}