stencil-public-runtime.d.ts 62 KB

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