{"version":3,"file":"ConfigContext.mjs","sources":["../../../src/lib/contexts/ConfigContext.ts"],"sourcesContent":["/**\n * @file Config Context\n * @description Context for configuration management (Fast Refresh compliant).\n */\n\nimport { createContext } from 'react';\n\n/**\n * Configuration value type\n */\nexport type ConfigValue =\n  | string\n  | number\n  | boolean\n  | null\n  | ConfigValue[]\n  | { [key: string]: ConfigValue };\n\n/**\n * Configuration record\n */\nexport type ConfigRecord = Record<string, ConfigValue>;\n\n/**\n * Config context value\n */\nexport interface ConfigContextValue<T extends ConfigRecord = ConfigRecord> {\n  config: T;\n  get: <V = ConfigValue>(path: string, defaultValue?: V) => V;\n  set: (path: string, value: ConfigValue) => void;\n  has: (path: string) => boolean;\n  reset: () => void;\n  reload: () => Promise<void>;\n  subscribe: (callback: (event: ConfigChangeEvent) => void) => () => void;\n  isLoading: boolean;\n  error: Error | null;\n}\n\n/**\n * Configuration change event\n */\nexport interface ConfigChangeEvent {\n  type: 'change' | 'reset' | 'reload';\n  changes?: ConfigChange[];\n}\n\n/**\n * Configuration change\n */\nexport interface ConfigChange {\n  path: string;\n  oldValue: ConfigValue;\n  newValue: ConfigValue;\n}\n\n/**\n * Config context - extracted for Fast Refresh compliance\n */\nexport const ConfigContext = createContext<ConfigContextValue | null>(null);\n\nConfigContext.displayName = 'ConfigContext';\n"],"names":["ConfigContext","createContext"],"mappings":";AA0DO,MAAMA,IAAgBC,EAAyC,IAAI;AAE1ED,EAAc,cAAc;"}