UNPKG

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