{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/k3SXKFIikaHUgZIMnNPR/bSDqVxHys2uKhjDyDgt4/FavoriteStore.js"],
  "sourcesContent": ["// FavoriteStore.ts\nconst stores={};export function getFavoriteStore(storeId){if(stores[storeId])return stores[storeId];const STORAGE_KEY=`favorites-${storeId}`;let favorites=new Set;const listeners=new Set;// \u4ECE localStorage \u8BFB\u53D6\ntry{const saved=localStorage.getItem(STORAGE_KEY);if(saved)favorites=new Set(JSON.parse(saved));}catch{}const save=()=>{try{localStorage.setItem(STORAGE_KEY,JSON.stringify([...favorites]));}catch{}};const notify=()=>listeners.forEach(l=>l());stores[storeId]={getFavorites:()=>[...favorites],isFavorited:slug=>favorites.has(slug),toggle:slug=>{if(favorites.has(slug)){favorites.delete(slug);}else{favorites.add(slug);}save();notify();return favorites.has(slug);},subscribe:listener=>{listeners.add(listener);return()=>listeners.delete(listener);}};return stores[storeId];}const cache=new Map;// \u83B7\u53D6\u7F13\u5B58\nexport function getCMSCache(key){const item=cache.get(key);if(!item)return null;return item.data;}// \u8BBE\u7F6E\u7F13\u5B58\nexport function setCMSCache(key,data){cache.set(key,{data,timestamp:Date.now()});}// \u68C0\u67E5\u662F\u5426\u6709\u7F13\u5B58\nexport function hasCMSCache(key){return cache.has(key);}// \u6E05\u9664\u7F13\u5B58\uFF08\u5237\u65B0\u9875\u9762\u65F6\u81EA\u52A8\u6E05\u9664\uFF0C\u56E0\u4E3A\u662F\u5185\u5B58\u7F13\u5B58\uFF09\nexport function clearCMSCache(key){if(key){cache.delete(key);}else{cache.clear();}}\nexport const __FramerMetadata__ = {\"exports\":{\"getCMSCache\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"hasCMSCache\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"clearCMSCache\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"setCMSCache\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getFavoriteStore\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./FavoriteStore.map"],
  "mappings": "AACA,IAAMA,EAAO,CAAC,EAAS,SAASC,EAAiBC,EAAQ,CAAC,GAAGF,EAAOE,CAAO,EAAE,OAAOF,EAAOE,CAAO,EAAE,IAAMC,EAAY,aAAaD,CAAO,GAAOE,EAAU,IAAI,IAAUC,EAAU,IAAI,IACvL,GAAG,CAAC,IAAMC,EAAM,aAAa,QAAQH,CAAW,EAAKG,IAAMF,EAAU,IAAI,IAAI,KAAK,MAAME,CAAK,CAAC,EAAE,MAAM,CAAC,CAAC,IAAMC,EAAK,IAAI,CAAC,GAAG,CAAC,aAAa,QAAQJ,EAAY,KAAK,UAAU,CAAC,GAAGC,CAAS,CAAC,CAAC,CAAE,MAAM,CAAC,CAAC,EAAQI,EAAO,IAAIH,EAAU,QAAQI,GAAGA,EAAE,CAAC,EAAE,OAAAT,EAAOE,CAAO,EAAE,CAAC,aAAa,IAAI,CAAC,GAAGE,CAAS,EAAE,YAAYM,GAAMN,EAAU,IAAIM,CAAI,EAAE,OAAOA,IAAUN,EAAU,IAAIM,CAAI,EAAGN,EAAU,OAAOM,CAAI,EAAQN,EAAU,IAAIM,CAAI,EAAGH,EAAK,EAAEC,EAAO,EAASJ,EAAU,IAAIM,CAAI,GAAI,UAAUC,IAAWN,EAAU,IAAIM,CAAQ,EAAQ,IAAIN,EAAU,OAAOM,CAAQ,EAAG,EAASX,EAAOE,CAAO,CAAE,CAAC,IAAMU,EAAM,IAAI,IACpkB,SAASC,EAAYC,EAAI,CAAC,IAAMC,EAAKH,EAAM,IAAIE,CAAG,EAAE,OAAIC,EAAwBA,EAAK,KAAjB,IAAsB,CAC1F,SAASC,EAAYF,EAAIG,EAAK,CAACL,EAAM,IAAIE,EAAI,CAAC,KAAAG,EAAK,UAAU,KAAK,IAAI,CAAC,CAAC,CAAE",
  "names": ["stores", "getFavoriteStore", "storeId", "STORAGE_KEY", "favorites", "listeners", "saved", "save", "notify", "l", "slug", "listener", "cache", "getCMSCache", "key", "item", "setCMSCache", "data"]
}
