forked from meissa/ModeratorElection
38 lines
1.1 KiB
TypeScript
38 lines
1.1 KiB
TypeScript
|
import { TemplateResult } from 'lit';
|
||
|
import { ComponentReference } from '../../component-util';
|
||
|
export declare enum EditorType {
|
||
|
text = "text",
|
||
|
checkbox = "checkbox",
|
||
|
range = "range",
|
||
|
color = "color"
|
||
|
}
|
||
|
export interface CssPropertyMetadata {
|
||
|
propertyName: string;
|
||
|
displayName: string;
|
||
|
defaultValue?: string;
|
||
|
description?: string;
|
||
|
editorType?: EditorType;
|
||
|
presets?: string[];
|
||
|
icon?: string;
|
||
|
checkedValue?: string;
|
||
|
}
|
||
|
export interface ComponentElementMetadata {
|
||
|
selector: string;
|
||
|
stateAttribute?: string;
|
||
|
stateElementSelector?: string;
|
||
|
displayName: string;
|
||
|
description?: string;
|
||
|
properties: CssPropertyMetadata[];
|
||
|
}
|
||
|
export interface ComponentMetadata {
|
||
|
tagName: string;
|
||
|
displayName: string;
|
||
|
description?: TemplateResult;
|
||
|
notAccessibleDescription?: TemplateResult;
|
||
|
elements: ComponentElementMetadata[];
|
||
|
setupElement?: (element: any) => Promise<void>;
|
||
|
cleanupElement?: (element: any) => Promise<void>;
|
||
|
openOverlay?: (component: ComponentReference) => void;
|
||
|
hideOverlay?: (component: ComponentReference) => void;
|
||
|
}
|