{"version":3,"file":"archived-product.7af53b.js","mappings":"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","sources":["webpack://electro/./js/src/pages/archive-product.js","webpack://electro/./js/src/templates/active-filters.hbs"],"sourcesContent":["/**\n * code to support product category pages\n * filtering\n */\n\n// TODO: convert from jquery to pure js\n\nimport activeFilterList from '../templates/active-filters.hbs';\n\nconst $products = $('.product-tile');\nconst $buttonFilters = $('.container--active-filters');\n\n// handler filter clicks\nconst $filters = $('.js-filter-option').on('click', function (e) {\n const $this = $(this);\n e.preventDefault();\n $this.toggleClass('active');\n $('input', $this).prop('checked', $this.hasClass('active'));\n\n $('.js-expand-all').hide();\n $('.js-clear-all').removeClass('hidden');\n redisplay();\n});\n\n$filters.on('keydown', function (e) {\n const key = e.which;\n if (key === 32) {\n // spacebar\n e.preventDefault();\n $(this).trigger('click');\n }\n});\n\n\n// function to show/hide products based on selected filters\nfunction redisplay() {\n // determine active filters\n const activeFilters = [];\n $filters.each(function () {\n const $this = $(this);\n if ($this.hasClass('active')) {\n const value = $this.data('value');\n const filter = $this.closest('.js-filter').data('filter');\n activeFilters.push({\n filter,\n slug: value,\n name: $this.data('displayName'),\n });\n }\n });\n\n let jqFilter = activeFilters\n .map((x) => `.js-filter-${x.filter}-${x.slug}`)\n // comma makes the filters OR together, removing it makes them ANDed\n // .join(',');\n .join('');\n if (!jqFilter) {\n jqFilter = '*'; // no filters\n $buttonFilters.hide();\n } else {\n $buttonFilters.html(activeFilterList(activeFilters)).addClass('filter-active').show();\n }\n\n // console.log(jqFilter);\n $products.hide();\n $products.filter(jqFilter).show();\n\n\n // update url with selected filters\n const filterObject = {};\n activeFilters.map((x) => {\n if (!filterObject[x.filter]) {\n filterObject[x.filter] = [];\n }\n filterObject[x.filter].push(x.slug);\n });\n\n const url = new URL(window.location);\n url.search = new URLSearchParams(filterObject);\n window.history.replaceState({}, '', url.toString());\n}\n\n// reset filters\n\n// clear all selected filters\nconst clearAllFilters = (e) => {\n e.preventDefault();\n $filters.removeClass('active');\n $('input', $filters).prop('checked', false);\n redisplay();\n $('.js-clear-all').addClass('hidden');\n};\n$('.js-clear-all').on('click', clearAllFilters);\n$buttonFilters.on('click', '.clear-all-filters', clearAllFilters);\n\n// remove a filter\n$buttonFilters.on('click', '.clear-filter', (e) => {\n const filter = $(e.currentTarget).data('filter');\n const $filter = $filters.filter(`[data-value=\"${filter}\"]`);\n $filter.click();\n});\n\n\n// init filtering based on url params\n// clear all filters at page load\n$('input', $filters).prop('checked', false);\nconst urlParams = new URLSearchParams(window.location.search);\nconst $filterTypes = $('.js-filter');\n$filterTypes.each((i, term) => {\n // get available filter/param values & check against url params\n const { filter } = term.dataset;\n // find in $filters\n const values = urlParams.get(filter)?.split(',') || [];\n values.forEach((value) => {\n const $filter = $filters.filter(`[data-value=\"${value}\"]`);\n // for each one, activate\n // toggle class to active & input check box\n $filter.click();\n });\n})\n\n// Accordion\nconst $sidebarToggle = $('.js-sidebar-toggle');\n\n$sidebarToggle.on('click', (e) => {\n const $sidebar = $(e.currentTarget).closest('.product-filters');\n $sidebar.toggleClass('active');\n});\n\nconst $filterToggle = $('.js-filter-toggle');\n\n$filterToggle.on('click', (e) => {\n const $filter = $(e.currentTarget).closest('.product-filters__filter');\n $filter.toggleClass('active');\n if ($filter.is('.active')) {\n $(e.currentTarget).attr('aria-expanded', 'true');\n $filter.find('.js-filter').attr('aria-hidden', 'false');\n $filter.find('button.checkmark').attr('tabindex', '0');\n } else {\n $(e.currentTarget).attr('aria-expanded', 'false');\n $filter.find('.js-filter').attr('aria-hidden', 'true');\n $filter.find('button.checkmark').attr('tabindex', '-1');\n }\n\n allFiltersOpen();\n});\n\n// see if all filters have been opened\nfunction allFiltersOpen() {\n const activeFilters = $('.product-filters__filter.active');\n const allFilters = $('.product-filters__filter');\n if (activeFilters.length === allFilters.length) {\n $('.js-expand-all').hide();\n }\n}\n\n// expand all selected filter groups\n$('.js-expand-all').on('click', (e) => {\n const $filter = $filterToggle.closest('.product-filters__filter');\n $filter.addClass('active');\n if ($filter.is('.active')) {\n $(e.currentTarget).attr('aria-expanded', 'true');\n $filter.find('.js-filter').attr('aria-hidden', 'false');\n $filter.find('button.checkmark').attr('tabindex', '0');\n }\n $('.js-expand-all').hide();\n});\n\nfunction gazeStars(starVar) {\n const productGrid = document.querySelector('.products-grid');\n\n if (productGrid && starVar === true) {\n productGrid.classList.add('show-stars');\n }\n}\n\nfunction activateStars() {\n gazeStars(GLAD_GLOBAL.stars);\n}\n\nwindow.activateStars = activateStars;\n","var Handlebars = require(\"../../../node_modules/handlebars/runtime.js\");\nfunction __default(obj) { return obj && (obj.__esModule ? obj[\"default\"] : obj); }\nmodule.exports = (Handlebars[\"default\"] || Handlebars).template({\"1\":function(container,depth0,helpers,partials,data) {\n var helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=container.hooks.helperMissing, alias3=\"function\", alias4=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n };\n\n return \"