Commit Graph

96 Commits

Author SHA1 Message Date
skirtle
620a69b871
fix(runtime-dom): consistently remove boolean attributes for falsy values (#4348) 2021-08-16 18:18:36 -04:00
5b3f1e8424
fix(runtime-core): patchChildren first in patchElement (#4313) 2021-08-16 15:46:27 -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
Evan You
561e210157 fix(inject): should auto unwrap injected refs
fix #4196
2021-07-27 17:52:37 -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
a7fa4ac28a feat(runtime-dom): support specifying shadow dom styles in defineCustomElement 2021-07-22 16:33:32 -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
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
c0db807844 refactor: simplify static content insertion 2021-07-15 13:16: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
GU Yiling
e3f5dcb99b
fix(runtime-dom): should remove attribute when binding null to value (#3564) 2021-05-28 15:48:22 -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
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
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
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
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
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
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
Pick
cf1b6c666f
feat(runtime-dom): allow native Set as v-model checkbox source (#1957) 2020-09-14 11:16:50 -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
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
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
Evan You
5c74243211 test: move mockWarn into setup files 2020-07-27 22:58:51 -04:00
learningMaster
324167d3d2
test(runtime-dom): add test for vModel composition session (#1631) 2020-07-21 10:34:08 -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
32a4cb804b test: improve coverage 2020-07-15 10:38:45 -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
b9595e64cf feat: ssr support for <style vars> 2020-07-12 18:04:09 -04:00