@open-formulieren/formio-builder
Version:
An opinionated Formio webform builder for Open Forms
40 lines (39 loc) • 1.16 kB
TypeScript
/// <reference types="react" />
export interface Mode<T extends string> {
value: T;
label: React.ReactNode;
}
export interface ModeToggleProps<T extends string> {
/**
* Name attribute for the HTML radio inputs.
*/
name: string;
/**
* Array of possible modes - a list of objects with keys `value` and `label`.
*/
modes: Mode<T>[];
/**
* Value of the currently active mode.
*/
currentMode: T;
/**
* Callback invoked when a particular mode is selected.
*/
onToggle: (mode: T) => void;
/**
* Any additional classnames to apply to the container element.
*/
className?: string;
/**
* Toggle button classname(s).
*/
btnClassName?: string;
}
/**
* Render a button group with the available and active modes.
*
* This component is generic - pass a union of the possible mode values for strict type
* checking: `<ModeToggle<'mode1' | 'mode2'>>`
*/
declare function ModeToggle<T extends string>({ name, modes, currentMode, onToggle, className, btnClassName, }: ModeToggleProps<T>): import("react/jsx-runtime").JSX.Element;
export default ModeToggle;