{"version":3,"sources":["webpack://Gaffa/./Src/Scripts/components/form.js"],"names":["constructor","elm","updateInputField","inputField","value","length","classList","add","remove","querySelectorAll","forEach","x","addEventListener","y","setCustomValidity","dataset","requiredText","validationMessage","matchText","validationText","input","inputs","identicalTo","querySelector","btn","e","form","checkValidity","dispatchEvent","Event"],"mappings":"yKA+DC,UA/Dc,MACXA,YAAYC,GAKR,SAASC,EAAiBC,GACS,GAA3BA,EAAWC,MAAMC,QACjBF,EAAWG,UAAUC,IAAI,sBACzBJ,EAAWG,UAAUE,OAAO,uBAG5BL,EAAWG,UAAUC,IAAI,qBACzBJ,EAAWG,UAAUE,OAAO,sBAEpC,CAsCA,GAlDcP,EAAIQ,iBAAiB,iBAc7BC,SAAQC,IACVT,EAAiBS,GACjBA,EAAEC,iBAAiB,SAASC,IACxBF,EAAEG,kBAAkB,IACpBZ,EAAiBS,EAAE,IAEvBA,EAAEC,iBAAiB,QAAQC,IACvBF,EAAEL,UAAUC,IAAI,uBAAuB,IAE3CI,EAAEC,iBAAiB,WAAWC,IACX,IAAXF,EAAEP,MACFO,EAAEG,kBAAkBH,EAAEI,QAAQC,cAEvBL,EAAEM,mBAAqBN,EAAEI,QAAQG,WACxCP,EAAEG,kBAAkBH,EAAEI,QAAQI,eAElC,GACF,IAIgBlB,EAAIQ,iBAAiB,uBAC3BC,SAAQU,IACpBA,EAAMR,iBAAiB,SAASC,IAC5B,IAAIQ,EAASpB,EAAIQ,iBAAkB,uBAAsBW,EAAML,QAAQO,iBACnED,EAAOhB,OAAS,IACZgB,EAAO,GAAGjB,OAASiB,EAAO,GAAGjB,OAA6B,IAAnBiB,EAAO,GAAGjB,OAAkC,IAAnBiB,EAAO,GAAGjB,OAC1EiB,EAAO,GAAGP,kBAAkB,IAC5BO,EAAO,GAAGP,kBAAkB,KAE5BM,EAAMN,kBAAkBM,EAAML,QAAQG,WAE9C,GACF,IAGFjB,EAAIsB,cAAc,iCAAkC,CACpD,IAAIC,EAAMvB,EAAIsB,cAAc,iCAC5BC,EAAIZ,iBAAiB,SAASa,IACrBD,EAAIE,KAAKC,iBACVH,EAAII,cAAc,IAAIC,MAAM,iBAChC,GAER,CAEJ,E","file":"908.66b7b92fa2cd4ec4945e.js","sourcesContent":["export default class Form {\r\n constructor(elm) {\r\n\r\n const input = elm.querySelectorAll(\"input, select\");\r\n\r\n\r\n function updateInputField(inputField) {\r\n if (inputField.value.length == 0) {\r\n inputField.classList.add(\"input-field--empty\");\r\n inputField.classList.remove(\"input-field--full\");\r\n }\r\n else {\r\n inputField.classList.add(\"input-field--full\");\r\n inputField.classList.remove(\"input-field--empty\");\r\n }\r\n }\r\n\r\n input.forEach(x => {\r\n updateInputField(x);\r\n x.addEventListener(\"input\", y => {\r\n x.setCustomValidity('');\r\n updateInputField(x);\r\n });\r\n x.addEventListener('blur', y => {\r\n x.classList.add('validation-activated');\r\n });\r\n x.addEventListener('invalid', y => {\r\n if (x.value == '') {\r\n x.setCustomValidity(x.dataset.requiredText);\r\n //\r\n } else if (x.validationMessage != x.dataset.matchText) {\r\n x.setCustomValidity(x.dataset.validationText);\r\n\r\n }\r\n })\r\n })\r\n\r\n\r\n var identicalInputs = elm.querySelectorAll('[data-identical-to]');\r\n identicalInputs.forEach(input => {\r\n input.addEventListener('input', y => {\r\n var inputs = elm.querySelectorAll(`[data-identical-to=\"${input.dataset.identicalTo}\"]`)\r\n if (inputs.length > 1) {\r\n if (inputs[0].value == inputs[1].value || (inputs[0].value == '' || inputs[1].value == '')) {\r\n inputs[0].setCustomValidity('');\r\n inputs[1].setCustomValidity('');\r\n } else {\r\n input.setCustomValidity(input.dataset.matchText);\r\n }\r\n }\r\n });\r\n });\r\n\r\n if (elm.querySelector('[data-component=\"btn-loader\"]')) {\r\n var btn = elm.querySelector('[data-component=\"btn-loader\"]');\r\n btn.addEventListener('click', e => {\r\n if (!btn.form.checkValidity()) {\r\n btn.dispatchEvent(new Event('btn:load:done'));\r\n }\r\n });\r\n }\r\n\r\n }\r\n}\r\n"],"sourceRoot":""}