@vue/runtime-core 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,5 +1,5 @@
1
1
  /**
2
- * @vue/runtime-core v3.5.12
2
+ * @vue/runtime-core v3.5.14
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -348,11 +348,11 @@ function flushPreFlushCbs(instance, seen, i = flushIndex + 1) {
348
348
  queue.splice(i, 1);
349
349
  i--;
350
350
  if (cb.flags & 4) {
351
- cb.flags &= ~1;
351
+ cb.flags &= -2;
352
352
  }
353
353
  cb();
354
354
  if (!(cb.flags & 4)) {
355
- cb.flags &= ~1;
355
+ cb.flags &= -2;
356
356
  }
357
357
  }
358
358
  }
@@ -377,10 +377,10 @@ function flushPostFlushCbs(seen) {
377
377
  continue;
378
378
  }
379
379
  if (cb.flags & 4) {
380
- cb.flags &= ~1;
380
+ cb.flags &= -2;
381
381
  }
382
382
  if (!(cb.flags & 8)) cb();
383
- cb.flags &= ~1;
383
+ cb.flags &= -2;
384
384
  }
385
385
  activePostFlushCbs = null;
386
386
  postFlushIndex = 0;
@@ -416,7 +416,7 @@ function flushJobs(seen) {
416
416
  for (; flushIndex < queue.length; flushIndex++) {
417
417
  const job = queue[flushIndex];
418
418
  if (job) {
419
- job.flags &= ~1;
419
+ job.flags &= -2;
420
420
  }
421
421
  }
422
422
  flushIndex = -1;
@@ -856,11 +856,32 @@ const TeleportImpl = {
856
856
  updateCssVars(n2, true);
857
857
  }
858
858
  if (isTeleportDeferred(n2.props)) {
859
- queuePostRenderEffect(mountToTarget, parentSuspense);
859
+ queuePostRenderEffect(() => {
860
+ mountToTarget();
861
+ n2.el.__isMounted = true;
862
+ }, parentSuspense);
860
863
  } else {
861
864
  mountToTarget();
862
865
  }
863
866
  } else {
867
+ if (isTeleportDeferred(n2.props) && !n1.el.__isMounted) {
868
+ queuePostRenderEffect(() => {
869
+ TeleportImpl.process(
870
+ n1,
871
+ n2,
872
+ container,
873
+ anchor,
874
+ parentComponent,
875
+ parentSuspense,
876
+ namespace,
877
+ slotScopeIds,
878
+ optimized,
879
+ internals
880
+ );
881
+ delete n1.el.__isMounted;
882
+ }, parentSuspense);
883
+ return;
884
+ }
864
885
  n2.el = n1.el;
865
886
  n2.targetStart = n1.targetStart;
866
887
  const mainAnchor = n2.anchor = n1.anchor;
@@ -884,7 +905,7 @@ const TeleportImpl = {
884
905
  namespace,
885
906
  slotScopeIds
886
907
  );
887
- traverseStaticChildren(n1, n2, true);
908
+ traverseStaticChildren(n1, n2, false);
888
909
  } else if (!optimized) {
889
910
  patchChildren(
890
911
  n1,
@@ -1166,10 +1187,9 @@ const BaseTransitionImpl = {
1166
1187
  if (innerChild.type !== Comment) {
1167
1188
  setTransitionHooks(innerChild, enterHooks);
1168
1189
  }
1169
- const oldChild = instance.subTree;
1170
- const oldInnerChild = oldChild && getInnerChild$1(oldChild);
1190
+ let oldInnerChild = instance.subTree && getInnerChild$1(instance.subTree);
1171
1191
  if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(innerChild, oldInnerChild) && recursiveGetSubtree(instance).type !== Comment) {
1172
- const leavingHooks = resolveTransitionHooks(
1192
+ let leavingHooks = resolveTransitionHooks(
1173
1193
  oldInnerChild,
1174
1194
  rawProps,
1175
1195
  state,
@@ -1184,6 +1204,7 @@ const BaseTransitionImpl = {
1184
1204
  instance.update();
1185
1205
  }
1186
1206
  delete leavingHooks.afterLeave;
1207
+ oldInnerChild = void 0;
1187
1208
  };
1188
1209
  return emptyPlaceholder(child);
1189
1210
  } else if (mode === "in-out" && innerChild.type !== Comment) {
@@ -1197,10 +1218,19 @@ const BaseTransitionImpl = {
1197
1218
  earlyRemove();
1198
1219
  el[leaveCbKey] = void 0;
1199
1220
  delete enterHooks.delayedLeave;
1221
+ oldInnerChild = void 0;
1222
+ };
1223
+ enterHooks.delayedLeave = () => {
1224
+ delayedLeave();
1225
+ delete enterHooks.delayedLeave;
1226
+ oldInnerChild = void 0;
1200
1227
  };
1201
- enterHooks.delayedLeave = delayedLeave;
1202
1228
  };
1229
+ } else {
1230
+ oldInnerChild = void 0;
1203
1231
  }
1232
+ } else if (oldInnerChild) {
1233
+ oldInnerChild = void 0;
1204
1234
  }
1205
1235
  return child;
1206
1236
  };
@@ -1505,6 +1535,9 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
1505
1535
  return;
1506
1536
  }
1507
1537
  if (isAsyncWrapper(vnode) && !isUnmount) {
1538
+ if (vnode.shapeFlag & 512 && vnode.type.__asyncResolved && vnode.component.subTree.component) {
1539
+ setRef(rawRef, oldRawRef, parentSuspense, vnode.component.subTree);
1540
+ }
1508
1541
  return;
1509
1542
  }
1510
1543
  const refValue = vnode.shapeFlag & 4 ? getComponentPublicInstance(vnode.component) : vnode.el;
@@ -1769,7 +1802,7 @@ function createHydrationFunctions(rendererInternals) {
1769
1802
  getContainerType(container),
1770
1803
  optimized
1771
1804
  );
1772
- if (isAsyncWrapper(vnode)) {
1805
+ if (isAsyncWrapper(vnode) && !vnode.type.__asyncResolved) {
1773
1806
  let subTree;
1774
1807
  if (isFragmentStart) {
1775
1808
  subTree = createVNode(Fragment);
@@ -2038,6 +2071,10 @@ Server rendered element contains fewer child nodes than client vdom.`
2038
2071
  getContainerType(container),
2039
2072
  slotScopeIds
2040
2073
  );
2074
+ if (parentComponent) {
2075
+ parentComponent.vnode.el = vnode.el;
2076
+ updateHOCHostEl(parentComponent, vnode.el);
2077
+ }
2041
2078
  return next;
2042
2079
  };
2043
2080
  const locateClosingAnchor = (node, open = "[", close = "]") => {
@@ -2640,7 +2677,7 @@ const KeepAliveImpl = {
2640
2677
  );
2641
2678
  const { include, exclude, max } = props;
2642
2679
  if (include && (!name || !matches(include, name)) || exclude && name && matches(exclude, name)) {
2643
- vnode.shapeFlag &= ~256;
2680
+ vnode.shapeFlag &= -257;
2644
2681
  current = vnode;
2645
2682
  return rawVNode;
2646
2683
  }
@@ -2727,8 +2764,8 @@ function injectToKeepAliveRoot(hook, type, target, keepAliveRoot) {
2727
2764
  }, target);
2728
2765
  }
2729
2766
  function resetShapeFlag(vnode) {
2730
- vnode.shapeFlag &= ~256;
2731
- vnode.shapeFlag &= ~512;
2767
+ vnode.shapeFlag &= -257;
2768
+ vnode.shapeFlag &= -513;
2732
2769
  }
2733
2770
  function getInnerChild(vnode) {
2734
2771
  return vnode.shapeFlag & 128 ? vnode.ssContent : vnode;
@@ -2843,14 +2880,16 @@ function renderList(source, renderItem, cache, index) {
2843
2880
  if (sourceIsArray || shared.isString(source)) {
2844
2881
  const sourceIsReactiveArray = sourceIsArray && reactivity.isReactive(source);
2845
2882
  let needsWrap = false;
2883
+ let isReadonlySource = false;
2846
2884
  if (sourceIsReactiveArray) {
2847
2885
  needsWrap = !reactivity.isShallow(source);
2886
+ isReadonlySource = reactivity.isReadonly(source);
2848
2887
  source = reactivity.shallowReadArray(source);
2849
2888
  }
2850
2889
  ret = new Array(source.length);
2851
2890
  for (let i = 0, l = source.length; i < l; i++) {
2852
2891
  ret[i] = renderItem(
2853
- needsWrap ? reactivity.toReactive(source[i]) : source[i],
2892
+ needsWrap ? isReadonlySource ? reactivity.toReadonly(reactivity.toReactive(source[i])) : reactivity.toReactive(source[i]) : source[i],
2854
2893
  i,
2855
2894
  void 0,
2856
2895
  cached && cached[i]
@@ -3872,11 +3911,9 @@ function createAppAPI(render, hydrate) {
3872
3911
  }
3873
3912
  {
3874
3913
  context.reload = () => {
3875
- render(
3876
- cloneVNode(vnode),
3877
- rootContainer,
3878
- namespace
3879
- );
3914
+ const cloned = cloneVNode(vnode);
3915
+ cloned.el = null;
3916
+ render(cloned, rootContainer, namespace);
3880
3917
  };
3881
3918
  }
3882
3919
  if (isHydrate && hydrate) {
@@ -4399,7 +4436,7 @@ const normalizeSlot = (key, rawSlot, ctx) => {
4399
4436
  return rawSlot;
4400
4437
  }
4401
4438
  const normalized = withCtx((...args) => {
4402
- if (currentInstance && (!ctx || ctx.root === currentInstance.root)) {
4439
+ if (currentInstance && !(ctx === null && currentRenderingInstance) && !(ctx && ctx.root !== currentInstance.root)) {
4403
4440
  warn$1(
4404
4441
  `Slot "${key}" invoked outside of the render function: this will not track dependencies used in the slot. Invoke the slot function inside the render function instead.`
4405
4442
  );
@@ -4438,7 +4475,7 @@ const normalizeVNodeSlots = (instance, children) => {
4438
4475
  };
4439
4476
  const assignSlots = (slots, children, optimized) => {
4440
4477
  for (const key in children) {
4441
- if (optimized || key !== "_") {
4478
+ if (optimized || !isInternalKey(key)) {
4442
4479
  slots[key] = children[key];
4443
4480
  }
4444
4481
  }
@@ -5124,8 +5161,8 @@ function baseCreateRenderer(options, createHydrationFns) {
5124
5161
  endMeasure(instance, `init`);
5125
5162
  }
5126
5163
  }
5164
+ if (isHmrUpdating) initialVNode.el = null;
5127
5165
  if (instance.asyncDep) {
5128
- if (isHmrUpdating) initialVNode.el = null;
5129
5166
  parentSuspense && parentSuspense.registerDep(instance, setupRenderEffect, optimized);
5130
5167
  if (!initialVNode.el) {
5131
5168
  const placeholder = instance.subTree = createVNode(Comment);
@@ -5687,7 +5724,13 @@ function baseCreateRenderer(options, createHydrationFns) {
5687
5724
  queuePostRenderEffect(() => transition.enter(el), parentSuspense);
5688
5725
  } else {
5689
5726
  const { leave, delayLeave, afterLeave } = transition;
5690
- const remove2 = () => hostInsert(el, container, anchor);
5727
+ const remove2 = () => {
5728
+ if (vnode.ctx.isUnmounted) {
5729
+ hostRemove(el);
5730
+ } else {
5731
+ hostInsert(el, container, anchor);
5732
+ }
5733
+ };
5691
5734
  const performLeave = () => {
5692
5735
  leave(el, () => {
5693
5736
  remove2();
@@ -5720,7 +5763,9 @@ function baseCreateRenderer(options, createHydrationFns) {
5720
5763
  optimized = false;
5721
5764
  }
5722
5765
  if (ref != null) {
5766
+ reactivity.pauseTracking();
5723
5767
  setRef(ref, null, parentSuspense, vnode, true);
5768
+ reactivity.resetTracking();
5724
5769
  }
5725
5770
  if (cacheIndex != null) {
5726
5771
  parentComponent.renderCache[cacheIndex] = void 0;
@@ -5832,12 +5877,27 @@ function baseCreateRenderer(options, createHydrationFns) {
5832
5877
  if (instance.type.__hmrId) {
5833
5878
  unregisterHMR(instance);
5834
5879
  }
5835
- const { bum, scope, job, subTree, um, m, a } = instance;
5880
+ const {
5881
+ bum,
5882
+ scope,
5883
+ job,
5884
+ subTree,
5885
+ um,
5886
+ m,
5887
+ a,
5888
+ parent,
5889
+ slots: { __: slotCacheKeys }
5890
+ } = instance;
5836
5891
  invalidateMount(m);
5837
5892
  invalidateMount(a);
5838
5893
  if (bum) {
5839
5894
  shared.invokeArrayFns(bum);
5840
5895
  }
5896
+ if (parent && shared.isArray(slotCacheKeys)) {
5897
+ slotCacheKeys.forEach((v) => {
5898
+ parent.renderCache[v] = void 0;
5899
+ });
5900
+ }
5841
5901
  scope.stop();
5842
5902
  if (job) {
5843
5903
  job.flags |= 8;
@@ -5933,8 +5993,8 @@ function toggleRecurse({ effect, job }, allowed) {
5933
5993
  effect.flags |= 32;
5934
5994
  job.flags |= 4;
5935
5995
  } else {
5936
- effect.flags &= ~32;
5937
- job.flags &= ~4;
5996
+ effect.flags &= -33;
5997
+ job.flags &= -5;
5938
5998
  }
5939
5999
  }
5940
6000
  function needTransition(parentSuspense, transition) {
@@ -5961,6 +6021,9 @@ function traverseStaticChildren(n1, n2, shallow = false) {
5961
6021
  if (c2.type === Comment && !c2.el) {
5962
6022
  c2.el = c1.el;
5963
6023
  }
6024
+ {
6025
+ c2.el && (c2.el.__vnode = c2);
6026
+ }
5964
6027
  }
5965
6028
  }
5966
6029
  }
@@ -6477,7 +6540,7 @@ function renderComponentRoot(instance) {
6477
6540
  }
6478
6541
  if (extraAttrs.length) {
6479
6542
  warn$1(
6480
- `Extraneous non-props attributes (${extraAttrs.join(", ")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes.`
6543
+ `Extraneous non-props attributes (${extraAttrs.join(", ")}) were passed to component but could not be automatically inherited because component renders fragment or text or teleport root nodes.`
6481
6544
  );
6482
6545
  }
6483
6546
  if (eventAttrs.length) {
@@ -7260,9 +7323,9 @@ function closeBlock() {
7260
7323
  currentBlock = blockStack[blockStack.length - 1] || null;
7261
7324
  }
7262
7325
  let isBlockTreeEnabled = 1;
7263
- function setBlockTracking(value) {
7326
+ function setBlockTracking(value, inVOnce = false) {
7264
7327
  isBlockTreeEnabled += value;
7265
- if (value < 0 && currentBlock) {
7328
+ if (value < 0 && currentBlock && inVOnce) {
7266
7329
  currentBlock.hasOnce = true;
7267
7330
  }
7268
7331
  }
@@ -7306,8 +7369,8 @@ function isSameVNodeType(n1, n2) {
7306
7369
  if (n2.shapeFlag & 6 && n1.component) {
7307
7370
  const dirtyInstances = hmrDirtyComponents.get(n2.type);
7308
7371
  if (dirtyInstances && dirtyInstances.has(n1.component)) {
7309
- n1.shapeFlag &= ~256;
7310
- n2.shapeFlag &= ~512;
7372
+ n1.shapeFlag &= -257;
7373
+ n2.shapeFlag &= -513;
7311
7374
  return false;
7312
7375
  }
7313
7376
  }
@@ -7768,7 +7831,7 @@ function setupComponent(instance, isSSR = false, optimized = false) {
7768
7831
  const { props, children } = instance.vnode;
7769
7832
  const isStateful = isStatefulComponent(instance);
7770
7833
  initProps(instance, props, isStateful, isSSR);
7771
- initSlots(instance, children, optimized);
7834
+ initSlots(instance, children, optimized || isSSR);
7772
7835
  const setupResult = isStateful ? setupStatefulComponent(instance, isSSR) : void 0;
7773
7836
  isSSR && setInSSRSetupState(false);
7774
7837
  return setupResult;
@@ -8099,13 +8162,15 @@ function initCustomFormatter() {
8099
8162
  if (obj.__isVue) {
8100
8163
  return ["div", vueStyle, `VueInstance`];
8101
8164
  } else if (reactivity.isRef(obj)) {
8165
+ reactivity.pauseTracking();
8166
+ const value = obj.value;
8167
+ reactivity.resetTracking();
8102
8168
  return [
8103
8169
  "div",
8104
8170
  {},
8105
8171
  ["span", vueStyle, genRefFlag(obj)],
8106
8172
  "<",
8107
- // avoid debugger accessing value affecting behavior
8108
- formatValue("_value" in obj ? obj._value : obj),
8173
+ formatValue(value),
8109
8174
  `>`
8110
8175
  ];
8111
8176
  } else if (reactivity.isReactive(obj)) {
@@ -8286,7 +8351,7 @@ function isMemoSame(cached, memo) {
8286
8351
  return true;
8287
8352
  }
8288
8353
 
8289
- const version = "3.5.12";
8354
+ const version = "3.5.14";
8290
8355
  const warn = warn$1 ;
8291
8356
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
8292
8357
  const devtools = devtools$1 ;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/runtime-core v3.5.12
2
+ * @vue/runtime-core v3.5.14
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -213,11 +213,11 @@ function flushPreFlushCbs(instance, seen, i = flushIndex + 1) {
213
213
  queue.splice(i, 1);
214
214
  i--;
215
215
  if (cb.flags & 4) {
216
- cb.flags &= ~1;
216
+ cb.flags &= -2;
217
217
  }
218
218
  cb();
219
219
  if (!(cb.flags & 4)) {
220
- cb.flags &= ~1;
220
+ cb.flags &= -2;
221
221
  }
222
222
  }
223
223
  }
@@ -236,10 +236,10 @@ function flushPostFlushCbs(seen) {
236
236
  for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {
237
237
  const cb = activePostFlushCbs[postFlushIndex];
238
238
  if (cb.flags & 4) {
239
- cb.flags &= ~1;
239
+ cb.flags &= -2;
240
240
  }
241
241
  if (!(cb.flags & 8)) cb();
242
- cb.flags &= ~1;
242
+ cb.flags &= -2;
243
243
  }
244
244
  activePostFlushCbs = null;
245
245
  postFlushIndex = 0;
@@ -269,7 +269,7 @@ function flushJobs(seen) {
269
269
  for (; flushIndex < queue.length; flushIndex++) {
270
270
  const job = queue[flushIndex];
271
271
  if (job) {
272
- job.flags &= ~1;
272
+ job.flags &= -2;
273
273
  }
274
274
  }
275
275
  flushIndex = -1;
@@ -449,11 +449,32 @@ const TeleportImpl = {
449
449
  updateCssVars(n2, true);
450
450
  }
451
451
  if (isTeleportDeferred(n2.props)) {
452
- queuePostRenderEffect(mountToTarget, parentSuspense);
452
+ queuePostRenderEffect(() => {
453
+ mountToTarget();
454
+ n2.el.__isMounted = true;
455
+ }, parentSuspense);
453
456
  } else {
454
457
  mountToTarget();
455
458
  }
456
459
  } else {
460
+ if (isTeleportDeferred(n2.props) && !n1.el.__isMounted) {
461
+ queuePostRenderEffect(() => {
462
+ TeleportImpl.process(
463
+ n1,
464
+ n2,
465
+ container,
466
+ anchor,
467
+ parentComponent,
468
+ parentSuspense,
469
+ namespace,
470
+ slotScopeIds,
471
+ optimized,
472
+ internals
473
+ );
474
+ delete n1.el.__isMounted;
475
+ }, parentSuspense);
476
+ return;
477
+ }
457
478
  n2.el = n1.el;
458
479
  n2.targetStart = n1.targetStart;
459
480
  const mainAnchor = n2.anchor = n1.anchor;
@@ -750,10 +771,9 @@ const BaseTransitionImpl = {
750
771
  if (innerChild.type !== Comment) {
751
772
  setTransitionHooks(innerChild, enterHooks);
752
773
  }
753
- const oldChild = instance.subTree;
754
- const oldInnerChild = oldChild && getInnerChild$1(oldChild);
774
+ let oldInnerChild = instance.subTree && getInnerChild$1(instance.subTree);
755
775
  if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(innerChild, oldInnerChild) && recursiveGetSubtree(instance).type !== Comment) {
756
- const leavingHooks = resolveTransitionHooks(
776
+ let leavingHooks = resolveTransitionHooks(
757
777
  oldInnerChild,
758
778
  rawProps,
759
779
  state,
@@ -768,6 +788,7 @@ const BaseTransitionImpl = {
768
788
  instance.update();
769
789
  }
770
790
  delete leavingHooks.afterLeave;
791
+ oldInnerChild = void 0;
771
792
  };
772
793
  return emptyPlaceholder(child);
773
794
  } else if (mode === "in-out" && innerChild.type !== Comment) {
@@ -781,10 +802,19 @@ const BaseTransitionImpl = {
781
802
  earlyRemove();
782
803
  el[leaveCbKey] = void 0;
783
804
  delete enterHooks.delayedLeave;
805
+ oldInnerChild = void 0;
806
+ };
807
+ enterHooks.delayedLeave = () => {
808
+ delayedLeave();
809
+ delete enterHooks.delayedLeave;
810
+ oldInnerChild = void 0;
784
811
  };
785
- enterHooks.delayedLeave = delayedLeave;
786
812
  };
813
+ } else {
814
+ oldInnerChild = void 0;
787
815
  }
816
+ } else if (oldInnerChild) {
817
+ oldInnerChild = void 0;
788
818
  }
789
819
  return child;
790
820
  };
@@ -968,6 +998,9 @@ function getInnerChild$1(vnode) {
968
998
  }
969
999
  return vnode;
970
1000
  }
1001
+ if (vnode.component) {
1002
+ return vnode.component.subTree;
1003
+ }
971
1004
  const { shapeFlag, children } = vnode;
972
1005
  if (children) {
973
1006
  if (shapeFlag & 16) {
@@ -1064,6 +1097,9 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
1064
1097
  return;
1065
1098
  }
1066
1099
  if (isAsyncWrapper(vnode) && !isUnmount) {
1100
+ if (vnode.shapeFlag & 512 && vnode.type.__asyncResolved && vnode.component.subTree.component) {
1101
+ setRef(rawRef, oldRawRef, parentSuspense, vnode.component.subTree);
1102
+ }
1067
1103
  return;
1068
1104
  }
1069
1105
  const refValue = vnode.shapeFlag & 4 ? getComponentPublicInstance(vnode.component) : vnode.el;
@@ -1292,7 +1328,7 @@ function createHydrationFunctions(rendererInternals) {
1292
1328
  getContainerType(container),
1293
1329
  optimized
1294
1330
  );
1295
- if (isAsyncWrapper(vnode)) {
1331
+ if (isAsyncWrapper(vnode) && !vnode.type.__asyncResolved) {
1296
1332
  let subTree;
1297
1333
  if (isFragmentStart) {
1298
1334
  subTree = createVNode(Fragment);
@@ -1529,6 +1565,10 @@ function createHydrationFunctions(rendererInternals) {
1529
1565
  getContainerType(container),
1530
1566
  slotScopeIds
1531
1567
  );
1568
+ if (parentComponent) {
1569
+ parentComponent.vnode.el = vnode.el;
1570
+ updateHOCHostEl(parentComponent, vnode.el);
1571
+ }
1532
1572
  return next;
1533
1573
  };
1534
1574
  const locateClosingAnchor = (node, open = "[", close = "]") => {
@@ -1991,7 +2031,7 @@ const KeepAliveImpl = {
1991
2031
  );
1992
2032
  const { include, exclude, max } = props;
1993
2033
  if (include && (!name || !matches(include, name)) || exclude && name && matches(exclude, name)) {
1994
- vnode.shapeFlag &= ~256;
2034
+ vnode.shapeFlag &= -257;
1995
2035
  current = vnode;
1996
2036
  return rawVNode;
1997
2037
  }
@@ -2078,8 +2118,8 @@ function injectToKeepAliveRoot(hook, type, target, keepAliveRoot) {
2078
2118
  }, target);
2079
2119
  }
2080
2120
  function resetShapeFlag(vnode) {
2081
- vnode.shapeFlag &= ~256;
2082
- vnode.shapeFlag &= ~512;
2121
+ vnode.shapeFlag &= -257;
2122
+ vnode.shapeFlag &= -513;
2083
2123
  }
2084
2124
  function getInnerChild(vnode) {
2085
2125
  return vnode.shapeFlag & 128 ? vnode.ssContent : vnode;
@@ -2180,14 +2220,16 @@ function renderList(source, renderItem, cache, index) {
2180
2220
  if (sourceIsArray || shared.isString(source)) {
2181
2221
  const sourceIsReactiveArray = sourceIsArray && reactivity.isReactive(source);
2182
2222
  let needsWrap = false;
2223
+ let isReadonlySource = false;
2183
2224
  if (sourceIsReactiveArray) {
2184
2225
  needsWrap = !reactivity.isShallow(source);
2226
+ isReadonlySource = reactivity.isReadonly(source);
2185
2227
  source = reactivity.shallowReadArray(source);
2186
2228
  }
2187
2229
  ret = new Array(source.length);
2188
2230
  for (let i = 0, l = source.length; i < l; i++) {
2189
2231
  ret[i] = renderItem(
2190
- needsWrap ? reactivity.toReactive(source[i]) : source[i],
2232
+ needsWrap ? isReadonlySource ? reactivity.toReadonly(reactivity.toReactive(source[i])) : reactivity.toReactive(source[i]) : source[i],
2191
2233
  i,
2192
2234
  void 0,
2193
2235
  cached && cached[i]
@@ -3320,7 +3362,7 @@ const normalizeVNodeSlots = (instance, children) => {
3320
3362
  };
3321
3363
  const assignSlots = (slots, children, optimized) => {
3322
3364
  for (const key in children) {
3323
- if (optimized || key !== "_") {
3365
+ if (optimized || !isInternalKey(key)) {
3324
3366
  slots[key] = children[key];
3325
3367
  }
3326
3368
  }
@@ -4406,7 +4448,13 @@ function baseCreateRenderer(options, createHydrationFns) {
4406
4448
  queuePostRenderEffect(() => transition.enter(el), parentSuspense);
4407
4449
  } else {
4408
4450
  const { leave, delayLeave, afterLeave } = transition;
4409
- const remove2 = () => hostInsert(el, container, anchor);
4451
+ const remove2 = () => {
4452
+ if (vnode.ctx.isUnmounted) {
4453
+ hostRemove(el);
4454
+ } else {
4455
+ hostInsert(el, container, anchor);
4456
+ }
4457
+ };
4410
4458
  const performLeave = () => {
4411
4459
  leave(el, () => {
4412
4460
  remove2();
@@ -4439,7 +4487,9 @@ function baseCreateRenderer(options, createHydrationFns) {
4439
4487
  optimized = false;
4440
4488
  }
4441
4489
  if (ref != null) {
4490
+ reactivity.pauseTracking();
4442
4491
  setRef(ref, null, parentSuspense, vnode, true);
4492
+ reactivity.resetTracking();
4443
4493
  }
4444
4494
  if (cacheIndex != null) {
4445
4495
  parentComponent.renderCache[cacheIndex] = void 0;
@@ -4540,12 +4590,27 @@ function baseCreateRenderer(options, createHydrationFns) {
4540
4590
  hostRemove(end);
4541
4591
  };
4542
4592
  const unmountComponent = (instance, parentSuspense, doRemove) => {
4543
- const { bum, scope, job, subTree, um, m, a } = instance;
4593
+ const {
4594
+ bum,
4595
+ scope,
4596
+ job,
4597
+ subTree,
4598
+ um,
4599
+ m,
4600
+ a,
4601
+ parent,
4602
+ slots: { __: slotCacheKeys }
4603
+ } = instance;
4544
4604
  invalidateMount(m);
4545
4605
  invalidateMount(a);
4546
4606
  if (bum) {
4547
4607
  shared.invokeArrayFns(bum);
4548
4608
  }
4609
+ if (parent && shared.isArray(slotCacheKeys)) {
4610
+ slotCacheKeys.forEach((v) => {
4611
+ parent.renderCache[v] = void 0;
4612
+ });
4613
+ }
4549
4614
  scope.stop();
4550
4615
  if (job) {
4551
4616
  job.flags |= 8;
@@ -4638,8 +4703,8 @@ function toggleRecurse({ effect, job }, allowed) {
4638
4703
  effect.flags |= 32;
4639
4704
  job.flags |= 4;
4640
4705
  } else {
4641
- effect.flags &= ~32;
4642
- job.flags &= ~4;
4706
+ effect.flags &= -33;
4707
+ job.flags &= -5;
4643
4708
  }
4644
4709
  }
4645
4710
  function needTransition(parentSuspense, transition) {
@@ -4663,6 +4728,9 @@ function traverseStaticChildren(n1, n2, shallow = false) {
4663
4728
  if (c2.type === Text) {
4664
4729
  c2.el = c1.el;
4665
4730
  }
4731
+ if (c2.type === Comment && !c2.el) {
4732
+ c2.el = c1.el;
4733
+ }
4666
4734
  }
4667
4735
  }
4668
4736
  }
@@ -5775,9 +5843,9 @@ function closeBlock() {
5775
5843
  currentBlock = blockStack[blockStack.length - 1] || null;
5776
5844
  }
5777
5845
  let isBlockTreeEnabled = 1;
5778
- function setBlockTracking(value) {
5846
+ function setBlockTracking(value, inVOnce = false) {
5779
5847
  isBlockTreeEnabled += value;
5780
- if (value < 0 && currentBlock) {
5848
+ if (value < 0 && currentBlock && inVOnce) {
5781
5849
  currentBlock.hasOnce = true;
5782
5850
  }
5783
5851
  }
@@ -6238,7 +6306,7 @@ function setupComponent(instance, isSSR = false, optimized = false) {
6238
6306
  const { props, children } = instance.vnode;
6239
6307
  const isStateful = isStatefulComponent(instance);
6240
6308
  initProps(instance, props, isStateful, isSSR);
6241
- initSlots(instance, children, optimized);
6309
+ initSlots(instance, children, optimized || isSSR);
6242
6310
  const setupResult = isStateful ? setupStatefulComponent(instance, isSSR) : void 0;
6243
6311
  isSSR && setInSSRSetupState(false);
6244
6312
  return setupResult;
@@ -6447,7 +6515,7 @@ function isMemoSame(cached, memo) {
6447
6515
  return true;
6448
6516
  }
6449
6517
 
6450
- const version = "3.5.12";
6518
+ const version = "3.5.14";
6451
6519
  const warn$1 = shared.NOOP;
6452
6520
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
6453
6521
  const devtools = void 0;
@@ -1,4 +1,4 @@
1
- import { computed as computed$1, Ref, OnCleanup, WatchStopHandle, ShallowUnwrapRef, UnwrapNestedRefs, DebuggerEvent, ComputedGetter, WritableComputedOptions, WatchCallback, ReactiveEffect, DebuggerOptions, WatchEffect, WatchHandle, WatchSource, ReactiveMarker, ShallowRef, WatchErrorCodes, reactive } from '@vue/reactivity';
1
+ import { computed as computed$1, Ref, OnCleanup, WatchStopHandle, ShallowUnwrapRef, UnwrapNestedRefs, DebuggerEvent, ComputedGetter, WritableComputedOptions, WatchCallback, ReactiveEffect, DebuggerOptions, WatchSource, WatchHandle, ReactiveMarker, WatchEffect, ShallowRef, WatchErrorCodes, reactive } from '@vue/reactivity';
2
2
  export { ComputedGetter, ComputedRef, ComputedSetter, CustomRefFactory, DebuggerEvent, DebuggerEventExtraInfo, DebuggerOptions, DeepReadonly, EffectScheduler, EffectScope, MaybeRef, MaybeRefOrGetter, Raw, Reactive, ReactiveEffect, ReactiveEffectOptions, ReactiveEffectRunner, ReactiveFlags, Ref, ShallowReactive, ShallowRef, ShallowUnwrapRef, ToRef, ToRefs, TrackOpTypes, TriggerOpTypes, UnwrapNestedRefs, UnwrapRef, WatchCallback, WatchEffect, WatchHandle, WatchSource, WatchStopHandle, WritableComputedOptions, WritableComputedRef, customRef, effect, effectScope, getCurrentScope, getCurrentWatcher, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, onWatcherCleanup, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, toValue, triggerRef, unref } from '@vue/reactivity';
3
3
  import { IfAny, Prettify, LooseRequired, UnionToIntersection, OverloadParameters, IsKeyValues } from '@vue/shared';
4
4
  export { camelize, capitalize, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from '@vue/shared';
@@ -223,7 +223,7 @@ type BooleanKey<T, K extends keyof T = keyof T> = K extends any ? [T[K]] extends
223
223
  export declare function defineEmits<EE extends string = string>(emitOptions: EE[]): EmitFn<EE[]>;
224
224
  export declare function defineEmits<E extends EmitsOptions = EmitsOptions>(emitOptions: E): EmitFn<E>;
225
225
  export declare function defineEmits<T extends ComponentTypeEmits>(): T extends (...args: any[]) => any ? T : ShortEmits<T>;
226
- export type ComponentTypeEmits = ((...args: any[]) => any) | Record<string, any[]>;
226
+ export type ComponentTypeEmits = ((...args: any[]) => any) | Record<string, any>;
227
227
  type RecordToUnion<T extends Record<string, any>> = T[keyof T];
228
228
  type ShortEmits<T extends Record<string, any>> = UnionToIntersection<RecordToUnion<{
229
229
  [K in keyof T]: (evt: K, ...args: T[K]) => void;
@@ -417,7 +417,7 @@ export interface ObjectDirective<HostElement = any, Value = any, Modifiers exten
417
417
  }
418
418
  export type FunctionDirective<HostElement = any, V = any, Modifiers extends string = string, Arg extends string = string> = DirectiveHook<HostElement, any, V, Modifiers, Arg>;
419
419
  export type Directive<HostElement = any, Value = any, Modifiers extends string = string, Arg extends string = string> = ObjectDirective<HostElement, Value, Modifiers, Arg> | FunctionDirective<HostElement, Value, Modifiers, Arg>;
420
- type DirectiveModifiers<K extends string = string> = Record<K, boolean>;
420
+ type DirectiveModifiers<K extends string = string> = Partial<Record<K, boolean>>;
421
421
  export type DirectiveArguments = Array<[Directive | undefined] | [Directive | undefined, any] | [Directive | undefined, any, string] | [Directive | undefined, any, string | undefined, DirectiveModifiers]>;
422
422
  /**
423
423
  * Adds directives to a VNode.
@@ -872,20 +872,20 @@ interface LegacyOptions<Props, D, C extends ComputedOptions, M extends MethodOpt
872
872
  filters?: Record<string, Function>;
873
873
  mixins?: Mixin[];
874
874
  extends?: Extends;
875
- beforeCreate?(): void;
876
- created?(): void;
877
- beforeMount?(): void;
878
- mounted?(): void;
879
- beforeUpdate?(): void;
880
- updated?(): void;
881
- activated?(): void;
882
- deactivated?(): void;
875
+ beforeCreate?(): any;
876
+ created?(): any;
877
+ beforeMount?(): any;
878
+ mounted?(): any;
879
+ beforeUpdate?(): any;
880
+ updated?(): any;
881
+ activated?(): any;
882
+ deactivated?(): any;
883
883
  /** @deprecated use `beforeUnmount` instead */
