{ "version": 3, "sources": ["../../../src/js/components/dropdown.ts"], "sourcesContent": ["document.addEventListener('DOMContentLoaded', function () {\n\t// $('.custom-select').click(function (e) {\n\t// \tif (!$(e.target).hasClass('option')) {\n\t// \t\t$(this).toggleClass('open')\n\t// \t\t$(this).find('.dropdown').toggleClass('open')\n\t// \t} else {\n\t// \t\t$(this).toggleClass('open')\n\t// \t\t$(this).find('.dropdown').toggleClass('open')\n\t// \t\t$('.selected').text(`${$(e.target).text()}`)\n\t// \t}\n\t// })\n\n\tconst selects = document.querySelectorAll('.custom-select')\n\n\tselects.forEach(select => {\n\t\t// console.log(select)\n\t\tconst trigger = select.querySelector('.trigger')!\n\t\tconst optionsHolder = select.querySelector('.options')!\n\t\tconst options =\n\t\t\toptionsHolder.querySelectorAll('.option')!\n\t\tconst selectedValue = select.querySelector('.selected')!\n\t\tconst input = select.querySelector('input')!\n\n\t\tfunction updateSelectedValue(value = '', label = '') {\n\t\t\tselectedValue.textContent = label\n\t\t\t// console.log({ value, label })\n\n\t\t\tif (value === 'other') {\n\t\t\t\tinput.value = ''\n\t\t\t\tinput.type = 'text'\n\t\t\t\tinput.focus()\n\t\t\t} else {\n\t\t\t\tinput.type = 'hidden'\n\t\t\t\tinput.value = value\n\t\t\t\tinput.dispatchEvent(new Event('change'))\n\t\t\t}\n\t\t}\n\n\t\tfunction toggleOpen(force?: boolean) {\n\t\t\tconst expanded =\n\t\t\t\tforce === undefined\n\t\t\t\t\t? trigger.getAttribute('aria-expanded') === 'true'\n\t\t\t\t\t: !force\n\n\t\t\toptionsHolder.style.display = expanded ? 'none' : 'block'\n\t\t\ttrigger.setAttribute('aria-expanded', (!expanded).toString())\n\t\t}\n\n\t\ttrigger.addEventListener('click', e => {\n\t\t\t// console.log(e)\n\t\t\te.preventDefault()\n\t\t\te.stopPropagation()\n\t\t\ttoggleOpen()\n\t\t})\n\n\t\toptions.forEach(option =>\n\t\t\toption.addEventListener('click', () => {\n\t\t\t\tupdateSelectedValue(\n\t\t\t\t\toption.dataset.value,\n\t\t\t\t\toption.textContent?.trim() ?? ''\n\t\t\t\t)\n\t\t\t\ttoggleOpen(false)\n\t\t\t})\n\t\t)\n\n\t\tdocument.addEventListener('click', e => {\n\t\t\tif (e.target instanceof Element && !select.contains(e.target)) {\n\t\t\t\ttoggleOpen(false)\n\t\t\t}\n\t\t})\n\t})\n})\n"], "mappings": "mBAAA,SAAS,iBAAiB,mBAAoB,UAAY,CAYzC,SAAS,iBAAiB,gBAAgB,EAElD,QAAQA,GAAU,CAEzB,IAAMC,EAAUD,EAAO,cAA2B,UAAU,EACtDE,EAAgBF,EAAO,cAA2B,UAAU,EAC5DG,EACLD,EAAc,iBAAoC,SAAS,EACtDE,EAAgBJ,EAAO,cAA2B,WAAW,EAC7DK,EAAQL,EAAO,cAAgC,OAAO,EAE5D,SAASM,EAAoBC,EAAQ,GAAIC,EAAQ,GAAI,CACpDJ,EAAc,YAAcI,EAGxBD,IAAU,SACbF,EAAM,MAAQ,GACdA,EAAM,KAAO,OACbA,EAAM,MAAM,IAEZA,EAAM,KAAO,SACbA,EAAM,MAAQE,EACdF,EAAM,cAAc,IAAI,MAAM,QAAQ,CAAC,EAEzC,CAEA,SAASI,EAAWC,EAAiB,CACpC,IAAMC,EACLD,IAAU,OACPT,EAAQ,aAAa,eAAe,IAAM,OAC1C,CAACS,EAELR,EAAc,MAAM,QAAUS,EAAW,OAAS,QAClDV,EAAQ,aAAa,iBAAkB,CAACU,GAAU,SAAS,CAAC,CAC7D,CAEAV,EAAQ,iBAAiB,QAAS,GAAK,CAEtC,EAAE,eAAe,EACjB,EAAE,gBAAgB,EAClBQ,EAAW,CACZ,CAAC,EAEDN,EAAQ,QAAQS,GACfA,EAAO,iBAAiB,QAAS,IAAM,CAxD1C,IAAAC,EAAAC,EAyDIR,EACCM,EAAO,QAAQ,OACfE,GAAAD,EAAAD,EAAO,cAAP,YAAAC,EAAoB,SAApB,KAAAC,EAA8B,EAC/B,EACAL,EAAW,EAAK,CACjB,CAAC,CACF,EAEA,SAAS,iBAAiB,QAAS,GAAK,CACnC,EAAE,kBAAkB,SAAW,CAACT,EAAO,SAAS,EAAE,MAAM,GAC3DS,EAAW,EAAK,CAElB,CAAC,CACF,CAAC,CACF,CAAC", "names": ["select", "trigger", "optionsHolder", "options", "selectedValue", "input", "updateSelectedValue", "value", "label", "toggleOpen", "force", "expanded", "option", "_a", "_b"] }