Commit Graph

776 Commits

Author SHA1 Message Date
Khinenw 181872f744
types(runtime-dom): fix typo in jsx type autosave (#5638) 2022-05-09 22:50:49 -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
Evan You 56879e6b23 release: v3.2.33 2022-04-14 18:14:37 +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
edison f4d2c9fc6a
fix(custom-elements): work with async component + slots (#4657)
close #4639
2022-04-13 05:58:29 -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 f4f5e80a19 release: v3.2.32 2022-04-12 16:07:43 +08:00
Yuchao d121a9bc7e
fix(runtime-core): Avoid mutating original options object in createApp (#4840)
fix #4398
2022-04-12 03:14:23 -04:00
Evan You d56dec6b4a release: v3.2.31 2022-02-12 16:41:52 +08:00
Evan You 15adf251ab release: v3.2.30 2022-02-07 14:14:53 +08:00
Evan You 6b6889852f release: v3.2.29 2022-01-23 22:02:23 +08: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
Evan You 283df0ad68 release: v3.2.28 2022-01-21 16:15:13 +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 ae4b0783d7 chore: update repo references 2022-01-18 16:43:59 +08:00
Evan You 3adfc0fe94 release: v3.2.27 2022-01-16 22:08:18 +08: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
Evan You 78df8c78c4 fix(types/tsx): allow ref_for type on tsx elements 2022-01-16 15:54:58 +08:00
Evan You ccb6651b12 release: v3.2.26 2021-12-12 15:03:29 +08:00
Evan You 756534bde0 release: v3.2.25 2021-12-12 12:21:13 +08:00
Evan You d955cfacd6 release: v3.2.24 2021-12-06 17:03:10 +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
Evan You b6a8a451b8 release: v3.2.23 2021-11-26 14:33:46 +08: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
Thorsten Lünborg 89b2f924fc
fix(runtime-dom): fix option element value patching edge case (#4959)
fix #4956
2021-11-25 05:05:02 -05:00
Evan You 635d88aa9e release: v3.2.22 2021-11-15 11:45:05 +08:00
Evan You fe853a5a40 release: v3.2.21 2021-11-02 14:35:14 +08:00
Evan You 4b7f76e36a fix(custom-element): fix custom element props access on initial render
ref: #4792
2021-11-02 13:20:31 +08:00
Evan You 3f38d599f5 fix(runtime-dom): fix behavior regression for v-show + style display binding
fix #4768
2021-10-09 19:31:52 -04:00
Evan You 3ca83179d1 fix(custom-element): fix initial attr type casting for programmtically created elements
fix #4772
2021-10-09 18:34:54 -04:00
Evan You 3c500e422f release: v3.2.20 2021-10-08 13:01:51 -04:00
btea c9613ebe09
chore: prettier format (#4715) [ci skip] 2021-10-08 12:00:05 -04:00
Evan You c5c53846ed release: v3.2.19 2021-09-25 14:58:20 -04:00
Evan You 13bfa2edfe release: v3.2.18 2021-09-24 16:05:16 -04:00
Evan You f5076eb4b7 release: v3.2.17 2021-09-24 12:43:11 -04:00
Evan You 87c86e4cc2 refactor: ensure ssr branches are included in esm-bundler build 2021-09-23 15:02:19 -04:00
Evan You 114b856fd1 release: v3.2.16 2021-09-23 10:17:02 -04:00
Evan You 74a84ff546 release: v3.2.15 2021-09-23 09:48:59 -04:00
Evan You df4fcd94d8 release: v3.2.14 2021-09-22 18:36:57 -04:00
Evan You b9deb6e50e release: v3.2.13 2021-09-21 14:22:53 -04:00
Wouter Kettlitz 6171aecdcd
types: allow binding any value to SelectElement (#4575) 2021-09-21 12:34:25 -04:00
Evan You ebe00f66dd release: v3.2.12 2021-09-17 10:55:26 -04:00
Evan You 0cfa2112ce fix(custom-elements): fix number prop casting
fix #4370, close #4393
2021-09-16 19:15:15 -04:00
Evan You 93949ed20a types: relax OptionHTMLAttributes.value type requirement
fix #4574
2021-09-16 11:58:22 -04:00
Wouter Kettlitz 8370118c13
types: extend CSSProperties with PropertiesHyphen (#4553)
fix #4552
2021-09-16 11:46:41 -04:00
Evan You 781d2d4d58 release: v3.2.11 2021-09-08 18:58:13 -04:00
Evan You 96b531bfa3 release: v3.2.10 2021-09-07 16:20:07 -04:00
Evan You d534515836 fix(runtime-dom): style patching shoud always preserve v-show display property
close #4424
2021-09-07 12:25:00 -04:00
Evan You 642710eded release: v3.2.9 2021-09-05 18:24:01 -04:00
Evan You 3ad9dc4880 release: v3.2.8 2021-09-02 14:46:30 -04:00
dependabot[bot] 305883a12f
build(deps-dev): bump typescript from 4.3.5 to 4.4.2 (#4482)
* build(deps-dev): bump typescript from 4.3.5 to 4.4.2

Bumps [typescript](https://github.com/Microsoft/TypeScript) from 4.3.5 to 4.4.2.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v4.3.5...v4.4.2)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* build(deps-dev): bump typescript from 4.3.5 to 4.4.2

* test: fix nodeOps types

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Carlos Rodrigues <carlos@hypermob.co.uk>
Co-authored-by: Evan You <yyx990803@gmail.com>
2021-09-02 09:53:57 -04:00
Evan You b079996040 release: v3.2.7 2021-09-01 18:05:16 -04:00
Evan You 72d2b26e96 release: v3.2.6 2021-08-24 12:54:30 -04:00
Evan You a137d73e91 release: v3.2.5 2021-08-24 11:54:22 -04:00
Evan You ceace3a8cc release: v3.2.4 2021-08-17 12:26:50 -04:00
Evan You 03abc2573c release: v3.2.3 2021-08-16 18:25:32 -04:00
webfansplz 0627765b36
chore(types): remove unnecessary type assertions (#4336) 2021-08-16 18:19:44 -04:00
skirtle 620a69b871
fix(runtime-dom): consistently remove boolean attributes for falsy values (#4348) 2021-08-16 18:18:36 -04:00
Evan You 77223df2d2 types(runtime-dom): fix jsx type for IDE v-model inference
fix #4321
2021-08-16 17:13:37 -04:00
Amour1688 516d464830
types(runtime-dom): export type `StyleValue` (#3718) 2021-08-16 16:52:34 -04:00
zdw 84d4357f6f
fix(types): fix tsx ref component instance type (#2486) 2021-08-16 16:51:41 -04:00
5b3f1e8424
fix(runtime-core): patchChildren first in patchElement (#4313) 2021-08-16 15:46:27 -04:00
Evan You 7ffa225aa3 release: v3.2.2 2021-08-11 11:40:25 -04:00
edison e7b0a9d3cf
fix(runtime-dom): patch `textContent` on svg properly (#4301)
fix #4296
2021-08-11 10:53:54 -04:00
Shinigami 6e5801f8a8
fix(types): allow symbol in JSX ReservedProps.key (#4306) 2021-08-11 10:42:46 -04:00
Evan You 2749c15170 release: v3.2.1 2021-08-09 16:29:53 -04:00
Evan You 5a7a43cc3d release: v3.2.0 2021-08-09 15:51:53 -04:00
Evan You 4781965cc2 release: v3.2.0-beta.8 2021-08-06 23:12:27 -04:00
Evan You c421fb91b2 feat(runtime-dom): support async component in defineCustomElement
close #4261
2021-08-06 19:15:55 -04:00
hfutsora bc7dd93f92
fix(runtime-dom): fix shadowRoot instanceof check in unsupported browsers (#4238) 2021-08-02 09:41:41 -04:00
Evan You b357009a82 release: v3.2.0-beta.7 2021-07-29 13:21:30 -04:00
Evan You 204e194d2b release: v3.2.0-beta.6 2021-07-27 18:56:02 -04:00
Evan You 561e210157 fix(inject): should auto unwrap injected refs
fix #4196
2021-07-27 17:52:37 -04:00
Evan You 4b595a3ea1 release: v3.2.0-beta.5 2021-07-23 16:10:22 -04:00
Evan You ac74e1dd33 fix(v-model): avoid resetting value of in-focus & lazy input
fix #4182
2021-07-23 15:44:56 -04:00
Evan You bff4ea74c5 fix(hmr): fix custom elements hmr edge cases 2021-07-22 18:54:26 -04:00
Evan You 5b76843b69 feat(runtime-dom): support passing initial props to custom element constructor 2021-07-22 18:19:58 -04:00
Evan You 7a7e1d8e9f feat(runtime-dom): hmr for custom elements 2021-07-22 17:48:15 -04:00
Evan You a7fa4ac28a feat(runtime-dom): support specifying shadow dom styles in defineCustomElement 2021-07-22 16:33:32 -04:00
Evan You fe58bae412 release: v3.2.0-beta.4 2021-07-21 17:40:25 -04:00
Evan You ff0c810300 fix(runtime-dom): defer setting value
fix #2325, fix #4024
2021-07-21 16:38:01 -04:00
Evan You 9d5dd2da8c release: v3.2.0-beta.3 2021-07-20 17:47:03 -04:00
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
Pick 09f61b4049
types(runtime-core): adjust Renderer's type declaration (#1566) 2020-07-13 12:44:37 -04:00
Evan You b9595e64cf feat: ssr support for `<style vars>` 2020-07-12 18:04:09 -04:00
Evan You 5f271515cf refactor: shorten scoped css var / animation prefix 2020-07-10 18:47:31 -04:00
Evan You 73807aeaf7 types: fix jsx type collision with generated type after concatenation 2020-07-10 18:04:44 -04:00
Evan You 6647e34ce7 refactor: adjust useCSSVars scoped usage 2020-07-10 10:19:16 -04:00
Evan You 879ea17985 test: tests for useCSSVars 2020-07-10 09:44:00 -04:00
Evan You 9f706a9f5e feat(runtime-dom): useCssVars 2020-07-09 16:25:29 -04:00
Evan You 20df2f3817 release: v3.0.0-beta.20 2020-07-08 12:45:30 -04:00
Felix Rilling 829b35e426
chore: typo fixes (#1546)
* chore: fix typos in comments/JSDoc.

* chore: fix typo in internal function name.

* chore: fix typos in test comments/descriptions/variable names.
2020-07-08 12:32:42 +02:00
Evan You d5ab70ba66 release: v3.0.0-beta.19 2020-07-07 10:04:31 -04:00
wonderful-panda a5b4332c69
fix(types/tsx): add JSX.IntrinsicAttributes definition (#1517)
fix #1516
2020-07-06 21:59:26 -04:00
Evan You 9ee85a3783 chore: fix unintended import 2020-07-06 20:41:38 -04:00
underfin 425335c28b
fix(v-model): consistent nullish value handling with 2.x (#1530)
fix #1528
2020-07-06 19:02:33 -04:00
Evan You 441c23602f fix(runtime-dom): should set `<input list="...">` as attribute
fix #1526
2020-07-06 19:01:33 -04:00
djy0 77538ec6d9
fix(runtime-dom/style): fix patchStyle on falsy next value (#1504)
fix #1506
2020-07-06 16:45:15 -04:00
Evan You 7f83856f34 release: v3.0.0-beta.18 2020-07-01 21:06:25 -04:00
Evan You 7886c267f7 refactor: remove unused inheritRef option
This is technically a breaking change, but the option was not meant for public use
and ended up not solving the problem it was introduced for.
2020-07-01 15:40:11 -04:00
Evan You f6da6bf999 release: v3.0.0-beta.17 2020-06-30 12:10:15 -04:00
Evan You b3536d87a5 fix(runtime-dom): allow force updating value bindings for controlled inputs
fix #1471
2020-06-30 11:23:09 -04:00
Evan You ec3c12ee10 release: v3.0.0-beta.16 2020-06-29 18:34:50 -04:00
Evan You 86d3972855 fix(transition-group): vue 2 compatible handling of transition-group w/ multiple v-for children
fix #1126
2020-06-29 18:16:10 -04:00
Evan You d32aed0906 chore: add display names for dom transition components 2020-06-29 18:16:09 -04:00
蜗牛老湿 f8c6f8c7b5
refactor(runtime-dom): insertBefore anchor null equals appendChild (#1463) 2020-06-29 13:19:31 -04:00
underfin d4cd12887e
fix(BaseTransition): collect correct children with slot passthrough in `Transition` (#1456)
fix #1455
2020-06-29 12:04:28 -04:00
Evan You bf84ac8396 fix(transition): enter/leave hook timing consistency with v2
close #1145
2020-06-25 17:56:36 -04:00
underfin 299fda46a1
test(TransitionGroup): test for `TransitionGroup` (#1269) 2020-06-25 16:38:22 -04:00
Evan You 7ae70ea44c fix(transition): fix appear hooks handling 2020-06-25 16:02:28 -04:00
Evan You acd3156d2c fix(transition): fix dom transition cancel hooks not being called 2020-06-25 15:03:58 -04:00
underfin d7beea015b
fix(v-show): fix v-show unmount with falsy value (#1403)
fix #1401
2020-06-25 10:58:31 -04:00
Evan You cf2f278f48 release: v3.0.0-beta.15 2020-06-12 18:09:05 -04:00
Evan You 4492b88938 fix: always treat spellcheck and draggable as attributes
fix #1350
2020-06-12 12:40:54 -04:00
Aneryu 90c3532946
fix(runtime-dom): compatibility for cases where event.timeStamp is 0 (#1328)
close #1325
2020-06-12 11:00:37 -04:00
underfin d4e9b19932
perf: only patch string style when value has changed (#1310)
fix #1309
2020-06-11 17:25:39 -04:00
Evan You 80c868aefe workflow: setup eslint for prohibited syntax and globals
fix #1285
2020-06-10 16:54:23 -04:00
Evan You e4dc03a8b1 feat(types): adjust type exports for manual render function and tooling usage
- v-model and v-show directives are now exposed as public
- compiler-used runtime helpers are now exposed for TS tooling, but marked as @private

close #1329
2020-06-10 14:57:21 -04:00
Carlos Rodrigues 97dedebd80
feat(types): update to Typescript 3.9 (#1106) 2020-06-09 10:17:42 -04:00
Evan You 38f2d23a60 feat(runtime-core): add inheritRef option + make <transition> & <keep-alive> inherit refs 2020-05-22 10:26:17 -04:00
zhangzhonghe 5a3b44caf7
chore: fix typo in comment (#1217) 2020-05-21 09:34:05 +02:00
Evan You 32b3f78a36 release: v3.0.0-beta.14 2020-05-18 14:42:11 -04:00
underfin 83b7158017
fix(v-model): should not trigger updates during input composition (#1183) 2020-05-18 10:23:55 -04:00
Albert Kaaman ab86b190ce
fix(runtime-dom): event handlers with modifiers should get all event arguments (#1193) 2020-05-18 10:11:39 -04:00
underfin d73a508a73
fix(Transition): fix validate duration (#1188) 2020-05-18 10:09:10 -04:00
Evan You 449fd05ad6 release: v3.0.0-beta.13 2020-05-16 21:53:47 -04:00
Evan You 1184118d23 wip(runtime): test for static vnode handling 2020-05-15 16:11:53 -04:00
Evan You dbf627f136 wip(runtime): support multi-element static vnode in renderer 2020-05-15 15:12:26 -04:00
Evan You 3c88299f6a release: v3.0.0-beta.12 2020-05-11 15:52:37 -04:00
Evan You 7887c54dfe release: v3.0.0-beta.11 2020-05-11 14:25:36 -04:00
underfin 697de07e63
fix(transition): should reset enter class after appear (#1152) 2020-05-11 12:30:10 -04:00
Evan You 13acb9134e release: v3.0.0-beta.10 2020-05-07 11:21:18 -04:00
Evan You c32ed52b97 release: v3.0.0-beta.9 2020-05-04 17:14:42 -04:00
Evan You f05aeea7ae fix(transitionGroup): fix transition children resolving condition 2020-05-04 17:09:19 -04:00
Evan You 3c3fe88c64 release: v3.0.0-beta.8 2020-05-04 10:49:23 -04:00
underfin 26a50ce67f
fix(transitionGroup): inner children should skip comment node (#1105) 2020-05-04 10:41:48 -04:00
Evan You 0dc44a6a86 release: v3.0.0-beta.7 2020-05-02 17:06:16 -04:00
Evan You b570287dfe release: v3.0.0-beta.6 2020-05-01 18:56:53 -04:00
Evan You 98bee596bd fix(runtime-core): should catch dom prop set TypeErrors
based on #1051
2020-05-01 18:47:27 -04:00
Evan You b40fcbc4c6 fix(types): augment ref unwrap bail types in appropriate packages
Packages can now augment the ref unwrap bail types in their own `d.ts`.
Also updated the build script to auto concat any files in a package's
`types` directory to the final generated `d.ts`.

- `@vue/reactivity` should no longer require `libs: ["DOM"]` in tsconfig
- Properly bail on `VNode` and `ComponentPublicInstance` in runtime-core
2020-05-01 16:14:30 -04:00
Evan You 20bc7ba1c5 fix(runtime-dom): should not coerce nullish values to empty strings for non-string dom props
fix #1049
close #1092, close #1093, close #1094
2020-05-01 11:06:24 -04:00
HiiTea 22717772dd
chore: fix typos (#1090) 2020-05-01 09:42:58 -04:00
Evan You c9bf7ded2e refactor(types): mark internal API exports and exclude from d.ts
BREAKING CHANGE: Internal APIs are now excluded from type decalrations.
2020-04-30 17:04:35 -04:00
Evan You a5bb1d02b7 release: v3.0.0-beta.5 2020-04-30 16:20:25 -04:00
underfin 8ed3455251
fix(transition-group): should collect raw children with Fragment (#1046)
fix #1045
2020-04-30 15:06:50 -04:00
Evan You 386b093554 fix(hmr): support hmr for static nodes 2020-04-30 14:45:25 -04:00
Evan You d29aefcf99 release: v3.0.0-beta.4 2020-04-24 16:20:20 -04:00
Evan You 6fefeafe98 release: v3.0.0-beta.3 2020-04-20 17:00:26 -04:00
Andrew Talbot 054ccecd58
perf(core): use `startsWith` instead of `indexOf` (#989) 2020-04-20 15:44:20 -04:00
Evan You 218e6e1667 build: adjust build formats
- Rename `esm` to `esm-browser`
- Add runtime-only build for `esm-browser`
- Add default CDN alias for jsdelivr
2020-04-19 18:43:21 -04:00
Evan You c1a85cb124 release: v3.0.0-beta.2 2020-04-17 11:01:01 -04:00
Evan You ca6912554c release: v3.0.0-beta.1 2020-04-16 15:45:04 -04:00
Evan You 11654a6e50 release: v3.0.0-alpha.13 2020-04-15 12:46:26 -04:00
Evan You 1068212cb2 chore: run prettier 2020-04-15 10:51:07 -04:00
Evan You d45e47569d fix(runtime-dom/v-on): support event.stopImmediatePropagation on multiple listeners
close #916
2020-04-15 10:35:34 -04:00
Evan You 0869443d01 chore: import toRaw from @vue/reactivity 2020-04-14 09:59:02 -04:00
likui 27b5c71944
fix(runtime-dom): should patch svg innerHtml (#956) 2020-04-13 12:13:37 -04:00
Evan You ab16a065a8 refactor: adjust runtime-dom test structure + tests for dom props 2020-04-10 15:37:30 -04:00
Evan You ed235f16de refactor: simplify runtime-dom class tests 2020-04-10 15:23:01 -04:00
Evan You 6eb3399311 fix(runtime-dom): fix patching for attributes starting with `on`
fix #949

BREAKING CHANGE: Only props starting with `on` followed by an uppercase
letter or a non-letter character are considered event listeners.
2020-04-10 11:57:07 -04:00
Evan You 1d9f8fc979 release: v3.0.0-alpha.12 2020-04-08 18:59:49 -04:00
Evan You 42278317e1 fix(transition): should ship props declarations in production 2020-04-07 17:19:37 -04:00
Evan You f87d6b501e test: fix runtime-dom v-on test 2020-04-07 11:41:48 -04:00
Evan You 2302dea162 fix(runtime-dom): support native onxxx handlers
close #927
2020-04-07 11:34:54 -04:00
Evan You ec4a4c1e06 refactor(runtime-core): refactor props resolution
Improve performance in optimized mode + tests
2020-04-06 17:37:47 -04:00
Jian Zhang da1fb7afef
fix(runtime-dom): fix getModelAssigner order in vModelCheckbox (#926) 2020-04-06 09:55:19 -04:00
Evan You f42d11e8e1 fix(v-model): handle dynamic assigners and array assigners
close #923
2020-04-04 20:51:42 -04:00
Evan You 7402951d94 release: v3.0.0-alpha.11 2020-04-03 21:45:50 -04:00
Evan You 835789532c test: make events test more stable 2020-04-01 21:59:42 -04:00
Evan You 8080c38323 chore: avoid v-cloak test warning 2020-04-01 21:39:47 -04:00
likui 0ed147d336
fix(runtime-dom): v-cloak should be removed after compile on the root element (#893)
fix #890
2020-03-31 18:13:59 -04:00
Evan You b1d0b046af fix(runtome-dom): properly support creating customized built-in element 2020-03-27 12:39:00 -04:00
Evan You de81faf00a release: v3.0.0-alpha.10 2020-03-24 18:33:40 -04:00
ysj16 0dba5d44e6
fix(TransitionGroup): ignore comment node when warn (fix#869) (#875) 2020-03-24 12:09:42 -04:00
Evan You 0dc2478569 fix(transition): fix duration prop validation
fix #868
2020-03-23 11:13:37 -04:00
Evan You b8c1be18f3 refactor(types): use stricter settings
fix #847
2020-03-23 11:08:22 -04:00
Evan You ba9a91c48c refactor: remove null comparisons 2020-03-18 18:14:51 -04:00
Evan You be91b43564 types: improve directive hook argument types 2020-03-18 12:30:26 -04:00
Evan You 5282ff0edb release: v3.0.0-alpha.9 2020-03-16 18:56:44 -04:00
likui d318576d74
fix(runtime-dom): patch xlink attribute (#842) 2020-03-16 18:46:01 -04:00
Evan You c450ede12d feat(ssr): support getSSRProps for vnode directives 2020-03-16 18:36:19 -04:00
Evan You 9eef37fa32 refactor(compiler): remove modelValue from generated code for native v-model 2020-03-16 17:51:56 -04:00
Evan You 206640a2d8 fix(build): remove __RUNTIME_COMPILE__ flag
behavior should be consistent in all builds. fix #817
2020-03-11 16:39:26 -04:00
Evan You ca5f39ee35 refactor(runtime-core): adjust patchProp value arguments order
BREAKING CHANGE: `RendererOptions.patchProp` arguments order has changed

  The `prevValue` and `nextValue` position has been swapped to keep it
  consistent with other functions in the renderer implementation. This
  only affects custom renderers using the `createRenderer` API.
2020-03-09 16:15:49 -04:00
Evan You c75388d538 release: v3.0.0-alpha.8 2020-03-06 15:58:40 -05:00
Evan You bcb2a9b4a6 build: make @vue/shared public
This avoids it being inlined multiple times in esm bundler builds
2020-02-29 22:04:42 -05:00
Evan You 312513d255 release: v3.0.0-alpha.7 2020-02-26 14:36:38 -05:00
Evan You 4a5b91bd1f fix(runtime-core): fix slot fallback + slots typing
fix #773
2020-02-25 09:41:07 -05:00
Evan You 9ab22c7ae6 release: v3.0.0-alpha.6 2020-02-22 08:25:32 +01:00
Evan You 189a0a3b19 chore: use undefined for TS 3.8 compat 2020-02-21 11:38:41 +01:00
Evan You 478b4cfb2c release: v3.0.0-alpha.5 2020-02-18 15:00:55 -05:00
Evan You 80904e92b8 types: cleanup renderer & hydration typing 2020-02-14 12:33:32 -05:00
Evan You 167f8241bd refactor(ssr): make hydration logic tree-shakeable 2020-02-14 01:30:08 -05:00
Evan You 42d80b5888 wip(ssr): component hydration 2020-02-13 23:31:03 -05:00
Evan You 6b505dcd23 wip(ssr): basic element hydration 2020-02-13 17:47:00 -05:00
Evan You 8e19424c04 refactor(security): mark potential unsafe code paths 2020-02-12 15:00:32 -05:00