UNPKG

59 kBTypeScriptView Raw
1declare type CustomMethodDecorator<T> = (target: Object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<T>) => TypedPropertyDescriptor<T> | void;
2export interface ComponentDecorator {
3 (opts?: ComponentOptions): ClassDecorator;
4}
5export interface ComponentOptions {
6 /**
7 * Tag name of the web component. Ideally, the tag name must be globally unique,
8 * so it's recommended to choose an unique prefix for all your components within the same collection.
9 *
10 * In addition, tag name must contain a '-'
11 */
12 tag: string;
13 /**
14 * If `true`, the component will use scoped stylesheets. Similar to shadow-dom,
15 * but without native isolation. Defaults to `false`.
16 */
17 scoped?: boolean;
18 /**
19 * If `true`, the component will use native shadow-dom encapsulation, it will fallback to
20 * `scoped` if the browser does not support shadow-dom natively. Defaults to `false`.
21 * Additionally, `shadow` can also be given options when attaching the shadow root.
22 */
23 shadow?: boolean | ShadowRootOptions;
24 /**
25 * Relative URL to some external stylesheet file. It should be a `.css` file unless some
26 * external plugin is installed like `@stencil/sass`.
27 */
28 styleUrl?: string;
29 /**
30 * Similar as `styleUrl` but allows to specify different stylesheets for different modes.
31 */
32 styleUrls?: string[] | ModeStyles;
33 /**
34 * String that contains inlined CSS instead of using an external stylesheet.
35 * The performance characteristics of this feature are the same as using an external stylesheet.
36 *
37 * Notice, you can't use sass, or less, only `css` is allowed using `styles`, use `styleUrl` is you need more advanced features.
38 */
39 styles?: string | {
40 [modeName: string]: any;
41 };
42 /**
43 * Array of relative links to folders of assets required by the component.
44 */
45 assetsDirs?: string[];
46}
47export interface ShadowRootOptions {
48 /**
49 * When set to `true`, specifies behavior that mitigates custom element issues
50 * around focusability. When a non-focusable part of the shadow DOM is clicked, the first
51 * focusable part is given focus, and the shadow host is given any available `:focus` styling.
52 */
53 delegatesFocus?: boolean;
54}
55export interface ModeStyles {
56 [modeName: string]: string | string[];
57}
58export interface PropDecorator {
59 (opts?: PropOptions): PropertyDecorator;
60}
61export interface PropOptions {
62 /**
63 * The name of the associated DOM attribute.
64 * Stencil uses different heuristics to determine the default name of the attribute,
65 * but using this property, you can override the default behaviour.
66 */
67 attribute?: string | null;
68 /**
69 * A Prop is _by default_ immutable from inside the component logic.
70 * Once a value is set by a user, the component cannot update it internally.
71 * However, it's possible to explicitly allow a Prop to be mutated from inside the component,
72 * by setting this `mutable` option to `true`.
73 */
74 mutable?: boolean;
75 /**
76 * In some cases it may be useful to keep a Prop in sync with an attribute.
77 * In this case you can set the `reflect` option to `true`, since it defaults to `false`:
78 */
79 reflect?: boolean;
80}
81export interface MethodDecorator {
82 (opts?: MethodOptions): CustomMethodDecorator<any>;
83}
84export interface MethodOptions {
85}
86export interface ElementDecorator {
87 (): PropertyDecorator;
88}
89export interface EventDecorator {
90 (opts?: EventOptions): PropertyDecorator;
91}
92export interface EventOptions {
93 /**
94 * A string custom event name to override the default.
95 */
96 eventName?: string;
97 /**
98 * A Boolean indicating whether the event bubbles up through the DOM or not.
99 */
100 bubbles?: boolean;
101 /**
102 * A Boolean indicating whether the event is cancelable.
103 */
104 cancelable?: boolean;
105 /**
106 * A Boolean value indicating whether or not the event can bubble across the boundary between the shadow DOM and the regular DOM.
107 */
108 composed?: boolean;
109}
110export interface ListenDecorator {
111 (eventName: string, opts?: ListenOptions): CustomMethodDecorator<any>;
112}
113export interface ListenOptions {
114 /**
115 * Handlers can also be registered for an event other than the host itself.
116 * The `target` option can be used to change where the event listener is attached,
117 * this is useful for listening to application-wide events.
118 */
119 target?: ListenTargetOptions;
120 /**
121 * Event listener attached with `@Listen` does not "capture" by default,
122 * When a event listener is set to "capture", means the event will be dispatched
123 * during the "capture phase". Please see
124 * https://www.quirksmode.org/js/events_order.html for further information.
125 */
126 capture?: boolean;
127 /**
128 * By default, Stencil uses several heuristics to determine if
129 * it must attach a `passive` event listener or not.
130 *
131 * Using the `passive` option can be used to change the default behaviour.
132 * Please see https://developers.google.com/web/updates/2016/06/passive-event-listeners for further information.
133 */
134 passive?: boolean;
135}
136export declare type ListenTargetOptions = 'body' | 'document' | 'window';
137export interface StateDecorator {
138 (): PropertyDecorator;
139}
140export interface WatchDecorator {
141 (propName: string): CustomMethodDecorator<any>;
142}
143export interface UserBuildConditionals {
144 isDev: boolean;
145 isBrowser: boolean;
146 isServer: boolean;
147 isTesting: boolean;
148}
149/**
150 * The `Build` object provides many build conditionals that can be used to
151 * include or exclude code depending on the build.
152 */
153export declare const Build: UserBuildConditionals;
154/**
155 * The `Env` object provides access to the "env" object declared in the project's `stencil.config.ts`.
156 */
157export declare const Env: {
158 [prop: string]: string | undefined;
159};
160/**
161 * The `@Component()` decorator is used to provide metadata about the component class.
162 * https://stenciljs.com/docs/component
163 */
164export declare const Component: ComponentDecorator;
165/**
166 * The `@Element()` decorator is a reference to the actual host element
167 * once it has rendered.
168 */
169export declare const Element: ElementDecorator;
170/**
171 * Components can emit data and events using the Event Emitter decorator.
172 * To dispatch Custom DOM events for other components to handle, use the
173 * `@Event()` decorator. The Event decorator also makes it easier for Stencil
174 * to automatically build types and documentation for the event data.
175 * https://stenciljs.com/docs/events
176 */
177export declare const Event: EventDecorator;
178/**
179 * The `Listen()` decorator is for listening DOM events, including the ones
180 * dispatched from `@Events()`.
181 * https://stenciljs.com/docs/events#listen-decorator
182 */
183export declare const Listen: ListenDecorator;
184/**
185 * The `@Method()` decorator is used to expose methods on the public API.
186 * Class methods decorated with the @Method() decorator can be called directly
187 * from the element, meaning they are intended to be callable from the outside.
188 * https://stenciljs.com/docs/methods
189 */
190export declare const Method: MethodDecorator;
191/**
192 * Props are custom attribute/properties exposed publicly on the element
193 * that developers can provide values for. Children components do not need to
194 * know about or reference parent components, so Props can be used to pass
195 * data down from the parent to the child. Components need to explicitly
196 * declare the Props they expect to receive using the `@Prop()` decorator.
197 * Any value changes to a Prop will cause a re-render.
198 * https://stenciljs.com/docs/properties
199 */
200export declare const Prop: PropDecorator;
201/**
202 * The `@State()` decorator can be used to manage internal data for a component.
203 * This means that a user cannot modify this data from outside the component,
204 * but the component can modify it however it sees fit. Any value changes to a
205 * `@State()` property will cause the components render function to be called again.
206 * https://stenciljs.com/docs/state
207 */
208export declare const State: StateDecorator;
209/**
210 * When a property's value has changed, a method decorated with `@Watch()` will be
211 * called and passed the new value of the prop along with the old value. Watch is
212 * useful for validating props or handling side effects. Watch decorator does not
213 * fire when a component initially loads.
214 * https://stenciljs.com/docs/reactive-data#watch-decorator
215 */
216export declare const Watch: WatchDecorator;
217export declare type ResolutionHandler = (elm: HTMLElement) => string | undefined | null;
218export declare type ErrorHandler = (err: any, element?: HTMLElement) => void;
219/**
220 * `setMode()` is used for libraries which provide multiple "modes" for styles.
221 */
222export declare const setMode: (handler: ResolutionHandler) => void;
223/**
224 * getMode
225 */
226export declare function getMode<T = string | undefined>(ref: any): T;
227/**
228 * Get the base path to where the assets can be found. Use `setAssetPath(path)`
229 * if the path needs to be customized.
230 */
231export declare function getAssetPath(path: string): string;
232/**
233 * Used to manually set the base path where assets can be found. For lazy-loaded
234 * builds the asset path is automatically set and assets copied to the correct
235 * build directory. However, for custom elements builds, the `setAssetPath(path)` could
236 * be used to customize the asset path depending on how the script file is consumed.
237 * If the script is used as "module", it's recommended to use "import.meta.url", such
238 * as `setAssetPath(import.meta.url)`. Other options include
239 * `setAssetPath(document.currentScript.src)`, or using a bundler's replace plugin to
240 * dynamically set the path at build time, such as `setAssetPath(process.env.ASSET_PATH)`.
241 * But do note that this configuration depends on how your script is bundled, or lack of
242 * bunding, and where your assets can be loaded from. Additionally custom bundling
243 * will have to ensure the static assets are copied to its build directory.
244 */
245export declare function setAssetPath(path: string): string;
246/**
247 * getElement
248 */
249export declare function getElement(ref: any): HTMLStencilElement;
250/**
251 * Schedules a new render of the given instance or element even if no state changed.
252 *
253 * Notice `forceUpdate()` is not syncronous and might perform the DOM render in the next frame.
254 */
255export declare function forceUpdate(ref: any): void;
256/**
257 * getRenderingRef
258 */
259export declare function getRenderingRef(): any;
260export interface HTMLStencilElement extends HTMLElement {
261 componentOnReady(): Promise<this>;
262}
263/**
264 * Schedules a DOM-write task. The provided callback will be executed
265 * in the best moment to perform DOM mutation without causing layout thrashing.
266 *
267 * For further information: https://developers.google.com/web/fundamentals/performance/rendering/avoid-large-complex-layouts-and-layout-thrashing
268 */
269export declare function writeTask(task: RafCallback): void;
270/**
271 * Schedules a DOM-read task. The provided callback will be executed
272 * in the best moment to perform DOM reads without causing layout thrashing.
273 *
274 * For further information: https://developers.google.com/web/fundamentals/performance/rendering/avoid-large-complex-layouts-and-layout-thrashing
275 */
276export declare function readTask(task: RafCallback): void;
277/**
278 * `setErrorHandler()` can be used to inject a custom global error handler.
279 * Unhandled exception raised while rendering, during event handling, or lifecycles will trigger the custom event handler.
280 */
281export declare const setErrorHandler: (handler: ErrorHandler) => void;
282/**
283 * This file gets copied to all distributions of stencil component collections.
284 * - no imports
285 */
286export interface ComponentWillLoad {
287 /**
288 * The component is about to load and it has not
289 * rendered yet.
290 *
291 * This is the best place to make any data updates
292 * before the first render.
293 *
294 * componentWillLoad will only be called once.
295 */
296 componentWillLoad(): Promise<void> | void;
297}
298export interface ComponentDidLoad {
299 /**
300 * The component has loaded and has already rendered.
301 *
302 * Updating data in this method will cause the
303 * component to re-render.
304 *
305 * componentDidLoad will only be called once.
306 */
307 componentDidLoad(): void;
308}
309export interface ComponentWillUpdate {
310 /**
311 * The component is about to update and re-render.
312 *
313 * Called multiple times throughout the life of
314 * the component as it updates.
315 *
316 * componentWillUpdate is not called on the first render.
317 */
318 componentWillUpdate(): Promise<void> | void;
319}
320export interface ComponentDidUpdate {
321 /**
322 * The component has just re-rendered.
323 *
324 * Called multiple times throughout the life of
325 * the component as it updates.
326 *
327 * componentWillUpdate is not called on the
328 * first render.
329 */
330 componentDidUpdate(): void;
331}
332export interface ComponentInterface {
333 connectedCallback?(): void;
334 disconnectedCallback?(): void;
335 componentWillRender?(): Promise<void> | void;
336 componentDidRender?(): void;
337 /**
338 * The component is about to load and it has not
339 * rendered yet.
340 *
341 * This is the best place to make any data updates
342 * before the first render.
343 *
344 * componentWillLoad will only be called once.
345 */
346 componentWillLoad?(): Promise<void> | void;
347 /**
348 * The component has loaded and has already rendered.
349 *
350 * Updating data in this method will cause the
351 * component to re-render.
352 *
353 * componentDidLoad will only be called once.
354 */
355 componentDidLoad?(): void;
356 /**
357 * A `@Prop` or `@State` property changed and a rerender is about to be requested.
358 *
359 * Called multiple times throughout the life of
360 * the component as its properties change.
361 *
362 * componentShouldUpdate is not called on the first render.
363 */
364 componentShouldUpdate?(newVal: any, oldVal: any, propName: string): boolean | void;
365 /**
366 * The component is about to update and re-render.
367 *
368 * Called multiple times throughout the life of
369 * the component as it updates.
370 *
371 * componentWillUpdate is not called on the first render.
372 */
373 componentWillUpdate?(): Promise<void> | void;
374 /**
375 * The component has just re-rendered.
376 *
377 * Called multiple times throughout the life of
378 * the component as it updates.
379 *
380 * componentWillUpdate is not called on the
381 * first render.
382 */
383 componentDidUpdate?(): void;
384 render?(): any;
385 [memberName: string]: any;
386}
387export interface EventEmitter<T = any> {
388 emit: (data?: T) => CustomEvent<T>;
389}
390export interface RafCallback {
391 (timeStamp: number): void;
392}
393export interface QueueApi {
394 tick: (cb: RafCallback) => void;
395 read: (cb: RafCallback) => void;
396 write: (cb: RafCallback) => void;
397 clear?: () => void;
398 flush?: (cb?: () => void) => void;
399}
400/**
401 * Host
402 */
403interface HostAttributes {
404 class?: string | {
405 [className: string]: boolean;
406 };
407 style?: {
408 [key: string]: string | undefined;
409 };
410 ref?: (el: HTMLElement | null) => void;
411 [prop: string]: any;
412}
413export interface FunctionalUtilities {
414 forEach: (children: VNode[], cb: (vnode: ChildNode, index: number, array: ChildNode[]) => void) => void;
415 map: (children: VNode[], cb: (vnode: ChildNode, index: number, array: ChildNode[]) => ChildNode) => VNode[];
416}
417export interface FunctionalComponent<T = {}> {
418 (props: T, children: VNode[], utils: FunctionalUtilities): VNode | VNode[];
419}
420export interface ChildNode {
421 vtag?: string | number | Function;
422 vkey?: string | number;
423 vtext?: string;
424 vchildren?: VNode[];
425 vattrs?: any;
426 vname?: string;
427}
428/**
429 * Host is a functional component can be used at the root of the render function
430 * to set attributes and event listeners to the host element itself.
431 *
432 * For further information: https://stenciljs.com/docs/host-element
433 */
434export declare const Host: FunctionalComponent<HostAttributes>;
435/**
436 * Fragment
437 */
438export declare const Fragment: FunctionalComponent<{}>;
439/**
440 * The "h" namespace is used to import JSX types for elements and attributes.
441 * It is imported in order to avoid conflicting global JSX issues.
442 */
443export declare namespace h {
444 function h(sel: any): VNode;
445 function h(sel: Node, data: VNodeData | null): VNode;
446 function h(sel: any, data: VNodeData | null): VNode;
447 function h(sel: any, text: string): VNode;
448 function h(sel: any, children: Array<VNode | undefined | null>): VNode;
449 function h(sel: any, data: VNodeData | null, text: string): VNode;
450 function h(sel: any, data: VNodeData | null, children: Array<VNode | undefined | null>): VNode;
451 function h(sel: any, data: VNodeData | null, children: VNode): VNode;
452 namespace JSX {
453 interface IntrinsicElements extends LocalJSX.IntrinsicElements, JSXBase.IntrinsicElements {
454 [tagName: string]: any;
455 }
456 }
457}
458export declare function h(sel: any): VNode;
459export declare function h(sel: Node, data: VNodeData | null): VNode;
460export declare function h(sel: any, data: VNodeData | null): VNode;
461export declare function h(sel: any, text: string): VNode;
462export declare function h(sel: any, children: Array<VNode | undefined | null>): VNode;
463export declare function h(sel: any, data: VNodeData | null, text: string): VNode;
464export declare function h(sel: any, data: VNodeData | null, children: Array<VNode | undefined | null>): VNode;
465export declare function h(sel: any, data: VNodeData | null, children: VNode): VNode;
466export interface VNode {
467 $flags$: number;
468 $tag$: string | number | Function;
469 $elm$: any;
470 $text$: string;
471 $children$: VNode[];
472 $attrs$?: any;
473 $name$?: string;
474 $key$?: string | number;
475}
476export interface VNodeData {
477 class?: {
478 [className: string]: boolean;
479 };
480 style?: any;
481 [attrName: string]: any;
482}
483declare namespace LocalJSX {
484 interface Element {
485 }
486 interface IntrinsicElements {
487 }
488}
489export { LocalJSX as JSX };
490export declare namespace JSXBase {
491 interface IntrinsicElements {
492 slot: JSXBase.SlotAttributes;
493 a: JSXBase.AnchorHTMLAttributes<HTMLAnchorElement>;
494 abbr: JSXBase.HTMLAttributes;
495 address: JSXBase.HTMLAttributes;
496 area: JSXBase.AreaHTMLAttributes<HTMLAreaElement>;
497 article: JSXBase.HTMLAttributes;
498 aside: JSXBase.HTMLAttributes;
499 audio: JSXBase.AudioHTMLAttributes<HTMLAudioElement>;
500 b: JSXBase.HTMLAttributes;
501 base: JSXBase.BaseHTMLAttributes<HTMLBaseElement>;
502 bdi: JSXBase.HTMLAttributes;
503 bdo: JSXBase.HTMLAttributes;
504 big: JSXBase.HTMLAttributes;
505 blockquote: JSXBase.BlockquoteHTMLAttributes<HTMLQuoteElement>;
506 body: JSXBase.HTMLAttributes<HTMLBodyElement>;
507 br: JSXBase.HTMLAttributes<HTMLBRElement>;
508 button: JSXBase.ButtonHTMLAttributes<HTMLButtonElement>;
509 canvas: JSXBase.CanvasHTMLAttributes<HTMLCanvasElement>;
510 caption: JSXBase.HTMLAttributes<HTMLTableCaptionElement>;
511 cite: JSXBase.HTMLAttributes;
512 code: JSXBase.HTMLAttributes;
513 col: JSXBase.ColHTMLAttributes<HTMLTableColElement>;
514 colgroup: JSXBase.ColgroupHTMLAttributes<HTMLTableColElement>;
515 data: JSXBase.HTMLAttributes<HTMLDataElement>;
516 datalist: JSXBase.HTMLAttributes<HTMLDataListElement>;
517 dd: JSXBase.HTMLAttributes;
518 del: JSXBase.DelHTMLAttributes<HTMLModElement>;
519 details: JSXBase.DetailsHTMLAttributes<HTMLElement>;
520 dfn: JSXBase.HTMLAttributes;
521 dialog: JSXBase.DialogHTMLAttributes<HTMLDialogElement>;
522 div: JSXBase.HTMLAttributes<HTMLDivElement>;
523 dl: JSXBase.HTMLAttributes<HTMLDListElement>;
524 dt: JSXBase.HTMLAttributes;
525 em: JSXBase.HTMLAttributes;
526 embed: JSXBase.EmbedHTMLAttributes<HTMLEmbedElement>;
527 fieldset: JSXBase.FieldsetHTMLAttributes<HTMLFieldSetElement>;
528 figcaption: JSXBase.HTMLAttributes;
529 figure: JSXBase.HTMLAttributes;
530 footer: JSXBase.HTMLAttributes;
531 form: JSXBase.FormHTMLAttributes<HTMLFormElement>;
532 h1: JSXBase.HTMLAttributes<HTMLHeadingElement>;
533 h2: JSXBase.HTMLAttributes<HTMLHeadingElement>;
534 h3: JSXBase.HTMLAttributes<HTMLHeadingElement>;
535 h4: JSXBase.HTMLAttributes<HTMLHeadingElement>;
536 h5: JSXBase.HTMLAttributes<HTMLHeadingElement>;
537 h6: JSXBase.HTMLAttributes<HTMLHeadingElement>;
538 head: JSXBase.HTMLAttributes<HTMLHeadElement>;
539 header: JSXBase.HTMLAttributes;
540 hgroup: JSXBase.HTMLAttributes;
541 hr: JSXBase.HTMLAttributes<HTMLHRElement>;
542 html: JSXBase.HTMLAttributes<HTMLHtmlElement>;
543 i: JSXBase.HTMLAttributes;
544 iframe: JSXBase.IframeHTMLAttributes<HTMLIFrameElement>;
545 img: JSXBase.ImgHTMLAttributes<HTMLImageElement>;
546 input: JSXBase.InputHTMLAttributes<HTMLInputElement>;
547 ins: JSXBase.InsHTMLAttributes<HTMLModElement>;
548 kbd: JSXBase.HTMLAttributes;
549 keygen: JSXBase.KeygenHTMLAttributes<HTMLElement>;
550 label: JSXBase.LabelHTMLAttributes<HTMLLabelElement>;
551 legend: JSXBase.HTMLAttributes<HTMLLegendElement>;
552 li: JSXBase.LiHTMLAttributes<HTMLLIElement>;
553 link: JSXBase.LinkHTMLAttributes<HTMLLinkElement>;
554 main: JSXBase.HTMLAttributes;
555 map: JSXBase.MapHTMLAttributes<HTMLMapElement>;
556 mark: JSXBase.HTMLAttributes;
557 menu: JSXBase.MenuHTMLAttributes<HTMLMenuElement>;
558 menuitem: JSXBase.HTMLAttributes;
559 meta: JSXBase.MetaHTMLAttributes<HTMLMetaElement>;
560 meter: JSXBase.MeterHTMLAttributes<HTMLMeterElement>;
561 nav: JSXBase.HTMLAttributes;
562 noscript: JSXBase.HTMLAttributes;
563 object: JSXBase.ObjectHTMLAttributes<HTMLObjectElement>;
564 ol: JSXBase.OlHTMLAttributes<HTMLOListElement>;
565 optgroup: JSXBase.OptgroupHTMLAttributes<HTMLOptGroupElement>;
566 option: JSXBase.OptionHTMLAttributes<HTMLOptionElement>;
567 output: JSXBase.OutputHTMLAttributes<HTMLOutputElement>;
568 p: JSXBase.HTMLAttributes<HTMLParagraphElement>;
569 param: JSXBase.ParamHTMLAttributes<HTMLParamElement>;
570 picture: JSXBase.HTMLAttributes<HTMLPictureElement>;
571 pre: JSXBase.HTMLAttributes<HTMLPreElement>;
572 progress: JSXBase.ProgressHTMLAttributes<HTMLProgressElement>;
573 q: JSXBase.QuoteHTMLAttributes<HTMLQuoteElement>;
574 rp: JSXBase.HTMLAttributes;
575 rt: JSXBase.HTMLAttributes;
576 ruby: JSXBase.HTMLAttributes;
577 s: JSXBase.HTMLAttributes;
578 samp: JSXBase.HTMLAttributes;
579 script: JSXBase.ScriptHTMLAttributes<HTMLScriptElement>;
580 section: JSXBase.HTMLAttributes;
581 select: JSXBase.SelectHTMLAttributes<HTMLSelectElement>;
582 small: JSXBase.HTMLAttributes;
583 source: JSXBase.SourceHTMLAttributes<HTMLSourceElement>;
584 span: JSXBase.HTMLAttributes<HTMLSpanElement>;
585 strong: JSXBase.HTMLAttributes;
586 style: JSXBase.StyleHTMLAttributes<HTMLStyleElement>;
587 sub: JSXBase.HTMLAttributes;
588 summary: JSXBase.HTMLAttributes;
589 sup: JSXBase.HTMLAttributes;
590 table: JSXBase.TableHTMLAttributes<HTMLTableElement>;
591 tbody: JSXBase.HTMLAttributes<HTMLTableSectionElement>;
592 td: JSXBase.TdHTMLAttributes<HTMLTableDataCellElement>;
593 textarea: JSXBase.TextareaHTMLAttributes<HTMLTextAreaElement>;
594 tfoot: JSXBase.HTMLAttributes<HTMLTableSectionElement>;
595 th: JSXBase.ThHTMLAttributes<HTMLTableHeaderCellElement>;
596 thead: JSXBase.HTMLAttributes<HTMLTableSectionElement>;
597 time: JSXBase.TimeHTMLAttributes<HTMLTimeElement>;
598 title: JSXBase.HTMLAttributes<HTMLTitleElement>;
599 tr: JSXBase.HTMLAttributes<HTMLTableRowElement>;
600 track: JSXBase.TrackHTMLAttributes<HTMLTrackElement>;
601 u: JSXBase.HTMLAttributes;
602 ul: JSXBase.HTMLAttributes<HTMLUListElement>;
603 var: JSXBase.HTMLAttributes;
604 video: JSXBase.VideoHTMLAttributes<HTMLVideoElement>;
605 wbr: JSXBase.HTMLAttributes;
606 animate: JSXBase.SVGAttributes;
607 circle: JSXBase.SVGAttributes;
608 clipPath: JSXBase.SVGAttributes;
609 defs: JSXBase.SVGAttributes;
610 desc: JSXBase.SVGAttributes;
611 ellipse: JSXBase.SVGAttributes;
612 feBlend: JSXBase.SVGAttributes;
613 feColorMatrix: JSXBase.SVGAttributes;
614 feComponentTransfer: JSXBase.SVGAttributes;
615 feComposite: JSXBase.SVGAttributes;
616 feConvolveMatrix: JSXBase.SVGAttributes;
617 feDiffuseLighting: JSXBase.SVGAttributes;
618 feDisplacementMap: JSXBase.SVGAttributes;
619 feDistantLight: JSXBase.SVGAttributes;
620 feDropShadow: JSXBase.SVGAttributes;
621 feFlood: JSXBase.SVGAttributes;
622 feFuncA: JSXBase.SVGAttributes;
623 feFuncB: JSXBase.SVGAttributes;
624 feFuncG: JSXBase.SVGAttributes;
625 feFuncR: JSXBase.SVGAttributes;
626 feGaussianBlur: JSXBase.SVGAttributes;
627 feImage: JSXBase.SVGAttributes;
628 feMerge: JSXBase.SVGAttributes;
629 feMergeNode: JSXBase.SVGAttributes;
630 feMorphology: JSXBase.SVGAttributes;
631 feOffset: JSXBase.SVGAttributes;
632 fePointLight: JSXBase.SVGAttributes;
633 feSpecularLighting: JSXBase.SVGAttributes;
634 feSpotLight: JSXBase.SVGAttributes;
635 feTile: JSXBase.SVGAttributes;
636 feTurbulence: JSXBase.SVGAttributes;
637 filter: JSXBase.SVGAttributes;
638 foreignObject: JSXBase.SVGAttributes;
639 g: JSXBase.SVGAttributes;
640 image: JSXBase.SVGAttributes;
641 line: JSXBase.SVGAttributes;
642 linearGradient: JSXBase.SVGAttributes;
643 marker: JSXBase.SVGAttributes;
644 mask: JSXBase.SVGAttributes;
645 metadata: JSXBase.SVGAttributes;
646 path: JSXBase.SVGAttributes;
647 pattern: JSXBase.SVGAttributes;
648 polygon: JSXBase.SVGAttributes;
649 polyline: JSXBase.SVGAttributes;
650 radialGradient: JSXBase.SVGAttributes;
651 rect: JSXBase.SVGAttributes;
652 stop: JSXBase.SVGAttributes;
653 svg: JSXBase.SVGAttributes;
654 switch: JSXBase.SVGAttributes;
655 symbol: JSXBase.SVGAttributes;
656 text: JSXBase.SVGAttributes;
657 textPath: JSXBase.SVGAttributes;
658 tspan: JSXBase.SVGAttributes;
659 use: JSXBase.SVGAttributes;
660 view: JSXBase.SVGAttributes;
661 }
662 interface SlotAttributes {
663 name?: string;
664 slot?: string;
665 onSlotchange?: (event: Event) => void;
666 }
667 interface AnchorHTMLAttributes<T> extends HTMLAttributes<T> {
668 download?: any;
669 href?: string;
670 hrefLang?: string;
671 hreflang?: string;
672 media?: string;
673 rel?: string;
674 target?: string;
675 }
676 interface AudioHTMLAttributes<T> extends MediaHTMLAttributes<T> {
677 }
678 interface AreaHTMLAttributes<T> extends HTMLAttributes<T> {
679 alt?: string;
680 coords?: string;
681 download?: any;
682 href?: string;
683 hrefLang?: string;
684 hreflang?: string;
685 media?: string;
686 rel?: string;
687 shape?: string;
688 target?: string;
689 }
690 interface BaseHTMLAttributes<T> extends HTMLAttributes<T> {
691 href?: string;
692 target?: string;
693 }
694 interface BlockquoteHTMLAttributes<T> extends HTMLAttributes<T> {
695 cite?: string;
696 }
697 interface ButtonHTMLAttributes<T> extends HTMLAttributes<T> {
698 autoFocus?: boolean;
699 disabled?: boolean;
700 form?: string;
701 formAction?: string;
702 formaction?: string;
703 formEncType?: string;
704 formenctype?: string;
705 formMethod?: string;
706 formmethod?: string;
707 formNoValidate?: boolean;
708 formnovalidate?: boolean;
709 formTarget?: string;
710 formtarget?: string;
711 name?: string;
712 type?: string;
713 value?: string | string[] | number;
714 }
715 interface CanvasHTMLAttributes<T> extends HTMLAttributes<T> {
716 height?: number | string;
717 width?: number | string;
718 }
719 interface ColHTMLAttributes<T> extends HTMLAttributes<T> {
720 span?: number;
721 }
722 interface ColgroupHTMLAttributes<T> extends HTMLAttributes<T> {
723 span?: number;
724 }
725 interface DetailsHTMLAttributes<T> extends HTMLAttributes<T> {
726 open?: boolean;
727 onToggle?: (event: Event) => void;
728 }
729 interface DelHTMLAttributes<T> extends HTMLAttributes<T> {
730 cite?: string;
731 dateTime?: string;
732 datetime?: string;
733 }
734 interface DialogHTMLAttributes<T> extends HTMLAttributes<T> {
735 onClose?: (event: Event) => void;
736 open?: boolean;
737 returnValue?: string;
738 }
739 interface EmbedHTMLAttributes<T> extends HTMLAttributes<T> {
740 height?: number | string;
741 src?: string;
742 type?: string;
743 width?: number | string;
744 }
745 interface FieldsetHTMLAttributes<T> extends HTMLAttributes<T> {
746 disabled?: boolean;
747 form?: string;
748 name?: string;
749 }
750 interface FormHTMLAttributes<T> extends HTMLAttributes<T> {
751 acceptCharset?: string;
752 acceptcharset?: string;
753 action?: string;
754 autoComplete?: string;
755 autocomplete?: string;
756 encType?: string;
757 enctype?: string;
758 method?: string;
759 name?: string;
760 noValidate?: boolean;
761 novalidate?: boolean | string;
762 target?: string;
763 }
764 interface HtmlHTMLAttributes<T> extends HTMLAttributes<T> {
765 manifest?: string;
766 }
767 interface IframeHTMLAttributes<T> extends HTMLAttributes<T> {
768 allow?: string;
769 allowFullScreen?: boolean;
770 allowfullScreen?: string | boolean;
771 allowTransparency?: boolean;
772 allowtransparency?: string | boolean;
773 frameBorder?: number | string;
774 frameborder?: number | string;
775 importance?: 'low' | 'auto' | 'high';
776 height?: number | string;
777 loading?: 'lazy' | 'auto' | 'eager';
778 marginHeight?: number;
779 marginheight?: string | number;
780 marginWidth?: number;
781 marginwidth?: string | number;
782 name?: string;
783 referrerPolicy?: ReferrerPolicy;
784 sandbox?: string;
785 scrolling?: string;
786 seamless?: boolean;
787 src?: string;
788 srcDoc?: string;
789 srcdoc?: string;
790 width?: number | string;
791 }
792 interface ImgHTMLAttributes<T> extends HTMLAttributes<T> {
793 alt?: string;
794 decoding?: 'async' | 'auto' | 'sync';
795 importance?: 'low' | 'auto' | 'high';
796 height?: number | string;
797 loading?: 'lazy' | 'auto' | 'eager';
798 sizes?: string;
799 src?: string;
800 srcSet?: string;
801 srcset?: string;
802 useMap?: string;
803 usemap?: string;
804 width?: number | string;
805 }
806 interface InsHTMLAttributes<T> extends HTMLAttributes<T> {
807 cite?: string;
808 dateTime?: string;
809 datetime?: string;
810 }
811 interface InputHTMLAttributes<T> extends HTMLAttributes<T> {
812 accept?: string;
813 allowdirs?: boolean;
814 alt?: string;
815 autoCapitalize?: any;
816 autocapitalize?: any;
817 autoComplete?: string;
818 autocomplete?: string;
819 autoFocus?: boolean;
820 autofocus?: boolean | string;
821 capture?: string;
822 checked?: boolean;
823 crossOrigin?: string;
824 crossorigin?: string;
825 defaultChecked?: boolean;
826 defaultValue?: string;
827 dirName?: string;
828 disabled?: boolean;
829 files?: any;
830 form?: string;
831 formAction?: string;
832 formaction?: string;
833 formEncType?: string;
834 formenctype?: string;
835 formMethod?: string;
836 formmethod?: string;
837 formNoValidate?: boolean;
838 formnovalidate?: boolean;
839 formTarget?: string;
840 formtarget?: string;
841 height?: number | string;
842 indeterminate?: boolean;
843 list?: string;
844 max?: number | string;
845 maxLength?: number;
846 maxlength?: number | string;
847 min?: number | string;
848 minLength?: number;
849 minlength?: number | string;
850 multiple?: boolean;
851 name?: string;
852 pattern?: string;
853 placeholder?: string;
854 readOnly?: boolean;
855 readonly?: boolean | string;
856 required?: boolean;
857 selectionStart?: number | string;
858 selectionEnd?: number | string;
859 selectionDirection?: string;
860 size?: number;
861 src?: string;
862 step?: number | string;
863 type?: string;
864 value?: string | string[] | number;
865 valueAsDate?: any;
866 valueAsNumber?: any;
867 webkitdirectory?: boolean;
868 webkitEntries?: any;
869 width?: number | string;
870 }
871 interface KeygenHTMLAttributes<T> extends HTMLAttributes<T> {
872 autoFocus?: boolean;
873 autofocus?: boolean | string;
874 challenge?: string;
875 disabled?: boolean;
876 form?: string;
877 keyType?: string;
878 keytype?: string;
879 keyParams?: string;
880 keyparams?: string;
881 name?: string;
882 }
883 interface LabelHTMLAttributes<T> extends HTMLAttributes<T> {
884 form?: string;
885 htmlFor?: string;
886 htmlfor?: string;
887 }
888 interface LiHTMLAttributes<T> extends HTMLAttributes<T> {
889 value?: string | string[] | number;
890 }
891 interface LinkHTMLAttributes<T> extends HTMLAttributes<T> {
892 as?: string;
893 href?: string;
894 hrefLang?: string;
895 hreflang?: string;
896 importance?: 'low' | 'auto' | 'high';
897 integrity?: string;
898 media?: string;
899 rel?: string;
900 sizes?: string;
901 type?: string;
902 }
903 interface MapHTMLAttributes<T> extends HTMLAttributes<T> {
904 name?: string;
905 }
906 interface MenuHTMLAttributes<T> extends HTMLAttributes<T> {
907 type?: string;
908 }
909 interface MediaHTMLAttributes<T> extends HTMLAttributes<T> {
910 autoPlay?: boolean;
911 autoplay?: boolean | string;
912 controls?: boolean;
913 crossOrigin?: string;
914 crossorigin?: string;
915 loop?: boolean;
916 mediaGroup?: string;
917 mediagroup?: string;
918 muted?: boolean;
919 preload?: string;
920 src?: string;
921 onAbort?: (event: Event) => void;
922 onCanPlay?: (event: Event) => void;
923 onCanPlayThrough?: (event: Event) => void;
924 onDurationChange?: (event: Event) => void;
925 onEmptied?: (event: Event) => void;
926 onEnded?: (event: Event) => void;
927 onError?: (event: Event) => void;
928 onInterruptBegin?: (event: Event) => void;
929 onInterruptEnd?: (event: Event) => void;
930 onLoadedData?: (event: Event) => void;
931 onLoadedMetaData?: (event: Event) => void;
932 onLoadStart?: (event: Event) => void;
933 onMozAudioAvailable?: (event: Event) => void;
934 onPause?: (event: Event) => void;
935 onPlay?: (event: Event) => void;
936 onPlaying?: (event: Event) => void;
937 onProgress?: (event: Event) => void;
938 onRateChange?: (event: Event) => void;
939 onSeeked?: (event: Event) => void;
940 onSeeking?: (event: Event) => void;
941 onStalled?: (event: Event) => void;
942 onSuspend?: (event: Event) => void;
943 onTimeUpdate?: (event: Event) => void;
944 onVolumeChange?: (event: Event) => void;
945 onWaiting?: (event: Event) => void;
946 }
947 interface MetaHTMLAttributes<T> extends HTMLAttributes<T> {
948 charSet?: string;
949 charset?: string;
950 content?: string;
951 httpEquiv?: string;
952 httpequiv?: string;
953 name?: string;
954 }
955 interface MeterHTMLAttributes<T> extends HTMLAttributes<T> {
956 form?: string;
957 high?: number;
958 low?: number;
959 max?: number | string;
960 min?: number | string;
961 optimum?: number;
962 value?: string | string[] | number;
963 }
964 interface QuoteHTMLAttributes<T> extends HTMLAttributes<T> {
965 cite?: string;
966 }
967 interface ObjectHTMLAttributes<T> extends HTMLAttributes<T> {
968 classID?: string;
969 classid?: string;
970 data?: string;
971 form?: string;
972 height?: number | string;
973 name?: string;
974 type?: string;
975 useMap?: string;
976 usemap?: string;
977 width?: number | string;
978 wmode?: string;
979 }
980 interface OlHTMLAttributes<T> extends HTMLAttributes<T> {
981 reversed?: boolean;
982 start?: number;
983 }
984 interface OptgroupHTMLAttributes<T> extends HTMLAttributes<T> {
985 disabled?: boolean;
986 label?: string;
987 }
988 interface OptionHTMLAttributes<T> extends HTMLAttributes<T> {
989 disabled?: boolean;
990 label?: string;
991 selected?: boolean;
992 value?: string | string[] | number;
993 }
994 interface OutputHTMLAttributes<T> extends HTMLAttributes<T> {
995 form?: string;
996 htmlFor?: string;
997 htmlfor?: string;
998 name?: string;
999 }
1000 interface ParamHTMLAttributes<T> extends HTMLAttributes<T> {
1001 name?: string;
1002 value?: string | string[] | number;
1003 }
1004 interface ProgressHTMLAttributes<T> extends HTMLAttributes<T> {
1005 max?: number | string;
1006 value?: string | string[] | number;
1007 }
1008 interface ScriptHTMLAttributes<T> extends HTMLAttributes<T> {
1009 async?: boolean;
1010 charSet?: string;
1011 charset?: string;
1012 crossOrigin?: string;
1013 crossorigin?: string;
1014 defer?: boolean;
1015 importance?: 'low' | 'auto' | 'high';
1016 integrity?: string;
1017 nonce?: string;
1018 src?: string;
1019 type?: string;
1020 }
1021 interface SelectHTMLAttributes<T> extends HTMLAttributes<T> {
1022 autoFocus?: boolean;
1023 disabled?: boolean;
1024 form?: string;
1025 multiple?: boolean;
1026 name?: string;
1027 required?: boolean;
1028 size?: number;
1029 autoComplete?: string;
1030 autocomplete?: string;
1031 }
1032 interface SourceHTMLAttributes<T> extends HTMLAttributes<T> {
1033 media?: string;
1034 sizes?: string;
1035 src?: string;
1036 srcSet?: string;
1037 type?: string;
1038 }
1039 interface StyleHTMLAttributes<T> extends HTMLAttributes<T> {
1040 media?: string;
1041 nonce?: string;
1042 scoped?: boolean;
1043 type?: string;
1044 }
1045 interface TableHTMLAttributes<T> extends HTMLAttributes<T> {
1046 cellPadding?: number | string;
1047 cellpadding?: number | string;
1048 cellSpacing?: number | string;
1049 cellspacing?: number | string;
1050 summary?: string;
1051 }
1052 interface TextareaHTMLAttributes<T> extends HTMLAttributes<T> {
1053 autoFocus?: boolean;
1054 autofocus?: boolean | string;
1055 cols?: number;
1056 disabled?: boolean;
1057 form?: string;
1058 maxLength?: number;
1059 maxlength?: number | string;
1060 minLength?: number;
1061 minlength?: number | string;
1062 name?: string;
1063 placeholder?: string;
1064 readOnly?: boolean;
1065 readonly?: boolean | string;
1066 required?: boolean;
1067 rows?: number;
1068 value?: string | string[] | number;
1069 wrap?: string;
1070 }
1071 interface TdHTMLAttributes<T> extends HTMLAttributes<T> {
1072 colSpan?: number;
1073 headers?: string;
1074 rowSpan?: number;
1075 }
1076 interface ThHTMLAttributes<T> extends HTMLAttributes<T> {
1077 abbr?: string;
1078 colSpan?: number;
1079 headers?: string;
1080 rowSpan?: number;
1081 rowspan?: number | string;
1082 scope?: string;
1083 }
1084 interface TimeHTMLAttributes<T> extends HTMLAttributes<T> {
1085 dateTime?: string;
1086 }
1087 interface TrackHTMLAttributes<T> extends HTMLAttributes<T> {
1088 default?: boolean;
1089 kind?: string;
1090 label?: string;
1091 src?: string;
1092 srcLang?: string;
1093 srclang?: string;
1094 }
1095 interface VideoHTMLAttributes<T> extends MediaHTMLAttributes<T> {
1096 height?: number | string;
1097 playsInline?: boolean;
1098 playsinline?: boolean | string;
1099 poster?: string;
1100 width?: number | string;
1101 }
1102 interface HTMLAttributes<T = HTMLElement> extends DOMAttributes<T> {
1103 innerHTML?: string;
1104 accessKey?: string;
1105 class?: string | {
1106 [className: string]: boolean;
1107 };
1108 contentEditable?: boolean | string;
1109 contenteditable?: boolean | string;
1110 contextMenu?: string;
1111 contextmenu?: string;
1112 dir?: string;
1113 draggable?: boolean;
1114 hidden?: boolean;
1115 id?: string;
1116 lang?: string;
1117 spellcheck?: 'true' | 'false' | any;
1118 style?: {
1119 [key: string]: string | undefined;
1120 };
1121 tabIndex?: number;
1122 tabindex?: number | string;
1123 title?: string;
1124 inputMode?: string;
1125 inputmode?: string;
1126 enterKeyHint?: string;
1127 enterkeyhint?: string;
1128 is?: string;
1129 radioGroup?: string;
1130 radiogroup?: string;
1131 role?: string;
1132 about?: string;
1133 datatype?: string;
1134 inlist?: any;
1135 prefix?: string;
1136 property?: string;
1137 resource?: string;
1138 typeof?: string;
1139 vocab?: string;
1140 autoCapitalize?: any;
1141 autocapitalize?: any;
1142 autoCorrect?: string;
1143 autocorrect?: string;
1144 autoSave?: string;
1145 autosave?: string;
1146 color?: string;
1147 itemProp?: string;
1148 itemprop?: string;
1149 itemScope?: boolean;
1150 itemscope?: boolean;
1151 itemType?: string;
1152 itemtype?: string;
1153 itemID?: string;
1154 itemid?: string;
1155 itemRef?: string;
1156 itemref?: string;
1157 results?: number;
1158 security?: string;
1159 unselectable?: boolean;
1160 }
1161 interface SVGAttributes<T = SVGElement> extends DOMAttributes<T> {
1162 'class'?: string | {
1163 [className: string]: boolean;
1164 };
1165 'color'?: string;
1166 'height'?: number | string;
1167 'id'?: string;
1168 'lang'?: string;
1169 'max'?: number | string;
1170 'media'?: string;
1171 'method'?: string;
1172 'min'?: number | string;
1173 'name'?: string;
1174 'style'?: {
1175 [key: string]: string | undefined;
1176 };
1177 'target'?: string;
1178 'type'?: string;
1179 'width'?: number | string;
1180 'role'?: string;
1181 'tabindex'?: number;
1182 'accent-height'?: number | string;
1183 'accumulate'?: 'none' | 'sum';
1184 'additive'?: 'replace' | 'sum';
1185 'alignment-baseline'?: 'auto' | 'baseline' | 'before-edge' | 'text-before-edge' | 'middle' | 'central' | 'after-edge' | 'text-after-edge' | 'ideographic' | 'alphabetic' | 'hanging' | 'mathematical' | 'inherit';
1186 'allowReorder'?: 'no' | 'yes';
1187 'alphabetic'?: number | string;
1188 'amplitude'?: number | string;
1189 'arabic-form'?: 'initial' | 'medial' | 'terminal' | 'isolated';
1190 'ascent'?: number | string;
1191 'attributeName'?: string;
1192 'attributeType'?: string;
1193 'autoReverse'?: number | string;
1194 'azimuth'?: number | string;
1195 'baseFrequency'?: number | string;
1196 'baseline-shift'?: number | string;
1197 'baseProfile'?: number | string;
1198 'bbox'?: number | string;
1199 'begin'?: number | string;
1200 'bias'?: number | string;
1201 'by'?: number | string;
1202 'calcMode'?: number | string;
1203 'cap-height'?: number | string;
1204 'clip'?: number | string;
1205 'clip-path'?: string;
1206 'clipPathUnits'?: number | string;
1207 'clip-rule'?: number | string;
1208 'color-interpolation'?: number | string;
1209 'color-interpolation-filters'?: 'auto' | 's-rGB' | 'linear-rGB' | 'inherit';
1210 'color-profile'?: number | string;
1211 'color-rendering'?: number | string;
1212 'contentScriptType'?: number | string;
1213 'contentStyleType'?: number | string;
1214 'cursor'?: number | string;
1215 'cx'?: number | string;
1216 'cy'?: number | string;
1217 'd'?: string;
1218 'decelerate'?: number | string;
1219 'descent'?: number | string;
1220 'diffuseConstant'?: number | string;
1221 'direction'?: number | string;
1222 'display'?: number | string;
1223 'divisor'?: number | string;
1224 'dominant-baseline'?: number | string;
1225 'dur'?: number | string;
1226 'dx'?: number | string;
1227 'dy'?: number | string;
1228 'edge-mode'?: number | string;
1229 'elevation'?: number | string;
1230 'enable-background'?: number | string;
1231 'end'?: number | string;
1232 'exponent'?: number | string;
1233 'externalResourcesRequired'?: number | string;
1234 'fill'?: string;
1235 'fill-opacity'?: number | string;
1236 'fill-rule'?: 'nonzero' | 'evenodd' | 'inherit';
1237 'filter'?: string;
1238 'filterRes'?: number | string;
1239 'filterUnits'?: number | string;
1240 'flood-color'?: number | string;
1241 'flood-opacity'?: number | string;
1242 'focusable'?: number | string;
1243 'font-family'?: string;
1244 'font-size'?: number | string;
1245 'font-size-adjust'?: number | string;
1246 'font-stretch'?: number | string;
1247 'font-style'?: number | string;
1248 'font-variant'?: number | string;
1249 'font-weight'?: number | string;
1250 'format'?: number | string;
1251 'from'?: number | string;
1252 'fx'?: number | string;
1253 'fy'?: number | string;
1254 'g1'?: number | string;
1255 'g2'?: number | string;
1256 'glyph-name'?: number | string;
1257 'glyph-orientation-horizontal'?: number | string;
1258 'glyph-orientation-vertical'?: number | string;
1259 'glyphRef'?: number | string;
1260 'gradientTransform'?: string;
1261 'gradientUnits'?: string;
1262 'hanging'?: number | string;
1263 'horiz-adv-x'?: number | string;
1264 'horiz-origin-x'?: number | string;
1265 'href'?: string;
1266 'ideographic'?: number | string;
1267 'image-rendering'?: number | string;
1268 'in2'?: number | string;
1269 'in'?: string;
1270 'intercept'?: number | string;
1271 'k1'?: number | string;
1272 'k2'?: number | string;
1273 'k3'?: number | string;
1274 'k4'?: number | string;
1275 'k'?: number | string;
1276 'kernelMatrix'?: number | string;
1277 'kernelUnitLength'?: number | string;
1278 'kerning'?: number | string;
1279 'keyPoints'?: number | string;
1280 'keySplines'?: number | string;
1281 'keyTimes'?: number | string;
1282 'lengthAdjust'?: number | string;
1283 'letter-spacing'?: number | string;
1284 'lighting-color'?: number | string;
1285 'limitingConeAngle'?: number | string;
1286 'local'?: number | string;
1287 'marker-end'?: string;
1288 'markerHeight'?: number | string;
1289 'marker-mid'?: string;
1290 'marker-start'?: string;
1291 'markerUnits'?: number | string;
1292 'markerWidth'?: number | string;
1293 'mask'?: string;
1294 'maskContentUnits'?: number | string;
1295 'maskUnits'?: number | string;
1296 'mathematical'?: number | string;
1297 'mode'?: number | string;
1298 'numOctaves'?: number | string;
1299 'offset'?: number | string;
1300 'opacity'?: number | string;
1301 'operator'?: number | string;
1302 'order'?: number | string;
1303 'orient'?: number | string;
1304 'orientation'?: number | string;
1305 'origin'?: number | string;
1306 'overflow'?: number | string;
1307 'overline-position'?: number | string;
1308 'overline-thickness'?: number | string;
1309 'paint-order'?: number | string;
1310 'panose1'?: number | string;
1311 'pathLength'?: number | string;
1312 'patternContentUnits'?: string;
1313 'patternTransform'?: number | string;
1314 'patternUnits'?: string;
1315 'pointer-events'?: number | string;
1316 'points'?: string;
1317 'pointsAtX'?: number | string;
1318 'pointsAtY'?: number | string;
1319 'pointsAtZ'?: number | string;
1320 'preserveAlpha'?: number | string;
1321 'preserveAspectRatio'?: string;
1322 'primitiveUnits'?: number | string;
1323 'r'?: number | string;
1324 'radius'?: number | string;
1325 'refX'?: number | string;
1326 'refY'?: number | string;
1327 'rendering-intent'?: number | string;
1328 'repeatCount'?: number | string;
1329 'repeatDur'?: number | string;
1330 'requiredextensions'?: number | string;
1331 'requiredFeatures'?: number | string;
1332 'restart'?: number | string;
1333 'result'?: string;
1334 'rotate'?: number | string;
1335 'rx'?: number | string;
1336 'ry'?: number | string;
1337 'scale'?: number | string;
1338 'seed'?: number | string;
1339 'shape-rendering'?: number | string;
1340 'slope'?: number | string;
1341 'spacing'?: number | string;
1342 'specularConstant'?: number | string;
1343 'specularExponent'?: number | string;
1344 'speed'?: number | string;
1345 'spreadMethod'?: string;
1346 'startOffset'?: number | string;
1347 'stdDeviation'?: number | string;
1348 'stemh'?: number | string;
1349 'stemv'?: number | string;
1350 'stitchTiles'?: number | string;
1351 'stop-color'?: string;
1352 'stop-opacity'?: number | string;
1353 'strikethrough-position'?: number | string;
1354 'strikethrough-thickness'?: number | string;
1355 'string'?: number | string;
1356 'stroke'?: string;
1357 'stroke-dasharray'?: string | number;
1358 'stroke-dashoffset'?: string | number;
1359 'stroke-linecap'?: 'butt' | 'round' | 'square' | 'inherit';
1360 'stroke-linejoin'?: 'miter' | 'round' | 'bevel' | 'inherit';
1361 'stroke-miterlimit'?: string;
1362 'stroke-opacity'?: number | string;
1363 'stroke-width'?: number | string;
1364 'surfaceScale'?: number | string;
1365 'systemLanguage'?: number | string;
1366 'tableValues'?: number | string;
1367 'targetX'?: number | string;
1368 'targetY'?: number | string;
1369 'text-anchor'?: string;
1370 'text-decoration'?: number | string;
1371 'textLength'?: number | string;
1372 'text-rendering'?: number | string;
1373 'to'?: number | string;
1374 'transform'?: string;
1375 'u1'?: number | string;
1376 'u2'?: number | string;
1377 'underline-position'?: number | string;
1378 'underline-thickness'?: number | string;
1379 'unicode'?: number | string;
1380 'unicode-bidi'?: number | string;
1381 'unicode-range'?: number | string;
1382 'units-per-em'?: number | string;
1383 'v-alphabetic'?: number | string;
1384 'values'?: string;
1385 'vector-effect'?: number | string;
1386 'version'?: string;
1387 'vert-adv-y'?: number | string;
1388 'vert-origin-x'?: number | string;
1389 'vert-origin-y'?: number | string;
1390 'v-hanging'?: number | string;
1391 'v-ideographic'?: number | string;
1392 'viewBox'?: string;
1393 'viewTarget'?: number | string;
1394 'visibility'?: number | string;
1395 'v-mathematical'?: number | string;
1396 'widths'?: number | string;
1397 'word-spacing'?: number | string;
1398 'writing-mode'?: number | string;
1399 'x1'?: number | string;
1400 'x2'?: number | string;
1401 'x'?: number | string;
1402 'x-channel-selector'?: string;
1403 'x-height'?: number | string;
1404 'xlinkActuate'?: string;
1405 'xlinkArcrole'?: string;
1406 'xlinkHref'?: string;
1407 'xlinkRole'?: string;
1408 'xlinkShow'?: string;
1409 'xlinkTitle'?: string;
1410 'xlinkType'?: string;
1411 'xmlBase'?: string;
1412 'xmlLang'?: string;
1413 'xmlns'?: string;
1414 'xmlSpace'?: string;
1415 'y1'?: number | string;
1416 'y2'?: number | string;
1417 'y'?: number | string;
1418 'yChannelSelector'?: string;
1419 'z'?: number | string;
1420 'zoomAndPan'?: string;
1421 }
1422 interface DOMAttributes<T = Element> {
1423 key?: string | number;
1424 ref?: (elm?: T) => void;
1425 slot?: string;
1426 part?: string;
1427 exportparts?: string;
1428 onCopy?: (event: ClipboardEvent) => void;
1429 onCopyCapture?: (event: ClipboardEvent) => void;
1430 onCut?: (event: ClipboardEvent) => void;
1431 onCutCapture?: (event: ClipboardEvent) => void;
1432 onPaste?: (event: ClipboardEvent) => void;
1433 onPasteCapture?: (event: ClipboardEvent) => void;
1434 onCompositionEnd?: (event: CompositionEvent) => void;
1435 onCompositionEndCapture?: (event: CompositionEvent) => void;
1436 onCompositionStart?: (event: CompositionEvent) => void;
1437 onCompositionStartCapture?: (event: CompositionEvent) => void;
1438 onCompositionUpdate?: (event: CompositionEvent) => void;
1439 onCompositionUpdateCapture?: (event: CompositionEvent) => void;
1440 onFocus?: (event: FocusEvent) => void;
1441 onFocusCapture?: (event: FocusEvent) => void;
1442 onFocusin?: (event: FocusEvent) => void;
1443 onFocusinCapture?: (event: FocusEvent) => void;
1444 onFocusout?: (event: FocusEvent) => void;
1445 onFocusoutCapture?: (event: FocusEvent) => void;
1446 onBlur?: (event: FocusEvent) => void;
1447 onBlurCapture?: (event: FocusEvent) => void;
1448 onChange?: (event: Event) => void;
1449 onChangeCapture?: (event: Event) => void;
1450 onInput?: (event: Event) => void;
1451 onInputCapture?: (event: Event) => void;
1452 onReset?: (event: Event) => void;
1453 onResetCapture?: (event: Event) => void;
1454 onSubmit?: (event: Event) => void;
1455 onSubmitCapture?: (event: Event) => void;
1456 onInvalid?: (event: Event) => void;
1457 onInvalidCapture?: (event: Event) => void;
1458 onLoad?: (event: Event) => void;
1459 onLoadCapture?: (event: Event) => void;
1460 onError?: (event: Event) => void;
1461 onErrorCapture?: (event: Event) => void;
1462 onKeyDown?: (event: KeyboardEvent) => void;
1463 onKeyDownCapture?: (event: KeyboardEvent) => void;
1464 onKeyPress?: (event: KeyboardEvent) => void;
1465 onKeyPressCapture?: (event: KeyboardEvent) => void;
1466 onKeyUp?: (event: KeyboardEvent) => void;
1467 onKeyUpCapture?: (event: KeyboardEvent) => void;
1468 onAuxClick?: (event: MouseEvent) => void;
1469 onClick?: (event: MouseEvent) => void;
1470 onClickCapture?: (event: MouseEvent) => void;
1471 onContextMenu?: (event: MouseEvent) => void;
1472 onContextMenuCapture?: (event: MouseEvent) => void;
1473 onDblClick?: (event: MouseEvent) => void;
1474 onDblClickCapture?: (event: MouseEvent) => void;
1475 onDrag?: (event: DragEvent) => void;
1476 onDragCapture?: (event: DragEvent) => void;
1477 onDragEnd?: (event: DragEvent) => void;
1478 onDragEndCapture?: (event: DragEvent) => void;
1479 onDragEnter?: (event: DragEvent) => void;
1480 onDragEnterCapture?: (event: DragEvent) => void;
1481 onDragExit?: (event: DragEvent) => void;
1482 onDragExitCapture?: (event: DragEvent) => void;
1483 onDragLeave?: (event: DragEvent) => void;
1484 onDragLeaveCapture?: (event: DragEvent) => void;
1485 onDragOver?: (event: DragEvent) => void;
1486 onDragOverCapture?: (event: DragEvent) => void;
1487 onDragStart?: (event: DragEvent) => void;
1488 onDragStartCapture?: (event: DragEvent) => void;
1489 onDrop?: (event: DragEvent) => void;
1490 onDropCapture?: (event: DragEvent) => void;
1491 onMouseDown?: (event: MouseEvent) => void;
1492 onMouseDownCapture?: (event: MouseEvent) => void;
1493 onMouseEnter?: (event: MouseEvent) => void;
1494 onMouseLeave?: (event: MouseEvent) => void;
1495 onMouseMove?: (event: MouseEvent) => void;
1496 onMouseMoveCapture?: (event: MouseEvent) => void;
1497 onMouseOut?: (event: MouseEvent) => void;
1498 onMouseOutCapture?: (event: MouseEvent) => void;
1499 onMouseOver?: (event: MouseEvent) => void;
1500 onMouseOverCapture?: (event: MouseEvent) => void;
1501 onMouseUp?: (event: MouseEvent) => void;
1502 onMouseUpCapture?: (event: MouseEvent) => void;
1503 onTouchCancel?: (event: TouchEvent) => void;
1504 onTouchCancelCapture?: (event: TouchEvent) => void;
1505 onTouchEnd?: (event: TouchEvent) => void;
1506 onTouchEndCapture?: (event: TouchEvent) => void;
1507 onTouchMove?: (event: TouchEvent) => void;
1508 onTouchMoveCapture?: (event: TouchEvent) => void;
1509 onTouchStart?: (event: TouchEvent) => void;
1510 onTouchStartCapture?: (event: TouchEvent) => void;
1511 onPointerDown?: (event: PointerEvent) => void;
1512 onPointerDownCapture?: (event: PointerEvent) => void;
1513 onPointerMove?: (event: PointerEvent) => void;
1514 onPointerMoveCapture?: (event: PointerEvent) => void;
1515 onPointerUp?: (event: PointerEvent) => void;
1516 onPointerUpCapture?: (event: PointerEvent) => void;
1517 onPointerCancel?: (event: PointerEvent) => void;
1518 onPointerCancelCapture?: (event: PointerEvent) => void;
1519 onPointerEnter?: (event: PointerEvent) => void;
1520 onPointerEnterCapture?: (event: PointerEvent) => void;
1521 onPointerLeave?: (event: PointerEvent) => void;
1522 onPointerLeaveCapture?: (event: PointerEvent) => void;
1523 onPointerOver?: (event: PointerEvent) => void;
1524 onPointerOverCapture?: (event: PointerEvent) => void;
1525 onPointerOut?: (event: PointerEvent) => void;
1526 onPointerOutCapture?: (event: PointerEvent) => void;
1527 onGotPointerCapture?: (event: PointerEvent) => void;
1528 onGotPointerCaptureCapture?: (event: PointerEvent) => void;
1529 onLostPointerCapture?: (event: PointerEvent) => void;
1530 onLostPointerCaptureCapture?: (event: PointerEvent) => void;
1531 onScroll?: (event: UIEvent) => void;
1532 onScrollCapture?: (event: UIEvent) => void;
1533 onWheel?: (event: WheelEvent) => void;
1534 onWheelCapture?: (event: WheelEvent) => void;
1535 onAnimationStart?: (event: AnimationEvent) => void;
1536 onAnimationStartCapture?: (event: AnimationEvent) => void;
1537 onAnimationEnd?: (event: AnimationEvent) => void;
1538 onAnimationEndCapture?: (event: AnimationEvent) => void;
1539 onAnimationIteration?: (event: AnimationEvent) => void;
1540 onAnimationIterationCapture?: (event: AnimationEvent) => void;
1541 onTransitionEnd?: (event: TransitionEvent) => void;
1542 onTransitionEndCapture?: (event: TransitionEvent) => void;
1543 }
1544}
1545export interface CustomElementsDefineOptions {
1546 exclude?: string[];
1547 resourcesUrl?: string;
1548 syncQueue?: boolean;
1549 transformTagName?: (tagName: string) => string;
1550 jmp?: (c: Function) => any;
1551 raf?: (c: FrameRequestCallback) => number;
1552 ael?: (el: EventTarget, eventName: string, listener: EventListenerOrEventListenerObject, options: boolean | AddEventListenerOptions) => void;
1553 rel?: (el: EventTarget, eventName: string, listener: EventListenerOrEventListenerObject, options: boolean | AddEventListenerOptions) => void;
1554 ce?: (eventName: string, opts?: any) => CustomEvent;
1555}