///
type _BaseField = {
id: string;
title?: string;
description?: string;
help?: string;
required?: boolean;
} & T;
type _BaseStringType = _BaseField<
{
type: "string";
placeholder?: string;
} & T
>;
type TextField = _BaseStringType<{
implem?: "text";
pattern?: string;
}>;
type ChoiceField = _BaseStringType<{
implem?: "choice";
choices: string[];
}>;
type StringField = TextField | ChoiceField;
type BooleanField = _BaseField<{
type: "boolean";
implem?: "radio" | "checkbox" | string;
}>;
type MultiStringField = _BaseField<{
type: "strings";
implem?: "checkbox-list";
choices: string[];
}>;
type AnyField = StringField | BooleanField | MultiStringField;
type FieldValue = string | boolean | string[];
type Registry = {
boolean: Record;
string: Record;
multi: Record;
};
type StyleMap = {
field: string;
required: string;
description: string;
help: string;
button: string;
input: string;
checkbox: string;
radio: string;
select: string;
fields?: Records;
};