@vue/runtime-core 3.6.0-beta.5 → 3.6.0-beta.6

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/runtime-core v3.6.0-beta.5
2
+ * @vue/runtime-core v3.6.0-beta.6
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -984,36 +984,44 @@ function moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }
984
984
  if (isReorder) insert(anchor, container, parentAnchor);
985
985
  }
986
986
  function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, { o: { nextSibling, parentNode, querySelector, insert, createText } }, hydrateChildren) {
987
- function hydrateDisabledTeleport(node, vnode, targetStart, targetAnchor) {
987
+ function hydrateAnchor(target, targetNode) {
988
+ let targetAnchor = targetNode;
989
+ while (targetAnchor) {
990
+ if (targetAnchor && targetAnchor.nodeType === 8) {
991
+ if (targetAnchor.data === "teleport start anchor") vnode.targetStart = targetAnchor;
992
+ else if (targetAnchor.data === "teleport anchor") {
993
+ vnode.targetAnchor = targetAnchor;
994
+ target._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor);
995
+ break;
996
+ }
997
+ }
998
+ targetAnchor = nextSibling(targetAnchor);
999
+ }
1000
+ }
1001
+ function hydrateDisabledTeleport(node, vnode) {
988
1002
  vnode.anchor = hydrateChildren(nextSibling(node), vnode, parentNode(node), parentComponent, parentSuspense, slotScopeIds, optimized);
989
- vnode.targetStart = targetStart;
990
- vnode.targetAnchor = targetAnchor;
991
1003
  }
992
1004
  const target = vnode.target = resolveTarget(vnode.props, querySelector);
993
1005
  const disabled = isTeleportDisabled(vnode.props);
994
1006
  if (target) {
995
1007
  const targetNode = target._lpa || target.firstChild;
996
- if (vnode.shapeFlag & 16) if (disabled) hydrateDisabledTeleport(node, vnode, targetNode, targetNode && nextSibling(targetNode));
997
- else {
1008
+ if (vnode.shapeFlag & 16) if (disabled) {
1009
+ hydrateDisabledTeleport(node, vnode);
1010
+ hydrateAnchor(target, targetNode);
1011
+ if (!vnode.targetAnchor) prepareAnchor(target, vnode, createText, insert, parentNode(node) === target ? node : null);
1012
+ } else {
998
1013
  vnode.anchor = nextSibling(node);
999
- let targetAnchor = targetNode;
1000
- while (targetAnchor) {
1001
- if (targetAnchor && targetAnchor.nodeType === 8) {
1002
- if (targetAnchor.data === "teleport start anchor") vnode.targetStart = targetAnchor;
1003
- else if (targetAnchor.data === "teleport anchor") {
1004
- vnode.targetAnchor = targetAnchor;
1005
- target._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor);
1006
- break;
1007
- }
1008
- }
1009
- targetAnchor = nextSibling(targetAnchor);
1010
- }
1014
+ hydrateAnchor(target, targetNode);
1011
1015
  if (!vnode.targetAnchor) prepareAnchor(target, vnode, createText, insert);
1012
1016
  hydrateChildren(targetNode && nextSibling(targetNode), vnode, target, parentComponent, parentSuspense, slotScopeIds, optimized);
1013
1017
  }
1014
1018
  updateCssVars(vnode, disabled);
1015
1019
  } else if (disabled) {
1016
- if (vnode.shapeFlag & 16) hydrateDisabledTeleport(node, vnode, node, nextSibling(node));
1020
+ if (vnode.shapeFlag & 16) {
1021
+ hydrateDisabledTeleport(node, vnode);
1022
+ vnode.targetStart = node;
1023
+ vnode.targetAnchor = nextSibling(node);
1024
+ }
1017
1025
  }
1018
1026
  return vnode.anchor && nextSibling(vnode.anchor);
1019
1027
  }
@@ -1036,13 +1044,13 @@ function updateCssVars(vnode, isDisabled) {
1036
1044
  ctx.ut();
1037
1045
  }
1038
1046
  }
