stencil-public-runtime.d.ts 58 KB

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