oraclejet-demo-card-vdom
Version:
A sample VComponent based web component for OracleJET
70 lines (69 loc) • 4.27 kB
TypeScript
import { JetElement, JetSettableProperties, JetElementCustomEventStrict, JetSetPropertyType } from 'ojs/index';
import { GlobalProps } from 'ojs/ojvcomponent';
import 'ojs/oj-jsx-interfaces';
import { ExtendGlobalProps } from "ojs/ojvcomponent";
import { h, ComponentProps, ComponentType } from "preact";
import "css!./oraclejet-demo-card-vdom-styles.css";
import "ojs/ojavatar";
declare type Props = Readonly<{
message?: string;
avatar: string;
name: string;
email: string;
workTitle: string;
workNumber: number;
}>;
declare function OraclejetDemoCardVdomImpl({ name, email, workNumber, workTitle, avatar, }: Props): h.JSX.Element;
export declare const OraclejetDemoCardVdom: ComponentType<ExtendGlobalProps<ComponentProps<typeof OraclejetDemoCardVdomImpl>>>;
export {};
export interface DemoCardVdomElement extends JetElement<DemoCardVdomElementSettableProperties>, DemoCardVdomElementSettableProperties {
addEventListener<T extends keyof DemoCardVdomElementEventMap>(type: T, listener: (this: HTMLElement, ev: DemoCardVdomElementEventMap[T]) => any, options?: (boolean | AddEventListenerOptions)): void;
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: (boolean | AddEventListenerOptions)): void;
getProperty<T extends keyof DemoCardVdomElementSettableProperties>(property: T): DemoCardVdomElement[T];
getProperty(property: string): any;
setProperty<T extends keyof DemoCardVdomElementSettableProperties>(property: T, value: DemoCardVdomElementSettableProperties[T]): void;
setProperty<T extends string>(property: T, value: JetSetPropertyType<T, DemoCardVdomElementSettableProperties>): void;
setProperties(properties: DemoCardVdomElementSettablePropertiesLenient): void;
}
export namespace DemoCardVdomElement {
type avatarChanged = JetElementCustomEventStrict<DemoCardVdomElement['avatar']>;
type emailChanged = JetElementCustomEventStrict<DemoCardVdomElement['email']>;
type messageChanged = JetElementCustomEventStrict<DemoCardVdomElement['message']>;
type nameChanged = JetElementCustomEventStrict<DemoCardVdomElement['name']>;
type workNumberChanged = JetElementCustomEventStrict<DemoCardVdomElement['workNumber']>;
type workTitleChanged = JetElementCustomEventStrict<DemoCardVdomElement['workTitle']>;
}
export interface DemoCardVdomElementEventMap extends HTMLElementEventMap {
'avatarChanged': JetElementCustomEventStrict<DemoCardVdomElement['avatar']>;
'emailChanged': JetElementCustomEventStrict<DemoCardVdomElement['email']>;
'messageChanged': JetElementCustomEventStrict<DemoCardVdomElement['message']>;
'nameChanged': JetElementCustomEventStrict<DemoCardVdomElement['name']>;
'workNumberChanged': JetElementCustomEventStrict<DemoCardVdomElement['workNumber']>;
'workTitleChanged': JetElementCustomEventStrict<DemoCardVdomElement['workTitle']>;
}
export interface DemoCardVdomElementSettableProperties extends JetSettableProperties {
avatar: Props['avatar'];
email: Props['email'];
message?: Props['message'];
name: Props['name'];
workNumber: Props['workNumber'];
workTitle: Props['workTitle'];
}
export interface DemoCardVdomElementSettablePropertiesLenient extends Partial<DemoCardVdomElementSettableProperties> {
[key: string]: any;
}
export interface OraclejetDemoCardVdomIntrinsicProps extends Partial<Readonly<DemoCardVdomElementSettableProperties>>, GlobalProps, Pick<preact.JSX.HTMLAttributes, 'ref' | 'key'> {
onavatarChanged?: (value: DemoCardVdomElementEventMap['avatarChanged']) => void;
onemailChanged?: (value: DemoCardVdomElementEventMap['emailChanged']) => void;
onmessageChanged?: (value: DemoCardVdomElementEventMap['messageChanged']) => void;
onnameChanged?: (value: DemoCardVdomElementEventMap['nameChanged']) => void;
onworkNumberChanged?: (value: DemoCardVdomElementEventMap['workNumberChanged']) => void;
onworkTitleChanged?: (value: DemoCardVdomElementEventMap['workTitleChanged']) => void;
}
declare global {
namespace preact.JSX {
interface IntrinsicElements {
'oraclejet-demo-card-vdom': OraclejetDemoCardVdomIntrinsicProps;
}
}
}