Commit Graph

49 Commits

Author SHA1 Message Date
三咲智子 Kevin Deng 438a74aad8
fix(types): fix functional component for `h` (#9991)
- stricter children/slots type
- fix emits/`EE` type argument of `FunctionalComponent`
2024-01-09 16:45:05 +08:00
三咲智子 Kevin Deng bfe6b459d3
style: update format & lint config (#9162)
Co-authored-by: 丶远方 <yangpanteng@gmail.com>
Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
Co-authored-by: Guo Xingjun <99574369+Plumbiu@users.noreply.github.com>
2023-12-26 19:39:47 +08:00
丶远方 a625376ac8
feat(types): improve event type inference when using `h` with native elements (#9756) 2023-12-11 22:10:01 +08:00
Carlos Rodrigues 16ecb44c89
fix(types): improve `h` overload to support union of string and component (#5432)
fix #5431
2023-10-23 23:40:06 +08:00
三咲智子 Kevin Deng 5a2f5d59cf
feat(types/slots): support slot presence / props type checks via `defineSlots` macro and `slots` option (#7982) 2023-04-03 16:49:16 +08:00
Carlos Rodrigues 8e792d93a8
types(h): Support passing `props` to `Component` when using `h` (#3219) 2022-10-26 03:07:44 -04:00
edison 824174915f
types: creating Teleport with h and RawSlots #2613 (#2614) 2022-10-03 16:40:37 +08:00
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