UNPKG

2.1 kBTypeScriptView Raw
1import { ArgType } from '../blocks';
2export interface ControlProps<T> {
3 name: string;
4 value?: T;
5 defaultValue?: T;
6 argType?: ArgType;
7 onChange: (value: T) => T | void;
8 onFocus?: (evt: any) => void;
9 onBlur?: (evt: any) => void;
10}
11export declare type ArrayValue = string[] | readonly string[];
12export interface ArrayConfig {
13 separator?: string;
14}
15export declare type BooleanValue = boolean;
16export interface BooleanConfig {
17}
18export declare type ColorValue = string;
19export declare type PresetColor = ColorValue | {
20 color: ColorValue;
21 title?: string;
22};
23export interface ColorConfig {
24 presetColors?: PresetColor[];
25 startOpen?: boolean;
26}
27export declare type DateValue = Date | number;
28export interface DateConfig {
29}
30export declare type NumberValue = number;
31export interface NumberConfig {
32 min?: number;
33 max?: number;
34 step?: number;
35}
36export declare type RangeConfig = NumberConfig;
37export declare type ObjectValue = any;
38export interface ObjectConfig {
39}
40export declare type OptionsSingleSelection = any;
41export declare type OptionsMultiSelection = any[];
42export declare type OptionsSelection = OptionsSingleSelection | OptionsMultiSelection;
43export declare type OptionsArray = any[];
44export declare type OptionsObject = Record<string, any>;
45export declare type Options = OptionsArray | OptionsObject;
46export declare type OptionsControlType = 'radio' | 'inline-radio' | 'check' | 'inline-check' | 'select' | 'multi-select';
47export interface OptionsConfig {
48 labels: Record<any, string>;
49 options: Options;
50 type: OptionsControlType;
51}
52export interface NormalizedOptionsConfig {
53 options: OptionsObject;
54}
55export declare type TextValue = string;
56export interface TextConfig {
57}
58export declare type ControlType = 'array' | 'boolean' | 'color' | 'date' | 'number' | 'range' | 'object' | OptionsControlType | 'text';
59export declare type Control = ArrayConfig | BooleanConfig | ColorConfig | DateConfig | NumberConfig | ObjectConfig | OptionsConfig | RangeConfig | TextConfig;
60export declare type Controls = Record<string, Control>;