UNPKG

@up-group-ui/react-controls

Version:
27 lines (26 loc) 1.07 kB
import React from 'react'; declare type DefaultProps<P extends object = object> = { props: P; }; declare type RenderCallback = (args: ToggleableComponentProps) => JSX.Element; declare const initialState: { show: boolean; }; declare type ToggleableState = Readonly<typeof initialState>; declare type ToggleableProps<P extends object = object> = Partial<{ children: RenderCallback | React.ReactNode; render: RenderCallback; component: React.ComponentType<ToggleableComponentProps<P>>; stateReducer?: (state: ToggleableState, changes: Partial<ToggleableState>) => ToggleableState; onToggle?: (on: boolean) => void; } & DefaultProps<P>>; export declare type ToggleableComponentProps<P extends object = object> = ReturnType<Toggleable['getApi']> & P; export declare class Toggleable<T extends object = object> extends React.Component<ToggleableProps<T>, ToggleableState> { readonly state: ToggleableState; reset: () => void; private getApi; private internalSetState; render(): JSX.Element; private toggle; } export {};