Newer
Older
veronaModuleVersion: string;
pages: UnitPage[];
}
export interface UnitPage {
[index: string]: string | number | boolean | undefined | UnitPageSection[];
hasMaxWidth: boolean;
maxWidth: number;
alwaysVisiblePagePosition: 'left' | 'right' | 'top' | 'bottom';
}
export interface UnitPageSection {
[index: string]: string | number | boolean | undefined | UnitUIElement[];
elements: UnitUIElement[];
height: number;
backgroundColor: string;
dynamicPositioning: boolean;
gridColumnSizes: string;
}
export interface UnitUIElement {
type: 'text' | 'button' | 'text-field' | 'text-area' | 'checkbox'
| 'dropdown' | 'radio' | 'image' | 'audio' | 'video';
dynamicPositioning: boolean;
xPosition: number;
yPosition: number;
gridColumnStart: number;
gridColumnEnd: number;
gridRowStart: number;
gridRowEnd: number;
marginLeft: number;
marginRight: number;
marginTop: number;
marginBottom: number;
}
export interface TextUIElement extends UnitUIElement {
fontColor: string;
font: string;
fontSize: number;
bold: boolean;
italic: boolean;
underline: boolean;
}
export interface InputUIElement extends UnitUIElement {
label: string;
value: string | number | boolean | undefined;
required: boolean;
requiredWarnMessage: string;
export interface SurfaceUIElement extends UnitUIElement {
export interface TextElement extends SurfaceUIElement {
fontColor: string;
font: string;
bold: boolean;
italic: boolean;
underline: boolean;
export interface ButtonElement extends TextUIElement, SurfaceUIElement {
action: undefined | 'previous' | 'next' | 'end';
export interface TextFieldElement extends InputUIElement, TextUIElement, SurfaceUIElement {
appearance: 'standard' | 'legacy' | 'fill' | 'outline';
minLength: number | undefined;
minLengthWarnMessage: string;
maxLength: number | undefined;
maxLengthWarnMessage: string;
pattern: string;
patternWarnMessage: string;
export interface TextAreaElement extends InputUIElement, TextUIElement, SurfaceUIElement {
appearance: 'standard' | 'legacy' | 'fill' | 'outline';
export interface CheckboxElement extends InputUIElement, TextUIElement, SurfaceUIElement {
export interface DropdownElement extends InputUIElement, TextUIElement, SurfaceUIElement {
label: string;
options: string[];
export interface RadioButtonGroupElement extends InputUIElement, TextUIElement, SurfaceUIElement {
options: string[];
alignment: 'row' | 'column';
}
export interface ImageElement extends UnitUIElement {
src: string;
}
export interface AudioElement extends UnitUIElement {
src: string;
}
export interface VideoElement extends UnitUIElement {
src: string;
}