{"version":3,"file":"radio-checkbox.js","sources":["../../../src/assets/scripts/radio-checkbox.entry.ts"],"sourcesContent":["import { RadioCheckboxChangeModel } from '@_types/_custom-event';\n\nconst radioCheckbox = {\n init: function () {\n this.addEvent();\n },\n addEvent: function () {\n const radioButtons = document?.querySelectorAll('.saig-a-radiocheckbox__input');\n const radioIcons = document?.querySelectorAll('.saig-a-radio__icon, .saig-a-checkbox__icon');\n\n [].forEach.call(radioIcons, (radioIcon: HTMLElement) => {\n radioIcon?.addEventListener('click', this.inputChangeHandler.bind(this));\n });\n\n [].forEach.call(radioButtons, (radioButton: HTMLElement) => {\n radioButton?.addEventListener('change', this.inputChangeHandler.bind(this));\n });\n },\n inputChangeHandler: function (event: any) {\n event.preventDefault();\n if (event?.current) event?.current.click();\n const inputGroupName =\n event.currentTarget.tagName.toLocaleLowerCase() == 'a' ? event.currentTarget.previousElementSibling.name : event.currentTarget.name;\n const inputId = event.currentTarget.tagName.toLocaleLowerCase() == 'a' ? event.currentTarget.previousElementSibling.id : event.currentTarget.id;\n const inputtype =\n event.currentTarget.tagName.toLocaleLowerCase() == 'a' ? event.currentTarget.previousElementSibling.type : event.currentTarget.type;\n\n if (inputtype == 'radio') {\n this.radioChangeHandler(event, inputGroupName, inputId, inputtype);\n } else {\n this.checkboxChangeHandler(event, inputGroupName, inputId, inputtype);\n }\n\n window.dispatchEvent<'radioCheckboxChange'>(new CustomEvent('radioCheckboxChange', { detail: { inputId } }));\n },\n radioChangeHandler: function (event: any, inputGroupName: any, inputId: any, inputtype: any) {\n const radioButtonsInGroup = document?.querySelectorAll('input[name^=' + inputGroupName + ']');\n\n [].forEach.call(radioButtonsInGroup, (radioButton: HTMLInputElement) => {\n const svgIcons = radioButton.nextElementSibling?.children;\n\n [].forEach.call(svgIcons, (svgIcon: HTMLElement) => {\n if (radioButton.id == inputId) {\n radioButton.checked = true;\n if (svgIcon.classList.contains('saig-a-' + inputtype + '__icon-checked')) {\n svgIcon.classList.remove('display-none');\n svgIcon.classList.add('display-block');\n } else {\n svgIcon.classList.add('display-none');\n svgIcon.classList.remove('display-block');\n }\n } else {\n radioButton.checked = false;\n if (svgIcon.classList.contains('saig-a-' + inputtype + '__icon-checked')) {\n svgIcon.classList.add('display-none');\n svgIcon.classList.remove('display-block');\n } else {\n svgIcon.classList.remove('display-none');\n svgIcon.classList.add('display-block');\n }\n }\n });\n });\n },\n checkboxChangeHandler: function (event: any, inputGroupName: any, inputId: any, inputtype: any) {\n const checkboxesInGroup = document?.querySelectorAll('input[name^=' + inputGroupName + ']');\n [].forEach.call(checkboxesInGroup, (checkbox: HTMLInputElement) => {\n if (checkbox.id == inputId && event.currentTarget.tagName.toLocaleLowerCase() == 'a') {\n checkbox.checked = checkbox.checked ? false : true;\n }\n const svgIcons = checkbox.nextElementSibling?.children;\n\n [].forEach.call(svgIcons, (svgIcon: HTMLElement) => {\n if (checkbox.id == inputId) {\n svgIcon.classList.contains('display-block') ? svgIcon.classList.remove('display-block') : svgIcon.classList.add('display-block');\n svgIcon.classList.contains('display-none') ? svgIcon.classList.remove('display-none') : svgIcon.classList.add('display-none');\n }\n });\n });\n },\n};\n\nradioCheckbox.init();\n\nexport { radioCheckbox };\n"],"names":["radioCheckbox","radioButtons","radioIcons","radioIcon","radioButton","event","inputGroupName","inputId","inputtype","radioButtonsInGroup","_a","svgIcons","svgIcon","checkboxesInGroup","checkbox"],"mappings":"AAEA,MAAMA,EAAgB,CACpB,KAAM,UAAY,CAChB,KAAK,SAAS,CAChB,EACA,SAAU,UAAY,CACd,MAAAC,EAAe,+BAAU,iBAAmC,gCAC5DC,EAAa,+BAAU,iBAAmC,+CAEhE,CAAA,EAAG,QAAQ,KAAKA,EAAaC,GAA2B,CACtDA,GAAA,MAAAA,EAAW,iBAAiB,QAAS,KAAK,mBAAmB,KAAK,IAAI,EAAC,CACxE,EAED,CAAA,EAAG,QAAQ,KAAKF,EAAeG,GAA6B,CAC1DA,GAAA,MAAAA,EAAa,iBAAiB,SAAU,KAAK,mBAAmB,KAAK,IAAI,EAAC,CAC3E,CACH,EACA,mBAAoB,SAAUC,EAAY,CACxCA,EAAM,eAAe,EACjBA,GAAA,MAAAA,EAAO,UAASA,GAAA,MAAAA,EAAO,QAAQ,SACnC,MAAMC,EACJD,EAAM,cAAc,QAAQ,kBAAkB,GAAK,IAAMA,EAAM,cAAc,uBAAuB,KAAOA,EAAM,cAAc,KAC3HE,EAAUF,EAAM,cAAc,QAAQ,kBAAkB,GAAK,IAAMA,EAAM,cAAc,uBAAuB,GAAKA,EAAM,cAAc,GACvIG,EACJH,EAAM,cAAc,QAAQ,kBAAkB,GAAK,IAAMA,EAAM,cAAc,uBAAuB,KAAOA,EAAM,cAAc,KAE7HG,GAAa,QACf,KAAK,mBAAmBH,EAAOC,EAAgBC,EAASC,CAAS,EAEjE,KAAK,sBAAsBH,EAAOC,EAAgBC,EAASC,CAAS,EAG/D,OAAA,cAAqC,IAAI,YAAY,sBAAuB,CAAE,OAAQ,CAAE,QAAAD,EAAW,CAAA,CAAC,CAC7G,EACA,mBAAoB,SAAUF,EAAYC,EAAqBC,EAAcC,EAAgB,CAC3F,MAAMC,EAAsB,+BAAU,iBAAmC,eAAiBH,EAAiB,KAE3G,CAAA,EAAG,QAAQ,KAAKG,EAAsBL,GAAkC,CApC5E,IAAAM,EAqCY,MAAAC,GAAWD,EAAAN,EAAY,qBAAZ,YAAAM,EAAgC,SAEjD,CAAA,EAAG,QAAQ,KAAKC,EAAWC,GAAyB,CAC9CR,EAAY,IAAMG,GACpBH,EAAY,QAAU,GAClBQ,EAAQ,UAAU,SAAS,UAAYJ,EAAY,gBAAgB,GAC7DI,EAAA,UAAU,OAAO,cAAc,EAC/BA,EAAA,UAAU,IAAI,eAAe,IAE7BA,EAAA,UAAU,IAAI,cAAc,EAC5BA,EAAA,UAAU,OAAO,eAAe,KAG1CR,EAAY,QAAU,GAClBQ,EAAQ,UAAU,SAAS,UAAYJ,EAAY,gBAAgB,GAC7DI,EAAA,UAAU,IAAI,cAAc,EAC5BA,EAAA,UAAU,OAAO,eAAe,IAEhCA,EAAA,UAAU,OAAO,cAAc,EAC/BA,EAAA,UAAU,IAAI,eAAe,GAEzC,CACD,CAAA,CACF,CACH,EACA,sBAAuB,SAAUP,EAAYC,EAAqBC,EAAcC,EAAgB,CAC9F,MAAMK,EAAoB,+BAAU,iBAAmC,eAAiBP,EAAiB,KACzG,CAAA,EAAG,QAAQ,KAAKO,EAAoBC,GAA+B,CAhEvE,IAAAJ,EAiEUI,EAAS,IAAMP,GAAWF,EAAM,cAAc,QAAQ,qBAAuB,MACtES,EAAA,QAAU,CAAAA,EAAS,SAExB,MAAAH,GAAWD,EAAAI,EAAS,qBAAT,YAAAJ,EAA6B,SAE9C,CAAA,EAAG,QAAQ,KAAKC,EAAWC,GAAyB,CAC9CE,EAAS,IAAMP,IACjBK,EAAQ,UAAU,SAAS,eAAe,EAAIA,EAAQ,UAAU,OAAO,eAAe,EAAIA,EAAQ,UAAU,IAAI,eAAe,EAC/HA,EAAQ,UAAU,SAAS,cAAc,EAAIA,EAAQ,UAAU,OAAO,cAAc,EAAIA,EAAQ,UAAU,IAAI,cAAc,EAC9H,CACD,CAAA,CACF,CACH,CACF,EAEAZ,EAAc,KAAK"}