{"version":3,"file":"useFeatureFlag.mjs","sources":["../../../src/lib/flags/useFeatureFlag.ts"],"sourcesContent":["import { useFeatureFlagContext } from './FeatureFlagProvider';\nimport type { FlagKey } from './flag-keys';\n\n/**\n * Hook: useFeatureFlag(\"new-dashboard\").\n * Returns boolean indicating if the flag is enabled.\n */\nexport function useFeatureFlag(flagKey: FlagKey | string): boolean {\n  const { isEnabled } = useFeatureFlagContext();\n  return isEnabled(flagKey);\n}\n\n/**\n * Hook: useFeatureFlags().\n * Returns all flags and utilities.\n */\nexport function useFeatureFlags(): {\n  flags: Record<string, boolean>;\n  isLoading: boolean;\n  isEnabled: (flagKey: FlagKey | string) => boolean;\n  setFlag: (flagKey: string, value: boolean) => void;\n  refreshFlags: () => Promise<void>;\n} {\n  const { flags, isLoading, isEnabled, setFlag, refreshFlags } = useFeatureFlagContext();\n  return {\n    flags,\n    isLoading,\n    isEnabled,\n    setFlag,\n    refreshFlags,\n  };\n}\n\n/**\n * Hook to check multiple flags at once.\n */\nexport function useFeatureFlagsStatus(flagKeys: (FlagKey | string)[]): Record<string, boolean> {\n  const { isEnabled } = useFeatureFlagContext();\n\n  return flagKeys.reduce(\n    (acc, key) => {\n      acc[key] = isEnabled(key);\n      return acc;\n    },\n    {} as Record<string, boolean>\n  );\n}\n"],"names":["useFeatureFlag","flagKey","isEnabled","useFeatureFlagContext","useFeatureFlags","flags","isLoading","setFlag","refreshFlags","useFeatureFlagsStatus","flagKeys","acc","key"],"mappings":";AAOO,SAASA,EAAeC,GAAoC;AACjE,QAAM,EAAE,WAAAC,EAAA,IAAcC,EAAA;AACtB,SAAOD,EAAUD,CAAO;AAC1B;AAMO,SAASG,IAMd;AACA,QAAM,EAAE,OAAAC,GAAO,WAAAC,GAAW,WAAAJ,GAAW,SAAAK,GAAS,cAAAC,EAAA,IAAiBL,EAAA;AAC/D,SAAO;AAAA,IACL,OAAAE;AAAA,IACA,WAAAC;AAAA,IACA,WAAAJ;AAAA,IACA,SAAAK;AAAA,IACA,cAAAC;AAAA,EAAA;AAEJ;AAKO,SAASC,EAAsBC,GAAyD;AAC7F,QAAM,EAAE,WAAAR,EAAA,IAAcC,EAAA;AAEtB,SAAOO,EAAS;AAAA,IACd,CAACC,GAAKC,OACJD,EAAIC,CAAG,IAAIV,EAAUU,CAAG,GACjBD;AAAA,IAET,CAAA;AAAA,EAAC;AAEL;"}