Commit Graph

489 Commits

Author SHA1 Message Date
Evan You
1034546a4c release: v3.2.0-beta.2 2021-07-19 19:36:55 -04:00
Evan You
47f488350c chore: run updated prettier 2021-07-19 18:24:18 -04:00
Evan You
3056e9b3dc fix(v-model): properly detect input type=number
fix #3813
2021-07-19 17:46:04 -04:00
Evan You
d4c67dd253 release: v3.2.0-beta.1 2021-07-16 14:44:06 -04:00
Evan You
49dc2dd1e4 fix(sfc/style-vars): properly re-apply style vars on component root elements change
Now uses MutationObserver to ensure it works even for HOCs

fix #3894
2021-07-16 14:30:49 -04:00
Evan You
de32cfa43e fix: ensure customElements API ssr compatibility
fix #4129
2021-07-16 14:30:49 -04:00
Evan You
1c7d737cc8 feat: support v-bind .prop & .attr modifiers
Also allows render function usage like the following:

```js
h({
  '.prop': 1, // force set as property
  '^attr': 'foo' // force set as attribute
})
```
2021-07-16 14:30:49 -04:00
Evan You
00f0b3c465 feat: custom element reflection, casting and edge cases 2021-07-16 14:30:49 -04:00
Evan You
8610e1c9e2 feat(runtime-dom): defineCustomElement 2021-07-16 14:30:49 -04:00
Evan You
31abdc8ada release: v3.1.5 2021-07-16 12:38:01 -04:00
HcySunYang
3756270272
fix(runtime-dom): capture errors when setting value for IDL (#3578)
fix #3576
2021-07-15 16:32:25 -04:00
Evan You
7013e8f578 fix(runtime-dom): remove class attribute on nullish values
close #3173
2021-07-15 13:45:43 -04:00
Evan You
c0db807844 refactor: simplify static content insertion 2021-07-15 13:16:19 -04:00
Evan You
2937530bef fix(v-model): handle mutations of v-model bound array/sets
fix #4096
2021-07-15 12:14:19 -04:00
edison
6a0c7cd905
fix(sfc): fix style variables injection on static vnode (#3847)
fix #3841
2021-07-14 18:08:12 -04:00
Evan You
348c3b01e5 release: v3.1.4 2021-07-02 08:37:50 -04:00
Evan You
fc7b640041 release: v3.1.3 2021-07-01 19:28:06 -04:00
Evan You
ba89ca9eca fix(runtime-dom): fix static node content caching edge cases
reverts fded1e8

fix #4023, #4031, #4037
2021-07-01 19:19:53 -04:00
Johnson Chu
8ed3ed6c27
feat(types/ide): support find definition for jsx tags, events (#3570) 2021-07-01 13:49:16 -04:00
Evan You
6b6d566861 release: v3.1.2 2021-06-22 14:24:50 -04:00
Evan You
4de5d24aa7 perf: improve static content insertion perf
Especially on multiple insertions of the same static node.

fix #3090
2021-06-21 14:38:29 -04:00
Evan You
ade9bd9daa release: v3.1.1 2021-06-07 16:26:54 -04:00
Evan You
ac15df46c5 release: v3.1.0 2021-06-07 12:38:42 -04:00
Evan You
71f7c25fbe release: v3.1.0-beta.7 2021-06-02 16:12:54 -04:00
HcySunYang
ecd97ee6e4
fix(runtime-dom/v-model): only set selectedIndex when the value changes (#3845) 2021-05-29 20:42:13 -04:00
Evan You
aa96a0e88a release: v3.1.0-beta.6 2021-05-28 16:58:54 -04:00
Evan You
6fbf0dd315 chore: use variable instead of literal 2021-05-28 15:56:07 -04:00
GU Yiling
e3f5dcb99b
fix(runtime-dom): should remove attribute when binding null to value (#3564) 2021-05-28 15:48:22 -04:00
Evan You
071986a2c6 fix(transition): fix higher order transition components with merged listeners
fix #3227
2021-05-28 15:42:08 -04:00
Evan You
f0eb1978b2 release: v3.1.0-beta.5 2021-05-26 16:06:51 -04:00
Evan You
f1f52300e6 release: v3.1.0-beta.4 2021-05-24 19:16:44 -04:00
Carlos Rodrigues
a0c57936f8
types(jsx): improve type for number attributes (#3776)
fix #3788
2021-05-24 12:15:45 -04:00
Cédric Exbrayat
f01aadf2a1
fix(compat): enum coercion warning (#3755) 2021-05-12 17:47:00 -04:00
Evan You
b663aa8a81 release: v3.1.0-beta.3 2021-05-12 17:37:04 -04:00
Evan You
99a5ccf6b2 release: v3.1.0-beta.2 2021-05-08 16:59:12 -04:00
Evan You
ed6c5fe903 release: v3.1.0-beta.1 2021-05-08 16:24:34 -04:00
Evan You
3963f2e963 wip: more tests for v2 compat 2021-04-29 14:45:22 -04:00
Evan You
091e6d67bf feat(config): support configuring runtime compiler via app.config.compilerOptions
- `config.isCustomElement` is deprecated - use `app.config.compilerOptions.isCustomElement` instead.
2021-04-26 11:46:29 -04:00
Evan You
c55f3ed0e8 wip: fix render fn compat detection 2021-04-11 11:15:40 -04:00
Evan You
a2f441dc0e wip: refactor compat check utils 2021-04-09 23:51:50 -04:00
Evan You
7a25cbb7a7 wip: fix compat utils usage 2021-04-09 23:21:54 -04:00
Evan You
f8e2361d83 wip: make tests pass again 2021-04-08 16:33:53 -04:00
Evan You
c1e5cfe7d6 wip: attr coersion compat 2021-04-07 17:42:03 -04:00
Evan You
cf6bcdf895 wip: transition group root compat 2021-04-07 16:19:25 -04:00
Evan You
1c2c77eb9f wip: apply compat enabled flags to currently implemented features 2021-04-07 16:19:25 -04:00
Evan You
e2fc84c773 wip: compat configuration 2021-04-07 16:19:24 -04:00
Evan You
068d93b9e5 wip: keyCode compat 2021-04-07 16:19:24 -04:00
Evan You
9828ef0845 wip: transition class compat 2021-04-07 16:19:24 -04:00
Evan You
53b8127a9c wip: progress 2021-04-07 16:19:24 -04:00
Evan You
40e3dd28e1 wip: restructure compat code + global api alignment 2021-04-07 16:19:24 -04:00
Evan You
e2d6ff845b wip: root mount api compat 2021-04-07 16:19:24 -04:00
Evan You
24850a99c6 wip: initial compat build setup 2021-04-07 16:19:24 -04:00
Evan You
f0cf14bcc5 release: v3.0.11 2021-04-01 19:52:45 -04:00
Evan You
ad6c124e6c release: v3.0.10 2021-03-30 20:05:45 -04:00
HcySunYang
33ba0e3229
fix(runtime-dom): fix event listeners call in firefox <= 53 (#3501)
fix #3485
2021-03-29 19:15:12 -04:00
Kael
4f26835dac
fix(types/tsx): make JSX.Element extend VNode (#3171) 2021-03-29 17:38:25 -04:00
Evan You
67039b3434 release: v3.0.9 2021-03-27 11:30:12 -04:00
Evan You
9ff70be2b3 release: v3.0.8 2021-03-26 17:35:44 -04:00
HcySunYang
2451dd8ae6
fix(runtime-core): the select tag's multiple prop should be set before the children mounting (#3202)
fix #3199
2021-03-25 16:49:34 -04:00
bartenra
e4a5712a33
fix(types/jsx): llow tabindex to be a string (#3476) 2021-03-25 16:20:38 -04:00
HcySunYang
5dbe834858
fix(rumtime-core): custom dom props should be cloned when cloning a hoisted DOM (#3080)
fix #3072
2021-03-25 10:21:57 -04:00
Kadir Yazıcı
13c9d2ca82
fix(types): allow style to be an array in JSX (#2947) 2021-03-01 12:29:13 -05:00
HcySunYang
8ffcde2836
fix(runtime-dom): support mounting app to svg container (#2929)
fix #2926
2021-03-01 11:51:32 -05:00
Evan You
1a955e2278 release: v3.0.7 2021-03-01 10:59:29 -05:00
HcySunYang
5ad4036e29
fix(v-show): v-show takes higher priority than style attribute (#3230)
fix #2757
2021-02-25 10:26:54 -05:00
HcySunYang
354966204e
dx(runtime-dom): warn config.isCustomElement usage in runtime-only build (#2945) 2021-02-24 16:18:55 -05:00
Evan You
d9f91e26f9 release: v3.0.6 2021-02-24 15:19:31 -05:00
Evan You
180310cbe9 refactor(runtime-dom): avoid form attribtue tag check
the tag check while technically stricter, is not really necessary
and introduces too much weight
2021-02-24 15:06:51 -05:00
Thorsten Lünborg
c5d147c57f
fix(runtime-dom): ensure readonly type prop on textarea is handled patched as attribute (#2888)
close #2766

Co-authored-by: Thorsten Luenborg <t.luneborg@googlemail.com>
2021-02-24 14:51:19 -05:00
shadowings-zy
b302cbbbd3
fix: kebab-case events are attached correctly on web components, see #2841 (#2847) 2021-02-09 07:58:36 +01:00
07akioni
a89d985375
types: focusin & out events (#3136) 2021-02-04 14:05:24 +01:00
luwuer
f262438073
fix(runtime-dom): enable set form attr to null on form-elements (#2840) (#2849)
Co-authored-by: Eduardo San Martin Morote <posva@users.noreply.github.com>
Co-authored-by: Thorsten Lünborg <t.luenborg@googlemail.com>
2021-02-03 19:11:09 +01:00
Haoqun Jiang
97d6f1a716
fix: should prefix ShadowRoot with window. (#2943)
Otherwise this expression would throw in environments that does not
support `ShadowRoot` which includes the common mocha testing environment
setup that uses `jsdom` and `jsdom-global`.

It is because `ShadowRoot` is not an enumerable property on `window`,
`jsdom-global` fails to expose it on the `global` object.

See the error message at: https://app.circleci.com/pipelines/github/vuejs/vue-cli/779/workflows/17d7d7c4-7605-4588-878a-ddb3a6d37102/jobs/24147
2021-02-03 19:10:27 +01:00
Evan You
5a5d037dbb release: v3.0.5 2020-12-30 15:50:28 -05:00
Cédric Exbrayat
dbe22ba356
dx(runtime-core): add selector in mount warning (#2563) 2020-12-04 18:25:13 -05:00
ᴜɴвʏтᴇ
b2189ba2f3
fix(runtime-dom): support mounting app on ShadowRoot (#2447)
fix #2399
2020-12-04 16:51:38 -05:00
Evan You
cbaa380506 fix(transition): ensure manual style manipulation in transition leave hooks work
ref #2720
2020-12-03 16:10:22 -05:00
luwuer
3f8f9b67b3
fix(transition): ensure styles from *-leave-active trigger transition (#2716)
fix #2712
2020-12-03 10:37:47 -05:00
Evan You
d067fb2dbb release: v3.0.4 2020-12-02 17:23:43 -05:00
luwuer
e2618a632d
fix(transition): respect rules in *-leave-from transition class (#2597)
fix #2593
2020-12-02 14:41:20 -05:00
Evan You
eaf8a67c72 fix(transition): avoid invoking stale transition end callbacks
fix #2482
2020-12-02 12:15:57 -05:00
Evan You
48f00c0f1b fix(v-model): respect checkbox true-value/false-value on initial render
fix #2694
2020-12-01 12:02:37 -05:00
Evan You
f2b0a8e81d fix(v-model): avoid mutation when using Set models + fix multi select Set model update 2020-12-01 11:40:14 -05:00
Evan You
83a79a829c Revert "fix(v-model): mutate original array for v-model multi checkbox (#2663)"
This reverts commit 87581cd266.

ref: #2700
2020-12-01 11:16:40 -05:00
Evan You
5a19bb5320 refactor(runtime-dom): avoid unnecessary typeof checks during props patching 2020-11-30 20:05:02 -05:00
edison
fb6b9f8e8f
fix(runtime-dom): attribute should be removed with nullish values (#2679)
fix #2677
2020-11-30 19:28:03 -05:00
HcySunYang
87581cd266
fix(v-model): mutate original array for v-model multi checkbox (#2663)
Note: this change will break non-deep `watch` on the `v-model` bound array since the array is no longer replaced. This can be considered part of the Array watch changes in v3 as detailed at https://v3.vuejs.org/guide/migration/watch.html

This is unfortunate but unavoidable since the issue that it fixes is more important: `v-model` should definitely work with a non-ref reactive array.

fix #2662
2020-11-30 17:48:51 -05:00
Evan You
3cd30c5245 fix(v-show): ensure v-show conflict with inline string style binding
fix #2583
2020-11-30 15:48:34 -05:00
Evan You
bd6e211287 release: v3.0.3 2020-11-25 11:16:21 -05:00
Evan You
8ac2241b22 wip: more consistent compiler-sfc usage + inline mode for ssr 2020-11-20 14:23:09 -05:00
Evan You
64160e89cc wip: ignore non-ref const mutation cases in codegen 2020-11-18 21:16:09 -05:00
Evan You
f92bc5a19a wip: simplify useCssVars 2020-11-17 13:03:47 -05:00
Evan You
41bb7fa330 feat(compiler-sfc): new SFC css varaible injection implementation
ref: https://github.com/vuejs/rfcs/pull/231
2020-11-16 18:27:25 -05:00
Evan You
3a6b1207fa fix(style-vars): apply css vars in post flush effect 2020-11-16 15:40:16 -05:00
Evan You
f28ca55692 fix(runtime-dom): use correct import source 2020-11-03 09:54:22 -05:00
Evan You
f2d03a59c6 release: v3.0.2 2020-10-20 16:24:12 -04:00
neverland
e894caf731
types(tsx): svg xmlns attribute typing (#2344) 2020-10-19 17:40:21 -04:00
Evan You
f17f0ddf68 release: v3.0.1 2020-10-15 12:37:21 -04:00
Pick
6a554feb13
perf(runtime-dom/vModel): remove looseHas if model is Set (#2236) 2020-10-13 16:20:05 -04:00
underfin
408a8cad48
fix(sfc/style-vars): should attach css vars while subtree changed (#2178)
* fix(cssVars): should attach css vars while `subtree` changed

fix #2177

* fix: fix test
2020-10-13 15:37:45 -04:00
Evan You
54ed7592e4 fix(v-model): ensure initial value is set after other attributes
fix #2325
2020-10-08 16:41:45 -04:00
ᴜɴвʏтᴇ
fbd198fbfe
fix(v-model): avoid clearing IME compose state on updates (#2304)
fix #2302
2020-10-07 22:34:53 -04:00
edison
d744b8a2dc
fix(runtime-dom): v-model should support number modifier with select tag (#2308)
close #2252
2020-10-07 15:06:41 -04:00
Evan You
d8c1536ead release: v3.0.0 2020-09-18 11:28:05 -04:00
Evan You
876ecc8672 release: v3.0.0-rc.13 2020-09-18 01:39:30 -04:00
Evan You
985bd2bcb5 release: v3.0.0-rc.12 2020-09-16 13:50:13 -04:00
Evan You
f2ef7d7c8e release: v3.0.0-rc.11 2020-09-15 13:15:42 -04:00
Evan You
5ae7380b4a
feat: update Suspense usage (#2099)
See https://github.com/vuejs/vue-next/pull/2099 for details.
2020-09-15 12:45:06 -04:00
Pick
cf1b6c666f
feat(runtime-dom): allow native Set as v-model checkbox source (#1957) 2020-09-14 11:16:50 -04:00
Evan You
4386653e76 release: v3.0.0-rc.10 2020-09-02 12:41:54 -04:00
Guillaume Chau
5df71b739d chore: add repository directories 2020-08-30 15:06:06 +02:00
Evan You
94d94bafc5 release: v3.0.0-rc.9 2020-08-26 18:21:18 -04:00
Evan You
ede2e0d1b5 release: v3.0.0-rc.8 2020-08-25 10:31:52 -04:00
Amour1688
a47626a4a3
types(jsx): make HTMLAttributes and SVGAttributes extend Events (#1941) 2020-08-25 09:50:33 -04:00
ᴜɴвʏтᴇ
1d55454e61
fix(runtime-dom): avoid setting unchanged input value (#1937)
fix #1935 (fix v-model usage with HTML5 validation)
2020-08-25 09:47:55 -04:00
Evan You
11804fe93f feat(directives): introduce created custom directive hook and ensure
`v-model` event listener fire before template/props listeners

fix #1931
2020-08-24 17:12:16 -04:00
Evan You
6602d6dbff release: v3.0.0-rc.7 2020-08-21 14:13:05 -04:00
XRenSiu
bb54a84cd1
chore: use '@vue/shared' instead of '@vue/shared/src' (#1915) 2020-08-21 12:50:06 -04:00
Evan You
91c4735416 release: v3.0.0-rc.6 2020-08-19 18:17:42 -04:00
wxy
3892ea884b
chore(runtime-dom): remove deprecated tags from jsx typing (#1627) 2020-08-18 11:43:14 -04:00
Necmettin Karakaya
86187ca907
chore: typos (#1670) 2020-08-14 17:05:12 -04:00
beary
b984d47ac4
fix(types/jsx): update innerHTML property in jsx typing (#1814) 2020-08-12 15:50:11 -04:00
Eduardo San Martin Morote
00683fce9a
fix(runtime-dom): patch form as an attribute (#1788)
Close #1787
2020-08-06 09:32:28 -04:00
Evan You
11ed210391 chore: fix tests 2020-08-03 18:01:07 -04:00
Evan You
8d4abc3814 chore: unset removed invokers 2020-08-03 17:56:55 -04:00
Evan You
1c967fc44b fix(runtime-dom): fix v-on same computed handler on multiple elements
fix #1747
2020-08-03 17:55:22 -04:00
Evan You
0cd98c3040 fix(runtime-dom): style binding multi value support
fix #1759
2020-08-03 17:13:17 -04:00
Evan You
848d9ce2ea release: v3.0.0-rc.5 2020-07-28 17:42:05 -04:00
underfin
07ece2e926
fix(style-vars): fix css vars on component with suspense as root (#1718) 2020-07-28 15:30:18 -04:00
Evan You
5c74243211 test: move mockWarn into setup files 2020-07-27 22:58:51 -04:00
Evan You
d63daaf9b6 release: v3.0.0-rc.4 2020-07-21 15:40:46 -04:00
Evan You
7753485baa release: v3.0.0-rc.3 2020-07-21 15:27:26 -04:00
Evan You
a28a11ef22 chore: make app root attribute consistent with scopeId attributes 2020-07-21 14:56:28 -04:00
Evan You
c852bf18d7 fix(v-model): v-model listeners should not fallthrough to plain element root
fix #1643
2020-07-21 14:17:48 -04:00
learningMaster
324167d3d2
test(runtime-dom): add test for vModel composition session (#1631) 2020-07-21 10:34:08 -04:00
Evan You
54727f9874 feat: provide ability to overwrite feature flags in esm-bundler builds
e.g. by replacing `__VUE_OPTIONS_API__` to `false` using webpack's
`DefinePlugin`, the final bundle will drop all code supporting the
options API.

This does not break existing usage, but requires the user to explicitly
configure the feature flags via bundlers to properly tree-shake the
disabled branches. As a result, users will see a console warning if
the flags have not been properly configured.
2020-07-20 21:51:30 -04:00
Evan You
ad199e1a25 fix(build): make transition tree-shakeable again 2020-07-20 16:17:14 -04:00
Evan You
1f4045a086 release: v3.0.0-rc.2 2020-07-19 14:52:42 -04:00
motao
b8db7ab889
test(runtime-dom): improve v-on system key modifiers test (#1597) 2020-07-18 22:55:39 -04:00
Evan You
0ea14cade9 release: v3.0.0-rc.1 2020-07-17 15:30:17 -04:00
Evan You
5ed73cd874 release: v3.0.0-beta.24 2020-07-16 13:51:52 -04:00
Evan You
8b5d153d7f release: v3.0.0-beta.23 2020-07-16 12:48:56 -04:00
Evan You
44e6da1402 fix(runtime-dom): unref when setting useCssVars 2020-07-15 18:31:10 -04:00
Evan You
fcbefdb769 release: v3.0.0-beta.22 2020-07-15 12:43:41 -04:00
Evan You
32a4cb804b test: improve coverage 2020-07-15 10:38:45 -04:00
Evan You
9188e9ea74 release: v3.0.0-beta.21 2020-07-14 17:18:07 -04:00
Evan You
cb6a0915c5 fix(runtime-dom): remove attrs with nullish values
fix #1576
2020-07-14 16:25:21 -04:00
Evan You
00ab9e2e85 refactor: adjust event options handling to be JSX friendly 2020-07-14 13:20:59 -04:00
Evan You
380c6792d8 fix(v-on): refactor DOM event options modifer handling
fix #1567

Previously multiple `v-on` handlers with different event attach option
modifers (`.once`, `.capture` and `.passive`) are generated as an array
of objects in the form of `[{ handler, options }]` - however, this
makes it pretty complex for `runtime-dom` to properly handle all
possible value permutations, as each handler may need to be attached
with different options.

With this commit, they are now generated as event props with different
keys - e.g. `v-on:click.capture` is now generated as a prop named
`onClick.capture`. This allows them to be patched as separate props
which makes the runtime handling much simpler.
2020-07-14 11:48:05 -04:00
Evan You
8b320cc12f fix(runtime-dom/v-on): only block event handlers based on attach timestamp
fix #1565
2020-07-13 14:50:11 -04:00