runtime-dom.d.ts 46 KB

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