{"version":3,"sources":["priory.formElements.js"],"names":["formElements","handleConditionalFields","form","querySelectorAll","forEach","el","target","dataset","conditionalTarget","value","conditionalValue","targetElement","querySelector","addEventListener","classList","add","remove","handleClearInput","formGroup","clear","input","length","dropdown","initBlock","ControlBinders","register"],"mappings":"AAAA,MAAMA,aAAe,MACnB,MAIMC,EAA0BC,IAC9BA,EAAKC,iBAAiB,4BAA4BC,QAAQC,IACxD,MAAMC,EAASD,EAAGE,QAAQC,kBACpBC,EAAQJ,EAAGE,QAAQG,iBACnBC,EAAgBT,EAAKU,cAAc,mCAAqCN,EAAS,MACvFK,EAAcE,iBAAiB,SAAU,KACvCR,EAAGS,UAAUC,IAAI,mCACbJ,EAAcF,QAAUA,GAC1BJ,EAAGS,UAAUE,OAAO,wCAKtBC,EAAmBf,IACvBA,EAAKC,iBAAiB,eAAeC,QAAQc,IAC3C,MAAMC,EAAQD,EAAUN,cAAc,sBACtC,GAAIO,EAAO,CACT,MAAMC,EAAQF,EAAUN,cAAc,SAClCQ,IACFA,EAAMP,iBAAiB,QAAS,KAC1BO,EAAMX,MAAMY,OAAS,EACvBF,EAAML,UAAUE,OAAO,UAEvBG,EAAML,UAAUC,IAAI,YAGxBI,EAAMN,iBAAiB,QAAS,KAC9BO,EAAMX,MAAQ,GACdU,EAAML,UAAUC,IAAI,UACpB,MAAMO,EAAWJ,EAAUN,cAAc,mBACrCU,GACFA,EAASR,UAAUE,OAAO,qCAOtC,MAAO,CACLO,UA3CgBrB,IAChBD,EAAwBC,GACxBe,EAAiBf,MAHA,GA+CrBsB,eAAeC,SAAS,OAAQvB,GAAQF,aAAauB,UAAUrB","sourcesContent":["const formElements = (() => {\r\n\r\n const initBlock = (form) => {\r\n handleConditionalFields(form);\r\n handleClearInput(form);\r\n };\r\n\r\n const handleConditionalFields = (form) => {\r\n form.querySelectorAll('.form-group--conditional').forEach(el => {\r\n const target = el.dataset.conditionalTarget;\r\n const value = el.dataset.conditionalValue;\r\n const targetElement = form.querySelector('.form-group__form-control[name=\"' + target + '\"]');\r\n targetElement.addEventListener('change', () => {\r\n el.classList.add('form-group--conditional--hidden');\r\n if (targetElement.value === value){\r\n el.classList.remove('form-group--conditional--hidden');\r\n }\r\n });\r\n });\r\n };\r\n \r\n const handleClearInput = (form) => {\r\n form.querySelectorAll('.form-group').forEach(formGroup => {\r\n const clear = formGroup.querySelector('button[data-clear]');\r\n if (clear){\r\n const input = formGroup.querySelector('input');\r\n if (input){\r\n input.addEventListener('input', () => {\r\n if (input.value.length > 0){\r\n clear.classList.remove('hidden');\r\n }else{\r\n clear.classList.add('hidden');\r\n }\r\n });\r\n clear.addEventListener('click', () => {\r\n input.value = '';\r\n clear.classList.add('hidden');\r\n const dropdown = formGroup.querySelector('[data-dropdown]');\r\n if (dropdown){\r\n dropdown.classList.remove('form-group__dropdown--open'); \r\n }\r\n }); \r\n } \r\n } \r\n }); \r\n }\r\n\r\n return {initBlock};\r\n\r\n})();\r\n\r\nControlBinders.register(`form`, form => formElements.initBlock(form));"],"file":"priory.formElements-min.js"}