vue 3.6.0-beta.12 → 3.6.0-beta.13

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,5 +1,5 @@
1
1
  /**
2
- * vue v3.6.0-beta.12
2
+ * vue v3.6.0-beta.13
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -1,5 +1,5 @@
1
1
  /**
2
- * vue v3.6.0-beta.12
2
+ * vue v3.6.0-beta.13
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -1302,9 +1302,6 @@ var Vue = (function(exports) {
1302
1302
  default: return 0;
1303
1303
  }
1304
1304
  }
1305
- function getTargetType(value) {
1306
- return value["__v_skip"] || !Object.isExtensible(value) ? 0 : targetTypeMap(toRawType(value));
1307
- }
1308
1305
  /* @__NO_SIDE_EFFECTS__ */
1309
1306
  function reactive(target) {
1310
1307
  if (/* @__PURE__ */ isReadonly(target)) return target;
@@ -1417,10 +1414,11 @@ var Vue = (function(exports) {
1417
1414
  return target;
1418
1415
  }
1419
1416
  if (target["__v_raw"] && !(isReadonly && target["__v_isReactive"])) return target;
1420
- const targetType = getTargetType(target);
1421
- if (targetType === 0) return target;
1417
+ if (target["__v_skip"] || !Object.isExtensible(target)) return target;
1422
1418
  const existingProxy = proxyMap.get(target);
1423
1419
  if (existingProxy) return existingProxy;
1420
+ const targetType = targetTypeMap(toRawType(target));
1421
+ if (targetType === 0) return target;
1424
1422
  const proxy = new Proxy(target, targetType === 2 ? collectionHandlers : baseHandlers);
1425
1423
  proxyMap.set(target, proxy);
1426
1424
  return proxy;
@@ -3235,17 +3233,16 @@ var Vue = (function(exports) {
3235
3233
  },
3236
3234
  remove(vnode, parentComponent, parentSuspense, { um: unmount, o: { remove: hostRemove } }, doRemove) {
3237
3235
  const { shapeFlag, children, anchor, targetStart, targetAnchor, props } = vnode;
3238
- let shouldRemove = doRemove || !isTeleportDisabled(props);
3236
+ const shouldRemove = doRemove || !isTeleportDisabled(props);
3239
3237
  const pendingMount = pendingMounts.get(vnode);
3240
3238
  if (pendingMount) {
3241
3239
  pendingMount.flags |= 4;
3242
3240
  pendingMounts.delete(vnode);
3243
- shouldRemove = false;
3244
3241
  }
3245
3242
  if (targetStart) hostRemove(targetStart);
3246
3243
  if (targetAnchor) hostRemove(targetAnchor);
3247
3244
  doRemove && hostRemove(anchor);
3248
- if (shapeFlag & 16) for (let i = 0; i < children.length; i++) {
3245
+ if (!pendingMount && shapeFlag & 16) for (let i = 0; i < children.length; i++) {
3249
3246
  const child = children[i];
3250
3247
  unmount(child, parentComponent, parentSuspense, shouldRemove, !!child.dynamicChildren);
3251
3248
  }
@@ -3897,15 +3894,11 @@ var Vue = (function(exports) {
3897
3894
  }
3898
3895
  if (shapeFlag & 16 && !(props && (props.innerHTML || props.textContent))) {
3899
3896
  let next = hydrateChildren(el.firstChild, vnode, el, parentComponent, parentSuspense, slotScopeIds, optimized);
3900
- let hasWarned = false;
3897
+ if (next && !isMismatchAllowed(el, 1)) {
3898
+ warn$1(`Hydration children mismatch on`, el, `\nServer rendered element contains more child nodes than client vdom.`);
3899
+ logMismatchError();
3900
+ }
3901
3901
  while (next) {
3902
- if (!isMismatchAllowed(el, 1)) {
3903
- if (!hasWarned) {
3904
- warn$1(`Hydration children mismatch on`, el, `\nServer rendered element contains more child nodes than client vdom.`);
3905
- hasWarned = true;
3906
- }
3907
- logMismatchError();
3908
- }
3909
3902
  const cur = next;
3910
3903
  next = next.nextSibling;
3911
3904
  remove(cur);
@@ -3944,7 +3937,7 @@ var Vue = (function(exports) {
3944
3937
  optimized = optimized || !!parentVNode.dynamicChildren;
3945
3938
  const children = parentVNode.children;
3946
3939
  const l = children.length;
3947
- let hasWarned = false;
3940
+ let hasCheckedMismatch = false;
3948
3941
  for (let i = 0; i < l; i++) {
3949
3942
  const vnode = optimized ? children[i] : children[i] = normalizeVNode(children[i]);
3950
3943
  const isText = vnode.type === Text;
@@ -3958,12 +3951,12 @@ var Vue = (function(exports) {
3958
3951
  node = hydrateNode(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized);
3959
3952
  } else if (isText && !vnode.children) insert(vnode.el = createText(""), container);
3960
3953
  else {
3961
- if (!isMismatchAllowed(container, 1)) {
3962
- if (!hasWarned) {
3954
+ if (!hasCheckedMismatch) {
3955
+ hasCheckedMismatch = true;
3956
+ if (!isMismatchAllowed(container, 1)) {
3963
3957
  warn$1(`Hydration children mismatch on`, container, `\nServer rendered element contains fewer child nodes than client vdom.`);
3964
- hasWarned = true;
3958
+ logMismatchError();
3965
3959
  }
3966
- logMismatchError();
3967
3960
  }
3968
3961
  patch(null, vnode, container, null, parentComponent, parentSuspense, getContainerType(container), slotScopeIds);
3969
3962
  }
@@ -6976,8 +6969,10 @@ var Vue = (function(exports) {
6976
6969
  else hostInsert(el, container, anchor);
6977
6970
  };
6978
6971
  const performLeave = () => {
6972
+ const wasLeaving = el._isLeaving || !!el[leaveCbKey];
6979
6973
  if (el._isLeaving) el[leaveCbKey](true);
6980
- leave(el, () => {
6974
+ if (transition.persisted && !wasLeaving) remove();
6975
+ else leave(el, () => {
6981
6976
  remove();
6982
6977
  afterLeave && afterLeave();
6983
6978
  });
@@ -7198,6 +7193,10 @@ var Vue = (function(exports) {
7198
7193
  if (hooks) for (let i = 0; i < hooks.length; i++) hooks[i].flags |= 4;
7199
7194
  }
7200
7195
  function performTransitionEnter(el, transition, insert, parentSuspense, force = false) {
7196
+ if (force && transition.persisted && !el[leaveCbKey]) {
7197
+ insert();
7198
+ return;
7199
+ }
7201
7200
  if (force || needTransition(parentSuspense, transition)) {
7202
7201
  transition.beforeEnter(el);
7203
7202
  insert();
@@ -8444,7 +8443,7 @@ var Vue = (function(exports) {
8444
8443
  }
8445
8444
  //#endregion
8446
8445
  //#region packages/runtime-core/src/index.ts
8447
- const version = "3.6.0-beta.12";
8446
+ const version = "3.6.0-beta.13";
8448
8447
  const warn = warn$1;
8449
8448
  /**
8450
8449
  * Runtime error messages. Only exposed in dev or esm builds.
@@ -9052,7 +9051,21 @@ var Vue = (function(exports) {
9052
9051
  const invoker = (e) => {
9053
9052
  if (!e._vts) e._vts = Date.now();
9054
9053
  else if (e._vts <= invoker.attached) return;
9055
- callWithAsyncErrorHandling(patchStopImmediatePropagation(e, invoker.value), instance, 5, [e]);
9054
+ const value = invoker.value;
9055
+ if (isArray(value)) {
9056
+ const originalStop = e.stopImmediatePropagation;
9057
+ e.stopImmediatePropagation = () => {
9058
+ originalStop.call(e);
9059
+ e._stopped = true;
9060
+ };
9061
+ const handlers = value.slice();
9062
+ const args = [e];
9063
+ for (let i = 0; i < handlers.length; i++) {
9064
+ if (e._stopped) break;
9065
+ const handler = handlers[i];
9066
+ if (handler) callWithAsyncErrorHandling(handler, instance, 5, args);
9067
+ }
9068
+ } else callWithAsyncErrorHandling(value, instance, 5, [e]);
9056
9069
  };
9057
9070
  invoker.value = initialValue;
9058
9071
  invoker.attached = getNow();
@@ -9063,16 +9076,6 @@ var Vue = (function(exports) {
9063
9076
  warn(`Wrong type passed as event handler to ${propName} - did you forget @ or : in front of your prop?\nExpected function or array of functions, received type ${typeof value}.`);
9064
9077
  return NOOP;
9065
9078
  }
9066
- function patchStopImmediatePropagation(e, value) {
9067
- if (isArray(value)) {
9068
- const originalStop = e.stopImmediatePropagation;
9069
- e.stopImmediatePropagation = () => {
9070
- originalStop.call(e);
9071
- e._stopped = true;
9072
- };
9073
- return value.map((fn) => (e) => !e._stopped && fn && fn(e));
9074
- } else return value;
9075
- }
9076
9079
  //#endregion
9077
9080
  //#region packages/runtime-dom/src/patchProp.ts
9078
9081
  const patchProp = (el, key, prevValue, nextValue, namespace, parentComponent) => {
@@ -12767,10 +12770,9 @@ var Vue = (function(exports) {
12767
12770
  const isTemplate = isTemplateNode(node);
12768
12771
  const memo = findDir(node, "memo");
12769
12772
  const keyProp = findProp(node, `key`, false, true);
12770
- const isDirKey = keyProp && keyProp.type === 7;
12773
+ keyProp && keyProp.type;
12771
12774
  let keyExp = keyProp && (keyProp.type === 6 ? keyProp.value ? createSimpleExpression(keyProp.value.content, true) : void 0 : keyProp.exp);
12772
- if (memo && keyExp && isDirKey) {}
12773
- const keyProperty = keyProp && keyExp ? createObjectProperty(`key`, keyExp) : null;
12775
+ const keyProperty = keyExp ? createObjectProperty(`key`, keyExp) : null;
12774
12776
  const isStableFragment = forNode.source.type === 4 && forNode.source.constType > 0;
12775
12777
  const fragmentFlag = isStableFragment ? 64 : keyProp ? 128 : 256;
12776
12778
  forNode.codegenNode = createVNodeCall(context, helper(FRAGMENT), void 0, renderExp, fragmentFlag, void 0, void 0, true, !isStableFragment, false, node.loc);