export type DrawingStyleValue = string | number | boolean;
export type DrawingStyleSettings = Record<string, DrawingStyleValue>;
interface BaseDrawingStyleField {
key: string;
label: string;
}
export interface NumberDrawingStyleField extends BaseDrawingStyleField {
type: 'number';
defaultValue: number;
min?: number;
max?: number;
}
export interface ColorDrawingStyleField extends BaseDrawingStyleField {
type: 'color';
defaultValue: string;
}
export interface SelectDrawingStyleField extends BaseDrawingStyleField {
type: 'select';
defaultValue: string | number;
options: { label: string; value: string | number }[];
}
export interface TextDrawingStyleField extends BaseDrawingStyleField {
type: 'text';
defaultValue: string;
placeholder?: string;
}
export type DrawingStyleField =
| NumberDrawingStyleField
| ColorDrawingStyleField
| SelectDrawingStyleField
| TextDrawingStyleField;
public getState(): unknown {
return this.lwcDrawing.getState();
}
public setState(state: unknown): void {
this.lwcDrawing.setState(state);
}
public getStyleSettings(): DrawingStyleSettings {
return this.lwcDrawing.getStyleSettings();
}
public updateStyleSettings(next: DrawingStyleSettings): void {
this.lwcDrawing.updateStyleSettings(next);
}
public getStyleConfig(): DrawingStyleField[] {
return this.lwcDrawing.getStyleConfig();
}
public hasStyleSettings(): boolean {
return this.lwcDrawing.hasStyleSettings();
}
getState(): unknown;
setState(state: unknown): void;
getStyleSettings(): DrawingStyleSettings;
updateStyleSettings(next: DrawingStyleSettings): void;
getStyleConfig(): DrawingStyleField[];
hasStyleSettings(): boolean;