{"version":3,"file":"label-controller-uVsrslif.js","sources":["../../../app/frontend/src/jobseeker/main/js/components/floating-label.js","../../../app/frontend/src/jobseeker/main/js/controllers/label-controller.js"],"sourcesContent":["import { getElement, addClass, removeClass, on } from '@yobbers/js/utils/dom';\n\nconst focusedClass = '-js-focused';\nconst activeClass = '-js-active';\nconst multilineClass = '-js-multiline';\n\nexport default class Floatl {\n constructor(element) {\n this.element = getElement(element);\n this.label = this.element.querySelectorAll('.floating-label')[0];\n this.input = this.element.querySelectorAll('.form-input')[0];\n if (!this.label || !this.input) return;\n this._bindListeners();\n this._init();\n }\n\n _bindListeners() {\n on(this.input, 'focus', () => {\n addClass(this.element, focusedClass);\n });\n\n on(this.input, 'blur', () => {\n removeClass(this.element, focusedClass);\n });\n\n for (const event of ['focus', 'keyup', 'blur', 'change', 'input']) {\n on(this.input, event, () => this._handleChange());\n }\n }\n\n _init() {\n if (this.input.tagName === 'TEXTAREA') {\n addClass(this.element, multilineClass);\n }\n\n this._handleChange();\n }\n\n _handleChange() {\n if (this.input.value === '') {\n removeClass(this.element, activeClass);\n } else {\n addClass(this.element, activeClass);\n }\n }\n}\n","import { Controller } from '@hotwired/stimulus';\nimport Floatl from '../components/floating-label';\n\nexport default class extends Controller {\n connect() {\n this.setup();\n }\n\n setup() {\n const labelWrappers = this.element.querySelectorAll(\n '.form-field, .newsletter-form'\n );\n this.labels = [];\n\n if (labelWrappers.length) {\n labelWrappers.forEach((label, i) => {\n this.labels[i] = new Floatl(label);\n });\n }\n }\n}\n"],"names":["focusedClass","activeClass","multilineClass","Floatl","element","getElement","on","addClass","removeClass","event","labelController","Controller","labelWrappers","label","i"],"mappings":"kHAEA,MAAMA,EAAe,cACfC,EAAc,aACdC,EAAiB,gBAER,MAAMC,CAAO,CAC1B,YAAYC,EAAS,CACnB,KAAK,QAAUC,EAAWD,CAAO,EACjC,KAAK,MAAQ,KAAK,QAAQ,iBAAiB,iBAAiB,EAAE,CAAC,EAC/D,KAAK,MAAQ,KAAK,QAAQ,iBAAiB,aAAa,EAAE,CAAC,EACvD,GAAC,KAAK,OAAS,CAAC,KAAK,SACzB,KAAK,eAAgB,EACrB,KAAK,MAAO,EAChB,CAEE,gBAAiB,CACfE,EAAG,KAAK,MAAO,QAAS,IAAM,CAC5BC,EAAS,KAAK,QAASP,CAAY,CACzC,CAAK,EAEDM,EAAG,KAAK,MAAO,OAAQ,IAAM,CAC3BE,EAAY,KAAK,QAASR,CAAY,CAC5C,CAAK,EAED,UAAWS,IAAS,CAAC,QAAS,QAAS,OAAQ,SAAU,OAAO,EAC9DH,EAAG,KAAK,MAAOG,EAAO,IAAM,KAAK,eAAe,CAEtD,CAEE,OAAQ,CACF,KAAK,MAAM,UAAY,YACzBF,EAAS,KAAK,QAASL,CAAc,EAGvC,KAAK,cAAe,CACxB,CAEE,eAAgB,CACV,KAAK,MAAM,QAAU,GACvBM,EAAY,KAAK,QAASP,CAAW,EAErCM,EAAS,KAAK,QAASN,CAAW,CAExC,CACA,CC1Ce,MAAKS,UAASC,CAAW,CACtC,SAAU,CACR,KAAK,MAAO,CAChB,CAEE,OAAQ,CACN,MAAMC,EAAgB,KAAK,QAAQ,iBAC/B,+BACH,EACD,KAAK,OAAS,CAAE,EAEZA,EAAc,QAChBA,EAAc,QAAQ,CAACC,EAAOC,IAAM,CAClC,KAAK,OAAOA,CAAC,EAAI,IAAIX,EAAOU,CAAK,CACzC,CAAO,CAEP,CACA"}