{"version":3,"file":"RealtimeContext.mjs","sources":["../../../src/lib/contexts/RealtimeContext.ts"],"sourcesContent":["/**\n * @file Realtime Context\n * @description Context for real-time connections (Fast Refresh compliant).\n */\n\nimport { createContext } from 'react';\n\n/**\n * WebSocket/SSE connection state\n */\nexport type ConnectionState =\n  | 'disconnected'\n  | 'connecting'\n  | 'connected'\n  | 'reconnecting'\n  | 'error';\n\n/**\n * Realtime context value\n */\nexport interface RealtimeContextValue {\n  connectionState: ConnectionState;\n  isConnected: boolean;\n  connect: () => void;\n  disconnect: () => void;\n  subscribe: (channel: string, handler: (data: unknown) => void) => () => void;\n  send: (channel: string, data: unknown) => void;\n  /** Whether real-time updates are enabled via feature flag */\n  realtimeEnabled: boolean;\n}\n\n/**\n * Default context value\n */\nexport const defaultRealtimeContext: RealtimeContextValue = {\n  connectionState: 'disconnected',\n  isConnected: false,\n  connect: () => {},\n  disconnect: () => {},\n  subscribe: () => () => {},\n  send: () => {},\n  realtimeEnabled: true, // Default to true for backwards compatibility\n};\n\n/**\n * Realtime context - extracted for Fast Refresh compliance\n */\nexport const RealtimeContext = createContext<RealtimeContextValue>(defaultRealtimeContext);\n\nRealtimeContext.displayName = 'RealtimeContext';\n"],"names":["defaultRealtimeContext","RealtimeContext","createContext"],"mappings":";AAkCO,MAAMA,IAA+C;AAAA,EAC1D,iBAAiB;AAAA,EACjB,aAAa;AAAA,EACb,SAAS,MAAM;AAAA,EAAC;AAAA,EAChB,YAAY,MAAM;AAAA,EAAC;AAAA,EACnB,WAAW,MAAM,MAAM;AAAA,EAAC;AAAA,EACxB,MAAM,MAAM;AAAA,EAAC;AAAA,EACb,iBAAiB;AAAA;AACnB,GAKaC,IAAkBC,EAAoCF,CAAsB;AAEzFC,EAAgB,cAAc;"}