{
  "version": 3,
  "sources": ["ssg:https://framer.com/m/framer/useConstant.js@^1.0.0", "ssg:https://framer.com/m/framer/randomID.js@^2.0.0"],
  "sourcesContent": ["import { useRef } from \"react\";\n/**\n * Creates a constant value over the lifecycle of a component.\n *\n * Even if `useMemo` is provided an empty array as its final argument, it doesn't offer\n * a guarantee that it won't re-run for performance reasons later on.\n * By using `useConstant` you can ensure that initialisers don't execute twice or more.\n */ export function useConstant(init) {\n    const ref = useRef(null);\n    if (ref.current === null) {\n        ref.current = init();\n    }\n    return ref.current;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useConstant\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useConstant.map", "import { useConstant } from \"https://framer.com/m/framer/useConstant.js@^1.0.0\";\nconst BASE62 = \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\";\n/**\n * Generates a random string of BASE62 characters.\n */ export function randomID(length = 5) {\n    return Array(length).fill(0).map(()=>BASE62[Math.floor(Math.random() * BASE62.length)]\n    ).join(\"\");\n}\nexport function useRandomID(length = 5) {\n    return useConstant(()=>randomID(length)\n    );\n}\nconst defaultStorageKey = \"$$FramerRandomID\";\n/**\n * `randomID` but cached in localStorage.\n */ export function useCachedRandomID(storageKey = defaultStorageKey) {\n    return useConstant(()=>{\n        const storage = getLocalStorage();\n        if (!storage) return randomID(8);\n        const cachedValue = storage.getItem(storageKey);\n        if (cachedValue) return cachedValue;\n        const newID = randomID(8);\n        storage.setItem(storageKey, newID);\n        return newID;\n    });\n}\nfunction getLocalStorage() {\n    if (typeof window === undefined) return undefined;\n    try {\n        return window.localStorage;\n    } catch (err) {\n        return undefined;\n    }\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useRandomID\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useCachedRandomID\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"randomID\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./randomID.map"],
  "mappings": "yCAOW,SAASA,EAAYC,EAAM,CAClC,IAAMC,EAAMC,EAAO,IAAI,EACvB,OAAID,EAAI,UAAY,OAChBA,EAAI,QAAUD,EAAK,GAEhBC,EAAI,OACf,CCZA,IAAME,EAAS,iEAGJ,SAASC,EAASC,EAAS,EAAG,CACrC,OAAO,MAAMA,CAAM,EAAE,KAAK,CAAC,EAAE,IAAI,IAAIF,EAAO,KAAK,MAAM,KAAK,OAAO,EAAIA,EAAO,MAAM,CAAC,CACrF,EAAE,KAAK,EAAE,CACb,CACO,SAASG,EAAYD,EAAS,EAAG,CACpC,OAAOE,EAAY,IAAIH,EAASC,CAAM,CACtC,CACJ",
  "names": ["useConstant", "init", "ref", "pe", "BASE62", "randomID", "length", "useRandomID", "useConstant"]
}
