UNPKG

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