{"version":3,"file":"dropdown.js","sources":["../../../../src/assets/scripts/dropdown.entry.js"],"sourcesContent":["import { runScript } from '../../_helpers/runScript.js';\n\nwindow.arjoDropdownJs = window.arjoDropdownJs || {\n isInitialized: false,\n optionContainerClickHandler: function (optionContainer) {\n optionContainer.toggleAttribute('expanded');\n optionContainer.closest('.arjo-m-dropdown').toggleAttribute('expanded');\n },\n\n changeEventHandler: function (inputElement, init) {\n if (!inputElement.checked) {\n return;\n }\n\n const dropdownElement = inputElement.closest('.arjo-m-dropdown');\n if (!dropdownElement) {\n return;\n }\n\n const optionContainer = dropdownElement.querySelector('.arjo-m-dropdown__options');\n if (!optionContainer) {\n return;\n }\n\n const topLabelElement = dropdownElement.querySelector('.arjo-m-dropdown__label');\n if (!topLabelElement) {\n return;\n }\n\n const topLabelTextElement = topLabelElement.querySelector('.arjo-m-dropdown__label-text');\n const selectedText = inputElement.getAttribute('data-label');\n topLabelTextElement.textContent = selectedText;\n\n optionContainer.removeAttribute('expanded');\n optionContainer.closest('.arjo-m-dropdown').removeAttribute('expanded');\n\n const eventInfo = {\n detail: {\n value: inputElement.value,\n inputElement: inputElement,\n init,\n },\n };\n const customEvent = new CustomEvent(`dropdownChange`, eventInfo);\n dropdownElement.dispatchEvent(customEvent);\n },\n\n setUpDropdown: function () {\n const dropdowns = document.querySelectorAll('.arjo-m-dropdown:not([data-event-attached=\"true\"])');\n [].forEach.call(dropdowns, (dropdown) => {\n dropdown.dataset.eventAttached = 'true';\n const topLabel = dropdown.querySelector('.arjo-m-dropdown__label');\n const optionContainer = dropdown.querySelector('.arjo-m-dropdown__options');\n\n const options = optionContainer.querySelectorAll('.arjo-m-dropdown__options-input');\n [].forEach.call(options, (option) => {\n option.addEventListener('change', () => this.changeEventHandler(option));\n if (dropdown.getAttribute('data-disable-first-change')) {\n return;\n }\n if (option.checked) {\n this.changeEventHandler(option);\n }\n });\n\n topLabel.addEventListener('click', () => this.optionContainerClickHandler(optionContainer));\n\n dropdown.addEventListener('optionChange', (e) => {\n const selectedOption = [].find.call(options, (o) => o.value == e.detail.value);\n if (selectedOption) {\n selectedOption.checked = true;\n this.changeEventHandler(selectedOption, e.detail.init);\n }\n });\n\n document.addEventListener('click', function (e) {\n if (!dropdown.contains(e.target) || optionContainer.contains(e.target)) {\n optionContainer.removeAttribute('expanded');\n optionContainer.closest('.arjo-m-dropdown').removeAttribute('expanded');\n }\n });\n });\n },\n\n init: function () {\n if (this.isInitialized) {\n return;\n }\n this.isInitialized = true;\n\n this.setUpDropdown();\n },\n};\n\n\nrunScript(() => window.arjoDropdownJs.init(), 'DOMContentLoaded');\n"],"names":["optionContainer","inputElement","init","dropdownElement","topLabelElement","topLabelTextElement","selectedText","eventInfo","customEvent","dropdowns","dropdown","topLabel","options","option","selectedOption","o","runScript"],"mappings":"+CAEA,OAAO,eAAiB,OAAO,gBAAkB,CAC/C,cAAe,GACf,4BAA6B,SAAUA,EAAiB,CACtDA,EAAgB,gBAAgB,UAAU,EAC1CA,EAAgB,QAAQ,kBAAkB,EAAE,gBAAgB,UAAU,CACvE,EAED,mBAAoB,SAAUC,EAAcC,EAAM,CAChD,GAAI,CAACD,EAAa,QAChB,OAGF,MAAME,EAAkBF,EAAa,QAAQ,kBAAkB,EAC/D,GAAI,CAACE,EACH,OAGF,MAAMH,EAAkBG,EAAgB,cAAc,2BAA2B,EACjF,GAAI,CAACH,EACH,OAGF,MAAMI,EAAkBD,EAAgB,cAAc,yBAAyB,EAC/E,GAAI,CAACC,EACH,OAGF,MAAMC,EAAsBD,EAAgB,cAAc,8BAA8B,EAClFE,EAAeL,EAAa,aAAa,YAAY,EAC3DI,EAAoB,YAAcC,EAElCN,EAAgB,gBAAgB,UAAU,EAC1CA,EAAgB,QAAQ,kBAAkB,EAAE,gBAAgB,UAAU,EAEtE,MAAMO,EAAY,CAChB,OAAQ,CACN,MAAON,EAAa,MACpB,aAAcA,EACd,KAAAC,CACD,CACP,EACUM,EAAc,IAAI,YAAY,iBAAkBD,CAAS,EAC/DJ,EAAgB,cAAcK,CAAW,CAC1C,EAED,cAAe,UAAY,CACzB,MAAMC,EAAY,SAAS,iBAAiB,oDAAoD,EAChG,CAAA,EAAG,QAAQ,KAAKA,EAAYC,GAAa,CACvCA,EAAS,QAAQ,cAAgB,OACjC,MAAMC,EAAWD,EAAS,cAAc,yBAAyB,EAC3DV,EAAkBU,EAAS,cAAc,2BAA2B,EAEpEE,EAAUZ,EAAgB,iBAAiB,iCAAiC,EAClF,CAAA,EAAG,QAAQ,KAAKY,EAAUC,GAAW,CACnCA,EAAO,iBAAiB,SAAU,IAAM,KAAK,mBAAmBA,CAAM,CAAC,EACnE,CAAAH,EAAS,aAAa,2BAA2B,GAGjDG,EAAO,SACT,KAAK,mBAAmBA,CAAM,CAExC,CAAO,EAEDF,EAAS,iBAAiB,QAAS,IAAM,KAAK,4BAA4BX,CAAe,CAAC,EAE1FU,EAAS,iBAAiB,eAAiB,GAAM,CAC/C,MAAMI,EAAiB,CAAE,EAAC,KAAK,KAAKF,EAAUG,GAAMA,EAAE,OAAS,EAAE,OAAO,KAAK,EACzED,IACFA,EAAe,QAAU,GACzB,KAAK,mBAAmBA,EAAgB,EAAE,OAAO,IAAI,EAE/D,CAAO,EAED,SAAS,iBAAiB,QAAS,SAAU,EAAG,EAC1C,CAACJ,EAAS,SAAS,EAAE,MAAM,GAAKV,EAAgB,SAAS,EAAE,MAAM,KACnEA,EAAgB,gBAAgB,UAAU,EAC1CA,EAAgB,QAAQ,kBAAkB,EAAE,gBAAgB,UAAU,EAEhF,CAAO,CACP,CAAK,CACF,EAED,KAAM,UAAY,CACZ,KAAK,gBAGT,KAAK,cAAgB,GAErB,KAAK,cAAa,EACnB,CACH,EAGAgB,EAAU,IAAM,OAAO,eAAe,KAAI,EAAI,kBAAkB"}