Commit Graph

336 Commits

Author SHA1 Message Date
Evan You bdf557f6f2 fix(types): retain type parameters order for public types 2023-04-05 22:30:50 +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
Haoqun Jiang ffe679c490
fix(types/jsx): move JSX DOM types back to `@vue/runtime-dom` (#7979) 2023-03-29 20:22:29 +08:00
Evan You 58e5c51149 build: upgrade to TypeScript 5.x 2023-03-23 17:11:35 +08:00
Evan You eb0c1e7025 build: remove api-extractor 2023-02-03 15:57:00 +08:00
Evan You 124373db50 wip: isolatedModules + use rollup-plugin-esbuild 2023-02-03 04:30:19 +08:00
Evan You 3a6f5eb0f7 fix(build): ensure BaseTransition functions can be tree-shaken 2023-02-02 21:38:57 +08:00
René Koller efe2efd210
fix(compat): fix custom transition classes in compat mode (#7435)
fix #6253
2023-02-01 03:21:50 -05:00
yurj26 b7cfa6f539
fix(runtime-dom): style update error when component use shorthand properties (#7425)
* fix(runtime-dom): style update error when component use shorthand properties

* test(runtime-dom): style update with shorthand properties
2023-01-09 15:16:08 +01:00
Evan You ce363e55a8 chore: fix assertNumber for undefined value 2022-11-14 16:57:44 +08:00
Evan You 7d0c63ff43 fix(custom-elements): use strict number casting
close #4946
close #2598
close #2604

This commit also refactors internal usage of previous loose
implementation of `toNumber` to the stricter version where applicable.
Use of `looseToNumber` is preserved for `v-model.number` modifier to
ensure backwards compatibility and consistency with Vue 2 behavior.
2022-11-14 16:20:12 +08:00
ysy945 67890daad1
fix(custom-elements): custom element should re-instantiate when inserted again (#6966)
fix #6934
2022-11-11 04:06:21 -05:00
Thorsten Lünborg 55382aed58
fix(custom-elements): define declared properties in constructor (#5328) 2022-11-11 02:46:01 -05:00
Evan You 89f37ceb62 fix(custom-elements): fix number type props casting check
fix #5793
adapted from #5794
2022-11-11 15:20:28 +08:00
Evan You afe889999c fix(custom-elements): properties set pre-upgrade should not show up in $attrs 2022-11-11 14:42:42 +08:00
Evan You 5e50909100 fix(custom-elements): should not reflect non-decalred properties set before upgrade 2022-11-11 14:14:55 +08:00
Thorsten Lünborg 665f2ae121
fix(custom-elements): fix event emitting for async custom elements (#5601)
fix #5599
2022-11-10 23:33:17 -05:00
Thorsten Lünborg 0b39e46192
fix(custom-elements): also dispatch hyphenated version of emitted events (#5378)
fix #5373
2022-11-10 23:01:10 -05:00
Thorsten Lünborg 192dcb648c
fix(custom-elements): ensure custom elements can inherit provides from ancestors (#5098)
fix #5096
2022-11-10 21:33:17 -05:00
Evan You 42239cf284 fix(teleport/css-v-bind): fix css v-bind for teleported content
fix #4605
close #4609 (used tests from this PR)
2022-11-10 14:41:45 +08:00
skirtle 9a816dcec0
dx(runtime-dom): warn when a style value ends in a semicolon (#7062) 2022-11-09 08:16:34 -05:00
Rudy e4de623ea7
fix(types): support inferring injected properties in options api (#6804)
close #3031
close #5931
2022-11-08 01:09:53 -05:00
Thorsten Lünborg f67bb500b6
fix(runtime-dom): ensure customElement handles empty props correctly. (#6182)
fix Scoped attribute in Vue file affects the use of web component #6163,#6895
2022-11-01 09:49:06 +01:00
webfansplz 183e4e6152
refactor(types): use template literal types insteads of any (#4166) 2022-10-26 04:31:09 -04:00
Thorsten Lünborg b0b74a160c
fix(runtime-core): custom-element: ensure number casting of camelCase props. (fix: #5374) (#5377) 2022-10-22 11:20:46 +02:00
Evan You 5ee40532a6 fix(runtime-dom): fix event timestamp check in iframes
fix #2513
fix #3933
close #5474
2022-10-14 16:00:03 +08:00
Evan You b1817fe9ee fix(runtime-dom): fix unnecessary warning when setting coerced dom property value
fix #6616
2022-09-27 16:39:15 +08:00
Evan You ab8bfac0a1 chore: remove no longer used cloneNode implementation in nodeOps 2022-09-27 16:17:14 +08:00
Kid 96ba71d0cf
chore: fix typos (#6708) 2022-09-24 15:13:39 +08:00
Evan You 0739f8909a fix(custom-element): fix event listeners with capital letter event names on custom elements
close https://github.com/vuejs/docs/issues/1708
close https://github.com/vuejs/docs/pull/1890
2022-08-30 14:07:35 +08:00
zhangenming 3bdc41dff3
perf: improve the performance of getNow (#5944) 2022-05-22 20:36:57 -04:00
edison dddbd96dfe
fix(transition): fix cancel leave regression (#5974)
fix #5973
2022-05-22 20:02:15 -04:00
Roan Kattouw c03459b9b6
fix(ssr): support client-compiled v-model with dynamic type during ssr (#5787)
fix #5786
2022-05-17 05:52:44 -04:00
小刘(liulinboyi) 71066b5afe
fix(v-model): fix case where .trim and .number modifiers are used together (#5842)
fix #5839
2022-05-12 19:52:16 -04:00
Evan You 8c51c6514f fix(v-model): exclude range from lazy guard logic
fix #5875
2022-05-12 18:39:17 +08:00
Evan You 59cf2958e7 fix(transition): handle edge case of cancel leave before next frame
fix #4462
2022-05-12 15:39:34 +08:00
edison cd659fc86f
fix(ssr): should de-optimize on vnode with PatchFlags.BAIL (#4818)
fix #4679
fix #5771
2022-05-10 06:35:34 -04:00
Julian Hundeloh e58277f6ea
fix(runtime-dom): "el._assign is not a function" in compat mode (#4121) 2022-05-09 21:58:51 -04:00
Evan You 4a3237ad93 refactor: use Event constructor
close #5723

Since we no longer support IE11, it is safe to use Event() constructor
2022-04-16 11:26:00 +08:00
Thorsten Lünborg 85af139863
fix(runtime-dom): properly handle style properties with undefined values (#5348)
fix #5322
2022-04-13 06:20:39 -04:00
宋铄运 (Alan Song) c6eb3cccce
build: improve treeshakeability (#5682) 2022-04-13 05:39:02 -04:00
zhoulixiang 57ca32b096
chore: remove superfluous code (#5683) 2022-04-13 05:30:22 -04:00
zscumt123 fa1d14c2c8
fix(runtime-dom): catch more cases of DOM property setting error (#5552)
close #5545
2022-04-13 05:25:11 -04:00
木杉 2c09969b13
fix(runtime-dom): patch translate as an attr (#5485)
close #5462
2022-04-13 05:16:33 -04:00
Evan You 9aa5dfd4bb fix(runtime-dom): fix static content re-insertion
fix #5308

The regression was introduced in ed9eb62. In the cached code path,
we attempt re-insertion by cloning cached nodes. However if the static
fragment was removed as component root, it loses the nodes between
start and end because each node was removed individually. Therefore
the cached path can only be taken if the fragment has a single node, or
it was removed as part of a parent tree so the sibling information is
still available.
2022-01-23 21:44:32 +08:00
Thorsten Lünborg c35ec47d73
fix(runtime-core): ensure mergeProps skips undefined event handlers (#5299)
fix #5296
2022-01-21 01:13:29 -05:00
Evan You ed9eb62e59 perf: improve memory usage for static vnodes
Use the already mounted nodes as cache instead of separate caching via
template. This reduces memory usage by 30%+ in VitePress.
2022-01-16 21:10:26 +08:00
Che Guevara 595a93715b
refactor(types): use `DOMRect` instead of the `Position` type (#5012) 2021-12-05 23:19:47 -05:00
n2ptune 772574febb
chore(custom-element): fix comment typo (#5028) [skip ci] 2021-12-03 10:10:54 +01:00
Stefan Mayer 1701bf3968
fix(runtime-dom): patchDOMProps should not set _value if element is custom element (#4839)
Co-authored-by: Stefan Mayer <stefan.m.mayer@daimler.com>
2021-11-25 05:30:32 -05:00