UNPKG

@pkme/widget-bridge

Version:

TypeScript React bridge client for Secret City Games widget integration across Framer, Figma, and web platforms

45 lines (39 loc) 2.09 kB
/** * @pkme/widget-bridge/react - React Hooks TypeScript Definitions */ import type { BridgeInstance, BridgeContext } from './index'; export interface UseBridgeReturn { bridge: BridgeInstance | null; isReady: boolean; context: BridgeContext | null; environment: 'expo' | 'iframe' | 'standalone'; } export interface UseBridgeDataReturn<TGlobal = any, TItem = any> { globalData: TGlobal | null; itemData: TItem | null; setGlobal: (data: TGlobal) => Promise<void>; setItem: (data: TItem) => Promise<void>; navigate: (to: string, params?: Record<string, any>, method?: 'push' | 'replace') => Promise<void>; back: (steps?: number) => Promise<void>; complete: (data?: Record<string, any>) => Promise<void>; isReady: boolean; context: BridgeContext | null; environment: 'expo' | 'iframe' | 'standalone'; } export type UseGlobalDataReturn<T = any> = [T | null, (data: T) => Promise<void>]; export type UseItemDataReturn<T = any> = [T | null, (data: T) => Promise<void>]; export declare function useBridge(): UseBridgeReturn; export declare function useBridgeData<TGlobal = any, TItem = any>(): UseBridgeDataReturn<TGlobal, TItem>; export declare function useGlobalData<T = any>(initialData?: T): UseGlobalDataReturn<T>; export declare function useItemData<T = any>(initialData?: T): UseItemDataReturn<T>; export declare function useNavigation(): { navigate: (to: string, params?: Record<string, any>, method?: 'push' | 'replace') => Promise<void>; back: (steps?: number) => Promise<void>; complete: (data?: Record<string, any>) => Promise<void>; isReady: boolean; }; export declare function navigateToNextCard(params?: Record<string, any>): Promise<void>; export declare function completeCard(completionData?: Record<string, any>): Promise<void>; export declare function navigateToCard(cardId: string, cardData?: Record<string, any>): Promise<void>; export declare function savePuzzleProgress(progress: number, additionalData?: Record<string, any>): Promise<void>; export declare function updateGlobalGameState(updates: Record<string, any>): Promise<void>;