@vue/runtime-dom 3.5.12 → 3.5.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,11 +1,11 @@
1
1
  /**
2
- * @vue/runtime-dom v3.5.12
2
+ * @vue/runtime-dom v3.5.14
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
6
- import { warn, h, BaseTransition, assertNumber, BaseTransitionPropsValidators, getCurrentInstance, onBeforeMount, watchPostEffect, onMounted, onUnmounted, Fragment, Static, camelize, callWithAsyncErrorHandling, defineComponent, nextTick, unref, createVNode, useTransitionState, onUpdated, toRaw, getTransitionRawChildren, setTransitionHooks, resolveTransitionHooks, Text, isRuntimeOnly, createRenderer, createHydrationRenderer } from '@vue/runtime-core';
6
+ import { warn, BaseTransitionPropsValidators, h, BaseTransition, assertNumber, getCurrentInstance, onBeforeUpdate, queuePostFlushCb, onMounted, watch, onUnmounted, Fragment, Static, camelize, callWithAsyncErrorHandling, defineComponent, nextTick, unref, createVNode, useTransitionState, onUpdated, toRaw, getTransitionRawChildren, setTransitionHooks, resolveTransitionHooks, Text, createRenderer, createHydrationRenderer, isRuntimeOnly } from '@vue/runtime-core';
7
7
  export * from '@vue/runtime-core';
8
- import { extend, isObject, toNumber, isArray, isString, hyphenate, capitalize, includeBooleanAttr, isSymbol, isSpecialBooleanAttr, isFunction, NOOP, isOn, isModelListener, camelize as camelize$1, isPlainObject, hasOwn, EMPTY_OBJ, looseToNumber, looseIndexOf, isSet, looseEqual, invokeArrayFns, isHTMLTag, isSVGTag, isMathMLTag } from '@vue/shared';
8
+ import { extend, isObject, toNumber, isArray, NOOP, isString, hyphenate, capitalize, isSpecialBooleanAttr, includeBooleanAttr, isSymbol, isFunction, isOn, isModelListener, camelize as camelize$1, isPlainObject, hasOwn, EMPTY_OBJ, looseToNumber, looseIndexOf, isSet, looseEqual, invokeArrayFns, isHTMLTag, isSVGTag, isMathMLTag } from '@vue/shared';
9
9
 
10
10
  let policy = void 0;
11
11
  const tt = typeof window !== "undefined" && window.trustedTypes;
@@ -169,7 +169,8 @@ function resolveTransitionProps(rawProps) {
169
169
  onAppear = onEnter,
170
170
  onAppearCancelled = onEnterCancelled
171
171
  } = baseProps;
172
- const finishEnter = (el, isAppear, done) => {
172
+ const finishEnter = (el, isAppear, done, isCancelled) => {
173
+ el._enterCancelled = isCancelled;
173
174
  removeTransitionClass(el, isAppear ? appearToClass : enterToClass);
174
175
  removeTransitionClass(el, isAppear ? appearActiveClass : enterActiveClass);
175
176
  done && done();
@@ -212,8 +213,13 @@ function resolveTransitionProps(rawProps) {
212
213
  el._isLeaving = true;
213
214
  const resolve = () => finishLeave(el, done);
214
215
  addTransitionClass(el, leaveFromClass);
215
- addTransitionClass(el, leaveActiveClass);
216
- forceReflow();
216
+ if (!el._enterCancelled) {
217
+ forceReflow();
218
+ addTransitionClass(el, leaveActiveClass);
219
+ } else {
220
+ addTransitionClass(el, leaveActiveClass);
221
+ forceReflow();
222
+ }
217
223
  nextFrame(() => {
218
224
  if (!el._isLeaving) {
219
225
  return;
@@ -227,11 +233,11 @@ function resolveTransitionProps(rawProps) {
227
233
  callHook(onLeave, [el, resolve]);
228
234
  },
229
235
  onEnterCancelled(el) {
230
- finishEnter(el, false);
236
+ finishEnter(el, false, void 0, true);
231
237
  callHook(onEnterCancelled, [el]);
232
238
  },
233
239
  onAppearCancelled(el) {
234
- finishEnter(el, true);
240
+ finishEnter(el, true, void 0, true);
235
241
  callHook(onAppearCancelled, [el]);
236
242
  },
237
243
  onLeaveCancelled(el) {
@@ -451,10 +457,11 @@ function useCssVars(getter) {
451
457
  }
452
458
  updateTeleports(vars);
453
459
  };
454
- onBeforeMount(() => {
455
- watchPostEffect(setVars);
460
+ onBeforeUpdate(() => {
461
+ queuePostFlushCb(setVars);
456
462
  });
457
463
  onMounted(() => {
464
+ watch(setVars, NOOP, { flush: "post" });
458
465
  const ob = new MutationObserver(setVars);
459
466
  ob.observe(instance.subTree.el.parentNode, { childList: true });
460
467
  onUnmounted(() => ob.disconnect());
@@ -796,7 +803,7 @@ function shouldSetAsProp(el, key, value, isSVG) {
796
803
  }
797
804
  return false;
798
805
  }
799
- if (key === "spellcheck" || key === "draggable" || key === "translate") {
806
+ if (key === "spellcheck" || key === "draggable" || key === "translate" || key === "autocorrect") {
800
807
  return false;
801
808
  }
802
809
  if (key === "form") {
@@ -1061,6 +1068,8 @@ class VueElement extends BaseClass {
1061
1068
  this._update();
1062
1069
  }
1063
1070
  if (shouldReflect) {
1071
+ const ob = this._ob;
1072
+ ob && ob.disconnect();
1064
1073
  if (val === true) {
1065
1074
  this.setAttribute(hyphenate(key), "");
1066
1075
  } else if (typeof val === "string" || typeof val === "number") {
@@ -1068,6 +1077,7 @@ class VueElement extends BaseClass {
1068
1077
  } else if (!val) {
1069
1078
  this.removeAttribute(hyphenate(key));
1070
1079
  }
1080
+ ob && ob.observe(this, { attributes: true });
1071
1081
  }
1072
1082
  }
1073
1083
  }
@@ -1282,6 +1292,7 @@ const TransitionGroupImpl = /* @__PURE__ */ decorate({
1282
1292
  instance.vnode.el,
1283
1293
  moveClass
1284
1294
  )) {
1295
+ prevChildren = [];
1285
1296
  return;
1286
1297
  }
1287
1298
  prevChildren.forEach(callPendingCbs);
@@ -1305,6 +1316,7 @@ const TransitionGroupImpl = /* @__PURE__ */ decorate({
1305
1316
  };
1306
1317
  el.addEventListener("transitionend", cb);
1307
1318
  });
1319
+ prevChildren = [];
1308
1320
  });
1309
1321
  return () => {
1310
1322
  const rawProps = toRaw(props);