UNPKG

64.1 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 ping?: string;
772 rel?: string;
773 target?: string;
774 referrerPolicy?: ReferrerPolicy;
775 }
776 interface AudioHTMLAttributes<T> extends MediaHTMLAttributes<T> {
777 }
778 interface AreaHTMLAttributes<T> extends HTMLAttributes<T> {
779 alt?: string;
780 coords?: string;
781 download?: any;
782 href?: string;
783 hrefLang?: string;
784 hreflang?: string;
785 media?: string;
786 rel?: string;
787 shape?: string;
788 target?: string;
789 }
790 interface BaseHTMLAttributes<T> extends HTMLAttributes<T> {
791 href?: string;
792 target?: string;
793 }
794 interface BlockquoteHTMLAttributes<T> extends HTMLAttributes<T> {
795 cite?: string;
796 }
797 interface ButtonHTMLAttributes<T> extends HTMLAttributes<T> {
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 capture?: string;
925 checked?: boolean;
926 crossOrigin?: string;
927 crossorigin?: string;
928 defaultChecked?: boolean;
929 defaultValue?: string;
930 dirName?: string;
931 disabled?: boolean;
932 files?: any;
933 form?: string;
934 formAction?: string;
935 formaction?: string;
936 formEncType?: string;
937 formenctype?: string;
938 formMethod?: string;
939 formmethod?: string;
940 formNoValidate?: boolean;
941 formnovalidate?: boolean;
942 formTarget?: string;
943 formtarget?: string;
944 height?: number | string;
945 indeterminate?: boolean;
946 list?: string;
947 max?: number | string;
948 maxLength?: number;
949 maxlength?: number | string;
950 min?: number | string;
951 minLength?: number;
952 minlength?: number | string;
953 multiple?: boolean;
954 name?: string;
955 onSelect?: (event: Event) => void;
956 onselect?: (event: Event) => void;
957 pattern?: string;
958 placeholder?: string;
959 readOnly?: boolean;
960 readonly?: boolean | string;
961 required?: boolean;
962 selectionStart?: number | string;
963 selectionEnd?: number | string;
964 selectionDirection?: string;
965 size?: number;
966 src?: string;
967 step?: number | string;
968 type?: string;
969 value?: string | string[] | number;
970 valueAsDate?: any;
971 valueAsNumber?: any;
972 webkitdirectory?: boolean;
973 webkitEntries?: any;
974 width?: number | string;
975 popoverTargetAction?: string;
976 popoverTargetElement?: Element | null;
977 popoverTarget?: string;
978 }
979 interface KeygenHTMLAttributes<T> extends HTMLAttributes<T> {
980 challenge?: string;
981 disabled?: boolean;
982 form?: string;
983 keyType?: string;
984 keytype?: string;
985 keyParams?: string;
986 keyparams?: string;
987 name?: string;
988 }
989 interface LabelHTMLAttributes<T> extends HTMLAttributes<T> {
990 form?: string;
991 htmlFor?: string;
992 }
993 interface LiHTMLAttributes<T> extends HTMLAttributes<T> {
994 value?: string | string[] | number;
995 }
996 interface LinkHTMLAttributes<T> extends HTMLAttributes<T> {
997 as?: string;
998 href?: string;
999 hrefLang?: string;
1000 hreflang?: string;
1001 importance?: 'low' | 'auto' | 'high';
1002 integrity?: string;
1003 media?: string;
1004 rel?: string;
1005 sizes?: string;
1006 type?: string;
1007 }
1008 interface MapHTMLAttributes<T> extends HTMLAttributes<T> {
1009 name?: string;
1010 }
1011 interface MenuHTMLAttributes<T> extends HTMLAttributes<T> {
1012 type?: string;
1013 }
1014 interface MediaHTMLAttributes<T> extends HTMLAttributes<T> {
1015 autoPlay?: boolean;
1016 autoplay?: boolean | string;
1017 controls?: boolean;
1018 controlslist?: 'nodownload' | 'nofullscreen' | 'noremoteplayback';
1019 controlsList?: 'nodownload' | 'nofullscreen' | 'noremoteplayback';
1020 crossOrigin?: string;
1021 crossorigin?: string;
1022 loop?: boolean;
1023 mediaGroup?: string;
1024 mediagroup?: string;
1025 muted?: boolean;
1026 preload?: string;
1027 src?: string;
1028 onAbort?: (event: Event) => void;
1029 onCanPlay?: (event: Event) => void;
1030 onCanPlayThrough?: (event: Event) => void;
1031 onDurationChange?: (event: Event) => void;
1032 onEmptied?: (event: Event) => void;
1033 onEnded?: (event: Event) => void;
1034 onError?: (event: Event) => void;
1035 onInterruptBegin?: (event: Event) => void;
1036 onInterruptEnd?: (event: Event) => void;
1037 onLoadedData?: (event: Event) => void;
1038 onLoadedMetaData?: (event: Event) => void;
1039 onLoadStart?: (event: Event) => void;
1040 onMozAudioAvailable?: (event: Event) => void;
1041 onPause?: (event: Event) => void;
1042 onPlay?: (event: Event) => void;
1043 onPlaying?: (event: Event) => void;
1044 onProgress?: (event: Event) => void;
1045 onRateChange?: (event: Event) => void;
1046 onSeeked?: (event: Event) => void;
1047 onSeeking?: (event: Event) => void;
1048 onStalled?: (event: Event) => void;
1049 onSuspend?: (event: Event) => void;
1050 onTimeUpdate?: (event: Event) => void;
1051 onVolumeChange?: (event: Event) => void;
1052 onWaiting?: (event: Event) => void;
1053 }
1054 interface MetaHTMLAttributes<T> extends HTMLAttributes<T> {
1055 charSet?: string;
1056 charset?: string;
1057 content?: string;
1058 httpEquiv?: string;
1059 httpequiv?: string;
1060 name?: string;
1061 }
1062 interface MeterHTMLAttributes<T> extends HTMLAttributes<T> {
1063 form?: string;
1064 high?: number;
1065 low?: number;
1066 max?: number | string;
1067 min?: number | string;
1068 optimum?: number;
1069 value?: string | string[] | number;
1070 }
1071 interface QuoteHTMLAttributes<T> extends HTMLAttributes<T> {
1072 cite?: string;
1073 }
1074 interface ObjectHTMLAttributes<T> extends HTMLAttributes<T> {
1075 classID?: string;
1076 classid?: string;
1077 data?: string;
1078 form?: string;
1079 height?: number | string;
1080 name?: string;
1081 type?: string;
1082 useMap?: string;
1083 usemap?: string;
1084 width?: number | string;
1085 wmode?: string;
1086 }
1087 interface OlHTMLAttributes<T> extends HTMLAttributes<T> {
1088 reversed?: boolean;
1089 start?: number;
1090 }
1091 interface OptgroupHTMLAttributes<T> extends HTMLAttributes<T> {
1092 disabled?: boolean;
1093 label?: string;
1094 }
1095 interface OptionHTMLAttributes<T> extends HTMLAttributes<T> {
1096 disabled?: boolean;
1097 label?: string;
1098 selected?: boolean;
1099 value?: string | string[] | number;
1100 }
1101 interface OutputHTMLAttributes<T> extends HTMLAttributes<T> {
1102 form?: string;
1103 htmlFor?: string;
1104 name?: string;
1105 }
1106 interface ParamHTMLAttributes<T> extends HTMLAttributes<T> {
1107 name?: string;
1108 value?: string | string[] | number;
1109 }
1110 interface ProgressHTMLAttributes<T> extends HTMLAttributes<T> {
1111 max?: number | string;
1112 value?: string | string[] | number;
1113 }
1114 interface ScriptHTMLAttributes<T> extends HTMLAttributes<T> {
1115 async?: boolean;
1116 charSet?: string;
1117 charset?: string;
1118 crossOrigin?: string;
1119 crossorigin?: string;
1120 defer?: boolean;
1121 importance?: 'low' | 'auto' | 'high';
1122 integrity?: string;
1123 nonce?: string;
1124 src?: string;
1125 type?: string;
1126 }
1127 interface SelectHTMLAttributes<T> extends HTMLAttributes<T> {
1128 disabled?: boolean;
1129 form?: string;
1130 multiple?: boolean;
1131 name?: string;
1132 required?: boolean;
1133 size?: number;
1134 autoComplete?: string;
1135 autocomplete?: string;
1136 }
1137 interface SourceHTMLAttributes<T> extends HTMLAttributes<T> {
1138 height?: number;
1139 media?: string;
1140 sizes?: string;
1141 src?: string;
1142 srcSet?: string;
1143 type?: string;
1144 width?: number;
1145 }
1146 interface StyleHTMLAttributes<T> extends HTMLAttributes<T> {
1147 media?: string;
1148 nonce?: string;
1149 scoped?: boolean;
1150 type?: string;
1151 }
1152 interface TableHTMLAttributes<T> extends HTMLAttributes<T> {
1153 cellPadding?: number | string;
1154 cellpadding?: number | string;
1155 cellSpacing?: number | string;
1156 cellspacing?: number | string;
1157 summary?: string;
1158 }
1159 interface TextareaHTMLAttributes<T> extends HTMLAttributes<T> {
1160 autoComplete?: string;
1161 autocomplete?: string;
1162 cols?: number;
1163 disabled?: boolean;
1164 form?: string;
1165 maxLength?: number;
1166 maxlength?: number | string;
1167 minLength?: number;
1168 minlength?: number | string;
1169 name?: string;
1170 onSelect?: (event: Event) => void;
1171 onselect?: (event: Event) => void;
1172 placeholder?: string;
1173 readOnly?: boolean;
1174 readonly?: boolean | string;
1175 required?: boolean;
1176 rows?: number;
1177 value?: string | string[] | number;
1178 wrap?: string;
1179 }
1180 interface TdHTMLAttributes<T> extends HTMLAttributes<T> {
1181 colSpan?: number;
1182 headers?: string;
1183 rowSpan?: number;
1184 }
1185 interface ThHTMLAttributes<T> extends HTMLAttributes<T> {
1186 abbr?: string;
1187 colSpan?: number;
1188 headers?: string;
1189 rowSpan?: number;
1190 rowspan?: number | string;
1191 scope?: string;
1192 }
1193 interface TimeHTMLAttributes<T> extends HTMLAttributes<T> {
1194 dateTime?: string;
1195 }
1196 interface TrackHTMLAttributes<T> extends HTMLAttributes<T> {
1197 default?: boolean;
1198 kind?: string;
1199 label?: string;
1200 src?: string;
1201 srcLang?: string;
1202 srclang?: string;
1203 }
1204 interface VideoHTMLAttributes<T> extends MediaHTMLAttributes<T> {
1205 height?: number | string;
1206 playsInline?: boolean;
1207 playsinline?: boolean | string;
1208 poster?: string;
1209 width?: number | string;
1210 }
1211 interface HTMLAttributes<T = HTMLElement> extends DOMAttributes<T> {
1212 innerHTML?: string;
1213 accessKey?: string;
1214 autoFocus?: boolean;
1215 autofocus?: boolean | string;
1216 class?: string | {
1217 [className: string]: boolean;
1218 };
1219 contentEditable?: boolean | string;
1220 contenteditable?: boolean | string;
1221 contextMenu?: string;
1222 contextmenu?: string;
1223 dir?: string;
1224 draggable?: boolean;
1225 hidden?: boolean;
1226 id?: string;
1227 inert?: boolean;
1228 lang?: string;
1229 spellcheck?: 'true' | 'false' | any;
1230 style?: {
1231 [key: string]: string | undefined;
1232 };
1233 tabIndex?: number;
1234 tabindex?: number | string;
1235 title?: string;
1236 popover?: string | null;
1237 inputMode?: string;
1238 inputmode?: string;
1239 enterKeyHint?: string;
1240 enterkeyhint?: string;
1241 is?: string;
1242 radioGroup?: string;
1243 radiogroup?: string;
1244 role?: string;
1245 about?: string;
1246 datatype?: string;
1247 inlist?: any;
1248 prefix?: string;
1249 property?: string;
1250 resource?: string;
1251 typeof?: string;
1252 vocab?: string;
1253 autoCapitalize?: string;
1254 autocapitalize?: string;
1255 autoCorrect?: string;
1256 autocorrect?: string;
1257 autoSave?: string;
1258 autosave?: string;
1259 color?: string;
1260 itemProp?: string;
1261 itemprop?: string;
1262 itemScope?: boolean;
1263 itemscope?: boolean;
1264 itemType?: string;
1265 itemtype?: string;
1266 itemID?: string;
1267 itemid?: string;
1268 itemRef?: string;
1269 itemref?: string;
1270 results?: number;
1271 security?: string;
1272 unselectable?: boolean;
1273 }
1274 interface SVGAttributes<T = SVGElement> extends DOMAttributes<T> {
1275 class?: string | {
1276 [className: string]: boolean;
1277 };
1278 color?: string;
1279 height?: number | string;
1280 id?: string;
1281 lang?: string;
1282 max?: number | string;
1283 media?: string;
1284 method?: string;
1285 min?: number | string;
1286 name?: string;
1287 style?: {
1288 [key: string]: string | undefined;
1289 };
1290 target?: string;
1291 type?: string;
1292 width?: number | string;
1293 role?: string;
1294 tabindex?: number;
1295 'accent-height'?: number | string;
1296 accumulate?: 'none' | 'sum';
1297 additive?: 'replace' | 'sum';
1298 'alignment-baseline'?: 'auto' | 'baseline' | 'before-edge' | 'text-before-edge' | 'middle' | 'central' | 'after-edge' | 'text-after-edge' | 'ideographic' | 'alphabetic' | 'hanging' | 'mathematical' | 'inherit';
1299 allowReorder?: 'no' | 'yes';
1300 alphabetic?: number | string;
1301 amplitude?: number | string;
1302 'arabic-form'?: 'initial' | 'medial' | 'terminal' | 'isolated';
1303 ascent?: number | string;
1304 attributeName?: string;
1305 attributeType?: string;
1306 autoReverse?: number | string;
1307 azimuth?: number | string;
1308 baseFrequency?: number | string;
1309 'baseline-shift'?: number | string;
1310 baseProfile?: number | string;
1311 bbox?: number | string;
1312 begin?: number | string;
1313 bias?: number | string;
1314 by?: number | string;
1315 calcMode?: number | string;
1316 'cap-height'?: number | string;
1317 clip?: number | string;
1318 'clip-path'?: string;
1319 clipPathUnits?: number | string;
1320 'clip-rule'?: number | string;
1321 'color-interpolation'?: number | string;
1322 'color-interpolation-filters'?: 'auto' | 'sRGB' | 'linearRGB';
1323 'color-profile'?: number | string;
1324 'color-rendering'?: number | string;
1325 contentScriptType?: number | string;
1326 contentStyleType?: number | string;
1327 cursor?: number | string;
1328 cx?: number | string;
1329 cy?: number | string;
1330 d?: string;
1331 decelerate?: number | string;
1332 descent?: number | string;
1333 diffuseConstant?: number | string;
1334 direction?: number | string;
1335 display?: number | string;
1336 divisor?: number | string;
1337 'dominant-baseline'?: number | string;
1338 dur?: number | string;
1339 dx?: number | string;
1340 dy?: number | string;
1341 'edge-mode'?: number | string;
1342 elevation?: number | string;
1343 'enable-background'?: number | string;
1344 end?: number | string;
1345 exponent?: number | string;
1346 externalResourcesRequired?: number | string;
1347 fill?: string;
1348 'fill-opacity'?: number | string;
1349 'fill-rule'?: 'nonzero' | 'evenodd' | 'inherit';
1350 filter?: string;
1351 filterRes?: number | string;
1352 filterUnits?: number | string;
1353 'flood-color'?: number | string;
1354 'flood-opacity'?: number | string;
1355 focusable?: number | string;
1356 'font-family'?: string;
1357 'font-size'?: number | string;
1358 'font-size-adjust'?: number | string;
1359 'font-stretch'?: number | string;
1360 'font-style'?: number | string;
1361 'font-variant'?: number | string;
1362 'font-weight'?: number | string;
1363 format?: number | string;
1364 from?: number | string;
1365 fx?: number | string;
1366 fy?: number | string;
1367 g1?: number | string;
1368 g2?: number | string;
1369 'glyph-name'?: number | string;
1370 'glyph-orientation-horizontal'?: number | string;
1371 'glyph-orientation-vertical'?: number | string;
1372 glyphRef?: number | string;
1373 gradientTransform?: string;
1374 gradientUnits?: string;
1375 hanging?: number | string;
1376 'horiz-adv-x'?: number | string;
1377 'horiz-origin-x'?: number | string;
1378 href?: string;
1379 ideographic?: number | string;
1380 'image-rendering'?: number | string;
1381 in2?: number | string;
1382 in?: string;
1383 intercept?: number | string;
1384 k1?: number | string;
1385 k2?: number | string;
1386 k3?: number | string;
1387 k4?: number | string;
1388 k?: number | string;
1389 kernelMatrix?: number | string;
1390 kernelUnitLength?: number | string;
1391 kerning?: number | string;
1392 keyPoints?: number | string;
1393 keySplines?: number | string;
1394 keyTimes?: number | string;
1395 lengthAdjust?: number | string;
1396 'letter-spacing'?: number | string;
1397 'lighting-color'?: number | string;
1398 limitingConeAngle?: number | string;
1399 local?: number | string;
1400 'marker-end'?: string;
1401 markerHeight?: number | string;
1402 'marker-mid'?: string;
1403 'marker-start'?: string;
1404 markerUnits?: number | string;
1405 markerWidth?: number | string;
1406 mask?: string;
1407 maskContentUnits?: number | string;
1408 maskUnits?: number | string;
1409 mathematical?: number | string;
1410 mode?: number | string;
1411 numOctaves?: number | string;
1412 offset?: number | string;
1413 opacity?: number | string;
1414 operator?: number | string;
1415 order?: number | string;
1416 orient?: number | string;
1417 orientation?: number | string;
1418 origin?: number | string;
1419 overflow?: number | string;
1420 'overline-position'?: number | string;
1421 'overline-thickness'?: number | string;
1422 'paint-order'?: number | string;
1423 panose1?: number | string;
1424 pathLength?: number | string;
1425 patternContentUnits?: string;
1426 patternTransform?: number | string;
1427 patternUnits?: string;
1428 'pointer-events'?: number | string;
1429 points?: string;
1430 pointsAtX?: number | string;
1431 pointsAtY?: number | string;
1432 pointsAtZ?: number | string;
1433 preserveAlpha?: number | string;
1434 preserveAspectRatio?: string;
1435 primitiveUnits?: number | string;
1436 r?: number | string;
1437 radius?: number | string;
1438 refX?: number | string;
1439 refY?: number | string;
1440 'rendering-intent'?: number | string;
1441 repeatCount?: number | string;
1442 repeatDur?: number | string;
1443 requiredextensions?: number | string;
1444 requiredFeatures?: number | string;
1445 restart?: number | string;
1446 result?: string;
1447 rotate?: number | string;
1448 rx?: number | string;
1449 ry?: number | string;
1450 scale?: number | string;
1451 seed?: number | string;
1452 'shape-rendering'?: number | string;
1453 slope?: number | string;
1454 spacing?: number | string;
1455 specularConstant?: number | string;
1456 specularExponent?: number | string;
1457 speed?: number | string;
1458 spreadMethod?: string;
1459 startOffset?: number | string;
1460 stdDeviation?: number | string;
1461 stemh?: number | string;
1462 stemv?: number | string;
1463 stitchTiles?: number | string;
1464 'stop-color'?: string;
1465 'stop-opacity'?: number | string;
1466 'strikethrough-position'?: number | string;
1467 'strikethrough-thickness'?: number | string;
1468 string?: number | string;
1469 stroke?: string;
1470 'stroke-dasharray'?: string | number;
1471 'stroke-dashoffset'?: string | number;
1472 'stroke-linecap'?: 'butt' | 'round' | 'square' | 'inherit';
1473 'stroke-linejoin'?: 'miter' | 'round' | 'bevel' | 'inherit';
1474 'stroke-miterlimit'?: string;
1475 'stroke-opacity'?: number | string;
1476 'stroke-width'?: number | string;
1477 surfaceScale?: number | string;
1478 systemLanguage?: number | string;
1479 tableValues?: number | string;
1480 targetX?: number | string;
1481 targetY?: number | string;
1482 'text-anchor'?: string;
1483 'text-decoration'?: number | string;
1484 textLength?: number | string;
1485 'text-rendering'?: number | string;
1486 to?: number | string;
1487 transform?: string;
1488 u1?: number | string;
1489 u2?: number | string;
1490 'underline-position'?: number | string;
1491 'underline-thickness'?: number | string;
1492 unicode?: number | string;
1493 'unicode-bidi'?: number | string;
1494 'unicode-range'?: number | string;
1495 'units-per-em'?: number | string;
1496 'v-alphabetic'?: number | string;
1497 values?: string;
1498 'vector-effect'?: number | string;
1499 version?: string;
1500 'vert-adv-y'?: number | string;
1501 'vert-origin-x'?: number | string;
1502 'vert-origin-y'?: number | string;
1503 'v-hanging'?: number | string;
1504 'v-ideographic'?: number | string;
1505 viewBox?: string;
1506 viewTarget?: number | string;
1507 visibility?: number | string;
1508 'v-mathematical'?: number | string;
1509 widths?: number | string;
1510 'word-spacing'?: number | string;
1511 'writing-mode'?: number | string;
1512 x1?: number | string;
1513 x2?: number | string;
1514 x?: number | string;
1515 'x-channel-selector'?: string;
1516 'x-height'?: number | string;
1517 xlinkActuate?: string;
1518 xlinkArcrole?: string;
1519 xlinkHref?: string;
1520 xlinkRole?: string;
1521 xlinkShow?: string;
1522 xlinkTitle?: string;
1523 xlinkType?: string;
1524 xmlBase?: string;
1525 xmlLang?: string;
1526 xmlns?: string;
1527 xmlSpace?: string;
1528 y1?: number | string;
1529 y2?: number | string;
1530 y?: number | string;
1531 yChannelSelector?: string;
1532 z?: number | string;
1533 zoomAndPan?: string;
1534 }
1535 interface DOMAttributes<T> extends JSXAttributes<T> {
1536 slot?: string;
1537 part?: string;
1538 exportparts?: string;
1539 onCopy?: (event: ClipboardEvent) => void;
1540 onCopyCapture?: (event: ClipboardEvent) => void;
1541 onCut?: (event: ClipboardEvent) => void;
1542 onCutCapture?: (event: ClipboardEvent) => void;
1543 onPaste?: (event: ClipboardEvent) => void;
1544 onPasteCapture?: (event: ClipboardEvent) => void;
1545 onCompositionend?: (event: CompositionEvent) => void;
1546 onCompositionendCapture?: (event: CompositionEvent) => void;
1547 onCompositionstart?: (event: CompositionEvent) => void;
1548 onCompositionstartCapture?: (event: CompositionEvent) => void;
1549 onCompositionupdate?: (event: CompositionEvent) => void;
1550 onCompositionupdateCapture?: (event: CompositionEvent) => void;
1551 onFocus?: (event: FocusEvent) => void;
1552 onFocusCapture?: (event: FocusEvent) => void;
1553 onFocusin?: (event: FocusEvent) => void;
1554 onFocusinCapture?: (event: FocusEvent) => void;
1555 onFocusout?: (event: FocusEvent) => void;
1556 onFocusoutCapture?: (event: FocusEvent) => void;
1557 onBlur?: (event: FocusEvent) => void;
1558 onBlurCapture?: (event: FocusEvent) => void;
1559 onChange?: (event: Event) => void;
1560 onChangeCapture?: (event: Event) => void;
1561 onInput?: (event: InputEvent) => void;
1562 onInputCapture?: (event: InputEvent) => void;
1563 onReset?: (event: Event) => void;
1564 onResetCapture?: (event: Event) => void;
1565 onSubmit?: (event: Event) => void;
1566 onSubmitCapture?: (event: Event) => void;
1567 onInvalid?: (event: Event) => void;
1568 onInvalidCapture?: (event: Event) => void;
1569 onBeforeToggle?: (event: Event) => void;
1570 onBeforeToggleCapture?: (event: Event) => void;
1571 onToggle?: (event: Event) => void;
1572 onToggleCapture?: (event: Event) => void;
1573 onLoad?: (event: Event) => void;
1574 onLoadCapture?: (event: Event) => void;
1575 onError?: (event: Event) => void;
1576 onErrorCapture?: (event: Event) => void;
1577 onKeyDown?: (event: KeyboardEvent) => void;
1578 onKeyDownCapture?: (event: KeyboardEvent) => void;
1579 onKeyPress?: (event: KeyboardEvent) => void;
1580 onKeyPressCapture?: (event: KeyboardEvent) => void;
1581 onKeyUp?: (event: KeyboardEvent) => void;
1582 onKeyUpCapture?: (event: KeyboardEvent) => void;
1583 onAuxClick?: (event: MouseEvent) => void;
1584 onClick?: (event: MouseEvent) => void;
1585 onClickCapture?: (event: MouseEvent) => void;
1586 onContextMenu?: (event: MouseEvent) => void;
1587 onContextMenuCapture?: (event: MouseEvent) => void;
1588 onDblClick?: (event: MouseEvent) => void;
1589 onDblClickCapture?: (event: MouseEvent) => void;
1590 onDrag?: (event: DragEvent) => void;
1591 onDragCapture?: (event: DragEvent) => void;
1592 onDragEnd?: (event: DragEvent) => void;
1593 onDragEndCapture?: (event: DragEvent) => void;
1594 onDragEnter?: (event: DragEvent) => void;
1595 onDragEnterCapture?: (event: DragEvent) => void;
1596 onDragExit?: (event: DragEvent) => void;
1597 onDragExitCapture?: (event: DragEvent) => void;
1598 onDragLeave?: (event: DragEvent) => void;
1599 onDragLeaveCapture?: (event: DragEvent) => void;
1600 onDragOver?: (event: DragEvent) => void;
1601 onDragOverCapture?: (event: DragEvent) => void;
1602 onDragStart?: (event: DragEvent) => void;
1603 onDragStartCapture?: (event: DragEvent) => void;
1604 onDrop?: (event: DragEvent) => void;
1605 onDropCapture?: (event: DragEvent) => void;
1606 onMouseDown?: (event: MouseEvent) => void;
1607 onMouseDownCapture?: (event: MouseEvent) => void;
1608 onMouseEnter?: (event: MouseEvent) => void;
1609 onMouseLeave?: (event: MouseEvent) => void;
1610 onMouseMove?: (event: MouseEvent) => void;
1611 onMouseMoveCapture?: (event: MouseEvent) => void;
1612 onMouseOut?: (event: MouseEvent) => void;
1613 onMouseOutCapture?: (event: MouseEvent) => void;
1614 onMouseOver?: (event: MouseEvent) => void;
1615 onMouseOverCapture?: (event: MouseEvent) => void;
1616 onMouseUp?: (event: MouseEvent) => void;
1617 onMouseUpCapture?: (event: MouseEvent) => void;
1618 onTouchCancel?: (event: TouchEvent) => void;
1619 onTouchCancelCapture?: (event: TouchEvent) => void;
1620 onTouchEnd?: (event: TouchEvent) => void;
1621 onTouchEndCapture?: (event: TouchEvent) => void;
1622 onTouchMove?: (event: TouchEvent) => void;
1623 onTouchMoveCapture?: (event: TouchEvent) => void;
1624 onTouchStart?: (event: TouchEvent) => void;
1625 onTouchStartCapture?: (event: TouchEvent) => void;
1626 onPointerDown?: (event: PointerEvent) => void;
1627 onPointerDownCapture?: (event: PointerEvent) => void;
1628 onPointerMove?: (event: PointerEvent) => void;
1629 onPointerMoveCapture?: (event: PointerEvent) => void;
1630 onPointerUp?: (event: PointerEvent) => void;
1631 onPointerUpCapture?: (event: PointerEvent) => void;
1632 onPointerCancel?: (event: PointerEvent) => void;
1633 onPointerCancelCapture?: (event: PointerEvent) => void;
1634 onPointerEnter?: (event: PointerEvent) => void;
1635 onPointerEnterCapture?: (event: PointerEvent) => void;
1636 onPointerLeave?: (event: PointerEvent) => void;
1637 onPointerLeaveCapture?: (event: PointerEvent) => void;
1638 onPointerOver?: (event: PointerEvent) => void;
1639 onPointerOverCapture?: (event: PointerEvent) => void;
1640 onPointerOut?: (event: PointerEvent) => void;
1641 onPointerOutCapture?: (event: PointerEvent) => void;
1642 onGotPointerCapture?: (event: PointerEvent) => void;
1643 onGotPointerCaptureCapture?: (event: PointerEvent) => void;
1644 onLostPointerCapture?: (event: PointerEvent) => void;
1645 onLostPointerCaptureCapture?: (event: PointerEvent) => void;
1646 onScroll?: (event: UIEvent) => void;
1647 onScrollCapture?: (event: UIEvent) => void;
1648 onWheel?: (event: WheelEvent) => void;
1649 onWheelCapture?: (event: WheelEvent) => void;
1650 onAnimationStart?: (event: AnimationEvent) => void;
1651 onAnimationStartCapture?: (event: AnimationEvent) => void;
1652 onAnimationEnd?: (event: AnimationEvent) => void;
1653 onAnimationEndCapture?: (event: AnimationEvent) => void;
1654 onAnimationIteration?: (event: AnimationEvent) => void;
1655 onAnimationIterationCapture?: (event: AnimationEvent) => void;
1656 onTransitionCancel?: (event: TransitionEvent) => void;
1657 onTransitionCancelCapture?: (event: TransitionEvent) => void;
1658 onTransitionEnd?: (event: TransitionEvent) => void;
1659 onTransitionEndCapture?: (event: TransitionEvent) => void;
1660 onTransitionRun?: (event: TransitionEvent) => void;
1661 onTransitionRunCapture?: (event: TransitionEvent) => void;
1662 onTransitionStart?: (event: TransitionEvent) => void;
1663 onTransitionStartCapture?: (event: TransitionEvent) => void;
1664 }
1665}
1666export interface JSXAttributes<T = Element> {
1667 key?: string | number;
1668 ref?: (elm?: T) => void;
1669}
1670export interface CustomElementsDefineOptions {
1671 exclude?: string[];
1672 resourcesUrl?: string;
1673 syncQueue?: boolean;
1674 transformTagName?: (tagName: string) => string;
1675 jmp?: (c: Function) => any;
1676 raf?: (c: FrameRequestCallback) => number;
1677 ael?: (el: EventTarget, eventName: string, listener: EventListenerOrEventListenerObject, options: boolean | AddEventListenerOptions) => void;
1678 rel?: (el: EventTarget, eventName: string, listener: EventListenerOrEventListenerObject, options: boolean | AddEventListenerOptions) => void;
1679 ce?: (eventName: string, opts?: any) => CustomEvent;
1680}