Commit Graph

152 Commits

Author SHA1 Message Date
webfansplz
0b3cf7dda9
fix(types): stricter type condition for EventHandlers (#12840)
fix #12832
2022-11-09 04:25:28 -05:00
Blake Newman
8e262618cd fix(types): style attribute svg (#12800)
Set style attribute on svg to use `StyleValue`
2022-10-12 21:43:42 +08:00
fukang wang
bc5b92adde
fix(types): fix error with options watch (#12779)
fix #12780
2022-10-11 02:43:33 -04:00
Shiluo34
87f69aa26f
fix(types): support Ref and function types in tsx ref attribute (#12759)
fix #12758
2022-10-11 01:36:50 -04:00
ZHAO Jinxiang
27eed829cc
fix(types): vue 3 directive type compatibility (#12792) 2022-10-10 23:51:05 -04:00
Nathan Shively-Sanders
810f6d12ed
fix(types): Add missing type parameter constraints (#12754) 2022-08-22 10:28:39 +08:00
Evan You
8521f9d3f6 fix(types): fix missing error for accessing undefined instance properties
fix #12718
2022-08-19 12:22:51 +08:00
gu
89a6b5e865
feat(types): support mixins inference for new Vue() (#12737)
close #12730
2022-08-18 03:56:37 -04:00
Evan You
b4bf4c52ad fix(types): allow attaching unknown options to defined component
fix #12742
2022-08-18 15:32:12 +08:00
Evan You
80d1baf920 feat(types): export DefineComponent
close #12748
2022-08-18 15:23:47 +08:00
Evan You
4b37b568c7 fix(types): fix options suggestions when using defineComponent
functional component overloads should be moved last

fix #12736
2022-08-15 09:53:12 +08:00
jf-paradis
00458cd38d
fix(types): Make SetupBindings optional on ExtendedVue and CombinedVueInstance (#12727)
fix #12726
fix #12717
2022-08-08 20:50:53 -04:00
Daniel Roe
ba7dd2c4ed
fix(types): export defineAsyncComponent type (#12684) 2022-07-21 22:18:52 -04:00
Evan You
fabc1cf89f fix(types): avoid circular type inference between v2 and v3 instance types
fix #12683
2022-07-22 10:06:43 +08:00
Evan You
ce6fc149e3 types: fix manual api types for useAttrs/useListeners 2022-07-22 10:05:35 +08:00
Evan You
adf3ac8adc feat(setup): support listeners on setup context + useListeners() helper
These are added because Vue 2 does not include listeners in
`context.attrs` so there is no way to access the equivalent of
`this.$listeners` in `setup()`.
2022-07-20 12:13:04 +08:00
Nathan Shively-Sanders
46ec648694
fix(types): vue.d.ts should use relative import to v3-component-public-instance (#12668)
fix #12666
2022-07-16 08:21:07 -04:00
Evan You
9ed684785f test: add test for type casting $refs to defineComponent instance type 2022-07-15 17:07:19 +08:00
Nikhil Verma
fffbb9e856
fix(types): $refs can also contain ComponentPublicInstance (#12659) 2022-07-15 05:05:04 -04:00
Evan You
e0a9546ef3 fix(types): fix missing expose() type on setup context
fix #12660
2022-07-15 16:58:01 +08:00
Evan You
52a59790a5 fix(types): fix $children and $root instance types
fix #12655
2022-07-15 16:52:27 +08:00
Evan You
005e52d0b6 fix(types): support Vue interface augmentations in defineComponent
fix #12642
2022-07-13 10:44:57 +08:00
Evan You
04b4703de7 fix(sfc): fix sfc name inference type check
fix #12637
2022-07-12 17:39:49 +08:00
Evan You
f8de4ca9d4 fix(types): fix missing instance properties on defineComponent this
ref https://github.com/vuejs/vue/issues/12628#issuecomment-1177258223
2022-07-08 15:39:16 +08:00
Evan You
d3add06e6e fix(types): fix this.$slots type for defineComponent 2022-07-08 15:17:22 +08:00
Evan You
1d5a411c1e fix(types): fix type inference when using components option 2022-07-08 15:15:22 +08:00
Evan You
559600f13d feat: support functional components in defineComponent
close #12619
2022-07-08 11:18:36 +08:00
Evan You
9d12106e21 feat: defineAsyncComponent
close #12608
2022-07-08 10:55:23 +08:00
Evan You
26ff4bc0ed fix(types): global component registration type compat w/ defineComponent
fix #12622
2022-07-08 10:39:36 +08:00
Evan You
94ccca207c fix(types): allow slot attribute
close #12617
2022-07-06 11:17:33 +08:00
Evan You
fb93c1be77
feat(types): define component improvements (#12612) 2022-07-04 22:12:21 -04:00
Kael
d45bbeac27 feat: allow passing directive definition directly to h() (#12590) 2022-07-04 18:40:12 +08:00
lsdsjy
11e4bfe806
fix: types/v3-directive not published (#12571) 2022-06-27 02:50:41 -04:00
Evan You
65531f5803 fix(types): fix instance type inference for setup() with no return value
fix #12568
2022-06-22 09:44:41 +08:00
Evan You
7173ad4272 feat: types for <script setup> macros 2022-06-16 10:19:01 +08:00
Evan You
c678e3134b types: include jsx typing 2022-06-09 14:45:11 +08:00
Evan You
ffaf81ba5f chore: fix type tests 2022-06-01 22:12:02 +08:00
Evan You
206f8a7f09 wip: defineComponent 2022-06-01 21:55:33 +08:00
Evan You
5673363eda feat: expose set/del as named exports 2022-06-01 09:46:50 +08:00
Evan You
2acb5474bc types: generate types for v3 apis 2022-05-30 21:36:07 +08:00
Evan You
dae380dc24 wip: renderTriggered/renderTracked 2022-05-29 16:01:38 +08:00
Evan You
1e4ac46fe5 wip: lifecycle api 2022-05-27 23:40:03 +08:00
Evan You
93214586aa types: types for setup() + format types 2022-05-27 17:26:55 +08:00
Evan You
73bcd07194 test: all features except transition pass 2022-05-20 10:12:40 +08:00
David Welch
40dccfedd1 chore: fix test harness; most of the tooling + test harness is happy; coverage still needs fixing 2022-05-03 11:04:55 -06:00
David Welch
be4b617942 chore: cleanup on tests; babel preset for typescript help 2022-05-01 14:37:05 -06:00
David Welch
534a0aa863 chore: convert tests to typescript 2022-04-29 15:43:25 -06:00
Sebastian Krüger
c52427b0d2
fix(types): async Component types (#11906)
* Update options.d.ts

* Create async-component-test.ts

* add generics to Component ad EsModuleComponent

* remove not needed , and ;

* revert unrelated changes

* revert unrelated changes

* revert unrelated changes

* revert unrelated changes

* optimize EsModuleImports

* Update async-component-test.ts
2021-06-03 15:13:33 +02:00
WORMSS
2b93e86aa1
fix(types): make $refs undefined possible (#11112)
Added undefined as a return type of $refs as it was quite hard to convince typescript that something COULD be undefined if you type in a ref that doesn't exist,
I also changed the two array statements from `Element[] | Vue[]` to `(Element | Vue)[]` because it's not guaranteed that they are ALL Elements or they are ALL Vue components. (Very likely, yes, but not always)
For example
```html
<template v-for="(a, index) of b">
  <div v-if="index % 2 === 0" ref="test"></div>
  <my-component v-else ref="test"></my-component>
</template>
```
2021-04-16 17:59:37 +02:00
Zen
5c459f0fd6
fix(types): allow symbol & boolean for vnode key (#11914) 2021-04-07 11:37:53 +02:00