origami-zen
Version:
Collection of reusable web components. Built for Origami CMS.
35 lines (34 loc) • 1.37 kB
TypeScript
import { TemplateResult } from 'lit-html';
import 'reflect-metadata';
export interface Property {
name?: string;
type?: any;
value?: any;
reflectToAttribute?: boolean;
readOnly?: boolean;
notify?: boolean;
computed?: string;
observer?: string;
}
export declare const view: (view: string, css?: string) => <T extends new (...args: any[]) => {}>(constructor: T) => {
new (...args: any[]): {};
readonly template: HTMLTemplateElement;
} & T;
export declare const bindAttributes: <T extends new (...args: any[]) => {}>(constructor: T) => {
new (...args: any[]): {
_propertiesChanged(props: object, changedProps: object, prevProps: object): void;
};
} & T;
export declare const component: (name: string) => ClassDecorator;
export declare function property(args?: Property): PropertyDecorator;
export declare function property(target: Object, key: string | symbol): void;
export declare const style: (css: string) => <T extends new (...args: any[]) => {}>(constructor: T) => {
new (...args: any[]): {
readonly _style: TemplateResult;
};
} & T;
export declare const dispatchChange: (prop?: string, event?: string) => <T extends new (...args: any[]) => {}>(constructor: T) => {
new (...args: any[]): {
_propertiesChanged(props: object, changedProps: object, prevProps: object): void;
};
} & T;