Commit Graph

42 Commits

Author SHA1 Message Date
Kael
4f26835dac
fix(types/tsx): make JSX.Element extend VNode (#3171) 2021-03-29 17:38:25 -04:00
Carlos Rodrigues
1f2a652a9d
fix(types): h support for resolveComponent (#2402)
close #2357
2020-10-20 15:56:29 -04:00
Carlos Rodrigues
4fd468aced
types(runtime-core): refactor defineComponent (#1883) 2020-09-15 11:46:11 -04:00
Katashin
67b6e0f894
fix(types): relax ComponentPublicInstanceConstructor type for class components (#1943) 2020-08-24 21:53:30 -04:00
Evan You
54d06ec495 feat(runtime-core): support variadic children in h for simple JSX compat
ref: #1917
2020-08-21 21:54:33 -04:00
Evan You
eb2ae44d94 refactor(types): widen Component type to include consutructor types
returned from `defineComponent`

ref: https://github.com/vuejs/vue-router-next/pull/421
also close #1880

Previous `Component` type is now exported as `ConcreteComponent`.

This introduces a minor breaking change when calling `h(comp, { ... })`
will now fail if `comp` is a of generic `Component` type, since it does
not specify what props it expects.
2020-08-19 16:19:25 -04:00
HcySunYang
5d8a64d53a
feat(types): deny unknown attributes on component by default (#1614)
close #1519
2020-07-17 11:43:28 -04:00
Carlos Rodrigues
1e90605c15
types(runtime-core): provide valid type for default $emit (#1498) 2020-07-08 11:51:03 -04:00
Cédric Exbrayat
cab769f174
fix(types): add RawSlots in h signature (#1293) 2020-06-12 10:38:56 -04:00
Evan You
d901b6bea8 refactor(reactivity): use more efficient reactive checks
WeakSets and WeakMaps shows degrading performance as the amount of
observed objects increases. Using hidden keys result in better
performance especially when repeatedly creating large amounts of
reactive proxies.

This also makes it possible to more efficiently declare non-reactive
objects in userland.
2020-05-02 16:58:17 -04:00
Carlos Rodrigues
f3a9b516bd
fix(types): make return type of defineComponent assignable to Component type (#1032)
fix #993
2020-04-24 13:22:58 -04:00
Evan You
c1d5928f3b fix(types): accept generic Component type in h()
fix #922
2020-04-04 13:29:29 -04:00
Evan You
24e9efcc21 refactor(runtime-core): extract component emit related logic into dedicated file 2020-04-03 19:08:17 -04:00
Evan You
eee5095692 refactor: rename <portal> to <teleport>
BREAKING CHANGE: `<portal>` has been renamed to `<teleport>`.

    `target` prop is also renmaed to `to`, so the new usage will be:

    ```html
    <Teleport to="#modal-layer" :disabled="isMobile">
      <div class="modal">
        hello
      </div>
    </Teleport>
    ```

    The primary reason for the renaming is to avoid potential naming
    conflict with [native portals](https://wicg.github.io/portals/).
2020-04-01 21:55:19 -04:00
Evan You
455a1534c9 refactor: transformHArgs -> transformVNodeArgs 2020-03-23 16:54:28 -04:00
Jessica Sachs
b7d1e0fa2f
feat: add hook for transforming h's arguments (#851)
Note: this is for internal use (e.g. `@vue/test-utils`) only
2020-03-19 10:54:03 -04:00
Katashin
dd17fa1c90
feat(runtime-core): add special property to get class component options (#821) 2020-03-12 11:46:32 -04:00
Evan You
9d2ac6675a refactor: make portal tree-shakeable 2020-02-15 17:44:37 -05:00
Evan You
6b1ce00621 wip(ssr): renderer support for optimized and manual slots 2020-01-28 22:58:02 -05:00
Chris Fritz
1c4cdd841d refactor(createComponent): rename to defineComponent (#549) 2019-12-22 10:58:12 -05:00
Evan You
dfc7c0f12a refactor: adjust internal vnode types + more dts tests 2019-11-04 18:38:55 -05:00
Evan You
66ecd8b47f types: setup tests for built d.ts files 2019-11-01 22:54:01 -04:00
Evan You
7b7b8ef221 types: improve h inference + infer required props without need for as const 2019-11-01 17:06:19 -04:00
Evan You
06c5b0a861 types: refactor VNodeProps type 2019-11-01 09:58:27 -04:00
Evan You
3a6dcd3aba types: improve h() and TSX type inference
- Should allow extraneous props as attrs in TSX
- Should check props when using constructor type returned by
  createComponent() in h()
2019-10-31 12:43:05 -04:00
Evan You
083296ead6 fix: fix h signature for suspense 2019-10-29 14:04:53 -04:00
terencez
d10b28ae0e refactor(runtime-core): make h() support single vnode child (#181) 2019-10-10 10:17:16 -04:00
扩散性百万甜面包
def27239bd type: improve typing (#177) 2019-10-09 14:01:53 -04:00
Evan You
1393ee52ca types: improve typing 2019-10-08 10:50:10 -04:00
Evan You
d87255ce46 fix(options): data options should preserve original object if possible 2019-10-02 10:03:43 -04:00
Evan You
360f3b4f37 types: improve type exports 2019-09-06 12:58:31 -04:00
Evan You
0f25c29119 refactor: reorganize component related code and types 2019-09-06 11:19:22 -04:00
Evan You
94a05561f8 feat: fix all cases for h and options type inference 2019-09-05 18:48:49 -04:00
Evan You
369b9eb583 types: props validation for h 2019-09-05 11:11:33 -04:00
Evan You
fd1fef5502 test: update fragment tests 2019-08-23 15:27:17 -04:00
Evan You
28a0c50357 refactor: use util methods 2019-05-28 10:28:25 +08:00
Evan You
e4ce78c8c9 wip: diffKeyedChildren 2019-05-27 13:48:40 +08:00
Evan You
b3f8b5ae0a wip: add types to refactored runtime-core 2019-05-26 15:19:44 +08:00
Evan You
3cded86b98 wip: switch to new implementation 2019-05-25 23:51:20 +08:00
Evan You
0cd8183fbf refactor: remove shorthands on h 2018-11-13 01:08:22 -05:00
Evan You
64029b4a54 feat: detailed info in renderTriggered + hint for skipping slot updates 2018-11-08 18:20:07 -05:00
Evan You
e05673f4d3 refactor: rename packages 2018-10-26 15:44:50 -04:00