{"version":3,"file":"ComponentWrapper.BbdBQ2Gt.mjs","names":["n","o","t","e","r","s","a","u","d","l","f","v","w","i","h","p","g","c","y","i","React","SHOPIFY_CART_ID_KEY","t","r","e","n","s","d","o","c","a","u","i","l","g","p","f","y","h","e","t","g","h","m","v","w","y","p","n","o","i","r","useCallback"],"sources":["https:/framerusercontent.com/modules/eAejHXy6apg0StNmpKvK/urqFMX8moevipl03sMG8/_framer_utils.js","https:/ga.jspm.io/npm:jotai@1.9.2/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/graphql-client@1.0.0/dist/index.mjs","https:/ga.jspm.io/npm:@shopify/storefront-api-client@1.0.0/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","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\";const u=Symbol();const isSuspensePromise=t=>!!t[u];const isSuspensePromiseAlreadyCancelled=t=>!t[u].c;const cancelSuspensePromise=t=>{var e;const{b:n,c:o}=t[u];if(o){o();null==(e=l.get(n))?void 0:e()}};const isEqualSuspensePromise=(t,e)=>{const n=t[u].o;const o=e[u].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[u]=n;return o};const copySuspensePromise=t=>createSuspensePromise(t[u].b,t[u].o);const l=new WeakMap;const registerPromiseAbort=(t,e)=>{l.set(t,e)};const hasInitialValue=t=>\"init\"in t;const d=\"r\";const f=\"w\";const p=\"c\";const m=\"s\";const v=\"h\";const w=\"n\";const h=\"l\";const E=\"a\";const g=\"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)?{[d]:readAtom,[f]:writeAtom,[p]:commitAtom,[m]:subscribeAtom,[v]:restoreAtoms,[w]:t=>{r.add(t);return()=>{r.delete(t)}},[h]:()=>s.values(),[E]:t=>e.get(t),[g]:t=>n.get(t)}:{[d]:readAtom,[f]:writeAtom,[p]:commitAtom,[m]:subscribeAtom,[v]:restoreAtoms}};const createStoreForExport=t=>{const e=createStore(t);const get=t=>{const n=e[d](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[d](t);\"e\"in r?o(r.e):n(\"p\"in r?r.p.then((()=>asyncGet(t))):r.v)}));const set=(t,n)=>e[f](t,n);const sub=(t,n)=>e[m](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 y=new Map;const getScopeContext=e=>{y.has(e)||y.set(e,t(createScopeContainer()));return y.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[p](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)};let M=0;function atom(t,e){const n=\"atom\"+ ++M;const o={toString:()=>n};if(\"function\"===typeof t)o.read=t;else{o.init=t;o.read=t=>t(o);o.write=(t,e,n)=>e(o,\"function\"===typeof n?n(t(o)):n)}e&&(o.write=e);return o}function useAtomValue(t,e){const o=getScopeContext(e);const r=s(o);const{s:a,v:u}=r;const getAtomValue=e=>{const n=a[d](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,f,v],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=f;if(v!==t){w(l);h=getAtomValue(l)}n((()=>{const{v:e}=r;e&&a[p](t,e);const n=a[m](t,w,e);w(e);return n}),[a,t,r]);n((()=>{a[p](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[f](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 a={json:\"application/json\",multipart:\"multipart/mixed\"};const i=\"X-SDK-Variant\";const c=\"X-SDK-Version\";const u=\"shopify-graphql-client\";const l=\"1.0.0\";const d=1e3;const g=[429,503];const p=/@(defer)\\b/i;const f=\"\\r\\n\";const y=/boundary=\"?([^=\";]+)\"?/i;const h=f+f;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 getErrorCause(e){return e instanceof Error&&e.cause?e.cause:void 0}function combineErrors(e){return e.flatMap((({errors:e})=>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 buildDataObjectByPath(e,t){if(e.length===0)return t;const r=e.pop();const n={[r]:t};return e.length===0?n:buildDataObjectByPath(e,n)}function combineObjects(e,t){return Object.keys(t||{}).reduce(((r,n)=>{if((typeof t[n]===\"object\"||Array.isArray(t[n]))&&e[n]){r[n]=combineObjects(e[n],t[n]);return r}r[n]=t[n];return r}),Array.isArray(e)?[...e]:{...e})}function buildCombinedDataObject([e,...t]){return t.reduce(combineObjects,{...e})}function generateHttpFetch({clientLogger:t,customFetchApi:r=fetch,client:n=e,defaultRetryWaitTime:s=d,retriableCodes:o=g}){const httpFetch=async(e,a,i)=>{const c=a+1;const u=i+1;let l;try{l=await r(...e);t({type:\"HTTP-Response\",content:{requestParams:e,response:l}});if(!l.ok&&o.includes(l.status)&&c<=u)throw new Error;return l}catch(r){if(c<=u){const r=l?.headers.get(\"Retry-After\");await sleep(r?parseInt(r,10):s);t({type:\"HTTP-Retry\",content:{requestParams:e,lastResponse:l,retryAttempt:a,maxRetries:i}});return httpFetch(e,c,i)}throw new Error(formatErrorMessage(`${i>0?`Attempted maximum number of ${i} 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=u,retries:s=0,logger:o}){validateRetries({client:e,retries:s});const a={headers:t,url:r,retries:s};const i=generateClientLogger(o);const c=generateHttpFetch({customFetchApi:n,clientLogger:i,defaultRetryWaitTime:d});const u=generateFetch(c,a);const l=generateRequest(u);const g=generateRequestStream(u);return{config:a,fetch:u,request:l,requestStream:g}}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,a={})=>{const{variables:d,headers:g,url:p,retries:f}=a;const y=JSON.stringify({query:o,variables:d});validateRetries({client:e,retries:f});const h=Object.entries({...n,...g}).reduce(((e,[t,r])=>{e[t]=Array.isArray(r)?r.join(\", \"):r.toString();return e}),{});if(!h[i]&&!h[c]){h[i]=u;h[c]=l}const m=[p??r,{method:\"POST\",headers:h,body:y}];return t(m,1,f??s)}}function generateRequest(e){return async(...t)=>{if(p.test(t[0]))throw new Error(formatErrorMessage(\"This operation will result in a streamable response - use requestStream() instead.\"));try{const r=await e(...t);const{status:n,statusText:o}=r;const i=r.headers.get(\"content-type\")||\"\";return r.ok?i.includes(a.json)?processJSONResponse(r):{errors:{networkStatusCode:n,message:formatErrorMessage(`${s} ${i}`),response:r}}:{errors:{networkStatusCode:n,message:formatErrorMessage(o),response:r}}}catch(e){return{errors:{message:getErrorMessage(e)}}}}}async function*getStreamBodyIterator(e){const t=new TextDecoder;if(e.body[Symbol.asyncIterator])for await(const r of e.body)yield t.decode(r);else{const r=e.body.getReader();let n;try{while(!(n=await r.read()).done)yield t.decode(n.value)}finally{r.cancel()}}}function readStreamChunk(e,t){return{async*[Symbol.asyncIterator](){try{let r=\"\";for await(const n of e){r+=n;if(r.indexOf(t)>-1){const e=r.lastIndexOf(t);const n=r.slice(0,e);const s=n.split(t).filter((e=>e.trim().length>0)).map((e=>{const t=e.slice(e.indexOf(h)+h.length).trim();return t}));s.length>0&&(yield s);r=r.slice(e+t.length);r.trim()===\"--\"&&(r=\"\")}}}catch(e){throw new Error(`Error occured while processing stream payload - ${getErrorMessage(e)}`)}}}}function createJsonResponseAsyncIterator(e){return{async*[Symbol.asyncIterator](){const t=await processJSONResponse(e);yield{...t,hasNext:false}}}}function getResponseDataFromChunkBodies(e){return e.map((e=>{try{return JSON.parse(e)}catch(e){throw new Error(`Error in parsing multipart response - ${getErrorMessage(e)}`)}})).map((e=>{const{data:t,incremental:r,hasNext:n,extensions:s,errors:o}=e;if(!r)return{data:t||{},...getKeyValueIfValid(\"errors\",o),...getKeyValueIfValid(\"extensions\",s),hasNext:n};const a=r.map((({data:e,path:t,errors:r})=>({data:e&&t?buildDataObjectByPath(t,e):{},...getKeyValueIfValid(\"errors\",r)})));return{data:a.length===1?a[0].data:buildCombinedDataObject([...a.map((({data:e})=>e))]),...getKeyValueIfValid(\"errors\",combineErrors(a)),hasNext:n}}))}function validateResponseData(e,t){if(e.length>0)throw new Error(n,{cause:{graphQLErrors:e}});if(Object.keys(t).length===0)throw new Error(o)}function createMultipartResponseAsyncInterator(e,t){const r=(t??\"\").match(y);const n=`--${r?r[1]:\"-\"}`;if(!e.body?.getReader&&!e.body[Symbol.asyncIterator])throw new Error(\"API multipart response did not return an iterable body\",{cause:e});const s=getStreamBodyIterator(e);let o={};let a;return{async*[Symbol.asyncIterator](){try{let e=true;for await(const t of readStreamChunk(s,n)){const r=getResponseDataFromChunkBodies(t);a=r.find((e=>e.extensions))?.extensions??a;const n=combineErrors(r);o=buildCombinedDataObject([o,...r.map((({data:e})=>e))]);e=r.slice(-1)[0].hasNext;validateResponseData(n,o);yield{...getKeyValueIfValid(\"data\",o),...getKeyValueIfValid(\"extensions\",a),hasNext:e}}if(e)throw new Error(\"Response stream terminated unexpectedly\")}catch(t){const r=getErrorCause(t);yield{...getKeyValueIfValid(\"data\",o),...getKeyValueIfValid(\"extensions\",a),errors:{message:formatErrorMessage(getErrorMessage(t)),networkStatusCode:e.status,...getKeyValueIfValid(\"graphQLErrors\",r?.graphQLErrors),response:e},hasNext:false}}}}}function generateRequestStream(e){return async(...t)=>{if(!p.test(t[0]))throw new Error(formatErrorMessage(\"This operation does not result in a streamable response - use request() instead.\"));try{const r=await e(...t);const{statusText:n}=r;if(!r.ok)throw new Error(n,{cause:r});const o=r.headers.get(\"content-type\")||\"\";switch(true){case o.includes(a.json):return createJsonResponseAsyncIterator(r);case o.includes(a.multipart):return createMultipartResponseAsyncInterator(r,o);default:throw new Error(`${s} ${o}`,{cause:r})}}catch(e){return{async*[Symbol.asyncIterator](){const t=getErrorCause(e);yield{errors:{message:formatErrorMessage(getErrorMessage(e)),...getKeyValueIfValid(\"networkStatusCode\",t?.status),...getKeyValueIfValid(\"response\",t)},hasNext:false}}}}}}function validateDomainAndGetStoreUrl({client:e,storeDomain:t}){try{if(!t||typeof t!==\"string\")throw new Error;const e=t.trim();const r=e.match(/^https?:/)?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 a=r.trim();t.includes(a)||(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:a,retries:i}=n;s.push({...r?{variables:r}:{},...a?{headers:e(a)}:{},...o?{url:t(o)}:{},...i?{retries:i}:{}})}return s}}export{createGraphQLClient,generateGetGQLClientParams,generateGetHeaders,generateHttpFetch,getCurrentApiVersion,getCurrentSupportedApiVersions,getErrorMessage,validateApiVersion,validateDomainAndGetStoreUrl,validateRetries};\n//# sourceMappingURL=index.mjs.map\n","import{getCurrentSupportedApiVersions as e,validateDomainAndGetStoreUrl as t,validateApiVersion as r,createGraphQLClient as n,generateGetHeaders as o,generateGetGQLClientParams as i}from\"@shopify/graphql-client\";const s=\"application/json\";const c=\"storefront-api-client\";const a=\"1.0.0\";const p=\"X-Shopify-Storefront-Access-Token\";const l=\"Shopify-Storefront-Private-Token\";const u=\"X-SDK-Variant\";const f=\"X-SDK-Version\";const A=\"X-SDK-Variant-Source\";const d=\"Storefront API Client\";function validatePrivateAccessTokenUsage(e){if(e&&typeof window!==\"undefined\")throw new Error(`${d}: 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(`${d}: a public or private access token must be provided`);if(e&&t)throw new Error(`${d}: only provide either a public or private access token`)}function createStorefrontApiClient({storeDomain:g,apiVersion:h,publicAccessToken:m,privateAccessToken:v,clientName:k,retries:S=0,customFetchApi:U,logger:T}){const b=e();const q=t({client:d,storeDomain:g});const w={client:d,currentSupportedApiVersions:b,logger:T};r({...w,apiVersion:h});validateRequiredAccessTokens(m,v);validatePrivateAccessTokenUsage(v);const V=generateApiUrlFormatter(q,h,w);const y={storeDomain:q,apiVersion:h,...m?{publicAccessToken:m}:{privateAccessToken:v},headers:{\"Content-Type\":s,Accept:s,[u]:c,[f]:a,...k?{[A]:k}:{},...m?{[p]:m}:{[l]:v}},apiUrl:V(),clientName:k};const D=n({headers:y.headers,url:y.apiUrl,retries:S,customFetchApi:U,logger:T});const P=o(y);const $=generateGetApiUrl(y,V);const C=i({getHeaders:P,getApiUrl:$});const F={config:y,getHeaders:P,getApiUrl:$,fetch:(...e)=>D.fetch(...C(...e)),request:(...e)=>D.request(...C(...e)),requestStream:(...e)=>D.requestStream(...C(...e))};return Object.freeze(F)}function generateApiUrlFormatter(e,t,n){return o=>{o&&r({...n,apiVersion:o});const i=(o??t).trim();return`${e}/api/${i}/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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"}