884
- beforeDestroy?(): void;
885
- beforeUnmount?(): void;
884
+ beforeDestroy?(): any;
885
+ beforeUnmount?(): any;
886
886
  /** @deprecated use `unmounted` instead */
887
- destroyed?(): void;
888
- unmounted?(): void;
887
+ destroyed?(): any;
888
+ unmounted?(): any;
889
889
  renderTracked?: DebuggerHook;
890
890
  renderTriggered?: DebuggerHook;
891
891
  errorCaptured?: ErrorCapturedHook;
@@ -1017,8 +1017,8 @@ InjectOptions, InjectKeys, Slots, LocalComponents, Directives, Exposed, Provide>
1017
1017
  export interface App<HostElement = any> {
1018
1018
  version: string;
1019
1019
  config: AppConfig;
1020
- use<Options extends unknown[]>(plugin: Plugin<Options>, ...options: Options): this;
1021
- use<Options>(plugin: Plugin<Options>, options: Options): this;
1020
+ use<Options extends unknown[]>(plugin: Plugin<Options>, ...options: NoInfer<Options>): this;
1021
+ use<Options>(plugin: Plugin<Options>, options: NoInfer<Options>): this;
1022
1022
  mixin(mixin: ComponentOptions): this;
1023
1023
  component(name: string): Component | undefined;
1024
1024
  component<T extends Component | DefineComponent>(name: string, component: T): this;
@@ -1105,7 +1105,7 @@ export type ObjectPlugin<Options = any[]> = {
1105
1105
  install: PluginInstallFunction<Options>;
1106
1106
  };
1107
1107
  export type FunctionPlugin<Options = any[]> = PluginInstallFunction<Options> & Partial<ObjectPlugin<Options>>;
1108
- export type Plugin<Options = any[]> = FunctionPlugin<Options> | ObjectPlugin<Options>;
1108
+ export type Plugin<Options = any[], P extends unknown[] = Options extends unknown[] ? Options : [Options]> = FunctionPlugin<P> | ObjectPlugin<P>;
1109
1109
  export type CreateAppFunction<HostElement> = (rootComponent: Component, rootProps?: Data | null) => App<HostElement>;
1110
1110
 
1111
1111
  type TeleportVNode = VNode<RendererNode, RendererElement, TeleportProps>;
@@ -1251,7 +1251,7 @@ export declare function openBlock(disableTracking?: boolean): void;
1251
1251
  *
1252
1252
  * ``` js
1253
1253
  * _cache[1] || (
1254
- * setBlockTracking(-1),
1254
+ * setBlockTracking(-1, true),
1255
1255
  * _cache[1] = createVNode(...),
1256
1256
  * setBlockTracking(1),
1257
1257
  * _cache[1]
@@ -1260,7 +1260,7 @@ export declare function openBlock(disableTracking?: boolean): void;
1260
1260
  *
1261
1261
  * @private
1262
1262
  */
1263
- export declare function setBlockTracking(value: number): void;
1263
+ export declare function setBlockTracking(value: number, inVOnce?: boolean): void;
1264
1264
  /**
1265
1265
  * @private
1266
1266
  */
@@ -1525,7 +1525,8 @@ export declare function defineAsyncComponent<T extends Component = {
1525
1525
 
1526
1526
  export declare function useModel<M extends PropertyKey, T extends Record<string, any>, K extends keyof T, G = T[K], S = T[K]>(props: T, name: K, options?: DefineModelOptions<T[K], G, S>): ModelRef<T[K], M, G, S>;
1527
1527
 
1528
- export declare function useTemplateRef<T = unknown, Keys extends string = string>(key: Keys): Readonly<ShallowRef<T | null>>;
1528
+ export type TemplateRef<T = unknown> = Readonly<ShallowRef<T | null>>;
1529
+ export declare function useTemplateRef<T = unknown, Keys extends string = string>(key: Keys): TemplateRef<T>;
1529
1530
 
1530
1531
  export declare function useId(): string;
1531
1532
 
@@ -1798,7 +1799,8 @@ declare module '@vue/reactivity' {
1798
1799
 
1799
1800
  export declare const DeprecationTypes: typeof DeprecationTypes$1;
1800
1801
 
1801
- export { type WatchEffectOptions as WatchOptionsBase, createBaseVNode as createElementVNode, };
1802
+ export { createBaseVNode as createElementVNode, };
1803
+ export type { WatchEffectOptions as WatchOptionsBase };
1802
1804
  // Note: this file is auto concatenated to the end of the bundled d.ts during
1803
1805
  // build.
1804
1806
 
@@ -1,11 +1,11 @@
1
1
  /**
2
- * @vue/runtime-core v3.5.12
2
+ * @vue/runtime-core v3.5.14
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
6
- import { pauseTracking, resetTracking, isRef, toRaw, traverse, shallowRef, readonly, isReactive, ref, isShallow, shallowReadArray, toReactive, shallowReadonly, track, reactive, shallowReactive, trigger, ReactiveEffect, watch as watch$1, customRef, isProxy, proxyRefs, markRaw, EffectScope, computed as computed$1, isReadonly } from '@vue/reactivity';
6
+ import { pauseTracking, resetTracking, isRef, toRaw, traverse, shallowRef, readonly, isReactive, ref, isShallow, isReadonly, shallowReadArray, toReadonly, toReactive, shallowReadonly, track, reactive, shallowReactive, trigger, ReactiveEffect, watch as watch$1, customRef, isProxy, proxyRefs, markRaw, EffectScope, computed as computed$1 } from '@vue/reactivity';
7
7
  export { EffectScope, ReactiveEffect, TrackOpTypes, TriggerOpTypes, customRef, effect, effectScope, getCurrentScope, getCurrentWatcher, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, onWatcherCleanup, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, toValue, triggerRef, unref } from '@vue/reactivity';
8
- import { isString, isFunction, isPromise, isArray, EMPTY_OBJ, NOOP, getGlobalThis, extend, isBuiltInDirective, hasOwn, remove, def, isOn, isReservedProp, normalizeClass, stringifyStyle, normalizeStyle, isKnownSvgAttr, isBooleanAttr, isKnownHtmlAttr, includeBooleanAttr, isRenderableAttrValue, getEscapedCssVarName, isObject, isRegExp, invokeArrayFns, toHandlerKey, capitalize, camelize, isSymbol, isGloballyAllowed, NO, hyphenate, EMPTY_ARR, toRawType, makeMap, hasChanged, looseToNumber, isModelListener, toNumber } from '@vue/shared';
8
+ import { isString, isFunction, EMPTY_OBJ, isPromise, isArray, NOOP, getGlobalThis, extend, isBuiltInDirective, hasOwn, remove, def, isOn, isReservedProp, normalizeClass, stringifyStyle, normalizeStyle, isKnownSvgAttr, isBooleanAttr, isKnownHtmlAttr, includeBooleanAttr, isRenderableAttrValue, getEscapedCssVarName, isObject, isRegExp, invokeArrayFns, toHandlerKey, camelize, capitalize, isSymbol, isGloballyAllowed, NO, EMPTY_ARR, hyphenate, makeMap, toRawType, hasChanged, looseToNumber, isModelListener, toNumber } from '@vue/shared';
9
9
  export { camelize, capitalize, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from '@vue/shared';
10
10
 
11
11
  const stack = [];
@@ -351,11 +351,11 @@ function flushPreFlushCbs(instance, seen, i = flushIndex + 1) {
351
351
  queue.splice(i, 1);
352
352
  i--;
353
353
  if (cb.flags & 4) {
354
- cb.flags &= ~1;
354
+ cb.flags &= -2;
355
355
  }
356
356
  cb();
357
357
  if (!(cb.flags & 4)) {
358
- cb.flags &= ~1;
358
+ cb.flags &= -2;
359
359
  }
360
360
  }
361
361
  }
@@ -380,10 +380,10 @@ function flushPostFlushCbs(seen) {
380
380
  continue;
381
381
  }
382
382
  if (cb.flags & 4) {
383
- cb.flags &= ~1;
383
+ cb.flags &= -2;
384
384
  }
385
385
  if (!(cb.flags & 8)) cb();
386
- cb.flags &= ~1;
386
+ cb.flags &= -2;
387
387
  }
388
388
  activePostFlushCbs = null;
389
389
  postFlushIndex = 0;
@@ -419,7 +419,7 @@ function flushJobs(seen) {
419
419
  for (; flushIndex < queue.length; flushIndex++) {
420
420
  const job = queue[flushIndex];
421
421
  if (job) {
422
- job.flags &= ~1;
422
+ job.flags &= -2;
423
423
  }
424
424
  }
425
425
  flushIndex = -1;
@@ -859,11 +859,32 @@ const TeleportImpl = {
859
859
  updateCssVars(n2, true);
860
860
  }
861
861
  if (isTeleportDeferred(n2.props)) {
862
- queuePostRenderEffect(mountToTarget, parentSuspense);
862
+ queuePostRenderEffect(() => {
863
+ mountToTarget();
864
+ n2.el.__isMounted = true;
865
+ }, parentSuspense);
863
866
  } else {
864
867
  mountToTarget();
865
868
  }
866
869
  } else {
870
+ if (isTeleportDeferred(n2.props) && !n1.el.__isMounted) {
871
+ queuePostRenderEffect(() => {
872
+ TeleportImpl.process(
873
+ n1,
874
+ n2,
875
+ container,
876
+ anchor,
877
+ parentComponent,
878
+ parentSuspense,
879
+ namespace,
880
+ slotScopeIds,
881
+ optimized,
882
+ internals
883
+ );
884
+ delete n1.el.__isMounted;
885
+ }, parentSuspense);
886
+ return;
887
+ }
867
888
  n2.el = n1.el;
868
889
  n2.targetStart = n1.targetStart;
869
890
  const mainAnchor = n2.anchor = n1.anchor;
@@ -887,7 +908,7 @@ const TeleportImpl = {
887
908
  namespace,
888
909
  slotScopeIds
889
910
  );
890
- traverseStaticChildren(n1, n2, true);
911
+ traverseStaticChildren(n1, n2, !!!(process.env.NODE_ENV !== "production"));
891
912
  } else if (!optimized) {
892
913
  patchChildren(
893
914
  n1,
@@ -1169,10 +1190,9 @@ const BaseTransitionImpl = {
1169
1190
  if (innerChild.type !== Comment) {
1170
1191
  setTransitionHooks(innerChild, enterHooks);
1171
1192
  }
1172
- const oldChild = instance.subTree;
1173
- const oldInnerChild = oldChild && getInnerChild$1(oldChild);
1193
+ let oldInnerChild = instance.subTree && getInnerChild$1(instance.subTree);
1174
1194
  if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(innerChild, oldInnerChild) && recursiveGetSubtree(instance).type !== Comment) {
1175
- const leavingHooks = resolveTransitionHooks(
1195
+ let leavingHooks = resolveTransitionHooks(
1176
1196
  oldInnerChild,
1177
1197
  rawProps,
1178
1198
  state,
@@ -1187,6 +1207,7 @@ const BaseTransitionImpl = {
1187
1207
  instance.update();
1188
1208
  }
1189
1209
  delete leavingHooks.afterLeave;
1210
+ oldInnerChild = void 0;
1190
1211
  };
1191
1212
  return emptyPlaceholder(child);
1192
1213
  } else if (mode === "in-out" && innerChild.type !== Comment) {
@@ -1200,10 +1221,19 @@ const BaseTransitionImpl = {
1200
1221
  earlyRemove();
1201
1222
  el[leaveCbKey] = void 0;
1202
1223
  delete enterHooks.delayedLeave;
1224
+ oldInnerChild = void 0;
1225
+ };
1226
+ enterHooks.delayedLeave = () => {
1227
+ delayedLeave();
1228
+ delete enterHooks.delayedLeave;
1229
+ oldInnerChild = void 0;
1203
1230
  };
1204
- enterHooks.delayedLeave = delayedLeave;
1205
1231
  };
1232
+ } else {
1233
+ oldInnerChild = void 0;
1206
1234
  }
1235
+ } else if (oldInnerChild) {
1236
+ oldInnerChild = void 0;
1207
1237
  }
1208
1238
  return child;
1209
1239
  };
@@ -1395,7 +1425,7 @@ function getInnerChild$1(vnode) {
1395
1425
  }
1396
1426
  return vnode;
1397
1427
  }
1398
- if (!!(process.env.NODE_ENV !== "production") && vnode.component) {
1428
+ if (vnode.component) {
1399
1429
  return vnode.component.subTree;
1400
1430
  }
1401
1431
  const { shapeFlag, children } = vnode;
@@ -1509,6 +1539,9 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
1509
1539
  return;
1510
1540
  }
1511
1541
  if (isAsyncWrapper(vnode) && !isUnmount) {
1542
+ if (vnode.shapeFlag & 512 && vnode.type.__asyncResolved && vnode.component.subTree.component) {
1543
+ setRef(rawRef, oldRawRef, parentSuspense, vnode.component.subTree);
1544
+ }
1512
1545
  return;
1513
1546
  }
1514
1547
  const refValue = vnode.shapeFlag & 4 ? getComponentPublicInstance(vnode.component) : vnode.el;
@@ -1773,7 +1806,7 @@ function createHydrationFunctions(rendererInternals) {
1773
1806
  getContainerType(container),
1774
1807
  optimized
1775
1808
  );
1776
- if (isAsyncWrapper(vnode)) {
1809
+ if (isAsyncWrapper(vnode) && !vnode.type.__asyncResolved) {
1777
1810
  let subTree;
1778
1811
  if (isFragmentStart) {
1779
1812
  subTree = createVNode(Fragment);
@@ -2053,6 +2086,10 @@ Server rendered element contains fewer child nodes than client vdom.`
2053
2086
  getContainerType(container),
2054
2087
  slotScopeIds
2055
2088
  );
