{"version":3,"file":"ConfigurableFeaturesContext.mjs","sources":["../../../src/lib/contexts/ConfigurableFeaturesContext.ts"],"sourcesContent":["/**\n * @file Configurable Features Context\n * @description Context for configurable features system (Fast Refresh compliant).\n */\n\nimport { createContext, type ReactNode } from 'react';\n\n/**\n * Feature configuration\n */\nexport interface FeatureConfig {\n  enabled: boolean;\n  config?: Record<string, unknown>;\n}\n\n/**\n * Feature definition\n */\nexport interface FeatureDefinition {\n  id: string;\n  name: string;\n  description?: string;\n  defaultConfig?: FeatureConfig;\n}\n\n/**\n * Configurable features context value\n */\nexport interface ConfigurableFeaturesContextValue {\n  registerFeature: (definition: FeatureDefinition) => void;\n  unregisterFeature: (id: string) => void;\n  getFeature: (id: string) => FeatureDefinition | undefined;\n  isFeatureEnabled: (id: string) => boolean;\n  getFeatureConfig: <T = unknown>(id: string) => T | undefined;\n  setFeatureConfig: (id: string, config: FeatureConfig) => void;\n  renderFeature: (id: string, content: ReactNode) => ReactNode;\n}\n\n/**\n * Configurable features context - extracted for Fast Refresh compliance\n */\nexport const ConfigurableFeaturesContext = createContext<ConfigurableFeaturesContextValue | null>(\n  null\n);\n\nConfigurableFeaturesContext.displayName = 'ConfigurableFeaturesContext';\n"],"names":["ConfigurableFeaturesContext","createContext"],"mappings":";AAyCO,MAAMA,IAA8BC;AAAA,EACzC;AACF;AAEAD,EAA4B,cAAc;"}