{"version":3,"file":"Wt3fHau_O.DXDlkwTR.mjs","names":["createStore","useState","t","e","n","s","a","u","d","l","f","v","w","i","o","h","p","m","r","c","t","o","e","n","useState"],"sources":["https:/framer.com/m/framer/store.js@^1.0.0","https:/ga.jspm.io/npm:jotai@1.9.2/esm/index.mjs","https:/ga.jspm.io/npm:jotai@1.9.2/esm/utils.mjs","https:/framerusercontent.com/modules/vfUa01wAPMeJUHfyC6wj/8xBtN4wv468DcvChegY4/KeywordAtom.js","https:/framerusercontent.com/modules/GttChhaUI1x4vQMQPyVt/4M1qK2WKflrpyyEgwQV6/useKeywords.js","https:/framerusercontent.com/modules/cMRfA069QvYDO886DBL4/pA4qJRzRxc461CIxiULq/Wt3fHau_O.js"],"sourcesContent":["import{useState,useEffect}from\"react\";import{Data,useObserveData}from\"framer\";export function createStore(state1){// Use Data so that a Preview reload resets the state\nconst dataStore=Data({state:Object.freeze({...state1})});// Create a set function that updates the state\nconst setDataStore=newState=>{// If the state is an object, make sure we copy it\nif(typeof newState===\"function\"){newState=newState(dataStore.state);}dataStore.state=Object.freeze({...dataStore.state,...newState});};// Store the initial state, copy the object if it's an object\nlet storeState=typeof state1===\"object\"?Object.freeze({...state1}):state1;// Keep a list of all the listeners, in the form of React hook setters\nconst storeSetters=new Set();// Create a set function that updates all the listeners / setters\nconst setStoreState=newState=>{// If the state is an object, make sure we copy it\nif(typeof newState===\"function\"){newState=newState(storeState);}storeState=typeof newState===\"object\"?Object.freeze({...storeState,...newState}):newState;// Update all the listeners / setters with the new value\nstoreSetters.forEach(setter=>setter(storeState));};// Create the actual hook based on everything above\nfunction useStore(){// Create the hook we are going to use as a listener\nconst[state,setState]=useState(storeState);// If we unmount the component using this hook, we need to remove the listener\n// @ts-ignore\nuseEffect(()=>{// But right now, we need to add the listener\nstoreSetters.add(setState);return()=>storeSetters.delete(setState);},[]);// If Data context exists, use Data, otherwise use vanilla React state\nif(useObserveData()===true){useObserveData();return[dataStore.state,setDataStore];}else{// Return the state and a function to update the central store\nreturn[state,setStoreState];}}return useStore;}\nexport const __FramerMetadata__ = {\"exports\":{\"createStore\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./createStore.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","import{atom as t,SECRET_INTERNAL_getScopeContext as e,useAtom as n,useSetAtom as o,SECRET_INTERNAL_registerPromiseAbort as r}from\"jotai\";export{useAtomValue,useSetAtom as useUpdateAtom}from\"jotai\";import{useContext as s,useCallback as c,useMemo as i}from\"react\";const a=Symbol();function atomWithReset(e){const n=t(e,((t,o,r)=>{const s=\"function\"===typeof r?r(t(n)):r;o(n,s===a?e:s)}));return n}const l=\"w\";const u=\"h\";function useResetAtom(t,n){const o=e(n);const r=s(o).s;const i=c((()=>r[l](t,a)),[r,t]);return i}function useReducerAtom(t,e,o){const[r,s]=n(t,o);const i=c((t=>{s((n=>e(n,t)))}),[s,e]);return[r,i]}function atomWithReducer(e,n){const o=t(e,((t,e,r)=>e(o,n(t(o),r))));return o}function atomFamily(t,e){let n=null;const o=new Map;const createAtom=r=>{let s;if(void 0===e)s=o.get(r);else for(const[t,n]of o)if(e(t,r)){s=n;break}if(void 0!==s){if(!(null==n?void 0:n(s[1],r)))return s[0];createAtom.remove(r)}const c=t(r);o.set(r,[c,Date.now()]);return c};createAtom.remove=t=>{if(void 0===e)o.delete(t);else for(const[n]of o)if(e(n,t)){o.delete(n);break}};createAtom.setShouldRemove=t=>{n=t;if(n)for(const[t,e]of o)n(e[1],t)&&o.delete(t)};return createAtom}const getWeakCacheItem=(t,e)=>{do{const[n,...o]=e;const r=t.get(n);if(!r)return;if(!o.length)return r[1];t=r[0];e=o}while(e.length)};const setWeakCacheItem=(t,e,n)=>{do{const[o,...r]=e;let s=t.get(o);if(!s){s=[new WeakMap];t.set(o,s)}if(!r.length){s[1]=n;return}t=s[0];e=r}while(e.length)};const createMemoizeAtom=()=>{const t=new WeakMap;const memoizeAtom=(e,n)=>{const o=getWeakCacheItem(t,n);if(o)return o;const r=e();setWeakCacheItem(t,n,r);return r};return memoizeAtom};const f=createMemoizeAtom();function selectAtom(e,n,o=Object.is){return f((()=>{const r=t((()=>({})));const s=t((t=>{const s=n(t(e));const c=t(r);if(\"prev\"in c&&o(c.prev,s))return c.prev;c.prev=s;return s}));return s}),[e,n,o])}function useAtomCallback(e,n){const r=i((()=>t(null,((t,n,[o,r,s])=>{try{r(e(t,n,o))}catch(t){s(t)}}))),[e]);const s=o(r,n);return c((t=>{let e=true;let n={};const o=new Promise(((o,r)=>{s([t,t=>{e?n={v:t}:o(t)},t=>{e?n={e:t}:r(t)}])}));e=false;if(\"e\"in n)throw n.e;return\"v\"in n?n.v:o}),[s])}const m=createMemoizeAtom();const deepFreeze=t=>{if(\"object\"!==typeof t||null===t)return;Object.freeze(t);const e=Object.getOwnPropertyNames(t);for(const n of e){const e=t[n];deepFreeze(e)}return t};function freezeAtom(e){return m((()=>{const n=t((t=>deepFreeze(t(e))),((t,n,o)=>n(e,o)));return n}),[e])}function freezeAtomCreator(t){return(...e)=>{const n=t(...e);const o=n.read;n.read=t=>deepFreeze(o(t));return n}}const d=createMemoizeAtom();const isWritable=t=>!!t.write;const isFunction=t=>\"function\"===typeof t;function splitAtom(e,n){return d((()=>{const o=new WeakMap;const getMapping=(s,c)=>{let i=o.get(s);if(i)return i;const a=c&&o.get(c);const l=[];const u=[];s.forEach(((o,c)=>{const i=n?n(o):c;u[c]=i;const f=a&&a.atomList[a.keyList.indexOf(i)];if(f){l[c]=f;return}const read2=t=>{const n=t(r);const o=t(e);const c=getMapping(o,n.prev);const a=c.keyList.indexOf(i);if(a<0||a>=o.length){const t=s[getMapping(s).keyList.indexOf(i)];if(t)return t;throw new Error(\"splitAtom: index out of bounds for read\")}return o[a]};const write2=(t,n,o)=>{const s=t(r);const c=t(e);const a=getMapping(c,s.prev);const l=a.keyList.indexOf(i);if(l<0||l>=c.length)throw new Error(\"splitAtom: index out of bounds for write\");const u=isFunction(o)?o(c[l]):o;n(e,[...c.slice(0,l),u,...c.slice(l+1)])};l[c]=isWritable(e)?t(read2,write2):t(read2)}));i=a&&a.keyList.length===u.length&&a.keyList.every(((t,e)=>t===u[e]))?a:{atomList:l,keyList:u};o.set(s,i);return i};const r=t((()=>({})));const read=t=>{const n=t(r);const o=t(e);const s=getMapping(o,n.prev);n.prev=o;return s.atomList};const write=(t,n,o)=>{if(\"read\"in o){console.warn(\"atomToRemove is deprecated. use action with type\");o={type:\"remove\",atom:o}}switch(o.type){case\"remove\":{const r=t(s).indexOf(o.atom);if(r>=0){const o=t(e);n(e,[...o.slice(0,r),...o.slice(r+1)])}break}case\"insert\":{const r=o.before?t(s).indexOf(o.before):t(s).length;if(r>=0){const s=t(e);n(e,[...s.slice(0,r),o.value,...s.slice(r)])}break}case\"move\":{const r=t(s).indexOf(o.atom);const c=o.before?t(s).indexOf(o.before):t(s).length;if(r>=0&&c>=0){const o=t(e);n(e,r<c?[...o.slice(0,r),...o.slice(r+1,c),o[r],...o.slice(c)]:[...o.slice(0,c),o[r],...o.slice(c,r),...o.slice(r+1)])}break}}};const s=isWritable(e)?t(read,write):t(read);return s}),n?[e,n]:[e])}function atomWithDefault(e){const n=Symbol();const o=t(n);const r=t((t=>{const r=t(o);return r!==n?r:e(t)}),((t,e,s)=>e(o,s===a?n:\"function\"===typeof s?s(t(r)):s)));return r}const h=createMemoizeAtom();const b=t((()=>[]));function waitForAll(e){const createAtom=()=>{const n=unwrapAtoms(e);const o=t((t=>{const o=[];const r=n.map(((e,n)=>{try{return t(e)}catch(t){if(!(t instanceof Promise))throw t;o[n]=t}}));if(o.length)throw Promise.all(o);return wrapResults(e,r)}));return o};return Array.isArray(e)?e.length?h(createAtom,e):b:createAtom()}const unwrapAtoms=t=>Array.isArray(t)?t:Object.getOwnPropertyNames(t).map((e=>t[e]));const wrapResults=(t,e)=>Array.isArray(t)?e:Object.getOwnPropertyNames(t).reduce(((t,n,o)=>({...t,[n]:e[o]})),{});const v=Symbol();function createJSONStorage(t){let e;let n;const o={getItem:o=>{var r,s;const parse=t=>{t=t||\"\";if(e!==t){try{n=JSON.parse(t)}catch{return v}e=t}return n};const c=null!=(s=null==(r=t())?void 0:r.getItem(o))?s:null;return c instanceof Promise?c.then(parse):parse(c)},setItem:(e,n)=>{var o;return null==(o=t())?void 0:o.setItem(e,JSON.stringify(n))},removeItem:e=>{var n;return null==(n=t())?void 0:n.removeItem(e)}};\"undefined\"!==typeof window&&\"function\"===typeof window.addEventListener&&(o.subscribe=(t,e)=>{const storageEventCallback=n=>{n.key===t&&n.newValue&&e(JSON.parse(n.newValue))};window.addEventListener(\"storage\",storageEventCallback);return()=>{window.removeEventListener(\"storage\",storageEventCallback)}});return o}const w=createJSONStorage((()=>\"undefined\"!==typeof window?window.localStorage:void 0));function atomWithStorage(e,n,o=w){const getInitialValue=()=>{const t=o.getItem(e);return t instanceof Promise?t.then((t=>t===v?n:t)):t===v?n:t};const r=t(o.delayInit?n:getInitialValue());r.onMount=t=>{let n;if(o.subscribe){n=o.subscribe(e,t);t(getInitialValue())}if(o.delayInit){const e=getInitialValue();e instanceof Promise?e.then(t):t(e)}return n};const s=t((t=>t(r)),((t,s,c)=>{const i=\"function\"===typeof c?c(t(r)):c;if(i===a){s(r,n);return o.removeItem(e)}s(r,i);return o.setItem(e,i)}));return s}function atomWithHash(t,e,n){const o=(null==n?void 0:n.serialize)||JSON.stringify;const r=(null==n?void 0:n.deserialize)||(t=>{try{return JSON.parse(t||\"\")}catch{return v}});const s=(null==n?void 0:n.subscribe)||(t=>{window.addEventListener(\"hashchange\",t);return()=>{window.removeEventListener(\"hashchange\",t)}});const c={getItem:t=>{if(\"undefined\"===typeof location)return v;const e=new URLSearchParams(location.hash.slice(1));const n=e.get(t);return r(n)},setItem:(t,e)=>{const r=new URLSearchParams(location.hash.slice(1));r.set(t,o(e));(null==n?void 0:n.replaceState)?history.replaceState(null,\"\",location.pathname+location.search+\"#\"+r.toString()):location.hash=r.toString()},removeItem:t=>{const e=new URLSearchParams(location.hash.slice(1));e.delete(t);(null==n?void 0:n.replaceState)?history.replaceState(null,\"\",location.pathname+location.search+\"#\"+e.toString()):location.hash=e.toString()},...(null==n?void 0:n.delayInit)&&{delayInit:true},subscribe:(t,n)=>{const callback=()=>{const o=new URLSearchParams(location.hash.slice(1));const s=o.get(t);n(null!==s?r(s):e)};return s(callback)}};return atomWithStorage(t,e,c)}function atomWithObservable(e,n){const o=t((o=>{var r;let s=e(o);const c=null==(r=s[Symbol.observable])?void 0:r.call(s);c&&(s=c);let i;const makePending=()=>new Promise((t=>{i=t}));const a=n&&\"initialValue\"in n?{d:\"function\"===typeof n.initialValue?n.initialValue():n.initialValue}:makePending();let l;let u;const listener=t=>{u=t;null==i?void 0:i(t);null==l?void 0:l(t)};let f;let m;const isNotMounted=()=>!l;const start=()=>{if(f){clearTimeout(m);f.unsubscribe()}f=s.subscribe({next:t=>listener({d:t}),error:t=>listener({e:t}),complete:()=>{}});isNotMounted()&&(null==n?void 0:n.unstable_timeout)&&(m=setTimeout((()=>{if(f){f.unsubscribe();f=void 0}}),n.unstable_timeout))};start();const d=t(u||a);d.onMount=t=>{l=t;u&&t(u);f?clearTimeout(m):start();return()=>{l=void 0;if(f){f.unsubscribe();f=void 0}}};return[d,s,makePending,start,isNotMounted]}));const r=t((t=>{const[e]=t(o);const n=t(e);if(\"e\"in n)throw n.e;return n.d}),((t,e,n)=>{const[r,s,c,i,a]=t(o);if(!(\"next\"in s))throw new Error(\"observable is not subject\");if(a()){e(r,c());i()}s.next(n)}));return r}const y=new WeakMap;function useHydrateAtoms(t,n){const o=e(n);const r=s(o);const c=r.s;const i=getHydratedSet(r);const a=[];for(const e of t){const t=e[0];if(!i.has(t)){i.add(t);a.push(e)}}a.length&&c[u](a)}function getHydratedSet(t){let e=y.get(t);if(!e){e=new WeakSet;y.set(t,e)}return e}const p=createMemoizeAtom();const g={state:\"loading\"};function loadable(e){return p((()=>{const n=new WeakMap;const o=t((o=>{let r;try{const n=o(e);const r=t({state:\"hasData\",data:n});return r}catch(e){if(!(e instanceof Promise)){const n=t({state:\"hasError\",error:e});return n}r=e}const s=n.get(r);if(s)return s;const c=t(g,(async(t,n)=>{try{const o=await t(e,{unstable_promise:true});n(c,{state:\"hasData\",data:o})}catch(t){n(c,{state:\"hasError\",error:t})}}));c.onMount=t=>{t()};n.set(r,c);return c}));const r=t((t=>{const e=t(o);return t(e)}));return r}),[e])}function abortableAtom(e,n){return t((t=>{const n=new AbortController;const o=e(t,{signal:n.signal});o instanceof Promise&&r(o,(()=>n.abort()));return o}),n)}export{a as RESET,abortableAtom,atomFamily,atomWithDefault,atomWithHash,atomWithObservable,atomWithReducer,atomWithReset,atomWithStorage,createJSONStorage,freezeAtom,freezeAtomCreator,loadable,selectAtom,splitAtom,v as unstable_NO_STORAGE_VALUE,useAtomCallback,useHydrateAtoms,useReducerAtom,useResetAtom,waitForAll};\n\n//# sourceMappingURL=utils.mjs.map","import{atomWithStorage}from\"jotai/utils\";import{atom}from\"jotai\";export const keywordAtom=atomWithStorage(\"keyword\",{first:\"\",final:\"\",isDA:false});export const firstKeywordAtom=atom(get=>get(keywordAtom).first,(get,set,update)=>{set(keywordAtom,{...get(keywordAtom),first:update});});export const finalKeywordAtom=atom(get=>get(keywordAtom).final,(get,set,update)=>{set(keywordAtom,{...get(keywordAtom),final:update});});export const totalKeywordAtom=atom(get=>{const first=get(firstKeywordAtom);const final=get(finalKeywordAtom);const isDA=get(keywordAtom).isDA;return{first,final,isDA};},(get,set,newValue)=>{if(newValue.first){set(firstKeywordAtom,newValue.first);set(keywordAtom,{...get(keywordAtom),isDA:newValue.isDA});}else{set(firstKeywordAtom,\"\");set(keywordAtom,{...get(keywordAtom),isDA:false});}if(newValue.final){set(finalKeywordAtom,newValue.final);}});export const keywordSourceAtom=atomWithStorage(\"keyword_source\",{});export const keywordEditedAtom=atom(get=>{const keyword=get(keywordSourceAtom);// if (keyword.utm_term) {\n//   keyword.utm_term = keyword.utm_term + '_T';\n//   return keyword;\n// }\n// if (keyword.utm_content) {\n//   keyword.utm_content = keyword.utm_content + '_T';\n//   return keyword;\n// }\nreturn keyword;},(get,set,newValue)=>{if(newValue){set(keywordSourceAtom,newValue);}});\nexport const __FramerMetadata__ = {\"exports\":{\"totalKeywordAtom\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"keywordSourceAtom\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"keywordAtom\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ITotalKeyword\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"finalKeywordAtom\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"keywordEditedAtom\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"firstKeywordAtom\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./KeywordAtom.map","import{useState,useEffect}from\"react\";import{useAtom,useSetAtom}from\"jotai\";import{keywordSourceAtom,totalKeywordAtom}from\"https://framerusercontent.com/modules/vfUa01wAPMeJUHfyC6wj/8xBtN4wv468DcvChegY4/KeywordAtom.js\";export function useKeywords(){const[query,setQuery]=useState({});useEffect(()=>{const searchParams=new URLSearchParams(window.location.search);const params=Object.fromEntries(searchParams.entries());setQuery(params);},[]);const[keyword,setKeyword]=useAtom(totalKeywordAtom);const setKeywordSource=useSetAtom(keywordSourceAtom);const isDaSource=source=>{if(!source)return false;return source.endsWith(\"_da\");};useEffect(()=>{if(query.keyword!==\"\"){if(Object.keys(query).length>0){setKeywordSource(query);}const{utm_source,utm_medium,utm_campaign,utm_content,utm_term}=query;let newKeywords=`${utm_source||\"null\"}/${utm_medium||\"null\"}/${utm_campaign||\"null\"}/${utm_content||\"null\"}/${utm_term||\"null\"}`;if(newKeywords===\"null/null/null/null/null\"){newKeywords=\"\";}setKeyword({first:newKeywords,isDA:isDaSource(utm_source)});// const adsKeyword = KeywordMapper.mapKeyword(query);\n// if (keyword.first === '') {\n//   setKeyword({ first: adsKeyword });\n//   return;\n// }\n// setKeyword({ final: adsKeyword });\n}},[query,setKeyword,setKeywordSource]);}\nexport const __FramerMetadata__ = {\"exports\":{\"useKeywords\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (a10584e)\nimport{fontStore}from\"framer\";fontStore.loadFonts([]);export const fonts=[{explicitInter:true,fonts:[]}];export const css=[\".framer-Vnl4B .framer-styles-preset-1jjgpyu:not(.rich-text-wrapper), .framer-Vnl4B .framer-styles-preset-1jjgpyu.rich-text-wrapper a { --framer-link-current-text-color: #767676; --framer-link-current-text-decoration: underline; --framer-link-hover-text-color: #d6d6d6; --framer-link-hover-text-decoration: underline; --framer-link-text-color: #969696; --framer-link-text-decoration: none; }\"];export const className=\"framer-Vnl4B\";\nexport const __FramerMetadata__ = {\"exports\":{\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"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"}