UNPKG

@focuson/form_components

Version:

Components that can be used by @focuson/forms

25 lines (24 loc) 1.32 kB
import { FocusOnContext } from "@focuson/focuson"; import { LensState } from "@focuson/state"; import { InputChangeCommands } from "@focuson/rest"; export type InputSelectFn = <S, T, Context extends FocusOnContext<S>>(state: LensState<S, T, Context>, id: string, value: T, parentState: LensState<S, any, Context> | undefined, onChange: undefined | InputChangeCommands | InputChangeCommands[], changesCanExecute: boolean | undefined) => void; export declare const defaultInputSelectFn: InputSelectFn; export interface StringProps<T> { transformer: (s: string) => T; type: string; default: T | undefined; selectFn: InputSelectFn; } export declare function isStringProps<T>(p: TransformerProps<T>): p is StringProps<T>; export interface CheckboxProps<T> { transformer: (b: boolean) => T; checkbox: (t: T | undefined) => boolean; default: T | undefined; selectFn: InputSelectFn; } export declare function isCheckboxProps<T>(p: TransformerProps<T>): p is CheckboxProps<T>; export type TransformerProps<T> = StringProps<T> | CheckboxProps<T>; export declare const StringTransformer: StringProps<string>; export declare const NumberTransformer: StringProps<number>; export declare const BooleanTransformer: CheckboxProps<boolean>; export declare const BooleanYNTransformer: CheckboxProps<string>;