2089
+ if (parentComponent) {
2090
+ parentComponent.vnode.el = vnode.el;
2091
+ updateHOCHostEl(parentComponent, vnode.el);
2092
+ }
2056
2093
  return next;
2057
2094
  };
2058
2095
  const locateClosingAnchor = (node, open = "[", close = "]") => {
@@ -2568,6 +2605,9 @@ const KeepAliveImpl = {
2568
2605
  if (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_DEVTOOLS__) {
2569
2606
  devtoolsComponentAdded(instance2);
2570
2607
  }
2608
+ if (!!(process.env.NODE_ENV !== "production") && true) {
2609
+ instance2.__keepAliveStorageContainer = storageContainer;
2610
+ }
2571
2611
  };
2572
2612
  function unmount(vnode) {
2573
2613
  resetShapeFlag(vnode);
@@ -2655,7 +2695,7 @@ const KeepAliveImpl = {
2655
2695
  );
2656
2696
  const { include, exclude, max } = props;
2657
2697
  if (include && (!name || !matches(include, name)) || exclude && name && matches(exclude, name)) {
2658
- vnode.shapeFlag &= ~256;
2698
+ vnode.shapeFlag &= -257;
2659
2699
  current = vnode;
2660
2700
  return rawVNode;
2661
2701
  }
@@ -2742,8 +2782,8 @@ function injectToKeepAliveRoot(hook, type, target, keepAliveRoot) {
2742
2782
  }, target);
2743
2783
  }
