1import{i as t,c as n,a as e,f as r,p as i,b as o,F as a}from"./filter-state.CHhZ4ouW.min.js";function s(n){const e=n.universes;return t(e)&&Array.isArray(e.universe)}function c(n,r){const i=n.attribute;if(!Array.isArray(i))return null;for(const o of i){if(!t(o)||o.name!==r)continue;const n=o.value;if(!Array.isArray(n)||0===n.length)continue;const i=n[0];return e(t(i)?i.value:i)}return null}function u(t){if(!t)return null;try{const n=JSON.parse(t);if(Array.isArray(n)&&n.length>0)return e(n[0])}catch{}return t.startsWith("http")?t:null}const l=["media","_thumburl","_imageurl"];function f(t){for(const n of l){const e=u(c(t,n));if(e)return e}return null}const d=/^price(?!_(min|max|old))(_[a-z]{2,3})?$/i,p=/^v_price(?!_(min|max|old))(_[a-z]{2,3})?$/i,h=/^compare_at_price(_[a-z]{2,3})?$/i,m=/^v_compare_at_price(_[a-z]{2,3})?$/i;function y(n,r){var i;const o=n.attribute;if(!Array.isArray(o))return null;for(const a of o){if(!t(a)||"string"!=typeof a.name)continue;if(!r.test(a.name))continue;const n=a.value;if(!Array.isArray(n)||0===n.length)continue;const o=n[0],s=null==(i=e(t(o)?o.value:o))?void 0:i.trim();if(s&&Number.parseFloat(s)>0)return s}return null}const g=new Set(["searchresults","categories"]);function w(n){const r=n["display-hint"];return!(!Array.isArray(r)||!r.some(t=>"slider"===t))||"float"===e(n.basetype)||t(n.globalrange)}function v(e,i,o){const a=e.globalrange;if(!t(a))return null;const s=n(a.min),c=n(a.max);if(c<=s)return null;const u=e.selectedrange;let l=s,f=c;return t(u)&&(l=n(u.min,s),f=n(u.max,c),l=Math.max(s,Math.min(l,c)),f=Math.max(l,Math.min(f,c))),{type:"range",id:i,name:r(o),min:s,max:c,selectedMin:l,selectedMax:f}}function A(o,a,s){const c=o.filtersection;if(!Array.isArray(c)||0===c.length)return null;const u=[];for(const r of c){if(!t(r))continue;const o=r.value,a=t(o)?e(o.value):e(o);if(!a)continue;const s=r.link,c=t(s)?e(s.name):null,l=i(c)??a,f=n(r.nr);u.push({value:a,label:l,...f>0?{count:f}:{}})}return 0===u.length?null:{type:"list",id:a,name:r(s),values:u}}function _(n){const r=[];for(const i of n){if(!t(i))continue;const n=i.filter;if(Array.isArray(n))for(const i of n){if(!t(i))continue;const n=e(i.on);if(!n||g.has(n))continue;const o=e(i.title)??n;if(w(i)){const t=v(i,n,o);if(t){r.push(t);continue}}const a=A(i,n,o);a&&r.push(a)}}return r}function M(t,n){const e=new Map;for(const r of[...t.values,...n.values])e.get(r.value)&&void 0===r.count||e.set(r.value,r);return{...t,values:[...e.values()]}}function b(t){const n=c(t,"shopify_variant_id")??c(t,"variant_id")??c(t,"variantId"),e=y(t,d)??y(t,p),r=y(t,h)??y(t,m);return{raw:t,handle:c(t,"handle"),variantId:n?n.replace(/\D/g,"")||n:null,sku:c(t,"sku")??c(t,"SKU")??c(t,"
1sku_6digit"),title:c(t,"title"),image:f(t),price:e,compareAtPrice:r}}function S(n){const e=[];for(const r of n)t(r)&&e.push(b(r));return e}function x(n){const e=n["items-section"];return S(t(e)&&t(e.items)&&Array.isArray(e.items.item)?e.items.item:[])}function P(n){const r=[];for(const i of R(n)){const n=i.themes;if(Array.isArray(n))for(const i of n){if(!t(i))continue;const n=i.theme;if(Array.isArray(n))for(const i of n){if(!t(i))continue;const n=i.items,o=t(n)&&Array.isArray(n.item)?n.item:[];r.push({id:e(i.id),name:e(i.name),title:e(i.title),slogan:e(i.slogan),items:S(o)})}}}return r}function R(n){const e=t(n.universes)?n.universes.universe:null;return Array.isArray(e)?e.filter(t):[]}function I(t){const n=P(t).flatMap(t=>t.items);if(n.length>0)return n;const e=R(t),r=e.find(t=>"string"==typeof t.name&&t.name.endsWith("related"))??e.find(t=>"deselected"===t.type);return r?x(r):[]}let $=!1;function U(t){try{return(t.startsWith("http")?new URL(t).pathname:t).includes("/apps/fredhopper")}catch{return t.includes("/apps/fredhopper")}}function z(t,n=("undefined"!=typeof window?window.location.origin:"")){const e=t.trim();if(!e)return null;if(e.startsWith("/")&&!e.startsWith("//"))return e;try{const t=new URL(e,n||"https://invalid.invalid");return n&&t.origin!==n?null:`${t.pathname}${t.search}${t.hash}`}catch{return null}}function k(t){if("undefined"==typeof window)return;const n=z(t);n&&window.location.assign(n)}function L(){if("undefined"==typeof window||$)return;if("function"!=typeof window.fetch)return;$=!0;const t=window.fetch.bind(window);window.fetch=async(n,e)=>{const r=function(t){return"string"==typeof t?t:t instanceof URL?t.href:"undefined"!=typeof Request&&t instanceof Request?t.url:String(t)}(n),i=await t(n,e);if(!U(r))return i;if(!i.redirected||U(i.url))return i;const o=z(i.url);return o?(a=o,new Response(JSON.stringify({"redirect-url":a,redirectUrl:a}),{status:200,statusText:"OK",headers:{"Content-Type":"application/json"}})):i;var a}}function N(n){const r=c(n,"handle");if(r)return r;const i=["handle","_handle","productHandle","shopifyHandle","shopify_product_handle"];for(const t of i){const r=e(n[t]);if(r)return r}const o=n.product;if(t(o)){const t=e(o.handle);if(t)return t}const a=n.attributes;if(t(a)){const t=e(a.handle??a.product_handle);if(t)return t}return null}function W(t){const n=["shopify_variant_id","variant_id","variantId"];for(const e of n){const n=c(t,e);if(n)return n.replace(/\D/g,"")||n}const r=["shopifyVariantId","variantId","variant_id","_variantId","shopify_variant_id"];for(const i of r){const n=e(t[i]);if(n)return n.replace(/\D/g,"")||n}return null}function C(o,a=24){const c={items:[],facets:[],info:{totalResults:0,currentPage:1,pageSize:a,totalPages:1}};if(!t(o))return c;const u=function(n){if(!t(n))return null;const r=e(n["redirect-url"])??e(n.redirectUrl)??e(n.redirect);return r?z(r):null}(o);if(u)return{...c,redirectUrl:u};if(s(o))return function(e,r){const i={items:[],facets:[],info:{totalResults:0,currentPage:1,pageSize:r,totalPages:1}},o=R(e),a=o.find(t=>"selected"===t.type);if(!a)return i;const s=x(a),c=function(n){const e=n.find(n=>t(n)&&"selected"===n.type),r=e?[e,...n.filter(t=>t!==e)]:n,i=new Map;for(const o of r){if(!t(o))continue;const n=o.facetmap;if(Array.isArray(n))for(const t of _(n)){const n=i.get(t.id);n?"list"===n.type&&"list"===t.type&&i.set(t.id,M(n,t)):i.set(t.id,t)}}return[...i.values()]}(o),u=a["items-section"],l=t(u)&&t(u.results)?u.results:null,f=n(null==l?void 0:l["total-items"],s.length),d=n(null==l?void 0:l["view-size"],r),p=n(null==l?void 0:l["start-index"],0);return{items:s,facets:c,info:{totalResults:f,currentPage:d>0?Math.max(1,Math.floor(p/d)+1):1,pageSize:d,totalPages:d>0&&f>0?Math.max(1,Math.ceil(f/d)):1}}}(o,a);const l=function(t){const n=["items","results","products","records","hits"];for(const e of n){const n=t[e];if(Array.isArray(n))return n}return[]}(o),f=[];for(const n of l)t(n)&&f.push({raw:n,handle:N(n),variantId:W(n),sku:"string"==typeof n.sku?n.sku:"string"==typeof n.SKU?n.SKU:null,title:null,image:null,price:null,compareAtPrice:null});
1const d=function(o){if(!Array.isArray(o)||0===o.length)return[];const a=[];for(const s of o){if(!t(s))continue;const o=e(s.id??s.name??s.field)??"facet",c=e(s.name??s.label??s.title??s.id)??o,u=s.globalrange??s.globalRange;if(t(u)){const e=n(u.min),i=n(u.max);if(i>e){const u=s.selectedrange??s.selectedRange;let l=e,f=i;t(u)&&(l=n(u.min,e),f=n(u.max,i),l=Math.max(e,Math.min(l,i)),f=Math.max(l,Math.min(f,i))),a.push({type:"range",id:o,name:r(c),min:e,max:i,selectedMin:l,selectedMax:f});continue}}const l=s.values??s.options??s.facets,f=[];if(Array.isArray(l))for(const r of l)if(t(r)){const t=e(r.value??r.id??r.name);if(!t)continue;const o=i(e(r.label??r.name??r.title))??t,a=n(r.count??r.nr);f.push({value:t,label:o,...a>0?{count:a}:{}})}else{const t=e(r);t&&f.push({value:t,label:t})}f.length>0&&a.push({type:"list",id:o,name:r(c),values:f})}return a}(o.facets??o.filters);return{items:f,facets:d,info:function(e,r,i){const o=t(e.info)?e.info:e,a=n(o.totalResults,o.totalItemCount,o.total,o.itemCount,e.totalResults,e.totalItemCount),s=Math.max(1,n(o.currentPage,o.page,e.page,1)),c=n(o.pageSize,o.limit,e.limit,i,r||i);let u=n(o.totalPages,o.pageCount,0);return u<=0&&a>0&&c>0&&(u=Math.max(1,Math.ceil(a/c))),u<=0&&(u=1),{totalResults:a||r,currentPage:s,pageSize:c||i,totalPages:u}}(o,f.length,a)}}const F="catalog01";function j(t){const n=String(t).trim();return n?`${F}_${n}`:""}const K="fhr_page",O="fh_sort_by";function D(){if("undefined"==typeof window)return 1;const t=new URLSearchParams(window.location.search).get("page");return Math.max(1,parseInt(t||"1",10)||1)}function T(){if("undefined"==typeof window)return{page:1,sort:"",filters:{}};const t=new URLSearchParams(window.location.search);return{page:Math.max(1,parseInt(t.get(K)||"1",10)||1),sort:t.get(O)||"",filters:o(t)}}function q(t,n={}){if("undefined"==typeof window)return;const e=new URL(window.location.href);if(void 0!==t.page&&(t.page<=1?e.searchParams.delete(K):e.searchParams.set(K,String(t.page))),void 0!==t.sort&&(t.sort?e.searchParams.set(O,t.sort):e.searchParams.delete(O)),void 0!==t.filters){for(const t of[...e.searchParams.keys()])t.startsWith(a)&&e.searchParams.delete(t);for(const[n,r]of Object.entries(t.filters))0!==r.length&&e.searchParams.set(`${a}${n}`,r.join(","))}n.replace?window.history.replaceState(window.history.state,"",e.toString()):window.history.pushState({},"",e.toString())}function E(t,n=10){return!Number.isFinite(t)||t<1?1:Math.min(Math.floor(t),n)}function H(){"undefined"!=typeof window&&("scrollRestoration"in window.history&&(window.history.scrollRestoration="manual"),window.addEventListener("pagehide",Y))}function J(){return`fhrScrollY:${window.location.pathname}${window.location.search}`}function Y(){if("undefined"!=typeof window)try{window.sessionStorage.setItem(J(),String(window.scrollY))}catch{}}function B(){if("undefined"==typeof window)return null;if(!function(){if("undefined"==typeof window||!window.performance)return!1;const[t]=window.performance.getEntriesByType("navigation");return"back_forward"===(null==t?void 0:t.type)}())return null;try{const t=window.sessionStorage.getItem(J());if(null==t)return null;const n=Number(t);return Number.isFinite(n)?n:null}catch{return null}}export{F,T as a,j as b,D as c,E as d,L as e,k as f,s as g,I as h,H as i,C as n,B as r,q as s,P as t};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.