{"version":3,"file":"Button.DUYfC7WS.mjs","names":["styles","atom","o","t","r","e","n","u","t","e","o","r","s","a","n","f","l","d","p","w","i","h","m","g","c","e","t","r","n","s","o","c","i","u","a","p","l","g","d","y","v","w","React","useCallback","useState"],"sources":["https:/framerusercontent.com/modules/eAejHXy6apg0StNmpKvK/GXn1lJ5V4nUwhRO9yQKC/_framer_utils.js","https:/ga.jspm.io/npm:jotai@1.13.1/esm/vanilla.mjs","https:/ga.jspm.io/npm:jotai@1.13.1/esm/index.mjs","https:/framerusercontent.com/modules/xpqbkEp3IFoaBlvr8BRa/mmYIfWtGVAI0nJXkmHhs/_queries.js","https:/framerusercontent.com/modules/yZBbIevRfN36MGDPpltx/GNI9VoSkUDyJw3EMOM7K/_atoms.js","https:/ga.jspm.io/npm:@shopify/storefront-api-client@0.2.2/dist/index.mjs","https:/framerusercontent.com/modules/7dEgbg7qo3lsQk361YtS/NrF60tPHZRRgADqpoRFr/_utils.js","https:/framerusercontent.com/modules/tdCHCV0pSkxlDaX5GkOX/SxZI1Y5OuGrQCk85U8Xt/_useShopify.js","https:/framerusercontent.com/modules/fWwtzMT2tYXMW4IKB8On/1dFHOQ0gPjMC0e1WUStY/_test_data.js","https:/framerusercontent.com/modules/kEMMGb5hqGCVwEpqX70U/xtbUYyPMDwLhvH64M4SK/_useCart.js","https:/framerusercontent.com/modules/hQlZBgGeLDev5WuUJA4d/6ncqGCEKZWsfLWpBe7Jn/ComponentWrapper.js","https:/framerusercontent.com/modules/EoMllm11FAeAfrQZgkjQ/LMhGmi204cugd6mksqKj/Button.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(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\":{\"ProductBaseControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ConfigControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"cn\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isOnCanvas\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"textProperties\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./_framer_utils.map","let t=0;function atom(e,n){const o=\"atom\"+ ++t;const r={toString:()=>o};if(\"function\"===typeof e)r.read=e;else{r.init=e;r.read=t=>t(r);r.write=(t,e,n)=>e(r,\"function\"===typeof n?n(t(r)):n)}n&&(r.write=n);return r}const hasInitialValue=t=>\"init\"in t;const isActuallyWritableAtom=t=>!!t.write;const e=new WeakMap;const registerCancelPromise=(t,n)=>{e.set(t,n);t.catch((()=>{})).finally((()=>e.delete(t)))};const cancelPromise=(t,n)=>{const o=e.get(t);if(o){e.delete(t);o(n)}};const resolvePromise=(t,e)=>{t.status=\"fulfilled\";t.value=e};const rejectPromise=(t,e)=>{t.status=\"rejected\";t.reason=e};const isEqualAtomValue=(t,e)=>\"v\"in t&&\"v\"in e&&Object.is(t.v,e.v);const isEqualAtomError=(t,e)=>\"e\"in t&&\"e\"in e&&Object.is(t.e,e.e);const hasPromiseAtomValue=t=>\"v\"in t&&t.v instanceof Promise;const returnAtomValue=t=>{if(\"e\"in t)throw t.e;return t.v};const createStore=()=>{const t=new WeakMap;const e=new WeakMap;const n=new Map;let o;let r;if(\"production\"!==(import.meta.env&&import.meta.env.MODE)){o=new Set;r=new Set}const getAtomState=e=>t.get(e);const setAtomState=(e,o)=>{\"production\"!==(import.meta.env&&import.meta.env.MODE)&&Object.freeze(o);const r=t.get(e);t.set(e,o);n.has(e)||n.set(e,r);if(r&&hasPromiseAtomValue(r)){const t=\"v\"in o?o.v instanceof Promise?o.v:Promise.resolve(o.v):Promise.reject(o.e);cancelPromise(r.v,t)}};const updateDependencies=(t,e,n)=>{const o=new Map;let r=false;n.forEach((n=>{const s=n===t?e:getAtomState(n);if(s){o.set(n,s);e.d.get(n)!==s&&(r=true)}else\"production\"!==(import.meta.env&&import.meta.env.MODE)&&console.warn(\"[Bug] atom state not found\")}));(r||e.d.size!==o.size)&&(e.d=o)};const setAtomValue=(t,e,n)=>{const o=getAtomState(t);const r={d:(null==o?void 0:o.d)||new Map,v:e};n&&updateDependencies(t,r,n);if(o&&isEqualAtomValue(o,r)&&o.d===r.d)return o;setAtomState(t,r);return r};const setAtomError=(t,e,n)=>{const o=getAtomState(t);const r={d:(null==o?void 0:o.d)||new Map,e:e};n&&updateDependencies(t,r,n);if(o&&isEqualAtomError(o,r)&&o.d===r.d)return o;setAtomState(t,r);return r};const readAtomState=t=>{const n=getAtomState(t);if(n){n.d.forEach(((n,o)=>{o===t||e.has(o)||readAtomState(o)}));if(Array.from(n.d).every((([e,n])=>e===t||getAtomState(e)===n)))return n}const o=new Set;let r=true;const getter=e=>{o.add(e);if(e===t){const t=getAtomState(e);if(t)return returnAtomValue(t);if(hasInitialValue(e))return e.init;throw new Error(\"no atom init\")}const n=readAtomState(e);return returnAtomValue(n)};let s;let c;const i={get signal(){s||(s=new AbortController);return s.signal},get setSelf(){\"production\"===(import.meta.env&&import.meta.env.MODE)||isActuallyWritableAtom(t)||console.warn(\"setSelf function cannot be used with read-only atom\");!c&&isActuallyWritableAtom(t)&&(c=(...e)=>{\"production\"!==(import.meta.env&&import.meta.env.MODE)&&r&&console.warn(\"setSelf function cannot be called in sync\");if(!r)return writeAtom(t,...e)});return c}};try{const e=t.read(getter,i);if(e instanceof Promise){let n;const r=new Promise(((s,c)=>{let i=false;e.then((t=>{if(!i){resolvePromise(r,t);s(t)}}),(t=>{if(!i){rejectPromise(r,t);c(t)}})).finally((()=>{if(!i){i=true;setAtomValue(t,r,o)}}));n=t=>{if(!i){i=true;t.then((t=>resolvePromise(r,t)),(t=>rejectPromise(r,t)));s(t)}}}));r.status=\"pending\";registerCancelPromise(r,(t=>{t&&n(t);null==s?void 0:s.abort()}));return setAtomValue(t,r,o)}return setAtomValue(t,e,o)}catch(e){return setAtomError(t,e,o)}finally{r=false}};const readAtom=t=>returnAtomValue(readAtomState(t));const addAtom=t=>{let n=e.get(t);n||(n=mountAtom(t));return n};const canUnmountAtom=(t,e)=>!e.l.size&&(!e.t.size||1===e.t.size&&e.t.has(t));const delAtom=t=>{const n=e.get(t);n&&canUnmountAtom(t,n)&&unmountAtom(t)};const recomputeDependents=t=>{const n=e.get(t);null==n?void 0:n.t.forEach((e=>{if(e!==t){const t=getAtomState(e);const n=readAtomState(e);t&&isEqualAtomValue(t,n)||recomputeDependents(e)}}))};const writeAtomState=(t,...e)=>{let n=true;const getter=t=>returnAtomValue(readAtomState(t));const setter=(e,...o)=>{let r;if(e===t){if(!hasInitialValue(e))throw new Error(\"atom not writable\");const t=getAtomState(e);const n=setAtomValue(e,o[0]);t&&isEqualAtomValue(t,n)||recomputeDependents(e)}else r=writeAtomState(e,...o);n||flushPending();return r};const o=t.write(getter,setter,...e);n=false;return o};const writeAtom=(t,...e)=>{const n=writeAtomState(t,...e);flushPending();return n};const mountAtom=(t,n)=>{const o={t:new Set(n&&[n]),l:new Set};e.set(t,o);\"production\"!==(import.meta.env&&import.meta.env.MODE)&&r.add(t);readAtomState(t).d.forEach(((n,o)=>{const r=e.get(o);r?r.t.add(t):o!==t&&mountAtom(o,t)}));readAtomState(t);if(isActuallyWritableAtom(t)&&t.onMount){const e=t.onMount(((...e)=>writeAtom(t,...e)));e&&(o.u=e)}return o};const unmountAtom=t=>{var n;const o=null==(n=e.get(t))?void 0:n.u;o&&o();e.delete(t);\"production\"!==(import.meta.env&&import.meta.env.MODE)&&r.delete(t);const s=getAtomState(t);if(s){hasPromiseAtomValue(s)&&cancelPromise(s.v);s.d.forEach(((n,o)=>{if(o!==t){const n=e.get(o);if(n){n.t.delete(t);canUnmountAtom(o,n)&&unmountAtom(o)}}}))}else\"production\"!==(import.meta.env&&import.meta.env.MODE)&&console.warn(\"[Bug] could not find atom state to unmount\",t)};const mountDependencies=(t,n,o)=>{const r=new Set(n.d.keys());null==o?void 0:o.forEach(((n,o)=>{if(r.has(o)){r.delete(o);return}const s=e.get(o);if(s){s.t.delete(t);canUnmountAtom(o,s)&&unmountAtom(o)}}));r.forEach((n=>{const o=e.get(n);o?o.t.add(t):e.has(t)&&mountAtom(n,t)}))};const flushPending=()=>{while(n.size){const t=Array.from(n);n.clear();t.forEach((([t,n])=>{const o=getAtomState(t);if(o){o.d!==(null==n?void 0:n.d)&&mountDependencies(t,o,null==n?void 0:n.d);const r=e.get(t);!r||n&&!hasPromiseAtomValue(n)&&(isEqualAtomValue(n,o)||isEqualAtomError(n,o))||r.l.forEach((t=>t()))}else\"production\"!==(import.meta.env&&import.meta.env.MODE)&&console.warn(\"[Bug] no atom state to flush\")}))}\"production\"!==(import.meta.env&&import.meta.env.MODE)&&o.forEach((t=>t()))};const subscribeAtom=(t,e)=>{const n=addAtom(t);flushPending();const o=n.l;o.add(e);return()=>{o.delete(e);delAtom(t)}};return\"production\"!==(import.meta.env&&import.meta.env.MODE)?{get:readAtom,set:writeAtom,sub:subscribeAtom,dev_subscribe_state:t=>{o.add(t);return()=>{o.delete(t)}},dev_get_mounted_atoms:()=>r.values(),dev_get_atom_state:e=>t.get(e),dev_get_mounted:t=>e.get(t),dev_restore_atoms:t=>{for(const[e,n]of t)if(hasInitialValue(e)){setAtomValue(e,n);recomputeDependents(e)}flushPending()}}:{get:readAtom,set:writeAtom,sub:subscribeAtom}};let n;const getDefaultStore=()=>{n||(n=createStore());return n};export{atom,createStore,getDefaultStore};\n\n//# sourceMappingURL=vanilla.mjs.map","import{createContext as t,useState as e,useEffect as n,useRef as o,createElement as r,useContext as s,useReducer as i,useDebugValue as c,useCallback as a}from\"react\";import{atom as u}from\"jotai/vanilla\";const l=Symbol();const isSuspensePromise=t=>!!t[l];const isSuspensePromiseAlreadyCancelled=t=>!t[l].c;const cancelSuspensePromise=t=>{var e;const{b:n,c:o}=t[l];if(o){o();null==(e=d.get(n))?void 0:e()}};const isEqualSuspensePromise=(t,e)=>{const n=t[l].o;const o=e[l].o;return n===o||t===o||isSuspensePromise(n)&&isEqualSuspensePromise(n,e)};const createSuspensePromise=(t,e)=>{const n={b:t,o:e,c:null};const o=new Promise((t=>{n.c=()=>{n.c=null;t()};e.finally(n.c)}));o[l]=n;return o};const copySuspensePromise=t=>createSuspensePromise(t[l].b,t[l].o);const d=new WeakMap;const registerPromiseAbort=(t,e)=>{d.set(t,e)};const hasInitialValue=t=>\"init\"in t;const f=\"r\";const p=\"w\";const m=\"c\";const v=\"s\";const w=\"h\";const h=\"n\";const E=\"l\";const g=\"a\";const y=\"m\";const createStore=t=>{const e=new WeakMap;const n=new WeakMap;const o=new Map;let r;let s;if(\"production\"!==(import.meta.env&&import.meta.env.MODE)){r=new Set;s=new Set}if(t)for(const[n,o]of t){const t={v:o,r:0,y:true,d:new Map};if(\"production\"!==(import.meta.env&&import.meta.env.MODE)){Object.freeze(t);hasInitialValue(n)||console.warn(\"Found initial value for derived atom which can cause unexpected behavior\",n)}e.set(n,t)}const i=new WeakMap;const addSuspensePromiseToCache=(t,e,n)=>{let o=i.get(e);if(!o){o=new Map;i.set(e,o)}n.then((()=>{if(o.get(t)===n){o.delete(t);o.size||i.delete(e)}}));o.set(t,n)};const cancelAllSuspensePromiseInCache=t=>{const e=new Set;const n=i.get(t);if(n){i.delete(t);n.forEach(((t,n)=>{cancelSuspensePromise(t);e.add(n)}))}return e};const c=new WeakMap;const getVersionedAtomStateMap=t=>{let e=c.get(t);if(!e){e=new Map;c.set(t,e)}return e};const getAtomState=(t,n)=>{if(t){const e=getVersionedAtomStateMap(t);let o=e.get(n);if(!o){o=getAtomState(t.p,n);o&&\"p\"in o&&isSuspensePromiseAlreadyCancelled(o.p)&&(o=void 0);o&&e.set(n,o)}return o}return e.get(n)};const setAtomState=(t,n,r)=>{\"production\"!==(import.meta.env&&import.meta.env.MODE)&&Object.freeze(r);if(t){const e=getVersionedAtomStateMap(t);e.set(n,r)}else{const t=e.get(n);e.set(n,r);o.has(n)||o.set(n,t)}};const createReadDependencies=(t,e=new Map,n)=>{if(!n)return e;const o=new Map;let r=false;n.forEach((n=>{var s;const i=(null==(s=getAtomState(t,n))?void 0:s.r)||0;o.set(n,i);e.get(n)!==i&&(r=true)}));return e.size!==o.size||r?o:e};const setAtomValue=(t,e,n,o,r)=>{const s=getAtomState(t,e);if(s){if(r&&(!(\"p\"in s)||!isEqualSuspensePromise(s.p,r)))return s;\"p\"in s&&cancelSuspensePromise(s.p)}const i={v:n,r:(null==s?void 0:s.r)||0,y:true,d:createReadDependencies(t,null==s?void 0:s.d,o)};let c=!(null==s?void 0:s.y);if(s&&\"v\"in s&&Object.is(s.v,n)){if(i.d!==s.d&&(i.d.size!==s.d.size||!Array.from(i.d.keys()).every((t=>s.d.has(t))))){c=true;Promise.resolve().then((()=>{flushPending(t)}))}}else{c=true;++i.r;i.d.has(e)&&(i.d=new Map(i.d).set(e,i.r))}if(s&&!c)return s;setAtomState(t,e,i);return i};const setAtomReadError=(t,e,n,o,r)=>{const s=getAtomState(t,e);if(s){if(r&&(!(\"p\"in s)||!isEqualSuspensePromise(s.p,r)))return s;\"p\"in s&&cancelSuspensePromise(s.p)}const i={e:n,r:((null==s?void 0:s.r)||0)+1,y:true,d:createReadDependencies(t,null==s?void 0:s.d,o)};setAtomState(t,e,i);return i};const setAtomSuspensePromise=(t,e,n,o)=>{const r=getAtomState(t,e);if(r&&\"p\"in r){if(isEqualSuspensePromise(r.p,n)&&!isSuspensePromiseAlreadyCancelled(r.p))return r.y?r:{...r,y:true};cancelSuspensePromise(r.p)}addSuspensePromiseToCache(t,e,n);const s={p:n,r:((null==r?void 0:r.r)||0)+1,y:true,d:createReadDependencies(t,null==r?void 0:r.d,o)};setAtomState(t,e,s);return s};const setAtomPromiseOrValue=(t,e,n,o)=>{if(n instanceof Promise){const r=createSuspensePromise(n,n.then((n=>{setAtomValue(t,e,n,o,r)})).catch((n=>{if(n instanceof Promise)return isSuspensePromise(n)?n.then((()=>{readAtomState(t,e,true)})):n;setAtomReadError(t,e,n,o,r)})));return setAtomSuspensePromise(t,e,r,o)}return setAtomValue(t,e,n,o)};const setAtomInvalidated=(t,e)=>{const n=getAtomState(t,e);if(n){const o={...n,y:false};setAtomState(t,e,o)}else\"production\"!==(import.meta.env&&import.meta.env.MODE)&&console.warn(\"[Bug] could not invalidate non existing atom\",e)};const readAtomState=(t,e,o)=>{if(!o){const o=getAtomState(t,e);if(o){if(o.y&&\"p\"in o&&!isSuspensePromiseAlreadyCancelled(o.p))return o;o.d.forEach(((o,r)=>{if(r!==e)if(n.has(r)){const e=getAtomState(t,r);e&&!e.y&&readAtomState(t,r)}else readAtomState(t,r)}));if(Array.from(o.d).every((([e,n])=>{const o=getAtomState(t,e);return o&&!(\"p\"in o)&&o.r===n})))return o.y?o:{...o,y:true}}}const r=new Set;try{const n=e.read((n=>{r.add(n);const o=n===e?getAtomState(t,n):readAtomState(t,n);if(o){if(\"e\"in o)throw o.e;if(\"p\"in o)throw o.p;return o.v}if(hasInitialValue(n))return n.init;throw new Error(\"no atom init\")}));return setAtomPromiseOrValue(t,e,n,r)}catch(n){if(n instanceof Promise){const o=isSuspensePromise(n)&&isSuspensePromiseAlreadyCancelled(n)?copySuspensePromise(n):createSuspensePromise(n,n);return setAtomSuspensePromise(t,e,o,r)}return setAtomReadError(t,e,n,r)}};const readAtom=(t,e)=>{const n=readAtomState(e,t);return n};const addAtom=(t,e)=>{let o=n.get(e);o||(o=mountAtom(t,e));return o};const canUnmountAtom=(t,e)=>!e.l.size&&(!e.t.size||1===e.t.size&&e.t.has(t));const delAtom=(t,e)=>{const o=n.get(e);o&&canUnmountAtom(e,o)&&unmountAtom(t,e)};const invalidateDependents=(t,e)=>{const o=n.get(e);null==o?void 0:o.t.forEach((n=>{if(n!==e){setAtomInvalidated(t,n);invalidateDependents(t,n)}}))};const writeAtomState=(t,e,n)=>{let o=true;const writeGetter=(e,n)=>{const o=readAtomState(t,e);if(\"e\"in o)throw o.e;if(\"p\"in o){if(null==n?void 0:n.unstable_promise)return o.p.then((()=>{const r=getAtomState(t,e);return r&&\"p\"in r&&r.p===o.p?new Promise((t=>setTimeout(t))).then((()=>writeGetter(e,n))):writeGetter(e,n)}));\"production\"!==(import.meta.env&&import.meta.env.MODE)&&console.info(\"Reading pending atom state in write operation. We throw a promise for now.\",e);throw o.p}if(\"v\"in o)return o.v;\"production\"!==(import.meta.env&&import.meta.env.MODE)&&console.warn(\"[Bug] no value found while reading atom in write operation. This is probably a bug.\",e);throw new Error(\"no value found\")};const setter=(n,r)=>{let s;if(n===e){if(!hasInitialValue(n))throw new Error(\"atom not writable\");const e=cancelAllSuspensePromiseInCache(n);e.forEach((e=>{e!==t&&setAtomPromiseOrValue(e,n,r)}));const o=getAtomState(t,n);const s=setAtomPromiseOrValue(t,n,r);o!==s&&invalidateDependents(t,n)}else s=writeAtomState(t,n,r);o||flushPending(t);return s};const r=e.write(writeGetter,setter,n);o=false;return r};const writeAtom=(t,e,n)=>{const o=writeAtomState(n,t,e);flushPending(n);return o};const isActuallyWritableAtom=t=>!!t.write;const mountAtom=(t,e,o)=>{const r={t:new Set(o&&[o]),l:new Set};n.set(e,r);\"production\"!==(import.meta.env&&import.meta.env.MODE)&&s.add(e);const i=readAtomState(void 0,e);i.d.forEach(((o,r)=>{const s=n.get(r);s?s.t.add(e):r!==e&&mountAtom(t,r,e)}));if(isActuallyWritableAtom(e)&&e.onMount){const setAtom=n=>writeAtom(e,n,t);const n=e.onMount(setAtom);t=void 0;n&&(r.u=n)}return r};const unmountAtom=(t,e)=>{var o;const r=null==(o=n.get(e))?void 0:o.u;r&&r();n.delete(e);\"production\"!==(import.meta.env&&import.meta.env.MODE)&&s.delete(e);const i=getAtomState(t,e);if(i){\"p\"in i&&cancelSuspensePromise(i.p);i.d.forEach(((o,r)=>{if(r!==e){const o=n.get(r);if(o){o.t.delete(e);canUnmountAtom(r,o)&&unmountAtom(t,r)}}}))}else\"production\"!==(import.meta.env&&import.meta.env.MODE)&&console.warn(\"[Bug] could not find atom state to unmount\",e)};const mountDependencies=(t,e,o,r)=>{const s=new Set(o.d.keys());null==r?void 0:r.forEach(((o,r)=>{if(s.has(r)){s.delete(r);return}const i=n.get(r);if(i){i.t.delete(e);canUnmountAtom(r,i)&&unmountAtom(t,r)}}));s.forEach((o=>{const r=n.get(o);r?r.t.add(e):n.has(e)&&mountAtom(t,o,e)}))};const flushPending=t=>{if(t){const o=getVersionedAtomStateMap(t);o.forEach(((o,r)=>{const s=e.get(r);if(o!==s){const e=n.get(r);null==e?void 0:e.l.forEach((e=>e(t)))}}))}else{while(o.size){const t=Array.from(o);o.clear();t.forEach((([t,e])=>{const o=getAtomState(void 0,t);o&&o.d!==(null==e?void 0:e.d)&&mountDependencies(void 0,t,o,null==e?void 0:e.d);if(e&&!e.y&&(null==o?void 0:o.y))return;const r=n.get(t);null==r?void 0:r.l.forEach((t=>t()))}))}\"production\"!==(import.meta.env&&import.meta.env.MODE)&&r.forEach((t=>t()))}};const commitVersionedAtomStateMap=t=>{const n=getVersionedAtomStateMap(t);n.forEach(((n,o)=>{const r=e.get(o);if(!r||n.r>r.r||n.y!==r.y||n.r===r.r&&n.d!==r.d){e.set(o,n);n.d!==(null==r?void 0:r.d)&&mountDependencies(t,o,n,null==r?void 0:r.d)}}))};const commitAtom=(t,e)=>{e&&commitVersionedAtomStateMap(e);flushPending(void 0)};const subscribeAtom=(t,e,n)=>{const o=addAtom(n,t);const r=o.l;r.add(e);return()=>{r.delete(e);delAtom(n,t)}};const restoreAtoms=(t,e)=>{for(const[n,o]of t)if(hasInitialValue(n)){setAtomPromiseOrValue(e,n,o);invalidateDependents(e,n)}flushPending(e)};return\"production\"!==(import.meta.env&&import.meta.env.MODE)?{[f]:readAtom,[p]:writeAtom,[m]:commitAtom,[v]:subscribeAtom,[w]:restoreAtoms,[h]:t=>{r.add(t);return()=>{r.delete(t)}},[E]:()=>s.values(),[g]:t=>e.get(t),[y]:t=>n.get(t)}:{[f]:readAtom,[p]:writeAtom,[m]:commitAtom,[v]:subscribeAtom,[w]:restoreAtoms}};const createStoreForExport=t=>{const e=createStore(t);const get=t=>{const n=e[f](t);if(\"e\"in n)throw n.e;if(!(\"p\"in n))return n.v};const asyncGet=t=>new Promise(((n,o)=>{const r=e[f](t);\"e\"in r?o(r.e):n(\"p\"in r?r.p.then((()=>asyncGet(t))):r.v)}));const set=(t,n)=>e[p](t,n);const sub=(t,n)=>e[v](t,n);return{get:get,asyncGet:asyncGet,set:set,sub:sub,SECRET_INTERNAL_store:e}};const createScopeContainer=(t,e)=>{const n=e?e(t).SECRET_INTERNAL_store:createStore(t);return{s:n}};const M=new Map;const getScopeContext=e=>{M.has(e)||M.set(e,t(createScopeContainer()));return M.get(e)};const Provider=({children:t,initialValues:s,scope:i,unstable_createStore:c,unstable_enableVersionedWrite:a})=>{const[u,l]=e({});n((()=>{const t=d.current;if(t.w){t.s[m](null,u);delete u.p;t.v=u}}),[u]);const d=o();if(!d.current){const t=createScopeContainer(s,c);if(a){let e=0;t.w=t=>{l((n=>{const o=e?n:{p:n};t(o);return o}))};t.v=u;t.r=t=>{++e;t();--e}}d.current=t}const f=getScopeContext(i);return r(f.Provider,{value:d.current},t)};function atom(t,e){return u(t,e)}function useAtomValue(t,e){const o=getScopeContext(e);const r=s(o);const{s:a,v:u}=r;const getAtomValue=e=>{const n=a[f](t,e);if(\"production\"!==(import.meta.env&&import.meta.env.MODE)&&!n.y)throw new Error(\"should not be invalidated\");if(\"e\"in n)throw n.e;if(\"p\"in n)throw n.p;if(\"v\"in n)return n.v;throw new Error(\"no atom value\")};const[[l,d,p],w]=i(((e,n)=>{const o=getAtomValue(n);return Object.is(e[1],o)&&e[2]===t?e:[n,o,t]}),u,(e=>{const n=getAtomValue(e);return[e,n,t]}));let h=d;if(p!==t){w(l);h=getAtomValue(l)}n((()=>{const{v:e}=r;e&&a[m](t,e);const n=a[v](t,w,e);w(e);return n}),[a,t,r]);n((()=>{a[m](t,l)}));c(h);return h}function useSetAtom(t,e){const n=getScopeContext(e);const{s:o,w:r}=s(n);const i=a((e=>{if(\"production\"!==(import.meta.env&&import.meta.env.MODE)&&!(\"write\"in t))throw new Error(\"not writable atom\");const write=n=>o[p](t,e,n);return r?r(write):write()}),[o,r,t]);return i}function useAtom(t,e){if(\"scope\"in t){console.warn(\"atom.scope is deprecated. Please do useAtom(atom, scope) instead.\");e=t.scope}return[useAtomValue(t,e),useSetAtom(t,e)]}export{Provider,getScopeContext as SECRET_INTERNAL_getScopeContext,registerPromiseAbort as SECRET_INTERNAL_registerPromiseAbort,atom,createStoreForExport as unstable_createStore,useAtom,useAtomValue,useSetAtom};\n\n//# sourceMappingURL=index.mjs.map","const cartReturnData=`\nid\ncreatedAt\nupdatedAt\ncheckoutUrl\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      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          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}`;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`;\nexport const __FramerMetadata__ = {\"exports\":{\"createCart\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"addItemsToCart\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"removeCartItems\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"readCart\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"updateCartItems\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"productsQuery\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./_queries.map","import{atom}from\"jotai\";import{productsQuery,createCart,readCart}from\"https://framerusercontent.com/modules/xpqbkEp3IFoaBlvr8BRa/mmYIfWtGVAI0nJXkmHhs/_queries.js\";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){console.error(\"Error fetching products:\",error.message);return[];}}export const settingsAtom=atom({enableSellingPlan:false});export const configAtom=atom(null);export const clientAtom=atom(null);export const selectedProductsAtom=atom({});export const productsAtom=atom(async get=>{const sellingPlan=get(settingsAtom).enableSellingPlan;if(!get(clientAtom))return[];const products=await fetchAllProducts(get(clientAtom),sellingPlan);return products;});export const localCartAtom=atom(null);export const createCartAtom=atom(async get=>{const attributes=[];const currentUrl=new URL(window.location.href);// Add all search parameters from the current URL to attributes\ncurrentUrl.searchParams?.forEach((value,key)=>{if(key!==\"key\"){attributes.push({key,value});}});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=localStorage.getItem(\"shopifyCartID\");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\"}},\"SelectedProduct\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"settingsAtom\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"productsAtom\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"createCartAtom\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"clientAtom\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"selectedProductsAtom\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"cartAtom\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fetchAllProducts\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"localCartAtom\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","const e=\"GraphQL Client\";const t=0;const r=3;const n=\"An error occurred while fetching from the API. Review 'graphQLErrors' for details.\";const s=\"Response returned unexpected Content-Type:\";const o=\"An unknown error has occurred. The API did not return a data object or any errors in its response.\";const i={json:\"application/json\",multipart:\"multipart/mixed\"};const a=1e3;const c=[429,503];function formatErrorMessage(t,r=e){return t.startsWith(`${r}`)?t:`${r}: ${t}`}function getErrorMessage(e){return e instanceof Error?e.message:JSON.stringify(e)}function validateRetries({client:e,retries:n}){if(n!==void 0&&(typeof n!==\"number\"||n<t||n>r))throw new Error(`${e}: The provided \"retries\" value (${n}) is invalid - it cannot be less than ${t} or greater than ${r}`)}function getKeyValueIfValid(e,t){return t&&(typeof t!==\"object\"||Array.isArray(t)||typeof t===\"object\"&&Object.keys(t).length>0)?{[e]:t}:{}}function generateHttpFetch({clientLogger:t,customFetchApi:r=fetch,client:n=e,defaultRetryWaitTime:s=a,retriableCodes:o=c}){const httpFetch=async(e,i,a)=>{const c=i+1;const u=a+1;let p;try{p=await r(...e);t({type:\"HTTP-Response\",content:{requestParams:e,response:p}});if(!p.ok&&o.includes(p.status)&&c<=u)throw new Error;return p}catch(r){if(c<=u){const r=p?.headers.get(\"Retry-After\");await sleep(r?parseInt(r,10):s);t({type:\"HTTP-Retry\",content:{requestParams:e,lastResponse:p,retryAttempt:i,maxRetries:a}});return httpFetch(e,c,a)}throw new Error(formatErrorMessage(`${a>0?`Attempted maximum number of ${a} network retries. Last message - `:\"\"}${getErrorMessage(r)}`,n))}};return httpFetch}async function sleep(e){return new Promise((t=>setTimeout(t,e)))}function createGraphQLClient({headers:t,url:r,customFetchApi:n=p,retries:s=0,logger:o}){validateRetries({client:e,retries:s});const i={headers:t,url:r,retries:s};const c=generateClientLogger(o);const u=generateHttpFetch({customFetchApi:n,clientLogger:c,defaultRetryWaitTime:a});const p=generateFetch(u,i);const l=generateRequest(p);return{config:i,fetch:p,request:l}}function generateClientLogger(e){return t=>{e&&e(t)}}async function processJSONResponse(e){const{errors:t,data:r,extensions:s}=await e.json();return{...getKeyValueIfValid(\"data\",r),...getKeyValueIfValid(\"extensions\",s),...t||!r?{errors:{networkStatusCode:e.status,message:formatErrorMessage(t?n:o),...getKeyValueIfValid(\"graphQLErrors\",t),response:e}}:{}}}function generateFetch(t,{url:r,headers:n,retries:s}){return async(o,i={})=>{const{variables:a,headers:c,url:u,retries:p}=i;const l=JSON.stringify({query:o,variables:a});validateRetries({client:e,retries:p});const g=Object.fromEntries(Object.entries({...n,...c}).map((([e,t])=>[e,Array.isArray(t)?t.join(\", \"):t.toString()])));const d=[u??r,{method:\"POST\",headers:g,body:l}];return t(d,1,p??s)}}function generateRequest(e){return async(...t)=>{try{const r=await e(...t);const{status:n,statusText:o}=r;const a=r.headers.get(\"content-type\")||\"\";return r.ok?a.includes(i.json)?processJSONResponse(r):{errors:{networkStatusCode:n,message:formatErrorMessage(`${s} ${a}`),response:r}}:{errors:{networkStatusCode:n,message:formatErrorMessage(o),response:r}}}catch(e){return{errors:{message:getErrorMessage(e)}}}}}function validateDomainAndGetStoreUrl({client:e,storeDomain:t}){try{if(!t||typeof t!==\"string\")throw new Error;const e=t.trim();const r=e.startsWith(\"http\")?e:`https://${e}`;const n=new URL(r);n.protocol=\"https\";return n.origin}catch(r){throw new Error(`${e}: a valid store domain (\"${t}\") must be provided`)}}function validateApiVersion({client:e,currentSupportedApiVersions:t,apiVersion:r,logger:n}){const s=`${e}: the provided apiVersion (\"${r}\")`;const o=`Currently supported API versions: ${t.join(\", \")}`;if(!r||typeof r!==\"string\")throw new Error(`${s} is invalid. ${o}`);const i=r.trim();t.includes(i)||(n?n({type:\"Unsupported_Api_Version\",content:{apiVersion:r,supportedApiVersions:t}}):console.warn(`${s} is likely deprecated or not supported. ${o}`))}function getQuarterMonth(e){const t=e*3-2;return t===10?t:`0${t}`}function getPrevousVersion(e,t,r){const n=t-r;return n<=0?`${e-1}-${getQuarterMonth(n+4)}`:`${e}-${getQuarterMonth(n)}`}function getCurrentApiVersion(){const e=new Date;const t=e.getUTCMonth();const r=e.getUTCFullYear();const n=Math.floor(t/3+1);return{year:r,quarter:n,version:`${r}-${getQuarterMonth(n)}`}}function getCurrentSupportedApiVersions(){const{year:e,quarter:t,version:r}=getCurrentApiVersion();const n=t===4?`${e+1}-01`:`${e}-${getQuarterMonth(t+1)}`;return[getPrevousVersion(e,t,3),getPrevousVersion(e,t,2),getPrevousVersion(e,t,1),r,n,\"unstable\"]}function generateGetHeaders(e){return t=>({...t??{},...e.headers})}function generateGetGQLClientParams({getHeaders:e,getApiUrl:t}){return(r,n)=>{const s=[r];if(n&&Object.keys(n).length>0){const{variables:r,apiVersion:o,headers:i,retries:a}=n;s.push({...r?{variables:r}:{},...i?{headers:e(i)}:{},...o?{url:t(o)}:{},...a?{retries:a}:{}})}return s}}const u=\"application/json\";const p=\"storefront-api-client\";const l=\"0.2.2\";const g=\"X-Shopify-Storefront-Access-Token\";const d=\"Shopify-Storefront-Private-Token\";const f=\"X-SDK-Variant\";const h=\"X-SDK-Version\";const m=\"X-SDK-Variant-Source\";const A=\"Storefront API Client\";function validatePrivateAccessTokenUsage(e){if(e&&typeof window!==\"undefined\")throw new Error(`${A}: private access tokens and headers should only be used in a server-to-server implementation. Use the public API access token in nonserver environments.`)}function validateRequiredAccessTokens(e,t){if(!e&&!t)throw new Error(`${A}: a public or private access token must be provided`);if(e&&t)throw new Error(`${A}: only provide either a public or private access token`)}function createStorefrontApiClient({storeDomain:e,apiVersion:t,publicAccessToken:r,privateAccessToken:n,clientName:s,retries:o=0,customFetchApi:i,logger:a}){const c=getCurrentSupportedApiVersions();const y=validateDomainAndGetStoreUrl({client:A,storeDomain:e});const v={client:A,currentSupportedApiVersions:c,logger:a};validateApiVersion({...v,apiVersion:t});validateRequiredAccessTokens(r,n);validatePrivateAccessTokenUsage(n);const $=generateApiUrlFormatter(y,t,v);const w={storeDomain:y,apiVersion:t,...r?{publicAccessToken:r}:{privateAccessToken:n},headers:{\"Content-Type\":u,Accept:u,[f]:p,[h]:l,...s?{[m]:s}:{},...r?{[g]:r}:{[d]:n}},apiUrl:$(),clientName:s};const V=createGraphQLClient({headers:w.headers,url:w.apiUrl,retries:o,customFetchApi:i,logger:a});const b=generateGetHeaders(w);const S=generateGetApiUrl(w,$);const T=generateGetGQLClientParams({getHeaders:b,getApiUrl:S});const k={config:w,getHeaders:b,getApiUrl:S,fetch:(...e)=>V.fetch(...T(...e)),request:(...e)=>V.request(...T(...e))};return Object.freeze(k)}function generateApiUrlFormatter(e,t,r){return n=>{n&&validateApiVersion({...r,apiVersion:n});const s=(n??t).trim();return`${e}/api/${s}/graphql.json`}}function generateGetApiUrl(e,t){return r=>r?t(r):e.apiUrl}export{createStorefrontApiClient};\n//# sourceMappingURL=index.mjs.map\n","import React from\"react\";export function priceCode(price,config){if(!price)return\"\";var _ref;const locale=(_ref=(config===null||config===void 0?void 0:config.languageIsoCode.includes(\"_\"))?config===null||config===void 0?void 0:config.languageIsoCode.replace(\"_\",\"-\"):`${config===null||config===void 0?void 0:config.languageIsoCode}-${config===null||config===void 0?void 0:config.countryIsoCode}`)!==null&&_ref!==void 0?_ref:\"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&&resourcePart!==void 0?resourcePart:null;return{id,resource,resourceId,search,searchParams,hash};}catch{return defaultReturn;}}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;}var _ref;let childProps=(_ref=child.props)!==null&&_ref!==void 0?_ref:{};// padd changedProps to all child elements props\nif(child.props.children&&allInstances){childProps.children=addPropsToChildren(child.props.children,changeProps,allInstances);}childProps={...childProps,...changeProps};return /*#__PURE__*/React.cloneElement(child,childProps);});};\nexport const __FramerMetadata__ = {\"exports\":{\"addPropsToChildren\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"priceCode\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"debounce\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"checkConfigAreSame\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"parseGid\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./_utils.map","import{useEffect,useCallback}from\"react\";import{createStorefrontApiClient}from\"@shopify/storefront-api-client\";import{useAtomValue,useSetAtom}from\"jotai\";import{productsAtom,clientAtom,configAtom,cartAtom}from\"https://framerusercontent.com/modules/yZBbIevRfN36MGDPpltx/GNI9VoSkUDyJw3EMOM7K/_atoms.js\";import{checkConfigAreSame,debounce}from\"https://framerusercontent.com/modules/7dEgbg7qo3lsQk361YtS/NrF60tPHZRRgADqpoRFr/_utils.js\";export const useShopify=config=>{const debouncedCheck=useCallback(debounce(()=>{checkConfigAreSame();},100),[]);const products=useAtomValue(productsAtom);const cart=useAtomValue(cartAtom);const client=useAtomValue(clientAtom);const setClient=useSetAtom(clientAtom);const setConfig=useSetAtom(configAtom);useEffect(()=>{debouncedCheck();//set config if exist\nif(config&&Object.keys(config).length!==0)setConfig(config);// create the client and store it\nif(!client&&config?.storeDomain&&config?.storefrontToken){setClient(createStorefrontApiClient({storeDomain:config.storeDomain,apiVersion:\"2024-07\",publicAccessToken:config.storefrontToken,customFetchApi:fetch}));}return()=>{debouncedCheck();};},[config]);useEffect(()=>{if(cart){localStorage.setItem(\"shopifyCartID\",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\",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\",title:\"Product Title Test\",availableForSale:false,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\"}]},images:{nodes:[{altText:\"\",height:720,url:\"https://blocks.astratic.com/img/general-img-square.png\",width:600},{altText:\"\",height:720,url:\"https://blocks.astratic.com/img/general-img-square.png\",width:600}]}};\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{useState}from\"react\";import{useAtomValue,useSetAtom}from\"jotai\";import{localCartAtom,clientAtom}from\"https://framerusercontent.com/modules/yZBbIevRfN36MGDPpltx/GNI9VoSkUDyJw3EMOM7K/_atoms.js\";import{addItemsToCart,removeCartItems,updateCartItems}from\"https://framerusercontent.com/modules/xpqbkEp3IFoaBlvr8BRa/mmYIfWtGVAI0nJXkmHhs/_queries.js\";import{useShopify}from\"https://framerusercontent.com/modules/tdCHCV0pSkxlDaX5GkOX/SxZI1Y5OuGrQCk85U8Xt/_useShopify.js\";import{DefaultCart}from\"https://framerusercontent.com/modules/fWwtzMT2tYXMW4IKB8On/1dFHOQ0gPjMC0e1WUStY/_test_data.js\";export const useCart=config=>{const[actionLoading,setActionLoading]=useState(false);const[cartError,setCartError]=useState(\"\");const{cart}=useShopify(config);const client=useAtomValue(clientAtom);const setCart=useSetAtom(localCartAtom);const cartCount=cart?.lines.edges.filter(({node})=>node.quantity).length??0;const addToCart=async({merchandiseId,quantity=1,attributes,sellingPlanId})=>{setActionLoading(true);setCartError(\"\");try{const res=await client?.request(addItemsToCart,{variables:{cartId:cart?.id,lines:{merchandiseId,quantity,attributes,sellingPlanId}}});setActionLoading(false);if(res?.data?.cartLinesAdd?.userErrors.length){setCartError(res.data.cartLinesAdd.userErrors[0].message);}if(res?.data?.cartLinesAdd?.cart){setCart(res.data.cartLinesAdd.cart);}return;}catch{setActionLoading(false);return;}};const removeFromCart=merchandiseId=>{setActionLoading(true);client?.request(removeCartItems,{variables:{cartId:cart?.id,lineIds:[merchandiseId]}}).then(res=>{setActionLoading(false);if(res.data?.cartLinesRemove?.userErrors){console.error(res.data.cartLinesRemove.userErrors);}if(res.data?.cartLinesRemove?.cart){setCart(res.data.cartLinesRemove.cart);}}).catch(()=>{setActionLoading(false);});};const changeQuantity=async(merchandiseId,quantity)=>{setActionLoading(true);client?.request(updateCartItems,{variables:{cartId:cart?.id,lines:{id:merchandiseId,quantity}}}).then(res=>{setActionLoading(false);if(res.data?.cartLinesUpdate?.userErrors){console.error(res.data.cartLinesUpdate.userErrors);}if(res.data?.cartLinesUpdate?.cart){setCart(res.data.cartLinesUpdate.cart);}}).catch(()=>{setActionLoading(false);});};return{cart:!config||config.testMode?DefaultCart:cart,actionLoading,cartError,cartCount,addToCart,changeQuantity,removeFromCart};};\nexport const __FramerMetadata__ = {\"exports\":{\"useCart\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{jsx as _jsx}from\"react/jsx-runtime\";import{cn}from\"https://framerusercontent.com/modules/eAejHXy6apg0StNmpKvK/GXn1lJ5V4nUwhRO9yQKC/_framer_utils.js\";export default function ComponentWrapper({children,style={},hidden=false,productID,config}){const dataAttributes={\"data-shopiframe\":\"component\",\"data-shopiframe-store\":config?.storeDomain};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\"}}}","import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{motion}from\"framer-motion\";import{cn,textProperties}from\"https://framerusercontent.com/modules/eAejHXy6apg0StNmpKvK/GXn1lJ5V4nUwhRO9yQKC/_framer_utils.js\";import{addPropsToChildren}from\"https://framerusercontent.com/modules/7dEgbg7qo3lsQk361YtS/NrF60tPHZRRgADqpoRFr/_utils.js\";/**\n * @framerDisableUnlink\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n */export default function Button({onClick=()=>false,loading=false,disabled=false,style,hoverStyle,label,buttonType,buttonComponent,buttonVariants}){if(buttonType===\"Custom\"){let status=buttonVariants.default||\"Default\";if(loading)status=buttonVariants.loading||\"Loading\";if(disabled)status=buttonVariants.disabled||\"Disabled\";if(!buttonComponent||!buttonComponent?.[0])return /*#__PURE__*/_jsx(\"div\",{style:{background:\"#C83E3E\",color:\"#fff\",borderRadius:\"10px\",padding:\"8px\",boxShadow:\"0px 5px 15px 0px #AC1B1B33\",fontWeight:\"500\"},children:\"Assign your button component\"});const buttonWithVariants=addPropsToChildren(buttonComponent,{variant:status,onClick:status===(buttonVariants.default||\"Default\")?onClick:()=>false},true);const button=addPropsToChildren(buttonWithVariants,{style:{width:\"100%\"}});return button;}return /*#__PURE__*/_jsx(motion.button,{onClick:onClick,disabled:loading||disabled,style:cn(styles.container,style,loading&&styles.loading,disabled&&styles.disabled),whileHover:{...cn(hoverStyle),transition:{duration:.25}},children:/*#__PURE__*/_jsx(\"span\",{children:label})});}export const ButtonProperties=label=>({buttonType:{title:\"Type\",type:ControlType.SegmentedEnum,options:[\"Default\",\"Custom\"],optionTitles:[\"Default\",\"Custom\"],defaultValue:\"Default\"},buttonComponent:{title:\"Button Component\",type:ControlType.ComponentInstance,hidden:props=>props.buttonType!==\"Custom\"},buttonVariants:{title:\"Component Variants\",buttonTitle:\"Variants\",type:ControlType.Object,hidden:props=>props.buttonType!==\"Custom\",controls:{default:{type:ControlType.String,defaultValue:\"Default\"},loading:{type:ControlType.String,defaultValue:\"Loading\"},disabled:{type:ControlType.String,defaultValue:\"Disabled\"}},description:\"Variant names should match your button component's variant names\"},label:{title:\"Label\",type:ControlType.String,defaultValue:label,hidden:props=>props.buttonType!==\"Default\"},style:{buttonTitle:\"Style\",type:ControlType.Object,hidden:props=>props.buttonType!==\"Default\",controls:{...textProperties(16,\"#000\"),backgroundColor:{title:\"Background color\",type:ControlType.Color,optional:true},border:{type:ControlType.Border,defaultValue:{borderColor:\"#000\"}},borderRadius:{type:ControlType.BorderRadius,defaultValue:\"6px\"},padding:{type:ControlType.Padding,defaultValue:\"10px 32px 10px 32px\"}}},hoverStyle:{title:\"Hover\",buttonTitle:\"Style\",type:ControlType.Object,hidden:props=>props.buttonType!==\"Default\",controls:{color:{type:ControlType.Color,defaultValue:\"#fff\",optional:true},backgroundColor:{type:ControlType.Color,defaultValue:\"#000\",optional:true},border:{type:ControlType.Border,defaultValue:{borderColor:\"#fff\"}}}}});addPropertyControls(Button,ButtonProperties(\"Button\"));const styles={wrapper:{display:\"flex\",flexDirection:\"column\",gap:8},container:{display:\"flex\",flexDirection:\"row\",alignItems:\"center\",justifyContent:\"center\",cursor:\"pointer\",flex:1,fontFamily:\"inherit\"},loading:{opacity:.8,cursor:\"wait\"},disabled:{opacity:.8}};\nexport const __FramerMetadata__ = {\"exports\":{\"ButtonProperties\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"Button\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"auto\",\"framerDisableUnlink\":\"* @framerSupportedLayoutWidth any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"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"}