jsx.ts 37 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405
  1. // Note: this file is auto concatenated to the end of the bundled d.ts during
  2. // build.
  3. // This code is based on react definition in DefinitelyTyped published under the MIT license.
  4. // Repository: https://github.com/DefinitelyTyped/DefinitelyTyped
  5. // Path in the repository: types/react/index.d.ts
  6. //
  7. // Copyrights of original definition are:
  8. // AssureSign <http://www.assuresign.com>
  9. // Microsoft <https://microsoft.com>
  10. // John Reilly <https://github.com/johnnyreilly>
  11. // Benoit Benezech <https://github.com/bbenezech>
  12. // Patricio Zavolinsky <https://github.com/pzavolinsky>
  13. // Digiguru <https://github.com/digiguru>
  14. // Eric Anderson <https://github.com/ericanderson>
  15. // Dovydas Navickas <https://github.com/DovydasNavickas>
  16. // Josh Rutherford <https://github.com/theruther4d>
  17. // Guilherme Hübner <https://github.com/guilhermehubner>
  18. // Ferdy Budhidharma <https://github.com/ferdaber>
  19. // Johann Rakotoharisoa <https://github.com/jrakotoharisoa>
  20. // Olivier Pascal <https://github.com/pascaloliv>
  21. // Martin Hochel <https://github.com/hotell>
  22. // Frank Li <https://github.com/franklixuefei>
  23. // Jessica Franco <https://github.com/Jessidhia>
  24. // Saransh Kataria <https://github.com/saranshkataria>
  25. // Kanitkorn Sujautra <https://github.com/lukyth>
  26. // Sebastian Silbermann <https://github.com/eps1lon>
  27. import type * as CSS from 'csstype'
  28. export interface CSSProperties
  29. extends CSS.Properties<string | number>,
  30. CSS.PropertiesHyphen<string | number> {
  31. /**
  32. * The index signature was removed to enable closed typing for style
  33. * using CSSType. You're able to use type assertion or module augmentation
  34. * to add properties or an index signature of your own.
  35. *
  36. * For examples and more information, visit:
  37. * https://github.com/frenic/csstype#what-should-i-do-when-i-get-type-errors
  38. */
  39. [v: `--${string}`]: string | number | undefined
  40. }
  41. type Booleanish = boolean | 'true' | 'false'
  42. type Numberish = number | string
  43. // All the WAI-ARIA 1.1 attributes from https://www.w3.org/TR/wai-aria-1.1/
  44. export interface AriaAttributes {
  45. /** Identifies the currently active element when DOM focus is on a composite widget, textbox, group, or application. */
  46. 'aria-activedescendant'?: string
  47. /** Indicates whether assistive technologies will present all, or only parts of, the changed region based on the change notifications defined by the aria-relevant attribute. */
  48. 'aria-atomic'?: Booleanish
  49. /**
  50. * Indicates whether inputting text could trigger display of one or more predictions of the user's intended value for an input and specifies how predictions would be
  51. * presented if they are made.
  52. */
  53. 'aria-autocomplete'?: 'none' | 'inline' | 'list' | 'both'
  54. /** Indicates an element is being modified and that assistive technologies MAY want to wait until the modifications are complete before exposing them to the user. */
  55. 'aria-busy'?: Booleanish
  56. /**
  57. * Indicates the current "checked" state of checkboxes, radio buttons, and other widgets.
  58. * @see aria-pressed @see aria-selected.
  59. */
  60. 'aria-checked'?: Booleanish | 'mixed'
  61. /**
  62. * Defines the total number of columns in a table, grid, or treegrid.
  63. * @see aria-colindex.
  64. */
  65. 'aria-colcount'?: Numberish
  66. /**
  67. * Defines an element's column index or position with respect to the total number of columns within a table, grid, or treegrid.
  68. * @see aria-colcount @see aria-colspan.
  69. */
  70. 'aria-colindex'?: Numberish
  71. /**
  72. * Defines the number of columns spanned by a cell or gridcell within a table, grid, or treegrid.
  73. * @see aria-colindex @see aria-rowspan.
  74. */
  75. 'aria-colspan'?: Numberish
  76. /**
  77. * Identifies the element (or elements) whose contents or presence are controlled by the current element.
  78. * @see aria-owns.
  79. */
  80. 'aria-controls'?: string
  81. /** Indicates the element that represents the current item within a container or set of related elements. */
  82. 'aria-current'?: Booleanish | 'page' | 'step' | 'location' | 'date' | 'time'
  83. /**
  84. * Identifies the element (or elements) that describes the object.
  85. * @see aria-labelledby
  86. */
  87. 'aria-describedby'?: string
  88. /**
  89. * Identifies the element that provides a detailed, extended description for the object.
  90. * @see aria-describedby.
  91. */
  92. 'aria-details'?: string
  93. /**
  94. * Indicates that the element is perceivable but disabled, so it is not editable or otherwise operable.
  95. * @see aria-hidden @see aria-readonly.
  96. */
  97. 'aria-disabled'?: Booleanish
  98. /**
  99. * Indicates what functions can be performed when a dragged object is released on the drop target.
  100. * @deprecated in ARIA 1.1
  101. */
  102. 'aria-dropeffect'?: 'none' | 'copy' | 'execute' | 'link' | 'move' | 'popup'
  103. /**
  104. * Identifies the element that provides an error message for the object.
  105. * @see aria-invalid @see aria-describedby.
  106. */
  107. 'aria-errormessage'?: string
  108. /** Indicates whether the element, or another grouping element it controls, is currently expanded or collapsed. */
  109. 'aria-expanded'?: Booleanish
  110. /**
  111. * Identifies the next element (or elements) in an alternate reading order of content which, at the user's discretion,
  112. * allows assistive technology to override the general default of reading in document source order.
  113. */
  114. 'aria-flowto'?: string
  115. /**
  116. * Indicates an element's "grabbed" state in a drag-and-drop operation.
  117. * @deprecated in ARIA 1.1
  118. */
  119. 'aria-grabbed'?: Booleanish
  120. /** Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element. */
  121. 'aria-haspopup'?: Booleanish | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog'
  122. /**
  123. * Indicates whether the element is exposed to an accessibility API.
  124. * @see aria-disabled.
  125. */
  126. 'aria-hidden'?: Booleanish
  127. /**
  128. * Indicates the entered value does not conform to the format expected by the application.
  129. * @see aria-errormessage.
  130. */
  131. 'aria-invalid'?: Booleanish | 'grammar' | 'spelling'
  132. /** Indicates keyboard shortcuts that an author has implemented to activate or give focus to an element. */
  133. 'aria-keyshortcuts'?: string
  134. /**
  135. * Defines a string value that labels the current element.
  136. * @see aria-labelledby.
  137. */
  138. 'aria-label'?: string
  139. /**
  140. * Identifies the element (or elements) that labels the current element.
  141. * @see aria-describedby.
  142. */
  143. 'aria-labelledby'?: string
  144. /** Defines the hierarchical level of an element within a structure. */
  145. 'aria-level'?: Numberish
  146. /** Indicates that an element will be updated, and describes the types of updates the user agents, assistive technologies, and user can expect from the live region. */
  147. 'aria-live'?: 'off' | 'assertive' | 'polite'
  148. /** Indicates whether an element is modal when displayed. */
  149. 'aria-modal'?: Booleanish
  150. /** Indicates whether a text box accepts multiple lines of input or only a single line. */
  151. 'aria-multiline'?: Booleanish
  152. /** Indicates that the user may select more than one item from the current selectable descendants. */
  153. 'aria-multiselectable'?: Booleanish
  154. /** Indicates whether the element's orientation is horizontal, vertical, or unknown/ambiguous. */
  155. 'aria-orientation'?: 'horizontal' | 'vertical'
  156. /**
  157. * Identifies an element (or elements) in order to define a visual, functional, or contextual parent/child relationship
  158. * between DOM elements where the DOM hierarchy cannot be used to represent the relationship.
  159. * @see aria-controls.
  160. */
  161. 'aria-owns'?: string
  162. /**
  163. * Defines a short hint (a word or short phrase) intended to aid the user with data entry when the control has no value.
  164. * A hint could be a sample value or a brief description of the expected format.
  165. */
  166. 'aria-placeholder'?: string
  167. /**
  168. * Defines an element's number or position in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM.
  169. * @see aria-setsize.
  170. */
  171. 'aria-posinset'?: Numberish
  172. /**
  173. * Indicates the current "pressed" state of toggle buttons.
  174. * @see aria-checked @see aria-selected.
  175. */
  176. 'aria-pressed'?: Booleanish | 'mixed'
  177. /**
  178. * Indicates that the element is not editable, but is otherwise operable.
  179. * @see aria-disabled.
  180. */
  181. 'aria-readonly'?: Booleanish
  182. /**
  183. * Indicates what notifications the user agent will trigger when the accessibility tree within a live region is modified.
  184. * @see aria-atomic.
  185. */
  186. 'aria-relevant'?:
  187. | 'additions'
  188. | 'additions removals'
  189. | 'additions text'
  190. | 'all'
  191. | 'removals'
  192. | 'removals additions'
  193. | 'removals text'
  194. | 'text'
  195. | 'text additions'
  196. | 'text removals'
  197. /** Indicates that user input is required on the element before a form may be submitted. */
  198. 'aria-required'?: Booleanish
  199. /** Defines a human-readable, author-localized description for the role of an element. */
  200. 'aria-roledescription'?: string
  201. /**
  202. * Defines the total number of rows in a table, grid, or treegrid.
  203. * @see aria-rowindex.
  204. */
  205. 'aria-rowcount'?: Numberish
  206. /**
  207. * Defines an element's row index or position with respect to the total number of rows within a table, grid, or treegrid.
  208. * @see aria-rowcount @see aria-rowspan.
  209. */
  210. 'aria-rowindex'?: Numberish
  211. /**
  212. * Defines the number of rows spanned by a cell or gridcell within a table, grid, or treegrid.
  213. * @see aria-rowindex @see aria-colspan.
  214. */
  215. 'aria-rowspan'?: Numberish
  216. /**
  217. * Indicates the current "selected" state of various widgets.
  218. * @see aria-checked @see aria-pressed.
  219. */
  220. 'aria-selected'?: Booleanish
  221. /**
  222. * Defines the number of items in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM.
  223. * @see aria-posinset.
  224. */
  225. 'aria-setsize'?: Numberish
  226. /** Indicates if items in a table or grid are sorted in ascending or descending order. */
  227. 'aria-sort'?: 'none' | 'ascending' | 'descending' | 'other'
  228. /** Defines the maximum allowed value for a range widget. */
  229. 'aria-valuemax'?: Numberish
  230. /** Defines the minimum allowed value for a range widget. */
  231. 'aria-valuemin'?: Numberish
  232. /**
  233. * Defines the current value for a range widget.
  234. * @see aria-valuetext.
  235. */
  236. 'aria-valuenow'?: Numberish
  237. /** Defines the human readable text alternative of aria-valuenow for a range widget. */
  238. 'aria-valuetext'?: string
  239. }
  240. // Vue's style normalization supports nested arrays
  241. export type StyleValue =
  242. | false
  243. | null
  244. | undefined
  245. | string
  246. | CSSProperties
  247. | Array<StyleValue>
  248. export interface HTMLAttributes extends AriaAttributes, EventHandlers<Events> {
  249. innerHTML?: string
  250. class?: any
  251. style?: StyleValue
  252. // Standard HTML Attributes
  253. accesskey?: string
  254. contenteditable?: Booleanish | 'inherit' | 'plaintext-only'
  255. contextmenu?: string
  256. dir?: string
  257. draggable?: Booleanish
  258. hidden?: Booleanish | '' | 'hidden' | 'until-found'
  259. id?: string
  260. inert?: Booleanish
  261. lang?: string
  262. placeholder?: string
  263. spellcheck?: Booleanish
  264. tabindex?: Numberish
  265. title?: string
  266. translate?: 'yes' | 'no'
  267. // Unknown
  268. radiogroup?: string // <command>, <menuitem>
  269. // WAI-ARIA
  270. role?: string
  271. // RDFa Attributes
  272. about?: string
  273. datatype?: string
  274. inlist?: any
  275. prefix?: string
  276. property?: string
  277. resource?: string
  278. typeof?: string
  279. vocab?: string
  280. // Non-standard Attributes
  281. autocapitalize?: string
  282. autocorrect?: string
  283. autosave?: string
  284. color?: string
  285. itemprop?: string
  286. itemscope?: Booleanish
  287. itemtype?: string
  288. itemid?: string
  289. itemref?: string
  290. results?: Numberish
  291. security?: string
  292. unselectable?: 'on' | 'off'
  293. // Living Standard
  294. /**
  295. * Hints at the type of data that might be entered by the user while editing the element or its contents
  296. * @see https://html.spec.whatwg.org/multipage/interaction.html#input-modalities:-the-inputmode-attribute
  297. */
  298. inputmode?:
  299. | 'none'
  300. | 'text'
  301. | 'tel'
  302. | 'url'
  303. | 'email'
  304. | 'numeric'
  305. | 'decimal'
  306. | 'search'
  307. /**
  308. * Specify that a standard HTML element should behave like a defined custom built-in element
  309. * @see https://html.spec.whatwg.org/multipage/custom-elements.html#attr-is
  310. */
  311. is?: string
  312. }
  313. type HTMLAttributeReferrerPolicy =
  314. | ''
  315. | 'no-referrer'
  316. | 'no-referrer-when-downgrade'
  317. | 'origin'
  318. | 'origin-when-cross-origin'
  319. | 'same-origin'
  320. | 'strict-origin'
  321. | 'strict-origin-when-cross-origin'
  322. | 'unsafe-url'
  323. export interface AnchorHTMLAttributes extends HTMLAttributes {
  324. download?: any
  325. href?: string
  326. hreflang?: string
  327. media?: string
  328. ping?: string
  329. rel?: string
  330. target?: string
  331. type?: string
  332. referrerpolicy?: HTMLAttributeReferrerPolicy
  333. }
  334. export interface AreaHTMLAttributes extends HTMLAttributes {
  335. alt?: string
  336. coords?: string
  337. download?: any
  338. href?: string
  339. hreflang?: string
  340. media?: string
  341. referrerpolicy?: HTMLAttributeReferrerPolicy
  342. rel?: string
  343. shape?: string
  344. target?: string
  345. }
  346. export interface AudioHTMLAttributes extends MediaHTMLAttributes {}
  347. export interface BaseHTMLAttributes extends HTMLAttributes {
  348. href?: string
  349. target?: string
  350. }
  351. export interface BlockquoteHTMLAttributes extends HTMLAttributes {
  352. cite?: string
  353. }
  354. export interface ButtonHTMLAttributes extends HTMLAttributes {
  355. autofocus?: Booleanish
  356. disabled?: Booleanish
  357. form?: string
  358. formaction?: string
  359. formenctype?: string
  360. formmethod?: string
  361. formnovalidate?: Booleanish
  362. formtarget?: string
  363. name?: string
  364. type?: 'submit' | 'reset' | 'button'
  365. value?: string | ReadonlyArray<string> | number
  366. }
  367. export interface CanvasHTMLAttributes extends HTMLAttributes {
  368. height?: Numberish
  369. width?: Numberish
  370. }
  371. export interface ColHTMLAttributes extends HTMLAttributes {
  372. span?: Numberish
  373. width?: Numberish
  374. }
  375. export interface ColgroupHTMLAttributes extends HTMLAttributes {
  376. span?: Numberish
  377. }
  378. export interface DataHTMLAttributes extends HTMLAttributes {
  379. value?: string | ReadonlyArray<string> | number
  380. }
  381. export interface DetailsHTMLAttributes extends HTMLAttributes {
  382. name?: string
  383. open?: Booleanish
  384. onToggle?: (payload: ToggleEvent) => void
  385. }
  386. export interface DelHTMLAttributes extends HTMLAttributes {
  387. cite?: string
  388. datetime?: string
  389. }
  390. export interface DialogHTMLAttributes extends HTMLAttributes {
  391. open?: Booleanish
  392. onClose?: (payload: Event) => void
  393. }
  394. export interface EmbedHTMLAttributes extends HTMLAttributes {
  395. height?: Numberish
  396. src?: string
  397. type?: string
  398. width?: Numberish
  399. }
  400. export interface FieldsetHTMLAttributes extends HTMLAttributes {
  401. disabled?: Booleanish
  402. form?: string
  403. name?: string
  404. }
  405. export interface FormHTMLAttributes extends HTMLAttributes {
  406. acceptcharset?: string
  407. action?: string
  408. autocomplete?: string
  409. enctype?: string
  410. method?: string
  411. name?: string
  412. novalidate?: Booleanish
  413. target?: string
  414. }
  415. export interface HtmlHTMLAttributes extends HTMLAttributes {
  416. manifest?: string
  417. }
  418. export interface IframeHTMLAttributes extends HTMLAttributes {
  419. allow?: string
  420. allowfullscreen?: Booleanish
  421. allowtransparency?: Booleanish
  422. /** @deprecated */
  423. frameborder?: Numberish
  424. height?: Numberish
  425. loading?: 'eager' | 'lazy'
  426. /** @deprecated */
  427. marginheight?: Numberish
  428. /** @deprecated */
  429. marginwidth?: Numberish
  430. name?: string
  431. referrerpolicy?: HTMLAttributeReferrerPolicy
  432. sandbox?: string
  433. /** @deprecated */
  434. scrolling?: string
  435. seamless?: Booleanish
  436. src?: string
  437. srcdoc?: string
  438. width?: Numberish
  439. }
  440. export interface ImgHTMLAttributes extends HTMLAttributes {
  441. alt?: string
  442. crossorigin?: 'anonymous' | 'use-credentials' | ''
  443. decoding?: 'async' | 'auto' | 'sync'
  444. height?: Numberish
  445. loading?: 'eager' | 'lazy'
  446. referrerpolicy?: HTMLAttributeReferrerPolicy
  447. sizes?: string
  448. src?: string
  449. srcset?: string
  450. usemap?: string
  451. width?: Numberish
  452. }
  453. export interface InsHTMLAttributes extends HTMLAttributes {
  454. cite?: string
  455. datetime?: string
  456. }
  457. export type InputTypeHTMLAttribute =
  458. | 'button'
  459. | 'checkbox'
  460. | 'color'
  461. | 'date'
  462. | 'datetime-local'
  463. | 'email'
  464. | 'file'
  465. | 'hidden'
  466. | 'image'
  467. | 'month'
  468. | 'number'
  469. | 'password'
  470. | 'radio'
  471. | 'range'
  472. | 'reset'
  473. | 'search'
  474. | 'submit'
  475. | 'tel'
  476. | 'text'
  477. | 'time'
  478. | 'url'
  479. | 'week'
  480. | (string & {})
  481. export interface InputHTMLAttributes extends HTMLAttributes {
  482. accept?: string
  483. alt?: string
  484. autocomplete?: string
  485. autofocus?: Booleanish
  486. capture?: boolean | 'user' | 'environment' // https://www.w3.org/tr/html-media-capture/#the-capture-attribute
  487. checked?: Booleanish | any[] | Set<any> // for IDE v-model multi-checkbox support
  488. crossorigin?: string
  489. disabled?: Booleanish
  490. enterKeyHint?:
  491. | 'enter'
  492. | 'done'
  493. | 'go'
  494. | 'next'
  495. | 'previous'
  496. | 'search'
  497. | 'send'
  498. form?: string
  499. formaction?: string
  500. formenctype?: string
  501. formmethod?: string
  502. formnovalidate?: Booleanish
  503. formtarget?: string
  504. height?: Numberish
  505. indeterminate?: boolean
  506. list?: string
  507. max?: Numberish
  508. maxlength?: Numberish
  509. min?: Numberish
  510. minlength?: Numberish
  511. multiple?: Booleanish
  512. name?: string
  513. pattern?: string
  514. placeholder?: string
  515. readonly?: Booleanish
  516. required?: Booleanish
  517. size?: Numberish
  518. src?: string
  519. step?: Numberish
  520. type?: InputTypeHTMLAttribute
  521. value?: any // we support :value to be bound to anything w/ v-model
  522. width?: Numberish
  523. }
  524. export interface KeygenHTMLAttributes extends HTMLAttributes {
  525. autofocus?: Booleanish
  526. challenge?: string
  527. disabled?: Booleanish
  528. form?: string
  529. keytype?: string
  530. keyparams?: string
  531. name?: string
  532. }
  533. export interface LabelHTMLAttributes extends HTMLAttributes {
  534. for?: string
  535. form?: string
  536. }
  537. export interface LiHTMLAttributes extends HTMLAttributes {
  538. value?: string | ReadonlyArray<string> | number
  539. }
  540. export interface LinkHTMLAttributes extends HTMLAttributes {
  541. as?: string
  542. crossorigin?: string
  543. href?: string
  544. hreflang?: string
  545. integrity?: string
  546. media?: string
  547. referrerpolicy?: HTMLAttributeReferrerPolicy
  548. rel?: string
  549. sizes?: string
  550. type?: string
  551. charset?: string
  552. }
  553. export interface MapHTMLAttributes extends HTMLAttributes {
  554. name?: string
  555. }
  556. export interface MenuHTMLAttributes extends HTMLAttributes {
  557. type?: string
  558. }
  559. export interface MediaHTMLAttributes extends HTMLAttributes {
  560. autoplay?: Booleanish
  561. controls?: Booleanish
  562. controlslist?: string
  563. crossorigin?: string
  564. loop?: Booleanish
  565. mediagroup?: string
  566. muted?: Booleanish
  567. playsinline?: Booleanish
  568. preload?: string
  569. src?: string
  570. }
  571. export interface MetaHTMLAttributes extends HTMLAttributes {
  572. charset?: string
  573. content?: string
  574. httpequiv?: string
  575. name?: string
  576. }
  577. export interface MeterHTMLAttributes extends HTMLAttributes {
  578. form?: string
  579. high?: Numberish
  580. low?: Numberish
  581. max?: Numberish
  582. min?: Numberish
  583. optimum?: Numberish
  584. value?: string | ReadonlyArray<string> | number
  585. }
  586. export interface QuoteHTMLAttributes extends HTMLAttributes {
  587. cite?: string
  588. }
  589. export interface ObjectHTMLAttributes extends HTMLAttributes {
  590. classid?: string
  591. data?: string
  592. form?: string
  593. height?: Numberish
  594. name?: string
  595. type?: string
  596. usemap?: string
  597. width?: Numberish
  598. wmode?: string
  599. }
  600. export interface OlHTMLAttributes extends HTMLAttributes {
  601. reversed?: Booleanish
  602. start?: Numberish
  603. type?: '1' | 'a' | 'A' | 'i' | 'I'
  604. }
  605. export interface OptgroupHTMLAttributes extends HTMLAttributes {
  606. disabled?: Booleanish
  607. label?: string
  608. }
  609. export interface OptionHTMLAttributes extends HTMLAttributes {
  610. disabled?: Booleanish
  611. label?: string
  612. selected?: Booleanish
  613. value?: any // we support :value to be bound to anything w/ v-model
  614. }
  615. export interface OutputHTMLAttributes extends HTMLAttributes {
  616. for?: string
  617. form?: string
  618. name?: string
  619. }
  620. export interface ParamHTMLAttributes extends HTMLAttributes {
  621. name?: string
  622. value?: string | ReadonlyArray<string> | number
  623. }
  624. export interface ProgressHTMLAttributes extends HTMLAttributes {
  625. max?: Numberish
  626. value?: string | ReadonlyArray<string> | number
  627. }
  628. export interface ScriptHTMLAttributes extends HTMLAttributes {
  629. async?: Booleanish
  630. /** @deprecated */
  631. charset?: string
  632. crossorigin?: string
  633. defer?: Booleanish
  634. integrity?: string
  635. nomodule?: Booleanish
  636. referrerpolicy?: HTMLAttributeReferrerPolicy
  637. nonce?: string
  638. src?: string
  639. type?: string
  640. }
  641. export interface SelectHTMLAttributes extends HTMLAttributes {
  642. autocomplete?: string
  643. autofocus?: Booleanish
  644. disabled?: Booleanish
  645. form?: string
  646. multiple?: Booleanish
  647. name?: string
  648. required?: Booleanish
  649. size?: Numberish
  650. value?: any // we support :value to be bound to anything w/ v-model
  651. }
  652. export interface SourceHTMLAttributes extends HTMLAttributes {
  653. media?: string
  654. sizes?: string
  655. src?: string
  656. srcset?: string
  657. type?: string
  658. }
  659. export interface StyleHTMLAttributes extends HTMLAttributes {
  660. media?: string
  661. nonce?: string
  662. scoped?: Booleanish
  663. type?: string
  664. }
  665. export interface TableHTMLAttributes extends HTMLAttributes {
  666. cellpadding?: Numberish
  667. cellspacing?: Numberish
  668. summary?: string
  669. width?: Numberish
  670. }
  671. export interface TextareaHTMLAttributes extends HTMLAttributes {
  672. autocomplete?: string
  673. autofocus?: Booleanish
  674. cols?: Numberish
  675. dirname?: string
  676. disabled?: Booleanish
  677. form?: string
  678. maxlength?: Numberish
  679. minlength?: Numberish
  680. name?: string
  681. placeholder?: string
  682. readonly?: Booleanish
  683. required?: Booleanish
  684. rows?: Numberish
  685. value?: string | ReadonlyArray<string> | number | null
  686. wrap?: string
  687. }
  688. export interface TdHTMLAttributes extends HTMLAttributes {
  689. align?: 'left' | 'center' | 'right' | 'justify' | 'char'
  690. colspan?: Numberish
  691. headers?: string
  692. rowspan?: Numberish
  693. scope?: string
  694. abbr?: string
  695. height?: Numberish
  696. width?: Numberish
  697. valign?: 'top' | 'middle' | 'bottom' | 'baseline'
  698. }
  699. export interface ThHTMLAttributes extends HTMLAttributes {
  700. align?: 'left' | 'center' | 'right' | 'justify' | 'char'
  701. colspan?: Numberish
  702. headers?: string
  703. rowspan?: Numberish
  704. scope?: string
  705. abbr?: string
  706. }
  707. export interface TimeHTMLAttributes extends HTMLAttributes {
  708. datetime?: string
  709. }
  710. export interface TrackHTMLAttributes extends HTMLAttributes {
  711. default?: Booleanish
  712. kind?: string
  713. label?: string
  714. src?: string
  715. srclang?: string
  716. }
  717. export interface VideoHTMLAttributes extends MediaHTMLAttributes {
  718. height?: Numberish
  719. playsinline?: Booleanish
  720. poster?: string
  721. width?: Numberish
  722. disablePictureInPicture?: Booleanish
  723. disableRemotePlayback?: Booleanish
  724. }
  725. export interface WebViewHTMLAttributes extends HTMLAttributes {
  726. allowfullscreen?: Booleanish
  727. allowpopups?: Booleanish
  728. autoFocus?: Booleanish
  729. autosize?: Booleanish
  730. blinkfeatures?: string
  731. disableblinkfeatures?: string
  732. disableguestresize?: Booleanish
  733. disablewebsecurity?: Booleanish
  734. guestinstance?: string
  735. httpreferrer?: string
  736. nodeintegration?: Booleanish
  737. partition?: string
  738. plugins?: Booleanish
  739. preload?: string
  740. src?: string
  741. useragent?: string
  742. webpreferences?: string
  743. }
  744. export interface SVGAttributes extends AriaAttributes, EventHandlers<Events> {
  745. innerHTML?: string
  746. /**
  747. * SVG Styling Attributes
  748. * @see https://www.w3.org/TR/SVG/styling.html#ElementSpecificStyling
  749. */
  750. class?: any
  751. style?: StyleValue
  752. color?: string
  753. height?: Numberish
  754. id?: string
  755. lang?: string
  756. max?: Numberish
  757. media?: string
  758. method?: string
  759. min?: Numberish
  760. name?: string
  761. target?: string
  762. type?: string
  763. width?: Numberish
  764. // Other HTML properties supported by SVG elements in browsers
  765. role?: string
  766. tabindex?: Numberish
  767. crossOrigin?: 'anonymous' | 'use-credentials' | ''
  768. // SVG Specific attributes
  769. 'accent-height'?: Numberish
  770. accumulate?: 'none' | 'sum'
  771. additive?: 'replace' | 'sum'
  772. 'alignment-baseline'?:
  773. | 'auto'
  774. | 'baseline'
  775. | 'before-edge'
  776. | 'text-before-edge'
  777. | 'middle'
  778. | 'central'
  779. | 'after-edge'
  780. | 'text-after-edge'
  781. | 'ideographic'
  782. | 'alphabetic'
  783. | 'hanging'
  784. | 'mathematical'
  785. | 'inherit'
  786. allowReorder?: 'no' | 'yes'
  787. alphabetic?: Numberish
  788. amplitude?: Numberish
  789. 'arabic-form'?: 'initial' | 'medial' | 'terminal' | 'isolated'
  790. ascent?: Numberish
  791. attributeName?: string
  792. attributeType?: string
  793. autoReverse?: Numberish
  794. azimuth?: Numberish
  795. baseFrequency?: Numberish
  796. 'baseline-shift'?: Numberish
  797. baseProfile?: Numberish
  798. bbox?: Numberish
  799. begin?: Numberish
  800. bias?: Numberish
  801. by?: Numberish
  802. calcMode?: Numberish
  803. 'cap-height'?: Numberish
  804. clip?: Numberish
  805. 'clip-path'?: string
  806. clipPathUnits?: Numberish
  807. 'clip-rule'?: Numberish
  808. 'color-interpolation'?: Numberish
  809. 'color-interpolation-filters'?: 'auto' | 'sRGB' | 'linearRGB' | 'inherit'
  810. 'color-profile'?: Numberish
  811. 'color-rendering'?: Numberish
  812. contentScriptType?: Numberish
  813. contentStyleType?: Numberish
  814. cursor?: Numberish
  815. cx?: Numberish
  816. cy?: Numberish
  817. d?: string
  818. decelerate?: Numberish
  819. descent?: Numberish
  820. diffuseConstant?: Numberish
  821. direction?: Numberish
  822. display?: Numberish
  823. divisor?: Numberish
  824. 'dominant-baseline'?: Numberish
  825. dur?: Numberish
  826. dx?: Numberish
  827. dy?: Numberish
  828. edgeMode?: Numberish
  829. elevation?: Numberish
  830. 'enable-background'?: Numberish
  831. end?: Numberish
  832. exponent?: Numberish
  833. externalResourcesRequired?: Numberish
  834. fill?: string
  835. 'fill-opacity'?: Numberish
  836. 'fill-rule'?: 'nonzero' | 'evenodd' | 'inherit'
  837. filter?: string
  838. filterRes?: Numberish
  839. filterUnits?: Numberish
  840. 'flood-color'?: Numberish
  841. 'flood-opacity'?: Numberish
  842. focusable?: Numberish
  843. 'font-family'?: string
  844. 'font-size'?: Numberish
  845. 'font-size-adjust'?: Numberish
  846. 'font-stretch'?: Numberish
  847. 'font-style'?: Numberish
  848. 'font-variant'?: Numberish
  849. 'font-weight'?: Numberish
  850. format?: Numberish
  851. from?: Numberish
  852. fx?: Numberish
  853. fy?: Numberish
  854. g1?: Numberish
  855. g2?: Numberish
  856. 'glyph-name'?: Numberish
  857. 'glyph-orientation-horizontal'?: Numberish
  858. 'glyph-orientation-vertical'?: Numberish
  859. glyphRef?: Numberish
  860. gradientTransform?: string
  861. gradientUnits?: string
  862. hanging?: Numberish
  863. 'horiz-adv-x'?: Numberish
  864. 'horiz-origin-x'?: Numberish
  865. href?: string
  866. ideographic?: Numberish
  867. 'image-rendering'?: Numberish
  868. in2?: Numberish
  869. in?: string
  870. intercept?: Numberish
  871. k1?: Numberish
  872. k2?: Numberish
  873. k3?: Numberish
  874. k4?: Numberish
  875. k?: Numberish
  876. kernelMatrix?: Numberish
  877. kernelUnitLength?: Numberish
  878. kerning?: Numberish
  879. keyPoints?: Numberish
  880. keySplines?: Numberish
  881. keyTimes?: Numberish
  882. lengthAdjust?: Numberish
  883. 'letter-spacing'?: Numberish
  884. 'lighting-color'?: Numberish
  885. limitingConeAngle?: Numberish
  886. local?: Numberish
  887. 'marker-end'?: string
  888. markerHeight?: Numberish
  889. 'marker-mid'?: string
  890. 'marker-start'?: string
  891. markerUnits?: Numberish
  892. markerWidth?: Numberish
  893. mask?: string
  894. maskContentUnits?: Numberish
  895. maskUnits?: Numberish
  896. mathematical?: Numberish
  897. mode?: Numberish
  898. numOctaves?: Numberish
  899. offset?: Numberish
  900. opacity?: Numberish
  901. operator?: Numberish
  902. order?: Numberish
  903. orient?: Numberish
  904. orientation?: Numberish
  905. origin?: Numberish
  906. overflow?: Numberish
  907. 'overline-position'?: Numberish
  908. 'overline-thickness'?: Numberish
  909. 'paint-order'?: Numberish
  910. 'panose-1'?: Numberish
  911. pathLength?: Numberish
  912. patternContentUnits?: string
  913. patternTransform?: Numberish
  914. patternUnits?: string
  915. 'pointer-events'?: Numberish
  916. points?: string
  917. pointsAtX?: Numberish
  918. pointsAtY?: Numberish
  919. pointsAtZ?: Numberish
  920. preserveAlpha?: Numberish
  921. preserveAspectRatio?: string
  922. primitiveUnits?: Numberish
  923. r?: Numberish
  924. radius?: Numberish
  925. refX?: Numberish
  926. refY?: Numberish
  927. renderingIntent?: Numberish
  928. repeatCount?: Numberish
  929. repeatDur?: Numberish
  930. requiredExtensions?: Numberish
  931. requiredFeatures?: Numberish
  932. restart?: Numberish
  933. result?: string
  934. rotate?: Numberish
  935. rx?: Numberish
  936. ry?: Numberish
  937. scale?: Numberish
  938. seed?: Numberish
  939. 'shape-rendering'?: Numberish
  940. slope?: Numberish
  941. spacing?: Numberish
  942. specularConstant?: Numberish
  943. specularExponent?: Numberish
  944. speed?: Numberish
  945. spreadMethod?: string
  946. startOffset?: Numberish
  947. stdDeviation?: Numberish
  948. stemh?: Numberish
  949. stemv?: Numberish
  950. stitchTiles?: Numberish
  951. 'stop-color'?: string
  952. 'stop-opacity'?: Numberish
  953. 'strikethrough-position'?: Numberish
  954. 'strikethrough-thickness'?: Numberish
  955. string?: Numberish
  956. stroke?: string
  957. 'stroke-dasharray'?: Numberish
  958. 'stroke-dashoffset'?: Numberish
  959. 'stroke-linecap'?: 'butt' | 'round' | 'square' | 'inherit'
  960. 'stroke-linejoin'?: 'miter' | 'round' | 'bevel' | 'inherit'
  961. 'stroke-miterlimit'?: Numberish
  962. 'stroke-opacity'?: Numberish
  963. 'stroke-width'?: Numberish
  964. surfaceScale?: Numberish
  965. systemLanguage?: Numberish
  966. tableValues?: Numberish
  967. targetX?: Numberish
  968. targetY?: Numberish
  969. 'text-anchor'?: string
  970. 'text-decoration'?: Numberish
  971. textLength?: Numberish
  972. 'text-rendering'?: Numberish
  973. to?: Numberish
  974. transform?: string
  975. u1?: Numberish
  976. u2?: Numberish
  977. 'underline-position'?: Numberish
  978. 'underline-thickness'?: Numberish
  979. unicode?: Numberish
  980. 'unicode-bidi'?: Numberish
  981. 'unicode-range'?: Numberish
  982. 'unitsPer-em'?: Numberish
  983. 'v-alphabetic'?: Numberish
  984. values?: string
  985. 'vector-effect'?: Numberish
  986. version?: string
  987. 'vert-adv-y'?: Numberish
  988. 'vert-origin-x'?: Numberish
  989. 'vert-origin-y'?: Numberish
  990. 'v-hanging'?: Numberish
  991. 'v-ideographic'?: Numberish
  992. viewBox?: string
  993. viewTarget?: Numberish
  994. visibility?: Numberish
  995. 'v-mathematical'?: Numberish
  996. widths?: Numberish
  997. 'word-spacing'?: Numberish
  998. 'writing-mode'?: Numberish
  999. x1?: Numberish
  1000. x2?: Numberish
  1001. x?: Numberish
  1002. xChannelSelector?: string
  1003. 'x-height'?: Numberish
  1004. xlinkActuate?: string
  1005. xlinkArcrole?: string
  1006. xlinkHref?: string
  1007. xlinkRole?: string
  1008. xlinkShow?: string
  1009. xlinkTitle?: string
  1010. xlinkType?: string
  1011. xmlns?: string
  1012. xmlnsXlink?: string
  1013. y1?: Numberish
  1014. y2?: Numberish
  1015. y?: Numberish
  1016. yChannelSelector?: string
  1017. z?: Numberish
  1018. zoomAndPan?: string
  1019. }
  1020. export interface IntrinsicElementAttributes {
  1021. a: AnchorHTMLAttributes
  1022. abbr: HTMLAttributes
  1023. address: HTMLAttributes
  1024. area: AreaHTMLAttributes
  1025. article: HTMLAttributes
  1026. aside: HTMLAttributes
  1027. audio: AudioHTMLAttributes
  1028. b: HTMLAttributes
  1029. base: BaseHTMLAttributes
  1030. bdi: HTMLAttributes
  1031. bdo: HTMLAttributes
  1032. blockquote: BlockquoteHTMLAttributes
  1033. body: HTMLAttributes
  1034. br: HTMLAttributes
  1035. button: ButtonHTMLAttributes
  1036. canvas: CanvasHTMLAttributes
  1037. caption: HTMLAttributes
  1038. cite: HTMLAttributes
  1039. code: HTMLAttributes
  1040. col: ColHTMLAttributes
  1041. colgroup: ColgroupHTMLAttributes
  1042. data: DataHTMLAttributes
  1043. datalist: HTMLAttributes
  1044. dd: HTMLAttributes
  1045. del: DelHTMLAttributes
  1046. details: DetailsHTMLAttributes
  1047. dfn: HTMLAttributes
  1048. dialog: DialogHTMLAttributes
  1049. div: HTMLAttributes
  1050. dl: HTMLAttributes
  1051. dt: HTMLAttributes
  1052. em: HTMLAttributes
  1053. embed: EmbedHTMLAttributes
  1054. fieldset: FieldsetHTMLAttributes
  1055. figcaption: HTMLAttributes
  1056. figure: HTMLAttributes
  1057. footer: HTMLAttributes
  1058. form: FormHTMLAttributes
  1059. h1: HTMLAttributes
  1060. h2: HTMLAttributes
  1061. h3: HTMLAttributes
  1062. h4: HTMLAttributes
  1063. h5: HTMLAttributes
  1064. h6: HTMLAttributes
  1065. head: HTMLAttributes
  1066. header: HTMLAttributes
  1067. hgroup: HTMLAttributes
  1068. hr: HTMLAttributes
  1069. html: HtmlHTMLAttributes
  1070. i: HTMLAttributes
  1071. iframe: IframeHTMLAttributes
  1072. img: ImgHTMLAttributes
  1073. input: InputHTMLAttributes
  1074. ins: InsHTMLAttributes
  1075. kbd: HTMLAttributes
  1076. keygen: KeygenHTMLAttributes
  1077. label: LabelHTMLAttributes
  1078. legend: HTMLAttributes
  1079. li: LiHTMLAttributes
  1080. link: LinkHTMLAttributes
  1081. main: HTMLAttributes
  1082. map: MapHTMLAttributes
  1083. mark: HTMLAttributes
  1084. menu: MenuHTMLAttributes
  1085. meta: MetaHTMLAttributes
  1086. meter: MeterHTMLAttributes
  1087. nav: HTMLAttributes
  1088. noindex: HTMLAttributes
  1089. noscript: HTMLAttributes
  1090. object: ObjectHTMLAttributes
  1091. ol: OlHTMLAttributes
  1092. optgroup: OptgroupHTMLAttributes
  1093. option: OptionHTMLAttributes
  1094. output: OutputHTMLAttributes
  1095. p: HTMLAttributes
  1096. param: ParamHTMLAttributes
  1097. picture: HTMLAttributes
  1098. pre: HTMLAttributes
  1099. progress: ProgressHTMLAttributes
  1100. q: QuoteHTMLAttributes
  1101. rp: HTMLAttributes
  1102. rt: HTMLAttributes
  1103. ruby: HTMLAttributes
  1104. s: HTMLAttributes
  1105. samp: HTMLAttributes
  1106. script: ScriptHTMLAttributes
  1107. section: HTMLAttributes
  1108. select: SelectHTMLAttributes
  1109. small: HTMLAttributes
  1110. source: SourceHTMLAttributes
  1111. span: HTMLAttributes
  1112. strong: HTMLAttributes
  1113. style: StyleHTMLAttributes
  1114. sub: HTMLAttributes
  1115. summary: HTMLAttributes
  1116. sup: HTMLAttributes
  1117. table: TableHTMLAttributes
  1118. template: HTMLAttributes
  1119. tbody: HTMLAttributes
  1120. td: TdHTMLAttributes
  1121. textarea: TextareaHTMLAttributes
  1122. tfoot: HTMLAttributes
  1123. th: ThHTMLAttributes
  1124. thead: HTMLAttributes
  1125. time: TimeHTMLAttributes
  1126. title: HTMLAttributes
  1127. tr: HTMLAttributes
  1128. track: TrackHTMLAttributes
  1129. u: HTMLAttributes
  1130. ul: HTMLAttributes
  1131. var: HTMLAttributes
  1132. video: VideoHTMLAttributes
  1133. wbr: HTMLAttributes
  1134. webview: WebViewHTMLAttributes
  1135. // SVG
  1136. svg: SVGAttributes
  1137. animate: SVGAttributes
  1138. animateMotion: SVGAttributes
  1139. animateTransform: SVGAttributes
  1140. circle: SVGAttributes
  1141. clipPath: SVGAttributes
  1142. defs: SVGAttributes
  1143. desc: SVGAttributes
  1144. ellipse: SVGAttributes
  1145. feBlend: SVGAttributes
  1146. feColorMatrix: SVGAttributes
  1147. feComponentTransfer: SVGAttributes
  1148. feComposite: SVGAttributes
  1149. feConvolveMatrix: SVGAttributes
  1150. feDiffuseLighting: SVGAttributes
  1151. feDisplacementMap: SVGAttributes
  1152. feDistantLight: SVGAttributes
  1153. feDropShadow: SVGAttributes
  1154. feFlood: SVGAttributes
  1155. feFuncA: SVGAttributes
  1156. feFuncB: SVGAttributes
  1157. feFuncG: SVGAttributes
  1158. feFuncR: SVGAttributes
  1159. feGaussianBlur: SVGAttributes
  1160. feImage: SVGAttributes
  1161. feMerge: SVGAttributes
  1162. feMergeNode: SVGAttributes
  1163. feMorphology: SVGAttributes
  1164. feOffset: SVGAttributes
  1165. fePointLight: SVGAttributes
  1166. feSpecularLighting: SVGAttributes
  1167. feSpotLight: SVGAttributes
  1168. feTile: SVGAttributes
  1169. feTurbulence: SVGAttributes
  1170. filter: SVGAttributes
  1171. foreignObject: SVGAttributes
  1172. g: SVGAttributes
  1173. image: SVGAttributes
  1174. line: SVGAttributes
  1175. linearGradient: SVGAttributes
  1176. marker: SVGAttributes
  1177. mask: SVGAttributes
  1178. metadata: SVGAttributes
  1179. mpath: SVGAttributes
  1180. path: SVGAttributes
  1181. pattern: SVGAttributes
  1182. polygon: SVGAttributes
  1183. polyline: SVGAttributes
  1184. radialGradient: SVGAttributes
  1185. rect: SVGAttributes
  1186. stop: SVGAttributes
  1187. switch: SVGAttributes
  1188. symbol: SVGAttributes
  1189. text: SVGAttributes
  1190. textPath: SVGAttributes
  1191. tspan: SVGAttributes
  1192. use: SVGAttributes
  1193. view: SVGAttributes
  1194. }
  1195. export interface Events {
  1196. // clipboard events
  1197. onCopy: ClipboardEvent
  1198. onCut: ClipboardEvent
  1199. onPaste: ClipboardEvent
  1200. // composition events
  1201. onCompositionend: CompositionEvent
  1202. onCompositionstart: CompositionEvent
  1203. onCompositionupdate: CompositionEvent
  1204. // drag drop events
  1205. onDrag: DragEvent
  1206. onDragend: DragEvent
  1207. onDragenter: DragEvent
  1208. onDragexit: DragEvent
  1209. onDragleave: DragEvent
  1210. onDragover: DragEvent
  1211. onDragstart: DragEvent
  1212. onDrop: DragEvent
  1213. // focus events
  1214. onFocus: FocusEvent
  1215. onFocusin: FocusEvent
  1216. onFocusout: FocusEvent
  1217. onBlur: FocusEvent
  1218. // form events
  1219. onChange: Event
  1220. onBeforeinput: Event
  1221. onInput: Event
  1222. onReset: Event
  1223. onSubmit: Event
  1224. onInvalid: Event
  1225. // image events
  1226. onLoad: Event
  1227. onError: Event
  1228. // keyboard events
  1229. onKeydown: KeyboardEvent
  1230. onKeypress: KeyboardEvent
  1231. onKeyup: KeyboardEvent
  1232. // mouse events
  1233. onAuxclick: MouseEvent
  1234. onClick: MouseEvent
  1235. onContextmenu: MouseEvent
  1236. onDblclick: MouseEvent
  1237. onMousedown: MouseEvent
  1238. onMouseenter: MouseEvent
  1239. onMouseleave: MouseEvent
  1240. onMousemove: MouseEvent
  1241. onMouseout: MouseEvent
  1242. onMouseover: MouseEvent
  1243. onMouseup: MouseEvent
  1244. // media events
  1245. onAbort: Event
  1246. onCanplay: Event
  1247. onCanplaythrough: Event
  1248. onDurationchange: Event
  1249. onEmptied: Event
  1250. onEncrypted: Event
  1251. onEnded: Event
  1252. onLoadeddata: Event
  1253. onLoadedmetadata: Event
  1254. onLoadstart: Event
  1255. onPause: Event
  1256. onPlay: Event
  1257. onPlaying: Event
  1258. onProgress: Event
  1259. onRatechange: Event
  1260. onSeeked: Event
  1261. onSeeking: Event
  1262. onStalled: Event
  1263. onSuspend: Event
  1264. onTimeupdate: Event
  1265. onVolumechange: Event
  1266. onWaiting: Event
  1267. // selection events
  1268. onSelect: Event
  1269. // scroll events
  1270. onScroll: Event
  1271. onScrollend: Event
  1272. // touch events
  1273. onTouchcancel: TouchEvent
  1274. onTouchend: TouchEvent
  1275. onTouchmove: TouchEvent
  1276. onTouchstart: TouchEvent
  1277. // pointer events
  1278. onPointerdown: PointerEvent
  1279. onPointermove: PointerEvent
  1280. onPointerup: PointerEvent
  1281. onPointercancel: PointerEvent
  1282. onPointerenter: PointerEvent
  1283. onPointerleave: PointerEvent
  1284. onPointerover: PointerEvent
  1285. onPointerout: PointerEvent
  1286. // wheel events
  1287. onWheel: WheelEvent
  1288. // animation events
  1289. onAnimationstart: AnimationEvent
  1290. onAnimationend: AnimationEvent
  1291. onAnimationiteration: AnimationEvent
  1292. // transition events
  1293. onTransitionend: TransitionEvent
  1294. onTransitionstart: TransitionEvent
  1295. }
  1296. type EventHandlers<E> = {
  1297. [K in keyof E]?: E[K] extends (...args: any) => any
  1298. ? E[K]
  1299. : (payload: E[K]) => void
  1300. }
  1301. import type { VNodeRef } from '@vue/runtime-core'
  1302. export type ReservedProps = {
  1303. key?: PropertyKey
  1304. ref?: VNodeRef
  1305. ref_for?: boolean
  1306. ref_key?: string
  1307. }
  1308. export type NativeElements = {
  1309. [K in keyof IntrinsicElementAttributes]: IntrinsicElementAttributes[K] &
  1310. ReservedProps
  1311. }