"use strict";(self.webpackChunkui=self.webpackChunkui||[]).push([[16],{93:(e,t,r)=>{r.d(t,{a:()=>d,b:()=>o,c:()=>i,d:()=>c,e:()=>a});const n=e=>0===e.length;const s=(e,t)=>"[object Object]"===Object.prototype.toString.call(e)?s(Object.values(e),t):Array.isArray(e)?e.filter((e=>s(e,t))).length>0:"number"!=typeof e&&!!e&&e.toLowerCase().includes(t),i=(e,t)=>{const r=[...t];return"all"===e||0===e.length?r:r.filter((t=>s(t,e)))},c=e=>{const t=e.every((e=>/^\d+$/.test(e))),r=e.every((e=>/^[a-zA-Z]+$/.test(e)));return t||r};function o(e,t){const r=[];if(t)return e;const n=e.every((e=>isFinite(Number(e)))),s=e.every((e=>/^[a-zA-Z]+$/.test(e)));if(n||s)return e;if(0===e.length)return[];for(let t=0;tObject.entries(e).map((([e,t])=>Object.assign({handle:e},t))),u=(e,t)=>0===e.length||e.some((e=>{return r=t,n=e.id,function(e){const t=e.split("/").map((e=>e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"))).join("|");return new RegExp(`^(?:${t})$`,"i")}(r).test(n);var r,n})),l=(e,t)=>{const{size:r,color:s,basicFilters:i}=t,a=e.size.map((e=>e.id));if(!((e,t)=>!!n(t)||0!==e.length&&e.split("#").some((e=>{return e&&(n=e,(r=t).some((e=>("10A/B"===n&&console.log(n,r),e.toLowerCase()===n.toLowerCase()))));var r,n})))(r||"",o(a,c(a))))return!1;if(!((e,t)=>{if(0===e.length)return!0;const r=t.split("/");return 0!==r[0].length&&(!!n(e)||e.some((e=>{const t=e.split("_"),n=(e=>{const t=e.toLowerCase();return"seasonal"===t?t.slice(0,2):"b"})(r[1]||"");return t[1].toLowerCase()===r[0].toLowerCase()&&t[0]===n})))})(e.colour.map((e=>e.id)),s))return!1;const l=["brand","wiring","cupLining","productType"];for(const t of l){const r=e[t];if(!u(r,i))return!1}return!0};function f(e){const{action:t,currentFilters:r}=e;switch(t){case"clear":return function(e){return Object.keys(e).reduce(((e,t)=>Object.assign(Object.assign({},e),{[t]:[]})),{})}(r);case"clearCategory":return function(e,t){return Object.assign(Object.assign({},e),{[t]:[]})}(r,e.filterId);case"add":return function(e,t,r){const n=e[t];if(!n)return e;const s=[...new Set([...n,r])];return Object.assign(Object.assign({},e),{[t]:s})}(r,e.filterId,e.value);case"remove":return function(e,t,r){const n=e[t];if(!n)return e;const s=n.filter((e=>e.id!==r.id));return Object.assign(Object.assign({},e),{[t]:s})}(r,e.filterId,e.value);case"toggle":return function(e,t,r){const n=e[t];if(!n)return e;if(n.findIndex((({id:e})=>e===r.id))>-1){const s=n.filter((({id:e})=>e!==r.id));return Object.assign(Object.assign({},e),{[t]:s})}const s=[...new Set([...n,r])];return Object.assign(Object.assign({},e),{[t]:s})}(r,e.filterId,e.value);default:return r}}const d=e=>{const t=[...e.filtersAndSorters],r=Object.assign({},e.filters),{action:n}=e,s=(()=>{switch(n){case"clear":case"apply":return f({action:n,currentFilters:r});case"clearCategory":return f({action:n,filterId:e.filterId,currentFilters:r});default:return f({action:n,filterId:e.filterId,value:e.value,currentFilters:r})}})(),i=t.filter((e=>l(s,e)));return{modifiedFilters:s,filteredProductsData:i}}}}]);