UNPKG

feedbacker-react

Version:

A drop-in React feedback system for component-level feedback capture during development and design review

36 lines 1.82 kB
/** * useFeedbackEvent hook - Event-based communication between components * Provides pub/sub pattern for component interactions */ import { ComponentInfo } from '../types'; type EventType = 'component:selected' | 'modal:open' | 'modal:close' | 'modal:minimize' | 'modal:restore' | 'sidebar:open' | 'sidebar:close' | 'screenshot:capture' | 'screenshot:complete' | 'draft:save' | 'draft:clear' | 'draft:restore' | 'feedback:submit' | 'feedback:export' | 'selection:start' | 'selection:cancel' | 'manager:open' | 'export:open' | 'clearall:confirm'; type EventListener<T = any> = (payload: T) => void; export interface UseFeedbackEventResult { emit: (type: EventType, payload?: any) => void; on: <T = any>(type: EventType, listener: EventListener<T>) => () => void; once: <T = any>(type: EventType, listener: EventListener<T>) => () => void; } export declare const useFeedbackEvent: () => UseFeedbackEventResult; export declare const useFeedbackEventHelpers: () => { on: <T = any>(type: EventType, listener: EventListener<T>) => () => void; once: <T = any>(type: EventType, listener: EventListener<T>) => () => void; selectComponent: (componentInfo: ComponentInfo) => void; openModal: (componentInfo: ComponentInfo) => void; closeModal: () => void; minimizeModal: () => void; restoreModal: () => void; openSidebar: () => void; closeSidebar: () => void; captureScreenshot: (element?: HTMLElement) => void; screenshotComplete: (screenshot: string) => void; saveDraft: (draft: { componentInfo: ComponentInfo; comment: string; screenshot?: string; }) => void; clearDraft: () => void; submitFeedback: (feedback: any) => void; exportFeedback: (options: any) => void; }; export {}; //# sourceMappingURL=useFeedbackEvent.d.ts.map