Commit Graph

301 Commits

Author SHA1 Message Date
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
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
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
44e6da1402 fix(runtime-dom): unref when setting useCssVars 2020-07-15 18:31:10 -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
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
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
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
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
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
b3536d87a5 fix(runtime-dom): allow force updating value bindings for controlled inputs
fix #1471
2020-06-30 11:23:09 -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
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
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
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
dbf627f136 wip(runtime): support multi-element static vnode in renderer 2020-05-15 15:12:26 -04:00
underfin
697de07e63
fix(transition): should reset enter class after appear (#1152) 2020-05-11 12:30:10 -04:00
Evan You
f05aeea7ae fix(transitionGroup): fix transition children resolving condition 2020-05-04 17:09:19 -04:00
underfin
26a50ce67f
fix(transitionGroup): inner children should skip comment node (#1105) 2020-05-04 10:41:48 -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
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
Andrew Talbot
054ccecd58
perf(core): use startsWith instead of indexOf (#989) 2020-04-20 15:44:20 -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
42278317e1 fix(transition): should ship props declarations in production 2020-04-07 17:19:37 -04:00
Evan You
2302dea162 fix(runtime-dom): support native onxxx handlers
close #927
2020-04-07 11:34:54 -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
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
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
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
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
Evan You
d866d389f3 chore: fix import path + comment 2020-02-12 12:12:53 -05:00
Evan You
27913e661a feat(compiler-dom/runtime-dom): stringify eligible static trees 2020-02-12 11:56:42 -05:00
Jonas
5495c70c4a
fix(transition-group): handle multiple move-classes (#679)
fix #678
2020-02-10 09:36:19 -05:00
Evan You
c952321fcf wip(compiler-ssr): v-model static types + textarea 2020-02-05 14:23:03 -05:00
Evan You
e6e2c58234 fix(runtime-dom/ssr): properly handle xlink and boolean attributes 2020-01-28 22:03:53 -05:00
Evan You
6f43c4b516 wip(ssr): vdom serialization 2020-01-28 18:48:27 -05:00
Evan You
da25517377 wip(ssr): initial work on server-renderer 2020-01-27 16:00:17 -05:00
Evan You
c07751fd36 refactor: adjust createApp related API signatures
BREAKING CHANGE: `createApp` API has been adjusted.

  - `createApp()` now accepts the root component, and optionally a props
  object to pass to the root component.
  - `app.mount()` now accepts a single argument (the root container)
  - `app.unmount()` no longer requires arguments.

  New behavior looks like the following:

  ``` js
  const app = createApp(RootComponent)
  app.mount('#app')
  app.unmount()
  ```
2020-01-27 16:00:17 -05:00
Evan You
48152bc88e fix(runtime-dom): should not access document in non-browser env
fix #657
2020-01-25 22:31:38 -05:00
yang
98d50d874d fix(transition): handle multiple transition classes (#638) (#645)
fix #638
2020-01-20 12:44:01 -05:00
likui
04ac6c467a feat(runtime-core): support app.unmount(container) (#601)
close #593
2020-01-16 12:23:47 -05:00
djy0
fc48e43ac7 chore: fix typo [ci skip] (#547) 2019-12-18 11:45:28 -05:00
Evan You
69c9dbc825 feat(sfc): scopeId runtime support 2019-12-17 12:31:38 -05:00
Haoqun Jiang
d1527fbee4 test: add test for runtime-dom/modules/class (#75) 2019-12-09 14:52:20 -05:00
hujiulong
7522d4d61a types(transition): props should be declared by generic (#514) 2019-12-03 10:12:54 -05:00
Evan You
22957436e8 chore: default transition css prop to true 2019-11-29 17:38:29 -05:00
Evan You
6d254da532 feat(transition): add runtime props validation for TransitionGroup 2019-11-29 16:47:41 -05:00
Evan You
0e3e07079a feat(transition): properly handle transition & transition-group in compiler 2019-11-29 12:42:04 -05:00
Evan You
52239d137c types: fix class module transition class typing 2019-11-29 11:53:54 -05:00
Evan You
800b0f0e7a feat(transition): TransitionGroup 2019-11-28 18:41:01 -05:00
likui
00857ac816 feat(core): support v-show directive (#310) 2019-11-24 22:04:26 -05:00
Evan You
1765985ec2 feat(transition): support in templates 2019-11-24 18:37:59 -05:00
Evan You
a834807942 refactor: rename transition components 2019-11-24 16:00:46 -05:00
Gabriel Loiácono
f399b5476f refactor(transition): avoid repeated code (#483) 2019-11-23 00:02:39 -05:00
Evan You
55b7bf991d fix(transition): handle errors in CSSTransition onEnter & onLeave 2019-11-22 23:42:04 -05:00
Evan You
a6aa64b0cc refactor: tweaks 2019-11-22 23:32:53 -05:00
Evan You
1b8236615e feat(transition): handle persisted mode 2019-11-22 23:21:53 -05:00
Evan You
24b4120c21 types: fix dts 2019-11-22 18:09:26 -05:00
Evan You
231b940103 chore: remove unnecessary type annotations 2019-11-22 15:35:41 -05:00
Evan You
be9b4b2527 feat(transition): handle transition classes when patching classes 2019-11-22 15:35:41 -05:00
Evan You
7859e4bce3 feat(transition): CSS transition for runtime-dom 2019-11-22 15:35:41 -05:00
Cédric Exbrayat
8688acc36f refactor(runtime-dom): avoid unnecessary checks in patchDOMProp (#452) 2019-11-14 11:27:23 -05:00
Cédric Exbrayat
fe66194a77 feat(vModel): handle true-value and false-value for checkbox (#449) 2019-11-12 16:24:39 -05:00
Evan You
2b2727e62c feat(runtime-dom/style): support CSS variables and auto prefixing 2019-11-08 22:38:04 -05:00
Cr
34e2725e9b feat(runtime-dom): support !important for patchStyle. (#422) 2019-11-08 22:06:53 -05:00
Evan You
7fa676e55f feat(v-on): adjust key modifier behavior to match 2.x 2019-11-08 17:50:59 -05:00
Evan You
d7eab51315 refactor: move dom tag config to shared
Otherwise runtime-dom cjs & esm builds will import compiler-dom
2019-11-06 15:22:46 -05:00
Evan You
90b9884eb4 refactor: rename/re-organize files 2019-11-02 12:18:35 -04:00
Evan You
5eee1152ca types: (wip) improve dts output 2019-11-01 11:32:53 -04:00
Evan You
07ce2c5fa7 perf: improve directive runtime performance 2019-10-26 16:00:07 -04:00
Evan You
6a92bbd9c0 feat(runtime-dom): support using mount target innerHTML as template 2019-10-24 21:58:34 -04:00
Evan You
af57ad110f chore: revert prettier 2019-10-22 11:53:32 -04:00
Evan You
b5886189ba types: massive refactor 2019-10-22 11:53:32 -04:00
Evan You
bb85aefc03 chore: move dom element config to compiler-dom 2019-10-21 16:25:16 -04:00
Jooger
67eb29f63b refactor(errorHandlling): handle array in callWithAsyncErrorHandling (#332) 2019-10-21 13:59:10 -04:00
Evan You
58593c4714 feat(v-on): cache handlers 2019-10-18 21:51:34 -04:00
Evan You
cba34453db refactor(v-on): avoid empty modifier guard with only key modifier 2019-10-18 16:20:45 -04:00
xiaoboost
32499b16e7 types: improve typing (#309) 2019-10-16 10:31:40 -04:00
Dmitry Sharshakov
0bac763f5a feat(directives): add support for function directives (#252) 2019-10-16 02:12:26 -04:00
宋铄运
db5c343c33 test(runtime-dom): add test coverage for v-on runtime guards, fix "exact" guard (#298) 2019-10-15 17:08:43 -04:00
Carlos Rodrigues
0b2573f3d1 types(runtime-dom): cast to the correct eventType instead of any (#292) 2019-10-15 12:26:19 -04:00
Evan You
8df3e0a41e refactor: move looseEqual to vModel 2019-10-14 17:40:56 -04:00
Stanislav Lashmanov
b4eeb2fa1b test(runtime-dom): vModel tests (#255) 2019-10-14 17:07:34 -04:00
月迷津渡
66023a8886 feat: runtime component name validation (#217) 2019-10-14 15:36:29 -04:00