1039
- function prepareAnchor(target, vnode, createText, insert) {
1047
+ function prepareAnchor(target, vnode, createText, insert, anchor = null) {
1040
1048
  const targetStart = vnode.targetStart = createText("");
1041
1049
  const targetAnchor = vnode.targetAnchor = createText("");
1042
1050
  targetStart[TeleportEndKey] = targetAnchor;
1043
1051
  if (target) {
1044
- insert(targetStart, target);
1045
- insert(targetAnchor, target);
1052
+ insert(targetStart, target, anchor);
1053
+ insert(targetAnchor, target, anchor);
1046
1054
  }
1047
1055
  return targetAnchor;
1048
1056
  }
@@ -1220,7 +1228,7 @@ function baseResolveTransitionHooks(context, props, state, instance) {
1220
1228
  cancelHook = onAppearCancelled || onEnterCancelled;
1221
1229
  } else return;
1222
1230
  let called = false;
1223
- const done = el[enterCbKey] = (cancelled) => {
1231
+ el[enterCbKey] = (cancelled) => {
1224
1232
  if (called) return;
1225
1233
  called = true;
1226
1234
  if (cancelled) callHook(cancelHook, [el]);
@@ -1228,6 +1236,7 @@ function baseResolveTransitionHooks(context, props, state, instance) {
1228
1236
  if (hooks.delayedLeave) hooks.delayedLeave();
1229
1237
  el[enterCbKey] = void 0;
1230
1238
  };
1239
+ const done = el[enterCbKey].bind(null, false);
1231
1240
  if (hook) callAsyncHook(hook, [el, done]);
1232
1241
  else done();
1233
1242
  },
@@ -1236,7 +1245,7 @@ function baseResolveTransitionHooks(context, props, state, instance) {
1236
1245
  if (state.isUnmounting) return remove();
1237
1246
  callHook(onBeforeLeave, [el]);
1238
1247
  let called = false;
1239
- const done = el[leaveCbKey] = (cancelled) => {
1248
+ el[leaveCbKey] = (cancelled) => {
1240
1249
  if (called) return;
1241
1250
  called = true;
1242
1251
  remove();
@@ -1246,6 +1255,7 @@ function baseResolveTransitionHooks(context, props, state, instance) {
1246
1255
  unsetLeavingNodeCache(el);
1247
1256
  };
1248
1257
  setLeavingNodeCache(el);
1258
+ const done = el[leaveCbKey].bind(null, false);
1249
1259
  if (onLeave) callAsyncHook(onLeave, [el, done]);
1250
1260
  else done();
1251
1261
  },
@@ -1343,8 +1353,7 @@ function useTemplateRef(key) {
1343
1353
  const r = (0, _vue_reactivity.shallowRef)(null);
1344
1354
  if (i) {
1345
1355
  const refs = i.refs === _vue_shared.EMPTY_OBJ ? i.refs = {} : i.refs;
1346
- let desc;
1347
- if ((desc = Object.getOwnPropertyDescriptor(refs, key)) && !desc.configurable) warn$1(`useTemplateRef('${key}') already exists.`);
1356
+ if (isTemplateRefKey(refs, key)) warn$1(`useTemplateRef('${key}') already exists.`);
1348
1357
  else Object.defineProperty(refs, key, {
1349
1358
  enumerable: true,
1350
1359
  get: () => r.value,
@@ -1355,6 +1364,10 @@ function useTemplateRef(key) {
1355
1364
  knownTemplateRefs.add(ret);
1356
1365
  return ret;
1357
1366
  }
1367
+ function isTemplateRefKey(refs, key) {
1368
+ let desc;
1369
+ return !!((desc = Object.getOwnPropertyDescriptor(refs, key)) && !desc.configurable);
1370
+ }
1358
1371
 
1359
1372
  //#endregion
1360
1373
  //#region packages/runtime-core/src/rendererTemplateRef.ts
@@ -1381,9 +1394,11 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
1381
1394
  const oldRef = oldRawRef && oldRawRef.r;
1382
1395
  const refs = owner.refs === _vue_shared.EMPTY_OBJ ? owner.refs = {} : owner.refs;
1383
1396
  const setupState = owner.setupState;
1384
- const canSetSetupRef = createCanSetSetupRefChecker(setupState);
1385
- const canSetRef = (ref) => {
1386
- return !knownTemplateRefs.has(ref);
1397
+ const canSetSetupRef = createCanSetSetupRefChecker(setupState, refs);
1398
+ const canSetRef = (ref, key) => {
1399
+ if (knownTemplateRefs.has(ref)) return false;
1400
+ if (key && isTemplateRefKey(refs, key)) return false;
1401
+ return true;
1387
1402
  };
1388
1403
  if (oldRef != null && oldRef !== ref) {
1389
1404
  invalidatePendingSetRef(oldRawRef);
@@ -1391,8 +1406,8 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
1391
1406
  refs[oldRef] = null;
1392
1407
  if (canSetSetupRef(oldRef)) setupState[oldRef] = null;
1393
1408
  } else if ((0, _vue_reactivity.isRef)(oldRef)) {
1394
- if (canSetRef(oldRef)) oldRef.value = null;
1395
1409
  const oldRawRefAtom = oldRawRef;
1410
+ if (canSetRef(oldRef, oldRawRefAtom.k)) oldRef.value = null;
1396
1411
  if (oldRawRefAtom.k) refs[oldRawRefAtom.k] = null;
1397
1412
  }
1398
1413
  }
@@ -1410,7 +1425,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
1410
1425
  if (canSetSetupRef(ref)) setupState[ref] = refs[ref];
1411
1426
  } else {
1412
1427
  const newVal = [refValue];
1413
- if (canSetRef(ref)) ref.value = newVal;
1428
+ if (canSetRef(ref, rawRef.k)) ref.value = newVal;
1414
1429
  if (rawRef.k) refs[rawRef.k] = newVal;
1415
1430
  }
1416
1431
  else if (!existing.includes(refValue)) existing.push(refValue);
@@ -1418,7 +1433,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
1418
1433
  refs[ref] = value;
1419
1434
  if (canSetSetupRef(ref)) setupState[ref] = value;
1420
1435
  } else if (_isRef) {
1421
- if (canSetRef(ref)) ref.value = value;
1436
+ if (canSetRef(ref, rawRef.k)) ref.value = value;
1422
1437
  if (rawRef.k) refs[rawRef.k] = value;
1423
1438
  } else warn$1("Invalid template ref type:", ref, `(${typeof ref})`);
1424
1439
  };
@@ -1436,11 +1451,12 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
1436
1451
  } else warn$1("Invalid template ref type:", ref, `(${typeof ref})`);
1437
1452
  }
1438
1453
  }
1439
- function createCanSetSetupRefChecker(setupState) {
1454
+ function createCanSetSetupRefChecker(setupState, refs) {
1440
1455
  const rawSetupState = (0, _vue_reactivity.toRaw)(setupState);
1441
1456
  return setupState === void 0 || setupState === _vue_shared.EMPTY_OBJ ? _vue_shared.NO : (key) => {
1442
1457
  if ((0, _vue_shared.hasOwn)(rawSetupState, key) && !(0, _vue_reactivity.isRef)(rawSetupState[key])) warn$1(`Template ref "${key}" used on a non-ref value. It will not work in the production build.`);
1443
1458
  if (knownTemplateRefs.has(rawSetupState[key])) return false;
1459
+ if (isTemplateRefKey(refs, key)) return false;
1444
1460
  return (0, _vue_shared.hasOwn)(rawSetupState, key);
1445
1461
  };
1446
1462
  }
@@ -3551,7 +3567,7 @@ function shouldUpdateComponent(prevVNode, nextVNode, optimized) {
3551
3567
  const dynamicProps = nextVNode.dynamicProps;
3552
3568
  for (let i = 0; i < dynamicProps.length; i++) {
3553
3569
  const key = dynamicProps[i];
3554
- if (nextProps[key] !== prevProps[key] && !isEmitListener(emits, key)) return true;
3570
+ if (hasPropValueChanged(nextProps, prevProps, key) && !isEmitListener(emits, key)) return true;
3555
3571
  }
3556
3572
  }
3557
3573
  } else {
@@ -3570,10 +3586,16 @@ function hasPropsChanged(prevProps, nextProps, emitsOptions) {
3570
3586
  if (nextKeys.length !== Object.keys(prevProps).length) return true;
3571
3587
  for (let i = 0; i < nextKeys.length; i++) {
3572
3588
  const key = nextKeys[i];
3573
- if (nextProps[key] !== prevProps[key] && !isEmitListener(emitsOptions, key)) return true;
3589
+ if (hasPropValueChanged(nextProps, prevProps, key) && !isEmitListener(emitsOptions, key)) return true;
3574
3590
  }
3575
3591
  return false;
3576
3592
  }
3593
+ function hasPropValueChanged(nextProps, prevProps, key) {
3594
+ const nextProp = nextProps[key];
3595
+ const prevProp = prevProps[key];
3596
+ if (key === "style" && (0, _vue_shared.isObject)(nextProp) && (0, _vue_shared.isObject)(prevProp)) return !(0, _vue_shared.looseEqual)(nextProp, prevProp);
3597
+ return nextProp !== prevProp;
3598
+ }
3577
3599
  function updateHOCHostEl({ vnode, parent }, el) {
3578
3600
  while (parent && !parent.vapor) {
3579
3601
  const root = parent.subTree;
@@ -4080,13 +4102,7 @@ function baseCreateRenderer(options, createHydrationFns) {
4080
4102
  if (n1 == null) hostInsert(n2.el = hostCreateText(n2.children), container, anchor);
4081
4103
  else {
4082
4104
  const el = n2.el = n1.el;
4083
- if (n2.children !== n1.children) if (isHmrUpdating && n2.patchFlag === -1 && "__elIndex" in n1) {
4084
- const childNodes = container.childNodes;
4085
- const newChild = hostCreateText(n2.children);
4086
- const oldChild = childNodes[n2.__elIndex = n1.__elIndex];
4087
- hostInsert(newChild, container, oldChild);
4088
- hostRemove(oldChild);
4089
- } else hostSetText(el, n2.children);
4105
+ if (n2.children !== n1.children) hostSetText(el, n2.children);
4090
4106
  }
4091
4107
  };
4092
4108
  const processCommentNode = (n1, n2, container, anchor) => {
@@ -4422,7 +4438,9 @@ function baseCreateRenderer(options, createHydrationFns) {
4422
4438
  updateComponentPreRender(instance, next, optimized);
4423
4439
  }
4424
4440
  nonHydratedAsyncRoot.asyncDep.then(() => {
4425
- if (!instance.isUnmounted) this.fn();
4441
+ queuePostRenderEffect(() => {
4442
+ if (!instance.isUnmounted) instance.update();
4443
+ }, void 0, parentSuspense);
4426
4444
  });
4427
4445
  return;
4428
4446
  }
@@ -4831,8 +4849,10 @@ function traverseStaticChildren(n1, n2, shallow = false) {
4831
4849
  }
4832
4850
  if (!shallow && c2.patchFlag !== -2) traverseStaticChildren(c1, c2);
4833
4851
  }
4834
- if (c2.type === Text) if (c2.patchFlag !== -1) c2.el = c1.el;
4835
- else c2.__elIndex = i + (n1.type === Fragment ? 1 : 0);
4852
+ if (c2.type === Text) {
4853
+ if (c2.patchFlag === -1) c2 = ch2[i] = cloneIfMounted(c2);
4854
+ c2.el = c1.el;
4855
+ }
4836
4856
  if (c2.type === Comment && !c2.el) c2.el = c1.el;
4837
4857
  c2.el && (c2.el.__vnode = c2);
4838
4858
  }
@@ -6082,7 +6102,7 @@ function isMemoSame(cached, memo) {
6082
6102
 
6083
6103
  //#endregion
6084
6104
  //#region packages/runtime-core/src/index.ts
6085
- const version = "3.6.0-beta.5";
6105
+ const version = "3.6.0-beta.6";
6086
6106
  const warn = warn$1;
6087
6107
  /**
6088
6108
  * Runtime error messages. Only exposed in dev or esm builds.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/runtime-core v3.6.0-beta.5
2
+ * @vue/runtime-core v3.6.0-beta.6
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -642,36 +642,44 @@ function moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }
642
642
  if (isReorder) insert(anchor, container, parentAnchor);
643
643
  }
644
644
  function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, { o: { nextSibling, parentNode, querySelector, insert, createText } }, hydrateChildren) {
645
- function hydrateDisabledTeleport(node, vnode, targetStart, targetAnchor) {
645
+ function hydrateAnchor(target, targetNode) {
646
+ let targetAnchor = targetNode;
647
+ while (targetAnchor) {
648
+ if (targetAnchor && targetAnchor.nodeType === 8) {
649
+ if (targetAnchor.data === "teleport start anchor") vnode.targetStart = targetAnchor;
650
+ else if (targetAnchor.data === "teleport anchor") {
651
+ vnode.targetAnchor = targetAnchor;
652
+ target._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor);
653
+ break;
654
+ }
655
+ }
656
+ targetAnchor = nextSibling(targetAnchor);
657
+ }
658
+ }
659
+ function hydrateDisabledTeleport(node, vnode) {
646
660
  vnode.anchor = hydrateChildren(nextSibling(node), vnode, parentNode(node), parentComponent, parentSuspense, slotScopeIds, optimized);
647
- vnode.targetStart = targetStart;
648
- vnode.targetAnchor = targetAnchor;
649
661
  }
650
662
  const target = vnode.target = resolveTarget(vnode.props, querySelector);
651
663
  const disabled = isTeleportDisabled(vnode.props);
652
664
  if (target) {
653
665
  const targetNode = target._lpa || target.firstChild;
654
- if (vnode.shapeFlag & 16) if (disabled) hydrateDisabledTeleport(node, vnode, targetNode, targetNode && nextSibling(targetNode));
655
- else {
666
+ if (vnode.shapeFlag & 16) if (disabled) {
667
+ hydrateDisabledTeleport(node, vnode);
668
+ hydrateAnchor(target, targetNode);
669
+ if (!vnode.targetAnchor) prepareAnchor(target, vnode, createText, insert, parentNode(node) === target ? node : null);
670
+ } else {
656
671
  vnode.anchor = nextSibling(node);
657
- let targetAnchor = targetNode;
658
- while (targetAnchor) {
659
- if (targetAnchor && targetAnchor.nodeType === 8) {
660
- if (targetAnchor.data === "teleport start anchor") vnode.targetStart = targetAnchor;
661
- else if (targetAnchor.data === "teleport anchor") {
662
- vnode.targetAnchor = targetAnchor;
663
- target._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor);
664
- break;
665
- }
666
- }
667
- targetAnchor = nextSibling(targetAnchor);
668
- }
672
+ hydrateAnchor(target, targetNode);
669
673
  if (!vnode.targetAnchor) prepareAnchor(target, vnode, createText, insert);
670
674
  hydrateChildren(targetNode && nextSibling(targetNode), vnode, target, parentComponent, parentSuspense, slotScopeIds, optimized);
671
675
  }
672
676
  updateCssVars(vnode, disabled);
673
677
  } else if (disabled) {
674
- if (vnode.shapeFlag & 16) hydrateDisabledTeleport(node, vnode, node, nextSibling(node));
678
+ if (vnode.shapeFlag & 16) {
679
+ hydrateDisabledTeleport(node, vnode);
680
+ vnode.targetStart = node;
681
+ vnode.targetAnchor = nextSibling(node);
682
+ }
675
683
  }
676
684
  return vnode.anchor && nextSibling(vnode.anchor);
677
685
  }
@@ -694,13 +702,13 @@ function updateCssVars(vnode, isDisabled) {
694
702
  ctx.ut();
695
703
  }
696
704
  }
697
- function prepareAnchor(target, vnode, createText, insert) {
705
+ function prepareAnchor(target, vnode, createText, insert, anchor = null) {
698
706
  const targetStart = vnode.targetStart = createText("");
699
707
  const targetAnchor = vnode.targetAnchor = createText("");
700
708
  targetStart[TeleportEndKey] = targetAnchor;
701
709
  if (target) {
702
- insert(targetStart, target);
703
- insert(targetAnchor, target);
710
+ insert(targetStart, target, anchor);
711
+ insert(targetAnchor, target, anchor);
704
712
  }
705
713
  return targetAnchor;
706
714
  }
@@ -873,7 +881,7 @@ function baseResolveTransitionHooks(context, props, state, instance) {
873
881
  cancelHook = onAppearCancelled || onEnterCancelled;
874
882
  } else return;
875
883
  let called = false;
876
- const done = el[enterCbKey] = (cancelled) => {
884
+ el[enterCbKey] = (cancelled) => {
877
885
  if (called) return;
878
886
  called = true;
879
887
  if (cancelled) callHook(cancelHook, [el]);
@@ -881,6 +889,7 @@ function baseResolveTransitionHooks(context, props, state, instance) {
881
889
  if (hooks.delayedLeave) hooks.delayedLeave();
882
890
  el[enterCbKey] = void 0;
883
891
  };
892
+ const done = el[enterCbKey].bind(null, false);
884
893
  if (hook) callAsyncHook(hook, [el, done]);
885
894
  else done();
886
895
  },
@@ -889,7 +898,7 @@ function baseResolveTransitionHooks(context, props, state, instance) {
889
898
  if (state.isUnmounting) return remove();
890
899
  callHook(onBeforeLeave, [el]);
891
900
  let called = false;
892
- const done = el[leaveCbKey] = (cancelled) => {
901
+ el[leaveCbKey] = (cancelled) => {
893
902
  if (called) return;
894
903
  called = true;
895
904
  remove();
@@ -899,6 +908,7 @@ function baseResolveTransitionHooks(context, props, state, instance) {
899
908
  unsetLeavingNodeCache(el);
900
909
  };
901
910
  setLeavingNodeCache(el);
911
+ const done = el[leaveCbKey].bind(null, false);
902
912
  if (onLeave) callAsyncHook(onLeave, [el, done]);
903
913
  else done();
904
914
  },
@@ -1000,6 +1010,10 @@ function useTemplateRef(key) {
1000
1010
  }
1001
1011
  return r;
1002
1012
  }
1013
+ function isTemplateRefKey(refs, key) {
1014
+ let desc;
1015
+ return !!((desc = Object.getOwnPropertyDescriptor(refs, key)) && !desc.configurable);
1016
+ }
1003
1017
 
1004
1018
  //#endregion
1005
1019
  //#region packages/runtime-core/src/rendererTemplateRef.ts
@@ -1022,8 +1036,9 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
1022
1036
  const oldRef = oldRawRef && oldRawRef.r;
1023
1037
  const refs = owner.refs === _vue_shared.EMPTY_OBJ ? owner.refs = {} : owner.refs;
1024
1038
  const setupState = owner.setupState;
1025
- const canSetSetupRef = createCanSetSetupRefChecker(setupState);
1026
- const canSetRef = (ref) => {
1039
+ const canSetSetupRef = createCanSetSetupRefChecker(setupState, refs);
1040
+ const canSetRef = (ref, key) => {
1041
+ if (key && isTemplateRefKey(refs, key)) return false;
1027
1042
  return true;
1028
1043
  };
1029
1044
  if (oldRef != null && oldRef !== ref) {
@@ -1032,8 +1047,8 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
1032
1047
  refs[oldRef] = null;
1033
1048
  if (canSetSetupRef(oldRef)) setupState[oldRef] = null;
1034
1049
  } else if ((0, _vue_reactivity.isRef)(oldRef)) {
1035
- if (canSetRef(oldRef)) oldRef.value = null;
1036
1050
  const oldRawRefAtom = oldRawRef;
1051
+ if (canSetRef(oldRef, oldRawRefAtom.k)) oldRef.value = null;
1037
1052
  if (oldRawRefAtom.k) refs[oldRawRefAtom.k] = null;
1038
1053
  }
1039
1054
  }
@@ -1051,7 +1066,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
1051
1066
  if (canSetSetupRef(ref)) setupState[ref] = refs[ref];
1052
1067
  } else {
1053
1068
  const newVal = [refValue];
1054
- if (canSetRef(ref)) ref.value = newVal;
1069
+ if (canSetRef(ref, rawRef.k)) ref.value = newVal;
1055
1070
  if (rawRef.k) refs[rawRef.k] = newVal;
1056
1071
  }
1057
1072
  else if (!existing.includes(refValue)) existing.push(refValue);
@@ -1059,7 +1074,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
1059
1074
  refs[ref] = value;
1060
1075
  if (canSetSetupRef(ref)) setupState[ref] = value;
1061
1076
  } else if (_isRef) {
1062
- if (canSetRef(ref)) ref.value = value;
1077
+ if (canSetRef(ref, rawRef.k)) ref.value = value;
1063
1078
  if (rawRef.k) refs[rawRef.k] = value;
1064
1079
  }
1065
1080
  };
@@ -1077,9 +1092,10 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
1077
1092
  }
1078
1093
  }
1079
1094
  }
1080
- function createCanSetSetupRefChecker(setupState) {
1095
+ function createCanSetSetupRefChecker(setupState, refs) {
1081
1096
  const rawSetupState = (0, _vue_reactivity.toRaw)(setupState);
1082
1097
  return setupState === void 0 || setupState === _vue_shared.EMPTY_OBJ ? _vue_shared.NO : (key) => {
1098
+ if (isTemplateRefKey(refs, key)) return false;
1083
1099
  return (0, _vue_shared.hasOwn)(rawSetupState, key);
1084
1100
  };
1085
1101
  }
@@ -2792,7 +2808,7 @@ function shouldUpdateComponent(prevVNode, nextVNode, optimized) {
2792
2808
  const dynamicProps = nextVNode.dynamicProps;
2793
2809
  for (let i = 0; i < dynamicProps.length; i++) {
2794
2810
  const key = dynamicProps[i];
2795
- if (nextProps[key] !== prevProps[key] && !isEmitListener(emits, key)) return true;
2811
+ if (hasPropValueChanged(nextProps, prevProps, key) && !isEmitListener(emits, key)) return true;
2796
2812
  }
2797
2813
  }
2798
2814
  } else {
@@ -2811,10 +2827,16 @@ function hasPropsChanged(prevProps, nextProps, emitsOptions) {
2811
2827
  if (nextKeys.length !== Object.keys(prevProps).length) return true;
2812
2828
  for (let i = 0; i < nextKeys.length; i++) {
2813
2829
  const key = nextKeys[i];
2814
- if (nextProps[key] !== prevProps[key] && !isEmitListener(emitsOptions, key)) return true;
2830
+ if (hasPropValueChanged(nextProps, prevProps, key) && !isEmitListener(emitsOptions, key)) return true;
2815
2831
  }
2816
2832
  return false;
2817
2833
  }
2834
+ function hasPropValueChanged(nextProps, prevProps, key) {
2835
+ const nextProp = nextProps[key];
2836
+ const prevProp = prevProps[key];
2837
+ if (key === "style" && (0, _vue_shared.isObject)(nextProp) && (0, _vue_shared.isObject)(prevProp)) return !(0, _vue_shared.looseEqual)(nextProp, prevProp);
2838
+ return nextProp !== prevProp;
2839
+ }
2818
2840
  function updateHOCHostEl({ vnode, parent }, el) {
2819
2841
  while (parent && !parent.vapor) {
2820
2842
  const root = parent.subTree;
@@ -3442,7 +3464,9 @@ function baseCreateRenderer(options, createHydrationFns) {
3442
3464
  updateComponentPreRender(instance, next, optimized);
3443
3465
  }
3444
3466
  nonHydratedAsyncRoot.asyncDep.then(() => {
3445
- if (!instance.isUnmounted) this.fn();
3467
+ queuePostRenderEffect(() => {
3468
+ if (!instance.isUnmounted) instance.update();
3469
+ }, void 0, parentSuspense);
3446
3470
  });
3447
3471
  return;
3448
3472
  }
@@ -3830,8 +3854,10 @@ function traverseStaticChildren(n1, n2, shallow = false) {
3830
3854
  }
3831
3855
  if (!shallow && c2.patchFlag !== -2) traverseStaticChildren(c1, c2);
3832
3856
  }
3833
- if (c2.type === Text) if (c2.patchFlag !== -1) c2.el = c1.el;
3834
- else c2.__elIndex = i + (n1.type === Fragment ? 1 : 0);
3857
+ if (c2.type === Text) {
3858
+ if (c2.patchFlag === -1) c2 = ch2[i] = cloneIfMounted(c2);
3859
+ c2.el = c1.el;
3860
+ }
3835
3861
  if (c2.type === Comment && !c2.el) c2.el = c1.el;
3836
3862
  }
3837
3863
  }
@@ -4787,7 +4813,7 @@ function isMemoSame(cached, memo) {
4787
4813
 
4788
4814
  //#endregion
4789
4815
  //#region packages/runtime-core/src/index.ts
4790
- const version = "3.6.0-beta.5";
4816
+ const version = "3.6.0-beta.6";
4791
4817
  const warn = _vue_shared.NOOP;
4792
4818
  /**
4793
4819
  * Runtime error messages. Only exposed in dev or esm builds.
@@ -1,10 +1,10 @@
1
1
  /**
2
- * @vue/runtime-core v3.6.0-beta.5
2
+ * @vue/runtime-core v3.6.0-beta.6
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
6
6
  import { EffectScope, EffectScope as EffectScope$1, ReactiveEffect, ReactiveEffect as ReactiveEffect$1, TrackOpTypes, TriggerOpTypes, WatcherEffect, computed as computed$1, customRef, customRef as customRef$1, effect, effectScope, getCurrentScope, getCurrentWatcher, isProxy, isProxy as isProxy$1, isReactive, isReactive as isReactive$1, isReadonly, isReadonly as isReadonly$1, isRef, isRef as isRef$1, isShallow, isShallow as isShallow$1, markRaw, markRaw as markRaw$1, onScopeDispose, onWatcherCleanup, proxyRefs, proxyRefs as proxyRefs$1, reactive, reactive as reactive$1, readonly, readonly as readonly$1, ref, ref as ref$1, setActiveSub, setCurrentScope, shallowReactive, shallowReactive as shallowReactive$1, shallowReadArray, shallowReadonly, shallowReadonly as shallowReadonly$1, shallowRef, shallowRef as shallowRef$1, stop, toRaw, toRaw as toRaw$1, toReactive, toReadonly, toRef, toRefs, toValue, track, traverse, trigger, triggerRef, unref } from "@vue/reactivity";
7
- import { EMPTY_ARR, EMPTY_OBJ, NO, NOOP, camelize, camelize as camelize$1, capitalize, capitalize as capitalize$1, def, extend, getEscapedCssVarName, getGlobalThis, getModifierPropName, getSequence, hasChanged, hasOwn, hyphenate, includeBooleanAttr, invokeArrayFns, isArray, isBooleanAttr, isBuiltInDirective, isBuiltInTag, isFunction, isGloballyAllowed, isKnownHtmlAttr, isKnownSvgAttr, isModelListener, isObject, isOn, isPromise, isRegExp, isRenderableAttrValue, isReservedProp, isString, isSymbol, looseToNumber, makeMap, normalizeClass, normalizeClass as normalizeClass$1, normalizeCssVarValue, normalizeProps, normalizeStyle, normalizeStyle as normalizeStyle$1, remove, stringifyStyle, toDisplayString, toHandlerKey, toHandlerKey as toHandlerKey$1, toNumber, toRawType } from "@vue/shared";
7
+ import { EMPTY_ARR, EMPTY_OBJ, NO, NOOP, camelize, camelize as camelize$1, capitalize, capitalize as capitalize$1, def, extend, getEscapedCssVarName, getGlobalThis, getModifierPropName, getSequence, hasChanged, hasOwn, hyphenate, includeBooleanAttr, invokeArrayFns, isArray, isBooleanAttr, isBuiltInDirective, isBuiltInTag, isFunction, isGloballyAllowed, isKnownHtmlAttr, isKnownSvgAttr, isModelListener, isObject, isOn, isPromise, isRegExp, isRenderableAttrValue, isReservedProp, isString, isSymbol, looseEqual, looseToNumber, makeMap, normalizeClass, normalizeClass as normalizeClass$1, normalizeCssVarValue, normalizeProps, normalizeStyle, normalizeStyle as normalizeStyle$1, remove, stringifyStyle, toDisplayString, toHandlerKey, toHandlerKey as toHandlerKey$1, toNumber, toRawType } from "@vue/shared";
8
8
 
9
9
  //#region packages/runtime-core/src/warning.ts
10
10
  const stack = [];
@@ -987,36 +987,44 @@ function moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }
987
987
  if (isReorder) insert(anchor, container, parentAnchor);
988
988
  }
989
989
  function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, { o: { nextSibling, parentNode, querySelector, insert, createText } }, hydrateChildren) {
990
- function hydrateDisabledTeleport(node, vnode, targetStart, targetAnchor) {
990
+ function hydrateAnchor(target, targetNode) {
991
+ let targetAnchor = targetNode;
992
+ while (targetAnchor) {
993
+ if (targetAnchor && targetAnchor.nodeType === 8) {
994
+ if (targetAnchor.data === "teleport start anchor") vnode.targetStart = targetAnchor;
995
+ else if (targetAnchor.data === "teleport anchor") {
996
+ vnode.targetAnchor = targetAnchor;
997
+ target._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor);
998
+ break;
999
+ }
1000
+ }
1001
+ targetAnchor = nextSibling(targetAnchor);
1002
+ }
1003
+ }
1004
+ function hydrateDisabledTeleport(node, vnode) {
991
1005
  vnode.anchor = hydrateChildren(nextSibling(node), vnode, parentNode(node), parentComponent, parentSuspense, slotScopeIds, optimized);
992
- vnode.targetStart = targetStart;
993
- vnode.targetAnchor = targetAnchor;
994
1006
  }
995
1007
  const target = vnode.target = resolveTarget(vnode.props, querySelector);
996
1008
  const disabled = isTeleportDisabled(vnode.props);
997
1009
  if (target) {
998
1010
  const targetNode = target._lpa || target.firstChild;
999
- if (vnode.shapeFlag & 16) if (disabled) hydrateDisabledTeleport(node, vnode, targetNode, targetNode && nextSibling(targetNode));
1000
- else {
1011
+ if (vnode.shapeFlag & 16) if (disabled) {
1012
+ hydrateDisabledTeleport(node, vnode);
1013
+ hydrateAnchor(target, targetNode);
1014
+ if (!vnode.targetAnchor) prepareAnchor(target, vnode, createText, insert, parentNode(node) === target ? node : null);
1015
+ } else {
1001
1016
  vnode.anchor = nextSibling(node);
1002
- let targetAnchor = targetNode;
1003
- while (targetAnchor) {
1004
- if (targetAnchor && targetAnchor.nodeType === 8) {
1005
- if (targetAnchor.data === "teleport start anchor") vnode.targetStart = targetAnchor;
1006
- else if (targetAnchor.data === "teleport anchor") {
1007
- vnode.targetAnchor = targetAnchor;
1008
- target._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor);
1009
- break;
1010
- }
1011
- }
1012
- targetAnchor = nextSibling(targetAnchor);
1013
- }
1017
+ hydrateAnchor(target, targetNode);
1014
1018
  if (!vnode.targetAnchor) prepareAnchor(target, vnode, createText, insert);
1015
1019
  hydrateChildren(targetNode && nextSibling(targetNode), vnode, target, parentComponent, parentSuspense, slotScopeIds, optimized);
1016
1020
  }
1017
1021
  updateCssVars(vnode, disabled);
1018
1022
  } else if (disabled) {
1019
- if (vnode.shapeFlag & 16) hydrateDisabledTeleport(node, vnode, node, nextSibling(node));
1023
+ if (vnode.shapeFlag & 16) {
1024
+ hydrateDisabledTeleport(node, vnode);
1025
+ vnode.targetStart = node;
1026
+ vnode.targetAnchor = nextSibling(node);
1027
+ }
1020
1028
  }
1021
1029
  return vnode.anchor && nextSibling(vnode.anchor);
1022
1030
  }
@@ -1039,13 +1047,13 @@ function updateCssVars(vnode, isDisabled) {
1039
1047
  ctx.ut();
1040
1048
  }
1041
1049
  }
1042
- function prepareAnchor(target, vnode, createText, insert) {
1050
+ function prepareAnchor(target, vnode, createText, insert, anchor = null) {
1043
1051
  const targetStart = vnode.targetStart = createText("");
1044
1052
  const targetAnchor = vnode.targetAnchor = createText("");
1045
1053
  targetStart[TeleportEndKey] = targetAnchor;
1046
1054
  if (target) {
1047
- insert(targetStart, target);
1048
- insert(targetAnchor, target);
1055
+ insert(targetStart, target, anchor);
1056
+ insert(targetAnchor, target, anchor);
1049
1057
  }
1050
1058
  return targetAnchor;
1051
1059
  }
@@ -1224,7 +1232,7 @@ function baseResolveTransitionHooks(context, props, state, instance) {
1224
1232
  cancelHook = onAppearCancelled || onEnterCancelled;
1225
1233
  } else return;
1226
1234
  let called = false;
1227
- const done = el[enterCbKey] = (cancelled) => {
1235
+ el[enterCbKey] = (cancelled) => {
1228
1236
  if (called) return;
1229
1237
  called = true;
1230
1238
  if (cancelled) callHook(cancelHook, [el]);
@@ -1232,6 +1240,7 @@ function baseResolveTransitionHooks(context, props, state, instance) {
1232
1240
  if (hooks.delayedLeave) hooks.delayedLeave();
1233
1241
  el[enterCbKey] = void 0;
1234
1242
  };
1243
+ const done = el[enterCbKey].bind(null, false);
1235
1244
  if (hook) callAsyncHook(hook, [el, done]);
1236
1245
  else done();
1237
1246
  },
@@ -1240,7 +1249,7 @@ function baseResolveTransitionHooks(context, props, state, instance) {
1240
1249
  if (state.isUnmounting) return remove();
1241
1250
  callHook(onBeforeLeave, [el]);
1242
1251
  let called = false;
1243
- const done = el[leaveCbKey] = (cancelled) => {
1252
+ el[leaveCbKey] = (cancelled) => {
1244
1253
  if (called) return;
1245
1254
  called = true;
1246
1255
  remove();
@@ -1250,6 +1259,7 @@ function baseResolveTransitionHooks(context, props, state, instance) {
1250
1259
  unsetLeavingNodeCache(el);
1251
1260
  };
1252
1261
  setLeavingNodeCache(el);
1262
+ const done = el[leaveCbKey].bind(null, false);
1253
1263
  if (onLeave) callAsyncHook(onLeave, [el, done]);
1254
1264
  else done();
1255
1265
  },
@@ -1347,8 +1357,7 @@ function useTemplateRef(key) {
1347
1357
  const r = shallowRef$1(null);
1348
1358
  if (i) {
1349
1359
  const refs = i.refs === EMPTY_OBJ ? i.refs = {} : i.refs;
1350
- let desc;
1351
- if (!!(process.env.NODE_ENV !== "production") && (desc = Object.getOwnPropertyDescriptor(refs, key)) && !desc.configurable) warn$1(`useTemplateRef('${key}') already exists.`);
1360
+ if (!!(process.env.NODE_ENV !== "production") && isTemplateRefKey(refs, key)) warn$1(`useTemplateRef('${key}') already exists.`);
1352
1361
  else Object.defineProperty(refs, key, {
1353
1362
  enumerable: true,
1354
1363
  get: () => r.value,
@@ -1359,6 +1368,10 @@ function useTemplateRef(key) {
1359
1368
  if (!!(process.env.NODE_ENV !== "production")) knownTemplateRefs.add(ret);
1360
1369
  return ret;
1361
1370
  }
1371
+ function isTemplateRefKey(refs, key) {
1372
+ let desc;
1373
+ return !!((desc = Object.getOwnPropertyDescriptor(refs, key)) && !desc.configurable);
1374
+ }
1362
1375
 
1363
1376
  //#endregion
1364
1377
  //#region packages/runtime-core/src/rendererTemplateRef.ts
@@ -1385,9 +1398,11 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
1385
1398
  const oldRef = oldRawRef && oldRawRef.r;
1386
1399
  const refs = owner.refs === EMPTY_OBJ ? owner.refs = {} : owner.refs;
1387
1400
  const setupState = owner.setupState;
1388
- const canSetSetupRef = createCanSetSetupRefChecker(setupState);
1389
- const canSetRef = (ref) => {
1390
- return !!!(process.env.NODE_ENV !== "production") || !knownTemplateRefs.has(ref);
1401
+ const canSetSetupRef = createCanSetSetupRefChecker(setupState, refs);
1402
+ const canSetRef = (ref, key) => {
1403
+ if (!!(process.env.NODE_ENV !== "production") && knownTemplateRefs.has(ref)) return false;
1404
+ if (key && isTemplateRefKey(refs, key)) return false;
1405
+ return true;
1391
1406
  };
1392
1407
  if (oldRef != null && oldRef !== ref) {
1393
1408
  invalidatePendingSetRef(oldRawRef);
@@ -1395,8 +1410,8 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
1395
1410
  refs[oldRef] = null;
1396
1411
  if (canSetSetupRef(oldRef)) setupState[oldRef] = null;
1397
1412
  } else if (isRef$1(oldRef)) {
1398
- if (canSetRef(oldRef)) oldRef.value = null;
1399
1413
  const oldRawRefAtom = oldRawRef;
1414
+ if (canSetRef(oldRef, oldRawRefAtom.k)) oldRef.value = null;
1400
1415
  if (oldRawRefAtom.k) refs[oldRawRefAtom.k] = null;
1401
1416
  }
1402
1417
  }
@@ -1414,7 +1429,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
1414
1429
  if (canSetSetupRef(ref)) setupState[ref] = refs[ref];
1415
1430
  } else {
1416
1431
  const newVal = [refValue];
1417
- if (canSetRef(ref)) ref.value = newVal;
1432
+ if (canSetRef(ref, rawRef.k)) ref.value = newVal;
1418
1433
  if (rawRef.k) refs[rawRef.k] = newVal;
1419
1434
  }
1420
1435
  else if (!existing.includes(refValue)) existing.push(refValue);
@@ -1422,7 +1437,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
1422
1437
  refs[ref] = value;
1423
1438
  if (canSetSetupRef(ref)) setupState[ref] = value;
1424
1439
  } else if (_isRef) {
1425
- if (canSetRef(ref)) ref.value = value;
1440
+ if (canSetRef(ref, rawRef.k)) ref.value = value;
1426
1441
  if (rawRef.k) refs[rawRef.k] = value;
1427
1442
  } else if (!!(process.env.NODE_ENV !== "production")) warn$1("Invalid template ref type:", ref, `(${typeof ref})`);
1428
1443
  };
@@ -1440,13 +1455,14 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
1440
1455
  } else if (!!(process.env.NODE_ENV !== "production")) warn$1("Invalid template ref type:", ref, `(${typeof ref})`);
1441
1456
  }
1442
1457
  }
1443
- function createCanSetSetupRefChecker(setupState) {
1458
+ function createCanSetSetupRefChecker(setupState, refs) {
1444
1459
  const rawSetupState = toRaw$1(setupState);
1445
1460
  return setupState === void 0 || setupState === EMPTY_OBJ ? NO : (key) => {
1446
1461
  if (!!(process.env.NODE_ENV !== "production")) {
1447
1462
  if (hasOwn(rawSetupState, key) && !isRef$1(rawSetupState[key])) warn$1(`Template ref "${key}" used on a non-ref value. It will not work in the production build.`);
1448
1463
  if (knownTemplateRefs.has(rawSetupState[key])) return false;
1449
1464
  }
1465
+ if (isTemplateRefKey(refs, key)) return false;
1450
1466
  return hasOwn(rawSetupState, key);
1451
1467
  };
1452
1468
  }
@@ -3586,7 +3602,7 @@ function shouldUpdateComponent(prevVNode, nextVNode, optimized) {
3586
3602
  const dynamicProps = nextVNode.dynamicProps;
3587
3603
  for (let i = 0; i < dynamicProps.length; i++) {
3588
3604
  const key = dynamicProps[i];
3589
- if (nextProps[key] !== prevProps[key] && !isEmitListener(emits, key)) return true;
3605
+ if (hasPropValueChanged(nextProps, prevProps, key) && !isEmitListener(emits, key)) return true;
3590
3606
  }
3591
3607
  }
3592
3608
  } else {
@@ -3605,10 +3621,16 @@ function hasPropsChanged(prevProps, nextProps, emitsOptions) {
3605
3621
  if (nextKeys.length !== Object.keys(prevProps).length) return true;
3606
3622
  for (let i = 0; i < nextKeys.length; i++) {
3607
3623
  const key = nextKeys[i];
3608
- if (nextProps[key] !== prevProps[key] && !isEmitListener(emitsOptions, key)) return true;
3624
+ if (hasPropValueChanged(nextProps, prevProps, key) && !isEmitListener(emitsOptions, key)) return true;
3609
3625
  }
3610
3626
  return false;
3611
3627
  }
3628
+ function hasPropValueChanged(nextProps, prevProps, key) {
3629
+ const nextProp = nextProps[key];
3630
+ const prevProp = prevProps[key];
3631
+ if (key === "style" && isObject(nextProp) && isObject(prevProp)) return !looseEqual(nextProp, prevProp);
3632
+ return nextProp !== prevProp;
3633
+ }
3612
3634
  function updateHOCHostEl({ vnode, parent }, el) {
3613
3635
  while (parent && !parent.vapor) {
3614
3636
  const root = parent.subTree;
@@ -4146,13 +4168,7 @@ function baseCreateRenderer(options, createHydrationFns) {
4146
4168
  if (n1 == null) hostInsert(n2.el = hostCreateText(n2.children), container, anchor);
4147
4169
  else {
4148
4170
  const el = n2.el = n1.el;
4149
- if (n2.children !== n1.children) if (!!(process.env.NODE_ENV !== "production") && isHmrUpdating && n2.patchFlag === -1 && "__elIndex" in n1) {
4150
- const childNodes = container.childNodes;
4151
- const newChild = hostCreateText(n2.children);
4152
- const oldChild = childNodes[n2.__elIndex = n1.__elIndex];
4153
- hostInsert(newChild, container, oldChild);
4154
- hostRemove(oldChild);
4155
- } else hostSetText(el, n2.children);
4171
+ if (n2.children !== n1.children) hostSetText(el, n2.children);
4156
4172
  }
4157
4173
  };
4158
4174
  const processCommentNode = (n1, n2, container, anchor) => {
@@ -4497,7 +4513,9 @@ function baseCreateRenderer(options, createHydrationFns) {
4497
4513
  updateComponentPreRender(instance, next, optimized);
4498
4514
  }
4499
4515
  nonHydratedAsyncRoot.asyncDep.then(() => {
4500
- if (!instance.isUnmounted) this.fn();
4516
+ queuePostRenderEffect(() => {
4517
+ if (!instance.isUnmounted) instance.update();
4518
+ }, void 0, parentSuspense);
4501
4519
  });
4502
4520
  return;
4503
4521
  }
@@ -4906,8 +4924,10 @@ function traverseStaticChildren(n1, n2, shallow = false) {
4906
4924
  }
4907
4925
  if (!shallow && c2.patchFlag !== -2) traverseStaticChildren(c1, c2);
4908
4926
  }
4909
- if (c2.type === Text) if (c2.patchFlag !== -1) c2.el = c1.el;
4910
- else c2.__elIndex = i + (n1.type === Fragment ? 1 : 0);
4927
+ if (c2.type === Text) {
4928
+ if (c2.patchFlag === -1) c2 = ch2[i] = cloneIfMounted(c2);
4929
+ c2.el = c1.el;
4930
+ }
4911
4931
  if (c2.type === Comment && !c2.el) c2.el = c1.el;
4912
4932
  if (!!(process.env.NODE_ENV !== "production")) c2.el && (c2.el.__vnode = c2);
4913
4933
  }
@@ -6178,7 +6198,7 @@ function isMemoSame(cached, memo) {
6178
6198
 
6179
6199
  //#endregion
6180
6200
  //#region packages/runtime-core/src/index.ts
6181
- const version = "3.6.0-beta.5";
6201
+ const version = "3.6.0-beta.6";
6182
6202
  const warn = !!(process.env.NODE_ENV !== "production") ? warn$1 : NOOP;
6183
6203
  /**
6184
6204
  * Runtime error messages. Only exposed in dev or esm builds.
@@ -6215,4 +6235,4 @@ const compatUtils = null;
6215
6235
  const DeprecationTypes = null;
6216
6236
 
6217
6237
  //#endregion
6218
- export { BaseTransition, BaseTransitionPropsValidators, Comment, DeprecationTypes, EffectScope, ErrorCodes, ErrorTypeStrings, Fragment, KeepAlive, MismatchTypes, MoveType, NULL_DYNAMIC_COMPONENT, ReactiveEffect, Static, Suspense, Teleport, Text, TrackOpTypes, TriggerOpTypes, activate, assertNumber, baseEmit, baseNormalizePropsOptions, baseResolveTransitionHooks, callWithAsyncErrorHandling, callWithErrorHandling, camelize, capitalize, checkTransitionMode, cloneVNode, compatUtils, computed, createAppAPI, createAsyncComponentContext, createBlock, createCanSetSetupRefChecker, createCommentVNode, createElementBlock, createBaseVNode as createElementVNode, createHydrationRenderer, createInternalObject, createPropsRestProxy, createRenderer, createSlots, createStaticVNode, createTextVNode, createVNode, currentInstance, customRef, deactivate, defineAsyncComponent, defineComponent, defineEmits, defineExpose, defineModel, defineOptions, defineProps, defineSlots, devtools, devtoolsComponentAdded, effect, effectScope, endMeasure, ensureVaporSlotFallback, expose, flushOnAppMount, getAttributeMismatch, getComponentName, getCurrentInstance, getCurrentScope, getCurrentWatcher, getFunctionalFallthrough, getInheritedScopeIds, getTransitionRawChildren, guardReactiveProps, h, handleError, hasInjectionContext, hydrateOnIdle, hydrateOnInteraction, hydrateOnMediaQuery, hydrateOnVisible, initCustomFormatter, initFeatureFlags, inject, isAsyncWrapper, isEmitListener, isHydrating, isKeepAlive, isMapEqual, isMemoSame, isMismatchAllowed, isProxy, isReactive, isReadonly, isRef, isRuntimeOnly, isSetEqual, isShallow, isTeleportDeferred, isTeleportDisabled, isTemplateNode, isVNode, isValidHtmlOrSvgAttribute, leaveCbKey, markAsyncBoundary, markRaw, matches, mergeDefaults, mergeModels, mergeProps, nextTick, nextUid, normalizeClass, normalizeProps, normalizeRef, normalizeStyle, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onScopeDispose, onServerPrefetch, onUnmounted, onUpdated, onWatcherCleanup, openBlock, performAsyncHydrate, performTransitionEnter, performTransitionLeave, popScopeId, popWarningContext, provide, proxyRefs, pushScopeId, pushWarningContext, queueJob, queuePostFlushCb, reactive, readonly, ref, registerHMR, registerRuntimeCompiler, renderList, renderSlot, resetShapeFlag, resolveComponent, resolveDirective, resolveDynamicComponent, resolveFilter, resolvePropValue, resolveTarget as resolveTeleportTarget, resolveTransitionHooks, setBlockTracking, setCurrentInstance, setDevtoolsHook, setIsHydratingEnabled, setRef, setTransitionHooks, shallowReactive, shallowReadonly, shallowRef, simpleSetCurrentInstance, ssrContextKey, ssrUtils, startMeasure, stop, toClassSet, toDisplayString, toHandlerKey, toHandlers, toRaw, toRef, toRefs, toStyleMap, toValue, transformVNodeArgs, triggerRef, unref, unregisterHMR, useAsyncComponentState, useAttrs, useId, useInstanceOption, useModel, useSSRContext, useSlots, useTemplateRef, useTransitionState, validateComponentName, validateProps, version, warn, warnExtraneousAttributes, warnPropMismatch, watch, watchEffect, watchPostEffect, watchSyncEffect, withAsyncContext, withCtx, withDefaults, withDirectives, withMemo, withScopeId };
6238
+ export { BaseTransition, BaseTransitionPropsValidators, Comment, DeprecationTypes, EffectScope, ErrorCodes, ErrorTypeStrings, Fragment, KeepAlive, MismatchTypes, MoveType, NULL_DYNAMIC_COMPONENT, ReactiveEffect, Static, Suspense, Teleport, Text, TrackOpTypes, TriggerOpTypes, activate, assertNumber, baseEmit, baseNormalizePropsOptions, baseResolveTransitionHooks, callWithAsyncErrorHandling, callWithErrorHandling, camelize, capitalize, checkTransitionMode, cloneVNode, compatUtils, computed, createAppAPI, createAsyncComponentContext, createBlock, createCanSetSetupRefChecker, createCommentVNode, createElementBlock, createBaseVNode as createElementVNode, createHydrationRenderer, createInternalObject, createPropsRestProxy, createRenderer, createSlots, createStaticVNode, createTextVNode, createVNode, currentInstance, customRef, deactivate, defineAsyncComponent, defineComponent, defineEmits, defineExpose, defineModel, defineOptions, defineProps, defineSlots, devtools, devtoolsComponentAdded, effect, effectScope, endMeasure, ensureVaporSlotFallback, expose, flushOnAppMount, getAttributeMismatch, getComponentName, getCurrentInstance, getCurrentScope, getCurrentWatcher, getFunctionalFallthrough, getInheritedScopeIds, getTransitionRawChildren, guardReactiveProps, h, handleError, hasInjectionContext, hydrateOnIdle, hydrateOnInteraction, hydrateOnMediaQuery, hydrateOnVisible, initCustomFormatter, initFeatureFlags, inject, isAsyncWrapper, isEmitListener, isHydrating, isKeepAlive, isMapEqual, isMemoSame, isMismatchAllowed, isProxy, isReactive, isReadonly, isRef, isRuntimeOnly, isSetEqual, isShallow, isTeleportDeferred, isTeleportDisabled, isTemplateNode, isTemplateRefKey, isVNode, isValidHtmlOrSvgAttribute, knownTemplateRefs, leaveCbKey, markAsyncBoundary, markRaw, matches, mergeDefaults, mergeModels, mergeProps, nextTick, nextUid, normalizeClass, normalizeProps, normalizeRef, normalizeStyle, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onScopeDispose, onServerPrefetch, onUnmounted, onUpdated, onWatcherCleanup, openBlock, performAsyncHydrate, performTransitionEnter, performTransitionLeave, popScopeId, popWarningContext, provide, proxyRefs, pushScopeId, pushWarningContext, queueJob, queuePostFlushCb, reactive, readonly, ref, registerHMR, registerRuntimeCompiler, renderList, renderSlot, resetShapeFlag, resolveComponent, resolveDirective, resolveDynamicComponent, resolveFilter, resolvePropValue, resolveTarget as resolveTeleportTarget, resolveTransitionHooks, setBlockTracking, setCurrentInstance, setDevtoolsHook, setIsHydratingEnabled, setRef, setTransitionHooks, shallowReactive, shallowReadonly, shallowRef, simpleSetCurrentInstance, ssrContextKey, ssrUtils, startMeasure, stop, toClassSet, toDisplayString, toHandlerKey, toHandlers, toRaw, toRef, toRefs, toStyleMap, toValue, transformVNodeArgs, triggerRef, unref, unregisterHMR, useAsyncComponentState, useAttrs, useId, useInstanceOption, useModel, useSSRContext, useSlots, useTemplateRef, useTransitionState, validateComponentName, validateProps, version, warn, warnExtraneousAttributes, warnPropMismatch, watch, watchEffect, watchPostEffect, watchSyncEffect, withAsyncContext, withCtx, withDefaults, withDirectives, withMemo, withScopeId };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vue/runtime-core",
3
- "version": "3.6.0-beta.5",
3
+ "version": "3.6.0-beta.6",
4
4
  "description": "@vue/runtime-core",
5
5
  "main": "index.js",
6
6
  "module": "dist/runtime-core.esm-bundler.js",
@@ -46,7 +46,7 @@
46
46
  },
47
47
  "homepage": "https://github.com/vuejs/core/tree/main/packages/runtime-core#readme",
48
48
  "dependencies": {
49
- "@vue/shared": "3.6.0-beta.5",
50
- "@vue/reactivity": "3.6.0-beta.5"
49
+ "@vue/shared": "3.6.0-beta.6",
50
+ "@vue/reactivity": "3.6.0-beta.6"
51
51
  }
52
52
  }