{"version":3,"file":"ComponentWrapper.Cwuocn44.mjs","names":["s","d","i","p","a","f","u","l","h","g","y","t","React","SHOPIFY_CART_ID_KEY","d","u","c","l","p","a","s","e","t","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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"}