wx-svelte-editor
Version:
Svelte component for creating forms to edit structured data on a page (info cards, text blocks, table rows, etc
87 lines (81 loc) • 1.93 kB
TypeScript
import type { Component } from "svelte";
import type { IToolbarItem } from "@svar-ui/svelte-toolbar";
export declare const Editor: Component<{
values?: Record<string, any>;
items?: {
comp?: string | Component;
key?: string;
label?: string;
labelTemplate?: (value: any) => string;
column?: "right" | "left";
batch?: string | number;
hidden?: boolean;
section?: string;
sectionMode?: "accordion" | "exclusive";
activeSection?: boolean;
options?: {
id?: string | number;
label?: string;
[key: string]: any;
}[];
required?: boolean;
validation?: (value: any) => boolean;
validationMessage?: string;
config?: {
[key: string]: any;
};
[key: string]: any;
}[];
css?: string;
activeBatch?: string | number;
topBar?: boolean | { items: IToolbarItem[] };
bottomBar?: boolean | { items: IToolbarItem[] };
autoSave?: boolean;
layout?: "default" | "columns";
placement?: "inline" | "sidebar" | "modal";
readonly?: boolean;
focus?: boolean;
onchange?: (ev: {
key: string;
value: any;
update: Record<string, any>;
input?: boolean;
}) => void;
onsave?: (ev: {
changes: Record<string, any>;
values: Record<string, any>;
}) => void;
onaction?: (ev: {
item: IToolbarItem;
values: Record<string, any>;
changes: Record<string, any>;
}) => void;
onvalidation?: (ev: {
errors: {
[key: string]: {
errorType: "validation" | "required";
};
};
values: Record<string, any>;
}) => void;
hotkeys?:
| false
| { [key: string]: ((e?: KeyboardEvent) => void) | boolean };
children?: () => any;
}>;
export declare function registerEditorItem(
type: string,
handler: Component<any>
): void;
export declare const Willow: Component<{
fonts?: boolean;
children?: () => any;
}>;
export declare const WillowDark: Component<{
fonts?: boolean;
children?: () => any;
}>;
export declare const Material: Component<{
fonts?: boolean;
children?: () => any;
}>;