{"version":3,"file":"searchByFilterChunk.js?v=23.134.0+20261102.30.bbbf8652390b5ce306040b1cece1df0dd99fac01&h=3abc49e92b241aac74f4","mappings":"iJAAe,MAAMA,EAGnB,cAFQ,KAAAC,kBAA4B,EAMnB,KAAAC,WAAa,KAC5B,MAAMC,EAAaC,SAASC,eAAe,wBAC3CC,KAAKL,mBAAoBE,aAAU,EAAVA,EAAYI,UAAUC,SAAS,cACxDL,SAAAA,EAAYM,iBAAiB,SAAS,KACpCH,KAAKI,cAAcP,EAAW,IAGbC,SAASO,iBAC1B,mCAESC,SAASC,IAClBA,EAAQJ,iBAAiB,SAAS,KAChCH,KAAKQ,aAAaD,EAAQ,GAC1B,IAGJ,MAAME,EAAmBX,SAASC,eAChC,oCAEEU,GACFX,SAASK,iBACP,0CACCO,IACC,MAAMC,EAAeD,EAAEE,OACvBH,EAAiBI,UAAYF,CAAY,IAE3C,GAIJ,MAAMG,EAAYhB,SAASC,eACzB,wBAEIgB,EAAajB,SAASC,eAAe,sBAE3CC,KAAKgB,6BAA6BF,EAAWC,EAAW,EAtCxDf,KAAKJ,YACP,CAwCQ,aAAAQ,CAAcP,GAEpBG,KAAKL,kBAAoBK,KAAKL,iBAC9B,MAAMsB,EAAcnB,SAASC,eAAe,6BACtCmB,EAAepB,SAASC,eAAe,wBACvCoB,EAAuBrB,SAASC,eAAe,sBAGjDkB,IACFA,EAAYG,UAAYpB,KAAKL,iBACzBE,EAAWwB,QAAQC,UACnBzB,EAAWwB,QAAQE,WAIrBvB,KAAKL,kBACPwB,EAAqBE,QAAQG,qBAAuB,OACpDN,SAAAA,EAAcO,aAAa,+BAAgC,UAC3DP,SAAAA,EAAcO,aAAa,qCAAsC,WAEjEN,EAAqBE,QAAQG,qBAAuB,QACpDN,SAAAA,EAAcO,aAAa,+BAAgC,YAC3DP,SAAAA,EAAcO,aACZ,qCACA,YAKmB5B,EAAW6B,QAAQ,oBAGHC,cAAc,uBAGbtB,iBAAiB,UACzCC,SAASsB,IAClB5B,KAAKL,mBACRiC,EAAKC,cAAgB,GAEvB7B,KAAKL,iBACDiC,EAAKE,gBAAgB,YACrBF,EAAKH,aAAa,WAAY,OAAO,GAE7C,CAEQ,YAAAjB,CAAauB,GAEnB,MAAMC,EAAiBD,EAAUL,QAAQ,oBACnCO,EAA8BD,aAAc,EAAdA,EAAgBL,cAAc,QAClEM,SAAAA,EAAYC,OACd,CAEQ,4BAAAlB,CACNmB,EACApB,GAEA,MAAMqB,EAAmB,eACnBC,EAAmB,eAEzBF,SAAAA,EAAWhC,iBAAiB,SAAUmC,IAChCH,EAAUlC,UAAUC,SAASmC,IAC/BF,EAAUlC,UAAUsC,QAAQF,EAAkBD,GAC9CD,EAAUV,aAAa,gBAAiB,SACxCV,SAAAA,EAAYd,UAAUuC,OAAO,iCAE7BL,EAAUlC,UAAUsC,QAAQH,EAAkBC,GAC9CF,EAAUV,aAAa,gBAAiB,QACxCV,SAAAA,EAAYd,UAAUwC,IAAI,+B,GAGhC,E","sources":["webpack://site-client-side/./ClientApp/components/homepageSearchWidget/cosmos/shopByVehicle/searchByFilter/searchByFilter.ts"],"sourcesContent":["export default class SearchByFilter {\n private _toggleIsVisible: boolean = false;\n\n public constructor() {\n this.initialize();\n }\n\n private readonly initialize = () => {\n const toggleElem = document.getElementById(\"searchByFilterToggle\");\n this._toggleIsVisible = !toggleElem?.classList.contains(\"collapsed\");\n toggleElem?.addEventListener(\"click\", () => {\n this.toggleFilters(toggleElem);\n });\n\n const resetElems = document.querySelectorAll(\n \".search-by-filter__reset-button\"\n );\n resetElems.forEach((element: HTMLElement) => {\n element.addEventListener(\"click\", () => {\n this.resetFilters(element);\n });\n });\n\n const vehicleCountElem = document.getElementById(\n \"homepageSearchWidgetVehicleCount\"\n );\n if (vehicleCountElem) {\n document.addEventListener(\n \"inventorywidget-update-inventory-count\",\n (e: CustomEvent) => {\n const vehicleCount = e.detail;\n vehicleCountElem.innerHTML = vehicleCount;\n },\n false\n );\n }\n\n const filterBtn = document.getElementById(\n \"searchByFilterToggle\"\n ) as HTMLButtonElement;\n const searchForm = document.getElementById(\"searchByFilterForm\");\n\n this.processMoreLessFiltersToggle(filterBtn, searchForm);\n };\n\n private toggleFilters(toggleElem: HTMLElement) {\n //set the toggle state\n this._toggleIsVisible = !this._toggleIsVisible;\n const toggleLabel = document.getElementById(\"searchByFilterToggleLabel\");\n const toggleButton = document.getElementById(\"searchByFilterToggle\");\n const lessFiltersContainer = document.getElementById(\"searchByFilterLess\");\n\n //update the more/less filter button text\n if (toggleLabel) {\n toggleLabel.innerText = this._toggleIsVisible\n ? toggleElem.dataset.lessLabel\n : toggleElem.dataset.moreLabel;\n }\n\n //update dotagging dynamic tags\n if (this._toggleIsVisible) {\n lessFiltersContainer.dataset.moreFiltersDisplayed = \"True\";\n toggleButton?.setAttribute(\"data-dotagging-element-state\", \"active\");\n toggleButton?.setAttribute(\"data-dotagging-event-action-result\", \"check\");\n } else {\n lessFiltersContainer.dataset.moreFiltersDisplayed = \"False\";\n toggleButton?.setAttribute(\"data-dotagging-element-state\", \"inactive\");\n toggleButton?.setAttribute(\n \"data-dotagging-event-action-result\",\n \"uncheck\"\n );\n }\n\n //fetch the div container that has the additional filters\n const mainFilterElem = toggleElem.closest(\"inventory-widget\");\n\n // hide/show more filters\n const moreFiltersElem = mainFilterElem.querySelector(\"#searchByFilterMore\");\n\n // disable/enable the more filters inputs\n const moreFilterElems = moreFiltersElem.querySelectorAll(\"select\");\n moreFilterElems.forEach((elem: HTMLSelectElement) => {\n if (!this._toggleIsVisible) {\n elem.selectedIndex = 0;\n }\n this._toggleIsVisible\n ? elem.removeAttribute(\"disabled\")\n : elem.setAttribute(\"disabled\", \"true\");\n });\n }\n\n private resetFilters(resetElem: HTMLElement) {\n //fetch the div container that elements to reset\n const mainFilterElem = resetElem.closest(\"inventory-widget\");\n const filterForm: HTMLFormElement = mainFilterElem?.querySelector(\"form\");\n filterForm?.reset();\n }\n\n private processMoreLessFiltersToggle(\n toggleBtn: HTMLButtonElement,\n searchForm: HTMLElement\n ) {\n const moreFiltersClass = \"more-filters\";\n const lessFiltersClass = \"less-filters\";\n\n toggleBtn?.addEventListener(\"click\", (event: MouseEvent) => {\n if (toggleBtn.classList.contains(lessFiltersClass)) {\n toggleBtn.classList.replace(lessFiltersClass, moreFiltersClass);\n toggleBtn.setAttribute(\"aria-expanded\", \"false\");\n searchForm?.classList.remove(\"search-by-filter--show-more\");\n } else {\n toggleBtn.classList.replace(moreFiltersClass, lessFiltersClass);\n toggleBtn.setAttribute(\"aria-expanded\", \"true\");\n searchForm?.classList.add(\"search-by-filter--show-more\");\n }\n });\n }\n}\n"],"names":["SearchByFilter","_toggleIsVisible","initialize","toggleElem","document","getElementById","this","classList","contains","addEventListener","toggleFilters","querySelectorAll","forEach","element","resetFilters","vehicleCountElem","e","vehicleCount","detail","innerHTML","filterBtn","searchForm","processMoreLessFiltersToggle","toggleLabel","toggleButton","lessFiltersContainer","innerText","dataset","lessLabel","moreLabel","moreFiltersDisplayed","setAttribute","closest","querySelector","elem","selectedIndex","removeAttribute","resetElem","mainFilterElem","filterForm","reset","toggleBtn","moreFiltersClass","lessFiltersClass","event","replace","remove","add"],"sourceRoot":""}