{"version":3,"file":"ComponentWrapper.EkNfCsu4.mjs","names":["atom","t","u","s","f","i","m","a","p","l","d","h","g","t","React","SHOPIFY_CART_ID_KEY","useCallback"],"sources":["https:/framerusercontent.com/modules/eAejHXy6apg0StNmpKvK/urqFMX8moevipl03sMG8/_framer_utils.js","https:/ga.jspm.io/npm:jotai@1.13.1/esm/vanilla.mjs","https:/ga.jspm.io/npm:jotai@1.13.1/esm/index.mjs","https:/framerusercontent.com/modules/xpqbkEp3IFoaBlvr8BRa/hHOEeoAoRuUNRIemymNT/_queries.js","https:/framerusercontent.com/modules/7dEgbg7qo3lsQk361YtS/Gqkzce24K1Cg6rwNd2hA/_utils.js","https:/framerusercontent.com/modules/yZBbIevRfN36MGDPpltx/urppTTwyyMIUHdUuGBV5/_atoms.js","https:/ga.jspm.io/npm:@shopify/storefront-api-client@0.2.2/dist/index.mjs","https:/framerusercontent.com/modules/tdCHCV0pSkxlDaX5GkOX/tTqDmuuUuEjWv7zCFWmI/_useShopify.js","https:/framerusercontent.com/modules/fWwtzMT2tYXMW4IKB8On/TRxT523e6Q50khecgJTP/_test_data.js","https:/framerusercontent.com/modules/hQlZBgGeLDev5WuUJA4d/efplB9Cs5ZjhxVN6gafY/ComponentWrapper.js"],"sourcesContent":["import{ControlType,RenderTarget}from\"framer\";export const ProductBaseControls={productID:{title:\"Product ID\",type:ControlType.String}};export const isOnCanvas=()=>RenderTarget.current()===RenderTarget.canvas;export const ConfigControls={config:{type:ControlType.Object,hidden:()=>true,controls:{storefrontToken:{type:ControlType.String},storeDomain:{type:ControlType.String},countryIsoCode:{type:ControlType.String,defaultValue:\"US\"},languageIsoCode:{type:ControlType.String,defaultValue:\"EN\"},testMode:{type:ControlType.Boolean,defaultValue:true},permissions:{type:ControlType.Object,controls:{selling_plans:{type:ControlType.Boolean,defaultValue:false}}}}},font:{type:ControlType.Font,hidden:()=>true}};export function cn(...styles){let final={};styles.forEach(style=>{if(style){final={...final,...style};if(typeof style.border===\"object\"){final={...final,...style.border};}if(typeof style.font===\"object\"){final={...final,...style.font};}if(\"hidden\"in style&&style.hidden){final={...final,display:\"none\"};}}});return final;}export const textProperties=(fontSize=16,color)=>{return{fontSize:{type:ControlType.Number,min:6,max:100,defaultValue:fontSize},color:{type:ControlType.Color,defaultValue:color},font:{type:ControlType.Font,displayTextAlignment:true,defaultFontType:\"sans-serif\"},padding:{type:ControlType.Padding}};};\nexport const __FramerMetadata__ = {\"exports\":{\"isOnCanvas\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ConfigControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ProductBaseControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"textProperties\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"cn\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./_framer_utils.map","let t=0;function atom(e,n){const o=\"atom\"+ ++t;const r={toString:()=>o};if(\"function\"===typeof e)r.read=e;else{r.init=e;r.read=t=>t(r);r.write=(t,e,n)=>e(r,\"function\"===typeof n?n(t(r)):n)}n&&(r.write=n);return r}const hasInitialValue=t=>\"init\"in t;const isActuallyWritableAtom=t=>!!t.write;const e=new WeakMap;const registerCancelPromise=(t,n)=>{e.set(t,n);t.catch((()=>{})).finally((()=>e.delete(t)))};const cancelPromise=(t,n)=>{const o=e.get(t);if(o){e.delete(t);o(n)}};const resolvePromise=(t,e)=>{t.status=\"fulfilled\";t.value=e};const rejectPromise=(t,e)=>{t.status=\"rejected\";t.reason=e};const isEqualAtomValue=(t,e)=>\"v\"in t&&\"v\"in e&&Object.is(t.v,e.v);const isEqualAtomError=(t,e)=>\"e\"in t&&\"e\"in e&&Object.is(t.e,e.e);const hasPromiseAtomValue=t=>\"v\"in t&&t.v instanceof Promise;const returnAtomValue=t=>{if(\"e\"in t)throw t.e;return t.v};const createStore=()=>{const t=new WeakMap;const e=new WeakMap;const n=new Map;let o;let r;if(\"production\"!==(import.meta.env&&import.meta.env.MODE)){o=new Set;r=new Set}const getAtomState=e=>t.get(e);const setAtomState=(e,o)=>{\"production\"!==(import.meta.env&&import.meta.env.MODE)&&Object.freeze(o);const r=t.get(e);t.set(e,o);n.has(e)||n.set(e,r);if(r&&hasPromiseAtomValue(r)){const t=\"v\"in o?o.v instanceof Promise?o.v:Promise.resolve(o.v):Promise.reject(o.e);cancelPromise(r.v,t)}};const updateDependencies=(t,e,n)=>{const o=new Map;let r=false;n.forEach((n=>{const s=n===t?e:getAtomState(n);if(s){o.set(n,s);e.d.get(n)!==s&&(r=true)}else\"production\"!==(import.meta.env&&import.meta.env.MODE)&&console.warn(\"[Bug] atom state not found\")}));(r||e.d.size!==o.size)&&(e.d=o)};const setAtomValue=(t,e,n)=>{const o=getAtomState(t);const r={d:(null==o?void 0:o.d)||new Map,v:e};n&&updateDependencies(t,r,n);if(o&&isEqualAtomValue(o,r)&&o.d===r.d)return o;setAtomState(t,r);return r};const setAtomError=(t,e,n)=>{const o=getAtomState(t);const r={d:(null==o?void 0:o.d)||new Map,e:e};n&&updateDependencies(t,r,n);if(o&&isEqualAtomError(o,r)&&o.d===r.d)return o;setAtomState(t,r);return r};const readAtomState=t=>{const n=getAtomState(t);if(n){n.d.forEach(((n,o)=>{o===t||e.has(o)||readAtomState(o)}));if(Array.from(n.d).every((([e,n])=>e===t||getAtomState(e)===n)))return n}const o=new Set;let r=true;const getter=e=>{o.add(e);if(e===t){const t=getAtomState(e);if(t)return returnAtomValue(t);if(hasInitialValue(e))return e.init;throw new Error(\"no atom init\")}const n=readAtomState(e);return returnAtomValue(n)};let s;let c;const i={get signal(){s||(s=new AbortController);return s.signal},get setSelf(){\"production\"===(import.meta.env&&import.meta.env.MODE)||isActuallyWritableAtom(t)||console.warn(\"setSelf function cannot be used with read-only atom\");!c&&isActuallyWritableAtom(t)&&(c=(...e)=>{\"production\"!==(import.meta.env&&import.meta.env.MODE)&&r&&console.warn(\"setSelf function cannot be called in sync\");if(!r)return writeAtom(t,...e)});return c}};try{const e=t.read(getter,i);if(e instanceof Promise){let n;const r=new Promise(((s,c)=>{let i=false;e.then((t=>{if(!i){resolvePromise(r,t);s(t)}}),(t=>{if(!i){rejectPromise(r,t);c(t)}})).finally((()=>{if(!i){i=true;setAtomValue(t,r,o)}}));n=t=>{if(!i){i=true;t.then((t=>resolvePromise(r,t)),(t=>rejectPromise(r,t)));s(t)}}}));r.status=\"pending\";registerCancelPromise(r,(t=>{t&&n(t);null==s?void 0:s.abort()}));return setAtomValue(t,r,o)}return setAtomValue(t,e,o)}catch(e){return setAtomError(t,e,o)}finally{r=false}};const readAtom=t=>returnAtomValue(readAtomState(t));const addAtom=t=>{let n=e.get(t);n||(n=mountAtom(t));return n};const canUnmountAtom=(t,e)=>!e.l.size&&(!e.t.size||1===e.t.size&&e.t.has(t));const delAtom=t=>{const n=e.get(t);n&&canUnmountAtom(t,n)&&unmountAtom(t)};const recomputeDependents=t=>{const n=e.get(t);null==n?void 0:n.t.forEach((e=>{if(e!==t){const t=getAtomState(e);const n=readAtomState(e);t&&isEqualAtomValue(t,n)||recomputeDependents(e)}}))};const writeAtomState=(t,...e)=>{let n=true;const getter=t=>returnAtomValue(readAtomState(t));const setter=(e,...o)=>{let r;if(e===t){if(!hasInitialValue(e))throw new Error(\"atom not writable\");const t=getAtomState(e);const n=setAtomValue(e,o[0]);t&&isEqualAtomValue(t,n)||recomputeDependents(e)}else r=writeAtomState(e,...o);n||flushPending();return r};const o=t.write(getter,setter,...e);n=false;return o};const writeAtom=(t,...e)=>{const n=writeAtomState(t,...e);flushPending();return n};const mountAtom=(t,n)=>{const o={t:new Set(n&&[n]),l:new Set};e.set(t,o);\"production\"!==(import.meta.env&&import.meta.env.MODE)&&r.add(t);readAtomState(t).d.forEach(((n,o)=>{const r=e.get(o);r?r.t.add(t):o!==t&&mountAtom(o,t)}));readAtomState(t);if(isActuallyWritableAtom(t)&&t.onMount){const e=t.onMount(((...e)=>writeAtom(t,...e)));e&&(o.u=e)}return o};const unmountAtom=t=>{var n;const o=null==(n=e.get(t))?void 0:n.u;o&&o();e.delete(t);\"production\"!==(import.meta.env&&import.meta.env.MODE)&&r.delete(t);const s=getAtomState(t);if(s){hasPromiseAtomValue(s)&&cancelPromise(s.v);s.d.forEach(((n,o)=>{if(o!==t){const n=e.get(o);if(n){n.t.delete(t);canUnmountAtom(o,n)&&unmountAtom(o)}}}))}else\"production\"!==(import.meta.env&&import.meta.env.MODE)&&console.warn(\"[Bug] could not find atom state to unmount\",t)};const mountDependencies=(t,n,o)=>{const r=new Set(n.d.keys());null==o?void 0:o.forEach(((n,o)=>{if(r.has(o)){r.delete(o);return}const s=e.get(o);if(s){s.t.delete(t);canUnmountAtom(o,s)&&unmountAtom(o)}}));r.forEach((n=>{const o=e.get(n);o?o.t.add(t):e.has(t)&&mountAtom(n,t)}))};const flushPending=()=>{while(n.size){const t=Array.from(n);n.clear();t.forEach((([t,n])=>{const o=getAtomState(t);if(o){o.d!==(null==n?void 0:n.d)&&mountDependencies(t,o,null==n?void 0:n.d);const r=e.get(t);!r||n&&!hasPromiseAtomValue(n)&&(isEqualAtomValue(n,o)||isEqualAtomError(n,o))||r.l.forEach((t=>t()))}else\"production\"!==(import.meta.env&&import.meta.env.MODE)&&console.warn(\"[Bug] no atom state to flush\")}))}\"production\"!==(import.meta.env&&import.meta.env.MODE)&&o.forEach((t=>t()))};const subscribeAtom=(t,e)=>{const n=addAtom(t);flushPending();const o=n.l;o.add(e);return()=>{o.delete(e);delAtom(t)}};return\"production\"!==(import.meta.env&&import.meta.env.MODE)?{get:readAtom,set:writeAtom,sub:subscribeAtom,dev_subscribe_state:t=>{o.add(t);return()=>{o.delete(t)}},dev_get_mounted_atoms:()=>r.values(),dev_get_atom_state:e=>t.get(e),dev_get_mounted:t=>e.get(t),dev_restore_atoms:t=>{for(const[e,n]of t)if(hasInitialValue(e)){setAtomValue(e,n);recomputeDependents(e)}flushPending()}}:{get:readAtom,set:writeAtom,sub:subscribeAtom}};let n;const getDefaultStore=()=>{n||(n=createStore());return n};export{atom,createStore,getDefaultStore};\n\n//# sourceMappingURL=vanilla.mjs.map","import{createContext as t,useState as e,useEffect as n,useRef as o,createElement as r,useContext as s,useReducer as i,useDebugValue as c,useCallback as a}from\"react\";import{atom as u}from\"jotai/vanilla\";const l=Symbol();const isSuspensePromise=t=>!!t[l];const isSuspensePromiseAlreadyCancelled=t=>!t[l].c;const cancelSuspensePromise=t=>{var e;const{b:n,c:o}=t[l];if(o){o();null==(e=d.get(n))?void 0:e()}};const isEqualSuspensePromise=(t,e)=>{const n=t[l].o;const o=e[l].o;return n===o||t===o||isSuspensePromise(n)&&isEqualSuspensePromise(n,e)};const createSuspensePromise=(t,e)=>{const n={b:t,o:e,c:null};const o=new Promise((t=>{n.c=()=>{n.c=null;t()};e.finally(n.c)}));o[l]=n;return o};const copySuspensePromise=t=>createSuspensePromise(t[l].b,t[l].o);const d=new WeakMap;const registerPromiseAbort=(t,e)=>{d.set(t,e)};const hasInitialValue=t=>\"init\"in t;const f=\"r\";const p=\"w\";const m=\"c\";const v=\"s\";const w=\"h\";const h=\"n\";const E=\"l\";const g=\"a\";const y=\"m\";const createStore=t=>{const e=new WeakMap;const n=new WeakMap;const o=new Map;let r;let s;if(\"production\"!==(import.meta.env&&import.meta.env.MODE)){r=new Set;s=new Set}if(t)for(const[n,o]of t){const t={v:o,r:0,y:true,d:new Map};if(\"production\"!==(import.meta.env&&import.meta.env.MODE)){Object.freeze(t);hasInitialValue(n)||console.warn(\"Found initial value for derived atom which can cause unexpected behavior\",n)}e.set(n,t)}const i=new WeakMap;const addSuspensePromiseToCache=(t,e,n)=>{let o=i.get(e);if(!o){o=new Map;i.set(e,o)}n.then((()=>{if(o.get(t)===n){o.delete(t);o.size||i.delete(e)}}));o.set(t,n)};const cancelAllSuspensePromiseInCache=t=>{const e=new Set;const n=i.get(t);if(n){i.delete(t);n.forEach(((t,n)=>{cancelSuspensePromise(t);e.add(n)}))}return e};const c=new WeakMap;const getVersionedAtomStateMap=t=>{let e=c.get(t);if(!e){e=new Map;c.set(t,e)}return e};const getAtomState=(t,n)=>{if(t){const e=getVersionedAtomStateMap(t);let o=e.get(n);if(!o){o=getAtomState(t.p,n);o&&\"p\"in o&&isSuspensePromiseAlreadyCancelled(o.p)&&(o=void 0);o&&e.set(n,o)}return o}return e.get(n)};const setAtomState=(t,n,r)=>{\"production\"!==(import.meta.env&&import.meta.env.MODE)&&Object.freeze(r);if(t){const e=getVersionedAtomStateMap(t);e.set(n,r)}else{const t=e.get(n);e.set(n,r);o.has(n)||o.set(n,t)}};const createReadDependencies=(t,e=new Map,n)=>{if(!n)return e;const o=new Map;let r=false;n.forEach((n=>{var s;const i=(null==(s=getAtomState(t,n))?void 0:s.r)||0;o.set(n,i);e.get(n)!==i&&(r=true)}));return e.size!==o.size||r?o:e};const setAtomValue=(t,e,n,o,r)=>{const s=getAtomState(t,e);if(s){if(r&&(!(\"p\"in s)||!isEqualSuspensePromise(s.p,r)))return s;\"p\"in s&&cancelSuspensePromise(s.p)}const i={v:n,r:(null==s?void 0:s.r)||0,y:true,d:createReadDependencies(t,null==s?void 0:s.d,o)};let c=!(null==s?void 0:s.y);if(s&&\"v\"in s&&Object.is(s.v,n)){if(i.d!==s.d&&(i.d.size!==s.d.size||!Array.from(i.d.keys()).every((t=>s.d.has(t))))){c=true;Promise.resolve().then((()=>{flushPending(t)}))}}else{c=true;++i.r;i.d.has(e)&&(i.d=new Map(i.d).set(e,i.r))}if(s&&!c)return s;setAtomState(t,e,i);return i};const setAtomReadError=(t,e,n,o,r)=>{const s=getAtomState(t,e);if(s){if(r&&(!(\"p\"in s)||!isEqualSuspensePromise(s.p,r)))return s;\"p\"in s&&cancelSuspensePromise(s.p)}const i={e:n,r:((null==s?void 0:s.r)||0)+1,y:true,d:createReadDependencies(t,null==s?void 0:s.d,o)};setAtomState(t,e,i);return i};const setAtomSuspensePromise=(t,e,n,o)=>{const r=getAtomState(t,e);if(r&&\"p\"in r){if(isEqualSuspensePromise(r.p,n)&&!isSuspensePromiseAlreadyCancelled(r.p))return r.y?r:{...r,y:true};cancelSuspensePromise(r.p)}addSuspensePromiseToCache(t,e,n);const s={p:n,r:((null==r?void 0:r.r)||0)+1,y:true,d:createReadDependencies(t,null==r?void 0:r.d,o)};setAtomState(t,e,s);return s};const setAtomPromiseOrValue=(t,e,n,o)=>{if(n instanceof Promise){const r=createSuspensePromise(n,n.then((n=>{setAtomValue(t,e,n,o,r)})).catch((n=>{if(n instanceof Promise)return isSuspensePromise(n)?n.then((()=>{readAtomState(t,e,true)})):n;setAtomReadError(t,e,n,o,r)})));return setAtomSuspensePromise(t,e,r,o)}return setAtomValue(t,e,n,o)};const setAtomInvalidated=(t,e)=>{const n=getAtomState(t,e);if(n){const o={...n,y:false};setAtomState(t,e,o)}else\"production\"!==(import.meta.env&&import.meta.env.MODE)&&console.warn(\"[Bug] could not invalidate non existing atom\",e)};const readAtomState=(t,e,o)=>{if(!o){const o=getAtomState(t,e);if(o){if(o.y&&\"p\"in o&&!isSuspensePromiseAlreadyCancelled(o.p))return o;o.d.forEach(((o,r)=>{if(r!==e)if(n.has(r)){const e=getAtomState(t,r);e&&!e.y&&readAtomState(t,r)}else readAtomState(t,r)}));if(Array.from(o.d).every((([e,n])=>{const o=getAtomState(t,e);return o&&!(\"p\"in o)&&o.r===n})))return o.y?o:{...o,y:true}}}const r=new Set;try{const n=e.read((n=>{r.add(n);const o=n===e?getAtomState(t,n):readAtomState(t,n);if(o){if(\"e\"in o)throw o.e;if(\"p\"in o)throw o.p;return o.v}if(hasInitialValue(n))return n.init;throw new Error(\"no atom init\")}));return setAtomPromiseOrValue(t,e,n,r)}catch(n){if(n instanceof Promise){const o=isSuspensePromise(n)&&isSuspensePromiseAlreadyCancelled(n)?copySuspensePromise(n):createSuspensePromise(n,n);return setAtomSuspensePromise(t,e,o,r)}return setAtomReadError(t,e,n,r)}};const readAtom=(t,e)=>{const n=readAtomState(e,t);return n};const addAtom=(t,e)=>{let o=n.get(e);o||(o=mountAtom(t,e));return o};const canUnmountAtom=(t,e)=>!e.l.size&&(!e.t.size||1===e.t.size&&e.t.has(t));const delAtom=(t,e)=>{const o=n.get(e);o&&canUnmountAtom(e,o)&&unmountAtom(t,e)};const invalidateDependents=(t,e)=>{const o=n.get(e);null==o?void 0:o.t.forEach((n=>{if(n!==e){setAtomInvalidated(t,n);invalidateDependents(t,n)}}))};const writeAtomState=(t,e,n)=>{let o=true;const writeGetter=(e,n)=>{const o=readAtomState(t,e);if(\"e\"in o)throw o.e;if(\"p\"in o){if(null==n?void 0:n.unstable_promise)return o.p.then((()=>{const r=getAtomState(t,e);return r&&\"p\"in r&&r.p===o.p?new Promise((t=>setTimeout(t))).then((()=>writeGetter(e,n))):writeGetter(e,n)}));\"production\"!==(import.meta.env&&import.meta.env.MODE)&&console.info(\"Reading pending atom state in write operation. We throw a promise for now.\",e);throw o.p}if(\"v\"in o)return o.v;\"production\"!==(import.meta.env&&import.meta.env.MODE)&&console.warn(\"[Bug] no value found while reading atom in write operation. This is probably a bug.\",e);throw new Error(\"no value found\")};const setter=(n,r)=>{let s;if(n===e){if(!hasInitialValue(n))throw new Error(\"atom not writable\");const e=cancelAllSuspensePromiseInCache(n);e.forEach((e=>{e!==t&&setAtomPromiseOrValue(e,n,r)}));const o=getAtomState(t,n);const s=setAtomPromiseOrValue(t,n,r);o!==s&&invalidateDependents(t,n)}else s=writeAtomState(t,n,r);o||flushPending(t);return s};const r=e.write(writeGetter,setter,n);o=false;return r};const writeAtom=(t,e,n)=>{const o=writeAtomState(n,t,e);flushPending(n);return o};const isActuallyWritableAtom=t=>!!t.write;const mountAtom=(t,e,o)=>{const r={t:new Set(o&&[o]),l:new Set};n.set(e,r);\"production\"!==(import.meta.env&&import.meta.env.MODE)&&s.add(e);const i=readAtomState(void 0,e);i.d.forEach(((o,r)=>{const s=n.get(r);s?s.t.add(e):r!==e&&mountAtom(t,r,e)}));if(isActuallyWritableAtom(e)&&e.onMount){const setAtom=n=>writeAtom(e,n,t);const n=e.onMount(setAtom);t=void 0;n&&(r.u=n)}return r};const unmountAtom=(t,e)=>{var o;const r=null==(o=n.get(e))?void 0:o.u;r&&r();n.delete(e);\"production\"!==(import.meta.env&&import.meta.env.MODE)&&s.delete(e);const i=getAtomState(t,e);if(i){\"p\"in i&&cancelSuspensePromise(i.p);i.d.forEach(((o,r)=>{if(r!==e){const o=n.get(r);if(o){o.t.delete(e);canUnmountAtom(r,o)&&unmountAtom(t,r)}}}))}else\"production\"!==(import.meta.env&&import.meta.env.MODE)&&console.warn(\"[Bug] could not find atom state to unmount\",e)};const mountDependencies=(t,e,o,r)=>{const s=new Set(o.d.keys());null==r?void 0:r.forEach(((o,r)=>{if(s.has(r)){s.delete(r);return}const i=n.get(r);if(i){i.t.delete(e);canUnmountAtom(r,i)&&unmountAtom(t,r)}}));s.forEach((o=>{const r=n.get(o);r?r.t.add(e):n.has(e)&&mountAtom(t,o,e)}))};const flushPending=t=>{if(t){const o=getVersionedAtomStateMap(t);o.forEach(((o,r)=>{const s=e.get(r);if(o!==s){const e=n.get(r);null==e?void 0:e.l.forEach((e=>e(t)))}}))}else{while(o.size){const t=Array.from(o);o.clear();t.forEach((([t,e])=>{const o=getAtomState(void 0,t);o&&o.d!==(null==e?void 0:e.d)&&mountDependencies(void 0,t,o,null==e?void 0:e.d);if(e&&!e.y&&(null==o?void 0:o.y))return;const r=n.get(t);null==r?void 0:r.l.forEach((t=>t()))}))}\"production\"!==(import.meta.env&&import.meta.env.MODE)&&r.forEach((t=>t()))}};const commitVersionedAtomStateMap=t=>{const n=getVersionedAtomStateMap(t);n.forEach(((n,o)=>{const r=e.get(o);if(!r||n.r>r.r||n.y!==r.y||n.r===r.r&&n.d!==r.d){e.set(o,n);n.d!==(null==r?void 0:r.d)&&mountDependencies(t,o,n,null==r?void 0:r.d)}}))};const commitAtom=(t,e)=>{e&&commitVersionedAtomStateMap(e);flushPending(void 0)};const subscribeAtom=(t,e,n)=>{const o=addAtom(n,t);const r=o.l;r.add(e);return()=>{r.delete(e);delAtom(n,t)}};const restoreAtoms=(t,e)=>{for(const[n,o]of t)if(hasInitialValue(n)){setAtomPromiseOrValue(e,n,o);invalidateDependents(e,n)}flushPending(e)};return\"production\"!==(import.meta.env&&import.meta.env.MODE)?{[f]:readAtom,[p]:writeAtom,[m]:commitAtom,[v]:subscribeAtom,[w]:restoreAtoms,[h]:t=>{r.add(t);return()=>{r.delete(t)}},[E]:()=>s.values(),[g]:t=>e.get(t),[y]:t=>n.get(t)}:{[f]:readAtom,[p]:writeAtom,[m]:commitAtom,[v]:subscribeAtom,[w]:restoreAtoms}};const createStoreForExport=t=>{const e=createStore(t);const get=t=>{const n=e[f](t);if(\"e\"in n)throw n.e;if(!(\"p\"in n))return n.v};const asyncGet=t=>new Promise(((n,o)=>{const r=e[f](t);\"e\"in r?o(r.e):n(\"p\"in r?r.p.then((()=>asyncGet(t))):r.v)}));const set=(t,n)=>e[p](t,n);const sub=(t,n)=>e[v](t,n);return{get:get,asyncGet:asyncGet,set:set,sub:sub,SECRET_INTERNAL_store:e}};const createScopeContainer=(t,e)=>{const n=e?e(t).SECRET_INTERNAL_store:createStore(t);return{s:n}};const M=new Map;const getScopeContext=e=>{M.has(e)||M.set(e,t(createScopeContainer()));return M.get(e)};const Provider=({children:t,initialValues:s,scope:i,unstable_createStore:c,unstable_enableVersionedWrite:a})=>{const[u,l]=e({});n((()=>{const t=d.current;if(t.w){t.s[m](null,u);delete u.p;t.v=u}}),[u]);const d=o();if(!d.current){const t=createScopeContainer(s,c);if(a){let e=0;t.w=t=>{l((n=>{const o=e?n:{p:n};t(o);return o}))};t.v=u;t.r=t=>{++e;t();--e}}d.current=t}const f=getScopeContext(i);return r(f.Provider,{value:d.current},t)};function atom(t,e){return u(t,e)}function useAtomValue(t,e){const o=getScopeContext(e);const r=s(o);const{s:a,v:u}=r;const getAtomValue=e=>{const n=a[f](t,e);if(\"production\"!==(import.meta.env&&import.meta.env.MODE)&&!n.y)throw new Error(\"should not be invalidated\");if(\"e\"in n)throw n.e;if(\"p\"in n)throw n.p;if(\"v\"in n)return n.v;throw new Error(\"no atom value\")};const[[l,d,p],w]=i(((e,n)=>{const o=getAtomValue(n);return Object.is(e[1],o)&&e[2]===t?e:[n,o,t]}),u,(e=>{const n=getAtomValue(e);return[e,n,t]}));let h=d;if(p!==t){w(l);h=getAtomValue(l)}n((()=>{const{v:e}=r;e&&a[m](t,e);const n=a[v](t,w,e);w(e);return n}),[a,t,r]);n((()=>{a[m](t,l)}));c(h);return h}function useSetAtom(t,e){const n=getScopeContext(e);const{s:o,w:r}=s(n);const i=a((e=>{if(\"production\"!==(import.meta.env&&import.meta.env.MODE)&&!(\"write\"in t))throw new Error(\"not writable atom\");const write=n=>o[p](t,e,n);return r?r(write):write()}),[o,r,t]);return i}function useAtom(t,e){if(\"scope\"in t){console.warn(\"atom.scope is deprecated. Please do useAtom(atom, scope) instead.\");e=t.scope}return[useAtomValue(t,e),useSetAtom(t,e)]}export{Provider,getScopeContext as SECRET_INTERNAL_getScopeContext,registerPromiseAbort as SECRET_INTERNAL_registerPromiseAbort,atom,createStoreForExport as unstable_createStore,useAtom,useAtomValue,useSetAtom};\n\n//# sourceMappingURL=index.mjs.map","const cartReturnData=`\nid\ncreatedAt\nupdatedAt\ncheckoutUrl\nnote\nlines(first: 250) {\n  edges {\n    node {\n      id\n      quantity\n      sellingPlanAllocation {\n          checkoutChargeAmount {\n            amount\n            currencyCode\n          }\n          sellingPlan {\n            name\n          }\n      }\n      merchandise {\n        ... on ProductVariant {\n          id\n          title\n          compareAtPriceV2 {\n            amount\n            currencyCode\n          }\n          priceV2 {\n            amount\n            currencyCode\n          }\n          product {\n            id\n            title\n          }\n          image {\n            url\n            width\n            height\n            altText\n          }\n          selectedOptions {\n            value\n            name\n          }\n        }\n      }\n      attributes {\n        key\n        value\n      }\n    }\n  }\n}\ncost {\n  totalAmount {\n    amount\n    currencyCode\n  }\n  subtotalAmount {\n    amount\n    currencyCode\n  }\n  totalTaxAmount {\n    amount\n    currencyCode\n  }\n  totalDutyAmount {\n    amount\n    currencyCode\n  }\n}`;export const productsQuery=({sellingPlan,pageInfo})=>`{\n  products(first: 250${pageInfo?`, after: \"${pageInfo}\"`:\"\"}) {\n    nodes {\n      compareAtPriceRange {\n        minVariantPrice {\n          amount\n          currencyCode\n        }\n      }\n      totalInventory\n      availableForSale\n      isGiftCard\n      collections(first: 250) {\n        nodes {\n          title\n          handle\n        }\n      }\n      handle\n      id\n      media(first: 15) {\n        nodes {\n            mediaContentType\n            alt\n            ...mediaFieldsByType\n        }\n      }\n      images(first: 15) {\n        nodes {\n          altText\n          height\n          url\n          width\n        }\n      }\n      options {\n        id\n        name\n        values\n      }\n      priceRange {\n        minVariantPrice {\n          amount\n          currencyCode\n        }\n        maxVariantPrice {\n          amount\n          currencyCode\n        }\n      }\n      productType\n      tags\n      title\n      description\n      descriptionHtml\n      vendor\n      updatedAt\n      createdAt\n      featuredImage {\n        url\n      }\n      ${sellingPlan?`\n      requiresSellingPlan\n      sellingPlanGroups(first: 250) {\n        nodes {\n          name\n          sellingPlans(first: 250) {\n            nodes {\n              id\n              name\n            }\n          }\n        }\n      }`:\"\"}\n      variants(first: 250) {\n        nodes {\n          title\n          availableForSale\n          sku\n          barcode\n          compareAtPriceV2 {\n            amount\n            currencyCode\n          }\n          priceV2 {\n            amount\n            currencyCode\n          }\n          id\n          image {\n            url\n            width\n            height\n            altText\n          }\n          currentlyNotInStock\n          requiresShipping\n          quantityAvailable\n          taxable\n          selectedOptions {\n            value\n            name\n          }\n          ${sellingPlan?`\n          sellingPlanAllocations(first: 250) {\n            nodes {\n              checkoutChargeAmount {\n                amount\n                currencyCode\n              }\n              sellingPlan {\n                name\n                id\n              }\n            }\n          }`:\"\"}\n        }\n      }\n    }\n    pageInfo {\n        hasNextPage\n        endCursor\n      }\n    }\n}\n\nfragment mediaFieldsByType on Media {\n  ...on MediaImage {\n    image {\n      height\n      width\n      url\n      altText\n    }\n  }\n  ...on Video {\n    previewImage {\n      height\n      width\n      url\n      altText\n    }\n    sources {\n      url\n      mimeType\n      format\n      height\n      width\n    }\n  }\n}\n`;export const createCart=`\n  mutation createCart($cartInput: CartInput) {\n    cartCreate(input: $cartInput) {\n      cart {\n        ${cartReturnData}\n      }\n    }\n  }\n`;export const readCart=`\n  query cartQuery($cartId: ID!) {\n    cart(id: $cartId) {\n      ${cartReturnData}\n    }\n  }\n`;export const addItemsToCart=`\n  mutation addCartLines($cartId: ID!, $lines: [CartLineInput!]!) {\n    cartLinesAdd(cartId: $cartId, lines: $lines) {\n      cart {\n         ${cartReturnData}\n      }\n      userErrors {\n        field\n        message\n      }\n    }\n  }\n`;export const updateCartItems=`\n  mutation addCartLines($cartId: ID!, $lines: [CartLineUpdateInput!]!) {\n    cartLinesUpdate(cartId: $cartId, lines: $lines) {\n      cart {\n         ${cartReturnData}\n      }\n      userErrors {\n        field\n        message\n      }\n    }\n  }\n`;export const removeCartItems=`\n  mutation removeCartLines($cartId: ID!, $lineIds: [ID!]!) {\n    cartLinesRemove(cartId: $cartId, lineIds: $lineIds) {\n      cart {\n         ${cartReturnData}\n      }\n      userErrors {\n        field\n        message\n      }\n    }\n  }\n`;export const updateCartNote=`\n  mutation cartNoteUpdate($cartId: ID!, $note: String!) {\n    cartNoteUpdate(cartId: $cartId, note: $note) {\n      cart {\n        ${cartReturnData}\n      }\n      userErrors {\n        field\n        message\n      }\n      warnings {\n        message\n      }\n    }\n  }\n`;\nexport const __FramerMetadata__ = {\"exports\":{\"updateCartItems\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"addItemsToCart\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"createCart\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"updateCartNote\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"removeCartItems\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"productsQuery\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"readCart\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./_queries.map","import React from\"react\";export function priceCode(price,config){if(!price)return\"\";const locale=(config?.languageIsoCode.includes(\"_\")?config?.languageIsoCode.replace(\"_\",\"-\"):`${config?.languageIsoCode}-${config?.countryIsoCode}`)??\"EN-US\";const amount=parseFloat(price.amount);const formatter=new Intl.NumberFormat(locale,{style:\"currency\",currency:price.currencyCode});return formatter.format(amount);}/**\n * Parses global id (gid) and returns the resource type and id.\n * @see https://shopify.dev/api/usage/gids\n * @param gid - A shopify GID (string)\n *\n * @example\n * ```ts\n * const {id, resource} = parseGid('gid://shopify/Order/123')\n * // => id = \"123\", resource = 'Order'\n *\n *  * const {id, resource} = parseGid('gid://shopify/Cart/abc123')\n * // => id = \"abc123\", resource = 'Cart'\n * ```\n **/export function parseGid(gid){const defaultReturn={id:\"\",resource:null,resourceId:null,search:\"\",searchParams:new URLSearchParams,hash:\"\"};if(typeof gid!==\"string\"){return defaultReturn;}try{const{search,searchParams,pathname,hash}=new URL(gid);const pathnameParts=pathname.split(\"/\");const lastPathnamePart=pathnameParts[pathnameParts.length-1];const resourcePart=pathnameParts[pathnameParts.length-2];if(!lastPathnamePart||!resourcePart){return defaultReturn;}const id=`${lastPathnamePart}${search}${hash}`||\"\";const resourceId=lastPathnamePart||null;const resource=resourcePart??null;return{id,resource,resourceId,search,searchParams,hash};}catch{return defaultReturn;}}export function deepEqual(obj1,obj2){// Check if both are the same reference\nif(obj1===obj2)return true;// Check if either is null or undefined\nif(obj1==null||obj2==null)return obj1===obj2;// Check if types are different\nif(typeof obj1!==typeof obj2)return false;// Handle primitive types\nif(typeof obj1!==\"object\")return obj1===obj2;// Handle Arrays\nif(Array.isArray(obj1)&&Array.isArray(obj2)){if(obj1.length!==obj2.length)return false;for(let i=0;i<obj1.length;i++){if(!deepEqual(obj1[i],obj2[i]))return false;}return true;}// Handle Objects\nconst keys1=Object.keys(obj1);const keys2=Object.keys(obj2);// Check if they have the same number of keys\nif(keys1.length!==keys2.length)return false;// Check if all keys and values match\nfor(const key of keys1){if(!keys2.includes(key))return false;const val1=obj1[key];const val2=obj2[key];if(!deepEqual(val1,val2))return false;}return true;}export function debounce(func,delay){let timeoutId;return function(...args){clearTimeout(timeoutId);timeoutId=setTimeout(()=>{func.apply(this,args);},delay);};}export const checkConfigAreSame=()=>{const wrappers=document.querySelectorAll(\".groundNodeWrapper\");wrappers.forEach(wrapper=>{const errorEl=wrapper.querySelector(\"#shopiframe-error\");const elements=wrapper.querySelectorAll(\"[data-shopiframe-store]\");let areSame=true;if(errorEl)wrapper.removeChild(errorEl);if(elements.length){const firstValue=elements[0].getAttribute(\"data-shopiframe-store\");elements.forEach(item=>{if(item.getAttribute(\"data-shopiframe-store\")!==firstValue){areSame=false;}});}if(!areSame){const errorStr=`\n        <div id=\"shopiframe-error\" style=\"position: absolute; top:0; left:0; right:0;z-index:999; bottom:0; border: solid 0.3vw #B00020;\" >\n        <p style=\"background: #B00020; font-size:22px; font-weight: 500; padding: 10px 10px calc(10px + 0.3vw); margin: 0; color: #fff;\" ><b>Shopiframe</b>: Components with different configurations detected. Please open the Shopiframe Plugin, and the issue will be fixed.</p>\n        </div>`;wrapper.insertAdjacentHTML(\"afterbegin\",errorStr);}});};export const addPropsToChildren=(children,changeProps,allInstances)=>{return React.Children.map(children,child=>{if(!/*#__PURE__*/React.isValidElement(child)){return child;}let childProps=child.props??{};// padd changedProps to all child elements props\nif(childProps.children&&allInstances){childProps.children=addPropsToChildren(childProps.children,changeProps,allInstances);}childProps={...childProps,...changeProps};return /*#__PURE__*/React.cloneElement(child,childProps);});};export function generateUpdatedAt(){return new Date().toISOString();}/**\n * Checks if a new config should be applied based on updatedAt timestamps.\n * Returns true if the new config should be applied, false otherwise.\n */export function shouldApplyConfig(currentConfig,newConfig){if(!currentConfig){return true;}if(!newConfig){return false;}// If either config has no updatedAt, check if the configs are different\nif(!currentConfig.updatedAt||!newConfig.updatedAt){return!deepEqual(currentConfig,newConfig);}const currentTime=new Date(currentConfig.updatedAt).getTime();const newTime=new Date(newConfig.updatedAt).getTime();return newTime>currentTime;}/**\n * Reverses the position of currency symbol/code in a price string\n */export function reverseCurrencyPosition(price){if(!price)return price;const currencyAtStart=price.match(/^([^\\d\\s]+)(\\s*)(.+)$/);if(currencyAtStart){const[,currency,space,amount]=currencyAtStart;return`${amount}${space}${currency}`;}const currencyAtEnd=price.match(/^(.+?)(\\s*)([^\\d\\s]+)$/);if(currencyAtEnd){const[,amount,space,currency]=currencyAtEnd;return`${currency}${space}${amount}`;}return price;}\nexport const __FramerMetadata__ = {\"exports\":{\"shouldApplyConfig\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"parseGid\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"addPropsToChildren\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"priceCode\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"debounce\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"reverseCurrencyPosition\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"deepEqual\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"generateUpdatedAt\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"checkConfigAreSame\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./_utils.map","import{atom}from\"jotai\";import{productsQuery,createCart,readCart}from\"https://framerusercontent.com/modules/xpqbkEp3IFoaBlvr8BRa/hHOEeoAoRuUNRIemymNT/_queries.js\";import{shouldApplyConfig}from\"https://framerusercontent.com/modules/7dEgbg7qo3lsQk361YtS/Gqkzce24K1Cg6rwNd2hA/_utils.js\";const SHOPIFY_CART_ID_KEY=\"shopifyCartID\";const isBrowser=()=>typeof window!==\"undefined\";const getCartAttributesFromUrl=()=>{if(!isBrowser())return[];try{const attributes=[];const currentUrl=new URL(window.location.href);currentUrl.searchParams.forEach((value,key)=>{if(key!==\"key\"){attributes.push({key,value});}});return attributes;}catch{return[];}};const getStoredCartId=()=>{if(!isBrowser())return null;try{return window.localStorage.getItem(SHOPIFY_CART_ID_KEY);}catch{return null;}};export async function fetchAllProducts(client,sellingPlan){const products=[];let pageInfo=null;try{do{const query=productsQuery({pageInfo,sellingPlan});const response=await client.request(query);products.push(...response.data?.products.nodes??[]);// Update pageInfo for next iteration\nconst responsePageInfo=response.data?.products.pageInfo;pageInfo=responsePageInfo.hasNextPage?responsePageInfo.endCursor:null;console.log(`Fetched ${products.length} products so far...`);}while(pageInfo)return products;}catch(error){if(error instanceof Error){console.error(\"Error fetching products:\",error.message);}else{console.error(\"Error fetching products:\",error);}return[];}}export const settingsAtom=atom({enableSellingPlan:false});export const configAtom=atom(null);export const setConfigAtom=atom(null,(get,set,newConfig)=>{const currentConfig=get(configAtom);const shouldApply=shouldApplyConfig(currentConfig,newConfig);if(shouldApply){set(configAtom,newConfig);}});export const clientAtom=atom(null);export const selectedProductsAtom=atom({});export const productsAtom=atom(async get=>{const sellingPlan=get(settingsAtom).enableSellingPlan;const client=get(clientAtom);if(!client)return[];const products=await fetchAllProducts(client,sellingPlan);return products;});export const localCartAtom=atom(null);export const createCartAtom=atom(async get=>{const attributes=getCartAttributesFromUrl();console.log(\"Create Cart\",attributes);return get(clientAtom)?.request(createCart,{variables:{cartInput:{attributes}}}).then(res=>res.data?.cartCreate?.cart);});export const cartAtom=atom(async get=>{const cartId=getStoredCartId();const localCart=get(localCartAtom);if(localCart)return localCart;const client=get(clientAtom);if(!client)return null;if(!cartId)return get(createCartAtom);return client.request(readCart,{variables:{cartId}}).then(res=>{if(res.data?.cart)return res.data.cart;return get(createCartAtom);}).catch(()=>get(createCartAtom));});\nexport const __FramerMetadata__ = {\"exports\":{\"configAtom\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"cartAtom\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"productsAtom\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"localCartAtom\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fetchAllProducts\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"setConfigAtom\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"selectedProductsAtom\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"settingsAtom\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"clientAtom\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"createCartAtom\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SelectedProduct\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./_atoms.map","const e=\"GraphQL Client\";const t=0;const r=3;const n=\"An error occurred while fetching from the API. Review 'graphQLErrors' for details.\";const s=\"Response returned unexpected Content-Type:\";const o=\"An unknown error has occurred. The API did not return a data object or any errors in its response.\";const i={json:\"application/json\",multipart:\"multipart/mixed\"};const a=1e3;const c=[429,503];function formatErrorMessage(t,r=e){return t.startsWith(`${r}`)?t:`${r}: ${t}`}function getErrorMessage(e){return e instanceof Error?e.message:JSON.stringify(e)}function validateRetries({client:e,retries:n}){if(n!==void 0&&(typeof n!==\"number\"||n<t||n>r))throw new Error(`${e}: The provided \"retries\" value (${n}) is invalid - it cannot be less than ${t} or greater than ${r}`)}function getKeyValueIfValid(e,t){return t&&(typeof t!==\"object\"||Array.isArray(t)||typeof t===\"object\"&&Object.keys(t).length>0)?{[e]:t}:{}}function generateHttpFetch({clientLogger:t,customFetchApi:r=fetch,client:n=e,defaultRetryWaitTime:s=a,retriableCodes:o=c}){const httpFetch=async(e,i,a)=>{const c=i+1;const u=a+1;let p;try{p=await r(...e);t({type:\"HTTP-Response\",content:{requestParams:e,response:p}});if(!p.ok&&o.includes(p.status)&&c<=u)throw new Error;return p}catch(r){if(c<=u){const r=p?.headers.get(\"Retry-After\");await sleep(r?parseInt(r,10):s);t({type:\"HTTP-Retry\",content:{requestParams:e,lastResponse:p,retryAttempt:i,maxRetries:a}});return httpFetch(e,c,a)}throw new Error(formatErrorMessage(`${a>0?`Attempted maximum number of ${a} network retries. Last message - `:\"\"}${getErrorMessage(r)}`,n))}};return httpFetch}async function sleep(e){return new Promise((t=>setTimeout(t,e)))}function createGraphQLClient({headers:t,url:r,customFetchApi:n=p,retries:s=0,logger:o}){validateRetries({client:e,retries:s});const i={headers:t,url:r,retries:s};const c=generateClientLogger(o);const u=generateHttpFetch({customFetchApi:n,clientLogger:c,defaultRetryWaitTime:a});const p=generateFetch(u,i);const l=generateRequest(p);return{config:i,fetch:p,request:l}}function generateClientLogger(e){return t=>{e&&e(t)}}async function processJSONResponse(e){const{errors:t,data:r,extensions:s}=await e.json();return{...getKeyValueIfValid(\"data\",r),...getKeyValueIfValid(\"extensions\",s),...t||!r?{errors:{networkStatusCode:e.status,message:formatErrorMessage(t?n:o),...getKeyValueIfValid(\"graphQLErrors\",t),response:e}}:{}}}function generateFetch(t,{url:r,headers:n,retries:s}){return async(o,i={})=>{const{variables:a,headers:c,url:u,retries:p}=i;const l=JSON.stringify({query:o,variables:a});validateRetries({client:e,retries:p});const g=Object.fromEntries(Object.entries({...n,...c}).map((([e,t])=>[e,Array.isArray(t)?t.join(\", \"):t.toString()])));const d=[u??r,{method:\"POST\",headers:g,body:l}];return t(d,1,p??s)}}function generateRequest(e){return async(...t)=>{try{const r=await e(...t);const{status:n,statusText:o}=r;const a=r.headers.get(\"content-type\")||\"\";return r.ok?a.includes(i.json)?processJSONResponse(r):{errors:{networkStatusCode:n,message:formatErrorMessage(`${s} ${a}`),response:r}}:{errors:{networkStatusCode:n,message:formatErrorMessage(o),response:r}}}catch(e){return{errors:{message:getErrorMessage(e)}}}}}function validateDomainAndGetStoreUrl({client:e,storeDomain:t}){try{if(!t||typeof t!==\"string\")throw new Error;const e=t.trim();const r=e.startsWith(\"http\")?e:`https://${e}`;const n=new URL(r);n.protocol=\"https\";return n.origin}catch(r){throw new Error(`${e}: a valid store domain (\"${t}\") must be provided`)}}function validateApiVersion({client:e,currentSupportedApiVersions:t,apiVersion:r,logger:n}){const s=`${e}: the provided apiVersion (\"${r}\")`;const o=`Currently supported API versions: ${t.join(\", \")}`;if(!r||typeof r!==\"string\")throw new Error(`${s} is invalid. ${o}`);const i=r.trim();t.includes(i)||(n?n({type:\"Unsupported_Api_Version\",content:{apiVersion:r,supportedApiVersions:t}}):console.warn(`${s} is likely deprecated or not supported. ${o}`))}function getQuarterMonth(e){const t=e*3-2;return t===10?t:`0${t}`}function getPrevousVersion(e,t,r){const n=t-r;return n<=0?`${e-1}-${getQuarterMonth(n+4)}`:`${e}-${getQuarterMonth(n)}`}function getCurrentApiVersion(){const e=new Date;const t=e.getUTCMonth();const r=e.getUTCFullYear();const n=Math.floor(t/3+1);return{year:r,quarter:n,version:`${r}-${getQuarterMonth(n)}`}}function getCurrentSupportedApiVersions(){const{year:e,quarter:t,version:r}=getCurrentApiVersion();const n=t===4?`${e+1}-01`:`${e}-${getQuarterMonth(t+1)}`;return[getPrevousVersion(e,t,3),getPrevousVersion(e,t,2),getPrevousVersion(e,t,1),r,n,\"unstable\"]}function generateGetHeaders(e){return t=>({...t??{},...e.headers})}function generateGetGQLClientParams({getHeaders:e,getApiUrl:t}){return(r,n)=>{const s=[r];if(n&&Object.keys(n).length>0){const{variables:r,apiVersion:o,headers:i,retries:a}=n;s.push({...r?{variables:r}:{},...i?{headers:e(i)}:{},...o?{url:t(o)}:{},...a?{retries:a}:{}})}return s}}const u=\"application/json\";const p=\"storefront-api-client\";const l=\"0.2.2\";const g=\"X-Shopify-Storefront-Access-Token\";const d=\"Shopify-Storefront-Private-Token\";const f=\"X-SDK-Variant\";const h=\"X-SDK-Version\";const m=\"X-SDK-Variant-Source\";const A=\"Storefront API Client\";function validatePrivateAccessTokenUsage(e){if(e&&typeof window!==\"undefined\")throw new Error(`${A}: private access tokens and headers should only be used in a server-to-server implementation. Use the public API access token in nonserver environments.`)}function validateRequiredAccessTokens(e,t){if(!e&&!t)throw new Error(`${A}: a public or private access token must be provided`);if(e&&t)throw new Error(`${A}: only provide either a public or private access token`)}function createStorefrontApiClient({storeDomain:e,apiVersion:t,publicAccessToken:r,privateAccessToken:n,clientName:s,retries:o=0,customFetchApi:i,logger:a}){const c=getCurrentSupportedApiVersions();const y=validateDomainAndGetStoreUrl({client:A,storeDomain:e});const v={client:A,currentSupportedApiVersions:c,logger:a};validateApiVersion({...v,apiVersion:t});validateRequiredAccessTokens(r,n);validatePrivateAccessTokenUsage(n);const $=generateApiUrlFormatter(y,t,v);const w={storeDomain:y,apiVersion:t,...r?{publicAccessToken:r}:{privateAccessToken:n},headers:{\"Content-Type\":u,Accept:u,[f]:p,[h]:l,...s?{[m]:s}:{},...r?{[g]:r}:{[d]:n}},apiUrl:$(),clientName:s};const V=createGraphQLClient({headers:w.headers,url:w.apiUrl,retries:o,customFetchApi:i,logger:a});const b=generateGetHeaders(w);const S=generateGetApiUrl(w,$);const T=generateGetGQLClientParams({getHeaders:b,getApiUrl:S});const k={config:w,getHeaders:b,getApiUrl:S,fetch:(...e)=>V.fetch(...T(...e)),request:(...e)=>V.request(...T(...e))};return Object.freeze(k)}function generateApiUrlFormatter(e,t,r){return n=>{n&&validateApiVersion({...r,apiVersion:n});const s=(n??t).trim();return`${e}/api/${s}/graphql.json`}}function generateGetApiUrl(e,t){return r=>r?t(r):e.apiUrl}export{createStorefrontApiClient};\n//# sourceMappingURL=index.mjs.map\n","import{useEffect,useCallback}from\"react\";import{createStorefrontApiClient}from\"@shopify/storefront-api-client\";import{useAtomValue,useSetAtom}from\"jotai\";import{productsAtom,clientAtom,cartAtom,setConfigAtom}from\"https://framerusercontent.com/modules/yZBbIevRfN36MGDPpltx/urppTTwyyMIUHdUuGBV5/_atoms.js\";import{checkConfigAreSame,debounce}from\"https://framerusercontent.com/modules/7dEgbg7qo3lsQk361YtS/Gqkzce24K1Cg6rwNd2hA/_utils.js\";const SHOPIFY_CART_ID_KEY=\"shopifyCartID\";const persistCartId=cartId=>{if(typeof window===\"undefined\")return;try{window.localStorage.setItem(SHOPIFY_CART_ID_KEY,cartId);}catch{// Ignore storage errors (private mode, storage disabled, etc.)\n}};export const useShopify=config=>{// eslint-disable-next-line react-hooks/exhaustive-deps\nconst debouncedCheck=useCallback(debounce(()=>{checkConfigAreSame();},100),[]);const products=useAtomValue(productsAtom);const cart=useAtomValue(cartAtom);const client=useAtomValue(clientAtom);const setClient=useSetAtom(clientAtom);const setConfig=useSetAtom(setConfigAtom);useEffect(()=>{debouncedCheck();//set config if exist\nif(config&&Object.keys(config).length!==0){console.log(\"----set_config---\",!!config.testMode);setConfig(config);}// create the client and store it\nif(!client&&config?.storeDomain&&config?.storefrontToken){console.log(\"----create_client----\");setClient(createStorefrontApiClient({storeDomain:config.storeDomain,apiVersion:\"2026-01\",publicAccessToken:config.storefrontToken,customFetchApi:fetch}));}else if(client&&!config?.storeDomain&&!config?.storefrontToken){console.log(\"----set_client_null----\");setClient(null);}return()=>{debouncedCheck();};},[client,config,debouncedCheck,setClient,setConfig]);useEffect(()=>{if(cart?.id){persistCartId(cart.id);}},[cart]);return{products,cart};};\nexport const __FramerMetadata__ = {\"exports\":{\"useShopify\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","export const DefaultCart={id:\"Test\",checkoutUrl:\"Test title\",note:null,cost:{subtotalAmount:{amount:\"50.0\",currencyCode:\"USD\"},totalAmount:{amount:\"60.0\",currencyCode:\"USD\"},totalTaxAmount:{amount:\"10.0\",currencyCode:\"USD\"},totalDutyAmount:null},lines:{edges:[{node:{id:\"test\",quantity:1,merchandise:{id:\"Test\",title:\"Medium / Red\",priceV2:{amount:\"50.0\",currencyCode:\"USD\"},image:{altText:\"\",height:720,url:\"https://blocks.astratic.com/img/general-img-square.png\",width:600},product:{id:\"Test\",title:\"Product Title Test\"},selectedOptions:[{name:\"Size\",value:\"Medium\"}]}}}]}};export const DefaultProduct={id:\"test\",handle:\"product-title-test\",title:\"Product Title Test\",availableForSale:false,isGiftCard:false,media:{nodes:[{mediaContentType:\"IMAGE\",image:{altText:\"\",height:720,url:\"https://blocks.astratic.com/img/general-img-square.png\",width:600}},{mediaContentType:\"IMAGE\",image:{altText:\"\",height:720,url:\"https://blocks.astratic.com/img/general-img-square.png\",width:600}}]},compareAtPriceRange:{minVariantPrice:{amount:\"15.0\",currencyCode:\"USD\"}},requiresSellingPlan:false,sellingPlanGroups:{nodes:[{name:\"Subscribe and save\",sellingPlans:{nodes:[{id:\"gid://shopify/SellingPlan/689520312655\",name:\"Deliver every 3 months, 30% off\"},{id:\"gid://shopify/SellingPlan/689520345423\",name:\"Deliver every week, 10% off\"}]}}]},priceRange:{minVariantPrice:{amount:\"10.0\",currencyCode:\"USD\"},maxVariantPrice:{amount:\"10.0\",currencyCode:\"USD\"}},options:[{id:\"gid://shopify/ProductOption/11329409777957\",name:\"Size\",values:[\"Medium\",\"Small\"]},{id:\"gid://shopify/ProductOption/11329409810725\",name:\"Color\",values:[\"Black\",\"Red\"]}],variants:{nodes:[{availableForSale:true,compareAtPriceV2:{amount:\"30.0\",currencyCode:\"CAD\"},currentlyNotInStock:false,id:\"gid://shopify/ProductVariant/47880718909733\",priceV2:{amount:\"20.0\",currencyCode:\"CAD\"},quantityAvailable:2,requiresShipping:true,selectedOptions:[{name:\"Size\",value:\"Medium\"},{name:\"Color\",value:\"Black\"}],taxable:false,title:\"Medium / Black\",sellingPlanAllocations:{nodes:[{checkoutChargeAmount:{amount:\"46.9\",currencyCode:\"USD\"},sellingPlan:{id:\"gid://shopify/SellingPlan/689520312655\",name:\"Deliver every 3 months, 30% off\"}},{checkoutChargeAmount:{amount:\"32\",currencyCode:\"USD\"},sellingPlan:{id:\"gid://shopify/SellingPlan/689520345423\",name:\"Deliver every week, 10% off\"}}]}},{availableForSale:true,compareAtPriceV2:{amount:\"30.0\",currencyCode:\"CAD\"},currentlyNotInStock:false,id:\"gid://shopify/ProductVariant/47880718942501\",priceV2:{amount:\"14.0\",currencyCode:\"CAD\"},quantityAvailable:3,requiresShipping:true,selectedOptions:[{name:\"Size\",value:\"Medium\"},{name:\"Color\",value:\"Red\"}],taxable:true,title:\"Medium / Red\"},{availableForSale:true,compareAtPriceV2:{amount:\"30.0\",currencyCode:\"CAD\"},currentlyNotInStock:true,id:\"gid://shopify/ProductVariant/47880718975269\",priceV2:{amount:\"5.0\",currencyCode:\"CAD\"},quantityAvailable:0,requiresShipping:true,selectedOptions:[{name:\"Size\",value:\"Small\"},{name:\"Color\",value:\"Black\"}],taxable:true,title:\"Small / Black\"},{availableForSale:false,compareAtPriceV2:{amount:\"30.0\",currencyCode:\"CAD\"},currentlyNotInStock:false,id:\"gid://shopify/ProductVariant/47880719008037\",priceV2:{amount:\"20.0\",currencyCode:\"CAD\"},quantityAvailable:0,requiresShipping:true,selectedOptions:[{name:\"Size\",value:\"Small\"},{name:\"Color\",value:\"Red\"}],taxable:true,title:\"Small / Red\"}]}};\nexport const __FramerMetadata__ = {\"exports\":{\"DefaultProduct\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"DefaultCart\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./_test_data.map","import{jsx as _jsx}from\"react/jsx-runtime\";import{cn}from\"https://framerusercontent.com/modules/eAejHXy6apg0StNmpKvK/urqFMX8moevipl03sMG8/_framer_utils.js\";export default function ComponentWrapper({name,children,style={},hidden=false,productID,config}){const dataAttributes={\"data-shopiframe\":\"component\",\"data-shopiframe-store\":config?.storeDomain};console.log(name,!!config?.testMode);if(productID===\"EMPTY\")return /*#__PURE__*/_jsx(\"div\",{style:{background:\"#C83E3E\",color:\"#fff\",borderRadius:\"10px\",padding:\"8px\",boxShadow:\"0px 5px 15px 0px #AC1B1B33\",fontWeight:\"600\"},...dataAttributes,children:\"Product ID required for this component\"});if(hidden)return null;return /*#__PURE__*/_jsx(\"div\",{style:cn(style),...dataAttributes,children:typeof children===\"function\"?hidden||productID===\"EMPTY\"?null:children():children});}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ComponentWrapper\",\"slots\":[\"children\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ComponentWrapper.map"],"mappings":"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"}