{"version":3,"file":"index.cjs","sources":[""],"sourcesContent":["export type TStorageType = \"local\" | \"session\";\n\nexport type TGetStorageArgs = Parameters<typeof getStorage>;\n\nexport type TGetStorageReturn = ReturnType<typeof getStorage>;\n\n/**\n * Safely gets browser local or session storage.\n * Returns `null` during SSR or when storage access is blocked.\n * @param {TStorageType} [type=\"local\"] Storage type\n * @returns {Storage|null} Browser storage when available\n * @throws {TypeError} getStorage: type must be \"local\" or \"session\"\n * @example\n * const storage = getStorage(\"session\");\n * @example\n * // Read a saved preference only when localStorage is available\n * const storage = getStorage();\n * const theme = storage?.getItem(\"theme\") ?? \"system\";\n */\nexport const getStorage = (type: TStorageType = \"local\"): Storage | null => {\n  if (type !== \"local\" && type !== \"session\") {\n    throw new TypeError('getStorage: type must be \"local\" or \"session\"');\n  }\n  if (typeof window === \"undefined\") {\n    return null;\n  }\n  try {\n    const storage = type === \"local\" ? window.localStorage : window.sessionStorage;\n    const key = `__flowerkit_storage_test__${Date.now()}`;\n    storage.setItem(key, key);\n    storage.removeItem(key);\n    return storage;\n  } catch {\n    return null;\n  }\n};\n"],"names":["getStorage","type","TypeError","window","storage","localStorage","sessionStorage","key","Date","now","setItem","removeItem"],"mappings":"+DAmBaA,WAAa,CAACC,KAAqB,WAC9C,GAAIA,OAAS,SAAWA,OAAS,UAC/B,MAAM,IAAIC,UAAU,iDAEtB,UAAWC,SAAW,YACpB,OAAO,KAET,IACE,MAAMC,QAAUH,OAAS,QAAUE,OAAOE,aAAeF,OAAOG,eAChE,MAAMC,IAAM,6BAA6BC,KAAKC,QAC9CL,QAAQM,QAAQH,IAAKA,KACrBH,QAAQO,WAAWJ,KACnB,OAAOH,OACT,CAAE,MACA,OAAO,IACT"}