UNPKG

@jjordy/swr-devtools

Version:

Devtools for SWR

73 lines (72 loc) 2.06 kB
import React from "react"; export declare type ToolbarPositions = "right" | "left" | "bottom" | ""; export interface SWRDevtoolsProps { children: React.ReactNode; /** Custom open component to be rendered inside the open button */ CustomOpenComponent?: React.ReactNode; /** This will print relavent position information to the console */ debug?: boolean; /** Default the devtools to being open on render */ defaultOpen?: boolean; /** The default position you would like the devtools to appear in. */ position?: ToolbarPositions; /** Customize the position of the open button / component */ openBtnPosition?: "left" | "right"; } export interface UsePanelStateProps { debug?: boolean; toolbarPosition: ToolbarPositions; previousToolbarPosition: ToolbarPositions; show: boolean; } export interface PanelProps { toolbarPosition: ToolbarPositions; previousToolbarPosition: ToolbarPositions; show: boolean; children: ({ theme, width, resizing, }: { theme: string; width: number; resizing: boolean; }) => React.ReactNode; setToolbarPosition: (position: ToolbarPositions) => void; toggleShow: () => void; debug?: boolean; } export interface KeysProps { keys: string[]; selectedKey: string; onSelect: (key: string) => void; onClear: (key: string) => void; onRevalidate: (key: string) => void; theme: string; children?: React.ReactNode; panelWidth?: number; } export interface DataProps { JsonViewer: any; toolbarPosition: ToolbarPositions; data: any; resizing?: boolean; theme: string; cacheKey: string; } export interface Themes { [key: string]: Theme; } export interface Theme { container: { [key: string]: any; }; header: { [key: string]: any; }; keys: { [key: string]: any; }; data: { [key: string]: any; }; bottom: { [key: string]: any; }; }