Type Alias: Element
type Element =
| ElementBase<"text", {
format?: "email" | "phone" | "url" | "none";
mask?: string;
maxLength?: number;
multiline?: boolean;
placeholder?: LocalizedString;
}>
| ElementBase<"number", {
kind?: "integer" | "decimal";
max?: number;
min?: number;
step?: number;
thousandsSeparator?: boolean;
unit?: LocalizedString;
}>
| ElementBase<"date" | "time" | "datetime", {
calendar?: "gregorian" | "hijri";
max?: string;
min?: string;
}>
| ElementBase<"select_one", SelectProps & object>
| ElementBase<"select_multiple", SelectProps & object>
| ElementBase<"rank", {
choices?: Choice[];
list?: string;
}>
| ElementBase<"rating", {
icon?: "star" | "number" | "smiley";
labels?: {
max?: LocalizedString;
min?: LocalizedString;
};
max?: number;
}>
| ElementBase<"range", {
max: number;
min: number;
showValue?: boolean;
step?: number;
}>
| ElementBase<"checkbox", Record<string, never> | object>
| ElementBase<"consent", {
allowWithdraw?: boolean;
method?: "tap" | "signature" | "verbal";
onWithdraw?: "clearSensitive" | "keep";
text: LocalizedString;
textVersion: string;
}>
| ElementBase<"matrix", {
columns: | {
choices?: Choice[];
list?: string;
type: "select_one";
}
| {
kind?: "integer" | "decimal";
max?: number;
min?: number;
type: "number";
}
| {
maxLength?: number;
type: "text";
};
requiredRows?: "all" | "any" | "none";
rows: object[];
}>
| ElementBase<"geopoint", {
accuracyThreshold?: number;
allowManual?: boolean;
autoCapture?: boolean;
map?: boolean;
warningThreshold?: number;
}>
| ElementBase<"geotrace" | "geoshape", {
accuracyThreshold?: number;
intervalSeconds?: number;
minPoints?: number;
mode?: "manual" | "auto";
}>
| ElementBase<"image", {
annotate?: boolean;
geotag?: boolean;
maxBytes?: number;
maxCount?: number;
maxPixels?: number;
multiple?: boolean;
quality?: number;
source?: "camera" | "gallery" | "both";
}>
| ElementBase<"audio" | "video" | "file", {
accept?: string[];
maxBytes?: number;
maxDurationSeconds?: number;
multiple?: boolean;
}>
| ElementBase<"barcode", {
allowManual?: boolean;
formats?: string[];
}>
| ElementBase<"signature", {
penColor?: string;
}>
| ElementBase<"note", {
collapsible?: boolean;
style?: "info" | "warning" | "success";
}>
| ElementBase<"hidden", Record<string, never> | object>
| ElementBase<"calculate", Record<string, never> | object>
| ElementBase<"group", {
nestData?: boolean;
}> & object
| ElementBase<"repeat", {
addLabel?: LocalizedString;
allowReorder?: boolean;
confirmDelete?: boolean;
count?: Expr;
itemLabel?: Expr;
keyField?: string;
max?: number;
min?: number;
removeLabel?: LocalizedString;
}> & object
| ElementBase<`x:${string}`, Record<string, unknown>>;
Defined in: packages/core/src/types.ts:173