{"version":3,"file":"component-servicePageNavigation.chunk.js","mappings":"+JAEe,MAAMA,UAA8B,IAC/CC,YAAYC,GACRC,MAAMD,GACNE,KAAKC,gBACDD,KAAKE,IAAIC,UAAUC,SAAS,WAC5BJ,KAAKK,uBACLL,KAAKM,eAEb,CACAL,gBACI,IAAIM,EAAUP,KAAKE,IAAIM,cAAc,2BACrC,IAAKD,EAAS,CACV,IAAIE,EAAcT,KAAKE,IAAIM,cAAc,WAAWE,OAAOC,SAASC,cAEpE,GADAL,EAAUE,GAAeA,EAAYI,eAChCJ,EAAa,CACd,MAAMK,EAAaC,SAASC,KAAKR,cAAc,SAASS,aAAa,eAC/DC,EAAcJ,GAAcA,EAAWK,MAAM,KAAK,GAAGC,oBAC3Db,EAAUP,KAAKE,IAAIM,cAAc,sBAAsBU,MAC3D,CACAX,GAAWA,EAAQc,aAAa,eAAgB,OACpD,CACJ,CACAhB,uBACI,IAAIiB,EAAMtB,KAAKE,IAAIM,cAAc,UAC7Be,EAAKvB,KAAKE,IAAIM,cAAc,MAC5BgB,EAAQD,EAAGE,iBAAiB,MAChCH,EAAID,aAAa,OAAQ,YACzBE,EAAGF,aAAa,OAAQ,WACxBE,EAAGF,aAAa,WAAY,MAC5BE,EAAGF,aAAa,KAAMC,EAAII,GAAGC,QAAQ,QAAS,YAC9CH,EAAMI,SAASC,IACXA,EAAKR,aAAa,OAAQ,UAC1BQ,EAAKR,aAAa,gBAAiB,SACnCQ,EAAKrB,cAAc,mBAAqBqB,EAAKrB,cAAc,kBAAkBsB,SAC7ED,EAAKR,aAAa,QAASQ,EAAKrB,cAAc,KAAKS,aAAa,SAChEY,EAAKR,aAAa,YAAaQ,EAAKrB,cAAc,KAAKS,aAAa,SACpEY,EAAKE,UAAYF,EAAKrB,cAAc,KAAKuB,UACC,SAAtCF,EAAKZ,aAAa,iBAClBY,EAAKR,aAAa,gBAAiB,QACnCC,EAAIS,UAAYF,EAAKE,WAGrBF,EAAKR,aAAa,gBAAiB,SAEvCQ,EAAKG,gBAAgB,eAAe,GAE5C,CACA1B,eACIN,KAAKiC,SAAW,IAAI,UAASjC,KAAKE,KAClCF,KAAKkC,iBACT,CACAA,kBACIlC,KAAKE,IAAIiC,iBAAiB,UAAWC,IAEjC,MAAMC,EADQrC,KAAKiC,SAASK,UACA9B,cAAc,0BAA0BS,aAAa,aAC7EoB,GAA+B,SAAhBA,GAA0C,KAAhBA,GACzC3B,OAAOC,SAAS4B,OAAOF,EAC3B,GAER,E","sources":["webpack:///./assets/src/scripts/components/servicePageNavigation.ts"],"sourcesContent":["import Combobox from './comboBox';\nimport BaseComponent from '../base/baseComponent';\nexport default class ServicePageNavigation extends BaseComponent {\n constructor(element) {\n super(element);\n this.defineCurrent();\n if (this.$el.classList.contains('combo')) {\n this.setMarkupForCombobox();\n this.initCombobox();\n }\n }\n defineCurrent() {\n let current = this.$el.querySelector('li[aria-current=\"true\"]');\n if (!current) {\n let currentLink = this.$el.querySelector(`[href*=\"${window.location.pathname}\"]`);\n current = currentLink && currentLink.parentElement;\n if (!currentLink) {\n const pageAction = document.body.querySelector('.page').getAttribute('data-action');\n const currentArea = pageAction && pageAction.split('-')[0].toLocaleLowerCase();\n current = this.$el.querySelector(`[data-servicearea=\"${currentArea}\"]`);\n }\n current && current.setAttribute('aria-current', 'true');\n }\n }\n setMarkupForCombobox() {\n let btn = this.$el.querySelector('button');\n let ul = this.$el.querySelector('ul');\n let items = ul.querySelectorAll('li');\n btn.setAttribute('role', 'combobox');\n ul.setAttribute('role', 'listbox');\n ul.setAttribute('tabindex', '-1');\n ul.setAttribute('id', btn.id.replace('combo', 'listbox'));\n items.forEach((item) => {\n item.setAttribute('role', 'option');\n item.setAttribute('aria-selected', 'false');\n item.querySelector('.icon--chevron') && item.querySelector('.icon--chevron').remove();\n item.setAttribute('value', item.querySelector('a').getAttribute('href'));\n item.setAttribute('data-href', item.querySelector('a').getAttribute('href'));\n item.innerHTML = item.querySelector('a').innerHTML;\n if (item.getAttribute('aria-current') === 'true') {\n item.setAttribute('aria-selected', 'true');\n btn.innerHTML = item.innerHTML;\n }\n else {\n item.setAttribute('aria-selected', 'false');\n }\n item.removeAttribute('aria-current');\n });\n }\n initCombobox() {\n this.navCombo = new Combobox(this.$el);\n this.listenForChange();\n }\n listenForChange() {\n this.$el.addEventListener('change', (e) => {\n let listbox = this.navCombo.listboxEl;\n const selectedUrl = listbox.querySelector('[aria-selected=\"true\"]').getAttribute('data-href');\n if (selectedUrl && selectedUrl !== 'null' && selectedUrl !== '') {\n window.location.assign(selectedUrl);\n }\n });\n }\n}\n"],"names":["ServicePageNavigation","constructor","element","super","this","defineCurrent","$el","classList","contains","setMarkupForCombobox","initCombobox","current","querySelector","currentLink","window","location","pathname","parentElement","pageAction","document","body","getAttribute","currentArea","split","toLocaleLowerCase","setAttribute","btn","ul","items","querySelectorAll","id","replace","forEach","item","remove","innerHTML","removeAttribute","navCombo","listenForChange","addEventListener","e","selectedUrl","listboxEl","assign"],"sourceRoot":""}