@vue/compat 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/compat v3.6.0-beta.12
2
+ * @vue/compat v3.6.0-beta.13
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -1317,9 +1317,6 @@ function targetTypeMap(rawType) {
1317
1317
  default: return 0;
1318
1318
  }
1319
1319
  }
1320
- function getTargetType(value) {
1321
- return value["__v_skip"] || !Object.isExtensible(value) ? 0 : targetTypeMap(toRawType(value));
1322
- }
1323
1320
  /* @__NO_SIDE_EFFECTS__ */
1324
1321
  function reactive(target) {
1325
1322
  if (/* @__PURE__ */ isReadonly(target)) return target;
@@ -1432,10 +1429,11 @@ function createReactiveObject(target, isReadonly, baseHandlers, collectionHandle
1432
1429
  return target;
1433
1430
  }
1434
1431
  if (target["__v_raw"] && !(isReadonly && target["__v_isReactive"])) return target;
1435
- const targetType = getTargetType(target);
1436
- if (targetType === 0) return target;
1432
+ if (target["__v_skip"] || !Object.isExtensible(target)) return target;
1437
1433
  const existingProxy = proxyMap.get(target);
1438
1434
  if (existingProxy) return existingProxy;
1435
+ const targetType = targetTypeMap(toRawType(target));
1436
+ if (targetType === 0) return target;
1439
1437
  const proxy = new Proxy(target, targetType === 2 ? collectionHandlers : baseHandlers);
1440
1438
  proxyMap.set(target, proxy);
1441
1439
  return proxy;
@@ -3638,17 +3636,16 @@ const TeleportImpl = {
3638
3636
  },
3639
3637
  remove(vnode, parentComponent, parentSuspense, { um: unmount, o: { remove: hostRemove } }, doRemove) {
3640
3638
  const { shapeFlag, children, anchor, targetStart, targetAnchor, props } = vnode;
3641
- let shouldRemove = doRemove || !isTeleportDisabled(props);
3639
+ const shouldRemove = doRemove || !isTeleportDisabled(props);
3642
3640
  const pendingMount = pendingMounts.get(vnode);
3643
3641
  if (pendingMount) {
3644
3642
  pendingMount.flags |= 4;
3645
3643
  pendingMounts.delete(vnode);
3646
- shouldRemove = false;
3647
3644
  }
3648
3645
  if (targetStart) hostRemove(targetStart);
3649
3646
  if (targetAnchor) hostRemove(targetAnchor);
3650
3647
  doRemove && hostRemove(anchor);
3651
- if (shapeFlag & 16) for (let i = 0; i < children.length; i++) {
3648
+ if (!pendingMount && shapeFlag & 16) for (let i = 0; i < children.length; i++) {
3652
3649
  const child = children[i];
3653
3650
  unmount(child, parentComponent, parentSuspense, shouldRemove, !!child.dynamicChildren);
3654
3651
  }
@@ -4315,15 +4312,11 @@ function createHydrationFunctions(rendererInternals) {
4315
4312
  }
4316
4313
  if (shapeFlag & 16 && !(props && (props.innerHTML || props.textContent))) {
4317
4314
  let next = hydrateChildren(el.firstChild, vnode, el, parentComponent, parentSuspense, slotScopeIds, optimized);
4318
- let hasWarned = false;
4315
+ if (next && !isMismatchAllowed(el, 1)) {
4316
+ (process.env.NODE_ENV !== "production" || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(`Hydration children mismatch on`, el, `\nServer rendered element contains more child nodes than client vdom.`);
4317
+ logMismatchError();
4318
+ }
4319
4319
  while (next) {
4320
- if (!isMismatchAllowed(el, 1)) {
4321
- if ((!!(process.env.NODE_ENV !== "production") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && !hasWarned) {
4322
- warn$1(`Hydration children mismatch on`, el, `\nServer rendered element contains more child nodes than client vdom.`);
4323
- hasWarned = true;
4324
- }
4325
- logMismatchError();
4326
- }
4327
4320
  const cur = next;
4328
4321
  next = next.nextSibling;
4329
4322
  remove(cur);
@@ -4365,7 +4358,7 @@ function createHydrationFunctions(rendererInternals) {
4365
4358
  optimized = optimized || !!parentVNode.dynamicChildren;
4366
4359
  const children = parentVNode.children;
4367
4360
  const l = children.length;
4368
- let hasWarned = false;
4361
+ let hasCheckedMismatch = false;
4369
4362
  for (let i = 0; i < l; i++) {
4370
4363
  const vnode = optimized ? children[i] : children[i] = normalizeVNode(children[i]);
4371
4364
  const isText = vnode.type === Text;
@@ -4379,12 +4372,12 @@ function createHydrationFunctions(rendererInternals) {
4379
4372
  node = hydrateNode(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized);
4380
4373
  } else if (isText && !vnode.children) insert(vnode.el = createText(""), container);
4381
4374
  else {
4382
- if (!isMismatchAllowed(container, 1)) {
4383
- if ((!!(process.env.NODE_ENV !== "production") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && !hasWarned) {
4384
- warn$1(`Hydration children mismatch on`, container, `\nServer rendered element contains fewer child nodes than client vdom.`);
4385
- hasWarned = true;
4375
+ if (!hasCheckedMismatch) {
4376
+ hasCheckedMismatch = true;
4377
+ if (!isMismatchAllowed(container, 1)) {
4378
+ (process.env.NODE_ENV !== "production" || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(`Hydration children mismatch on`, container, `\nServer rendered element contains fewer child nodes than client vdom.`);
4379
+ logMismatchError();
4386
4380
  }
4387
- logMismatchError();
4388
4381
  }
4389
4382
  patch(null, vnode, container, null, parentComponent, parentSuspense, getContainerType(container), slotScopeIds);
4390
4383
  }
@@ -6336,7 +6329,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
6336
6329
  if (options.el) return vm.$mount(options.el);
6337
6330
  else return vm;
6338
6331
  }
6339
- Vue.version = `2.6.14-compat:3.6.0-beta.12`;
6332
+ Vue.version = `2.6.14-compat:3.6.0-beta.13`;
6340
6333
  Vue.config = singletonApp.config;
6341
6334
  Vue.use = (plugin, ...options) => {
6342
6335
  if (plugin && isFunction(plugin.install)) plugin.install(Vue, ...options);
@@ -8321,8 +8314,10 @@ function baseCreateRenderer(options, createHydrationFns) {
8321
8314
  else hostInsert(el, container, anchor);
8322
8315
  };
8323
8316
  const performLeave = () => {
8317
+ const wasLeaving = el._isLeaving || !!el[leaveCbKey];
8324
8318
  if (el._isLeaving) el[leaveCbKey](true);
8325
- leave(el, () => {
8319
+ if (transition.persisted && !wasLeaving) remove();
8320
+ else leave(el, () => {
8326
8321
  remove();
8327
8322
  afterLeave && afterLeave();
8328
8323
  });
@@ -8545,6 +8540,10 @@ function invalidateMount(hooks) {
8545
8540
  if (hooks) for (let i = 0; i < hooks.length; i++) hooks[i].flags |= 4;
8546
8541
  }
8547
8542
  function performTransitionEnter(el, transition, insert, parentSuspense, force = false) {
8543
+ if (force && transition.persisted && !el[leaveCbKey]) {
8544
+ insert();
8545
+ return;
8546
+ }
8548
8547
  if (force || needTransition(parentSuspense, transition)) {
8549
8548
  transition.beforeEnter(el);
8550
8549
  insert();
@@ -9870,7 +9869,7 @@ function isMemoSame(cached, memo) {
9870
9869
  }
9871
9870
  //#endregion
9872
9871
  //#region packages/runtime-core/src/index.ts
9873
- const version = "3.6.0-beta.12";
9872
+ const version = "3.6.0-beta.13";
9874
9873
  const warn = !!(process.env.NODE_ENV !== "production") ? warn$1 : NOOP;
9875
9874
  /**
9876
9875
  * Runtime error messages. Only exposed in dev or esm builds.
@@ -10547,7 +10546,21 @@ function createInvoker(initialValue, instance) {
10547
10546
  const invoker = (e) => {
10548
10547
  if (!e._vts) e._vts = Date.now();
10549
10548
  else if (e._vts <= invoker.attached) return;
10550
- callWithAsyncErrorHandling(patchStopImmediatePropagation(e, invoker.value), instance, 5, [e]);
10549
+ const value = invoker.value;
10550
+ if (isArray(value)) {
10551
+ const originalStop = e.stopImmediatePropagation;
10552
+ e.stopImmediatePropagation = () => {
10553
+ originalStop.call(e);
10554
+ e._stopped = true;
10555
+ };
10556
+ const handlers = value.slice();
10557
+ const args = [e];
10558
+ for (let i = 0; i < handlers.length; i++) {
10559
+ if (e._stopped) break;
10560
+ const handler = handlers[i];
10561
+ if (handler) callWithAsyncErrorHandling(handler, instance, 5, args);
10562
+ }
10563
+ } else callWithAsyncErrorHandling(value, instance, 5, [e]);
10551
10564
  };
10552
10565
  invoker.value = initialValue;
10553
10566
  invoker.attached = getNow();
@@ -10558,16 +10571,6 @@ function sanitizeEventValue(value, propName) {
10558
10571
  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}.`);
10559
10572
  return NOOP;
10560
10573
  }
10561
- function patchStopImmediatePropagation(e, value) {
10562
- if (isArray(value)) {
10563
- const originalStop = e.stopImmediatePropagation;
10564
- e.stopImmediatePropagation = () => {
10565
- originalStop.call(e);
10566
- e._stopped = true;
10567
- };
10568
- return value.map((fn) => (e) => !e._stopped && fn && fn(e));
10569
- } else return value;
10570
- }
10571
10574
  //#endregion
10572
10575
  //#region packages/runtime-dom/src/patchProp.ts
10573
10576
  const patchProp = (el, key, prevValue, nextValue, namespace, parentComponent) => {
@@ -14741,10 +14744,9 @@ const transformFor = createStructuralDirectiveTransform("for", (node, dir, conte
14741
14744
  const isTemplate = isTemplateNode$1(node);
14742
14745
  const memo = findDir(node, "memo");
14743
14746
  const keyProp = findProp(node, `key`, false, true);
14744
- const isDirKey = keyProp && keyProp.type === 7;
14747
+ keyProp && keyProp.type;
14745
14748
  let keyExp = keyProp && (keyProp.type === 6 ? keyProp.value ? createSimpleExpression(keyProp.value.content, true) : void 0 : keyProp.exp);
14746
- if (memo && keyExp && isDirKey) {}
14747
- const keyProperty = keyProp && keyExp ? createObjectProperty(`key`, keyExp) : null;
14749
+ const keyProperty = keyExp ? createObjectProperty(`key`, keyExp) : null;
14748
14750
  const isStableFragment = forNode.source.type === 4 && forNode.source.constType > 0;
14749
14751
  const fragmentFlag = isStableFragment ? 64 : keyProp ? 128 : 256;
14750
14752
  forNode.codegenNode = createVNodeCall(context, helper(FRAGMENT), void 0, renderExp, fragmentFlag, void 0, void 0, true, !isStableFragment, false, node.loc);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/compat v3.6.0-beta.12
2
+ * @vue/compat v3.6.0-beta.13
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -1313,9 +1313,6 @@ var Vue = (function() {
1313
1313
  default: return 0;
1314
1314
  }
1315
1315
  }
1316
- function getTargetType(value) {
1317
- return value["__v_skip"] || !Object.isExtensible(value) ? 0 : targetTypeMap(toRawType(value));
1318
- }
1319
1316
  /* @__NO_SIDE_EFFECTS__ */
1320
1317
  function reactive(target) {
1321
1318
  if (/* @__PURE__ */ isReadonly(target)) return target;
@@ -1428,10 +1425,11 @@ var Vue = (function() {
1428
1425
  return target;
1429
1426
  }
1430
1427
  if (target["__v_raw"] && !(isReadonly && target["__v_isReactive"])) return target;
1431
- const targetType = getTargetType(target);
1432
- if (targetType === 0) return target;
1428
+ if (target["__v_skip"] || !Object.isExtensible(target)) return target;
1433
1429
  const existingProxy = proxyMap.get(target);
1434
1430
  if (existingProxy) return existingProxy;
1431
+ const targetType = targetTypeMap(toRawType(target));
1432
+ if (targetType === 0) return target;
1435
1433
  const proxy = new Proxy(target, targetType === 2 ? collectionHandlers : baseHandlers);
1436
1434
  proxyMap.set(target, proxy);
1437
1435
  return proxy;
@@ -3597,17 +3595,16 @@ var Vue = (function() {
3597
3595
  },
3598
3596
  remove(vnode, parentComponent, parentSuspense, { um: unmount, o: { remove: hostRemove } }, doRemove) {
3599
3597
  const { shapeFlag, children, anchor, targetStart, targetAnchor, props } = vnode;
3600
- let shouldRemove = doRemove || !isTeleportDisabled(props);
3598
+ const shouldRemove = doRemove || !isTeleportDisabled(props);
3601
3599
  const pendingMount = pendingMounts.get(vnode);
3602
3600
  if (pendingMount) {
3603
3601
  pendingMount.flags |= 4;
3604
3602
  pendingMounts.delete(vnode);
3605
- shouldRemove = false;
3606
3603
  }
3607
3604
  if (targetStart) hostRemove(targetStart);
3608
3605
  if (targetAnchor) hostRemove(targetAnchor);
3609
3606
  doRemove && hostRemove(anchor);
3610
- if (shapeFlag & 16) for (let i = 0; i < children.length; i++) {
3607
+ if (!pendingMount && shapeFlag & 16) for (let i = 0; i < children.length; i++) {
3611
3608
  const child = children[i];
3612
3609
  unmount(child, parentComponent, parentSuspense, shouldRemove, !!child.dynamicChildren);
3613
3610
  }
@@ -4260,15 +4257,11 @@ var Vue = (function() {
4260
4257
  }
4261
4258
  if (shapeFlag & 16 && !(props && (props.innerHTML || props.textContent))) {
4262
4259
  let next = hydrateChildren(el.firstChild, vnode, el, parentComponent, parentSuspense, slotScopeIds, optimized);
4263
- let hasWarned = false;
4260
+ if (next && !isMismatchAllowed(el, 1)) {
4261
+ warn$1(`Hydration children mismatch on`, el, `\nServer rendered element contains more child nodes than client vdom.`);
4262
+ logMismatchError();
4263
+ }
4264
4264
  while (next) {
4265
- if (!isMismatchAllowed(el, 1)) {
4266
- if (!hasWarned) {
4267
- warn$1(`Hydration children mismatch on`, el, `\nServer rendered element contains more child nodes than client vdom.`);
4268
- hasWarned = true;
4269
- }
4270
- logMismatchError();
4271
- }
4272
4265
  const cur = next;
4273
4266
  next = next.nextSibling;
4274
4267
  remove(cur);
@@ -4307,7 +4300,7 @@ var Vue = (function() {
4307
4300
  optimized = optimized || !!parentVNode.dynamicChildren;
4308
4301
  const children = parentVNode.children;
4309
4302
  const l = children.length;
4310
- let hasWarned = false;
4303
+ let hasCheckedMismatch = false;
4311
4304
  for (let i = 0; i < l; i++) {
4312
4305
  const vnode = optimized ? children[i] : children[i] = normalizeVNode(children[i]);
4313
4306
  const isText = vnode.type === Text;
@@ -4321,12 +4314,12 @@ var Vue = (function() {
4321
4314
  node = hydrateNode(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized);
4322
4315
  } else if (isText && !vnode.children) insert(vnode.el = createText(""), container);
4323
4316
  else {
4324
- if (!isMismatchAllowed(container, 1)) {
4325
- if (!hasWarned) {
4317
+ if (!hasCheckedMismatch) {
4318
+ hasCheckedMismatch = true;
4319
+ if (!isMismatchAllowed(container, 1)) {
4326
4320
  warn$1(`Hydration children mismatch on`, container, `\nServer rendered element contains fewer child nodes than client vdom.`);
4327
- hasWarned = true;
4321
+ logMismatchError();
4328
4322
  }
4329
- logMismatchError();
4330
4323
  }
4331
4324
  patch(null, vnode, container, null, parentComponent, parentSuspense, getContainerType(container), slotScopeIds);
4332
4325
  }
@@ -6260,7 +6253,7 @@ var Vue = (function() {
6260
6253
  if (options.el) return vm.$mount(options.el);
6261
6254
  else return vm;
6262
6255
  }
6263
- Vue.version = `2.6.14-compat:3.6.0-beta.12`;
6256
+ Vue.version = `2.6.14-compat:3.6.0-beta.13`;
6264
6257
  Vue.config = singletonApp.config;
6265
6258
  Vue.use = (plugin, ...options) => {
6266
6259
  if (plugin && isFunction(plugin.install)) plugin.install(Vue, ...options);
@@ -8196,8 +8189,10 @@ var Vue = (function() {
8196
8189
  else hostInsert(el, container, anchor);
8197
8190
  };
8198
8191
  const performLeave = () => {
8192
+ const wasLeaving = el._isLeaving || !!el[leaveCbKey];
8199
8193
  if (el._isLeaving) el[leaveCbKey](true);
8200
- leave(el, () => {
8194
+ if (transition.persisted && !wasLeaving) remove();
8195
+ else leave(el, () => {
8201
8196
  remove();
8202
8197
  afterLeave && afterLeave();
8203
8198
  });
@@ -8420,6 +8415,10 @@ var Vue = (function() {
8420
8415
  if (hooks) for (let i = 0; i < hooks.length; i++) hooks[i].flags |= 4;
8421
8416
  }
8422
8417
  function performTransitionEnter(el, transition, insert, parentSuspense, force = false) {
8418
+ if (force && transition.persisted && !el[leaveCbKey]) {
8419
+ insert();
8420
+ return;
8421
+ }
8423
8422
  if (force || needTransition(parentSuspense, transition)) {
8424
8423
  transition.beforeEnter(el);
8425
8424
  insert();
@@ -9714,7 +9713,7 @@ var Vue = (function() {
9714
9713
  }
9715
9714
  //#endregion
9716
9715
  //#region packages/runtime-core/src/index.ts
9717
- const version = "3.6.0-beta.12";
9716
+ const version = "3.6.0-beta.13";
9718
9717
  const warn = warn$1;
9719
9718
  /**
9720
9719
  * Runtime error messages. Only exposed in dev or esm builds.
@@ -10367,7 +10366,21 @@ var Vue = (function() {
10367
10366
  const invoker = (e) => {
10368
10367
  if (!e._vts) e._vts = Date.now();
10369
10368
  else if (e._vts <= invoker.attached) return;
10370
- callWithAsyncErrorHandling(patchStopImmediatePropagation(e, invoker.value), instance, 5, [e]);
10369
+ const value = invoker.value;
10370
+ if (isArray(value)) {
10371
+ const originalStop = e.stopImmediatePropagation;
10372
+ e.stopImmediatePropagation = () => {
10373
+ originalStop.call(e);
10374
+ e._stopped = true;
10375
+ };
10376
+ const handlers = value.slice();
10377
+ const args = [e];
10378
+ for (let i = 0; i < handlers.length; i++) {
10379
+ if (e._stopped) break;
10380
+ const handler = handlers[i];
10381
+ if (handler) callWithAsyncErrorHandling(handler, instance, 5, args);
10382
+ }
10383
+ } else callWithAsyncErrorHandling(value, instance, 5, [e]);
10371
10384
  };
10372
10385
  invoker.value = initialValue;
10373
10386
  invoker.attached = getNow();
@@ -10378,16 +10391,6 @@ var Vue = (function() {
10378
10391
  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}.`);
10379
10392
  return NOOP;
10380
10393
  }
10381
- function patchStopImmediatePropagation(e, value) {
10382
- if (isArray(value)) {
10383
- const originalStop = e.stopImmediatePropagation;
10384
- e.stopImmediatePropagation = () => {
10385
- originalStop.call(e);
10386
- e._stopped = true;
10387
- };
10388
- return value.map((fn) => (e) => !e._stopped && fn && fn(e));
10389
- } else return value;
10390
- }
10391
10394
  //#endregion
10392
10395
  //#region packages/runtime-dom/src/patchProp.ts
10393
10396
  const patchProp = (el, key, prevValue, nextValue, namespace, parentComponent) => {
@@ -14409,10 +14412,9 @@ var Vue = (function() {
14409
14412
  const isTemplate = isTemplateNode(node);
14410
14413
  const memo = findDir(node, "memo");
14411
14414
  const keyProp = findProp(node, `key`, false, true);
14412
- const isDirKey = keyProp && keyProp.type === 7;
14415
+ keyProp && keyProp.type;
14413
14416
  let keyExp = keyProp && (keyProp.type === 6 ? keyProp.value ? createSimpleExpression(keyProp.value.content, true) : void 0 : keyProp.exp);
14414
- if (memo && keyExp && isDirKey) {}
14415
- const keyProperty = keyProp && keyExp ? createObjectProperty(`key`, keyExp) : null;
14417
+ const keyProperty = keyExp ? createObjectProperty(`key`, keyExp) : null;
14416
14418
  const isStableFragment = forNode.source.type === 4 && forNode.source.constType > 0;
14417
14419
  const fragmentFlag = isStableFragment ? 64 : keyProp ? 128 : 256;
14418
14420
  forNode.codegenNode = createVNodeCall(context, helper(FRAGMENT), void 0, renderExp, fragmentFlag, void 0, void 0, true, !isStableFragment, false, node.loc);