2744
2784
  function resetShapeFlag(vnode) {
2745
- vnode.shapeFlag &= ~256;
2746
- vnode.shapeFlag &= ~512;
2785
+ vnode.shapeFlag &= -257;
2786
+ vnode.shapeFlag &= -513;
2747
2787
  }
2748
2788
  function getInnerChild(vnode) {
2749
2789
  return vnode.shapeFlag & 128 ? vnode.ssContent : vnode;
@@ -2858,14 +2898,16 @@ function renderList(source, renderItem, cache, index) {
2858
2898
  if (sourceIsArray || isString(source)) {
2859
2899
  const sourceIsReactiveArray = sourceIsArray && isReactive(source);
2860
2900
  let needsWrap = false;
2901
+ let isReadonlySource = false;
2861
2902
  if (sourceIsReactiveArray) {
2862
2903
  needsWrap = !isShallow(source);
2904
+ isReadonlySource = isReadonly(source);
2863
2905
  source = shallowReadArray(source);
2864
2906
  }
2865
2907
  ret = new Array(source.length);
2866
2908
  for (let i = 0, l = source.length; i < l; i++) {
2867
2909
  ret[i] = renderItem(
2868
- needsWrap ? toReactive(source[i]) : source[i],
2910
+ needsWrap ? isReadonlySource ? toReadonly(toReactive(source[i])) : toReactive(source[i]) : source[i],
2869
2911
  i,
2870
2912
  void 0,
2871
2913
  cached && cached[i]
@@ -3891,11 +3933,9 @@ function createAppAPI(render, hydrate) {
3891
3933
  }
3892
3934
  if (!!(process.env.NODE_ENV !== "production")) {
3893
3935
  context.reload = () => {
3894
- render(
3895
- cloneVNode(vnode),
3896
- rootContainer,
3897
- namespace
3898
- );
3936
+ const cloned = cloneVNode(vnode);
3937
+ cloned.el = null;
3938
+ render(cloned, rootContainer, namespace);
3899
3939
  };
3900
3940
  }
3901
3941
  if (isHydrate && hydrate) {
@@ -4418,7 +4458,7 @@ const normalizeSlot = (key, rawSlot, ctx) => {
4418
4458
  return rawSlot;
4419
4459
  }
4420
4460
  const normalized = withCtx((...args) => {
4421
- if (!!(process.env.NODE_ENV !== "production") && currentInstance && (!ctx || ctx.root === currentInstance.root)) {
4461
+ if (!!(process.env.NODE_ENV !== "production") && currentInstance && !(ctx === null && currentRenderingInstance) && !(ctx && ctx.root !== currentInstance.root)) {
4422
4462
  warn$1(
4423
4463
  `Slot "${key}" invoked outside of the render function: this will not track dependencies used in the slot. Invoke the slot function inside the render function instead.`
4424
4464
  );
@@ -4457,7 +4497,7 @@ const normalizeVNodeSlots = (instance, children) => {
4457
4497
  };
4458
4498
  const assignSlots = (slots, children, optimized) => {
4459
4499
  for (const key in children) {
4460
- if (optimized || key !== "_") {
4500
+ if (optimized || !isInternalKey(key)) {
4461
4501
  slots[key] = children[key];
4462
4502
  }
4463
4503
  }
@@ -5181,8 +5221,8 @@ function baseCreateRenderer(options, createHydrationFns) {
5181
5221
  endMeasure(instance, `init`);
5182
5222
  }
5183
5223
  }
5224
+ if (!!(process.env.NODE_ENV !== "production") && isHmrUpdating) initialVNode.el = null;
5184
5225
  if (instance.asyncDep) {
5185
- if (!!(process.env.NODE_ENV !== "production") && isHmrUpdating) initialVNode.el = null;
5186
5226
  parentSuspense && parentSuspense.registerDep(instance, setupRenderEffect, optimized);
5187
5227
  if (!initialVNode.el) {
5188
5228
  const placeholder = instance.subTree = createVNode(Comment);
@@ -5744,7 +5784,13 @@ function baseCreateRenderer(options, createHydrationFns) {
5744
5784
  queuePostRenderEffect(() => transition.enter(el), parentSuspense);
5745
5785
  } else {
5746
5786
  const { leave, delayLeave, afterLeave } = transition;
5747
- const remove2 = () => hostInsert(el, container, anchor);
5787
+ const remove2 = () => {
5788
+ if (vnode.ctx.isUnmounted) {
5789
+ hostRemove(el);
5790
+ } else {
5791
+ hostInsert(el, container, anchor);
5792
+ }
5793
+ };
5748
5794
  const performLeave = () => {
5749
5795
  leave(el, () => {
5750
5796
  remove2();
@@ -5777,7 +5823,9 @@ function baseCreateRenderer(options, createHydrationFns) {
5777
5823
  optimized = false;
5778
5824
  }
5779
5825
  if (ref != null) {
5826
+ pauseTracking();
5780
5827
  setRef(ref, null, parentSuspense, vnode, true);
5828
+ resetTracking();
5781
5829
  }
5782
5830
  if (cacheIndex != null) {
5783
5831
  parentComponent.renderCache[cacheIndex] = void 0;
@@ -5889,12 +5937,27 @@ function baseCreateRenderer(options, createHydrationFns) {
5889
5937
  if (!!(process.env.NODE_ENV !== "production") && instance.type.__hmrId) {
5890
5938
  unregisterHMR(instance);
5891
5939
  }
5892
- const { bum, scope, job, subTree, um, m, a } = instance;
5940
+ const {
5941
+ bum,
5942
+ scope,
5943
+ job,
5944
+ subTree,
5945
+ um,
5946
+ m,
5947
+ a,
5948
+ parent,
5949
+ slots: { __: slotCacheKeys }
5950
+ } = instance;
5893
5951
  invalidateMount(m);
5894
5952
  invalidateMount(a);
5895
5953
  if (bum) {
5896
5954
  invokeArrayFns(bum);
5897
5955
  }
5956
+ if (parent && isArray(slotCacheKeys)) {
5957
+ slotCacheKeys.forEach((v) => {
5958
+ parent.renderCache[v] = void 0;
5959
+ });
5960
+ }
5898
5961
  scope.stop();
5899
5962
  if (job) {
5900
5963
  job.flags |= 8;
@@ -5990,8 +6053,8 @@ function toggleRecurse({ effect, job }, allowed) {
5990
6053
  effect.flags |= 32;
5991
6054
  job.flags |= 4;
5992
6055
  } else {
5993
- effect.flags &= ~32;
5994
- job.flags &= ~4;
6056
+ effect.flags &= -33;
6057
+ job.flags &= -5;
5995
6058
  }
5996
6059
  }
5997
6060
  function needTransition(parentSuspense, transition) {
@@ -6015,9 +6078,12 @@ function traverseStaticChildren(n1, n2, shallow = false) {
6015
6078
  if (c2.type === Text) {
6016
6079
  c2.el = c1.el;
6017
6080
  }
6018
- if (!!(process.env.NODE_ENV !== "production") && c2.type === Comment && !c2.el) {
6081
+ if (c2.type === Comment && !c2.el) {
6019
6082
  c2.el = c1.el;
6020
6083
  }
6084
+ if (!!(process.env.NODE_ENV !== "production")) {
6085
+ c2.el && (c2.el.__vnode = c2);
6086
+ }
6021
6087
  }
6022
6088
  }
6023
6089
  }
@@ -6534,7 +6600,7 @@ function renderComponentRoot(instance) {
6534
6600
  }
6535
6601
  if (extraAttrs.length) {
6536
6602
  warn$1(
6537
- `Extraneous non-props attributes (${extraAttrs.join(", ")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes.`
6603
+ `Extraneous non-props attributes (${extraAttrs.join(", ")}) were passed to component but could not be automatically inherited because component renders fragment or text or teleport root nodes.`
6538
6604
  );
6539
6605
  }
6540
6606
  if (eventAttrs.length) {
@@ -7317,9 +7383,9 @@ function closeBlock() {
7317
7383
  currentBlock = blockStack[blockStack.length - 1] || null;
7318
7384
  }
7319
7385
  let isBlockTreeEnabled = 1;
7320
- function setBlockTracking(value) {
7386
+ function setBlockTracking(value, inVOnce = false) {
7321
7387
  isBlockTreeEnabled += value;
7322
- if (value < 0 && currentBlock) {
7388
+ if (value < 0 && currentBlock && inVOnce) {
7323
7389
  currentBlock.hasOnce = true;
7324
7390
  }
7325
7391
  }
@@ -7363,8 +7429,8 @@ function isSameVNodeType(n1, n2) {
7363
7429
  if (!!(process.env.NODE_ENV !== "production") && n2.shapeFlag & 6 && n1.component) {
7364
7430
  const dirtyInstances = hmrDirtyComponents.get(n2.type);
7365
7431
  if (dirtyInstances && dirtyInstances.has(n1.component)) {
7366
- n1.shapeFlag &= ~256;
7367
- n2.shapeFlag &= ~512;
7432
+ n1.shapeFlag &= -257;
7433
+ n2.shapeFlag &= -513;
7368
7434
  return false;
7369
7435
  }
7370
7436
  }
@@ -7827,7 +7893,7 @@ function setupComponent(instance, isSSR = false, optimized = false) {
7827
7893
  const { props, children } = instance.vnode;
7828
7894
  const isStateful = isStatefulComponent(instance);
7829
7895
  initProps(instance, props, isStateful, isSSR);
7830
- initSlots(instance, children, optimized);
7896
+ initSlots(instance, children, optimized || isSSR);
7831
7897
  const setupResult = isStateful ? setupStatefulComponent(instance, isSSR) : void 0;
7832
7898
  isSSR && setInSSRSetupState(false);
7833
7899
  return setupResult;
@@ -7948,7 +8014,7 @@ function finishComponentSetup(instance, isSSR, skipOptions) {
7948
8014
  const Component = instance.type;
7949
8015
  if (!instance.render) {
7950
8016
  if (!isSSR && compile && !Component.render) {
7951
- const template = Component.template || resolveMergedOptions(instance).template;
8017
+ const template = Component.template || __VUE_OPTIONS_API__ && resolveMergedOptions(instance).template;
7952
8018
  if (template) {
7953
8019
  if (!!(process.env.NODE_ENV !== "production")) {
7954
8020
  startMeasure(instance, `compile`);
@@ -8170,13 +8236,15 @@ function initCustomFormatter() {
8170
8236
  if (obj.__isVue) {
8171
8237
  return ["div", vueStyle, `VueInstance`];
8172
8238
  } else if (isRef(obj)) {
8239
+ pauseTracking();
8240
+ const value = obj.value;
8241
+ resetTracking();
8173
8242
  return [
8174
8243
  "div",
8175
8244
  {},
8176
8245
  ["span", vueStyle, genRefFlag(obj)],
8177
8246
  "<",
8178
- // avoid debugger accessing value affecting behavior
8179
- formatValue("_value" in obj ? obj._value : obj),
8247
+ formatValue(value),
8180
8248
  `>`
8181
8249
  ];
8182
8250
  } else if (isReactive(obj)) {
@@ -8357,7 +8425,7 @@ function isMemoSame(cached, memo) {
8357
8425
  return true;
8358
8426
  }
8359
8427
 
8360
- const version = "3.5.12";
8428
+ const version = "3.5.14";
8361
8429
  const warn = !!(process.env.NODE_ENV !== "production") ? warn$1 : NOOP;
8362
8430
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
8363
8431
  const devtools = !!(process.env.NODE_ENV !== "production") || true ? devtools$1 : void 0;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vue/runtime-core",
3
- "version": "3.5.12",
3
+ "version": "3.5.14",
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.5.12",
50
- "@vue/reactivity": "3.5.12"
49
+ "@vue/shared": "3.5.14",
50
+ "@vue/reactivity": "3.5.14"
51
51
  }
52
52
  }