{"version":3,"sources":["webpack:///./node_modules/ui-theme/js/components/_component-collapser.js"],"names":["UX","ComponentCollapser","_createClass","_classCallCheck","this","ariaHiders","document","querySelectorAll","length","controller","key","value","_this","forEach","ariaHider","addEventListener","e","toggleCollapse","event","hasAttributes","ariaExpanded","getAttribute","component","querySelector","concat","hideComponent","preventDefault","showComponent","setAttribute","textContent","classList","add","focus","remove","componentCollapser"],"mappings":"iGAAA,SAAWA,GAAI,IACLC,EAAkB,wBAOnB,OAAAC,GAND,SAAAD,qBAAcE,EAAA,KAAAF,oBACVG,KAAKC,WAAaC,SAASC,iBAAiB,2CACvCH,KAAKC,WAAWG,QAGrBJ,KAAKK,eACR,EAAAC,IAAA,aAAAC,MAED,SAAAF,aAAa,IAAAG,EAAA,KACTR,KAAKC,WAAWQ,SAAQ,SAAAC,GACpBA,EAAUC,iBAAiB,SAAS,SAAAC,GAAC,OAAIJ,EAAKK,eAAeD,EAAGF,WAEvE,CAAAJ,IAAA,iBAAAC,MAED,SAAAM,eAAeC,EAAOJ,GAClB,GAAKA,EAAUK,gBAAf,CAGA,IAAMC,EAAeN,EAAUO,aAAa,iBAAmB,GAC/D,IACI,IAAMC,EAAYhB,SAASiB,cAAc,IAADC,OAAKV,EAAUO,aAAa,mBACpE,IAAKC,EACD,OAEiB,SAAjBF,EACAhB,KAAKqB,cAAcX,EAAWQ,IAE9BJ,EAAMQ,iBACNtB,KAAKuB,cAAcb,EAAWQ,IAEpC,MAAON,QAGZ,CAAAN,IAAA,gBAAAC,MAED,SAAAc,cAAcX,EAAWQ,GACrBR,EAAUc,aAAa,iBAAiB,GACxCd,EAAUe,YAAcf,EAAUO,aAAa,yBAA2B,OAC1EC,EAAUQ,UAAUC,IAAI,YAC3B,CAAArB,IAAA,gBAAAC,MAED,SAAAgB,cAAcb,EAAWQ,GACrBA,EAAUU,QACVlB,EAAUc,aAAa,iBAAiB,GACxCd,EAAUe,YAAcf,EAAUO,aAAa,wBAA0B,OACzEC,EAAUQ,UAAUG,OAAO,cA9CX,GAkDxBjC,EAAGkC,mBAAqB,IAAIjC,EAnDhC,CAoDGD","file":"js/componentCollapser-1dc69dae83f5492a80b4.js","sourcesContent":["(function (UX) {\n class ComponentCollapser {\n constructor() {\n this.ariaHiders = document.querySelectorAll('.js--collapsable [data-collapsed-title]');\n if (!this.ariaHiders.length) {\n return;\n }\n this.controller();\n }\n\n controller() {\n this.ariaHiders.forEach(ariaHider => {\n ariaHider.addEventListener('click', e => this.toggleCollapse(e, ariaHider));\n });\n }\n\n toggleCollapse(event, ariaHider) {\n if (!ariaHider.hasAttributes()) {\n return;\n }\n const ariaExpanded = ariaHider.getAttribute('aria-expanded') + ''; //convert it into string\n try {\n const component = document.querySelector(`#${ariaHider.getAttribute('aria-controls')}`);\n if (!component) {\n return;\n }\n if (ariaExpanded === 'true') {\n this.hideComponent(ariaHider, component);\n } else {\n event.preventDefault();\n this.showComponent(ariaHider, component);\n }\n } catch (e) {\n // error occurred\n }\n }\n\n hideComponent(ariaHider, component) {\n ariaHider.setAttribute('aria-expanded', false);\n ariaHider.textContent = ariaHider.getAttribute('data-collapsed-title') || 'Show';\n component.classList.add('hidden');\n }\n\n showComponent(ariaHider, component) {\n component.focus();\n ariaHider.setAttribute('aria-expanded', true);\n ariaHider.textContent = ariaHider.getAttribute('data-expanded-title') || 'Hide';\n component.classList.remove('hidden');\n }\n }\n\n UX.componentCollapser = new ComponentCollapser();\n})(UX);\n"],"sourceRoot":""}