vue3-core/packages/runtime-dom/src/jsx.ts

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

1402 lines
36 KiB
TypeScript
Raw Normal View History

// Note: this file is auto concatenated to the end of the bundled d.ts during
// build.
2020-01-07 05:19:18 +08:00
// This code is based on react definition in DefinitelyTyped published under the MIT license.
2018-10-14 08:46:30 +08:00
// Repository: https://github.com/DefinitelyTyped/DefinitelyTyped
2020-01-07 05:19:18 +08:00
// Path in the repository: types/react/index.d.ts
2018-10-14 08:46:30 +08:00
//
// Copyrights of original definition are:
// AssureSign <http://www.assuresign.com>
// Microsoft <https://microsoft.com>
2020-01-07 05:19:18 +08:00
// John Reilly <https://github.com/johnnyreilly>
2018-10-14 08:46:30 +08:00
// Benoit Benezech <https://github.com/bbenezech>
// Patricio Zavolinsky <https://github.com/pzavolinsky>
// Digiguru <https://github.com/digiguru>
// Eric Anderson <https://github.com/ericanderson>
// Dovydas Navickas <https://github.com/DovydasNavickas>
2020-01-07 05:19:18 +08:00
// Josh Rutherford <https://github.com/theruther4d>
// Guilherme Hübner <https://github.com/guilhermehubner>
// Ferdy Budhidharma <https://github.com/ferdaber>
// Johann Rakotoharisoa <https://github.com/jrakotoharisoa>
// Olivier Pascal <https://github.com/pascaloliv>
// Martin Hochel <https://github.com/hotell>
// Frank Li <https://github.com/franklixuefei>
// Jessica Franco <https://github.com/Jessidhia>
// Saransh Kataria <https://github.com/saranshkataria>
// Kanitkorn Sujautra <https://github.com/lukyth>
// Sebastian Silbermann <https://github.com/eps1lon>
import type * as CSS from 'csstype'
export interface CSSProperties
extends CSS.Properties<string | number>,
CSS.PropertiesHyphen<string | number> {
2020-01-07 05:19:18 +08:00
/**
* The index signature was removed to enable closed typing for style
* using CSSType. You're able to use type assertion or module augmentation
* to add properties or an index signature of your own.
*
* For examples and more information, visit:
* https://github.com/frenic/csstype#what-should-i-do-when-i-get-type-errors
*/
[v: `--${string}`]: string | number | undefined
2020-01-07 05:19:18 +08:00
}
type Booleanish = boolean | 'true' | 'false'
type Numberish = number | string
2020-01-07 05:19:18 +08:00
// All the WAI-ARIA 1.1 attributes from https://www.w3.org/TR/wai-aria-1.1/
export interface AriaAttributes {
2020-01-07 05:19:18 +08:00
/** Identifies the currently active element when DOM focus is on a composite widget, textbox, group, or application. */
'aria-activedescendant'?: string
/** 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. */
'aria-atomic'?: Booleanish
2020-01-07 05:19:18 +08:00
/**
* 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
* presented if they are made.
*/
'aria-autocomplete'?: 'none' | 'inline' | 'list' | 'both'
/** 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. */
'aria-busy'?: Booleanish
2020-01-07 05:19:18 +08:00
/**
* Indicates the current "checked" state of checkboxes, radio buttons, and other widgets.
* @see aria-pressed @see aria-selected.
*/
'aria-checked'?: Booleanish | 'mixed'
2020-01-07 05:19:18 +08:00
/**
* Defines the total number of columns in a table, grid, or treegrid.
* @see aria-colindex.
*/
'aria-colcount'?: Numberish
2020-01-07 05:19:18 +08:00
/**
* Defines an element's column index or position with respect to the total number of columns within a table, grid, or treegrid.
* @see aria-colcount @see aria-colspan.
*/
'aria-colindex'?: Numberish
2020-01-07 05:19:18 +08:00
/**
* Defines the number of columns spanned by a cell or gridcell within a table, grid, or treegrid.
* @see aria-colindex @see aria-rowspan.
*/
'aria-colspan'?: Numberish
2020-01-07 05:19:18 +08:00
/**
* Identifies the element (or elements) whose contents or presence are controlled by the current element.
* @see aria-owns.
*/
'aria-controls'?: string
/** Indicates the element that represents the current item within a container or set of related elements. */
'aria-current'?: Booleanish | 'page' | 'step' | 'location' | 'date' | 'time'
2020-01-07 05:19:18 +08:00
/**
* Identifies the element (or elements) that describes the object.
* @see aria-labelledby
*/
'aria-describedby'?: string
/**
* Identifies the element that provides a detailed, extended description for the object.
* @see aria-describedby.
*/
'aria-details'?: string
/**
* Indicates that the element is perceivable but disabled, so it is not editable or otherwise operable.
* @see aria-hidden @see aria-readonly.
*/
'aria-disabled'?: Booleanish
2020-01-07 05:19:18 +08:00
/**
* Indicates what functions can be performed when a dragged object is released on the drop target.
* @deprecated in ARIA 1.1
*/
'aria-dropeffect'?: 'none' | 'copy' | 'execute' | 'link' | 'move' | 'popup'
/**
* Identifies the element that provides an error message for the object.
* @see aria-invalid @see aria-describedby.
*/
'aria-errormessage'?: string
/** Indicates whether the element, or another grouping element it controls, is currently expanded or collapsed. */
'aria-expanded'?: Booleanish
2020-01-07 05:19:18 +08:00
/**
* Identifies the next element (or elements) in an alternate reading order of content which, at the user's discretion,
* allows assistive technology to override the general default of reading in document source order.
*/
'aria-flowto'?: string
/**
* Indicates an element's "grabbed" state in a drag-and-drop operation.
* @deprecated in ARIA 1.1
*/
'aria-grabbed'?: Booleanish
2020-01-07 05:19:18 +08:00
/** Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element. */
'aria-haspopup'?: Booleanish | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog'
2020-01-07 05:19:18 +08:00
/**
* Indicates whether the element is exposed to an accessibility API.
* @see aria-disabled.
*/
'aria-hidden'?: Booleanish
2020-01-07 05:19:18 +08:00
/**
* Indicates the entered value does not conform to the format expected by the application.
* @see aria-errormessage.
*/
'aria-invalid'?: Booleanish | 'grammar' | 'spelling'
2020-01-07 05:19:18 +08:00
/** Indicates keyboard shortcuts that an author has implemented to activate or give focus to an element. */
'aria-keyshortcuts'?: string
/**
* Defines a string value that labels the current element.
* @see aria-labelledby.
*/
'aria-label'?: string
/**
* Identifies the element (or elements) that labels the current element.
* @see aria-describedby.
*/
'aria-labelledby'?: string
/** Defines the hierarchical level of an element within a structure. */
'aria-level'?: Numberish
2020-01-07 05:19:18 +08:00
/** 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. */
'aria-live'?: 'off' | 'assertive' | 'polite'
/** Indicates whether an element is modal when displayed. */
'aria-modal'?: Booleanish
2020-01-07 05:19:18 +08:00
/** Indicates whether a text box accepts multiple lines of input or only a single line. */
'aria-multiline'?: Booleanish
2020-01-07 05:19:18 +08:00
/** Indicates that the user may select more than one item from the current selectable descendants. */
'aria-multiselectable'?: Booleanish
2020-01-07 05:19:18 +08:00
/** Indicates whether the element's orientation is horizontal, vertical, or unknown/ambiguous. */
'aria-orientation'?: 'horizontal' | 'vertical'
/**
* Identifies an element (or elements) in order to define a visual, functional, or contextual parent/child relationship
* between DOM elements where the DOM hierarchy cannot be used to represent the relationship.
* @see aria-controls.
*/
'aria-owns'?: string
/**
* Defines a short hint (a word or short phrase) intended to aid the user with data entry when the control has no value.
* A hint could be a sample value or a brief description of the expected format.
*/
'aria-placeholder'?: string
/**
* 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.
* @see aria-setsize.
*/
'aria-posinset'?: Numberish
2020-01-07 05:19:18 +08:00
/**
* Indicates the current "pressed" state of toggle buttons.
* @see aria-checked @see aria-selected.
*/
'aria-pressed'?: Booleanish | 'mixed'
2020-01-07 05:19:18 +08:00
/**
* Indicates that the element is not editable, but is otherwise operable.
* @see aria-disabled.
*/
'aria-readonly'?: Booleanish
2020-01-07 05:19:18 +08:00
/**
* Indicates what notifications the user agent will trigger when the accessibility tree within a live region is modified.
* @see aria-atomic.
*/
'aria-relevant'?:
| 'additions'
| 'additions removals'
| 'additions text'
| 'all'
| 'removals'
| 'removals additions'
| 'removals text'
| 'text'
| 'text additions'
| 'text removals'
2020-01-07 05:19:18 +08:00
/** Indicates that user input is required on the element before a form may be submitted. */
'aria-required'?: Booleanish
2020-01-07 05:19:18 +08:00
/** Defines a human-readable, author-localized description for the role of an element. */
'aria-roledescription'?: string
/**
* Defines the total number of rows in a table, grid, or treegrid.
* @see aria-rowindex.
*/
'aria-rowcount'?: Numberish
2020-01-07 05:19:18 +08:00
/**
* Defines an element's row index or position with respect to the total number of rows within a table, grid, or treegrid.
* @see aria-rowcount @see aria-rowspan.
*/
'aria-rowindex'?: Numberish
2020-01-07 05:19:18 +08:00
/**
* Defines the number of rows spanned by a cell or gridcell within a table, grid, or treegrid.
* @see aria-rowindex @see aria-colspan.
*/
'aria-rowspan'?: Numberish
2020-01-07 05:19:18 +08:00
/**
* Indicates the current "selected" state of various widgets.
* @see aria-checked @see aria-pressed.
*/
'aria-selected'?: Booleanish
2020-01-07 05:19:18 +08:00
/**
* 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.
* @see aria-posinset.
*/
'aria-setsize'?: Numberish
2020-01-07 05:19:18 +08:00
/** Indicates if items in a table or grid are sorted in ascending or descending order. */
'aria-sort'?: 'none' | 'ascending' | 'descending' | 'other'
/** Defines the maximum allowed value for a range widget. */
'aria-valuemax'?: Numberish
2020-01-07 05:19:18 +08:00
/** Defines the minimum allowed value for a range widget. */
'aria-valuemin'?: Numberish
2020-01-07 05:19:18 +08:00
/**
* Defines the current value for a range widget.
* @see aria-valuetext.
*/
'aria-valuenow'?: Numberish
2020-01-07 05:19:18 +08:00
/** Defines the human readable text alternative of aria-valuenow for a range widget. */
'aria-valuetext'?: string
}
// Vue's style normalization supports nested arrays
export type StyleValue =
| false
| null
| undefined
| string
| CSSProperties
| Array<StyleValue>
export interface HTMLAttributes extends AriaAttributes, EventHandlers<Events> {
innerHTML?: string
2018-10-14 08:46:30 +08:00
class?: any
style?: StyleValue
2020-01-07 05:19:18 +08:00
// Standard HTML Attributes
2018-10-14 08:46:30 +08:00
accesskey?: string
contenteditable?: Booleanish | 'inherit' | 'plaintext-only'
2018-10-14 08:46:30 +08:00
contextmenu?: string
dir?: string
2020-01-07 05:19:18 +08:00
draggable?: Booleanish
hidden?: Booleanish | '' | 'hidden' | 'until-found'
2018-10-14 08:46:30 +08:00
id?: string
inert?: Booleanish
2018-10-14 08:46:30 +08:00
lang?: string
2020-01-07 05:19:18 +08:00
placeholder?: string
spellcheck?: Booleanish
tabindex?: Numberish
2018-10-14 08:46:30 +08:00
title?: string
2020-01-07 05:19:18 +08:00
translate?: 'yes' | 'no'
2018-10-14 08:46:30 +08:00
2020-01-07 05:19:18 +08:00
// Unknown
radiogroup?: string // <command>, <menuitem>
// WAI-ARIA
2018-10-14 08:46:30 +08:00
role?: string
2020-01-07 05:19:18 +08:00
// RDFa Attributes
about?: string
datatype?: string
inlist?: any
prefix?: string
property?: string
resource?: string
typeof?: string
vocab?: string
// Non-standard Attributes
autocapitalize?: string
autocorrect?: string
autosave?: string
2020-01-07 05:19:18 +08:00
color?: string
itemprop?: string
itemscope?: Booleanish
2020-01-07 05:19:18 +08:00
itemtype?: string
itemid?: string
itemref?: string
results?: Numberish
2020-01-07 05:19:18 +08:00
security?: string
unselectable?: 'on' | 'off'
// Living Standard
/**
* Hints at the type of data that might be entered by the user while editing the element or its contents
* @see https://html.spec.whatwg.org/multipage/interaction.html#input-modalities:-the-inputmode-attribute
*/
2020-04-15 22:51:07 +08:00
inputmode?:
| 'none'
| 'text'
| 'tel'
| 'url'
| 'email'
| 'numeric'
| 'decimal'
| 'search'
2020-01-07 05:19:18 +08:00
/**
* Specify that a standard HTML element should behave like a defined custom built-in element
* @see https://html.spec.whatwg.org/multipage/custom-elements.html#attr-is
*/
is?: string
2018-10-14 08:46:30 +08:00
}
type HTMLAttributeReferrerPolicy =
2023-01-12 19:58:11 +08:00
| ''
| 'no-referrer'
| 'no-referrer-when-downgrade'
| 'origin'
| 'origin-when-cross-origin'
| 'same-origin'
| 'strict-origin'
| 'strict-origin-when-cross-origin'
| 'unsafe-url'
2020-01-07 05:19:18 +08:00
export interface AnchorHTMLAttributes extends HTMLAttributes {
2018-10-14 08:46:30 +08:00
download?: any
href?: string
hreflang?: string
media?: string
2020-01-07 05:19:18 +08:00
ping?: string
2018-10-14 08:46:30 +08:00
rel?: string
target?: string
2020-01-07 05:19:18 +08:00
type?: string
referrerpolicy?: HTMLAttributeReferrerPolicy
2018-10-14 08:46:30 +08:00
}
2020-01-07 05:19:18 +08:00
export interface AreaHTMLAttributes extends HTMLAttributes {
2018-10-14 08:46:30 +08:00
alt?: string
2020-01-07 05:19:18 +08:00
coords?: string
2018-10-14 08:46:30 +08:00
download?: any
href?: string
hreflang?: string
media?: string
referrerpolicy?: HTMLAttributeReferrerPolicy
2018-10-14 08:46:30 +08:00
rel?: string
shape?: string
target?: string
}
2020-04-15 22:51:07 +08:00
export interface AudioHTMLAttributes extends MediaHTMLAttributes {}
2018-10-14 08:46:30 +08:00
2020-01-07 05:19:18 +08:00
export interface BaseHTMLAttributes extends HTMLAttributes {
2018-10-14 08:46:30 +08:00
href?: string
target?: string
}
2020-01-07 05:19:18 +08:00
export interface BlockquoteHTMLAttributes extends HTMLAttributes {
2018-10-14 08:46:30 +08:00
cite?: string
}
2020-01-07 05:19:18 +08:00
export interface ButtonHTMLAttributes extends HTMLAttributes {
autofocus?: Booleanish
disabled?: Booleanish
2018-10-14 08:46:30 +08:00
form?: string
formaction?: string
formenctype?: string
formmethod?: string
formnovalidate?: Booleanish
2018-10-14 08:46:30 +08:00
formtarget?: string
name?: string
2020-01-07 05:19:18 +08:00
type?: 'submit' | 'reset' | 'button'
value?: string | ReadonlyArray<string> | number
2018-10-14 08:46:30 +08:00
}
2020-01-07 05:19:18 +08:00
export interface CanvasHTMLAttributes extends HTMLAttributes {
height?: Numberish
width?: Numberish
2018-10-14 08:46:30 +08:00
}
2020-01-07 05:19:18 +08:00
export interface ColHTMLAttributes extends HTMLAttributes {
span?: Numberish
width?: Numberish
2020-01-07 05:19:18 +08:00
}
export interface ColgroupHTMLAttributes extends HTMLAttributes {
span?: Numberish
2018-10-14 08:46:30 +08:00
}
2020-01-07 05:19:18 +08:00
export interface DataHTMLAttributes extends HTMLAttributes {
value?: string | ReadonlyArray<string> | number
2020-01-07 05:19:18 +08:00
}
2018-10-14 08:46:30 +08:00
2020-01-07 05:19:18 +08:00
export interface DetailsHTMLAttributes extends HTMLAttributes {
open?: Booleanish
onToggle?: Event
2018-10-14 08:46:30 +08:00
}
2020-01-07 05:19:18 +08:00
export interface DelHTMLAttributes extends HTMLAttributes {
2018-10-14 08:46:30 +08:00
cite?: string
datetime?: string
}
2020-01-07 05:19:18 +08:00
export interface DialogHTMLAttributes extends HTMLAttributes {
open?: Booleanish
2020-01-07 05:19:18 +08:00
}
export interface EmbedHTMLAttributes extends HTMLAttributes {
height?: Numberish
2018-10-14 08:46:30 +08:00
src?: string
type?: string
width?: Numberish
2018-10-14 08:46:30 +08:00
}
2020-01-07 05:19:18 +08:00
export interface FieldsetHTMLAttributes extends HTMLAttributes {
disabled?: Booleanish
2018-10-14 08:46:30 +08:00
form?: string
name?: string
}
2020-01-07 05:19:18 +08:00
export interface FormHTMLAttributes extends HTMLAttributes {
2018-10-14 08:46:30 +08:00
acceptcharset?: string
action?: string
autocomplete?: string
enctype?: string
method?: string
name?: string
novalidate?: Booleanish
2018-10-14 08:46:30 +08:00
target?: string
}
2020-01-07 05:19:18 +08:00
export interface HtmlHTMLAttributes extends HTMLAttributes {
2018-10-14 08:46:30 +08:00
manifest?: string
}
2020-01-07 05:19:18 +08:00
export interface IframeHTMLAttributes extends HTMLAttributes {
allow?: string
allowfullscreen?: Booleanish
allowtransparency?: Booleanish
/** @deprecated */
frameborder?: Numberish
height?: Numberish
/** @deprecated */
marginheight?: Numberish
/** @deprecated */
marginwidth?: Numberish
2018-10-14 08:46:30 +08:00
name?: string
referrerpolicy?: HTMLAttributeReferrerPolicy
2018-10-14 08:46:30 +08:00
sandbox?: string
/** @deprecated */
2018-10-14 08:46:30 +08:00
scrolling?: string
seamless?: Booleanish
2018-10-14 08:46:30 +08:00
src?: string
srcdoc?: string
width?: Numberish
2018-10-14 08:46:30 +08:00
}
2020-01-07 05:19:18 +08:00
export interface ImgHTMLAttributes extends HTMLAttributes {
2018-10-14 08:46:30 +08:00
alt?: string
2020-01-07 05:19:18 +08:00
crossorigin?: 'anonymous' | 'use-credentials' | ''
decoding?: 'async' | 'auto' | 'sync'
height?: Numberish
loading?: 'eager' | 'lazy'
referrerpolicy?: HTMLAttributeReferrerPolicy
2018-10-14 08:46:30 +08:00
sizes?: string
src?: string
srcset?: string
usemap?: string
width?: Numberish
2018-10-14 08:46:30 +08:00
}
2020-01-07 05:19:18 +08:00
export interface InsHTMLAttributes extends HTMLAttributes {
2018-10-14 08:46:30 +08:00
cite?: string
datetime?: string
}
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 & {})
2020-01-07 05:19:18 +08:00
export interface InputHTMLAttributes extends HTMLAttributes {
2018-10-14 08:46:30 +08:00
accept?: string
alt?: string
autocomplete?: string
autofocus?: Booleanish
capture?: boolean | 'user' | 'environment' // https://www.w3.org/tr/html-media-capture/#the-capture-attribute
checked?: Booleanish | any[] | Set<any> // for IDE v-model multi-checkbox support
2018-10-14 08:46:30 +08:00
crossorigin?: string
disabled?: Booleanish
enterKeyHint?:
| 'enter'
| 'done'
| 'go'
| 'next'
| 'previous'
| 'search'
| 'send'
2018-10-14 08:46:30 +08:00
form?: string
formaction?: string
formenctype?: string
formmethod?: string
formnovalidate?: Booleanish
2018-10-14 08:46:30 +08:00
formtarget?: string
height?: Numberish
indeterminate?: boolean
2018-10-14 08:46:30 +08:00
list?: string
max?: Numberish
maxlength?: Numberish
min?: Numberish
minlength?: Numberish
multiple?: Booleanish
2018-10-14 08:46:30 +08:00
name?: string
pattern?: string
placeholder?: string
readonly?: Booleanish
required?: Booleanish
size?: Numberish
2018-10-14 08:46:30 +08:00
src?: string
step?: Numberish
type?: InputTypeHTMLAttribute
value?: any // we support :value to be bound to anything w/ v-model
width?: Numberish
2018-10-14 08:46:30 +08:00
}
2020-01-07 05:19:18 +08:00
export interface KeygenHTMLAttributes extends HTMLAttributes {
autofocus?: Booleanish
2018-10-14 08:46:30 +08:00
challenge?: string
disabled?: Booleanish
2018-10-14 08:46:30 +08:00
form?: string
keytype?: string
keyparams?: string
name?: string
}
2020-01-07 05:19:18 +08:00
export interface LabelHTMLAttributes extends HTMLAttributes {
for?: string
2018-10-14 08:46:30 +08:00
form?: string
}
2020-01-07 05:19:18 +08:00
export interface LiHTMLAttributes extends HTMLAttributes {
value?: string | ReadonlyArray<string> | number
2018-10-14 08:46:30 +08:00
}
2020-01-07 05:19:18 +08:00
export interface LinkHTMLAttributes extends HTMLAttributes {
as?: string
crossorigin?: string
2018-10-14 08:46:30 +08:00
href?: string
hreflang?: string
integrity?: string
media?: string
referrerpolicy?: HTMLAttributeReferrerPolicy
2018-10-14 08:46:30 +08:00
rel?: string
sizes?: string
type?: string
charset?: string
2018-10-14 08:46:30 +08:00
}
2020-01-07 05:19:18 +08:00
export interface MapHTMLAttributes extends HTMLAttributes {
2018-10-14 08:46:30 +08:00
name?: string
}
2020-01-07 05:19:18 +08:00
export interface MenuHTMLAttributes extends HTMLAttributes {
2018-10-14 08:46:30 +08:00
type?: string
}
2020-01-07 05:19:18 +08:00
export interface MediaHTMLAttributes extends HTMLAttributes {
autoplay?: Booleanish
controls?: Booleanish
2020-01-07 05:19:18 +08:00
controlslist?: string
2018-10-14 08:46:30 +08:00
crossorigin?: string
loop?: Booleanish
2018-10-14 08:46:30 +08:00
mediagroup?: string
muted?: Booleanish
playsinline?: Booleanish
2018-10-14 08:46:30 +08:00
preload?: string
src?: string
}
2020-01-07 05:19:18 +08:00
export interface MetaHTMLAttributes extends HTMLAttributes {
2018-10-14 08:46:30 +08:00
charset?: string
content?: string
httpequiv?: string
name?: string
}
2020-01-07 05:19:18 +08:00
export interface MeterHTMLAttributes extends HTMLAttributes {
2018-10-14 08:46:30 +08:00
form?: string
high?: Numberish
low?: Numberish
max?: Numberish
min?: Numberish
optimum?: Numberish
value?: string | ReadonlyArray<string> | number
2018-10-14 08:46:30 +08:00
}
2020-01-07 05:19:18 +08:00
export interface QuoteHTMLAttributes extends HTMLAttributes {
2018-10-14 08:46:30 +08:00
cite?: string
}
2020-01-07 05:19:18 +08:00
export interface ObjectHTMLAttributes extends HTMLAttributes {
2018-10-14 08:46:30 +08:00
classid?: string
data?: string
form?: string
height?: Numberish
2018-10-14 08:46:30 +08:00
name?: string
type?: string
usemap?: string
width?: Numberish
2018-10-14 08:46:30 +08:00
wmode?: string
}
2020-01-07 05:19:18 +08:00
export interface OlHTMLAttributes extends HTMLAttributes {
reversed?: Booleanish
start?: Numberish
2020-01-07 05:19:18 +08:00
type?: '1' | 'a' | 'A' | 'i' | 'I'
2018-10-14 08:46:30 +08:00
}
2020-01-07 05:19:18 +08:00
export interface OptgroupHTMLAttributes extends HTMLAttributes {
disabled?: Booleanish
2018-10-14 08:46:30 +08:00
label?: string
}
2020-01-07 05:19:18 +08:00
export interface OptionHTMLAttributes extends HTMLAttributes {
disabled?: Booleanish
2018-10-14 08:46:30 +08:00
label?: string
selected?: Booleanish
value?: any // we support :value to be bound to anything w/ v-model
2018-10-14 08:46:30 +08:00
}
2020-01-07 05:19:18 +08:00
export interface OutputHTMLAttributes extends HTMLAttributes {
for?: string
2018-10-14 08:46:30 +08:00
form?: string
name?: string
}
2020-01-07 05:19:18 +08:00
export interface ParamHTMLAttributes extends HTMLAttributes {
2018-10-14 08:46:30 +08:00
name?: string
value?: string | ReadonlyArray<string> | number
2018-10-14 08:46:30 +08:00
}
2020-01-07 05:19:18 +08:00
export interface ProgressHTMLAttributes extends HTMLAttributes {
max?: Numberish
value?: string | ReadonlyArray<string> | number
2018-10-14 08:46:30 +08:00
}
2020-01-07 05:19:18 +08:00
export interface ScriptHTMLAttributes extends HTMLAttributes {
async?: Booleanish
/** @deprecated */
2018-10-14 08:46:30 +08:00
charset?: string
crossorigin?: string
defer?: Booleanish
2018-10-14 08:46:30 +08:00
integrity?: string
nomodule?: Booleanish
referrerpolicy?: HTMLAttributeReferrerPolicy
2018-10-14 08:46:30 +08:00
nonce?: string
src?: string
type?: string
}
2020-01-07 05:19:18 +08:00
export interface SelectHTMLAttributes extends HTMLAttributes {
autocomplete?: string
autofocus?: Booleanish
disabled?: Booleanish
2018-10-14 08:46:30 +08:00
form?: string
multiple?: Booleanish
2018-10-14 08:46:30 +08:00
name?: string
required?: Booleanish
size?: Numberish
value?: any // we support :value to be bound to anything w/ v-model
2018-10-14 08:46:30 +08:00
}
2020-01-07 05:19:18 +08:00
export interface SourceHTMLAttributes extends HTMLAttributes {
2018-10-14 08:46:30 +08:00
media?: string
sizes?: string
src?: string
srcset?: string
type?: string
}
2020-01-07 05:19:18 +08:00
export interface StyleHTMLAttributes extends HTMLAttributes {
2018-10-14 08:46:30 +08:00
media?: string
nonce?: string
scoped?: Booleanish
2018-10-14 08:46:30 +08:00
type?: string
}
2020-01-07 05:19:18 +08:00
export interface TableHTMLAttributes extends HTMLAttributes {
cellpadding?: Numberish
cellspacing?: Numberish
2018-10-14 08:46:30 +08:00
summary?: string
width?: Numberish
2018-10-14 08:46:30 +08:00
}
2020-01-07 05:19:18 +08:00
export interface TextareaHTMLAttributes extends HTMLAttributes {
2018-10-14 08:46:30 +08:00
autocomplete?: string
autofocus?: Booleanish
cols?: Numberish
2018-10-14 08:46:30 +08:00
dirname?: string
disabled?: Booleanish
2018-10-14 08:46:30 +08:00
form?: string
maxlength?: Numberish
minlength?: Numberish
2018-10-14 08:46:30 +08:00
name?: string
placeholder?: string
readonly?: Booleanish
required?: Booleanish
rows?: Numberish
value?: string | ReadonlyArray<string> | number | null
2018-10-14 08:46:30 +08:00
wrap?: string
}
2020-01-07 05:19:18 +08:00
export interface TdHTMLAttributes extends HTMLAttributes {
align?: 'left' | 'center' | 'right' | 'justify' | 'char'
colspan?: Numberish
2018-10-14 08:46:30 +08:00
headers?: string
rowspan?: Numberish
2020-01-07 05:19:18 +08:00
scope?: string
abbr?: string
height?: Numberish
width?: Numberish
2020-01-07 05:19:18 +08:00
valign?: 'top' | 'middle' | 'bottom' | 'baseline'
2018-10-14 08:46:30 +08:00
}
2020-01-07 05:19:18 +08:00
export interface ThHTMLAttributes extends HTMLAttributes {
align?: 'left' | 'center' | 'right' | 'justify' | 'char'
colspan?: Numberish
2018-10-14 08:46:30 +08:00
headers?: string
rowspan?: Numberish
2018-10-14 08:46:30 +08:00
scope?: string
abbr?: string
2018-10-14 08:46:30 +08:00
}
2020-01-07 05:19:18 +08:00
export interface TimeHTMLAttributes extends HTMLAttributes {
2018-10-14 08:46:30 +08:00
datetime?: string
}
2020-01-07 05:19:18 +08:00
export interface TrackHTMLAttributes extends HTMLAttributes {
default?: Booleanish
2018-10-14 08:46:30 +08:00
kind?: string
label?: string
src?: string
srclang?: string
}
2020-01-07 05:19:18 +08:00
export interface VideoHTMLAttributes extends MediaHTMLAttributes {
height?: Numberish
playsinline?: Booleanish
2018-10-14 08:46:30 +08:00
poster?: string
width?: Numberish
disablePictureInPicture?: Booleanish
disableRemotePlayback?: Booleanish
2018-10-14 08:46:30 +08:00
}
2020-01-07 05:19:18 +08:00
export interface WebViewHTMLAttributes extends HTMLAttributes {
allowfullscreen?: Booleanish
allowpopups?: Booleanish
autoFocus?: Booleanish
autosize?: Booleanish
2020-01-07 05:19:18 +08:00
blinkfeatures?: string
disableblinkfeatures?: string
disableguestresize?: Booleanish
disablewebsecurity?: Booleanish
2020-01-07 05:19:18 +08:00
guestinstance?: string
httpreferrer?: string
nodeintegration?: Booleanish
2020-01-07 05:19:18 +08:00
partition?: string
plugins?: Booleanish
2020-01-07 05:19:18 +08:00
preload?: string
src?: string
useragent?: string
webpreferences?: string
}
export interface SVGAttributes extends AriaAttributes, EventHandlers<Events> {
innerHTML?: string
/**
* SVG Styling Attributes
* @see https://www.w3.org/TR/SVG/styling.html#ElementSpecificStyling
*/
class?: any
style?: StyleValue
2020-01-07 05:19:18 +08:00
color?: string
height?: Numberish
2020-01-07 05:19:18 +08:00
id?: string
lang?: string
max?: Numberish
2018-10-14 08:46:30 +08:00
media?: string
method?: string
min?: Numberish
2018-10-14 08:46:30 +08:00
name?: string
target?: string
type?: string
width?: Numberish
2020-01-07 05:19:18 +08:00
// Other HTML properties supported by SVG elements in browsers
role?: string
tabindex?: Numberish
crossOrigin?: 'anonymous' | 'use-credentials' | ''
2020-01-07 05:19:18 +08:00
// SVG Specific attributes
'accent-height'?: Numberish
2020-01-07 05:19:18 +08:00
accumulate?: 'none' | 'sum'
additive?: 'replace' | 'sum'
2020-04-15 22:51:07 +08:00
'alignment-baseline'?:
| 'auto'
| 'baseline'
| 'before-edge'
| 'text-before-edge'
| 'middle'
| 'central'
| 'after-edge'
| 'text-after-edge'
| 'ideographic'
| 'alphabetic'
| 'hanging'
| 'mathematical'
| 'inherit'
2020-01-07 05:19:18 +08:00
allowReorder?: 'no' | 'yes'
alphabetic?: Numberish
amplitude?: Numberish
2020-01-07 05:19:18 +08:00
'arabic-form'?: 'initial' | 'medial' | 'terminal' | 'isolated'
ascent?: Numberish
2020-01-07 05:19:18 +08:00
attributeName?: string
attributeType?: string
autoReverse?: Numberish
azimuth?: Numberish
baseFrequency?: Numberish
'baseline-shift'?: Numberish
baseProfile?: Numberish
bbox?: Numberish
begin?: Numberish
bias?: Numberish
by?: Numberish
calcMode?: Numberish
'cap-height'?: Numberish
clip?: Numberish
2020-01-07 05:19:18 +08:00
'clip-path'?: string
clipPathUnits?: Numberish
'clip-rule'?: Numberish
'color-interpolation'?: Numberish
2020-01-07 05:19:18 +08:00
'color-interpolation-filters'?: 'auto' | 'sRGB' | 'linearRGB' | 'inherit'
'color-profile'?: Numberish
'color-rendering'?: Numberish
contentScriptType?: Numberish
contentStyleType?: Numberish
cursor?: Numberish
cx?: Numberish
cy?: Numberish
2020-01-07 05:19:18 +08:00
d?: string
decelerate?: Numberish
descent?: Numberish
diffuseConstant?: Numberish
direction?: Numberish
display?: Numberish
divisor?: Numberish
'dominant-baseline'?: Numberish
dur?: Numberish
dx?: Numberish
dy?: Numberish
edgeMode?: Numberish
elevation?: Numberish
'enable-background'?: Numberish
end?: Numberish
exponent?: Numberish
externalResourcesRequired?: Numberish
2020-01-07 05:19:18 +08:00
fill?: string
'fill-opacity'?: Numberish
2020-01-07 05:19:18 +08:00
'fill-rule'?: 'nonzero' | 'evenodd' | 'inherit'
filter?: string
filterRes?: Numberish
filterUnits?: Numberish
'flood-color'?: Numberish
'flood-opacity'?: Numberish
focusable?: Numberish
2020-01-07 05:19:18 +08:00
'font-family'?: string
'font-size'?: Numberish
'font-size-adjust'?: Numberish
'font-stretch'?: Numberish
'font-style'?: Numberish
'font-variant'?: Numberish
'font-weight'?: Numberish
format?: Numberish
from?: Numberish
fx?: Numberish
fy?: Numberish
g1?: Numberish
g2?: Numberish
'glyph-name'?: Numberish
'glyph-orientation-horizontal'?: Numberish
'glyph-orientation-vertical'?: Numberish
glyphRef?: Numberish
2020-01-07 05:19:18 +08:00
gradientTransform?: string
gradientUnits?: string
hanging?: Numberish
'horiz-adv-x'?: Numberish
'horiz-origin-x'?: Numberish
2020-01-07 05:19:18 +08:00
href?: string
ideographic?: Numberish
'image-rendering'?: Numberish
in2?: Numberish
2020-01-07 05:19:18 +08:00
in?: string
intercept?: Numberish
k1?: Numberish
k2?: Numberish
k3?: Numberish
k4?: Numberish
k?: Numberish
kernelMatrix?: Numberish
kernelUnitLength?: Numberish
kerning?: Numberish
keyPoints?: Numberish
keySplines?: Numberish
keyTimes?: Numberish
lengthAdjust?: Numberish
'letter-spacing'?: Numberish
'lighting-color'?: Numberish
limitingConeAngle?: Numberish
local?: Numberish
2020-01-07 05:19:18 +08:00
'marker-end'?: string
markerHeight?: Numberish
2020-01-07 05:19:18 +08:00
'marker-mid'?: string
'marker-start'?: string
markerUnits?: Numberish
markerWidth?: Numberish
2020-01-07 05:19:18 +08:00
mask?: string
maskContentUnits?: Numberish
maskUnits?: Numberish
mathematical?: Numberish
mode?: Numberish
numOctaves?: Numberish
offset?: Numberish
opacity?: Numberish
operator?: Numberish
order?: Numberish
orient?: Numberish
orientation?: Numberish
origin?: Numberish
overflow?: Numberish
'overline-position'?: Numberish
'overline-thickness'?: Numberish
'paint-order'?: Numberish
'panose-1'?: Numberish
pathLength?: Numberish
2020-01-07 05:19:18 +08:00
patternContentUnits?: string
patternTransform?: Numberish
2020-01-07 05:19:18 +08:00
patternUnits?: string
'pointer-events'?: Numberish
2020-01-07 05:19:18 +08:00
points?: string
pointsAtX?: Numberish
pointsAtY?: Numberish
pointsAtZ?: Numberish
preserveAlpha?: Numberish
2020-01-07 05:19:18 +08:00
preserveAspectRatio?: string
primitiveUnits?: Numberish
r?: Numberish
radius?: Numberish
refX?: Numberish
refY?: Numberish
renderingIntent?: Numberish
repeatCount?: Numberish
repeatDur?: Numberish
requiredExtensions?: Numberish
requiredFeatures?: Numberish
restart?: Numberish
2020-01-07 05:19:18 +08:00
result?: string
rotate?: Numberish
rx?: Numberish
ry?: Numberish
scale?: Numberish
seed?: Numberish
'shape-rendering'?: Numberish
slope?: Numberish
spacing?: Numberish
specularConstant?: Numberish
specularExponent?: Numberish
speed?: Numberish
2020-01-07 05:19:18 +08:00
spreadMethod?: string
startOffset?: Numberish
stdDeviation?: Numberish
stemh?: Numberish
stemv?: Numberish
stitchTiles?: Numberish
2020-01-07 05:19:18 +08:00
'stop-color'?: string
'stop-opacity'?: Numberish
'strikethrough-position'?: Numberish
'strikethrough-thickness'?: Numberish
string?: Numberish
2020-01-07 05:19:18 +08:00
stroke?: string
'stroke-dasharray'?: Numberish
'stroke-dashoffset'?: Numberish
2020-01-07 05:19:18 +08:00
'stroke-linecap'?: 'butt' | 'round' | 'square' | 'inherit'
'stroke-linejoin'?: 'miter' | 'round' | 'bevel' | 'inherit'
'stroke-miterlimit'?: Numberish
'stroke-opacity'?: Numberish
'stroke-width'?: Numberish
surfaceScale?: Numberish
systemLanguage?: Numberish
tableValues?: Numberish
targetX?: Numberish
targetY?: Numberish
2020-01-07 05:19:18 +08:00
'text-anchor'?: string
'text-decoration'?: Numberish
textLength?: Numberish
'text-rendering'?: Numberish
to?: Numberish
2020-01-07 05:19:18 +08:00
transform?: string
u1?: Numberish
u2?: Numberish
'underline-position'?: Numberish
'underline-thickness'?: Numberish
unicode?: Numberish
'unicode-bidi'?: Numberish
'unicode-range'?: Numberish
'unitsPer-em'?: Numberish
'v-alphabetic'?: Numberish
2020-01-07 05:19:18 +08:00
values?: string
'vector-effect'?: Numberish
2020-01-07 05:19:18 +08:00
version?: string
'vert-adv-y'?: Numberish
'vert-origin-x'?: Numberish
'vert-origin-y'?: Numberish
'v-hanging'?: Numberish
'v-ideographic'?: Numberish
2020-01-07 05:19:18 +08:00
viewBox?: string
viewTarget?: Numberish
visibility?: Numberish
'v-mathematical'?: Numberish
widths?: Numberish
'word-spacing'?: Numberish
'writing-mode'?: Numberish
x1?: Numberish
x2?: Numberish
x?: Numberish
2020-01-07 05:19:18 +08:00
xChannelSelector?: string
'x-height'?: Numberish
2020-04-15 22:51:07 +08:00
xlinkActuate?: string
xlinkArcrole?: string
xlinkHref?: string
xlinkRole?: string
xlinkShow?: string
xlinkTitle?: string
xlinkType?: string
xmlns?: string
xmlnsXlink?: string
y1?: Numberish
y2?: Numberish
y?: Numberish
2020-01-07 05:19:18 +08:00
yChannelSelector?: string
z?: Numberish
2020-01-07 05:19:18 +08:00
zoomAndPan?: string
2018-10-14 08:46:30 +08:00
}
export interface IntrinsicElementAttributes {
2018-10-14 08:46:30 +08:00
a: AnchorHTMLAttributes
abbr: HTMLAttributes
address: HTMLAttributes
area: AreaHTMLAttributes
article: HTMLAttributes
aside: HTMLAttributes
audio: AudioHTMLAttributes
b: HTMLAttributes
base: BaseHTMLAttributes
bdi: HTMLAttributes
bdo: HTMLAttributes
blockquote: BlockquoteHTMLAttributes
body: HTMLAttributes
br: HTMLAttributes
button: ButtonHTMLAttributes
canvas: CanvasHTMLAttributes
caption: HTMLAttributes
cite: HTMLAttributes
code: HTMLAttributes
col: ColHTMLAttributes
colgroup: ColgroupHTMLAttributes
2020-01-07 05:19:18 +08:00
data: DataHTMLAttributes
2018-10-14 08:46:30 +08:00
datalist: HTMLAttributes
dd: HTMLAttributes
del: DelHTMLAttributes
details: DetailsHTMLAttributes
dfn: HTMLAttributes
2020-01-07 05:19:18 +08:00
dialog: DialogHTMLAttributes
2018-10-14 08:46:30 +08:00
div: HTMLAttributes
dl: HTMLAttributes
dt: HTMLAttributes
em: HTMLAttributes
embed: EmbedHTMLAttributes
fieldset: FieldsetHTMLAttributes
figcaption: HTMLAttributes
figure: HTMLAttributes
footer: HTMLAttributes
form: FormHTMLAttributes
h1: HTMLAttributes
h2: HTMLAttributes
h3: HTMLAttributes
h4: HTMLAttributes
h5: HTMLAttributes
h6: HTMLAttributes
head: HTMLAttributes
header: HTMLAttributes
hgroup: HTMLAttributes
hr: HTMLAttributes
html: HtmlHTMLAttributes
i: HTMLAttributes
iframe: IframeHTMLAttributes
img: ImgHTMLAttributes
input: InputHTMLAttributes
ins: InsHTMLAttributes
kbd: HTMLAttributes
keygen: KeygenHTMLAttributes
label: LabelHTMLAttributes
legend: HTMLAttributes
li: LiHTMLAttributes
link: LinkHTMLAttributes
main: HTMLAttributes
map: MapHTMLAttributes
mark: HTMLAttributes
menu: MenuHTMLAttributes
meta: MetaHTMLAttributes
meter: MeterHTMLAttributes
nav: HTMLAttributes
2020-01-07 05:19:18 +08:00
noindex: HTMLAttributes
2018-10-14 08:46:30 +08:00
noscript: HTMLAttributes
object: ObjectHTMLAttributes
ol: OlHTMLAttributes
optgroup: OptgroupHTMLAttributes
option: OptionHTMLAttributes
output: OutputHTMLAttributes
p: HTMLAttributes
param: ParamHTMLAttributes
picture: HTMLAttributes
pre: HTMLAttributes
progress: ProgressHTMLAttributes
q: QuoteHTMLAttributes
rp: HTMLAttributes
rt: HTMLAttributes
ruby: HTMLAttributes
s: HTMLAttributes
samp: HTMLAttributes
script: ScriptHTMLAttributes
section: HTMLAttributes
select: SelectHTMLAttributes
small: HTMLAttributes
source: SourceHTMLAttributes
span: HTMLAttributes
strong: HTMLAttributes
style: StyleHTMLAttributes
sub: HTMLAttributes
summary: HTMLAttributes
sup: HTMLAttributes
table: TableHTMLAttributes
2020-01-07 05:19:18 +08:00
template: HTMLAttributes
2018-10-14 08:46:30 +08:00
tbody: HTMLAttributes
td: TdHTMLAttributes
textarea: TextareaHTMLAttributes
tfoot: HTMLAttributes
th: ThHTMLAttributes
thead: HTMLAttributes
time: TimeHTMLAttributes
title: HTMLAttributes
tr: HTMLAttributes
track: TrackHTMLAttributes
u: HTMLAttributes
ul: HTMLAttributes
var: HTMLAttributes
video: VideoHTMLAttributes
wbr: HTMLAttributes
2020-01-07 05:19:18 +08:00
webview: WebViewHTMLAttributes
// SVG
svg: SVGAttributes
animate: SVGAttributes
animateMotion: SVGAttributes
animateTransform: SVGAttributes
circle: SVGAttributes
clipPath: SVGAttributes
defs: SVGAttributes
desc: SVGAttributes
ellipse: SVGAttributes
feBlend: SVGAttributes
feColorMatrix: SVGAttributes
feComponentTransfer: SVGAttributes
feComposite: SVGAttributes
feConvolveMatrix: SVGAttributes
feDiffuseLighting: SVGAttributes
feDisplacementMap: SVGAttributes
feDistantLight: SVGAttributes
feDropShadow: SVGAttributes
feFlood: SVGAttributes
feFuncA: SVGAttributes
feFuncB: SVGAttributes
feFuncG: SVGAttributes
feFuncR: SVGAttributes
feGaussianBlur: SVGAttributes
feImage: SVGAttributes
feMerge: SVGAttributes
feMergeNode: SVGAttributes
feMorphology: SVGAttributes
feOffset: SVGAttributes
fePointLight: SVGAttributes
feSpecularLighting: SVGAttributes
feSpotLight: SVGAttributes
feTile: SVGAttributes
feTurbulence: SVGAttributes
filter: SVGAttributes
foreignObject: SVGAttributes
g: SVGAttributes
image: SVGAttributes
line: SVGAttributes
linearGradient: SVGAttributes
marker: SVGAttributes
mask: SVGAttributes
metadata: SVGAttributes
mpath: SVGAttributes
path: SVGAttributes
pattern: SVGAttributes
polygon: SVGAttributes
polyline: SVGAttributes
radialGradient: SVGAttributes
rect: SVGAttributes
stop: SVGAttributes
switch: SVGAttributes
symbol: SVGAttributes
text: SVGAttributes
textPath: SVGAttributes
tspan: SVGAttributes
use: SVGAttributes
view: SVGAttributes
2018-10-14 08:46:30 +08:00
}
2020-01-07 05:19:18 +08:00
export interface Events {
2018-10-14 08:46:30 +08:00
// clipboard events
onCopy: ClipboardEvent
onCut: ClipboardEvent
onPaste: ClipboardEvent
// composition events
onCompositionend: CompositionEvent
onCompositionstart: CompositionEvent
onCompositionupdate: CompositionEvent
// drag drop events
onDrag: DragEvent
onDragend: DragEvent
onDragenter: DragEvent
onDragexit: DragEvent
onDragleave: DragEvent
onDragover: DragEvent
onDragstart: DragEvent
onDrop: DragEvent
// focus events
onFocus: FocusEvent
2021-02-04 21:05:24 +08:00
onFocusin: FocusEvent
onFocusout: FocusEvent
2018-10-14 08:46:30 +08:00
onBlur: FocusEvent
// form events
onChange: Event
2020-01-07 05:19:18 +08:00
onBeforeinput: Event
2018-10-14 08:46:30 +08:00
onInput: Event
onReset: Event
onSubmit: Event
onInvalid: Event
// image events
onLoad: Event
onError: Event
// keyboard events
onKeydown: KeyboardEvent
onKeypress: KeyboardEvent
onKeyup: KeyboardEvent
// mouse events
2020-01-07 05:19:18 +08:00
onAuxclick: MouseEvent
2018-10-14 08:46:30 +08:00
onClick: MouseEvent
onContextmenu: MouseEvent
onDblclick: MouseEvent
onMousedown: MouseEvent
onMouseenter: MouseEvent
onMouseleave: MouseEvent
onMousemove: MouseEvent
onMouseout: MouseEvent
onMouseover: MouseEvent
onMouseup: MouseEvent
// media events
onAbort: Event
onCanplay: Event
onCanplaythrough: Event
onDurationchange: Event
onEmptied: Event
onEncrypted: Event
onEnded: Event
onLoadeddata: Event
onLoadedmetadata: Event
onLoadstart: Event
onPause: Event
onPlay: Event
onPlaying: Event
onProgress: Event
onRatechange: Event
onSeeked: Event
onSeeking: Event
onStalled: Event
onSuspend: Event
onTimeupdate: Event
onVolumechange: Event
onWaiting: Event
// selection events
onSelect: Event
// UI events
onScroll: UIEvent
// touch events
onTouchcancel: TouchEvent
onTouchend: TouchEvent
onTouchmove: TouchEvent
onTouchstart: TouchEvent
2020-01-07 05:19:18 +08:00
// pointer events
onPointerdown: PointerEvent
onPointermove: PointerEvent
onPointerup: PointerEvent
onPointercancel: PointerEvent
onPointerenter: PointerEvent
onPointerleave: PointerEvent
onPointerover: PointerEvent
onPointerout: PointerEvent
2018-10-14 08:46:30 +08:00
// wheel events
onWheel: WheelEvent
// animation events
onAnimationstart: AnimationEvent
onAnimationend: AnimationEvent
onAnimationiteration: AnimationEvent
// transition events
onTransitionend: TransitionEvent
onTransitionstart: TransitionEvent
}
type EventHandlers<E> = {
2023-01-12 19:58:11 +08:00
[K in keyof E]?: E[K] extends (...args: any) => any
? E[K]
: (payload: E[K]) => void
2018-10-14 08:46:30 +08:00
}
import type { VNodeRef } from '@vue/runtime-core'
export type ReservedProps = {
key?: string | number | symbol
ref?: VNodeRef
ref_for?: boolean
ref_key?: string
}
export type NativeElements = {
[K in keyof IntrinsicElementAttributes]: IntrinsicElementAttributes[K] &
ReservedProps
}