Commit Graph

336 Commits

Author SHA1 Message Date
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 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 87c86e4cc2 refactor: ensure ssr branches are included in esm-bundler build 2021-09-23 15:02:19 -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 d534515836 fix(runtime-dom): style patching shoud always preserve v-show display property
close #4424
2021-09-07 12:25:00 -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
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
edison e7b0a9d3cf
fix(runtime-dom): patch `textContent` on svg properly (#4301)
fix #4296
2021-08-11 10:53:54 -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 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 ff0c810300 fix(runtime-dom): defer setting value
fix #2325, fix #4024
2021-07-21 16:38:01 -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 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
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 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
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
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 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
Cédric Exbrayat f01aadf2a1
fix(compat): enum coercion warning (#3755) 2021-05-12 17:47:00 -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
HcySunYang 33ba0e3229
fix(runtime-dom): fix event listeners call in firefox <= 53 (#3501)
fix #3485
2021-03-29 19:15:12 -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
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
HcySunYang 8ffcde2836
fix(runtime-dom): support mounting app to svg container (#2929)
fix #2926
2021-03-01 11:51:32 -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 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
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
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
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 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
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 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
ᴜɴвʏтᴇ 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
XRenSiu bb54a84cd1
chore: use '@vue/shared' instead of '@vue/shared/src' (#1915) 2020-08-21 12:50:06 -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
underfin 07ece2e926
fix(style-vars): fix css vars on component with suspense as root (#1718) 2020-07-28 15:30:18 -04:00