types: basic tsx support
This commit is contained in:
parent
2599580bca
commit
b3e3fd6ef5
12
packages/core/jsx.d.ts
vendored
Normal file
12
packages/core/jsx.d.ts
vendored
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
declare namespace JSX {
|
||||||
|
interface Element {}
|
||||||
|
interface ElementClass {
|
||||||
|
render(props: any, slots: any, attrs: any): any
|
||||||
|
}
|
||||||
|
interface ElementAttributesProperty {
|
||||||
|
$props: {}
|
||||||
|
}
|
||||||
|
interface IntrinsicElements {
|
||||||
|
[name: string]: any
|
||||||
|
}
|
||||||
|
}
|
@ -13,9 +13,9 @@ import { nextTick } from '@vue/scheduler'
|
|||||||
import { ErrorTypes } from './errorHandling'
|
import { ErrorTypes } from './errorHandling'
|
||||||
import { initializeComponentInstance } from './componentUtils'
|
import { initializeComponentInstance } from './componentUtils'
|
||||||
|
|
||||||
export interface ComponentClass<P = {}> extends ComponentClassOptions {
|
export interface ComponentClass extends ComponentClassOptions {
|
||||||
options?: ComponentOptions
|
options?: ComponentOptions
|
||||||
new <P = {}, D = {}>(props?: P): MergedComponent<P, D>
|
new <P = {}, D = {}>(): MergedComponent<P, D>
|
||||||
}
|
}
|
||||||
|
|
||||||
export type MergedComponent<P, D> = D & P & ComponentInstance<P, D>
|
export type MergedComponent<P, D> = D & P & ComponentInstance<P, D>
|
||||||
@ -96,7 +96,6 @@ class InternalComponent {
|
|||||||
public _events: { [event: string]: Function[] | null } | null = null
|
public _events: { [event: string]: Function[] | null } | null = null
|
||||||
public _updateHandle: Autorun | null = null
|
public _updateHandle: Autorun | null = null
|
||||||
public _queueJob: ((fn: () => void) => void) | null = null
|
public _queueJob: ((fn: () => void) => void) | null = null
|
||||||
public _revokeProxy: () => void
|
|
||||||
public _isVue: boolean = true
|
public _isVue: boolean = true
|
||||||
public _inactiveRoot: boolean = false
|
public _inactiveRoot: boolean = false
|
||||||
|
|
||||||
|
763
packages/renderer-dom/jsx.d.ts
vendored
Normal file
763
packages/renderer-dom/jsx.d.ts
vendored
Normal file
@ -0,0 +1,763 @@
|
|||||||
|
// This code is based on https://github.com/wonderful-panda/vue-tsx-support
|
||||||
|
// published under the MIT license.
|
||||||
|
// Copyright by @wonderful-panda
|
||||||
|
//
|
||||||
|
// which is in turn based on the react definition in DefinitelyTyped
|
||||||
|
// published under the MIT license.
|
||||||
|
// Repository: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||||
|
// Path in the repository: types/react/v15/index.d.ts
|
||||||
|
//
|
||||||
|
// Copyrights of original definition are:
|
||||||
|
// Asana <https://asana.com>
|
||||||
|
// AssureSign <http://www.assuresign.com>
|
||||||
|
// Microsoft <https://microsoft.com>
|
||||||
|
// John Reilly <https://github.com/johnnyreilly/>
|
||||||
|
// Benoit Benezech <https://github.com/bbenezech>
|
||||||
|
// Patricio Zavolinsky <https://github.com/pzavolinsky>
|
||||||
|
// Digiguru <https://github.com/digiguru>
|
||||||
|
// Eric Anderson <https://github.com/ericanderson>
|
||||||
|
// Albert Kurniawan <https://github.com/morcerf>
|
||||||
|
// Tanguy Krotoff <https://github.com/tkrotoff>
|
||||||
|
// Dovydas Navickas <https://github.com/DovydasNavickas>
|
||||||
|
// Stéphane Goetz <https://github.com/onigoetz>
|
||||||
|
|
||||||
|
interface HTMLAttributes {
|
||||||
|
class?: any
|
||||||
|
style?: string | { [key: string]: string | number }
|
||||||
|
accesskey?: string
|
||||||
|
contenteditable?: boolean
|
||||||
|
contextmenu?: string
|
||||||
|
dir?: string
|
||||||
|
disabled?: boolean
|
||||||
|
draggable?: boolean
|
||||||
|
hidden?: boolean
|
||||||
|
id?: string
|
||||||
|
lang?: string
|
||||||
|
spellcheck?: boolean
|
||||||
|
tabindex?: number
|
||||||
|
title?: string
|
||||||
|
|
||||||
|
role?: string
|
||||||
|
}
|
||||||
|
|
||||||
|
interface AnchorHTMLAttributes extends HTMLAttributes {
|
||||||
|
download?: any
|
||||||
|
href?: string
|
||||||
|
hreflang?: string
|
||||||
|
media?: string
|
||||||
|
rel?: string
|
||||||
|
target?: string
|
||||||
|
}
|
||||||
|
|
||||||
|
interface AreaHTMLAttributes extends HTMLAttributes {
|
||||||
|
alt?: string
|
||||||
|
coord?: string
|
||||||
|
download?: any
|
||||||
|
href?: string
|
||||||
|
hreflang?: string
|
||||||
|
media?: string
|
||||||
|
rel?: string
|
||||||
|
shape?: string
|
||||||
|
target?: string
|
||||||
|
}
|
||||||
|
|
||||||
|
interface AudioHTMLAttributes extends MediaHTMLAttributes {}
|
||||||
|
|
||||||
|
interface BaseHTMLAttributes extends HTMLAttributes {
|
||||||
|
href?: string
|
||||||
|
target?: string
|
||||||
|
}
|
||||||
|
|
||||||
|
interface BlockquoteHTMLAttributes extends HTMLAttributes {
|
||||||
|
cite?: string
|
||||||
|
}
|
||||||
|
|
||||||
|
interface ButtonHTMLAttributes extends HTMLAttributes {
|
||||||
|
autofocus?: boolean
|
||||||
|
disabled?: boolean
|
||||||
|
form?: string
|
||||||
|
formaction?: string
|
||||||
|
formenctype?: string
|
||||||
|
formmethod?: string
|
||||||
|
formnovalidate?: boolean
|
||||||
|
formtarget?: string
|
||||||
|
name?: string
|
||||||
|
type?: string
|
||||||
|
value?: string | string[] | number
|
||||||
|
}
|
||||||
|
|
||||||
|
interface CanvasHTMLAttributes extends HTMLAttributes {
|
||||||
|
height?: number | string
|
||||||
|
width?: number | string
|
||||||
|
}
|
||||||
|
|
||||||
|
interface ColHTMLAttributes extends HTMLAttributes {
|
||||||
|
span?: number
|
||||||
|
}
|
||||||
|
|
||||||
|
interface ColgroupHTMLAttributes extends ColHTMLAttributes {}
|
||||||
|
|
||||||
|
interface DetailsHTMLAttributes extends HTMLAttributes {
|
||||||
|
open?: boolean
|
||||||
|
}
|
||||||
|
|
||||||
|
interface DelHTMLAttributes extends HTMLAttributes {
|
||||||
|
cite?: string
|
||||||
|
datetime?: string
|
||||||
|
}
|
||||||
|
|
||||||
|
interface EmbedHTMLAttributes extends HTMLAttributes {
|
||||||
|
height?: number | string
|
||||||
|
src?: string
|
||||||
|
type?: string
|
||||||
|
width?: number | string
|
||||||
|
}
|
||||||
|
|
||||||
|
interface FieldsetHTMLAttributes extends HTMLAttributes {
|
||||||
|
disabled?: boolean
|
||||||
|
form?: string
|
||||||
|
name?: string
|
||||||
|
}
|
||||||
|
|
||||||
|
interface FormHTMLAttributes extends HTMLAttributes {
|
||||||
|
acceptcharset?: string
|
||||||
|
action?: string
|
||||||
|
autocomplete?: string
|
||||||
|
enctype?: string
|
||||||
|
method?: string
|
||||||
|
name?: string
|
||||||
|
novalidate?: boolean
|
||||||
|
target?: string
|
||||||
|
}
|
||||||
|
|
||||||
|
interface HtmlHTMLAttributes extends HTMLAttributes {
|
||||||
|
manifest?: string
|
||||||
|
}
|
||||||
|
|
||||||
|
interface IframeHTMLAttributes extends HTMLAttributes {
|
||||||
|
allowfullscreen?: boolean
|
||||||
|
allowtransparency?: boolean
|
||||||
|
frameborder?: number | string
|
||||||
|
height?: number | string
|
||||||
|
marginheight?: number
|
||||||
|
marginwidth?: number
|
||||||
|
name?: string
|
||||||
|
sandbox?: string
|
||||||
|
scrolling?: string
|
||||||
|
seamless?: boolean
|
||||||
|
src?: string
|
||||||
|
srcdoc?: string
|
||||||
|
width?: number | string
|
||||||
|
}
|
||||||
|
|
||||||
|
interface ImgHTMLAttributes extends HTMLAttributes {
|
||||||
|
alt?: string
|
||||||
|
height?: number | string
|
||||||
|
sizes?: string
|
||||||
|
src?: string
|
||||||
|
srcset?: string
|
||||||
|
usemap?: string
|
||||||
|
width?: number | string
|
||||||
|
}
|
||||||
|
|
||||||
|
interface InsHTMLAttributes extends HTMLAttributes {
|
||||||
|
cite?: string
|
||||||
|
datetime?: string
|
||||||
|
}
|
||||||
|
|
||||||
|
interface InputHTMLAttributes extends HTMLAttributes {
|
||||||
|
accept?: string
|
||||||
|
alt?: string
|
||||||
|
autocomplete?: string
|
||||||
|
autofocus?: boolean
|
||||||
|
capture?: boolean // https://www.w3.org/tr/html-media-capture/#the-capture-attribute
|
||||||
|
checked?: boolean
|
||||||
|
crossorigin?: string
|
||||||
|
disabled?: boolean
|
||||||
|
form?: string
|
||||||
|
formaction?: string
|
||||||
|
formenctype?: string
|
||||||
|
formmethod?: string
|
||||||
|
formnovalidate?: boolean
|
||||||
|
formtarget?: string
|
||||||
|
height?: number | string
|
||||||
|
list?: string
|
||||||
|
max?: number | string
|
||||||
|
maxlength?: number
|
||||||
|
min?: number | string
|
||||||
|
minlength?: number
|
||||||
|
multiple?: boolean
|
||||||
|
name?: string
|
||||||
|
pattern?: string
|
||||||
|
placeholder?: string
|
||||||
|
readonly?: boolean
|
||||||
|
required?: boolean
|
||||||
|
size?: number
|
||||||
|
src?: string
|
||||||
|
step?: number | string
|
||||||
|
type?: string
|
||||||
|
value?: string | string[] | number
|
||||||
|
width?: number | string
|
||||||
|
}
|
||||||
|
|
||||||
|
interface KeygenHTMLAttributes extends HTMLAttributes {
|
||||||
|
autofocus?: boolean
|
||||||
|
challenge?: string
|
||||||
|
disabled?: boolean
|
||||||
|
form?: string
|
||||||
|
keytype?: string
|
||||||
|
keyparams?: string
|
||||||
|
name?: string
|
||||||
|
}
|
||||||
|
|
||||||
|
interface LabelHTMLAttributes extends HTMLAttributes {
|
||||||
|
form?: string
|
||||||
|
htmlfor?: string
|
||||||
|
}
|
||||||
|
|
||||||
|
interface LiHTMLAttributes extends HTMLAttributes {
|
||||||
|
value?: string | string[] | number
|
||||||
|
}
|
||||||
|
|
||||||
|
interface LinkHTMLAttributes extends HTMLAttributes {
|
||||||
|
href?: string
|
||||||
|
hreflang?: string
|
||||||
|
integrity?: string
|
||||||
|
media?: string
|
||||||
|
rel?: string
|
||||||
|
sizes?: string
|
||||||
|
type?: string
|
||||||
|
}
|
||||||
|
|
||||||
|
interface MapHTMLAttributes extends HTMLAttributes {
|
||||||
|
name?: string
|
||||||
|
}
|
||||||
|
|
||||||
|
interface MenuHTMLAttributes extends HTMLAttributes {
|
||||||
|
type?: string
|
||||||
|
}
|
||||||
|
|
||||||
|
interface MediaHTMLAttributes extends HTMLAttributes {
|
||||||
|
autoplay?: boolean
|
||||||
|
controls?: boolean
|
||||||
|
crossorigin?: string
|
||||||
|
loop?: boolean
|
||||||
|
mediagroup?: string
|
||||||
|
muted?: boolean
|
||||||
|
preload?: string
|
||||||
|
src?: string
|
||||||
|
}
|
||||||
|
|
||||||
|
interface MetaHTMLAttributes extends HTMLAttributes {
|
||||||
|
charset?: string
|
||||||
|
content?: string
|
||||||
|
httpequiv?: string
|
||||||
|
name?: string
|
||||||
|
}
|
||||||
|
|
||||||
|
interface MeterHTMLAttributes extends HTMLAttributes {
|
||||||
|
form?: string
|
||||||
|
high?: number
|
||||||
|
low?: number
|
||||||
|
max?: number | string
|
||||||
|
min?: number | string
|
||||||
|
optimum?: number
|
||||||
|
value?: string | string[] | number
|
||||||
|
}
|
||||||
|
|
||||||
|
interface QuoteHTMLAttributes extends HTMLAttributes {
|
||||||
|
cite?: string
|
||||||
|
}
|
||||||
|
|
||||||
|
interface ObjectHTMLAttributes extends HTMLAttributes {
|
||||||
|
classid?: string
|
||||||
|
data?: string
|
||||||
|
form?: string
|
||||||
|
height?: number | string
|
||||||
|
name?: string
|
||||||
|
type?: string
|
||||||
|
usemap?: string
|
||||||
|
width?: number | string
|
||||||
|
wmode?: string
|
||||||
|
}
|
||||||
|
|
||||||
|
interface OlHTMLAttributes extends HTMLAttributes {
|
||||||
|
reversed?: boolean
|
||||||
|
start?: number
|
||||||
|
}
|
||||||
|
|
||||||
|
interface OptgroupHTMLAttributes extends HTMLAttributes {
|
||||||
|
disabled?: boolean
|
||||||
|
label?: string
|
||||||
|
}
|
||||||
|
|
||||||
|
interface OptionHTMLAttributes extends HTMLAttributes {
|
||||||
|
disabled?: boolean
|
||||||
|
label?: string
|
||||||
|
selected?: boolean
|
||||||
|
value?: string | string[] | number
|
||||||
|
}
|
||||||
|
|
||||||
|
interface OutputHTMLAttributes extends HTMLAttributes {
|
||||||
|
form?: string
|
||||||
|
htmlfor?: string
|
||||||
|
name?: string
|
||||||
|
}
|
||||||
|
|
||||||
|
interface ParamHTMLAttributes extends HTMLAttributes {
|
||||||
|
name?: string
|
||||||
|
value?: string | string[] | number
|
||||||
|
}
|
||||||
|
|
||||||
|
interface ProgressHTMLAttributes extends HTMLAttributes {
|
||||||
|
max?: number | string
|
||||||
|
value?: string | string[] | number
|
||||||
|
}
|
||||||
|
|
||||||
|
interface ScriptHTMLAttributes extends HTMLAttributes {
|
||||||
|
async?: boolean
|
||||||
|
charset?: string
|
||||||
|
crossorigin?: string
|
||||||
|
defer?: boolean
|
||||||
|
integrity?: string
|
||||||
|
nonce?: string
|
||||||
|
src?: string
|
||||||
|
type?: string
|
||||||
|
}
|
||||||
|
|
||||||
|
interface SelectHTMLAttributes extends HTMLAttributes {
|
||||||
|
autofocus?: boolean
|
||||||
|
disabled?: boolean
|
||||||
|
form?: string
|
||||||
|
multiple?: boolean
|
||||||
|
name?: string
|
||||||
|
required?: boolean
|
||||||
|
size?: number
|
||||||
|
value?: string | string[] | number
|
||||||
|
}
|
||||||
|
|
||||||
|
interface SourceHTMLAttributes extends HTMLAttributes {
|
||||||
|
media?: string
|
||||||
|
sizes?: string
|
||||||
|
src?: string
|
||||||
|
srcset?: string
|
||||||
|
type?: string
|
||||||
|
}
|
||||||
|
|
||||||
|
interface StyleHTMLAttributes extends HTMLAttributes {
|
||||||
|
media?: string
|
||||||
|
nonce?: string
|
||||||
|
scoped?: boolean
|
||||||
|
type?: string
|
||||||
|
}
|
||||||
|
|
||||||
|
interface TableHTMLAttributes extends HTMLAttributes {
|
||||||
|
cellpadding?: number | string
|
||||||
|
cellspacing?: number | string
|
||||||
|
summary?: string
|
||||||
|
}
|
||||||
|
|
||||||
|
interface TextareaHTMLAttributes extends HTMLAttributes {
|
||||||
|
autocomplete?: string
|
||||||
|
autofocus?: boolean
|
||||||
|
cols?: number
|
||||||
|
dirname?: string
|
||||||
|
disabled?: boolean
|
||||||
|
form?: string
|
||||||
|
maxlength?: number
|
||||||
|
minlength?: number
|
||||||
|
name?: string
|
||||||
|
placeholder?: string
|
||||||
|
readonly?: boolean
|
||||||
|
required?: boolean
|
||||||
|
rows?: number
|
||||||
|
value?: string | string[] | number
|
||||||
|
wrap?: string
|
||||||
|
}
|
||||||
|
|
||||||
|
interface TdHTMLAttributes extends HTMLAttributes {
|
||||||
|
colspan?: number
|
||||||
|
headers?: string
|
||||||
|
rowspan?: number
|
||||||
|
}
|
||||||
|
|
||||||
|
interface ThHTMLAttributes extends HTMLAttributes {
|
||||||
|
colspan?: number
|
||||||
|
headers?: string
|
||||||
|
rowspan?: number
|
||||||
|
scope?: string
|
||||||
|
}
|
||||||
|
|
||||||
|
interface TimeHTMLAttributes extends HTMLAttributes {
|
||||||
|
datetime?: string
|
||||||
|
}
|
||||||
|
|
||||||
|
interface TrackHTMLAttributes extends HTMLAttributes {
|
||||||
|
default?: boolean
|
||||||
|
kind?: string
|
||||||
|
label?: string
|
||||||
|
src?: string
|
||||||
|
srclang?: string
|
||||||
|
}
|
||||||
|
|
||||||
|
interface VideoHTMLAttributes extends MediaHTMLAttributes {
|
||||||
|
height?: number | string
|
||||||
|
playsinline?: boolean
|
||||||
|
poster?: string
|
||||||
|
width?: number | string
|
||||||
|
}
|
||||||
|
|
||||||
|
interface AllHTMLAttributes extends HTMLAttributes {
|
||||||
|
accept?: string
|
||||||
|
acceptcharset?: string
|
||||||
|
action?: boolean
|
||||||
|
allowfullscreen?: boolean
|
||||||
|
allowtransparency?: boolean
|
||||||
|
alt?: string
|
||||||
|
async?: boolean
|
||||||
|
autocomplete?: string
|
||||||
|
autofocus?: boolean
|
||||||
|
autoplay?: boolean
|
||||||
|
capture?: boolean // https://www.w3.org/tr/html-media-capture/#the-capture-attribute
|
||||||
|
cellpadding?: number | string
|
||||||
|
cellspacing?: number | string
|
||||||
|
challenge?: string
|
||||||
|
charset?: string
|
||||||
|
checked?: boolean
|
||||||
|
cite?: string
|
||||||
|
classid?: string
|
||||||
|
cols?: number
|
||||||
|
colspan?: number
|
||||||
|
content?: string
|
||||||
|
controls?: boolean
|
||||||
|
coord?: string
|
||||||
|
crossorigin?: string
|
||||||
|
data?: string
|
||||||
|
datetime?: string
|
||||||
|
default?: boolean
|
||||||
|
defer?: boolean
|
||||||
|
dirname?: string
|
||||||
|
disabled?: boolean
|
||||||
|
download?: any
|
||||||
|
enctype?: string
|
||||||
|
form?: string
|
||||||
|
formaction?: string
|
||||||
|
formenctype?: string
|
||||||
|
formmethod?: string
|
||||||
|
formnovalidate?: boolean
|
||||||
|
formtarget?: string
|
||||||
|
frameborder?: number | string
|
||||||
|
headers?: string
|
||||||
|
height?: number | string
|
||||||
|
high?: number
|
||||||
|
href?: string
|
||||||
|
hreflang?: string
|
||||||
|
htmlfor?: string
|
||||||
|
httpequiv?: string
|
||||||
|
integrity?: string
|
||||||
|
keyparams?: string
|
||||||
|
keytype?: string
|
||||||
|
kind?: string
|
||||||
|
label?: string
|
||||||
|
list?: string
|
||||||
|
loop?: boolean
|
||||||
|
low?: number
|
||||||
|
manifest?: string
|
||||||
|
marginheight?: number
|
||||||
|
marginwidth?: number
|
||||||
|
max?: number | string
|
||||||
|
maxlength?: number
|
||||||
|
media?: string
|
||||||
|
mediagroup?: string
|
||||||
|
method?: string
|
||||||
|
min?: number | string
|
||||||
|
minlength?: number
|
||||||
|
multiple?: boolean
|
||||||
|
muted?: boolean
|
||||||
|
name?: string
|
||||||
|
nonce?: string
|
||||||
|
novalidate?: boolean
|
||||||
|
open?: boolean
|
||||||
|
optimum?: number
|
||||||
|
pattern?: string
|
||||||
|
placeholder?: string
|
||||||
|
playsinline?: boolean
|
||||||
|
poster?: string
|
||||||
|
preload?: string
|
||||||
|
readonly?: boolean
|
||||||
|
rel?: string
|
||||||
|
required?: boolean
|
||||||
|
reversed?: boolean
|
||||||
|
rows?: number
|
||||||
|
rowspan?: number
|
||||||
|
sandbox?: string
|
||||||
|
scope?: string
|
||||||
|
scoped?: boolean
|
||||||
|
scrolling?: string
|
||||||
|
seamless?: boolean
|
||||||
|
selected?: boolean
|
||||||
|
shape?: string
|
||||||
|
size?: number
|
||||||
|
sizes?: string
|
||||||
|
span?: number
|
||||||
|
src?: string
|
||||||
|
srcdoc?: string
|
||||||
|
srclang?: string
|
||||||
|
srcset?: string
|
||||||
|
start?: number
|
||||||
|
step?: number | string
|
||||||
|
summary?: string
|
||||||
|
target?: string
|
||||||
|
type?: string
|
||||||
|
usemap?: string
|
||||||
|
value?: string | string[] | number
|
||||||
|
width?: number | string
|
||||||
|
wmode?: string
|
||||||
|
wrap?: string
|
||||||
|
}
|
||||||
|
|
||||||
|
interface IntrinsicElementAttributes {
|
||||||
|
a: AnchorHTMLAttributes
|
||||||
|
abbr: HTMLAttributes
|
||||||
|
address: HTMLAttributes
|
||||||
|
area: AreaHTMLAttributes
|
||||||
|
article: HTMLAttributes
|
||||||
|
aside: HTMLAttributes
|
||||||
|
audio: AudioHTMLAttributes
|
||||||
|
b: HTMLAttributes
|
||||||
|
base: BaseHTMLAttributes
|
||||||
|
bdi: HTMLAttributes
|
||||||
|
bdo: HTMLAttributes
|
||||||
|
big: HTMLAttributes
|
||||||
|
blockquote: BlockquoteHTMLAttributes
|
||||||
|
body: HTMLAttributes
|
||||||
|
br: HTMLAttributes
|
||||||
|
button: ButtonHTMLAttributes
|
||||||
|
canvas: CanvasHTMLAttributes
|
||||||
|
caption: HTMLAttributes
|
||||||
|
cite: HTMLAttributes
|
||||||
|
code: HTMLAttributes
|
||||||
|
col: ColHTMLAttributes
|
||||||
|
colgroup: ColgroupHTMLAttributes
|
||||||
|
data: HTMLAttributes
|
||||||
|
datalist: HTMLAttributes
|
||||||
|
dd: HTMLAttributes
|
||||||
|
del: DelHTMLAttributes
|
||||||
|
details: DetailsHTMLAttributes
|
||||||
|
dfn: HTMLAttributes
|
||||||
|
dialog: HTMLAttributes
|
||||||
|
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
|
||||||
|
menuitem: HTMLAttributes
|
||||||
|
meta: MetaHTMLAttributes
|
||||||
|
meter: MeterHTMLAttributes
|
||||||
|
nav: HTMLAttributes
|
||||||
|
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
|
||||||
|
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
|
||||||
|
}
|
||||||
|
|
||||||
|
interface Events {
|
||||||
|
// 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
|
||||||
|
onBlur: FocusEvent
|
||||||
|
|
||||||
|
// form events
|
||||||
|
onChange: Event
|
||||||
|
onInput: Event
|
||||||
|
onReset: Event
|
||||||
|
onSubmit: Event
|
||||||
|
onInvalid: Event
|
||||||
|
|
||||||
|
// image events
|
||||||
|
onLoad: Event
|
||||||
|
onError: Event
|
||||||
|
|
||||||
|
// keyboard events
|
||||||
|
onKeydown: KeyboardEvent
|
||||||
|
onKeypress: KeyboardEvent
|
||||||
|
onKeyup: KeyboardEvent
|
||||||
|
|
||||||
|
// mouse events
|
||||||
|
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
|
||||||
|
|
||||||
|
// wheel events
|
||||||
|
onWheel: WheelEvent
|
||||||
|
|
||||||
|
// animation events
|
||||||
|
onAnimationstart: AnimationEvent
|
||||||
|
onAnimationend: AnimationEvent
|
||||||
|
onAnimationiteration: AnimationEvent
|
||||||
|
|
||||||
|
// transition events
|
||||||
|
onTransitionend: TransitionEvent
|
||||||
|
onTransitionstart: TransitionEvent
|
||||||
|
}
|
||||||
|
|
||||||
|
type StringKeyOf<T> = Extract<keyof T, string>
|
||||||
|
|
||||||
|
type EventHandlers<E> = {
|
||||||
|
[K in StringKeyOf<E>]?: E[K] extends Function ? E[K] : (payload: E[K]) => void
|
||||||
|
}
|
||||||
|
|
||||||
|
type ElementAttrs<T> = T & EventHandlers<Events>
|
||||||
|
|
||||||
|
type NativeElements = {
|
||||||
|
[K in StringKeyOf<IntrinsicElementAttributes>]: ElementAttrs<
|
||||||
|
IntrinsicElementAttributes[K]
|
||||||
|
>
|
||||||
|
}
|
||||||
|
|
||||||
|
declare namespace JSX {
|
||||||
|
interface Element {}
|
||||||
|
interface ElementClass {
|
||||||
|
render(props: any, slots: any, attrs: any): any
|
||||||
|
}
|
||||||
|
interface ElementAttributesProperty {
|
||||||
|
$props: {}
|
||||||
|
}
|
||||||
|
interface IntrinsicElements extends NativeElements {
|
||||||
|
// allow arbitrary elements
|
||||||
|
[name: string]: any
|
||||||
|
}
|
||||||
|
}
|
@ -12,6 +12,7 @@
|
|||||||
"noImplicitAny": true,
|
"noImplicitAny": true,
|
||||||
"experimentalDecorators": true,
|
"experimentalDecorators": true,
|
||||||
"removeComments": false,
|
"removeComments": false,
|
||||||
|
"jsx": "preserve",
|
||||||
"lib": [
|
"lib": [
|
||||||
"esnext",
|
"esnext",
|
||||||
"dom"
|
"dom"
|
||||||
@ -29,6 +30,7 @@
|
|||||||
},
|
},
|
||||||
"include": [
|
"include": [
|
||||||
"packages/global.d.ts",
|
"packages/global.d.ts",
|
||||||
|
"packages/renderer-dom/jsx.d.ts",
|
||||||
"packages/*/src",
|
"packages/*/src",
|
||||||
"packages/*/__tests__"
|
"packages/*/__tests__"
|
||||||
]
|
]
|
||||||
|
Loading…
Reference in New Issue
Block a user