runtime-dom.d.ts 43 KB

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