{"version":3,"file":"8Au0YbFe.js","sources":["../../../../../domains/commerce/components/filter/pickup/Pickup.vue","../../../../../domains/commerce/components/product/list/Header.vue","../../../../../domains/commerce/components/product/list/Skeleton.vue","../../../../../domains/commerce/components/product/list/Filters.vue","../../../../../domains/commerce/composables/useFilters/index.ts","../../../../../domains/commerce/components/product/list/List.vue"],"sourcesContent":["\n \n \n \n {{ $t.allItems }}\n \n \n \n \n {{ selectedStore?.name || $t.pickupIn24Hours }}\n \n \n \n \n \n\n\n\n","\n \n \n \n \n {{ total }} {{ $pluralize($t.products, total) }}\n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {{ $t.filterAndSort }}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n\n\n\n","\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n","\n \n \n \n \n \n \n \n \n \n\n\n\n","import type { ProductFilters } from '#root/api/clients/product/data-contracts'\nimport type { FilterItem, FiltersMap, PriceFilter, SearchFilter } from '#types/filters'\n\nexport default (_filters: MaybeRefOrGetter, onChange?: () => void) => {\n const { defaultSort, sorts } = useAppConfig().pages.plp\n const { $gtm, $t } = useNuxtApp()\n\n const region = useRegion()\n const route = useRoute()\n const router = useRouter()\n\n const filtersQuery = ref(JSON.parse(route.query.filters?.toString() || '{}'))\n const filters = computed(() => Object.fromEntries(toValue(_filters)\n .map((item) => [item.code, {\n ...item,\n type: item.layout || 'TileExpanded',\n selected: filtersQuery.value[item.code] || []\n }])) as FiltersMap\n )\n\n // This watch gets triggered both by onFiltersChange\n // and by external changes to the url, such as from links in CMS content\n watch(() => [route.query.filters, route.query.storeFilter], (value, oldValue) => {\n filtersQuery.value = JSON.parse(route.query.filters?.toString() || '{}')\n if (value[0] !== oldValue?.[0] || value[1] !== oldValue?.[1])\n onChange?.()\n })\n\n const sortOptions = sorts[region].map((sort) => ({ value: sort, label: $t.sorts[sort] }))\n const sortState = ref((route.query.sort || defaultSort) as string)\n const storeFilterState = ref(route.query.storeFilter?.toString() || undefined)\n\n const onFiltersChange = () => {\n const filtersEntries = Object.values(filters.value)\n .filter(({ selected }) => selected?.length)\n .map(({ code, selected }) => [code, selected])\n\n filtersQuery.value = { ...filtersQuery.value, ...Object.fromEntries(filtersEntries) }\n\n router.push({\n query: {\n ...route.query,\n filters: Object.keys(filtersQuery.value).length ? JSON.stringify(filtersQuery.value) : undefined,\n sort: sortState.value,\n storeFilter: storeFilterState.value\n }\n })\n }\n\n const isPriceFilter = (filter: FilterItem): filter is PriceFilter => filter.type === 'PriceInput'\n const isSearchFilter = (filter: FilterItem): filter is SearchFilter => filter.type === 'Search'\n\n const filterBy = (code: string) => {\n const filter = filters.value[code]\n const { selected, facetId } = filter\n const previous = filtersQuery.value[code] || []\n\n if (isPriceFilter(filter) || isSearchFilter(filter)) {\n $gtm.push('plpPage.onApplyFilter', code, facetId, selected)\n }\n else if (previous.length < selected.length) {\n const id = selected.filter((item) => !previous.includes(item))[0]\n const { label } = filter.options.find((option) => option.id === id)!\n $gtm.push('plpPage.onApplyFilter', filter.label, facetId, label)\n }\n else {\n const id = previous.filter((item: string) => !selected.includes(item))[0]\n const { label } = filter.options.find((option) => option.id === id)!\n $gtm.push('plpPage.onRemoveFilter', filter.label, facetId, label)\n if (!selected.length) delete filtersQuery.value[code]\n }\n onFiltersChange()\n }\n\n const filterByStore = (storeId?: string) => {\n storeFilterState.value = storeId\n onFiltersChange()\n }\n\n const removeFilter = ({ code, id }) => {\n const filter = filters.value[code]\n const removedId = id || filter.selected\n\n if (isPriceFilter(filter) || isSearchFilter(filter)) {\n $gtm.push('plpPage.onRemoveFilter', code, filter.facetId, removedId)\n }\n else {\n const { label } = filter.options.find((option) => option.id === id)!\n $gtm.push('plpPage.onRemoveFilter', filter.label, filter.facetId, label)\n }\n\n filtersQuery.value[code] = filter.type === 'PriceInput'\n ? []\n : filtersQuery.value[code]?.filter((item: string) => item !== id)\n\n if (!filtersQuery.value[code].length) delete filtersQuery.value[code]\n onFiltersChange()\n }\n\n const clearFilters = () => {\n const selectedFilters = Object.values(filters.value).filter((item) => item.selected?.length)\n const category = selectedFilters?.length === 1 ? selectedFilters[0].label : 'All'\n\n $gtm.push('plpPage.onClearFilters', category)\n filtersQuery.value = {}\n onFiltersChange()\n }\n\n const sortBy = () => {\n $gtm.push('plpPage.onSort', sortOptions.find(({ value }) => value === sortState.value)?.label)\n onFiltersChange()\n }\n\n onActivated(() => {\n // Clear leftover filters in the keep-alive cache when navigating back to the same PLP with a filter-less URL (e.g. breadcrumbs)\n if (!route.query.filters && Object.values(filters.value).some((item) => item.selected?.length))\n clearFilters()\n\n // update sort and storefilter based on querystring\n sortState.value = (route.query.sort || defaultSort) as string\n storeFilterState.value = route.query.storeFilter?.toString() || undefined\n })\n\n return {\n clearFilters,\n filterBy,\n filterByStore,\n filters,\n filtersQuery,\n removeFilter,\n sortBy,\n sortOptions,\n sortState,\n storeFilterState\n }\n}\n","\n \n \n \n \n \n \n \n {{ label }}\n \n \n \n \n \n\n \n \n \n \n \n {{ $t.filterAndSort }}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n = +colsLg\"\n :show-discount-percentage=\"$feature.showDiscountPercentageOnCatalog\"\n :show-swatches=\"$feature.showSwatchesInProductList\"\n />\n \n\n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n\n\n\n"],"names":["modelValue","_useModel","__props","dialogOptions","useAppConfig","selected","computed","selectedStore","storeToRefs","useBopisStore","$gtm","useNuxtApp","DialogBopisStoreSearch","createDialog","changePickupMethod","ShippingMethod","_a","_b","selectPickupMethod","props","DefineProductCount","ProductCount","createReusableTemplate","brandClasses","filterAndSortCta","filtersPanelPosition","showOnScrollUp","isStickyPromoBarEnabled","$t","header","useHeaderStore","user","useUserStore","DialogFiltersParent","total","currency","products","hasFilters","_hoisted_1","_createElementVNode","_hoisted_4","_hoisted_5","_hoisted_3","_hoisted_6","_hoisted_8","_hoisted_10","_hoisted_12","_hoisted_16","_hoisted_14","_sfc_render","_ctx","_cache","_openBlock","_createElementBlock","_Fragment","_hoisted_2","_renderList","i","_hoisted_7","_hoisted_9","_hoisted_11","_hoisted_13","_hoisted_17","sideFilterOpenFacets","useFilters","_filters","onChange","defaultSort","sorts","region","useRegion","route","useRoute","router","useRouter","filtersQuery","ref","filters","toValue","item","watch","value","oldValue","sortOptions","sort","sortState","storeFilterState","onFiltersChange","filtersEntries","code","isPriceFilter","filter","isSearchFilter","filterBy","facetId","previous","id","label","option","filterByStore","storeId","removeFilter","removedId","clearFilters","selectedFilters","category","sortBy","onActivated","emit","__emit","eagerLoadedCards","grid","hydrationMode","pickupFilterAboveList","productsPerPage","scrollToElementOptions","$feature","scrollToElement","stickyState","useSticky","showFocusedProduct","pattern","convertPatternToRegex","breadcrumbs","colsLg","cols","nextPageSize","filtersShown","gridRef","lazyLoadRefs","productsToRender","renderedProducts","headerPLP","useElementBounding","headerPLPHeight","gridTop","filtersTop","pxToRem","loadMore","lastCard","lazyLoadChunk","entries","isIntersecting","boundingClientRect","useIntersectionObserver","selectAndSortBy","selectAndFilterBy"],"mappings":"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"}
\n {{ total }} {{ $pluralize($t.products, total) }}\n