Files
ox_lib/web/src/interfaces/dialog.ts

63 lines
1.2 KiB
TypeScript
Raw Normal View History

2022-08-27 15:58:36 +02:00
import { IconProp } from '@fortawesome/fontawesome-svg-core';
import { SelectItem } from '@mantine/core';
export interface IInput {
2022-08-27 15:58:36 +02:00
type: 'input';
label: string;
placeholder?: string;
default?: string;
password?: boolean;
icon?: IconProp;
disabled?: boolean;
description?: string;
}
export interface ICheckbox {
2022-08-27 15:58:36 +02:00
type: 'checkbox';
label: string;
checked?: boolean;
disabled?: boolean;
description?: string;
}
export interface ISelect {
2022-08-27 15:58:36 +02:00
type: 'select';
label: string;
default?: string;
options: Array<SelectItem>;
disabled?: boolean;
description?: string;
}
export interface INumber {
2022-08-27 15:58:36 +02:00
type: 'number';
label: string;
placeholder?: string;
default?: number;
icon?: IconProp;
2022-08-27 15:58:36 +02:00
min?: number;
max?: number;
disabled?: boolean;
description?: string;
}
export interface ISlider {
2022-08-27 15:58:36 +02:00
type: 'slider';
label: string;
default?: number;
min?: number;
max?: number;
step?: number;
disabled?: boolean;
description?: string;
}
2023-01-08 11:23:50 +01:00
export interface IColorInput {
type: 'color';
label: string;
default?: string;
disabled?: boolean;
description?: string;
format?: 'hex' | 'hexa' | 'rgb' | 'rgba' | 'hsl' | 'hsla';
}