@vue/runtime-core 3.5.0 → 3.5.2

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.0
2
+ * @vue/runtime-core v3.5.2
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -312,9 +312,7 @@ function queueJob(job) {
312
312
  } else {
313
313
  queue.splice(findInsertionIndex(jobId), 0, job);
314
314
  }
315
- if (!(job.flags & 4)) {
316
- job.flags |= 1;
317
- }
315
+ job.flags |= 1;
318
316
  queueFlush();
319
317
  }
320
318
  }
@@ -330,9 +328,7 @@ function queuePostFlushCb(cb) {
330
328
  activePostFlushCbs.splice(postFlushIndex + 1, 0, cb);
331
329
  } else if (!(cb.flags & 1)) {
332
330
  pendingPostFlushCbs.push(cb);
333
- if (!(cb.flags & 4)) {
334
- cb.flags |= 1;
335
- }
331
+ cb.flags |= 1;
336
332
  }
337
333
  } else {
338
334
  pendingPostFlushCbs.push(...cb);
@@ -354,6 +350,9 @@ function flushPreFlushCbs(instance, seen, i = isFlushing ? flushIndex + 1 : 0) {
354
350
  }
355
351
  queue.splice(i, 1);
356
352
  i--;
353
+ if (cb.flags & 4) {
354
+ cb.flags &= ~1;
355
+ }
357
356
  cb();
358
357
  cb.flags &= ~1;
359
358
  }
@@ -378,6 +377,9 @@ function flushPostFlushCbs(seen) {
378
377
  if (checkRecursiveUpdates(seen, cb)) {
379
378
  continue;
380
379
  }
380
+ if (cb.flags & 4) {
381
+ cb.flags &= ~1;
382
+ }
381
383
  if (!(cb.flags & 8)) cb();
382
384
  cb.flags &= ~1;
383
385
  }
@@ -400,6 +402,9 @@ function flushJobs(seen) {
400
402
  if (check(job)) {
401
403
  continue;
402
404
  }
405
+ if (job.flags & 4) {
406
+ job.flags &= ~1;
407
+ }
403
408
  callWithErrorHandling(
404
409
  job,
405
410
  job.i,
@@ -409,6 +414,12 @@ function flushJobs(seen) {
409
414
  }
410
415
  }
411
416
  } finally {
417
+ for (; flushIndex < queue.length; flushIndex++) {
418
+ const job = queue[flushIndex];
419
+ if (job) {
420
+ job.flags &= ~1;
421
+ }
422
+ }
412
423
  flushIndex = 0;
413
424
  queue.length = 0;
414
425
  flushPostFlushCbs(seen);
@@ -1145,7 +1156,9 @@ const BaseTransitionImpl = {
1145
1156
  // #11061, ensure enterHooks is fresh after clone
1146
1157
  (hooks) => enterHooks = hooks
1147
1158
  );
1148
- setTransitionHooks(innerChild, enterHooks);
1159
+ if (innerChild.type !== Comment) {
1160
+ setTransitionHooks(innerChild, enterHooks);
1161
+ }
1149
1162
  const oldChild = instance.subTree;
1150
1163
  const oldInnerChild = oldChild && getInnerChild$1(oldChild);
1151
1164
  if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(innerChild, oldInnerChild) && recursiveGetSubtree(instance).type !== Comment) {
@@ -1163,6 +1176,7 @@ const BaseTransitionImpl = {
1163
1176
  if (!(instance.job.flags & 8)) {
1164
1177
  instance.update();
1165
1178
  }
1179
+ delete leavingHooks.afterLeave;
1166
1180
  };
1167
1181
  return emptyPlaceholder(child);
1168
1182
  } else if (mode === "in-out" && innerChild.type !== Comment) {
@@ -1440,6 +1454,34 @@ function markAsyncBoundary(instance) {
1440
1454
  instance.ids = [instance.ids[0] + instance.ids[2]++ + "-", 0, 0];
1441
1455
  }
1442
1456
 
1457
+ const knownTemplateRefs = /* @__PURE__ */ new WeakSet();
1458
+ function useTemplateRef(key) {
1459
+ const i = getCurrentInstance();
1460
+ const r = reactivity.shallowRef(null);
1461
+ if (i) {
1462
+ const refs = i.refs === shared.EMPTY_OBJ ? i.refs = {} : i.refs;
1463
+ let desc;
1464
+ if ((desc = Object.getOwnPropertyDescriptor(refs, key)) && !desc.configurable) {
1465
+ warn$1(`useTemplateRef('${key}') already exists.`);
1466
+ } else {
1467
+ Object.defineProperty(refs, key, {
1468
+ enumerable: true,
1469
+ get: () => r.value,
1470
+ set: (val) => r.value = val
1471
+ });
1472
+ }
1473
+ } else {
1474
+ warn$1(
1475
+ `useTemplateRef() is called when there is no active component instance to be associated with.`
1476
+ );
1477
+ }
1478
+ const ret = reactivity.readonly(r) ;
1479
+ {
1480
+ knownTemplateRefs.add(ret);
1481
+ }
1482
+ return ret;
1483
+ }
1484
+
1443
1485
  function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
1444
1486
  if (shared.isArray(rawRef)) {
1445
1487
  rawRef.forEach(
@@ -1468,10 +1510,17 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
1468
1510
  const oldRef = oldRawRef && oldRawRef.r;
1469
1511
  const refs = owner.refs === shared.EMPTY_OBJ ? owner.refs = {} : owner.refs;
1470
1512
  const setupState = owner.setupState;
1513
+ const rawSetupState = reactivity.toRaw(setupState);
1514
+ const canSetSetupRef = setupState === shared.EMPTY_OBJ ? () => false : (key) => {
1515
+ if (knownTemplateRefs.has(rawSetupState[key])) {
1516
+ return false;
1517
+ }
1518
+ return shared.hasOwn(rawSetupState, key);
1519
+ };
1471
1520
  if (oldRef != null && oldRef !== ref) {
1472
1521
  if (shared.isString(oldRef)) {
1473
1522
  refs[oldRef] = null;
1474
- if (shared.hasOwn(setupState, oldRef)) {
1523
+ if (canSetSetupRef(oldRef)) {
1475
1524
  setupState[oldRef] = null;
1476
1525
  }
1477
1526
  } else if (reactivity.isRef(oldRef)) {
@@ -1486,14 +1535,14 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
1486
1535
  if (_isString || _isRef) {
1487
1536
  const doSet = () => {
1488
1537
  if (rawRef.f) {
1489
- const existing = _isString ? shared.hasOwn(setupState, ref) ? setupState[ref] : refs[ref] : ref.value;
1538
+ const existing = _isString ? canSetSetupRef(ref) ? setupState[ref] : refs[ref] : ref.value;
1490
1539
  if (isUnmount) {
1491
1540
  shared.isArray(existing) && shared.remove(existing, refValue);
1492
1541
  } else {
1493
1542
  if (!shared.isArray(existing)) {
1494
1543
  if (_isString) {
1495
1544
  refs[ref] = [refValue];
1496
- if (shared.hasOwn(setupState, ref)) {
1545
+ if (canSetSetupRef(ref)) {
1497
1546
  setupState[ref] = refs[ref];
1498
1547
  }
1499
1548
  } else {
@@ -1506,7 +1555,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
1506
1555
  }
1507
1556
  } else if (_isString) {
1508
1557
  refs[ref] = value;
1509
- if (shared.hasOwn(setupState, ref)) {
1558
+ if (canSetSetupRef(ref)) {
1510
1559
  setupState[ref] = value;
1511
1560
  }
1512
1561
  } else if (_isRef) {
@@ -2524,7 +2573,7 @@ const KeepAliveImpl = {
2524
2573
  return () => {
2525
2574
  pendingCacheKey = null;
2526
2575
  if (!slots.default) {
2527
- return null;
2576
+ return current = null;
2528
2577
  }
2529
2578
  const children = slots.default();
2530
2579
  const rawVNode = children[0];
@@ -6281,7 +6330,8 @@ function renderComponentRoot(instance) {
6281
6330
  data,
6282
6331
  setupState,
6283
6332
  ctx,
6284
- inheritAttrs
6333
+ inheritAttrs,
6334
+ isMounted
6285
6335
  } = instance;
6286
6336
  const prev = setCurrentRenderingInstance(instance);
6287
6337
  let result;
@@ -6401,7 +6451,7 @@ function renderComponentRoot(instance) {
6401
6451
  `Component inside <Transition> renders non-element root node that cannot be animated.`
6402
6452
  );
6403
6453
  }
6404
- root.transition = vnode.transition;
6454
+ root.transition = isMounted ? vnode.component.subTree.transition : vnode.transition;
6405
6455
  }
6406
6456
  if (setRoot) {
6407
6457
  setRoot(root);
@@ -6895,7 +6945,7 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
6895
6945
  };
6896
6946
  }
6897
6947
  if (activeBranch) {
6898
- if (parentNode(activeBranch.el) !== suspense.hiddenContainer) {
6948
+ if (parentNode(activeBranch.el) === container2) {
6899
6949
  anchor = next(activeBranch);
6900
6950
  }
6901
6951
  unmount(activeBranch, parentComponent2, suspense, true);
@@ -7956,29 +8006,6 @@ const computed = (getterOrOptions, debugOptions) => {
7956
8006
  return c;
7957
8007
  };
7958
8008
 
7959
- function useTemplateRef(key) {
7960
- const i = getCurrentInstance();
7961
- const r = reactivity.shallowRef(null);
7962
- if (i) {
7963
- const refs = i.refs === shared.EMPTY_OBJ ? i.refs = {} : i.refs;
7964
- let desc;
7965
- if ((desc = Object.getOwnPropertyDescriptor(refs, key)) && !desc.configurable) {
7966
- warn$1(`useTemplateRef('${key}') already exists.`);
7967
- } else {
7968
- Object.defineProperty(refs, key, {
7969
- enumerable: true,
7970
- get: () => r.value,
7971
- set: (val) => r.value = val
7972
- });
7973
- }
7974
- } else {
7975
- warn$1(
7976
- `useTemplateRef() is called when there is no active component instance to be associated with.`
7977
- );
7978
- }
7979
- return reactivity.readonly(r) ;
7980
- }
7981
-
7982
8009
  function h(type, propsOrChildren, children) {
7983
8010
  const l = arguments.length;
7984
8011
  if (l === 2) {
@@ -8204,7 +8231,7 @@ function isMemoSame(cached, memo) {
8204
8231
  return true;
8205
8232
  }
8206
8233
 
8207
- const version = "3.5.0";
8234
+ const version = "3.5.2";
8208
8235
  const warn = warn$1 ;
8209
8236
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
8210
8237
  const devtools = devtools$1 ;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/runtime-core v3.5.0
2
+ * @vue/runtime-core v3.5.2
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -179,9 +179,7 @@ function queueJob(job) {
179
179
  } else {
180
180
  queue.splice(findInsertionIndex(jobId), 0, job);
181
181
  }
182
- if (!(job.flags & 4)) {
183
- job.flags |= 1;
184
- }
182
+ job.flags |= 1;
185
183
  queueFlush();
186
184
  }
187
185
  }
@@ -197,9 +195,7 @@ function queuePostFlushCb(cb) {
197
195
  activePostFlushCbs.splice(postFlushIndex + 1, 0, cb);
198
196
  } else if (!(cb.flags & 1)) {
199
197
  pendingPostFlushCbs.push(cb);
200
- if (!(cb.flags & 4)) {
201
- cb.flags |= 1;
202
- }
198
+ cb.flags |= 1;
203
199
  }
204
200
  } else {
205
201
  pendingPostFlushCbs.push(...cb);
@@ -215,6 +211,9 @@ function flushPreFlushCbs(instance, seen, i = isFlushing ? flushIndex + 1 : 0) {
215
211
  }
216
212
  queue.splice(i, 1);
217
213
  i--;
214
+ if (cb.flags & 4) {
215
+ cb.flags &= ~1;
216
+ }
218
217
  cb();
219
218
  cb.flags &= ~1;
220
219
  }
@@ -233,6 +232,9 @@ function flushPostFlushCbs(seen) {
233
232
  activePostFlushCbs = deduped;
234
233
  for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {
235
234
  const cb = activePostFlushCbs[postFlushIndex];
235
+ if (cb.flags & 4) {
236
+ cb.flags &= ~1;
237
+ }
236
238
  if (!(cb.flags & 8)) cb();
237
239
  cb.flags &= ~1;
238
240
  }
@@ -249,6 +251,9 @@ function flushJobs(seen) {
249
251
  const job = queue[flushIndex];
250
252
  if (job && !(job.flags & 8)) {
251
253
  if (false) ;
254
+ if (job.flags & 4) {
255
+ job.flags &= ~1;
256
+ }
252
257
  callWithErrorHandling(
253
258
  job,
254
259
  job.i,
@@ -258,6 +263,12 @@ function flushJobs(seen) {
258
263
  }
259
264
  }
260
265
  } finally {
266
+ for (; flushIndex < queue.length; flushIndex++) {
267
+ const job = queue[flushIndex];
268
+ if (job) {
269
+ job.flags &= ~1;
270
+ }
271
+ }
261
272
  flushIndex = 0;
262
273
  queue.length = 0;
263
274
  flushPostFlushCbs();
@@ -723,7 +734,9 @@ const BaseTransitionImpl = {
723
734
  // #11061, ensure enterHooks is fresh after clone
724
735
  (hooks) => enterHooks = hooks
725
736
  );
726
- setTransitionHooks(innerChild, enterHooks);
737
+ if (innerChild.type !== Comment) {
738
+ setTransitionHooks(innerChild, enterHooks);
739
+ }
727
740
  const oldChild = instance.subTree;
728
741
  const oldInnerChild = oldChild && getInnerChild$1(oldChild);
729
742
  if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(innerChild, oldInnerChild) && recursiveGetSubtree(instance).type !== Comment) {
@@ -741,6 +754,7 @@ const BaseTransitionImpl = {
741
754
  if (!(instance.job.flags & 8)) {
742
755
  instance.update();
743
756
  }
757
+ delete leavingHooks.afterLeave;
744
758
  };
745
759
  return emptyPlaceholder(child);
746
760
  } else if (mode === "in-out" && innerChild.type !== Comment) {
@@ -1004,6 +1018,23 @@ function markAsyncBoundary(instance) {
1004
1018
  instance.ids = [instance.ids[0] + instance.ids[2]++ + "-", 0, 0];
1005
1019
  }
1006
1020
 
1021
+ function useTemplateRef(key) {
1022
+ const i = getCurrentInstance();
1023
+ const r = reactivity.shallowRef(null);
1024
+ if (i) {
1025
+ const refs = i.refs === shared.EMPTY_OBJ ? i.refs = {} : i.refs;
1026
+ {
1027
+ Object.defineProperty(refs, key, {
1028
+ enumerable: true,
1029
+ get: () => r.value,
1030
+ set: (val) => r.value = val
1031
+ });
1032
+ }
1033
+ }
1034
+ const ret = r;
1035
+ return ret;
1036
+ }
1037
+
1007
1038
  function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
1008
1039
  if (shared.isArray(rawRef)) {
1009
1040
  rawRef.forEach(
@@ -1026,10 +1057,14 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
1026
1057
  const oldRef = oldRawRef && oldRawRef.r;
1027
1058
  const refs = owner.refs === shared.EMPTY_OBJ ? owner.refs = {} : owner.refs;
1028
1059
  const setupState = owner.setupState;
1060
+ const rawSetupState = reactivity.toRaw(setupState);
1061
+ const canSetSetupRef = setupState === shared.EMPTY_OBJ ? () => false : (key) => {
1062
+ return shared.hasOwn(rawSetupState, key);
1063
+ };
1029
1064
  if (oldRef != null && oldRef !== ref) {
1030
1065
  if (shared.isString(oldRef)) {
1031
1066
  refs[oldRef] = null;
1032
- if (shared.hasOwn(setupState, oldRef)) {
1067
+ if (canSetSetupRef(oldRef)) {
1033
1068
  setupState[oldRef] = null;
1034
1069
  }
1035
1070
  } else if (reactivity.isRef(oldRef)) {
@@ -1044,14 +1079,14 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
1044
1079
  if (_isString || _isRef) {
1045
1080
  const doSet = () => {
1046
1081
  if (rawRef.f) {
1047
- const existing = _isString ? shared.hasOwn(setupState, ref) ? setupState[ref] : refs[ref] : ref.value;
1082
+ const existing = _isString ? canSetSetupRef(ref) ? setupState[ref] : refs[ref] : ref.value;
1048
1083
  if (isUnmount) {
1049
1084
  shared.isArray(existing) && shared.remove(existing, refValue);
1050
1085
  } else {
1051
1086
  if (!shared.isArray(existing)) {
1052
1087
  if (_isString) {
1053
1088
  refs[ref] = [refValue];
1054
- if (shared.hasOwn(setupState, ref)) {
1089
+ if (canSetSetupRef(ref)) {
1055
1090
  setupState[ref] = refs[ref];
1056
1091
  }
1057
1092
  } else {
@@ -1064,7 +1099,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
1064
1099
  }
1065
1100
  } else if (_isString) {
1066
1101
  refs[ref] = value;
1067
- if (shared.hasOwn(setupState, ref)) {
1102
+ if (canSetSetupRef(ref)) {
1068
1103
  setupState[ref] = value;
1069
1104
  }
1070
1105
  } else if (_isRef) {
@@ -1893,7 +1928,7 @@ const KeepAliveImpl = {
1893
1928
  return () => {
1894
1929
  pendingCacheKey = null;
1895
1930
  if (!slots.default) {
1896
- return null;
1931
+ return current = null;
1897
1932
  }
1898
1933
  const children = slots.default();
1899
1934
  const rawVNode = children[0];
@@ -4921,7 +4956,8 @@ function renderComponentRoot(instance) {
4921
4956
  data,
4922
4957
  setupState,
4923
4958
  ctx,
4924
- inheritAttrs
4959
+ inheritAttrs,
4960
+ isMounted
4925
4961
  } = instance;
4926
4962
  const prev = setCurrentRenderingInstance(instance);
4927
4963
  let result;
@@ -4998,7 +5034,7 @@ function renderComponentRoot(instance) {
4998
5034
  root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;
4999
5035
  }
5000
5036
  if (vnode.transition) {
5001
- root.transition = vnode.transition;
5037
+ root.transition = isMounted ? vnode.component.subTree.transition : vnode.transition;
5002
5038
  }
5003
5039
  {
5004
5040
  result = root;
@@ -5436,7 +5472,7 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
5436
5472
  };
5437
5473
  }
5438
5474
  if (activeBranch) {
5439
- if (parentNode(activeBranch.el) !== suspense.hiddenContainer) {
5475
+ if (parentNode(activeBranch.el) === container2) {
5440
5476
  anchor = next(activeBranch);
5441
5477
  }
5442
5478
  unmount(activeBranch, parentComponent2, suspense, true);
@@ -6306,22 +6342,6 @@ const computed = (getterOrOptions, debugOptions) => {
6306
6342
  return c;
6307
6343
  };
6308
6344
 
6309
- function useTemplateRef(key) {
6310
- const i = getCurrentInstance();
6311
- const r = reactivity.shallowRef(null);
6312
- if (i) {
6313
- const refs = i.refs === shared.EMPTY_OBJ ? i.refs = {} : i.refs;
6314
- {
6315
- Object.defineProperty(refs, key, {
6316
- enumerable: true,
6317
- get: () => r.value,
6318
- set: (val) => r.value = val
6319
- });
6320
- }
6321
- }
6322
- return r;
6323
- }
6324
-
6325
6345
  function h(type, propsOrChildren, children) {
6326
6346
  const l = arguments.length;
6327
6347
  if (l === 2) {
@@ -6375,7 +6395,7 @@ function isMemoSame(cached, memo) {
6375
6395
  return true;
6376
6396
  }
6377
6397
 
6378
- const version = "3.5.0";
6398
+ const version = "3.5.2";
6379
6399
  const warn$1 = shared.NOOP;
6380
6400
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
6381
6401
  const devtools = void 0;
@@ -1,6 +1,6 @@
1
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';
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
- import { IfAny, Prettify, Awaited, LooseRequired, UnionToIntersection, OverloadParameters } from '@vue/shared';
3
+ import { IfAny, Prettify, LooseRequired, UnionToIntersection, OverloadParameters } from '@vue/shared';
4
4
  export { camelize, capitalize, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from '@vue/shared';
5
5
 
6
6
  export declare const computed: typeof computed$1;
@@ -476,12 +476,12 @@ export type CreateComponentPublicInstance<P = {}, B = {}, D = {}, C extends Comp
476
476
  * inference everywhere internally, but it has to be a new type to avoid
477
477
  * breaking types that relies on previous arguments order (#10842)
478
478
  */
479
- export type CreateComponentPublicInstanceWithMixins<P = {}, B = {}, D = {}, C extends ComputedOptions = {}, M extends MethodOptions = {}, Mixin extends ComponentOptionsMixin = ComponentOptionsMixin, Extends extends ComponentOptionsMixin = ComponentOptionsMixin, E extends EmitsOptions = {}, PublicProps = P, Defaults = {}, MakeDefaultsOptional extends boolean = false, I extends ComponentInjectOptions = {}, S extends SlotsType = {}, LC extends Record<string, Component> = {}, Directives extends Record<string, Directive> = {}, Exposed extends string = string, TypeRefs extends Data = {}, Provide extends ComponentProvideOptions = ComponentProvideOptions, PublicMixin = IntersectionMixin<Mixin> & IntersectionMixin<Extends>, PublicP = UnwrapMixinsType<PublicMixin, 'P'> & EnsureNonVoid<P>, PublicB = UnwrapMixinsType<PublicMixin, 'B'> & EnsureNonVoid<B>, PublicD = UnwrapMixinsType<PublicMixin, 'D'> & EnsureNonVoid<D>, PublicC extends ComputedOptions = UnwrapMixinsType<PublicMixin, 'C'> & EnsureNonVoid<C>, PublicM extends MethodOptions = UnwrapMixinsType<PublicMixin, 'M'> & EnsureNonVoid<M>, PublicDefaults = UnwrapMixinsType<PublicMixin, 'Defaults'> & EnsureNonVoid<Defaults>> = ComponentPublicInstance<PublicP, PublicB, PublicD, PublicC, PublicM, E, PublicProps, PublicDefaults, MakeDefaultsOptional, ComponentOptionsBase<P, B, D, C, M, Mixin, Extends, E, string, Defaults, {}, string, S, LC, Directives, Exposed, Provide>, I, S, Exposed, TypeRefs>;
479
+ export type CreateComponentPublicInstanceWithMixins<P = {}, B = {}, D = {}, C extends ComputedOptions = {}, M extends MethodOptions = {}, Mixin extends ComponentOptionsMixin = ComponentOptionsMixin, Extends extends ComponentOptionsMixin = ComponentOptionsMixin, E extends EmitsOptions = {}, PublicProps = P, Defaults = {}, MakeDefaultsOptional extends boolean = false, I extends ComponentInjectOptions = {}, S extends SlotsType = {}, LC extends Record<string, Component> = {}, Directives extends Record<string, Directive> = {}, Exposed extends string = string, TypeRefs extends Data = {}, TypeEl extends Element = any, Provide extends ComponentProvideOptions = ComponentProvideOptions, PublicMixin = IntersectionMixin<Mixin> & IntersectionMixin<Extends>, PublicP = UnwrapMixinsType<PublicMixin, 'P'> & EnsureNonVoid<P>, PublicB = UnwrapMixinsType<PublicMixin, 'B'> & EnsureNonVoid<B>, PublicD = UnwrapMixinsType<PublicMixin, 'D'> & EnsureNonVoid<D>, PublicC extends ComputedOptions = UnwrapMixinsType<PublicMixin, 'C'> & EnsureNonVoid<C>, PublicM extends MethodOptions = UnwrapMixinsType<PublicMixin, 'M'> & EnsureNonVoid<M>, PublicDefaults = UnwrapMixinsType<PublicMixin, 'Defaults'> & EnsureNonVoid<Defaults>> = ComponentPublicInstance<PublicP, PublicB, PublicD, PublicC, PublicM, E, PublicProps, PublicDefaults, MakeDefaultsOptional, ComponentOptionsBase<P, B, D, C, M, Mixin, Extends, E, string, Defaults, {}, string, S, LC, Directives, Exposed, Provide>, I, S, Exposed, TypeRefs, TypeEl>;
480
480
  type ExposedKeys<T, Exposed extends string & keyof T> = '' extends Exposed ? T : Pick<T, Exposed>;
481
481
  export type ComponentPublicInstance<P = {}, // props type extracted from props option
482
482
  B = {}, // raw bindings returned from setup()
483
483
  D = {}, // return from data()
484
- C extends ComputedOptions = {}, M extends MethodOptions = {}, E extends EmitsOptions = {}, PublicProps = {}, Defaults = {}, MakeDefaultsOptional extends boolean = false, Options = ComponentOptionsBase<any, any, any, any, any, any, any, any, any>, I extends ComponentInjectOptions = {}, S extends SlotsType = {}, Exposed extends string = '', TypeRefs extends Data = {}> = {
484
+ C extends ComputedOptions = {}, M extends MethodOptions = {}, E extends EmitsOptions = {}, PublicProps = {}, Defaults = {}, MakeDefaultsOptional extends boolean = false, Options = ComponentOptionsBase<any, any, any, any, any, any, any, any, any>, I extends ComponentInjectOptions = {}, S extends SlotsType = {}, Exposed extends string = '', TypeRefs extends Data = {}, TypeEl extends Element = any> = {
485
485
  $: ComponentInternalInstance;
486
486
  $data: D;
487
487
  $props: MakeDefaultsOptional extends true ? Partial<Defaults> & Omit<Prettify<P> & PublicProps, keyof Defaults> : Prettify<P> & PublicProps;
@@ -492,7 +492,7 @@ C extends ComputedOptions = {}, M extends MethodOptions = {}, E extends EmitsOpt
492
492
  $parent: ComponentPublicInstance | null;
493
493
  $host: Element | null;
494
494
  $emit: EmitFn<E>;
495
- $el: any;
495
+ $el: TypeEl;
496
496
  $options: Options & MergedComponentOptionsOverride;
497
497
  $forceUpdate: () => void;
498
498
  $nextTick: typeof nextTick;
@@ -957,7 +957,7 @@ export type ComponentOptionsWithArrayProps<PropNames extends string = string, Ra
957
957
  /**
958
958
  * @deprecated
959
959
  */
960
- export type ComponentOptionsWithObjectProps<PropsOptions = ComponentObjectPropsOptions, RawBindings = {}, D = {}, C extends ComputedOptions = {}, M extends MethodOptions = {}, Mixin extends ComponentOptionsMixin = ComponentOptionsMixin, Extends extends ComponentOptionsMixin = ComponentOptionsMixin, E extends EmitsOptions = EmitsOptions, EE extends string = string, I extends ComponentInjectOptions = {}, II extends string = string, S extends SlotsType = {}, LC extends Record<string, Component> = {}, Directives extends Record<string, Directive> = {}, Exposed extends string = string, Provide extends ComponentProvideOptions = ComponentProvideOptions, Props = Prettify<Readonly<ExtractPropTypes<PropsOptions> & EmitsToProps<E>>>, Defaults = ExtractDefaultPropTypes<PropsOptions>> = ComponentOptionsBase<Props, RawBindings, D, C, M, Mixin, Extends, E, EE, Defaults, I, II, S, LC, Directives, Exposed, Provide> & {
960
+ export type ComponentOptionsWithObjectProps<PropsOptions = ComponentObjectPropsOptions, RawBindings = {}, D = {}, C extends ComputedOptions = {}, M extends MethodOptions = {}, Mixin extends ComponentOptionsMixin = ComponentOptionsMixin, Extends extends ComponentOptionsMixin = ComponentOptionsMixin, E extends EmitsOptions = EmitsOptions, EE extends string = string, I extends ComponentInjectOptions = {}, II extends string = string, S extends SlotsType = {}, LC extends Record<string, Component> = {}, Directives extends Record<string, Directive> = {}, Exposed extends string = string, Provide extends ComponentProvideOptions = ComponentProvideOptions, Props = Prettify<Readonly<ExtractPropTypes<PropsOptions>> & Readonly<EmitsToProps<E>>>, Defaults = ExtractDefaultPropTypes<PropsOptions>> = ComponentOptionsBase<Props, RawBindings, D, C, M, Mixin, Extends, E, EE, Defaults, I, II, S, LC, Directives, Exposed, Provide> & {
961
961
  props: PropsOptions & ThisType<void>;
962
962
  } & ThisType<CreateComponentPublicInstanceWithMixins<Props, RawBindings, D, C, M, Mixin, Extends, E, Props, Defaults, false, I, S, LC, Directives>>;
963
963
 
@@ -977,8 +977,9 @@ export declare function hasInjectionContext(): boolean;
977
977
 
978
978
  export type PublicProps = VNodeProps & AllowedComponentProps & ComponentCustomProps;
979
979
  type ResolveProps<PropsOrPropOptions, E extends EmitsOptions> = Readonly<PropsOrPropOptions extends ComponentPropsOptions ? ExtractPropTypes<PropsOrPropOptions> : PropsOrPropOptions> & ({} extends E ? {} : EmitsToProps<E>);
980
- export type DefineComponent<PropsOrPropOptions = {}, RawBindings = {}, D = {}, C extends ComputedOptions = ComputedOptions, M extends MethodOptions = MethodOptions, Mixin extends ComponentOptionsMixin = ComponentOptionsMixin, Extends extends ComponentOptionsMixin = ComponentOptionsMixin, E extends EmitsOptions = {}, EE extends string = string, PP = PublicProps, Props = ResolveProps<PropsOrPropOptions, E>, Defaults = ExtractDefaultPropTypes<PropsOrPropOptions>, S extends SlotsType = {}, LC extends Record<string, Component> = {}, Directives extends Record<string, Directive> = {}, Exposed extends string = string, Provide extends ComponentProvideOptions = ComponentProvideOptions, MakeDefaultsOptional extends boolean = true, TypeRefs extends Record<string, unknown> = {}> = ComponentPublicInstanceConstructor<CreateComponentPublicInstanceWithMixins<Props, RawBindings, D, C, M, Mixin, Extends, E, PP & Props, Defaults, MakeDefaultsOptional, {}, S, LC & GlobalComponents, Directives & GlobalDirectives, Exposed, TypeRefs>> & ComponentOptionsBase<Props, RawBindings, D, C, M, Mixin, Extends, E, EE, Defaults, {}, string, S, LC & GlobalComponents, Directives & GlobalDirectives, Exposed, Provide> & PP;
980
+ export type DefineComponent<PropsOrPropOptions = {}, RawBindings = {}, D = {}, C extends ComputedOptions = ComputedOptions, M extends MethodOptions = MethodOptions, Mixin extends ComponentOptionsMixin = ComponentOptionsMixin, Extends extends ComponentOptionsMixin = ComponentOptionsMixin, E extends EmitsOptions = {}, EE extends string = string, PP = PublicProps, Props = ResolveProps<PropsOrPropOptions, E>, Defaults = ExtractDefaultPropTypes<PropsOrPropOptions>, S extends SlotsType = {}, LC extends Record<string, Component> = {}, Directives extends Record<string, Directive> = {}, Exposed extends string = string, Provide extends ComponentProvideOptions = ComponentProvideOptions, MakeDefaultsOptional extends boolean = true, TypeRefs extends Record<string, unknown> = {}, TypeEl extends Element = any> = ComponentPublicInstanceConstructor<CreateComponentPublicInstanceWithMixins<Props, RawBindings, D, C, M, Mixin, Extends, E, PP & Props, Defaults, MakeDefaultsOptional, {}, S, LC & GlobalComponents, Directives & GlobalDirectives, Exposed, TypeRefs, TypeEl>> & ComponentOptionsBase<Props, RawBindings, D, C, M, Mixin, Extends, E, EE, Defaults, {}, string, S, LC & GlobalComponents, Directives & GlobalDirectives, Exposed, Provide> & PP;
981
981
  export type DefineSetupFnComponent<P extends Record<string, any>, E extends EmitsOptions = {}, S extends SlotsType = SlotsType, Props = P & EmitsToProps<E>, PP = PublicProps> = new (props: Props & PP) => CreateComponentPublicInstanceWithMixins<Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, E, PP, {}, false, {}, S>;
982
+ type ToResolvedProps<Props, Emits extends EmitsOptions> = Readonly<Props> & Readonly<EmitsToProps<Emits>>;
982
983
  export declare function defineComponent<Props extends Record<string, any>, E extends EmitsOptions = {}, EE extends string = string, S extends SlotsType = {}>(setup: (props: Props, ctx: SetupContext<E, S>) => RenderFunction | Promise<RenderFunction>, options?: Pick<ComponentOptions, 'name' | 'inheritAttrs'> & {
983
984
  props?: (keyof Props)[];
984
985
  emits?: E | EE[];
@@ -991,7 +992,7 @@ export declare function defineComponent<Props extends Record<string, any>, E ext
991
992
  }): DefineSetupFnComponent<Props, E, S>;
992
993
  export declare function defineComponent<TypeProps, RuntimePropsOptions extends ComponentObjectPropsOptions = ComponentObjectPropsOptions, RuntimePropsKeys extends string = string, TypeEmits extends ComponentTypeEmits = {}, RuntimeEmitsOptions extends EmitsOptions = {}, RuntimeEmitsKeys extends string = string, Data = {}, SetupBindings = {}, Computed extends ComputedOptions = {}, Methods extends MethodOptions = {}, Mixin extends ComponentOptionsMixin = ComponentOptionsMixin, Extends extends ComponentOptionsMixin = ComponentOptionsMixin, InjectOptions extends ComponentInjectOptions = {}, InjectKeys extends string = string, Slots extends SlotsType = {}, LocalComponents extends Record<string, Component> = {}, Directives extends Record<string, Directive> = {}, Exposed extends string = string, Provide extends ComponentProvideOptions = ComponentProvideOptions, ResolvedEmits extends EmitsOptions = {} extends RuntimeEmitsOptions ? TypeEmitsToOptions<TypeEmits> : RuntimeEmitsOptions, InferredProps = unknown extends TypeProps ? string extends RuntimePropsKeys ? ComponentObjectPropsOptions extends RuntimePropsOptions ? {} : ExtractPropTypes<RuntimePropsOptions> : {
993
994
  [key in RuntimePropsKeys]?: any;
994
- } : TypeProps, ResolvedProps = Readonly<InferredProps & EmitsToProps<ResolvedEmits>>, TypeRefs extends Record<string, unknown> = {}>(options: {
995
+ } : TypeProps, TypeRefs extends Record<string, unknown> = {}, TypeEl extends Element = any>(options: {
995
996
  props?: (RuntimePropsOptions & ThisType<void>) | RuntimePropsKeys[];
996
997
  /**
997
998
  * @private for language-tools use only
@@ -1005,8 +1006,12 @@ export declare function defineComponent<TypeProps, RuntimePropsOptions extends C
1005
1006
  * @private for language-tools use only
1006
1007
  */
1007
1008
  __typeRefs?: TypeRefs;
1008
- } & ComponentOptionsBase<ResolvedProps, SetupBindings, Data, Computed, Methods, Mixin, Extends, RuntimeEmitsOptions, RuntimeEmitsKeys, {}, // Defaults
1009
- InjectOptions, InjectKeys, Slots, LocalComponents, Directives, Exposed, Provide> & ThisType<CreateComponentPublicInstanceWithMixins<ResolvedProps, SetupBindings, Data, Computed, Methods, Mixin, Extends, ResolvedEmits, RuntimeEmitsKeys, {}, false, InjectOptions, Slots, LocalComponents, Directives, Exposed>>): DefineComponent<InferredProps, SetupBindings, Data, Computed, Methods, Mixin, Extends, ResolvedEmits, RuntimeEmitsKeys, PublicProps, ResolvedProps, ExtractDefaultPropTypes<RuntimePropsOptions>, Slots, LocalComponents, Directives, Exposed, Provide, unknown extends TypeProps ? true : false, TypeRefs>;
1009
+ /**
1010
+ * @private for language-tools use only
1011
+ */
1012
+ __typeEl?: TypeEl;
1013
+ } & ComponentOptionsBase<ToResolvedProps<InferredProps, ResolvedEmits>, SetupBindings, Data, Computed, Methods, Mixin, Extends, RuntimeEmitsOptions, RuntimeEmitsKeys, {}, // Defaults
1014
+ InjectOptions, InjectKeys, Slots, LocalComponents, Directives, Exposed, Provide> & ThisType<CreateComponentPublicInstanceWithMixins<ToResolvedProps<InferredProps, ResolvedEmits>, SetupBindings, Data, Computed, Methods, Mixin, Extends, ResolvedEmits, RuntimeEmitsKeys, {}, false, InjectOptions, Slots, LocalComponents, Directives, Exposed>>): DefineComponent<InferredProps, SetupBindings, Data, Computed, Methods, Mixin, Extends, ResolvedEmits, RuntimeEmitsKeys, PublicProps, ToResolvedProps<InferredProps, ResolvedEmits>, ExtractDefaultPropTypes<RuntimePropsOptions>, Slots, LocalComponents, Directives, Exposed, Provide, unknown extends TypeProps ? true : false, TypeRefs, TypeEl>;
1010
1015
 
1011
1016
  export interface App<HostElement = any> {
1012
1017
  version: string;
@@ -1,9 +1,9 @@
1
1
  /**
2
- * @vue/runtime-core v3.5.0
2
+ * @vue/runtime-core v3.5.2
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
6
- import { pauseTracking, resetTracking, isRef, toRaw, traverse, isReactive, ref, shallowReadArray, toReactive, shallowReadonly, track, reactive, shallowReactive, trigger, ReactiveEffect, watch as watch$1, customRef, isProxy, proxyRefs, markRaw, EffectScope, computed as computed$1, shallowRef, readonly, isShallow, isReadonly } from '@vue/reactivity';
6
+ import { pauseTracking, resetTracking, isRef, toRaw, traverse, shallowRef, readonly, isReactive, ref, shallowReadArray, toReactive, shallowReadonly, track, reactive, shallowReactive, trigger, ReactiveEffect, watch as watch$1, customRef, isProxy, proxyRefs, markRaw, EffectScope, computed as computed$1, isShallow, isReadonly } 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
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, isGloballyAllowed, NO, hyphenate, EMPTY_ARR, toRawType, makeMap, hasChanged, looseToNumber, isModelListener, toNumber } from '@vue/shared';
9
9
  export { camelize, capitalize, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from '@vue/shared';
@@ -315,9 +315,7 @@ function queueJob(job) {
315
315
  } else {
316
316
  queue.splice(findInsertionIndex(jobId), 0, job);
317
317
  }
318
- if (!(job.flags & 4)) {
319
- job.flags |= 1;
320
- }
318
+ job.flags |= 1;
321
319
  queueFlush();
322
320
  }
323
321
  }
@@ -333,9 +331,7 @@ function queuePostFlushCb(cb) {
333
331
  activePostFlushCbs.splice(postFlushIndex + 1, 0, cb);
334
332
  } else if (!(cb.flags & 1)) {
335
333
  pendingPostFlushCbs.push(cb);
336
- if (!(cb.flags & 4)) {
337
- cb.flags |= 1;
338
- }
334
+ cb.flags |= 1;
339
335
  }
340
336
  } else {
341
337
  pendingPostFlushCbs.push(...cb);
@@ -357,6 +353,9 @@ function flushPreFlushCbs(instance, seen, i = isFlushing ? flushIndex + 1 : 0) {
357
353
  }
358
354
  queue.splice(i, 1);
359
355
  i--;
356
+ if (cb.flags & 4) {
357
+ cb.flags &= ~1;
358
+ }
360
359
  cb();
361
360
  cb.flags &= ~1;
362
361
  }
@@ -381,6 +380,9 @@ function flushPostFlushCbs(seen) {
381
380
  if (!!(process.env.NODE_ENV !== "production") && checkRecursiveUpdates(seen, cb)) {
382
381
  continue;
383
382
  }
383
+ if (cb.flags & 4) {
384
+ cb.flags &= ~1;
385
+ }
384
386
  if (!(cb.flags & 8)) cb();
385
387
  cb.flags &= ~1;
386
388
  }
@@ -403,6 +405,9 @@ function flushJobs(seen) {
403
405
  if (!!(process.env.NODE_ENV !== "production") && check(job)) {
404
406
  continue;
405
407
  }
408
+ if (job.flags & 4) {
409
+ job.flags &= ~1;
410
+ }
406
411
  callWithErrorHandling(
407
412
  job,
408
413
  job.i,
@@ -412,6 +417,12 @@ function flushJobs(seen) {
412
417
  }
413
418
  }
414
419
  } finally {
420
+ for (; flushIndex < queue.length; flushIndex++) {
421
+ const job = queue[flushIndex];
422
+ if (job) {
423
+ job.flags &= ~1;
424
+ }
425
+ }
415
426
  flushIndex = 0;
416
427
  queue.length = 0;
417
428
  flushPostFlushCbs(seen);
@@ -1148,7 +1159,9 @@ const BaseTransitionImpl = {
1148
1159
  // #11061, ensure enterHooks is fresh after clone
1149
1160
  (hooks) => enterHooks = hooks
1150
1161
  );
1151
- setTransitionHooks(innerChild, enterHooks);
1162
+ if (innerChild.type !== Comment) {
1163
+ setTransitionHooks(innerChild, enterHooks);
1164
+ }
1152
1165
  const oldChild = instance.subTree;
1153
1166
  const oldInnerChild = oldChild && getInnerChild$1(oldChild);
1154
1167
  if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(innerChild, oldInnerChild) && recursiveGetSubtree(instance).type !== Comment) {
@@ -1166,6 +1179,7 @@ const BaseTransitionImpl = {
1166
1179
  if (!(instance.job.flags & 8)) {
1167
1180
  instance.update();
1168
1181
  }
1182
+ delete leavingHooks.afterLeave;
1169
1183
  };
1170
1184
  return emptyPlaceholder(child);
1171
1185
  } else if (mode === "in-out" && innerChild.type !== Comment) {
@@ -1444,6 +1458,34 @@ function markAsyncBoundary(instance) {
1444
1458
  instance.ids = [instance.ids[0] + instance.ids[2]++ + "-", 0, 0];
1445
1459
  }
1446
1460
 
1461
+ const knownTemplateRefs = /* @__PURE__ */ new WeakSet();
1462
+ function useTemplateRef(key) {
1463
+ const i = getCurrentInstance();
1464
+ const r = shallowRef(null);
1465
+ if (i) {
1466
+ const refs = i.refs === EMPTY_OBJ ? i.refs = {} : i.refs;
1467
+ let desc;
1468
+ if (!!(process.env.NODE_ENV !== "production") && (desc = Object.getOwnPropertyDescriptor(refs, key)) && !desc.configurable) {
1469
+ warn$1(`useTemplateRef('${key}') already exists.`);
1470
+ } else {
1471
+ Object.defineProperty(refs, key, {
1472
+ enumerable: true,
1473
+ get: () => r.value,
1474
+ set: (val) => r.value = val
1475
+ });
1476
+ }
1477
+ } else if (!!(process.env.NODE_ENV !== "production")) {
1478
+ warn$1(
1479
+ `useTemplateRef() is called when there is no active component instance to be associated with.`
1480
+ );
1481
+ }
1482
+ const ret = !!(process.env.NODE_ENV !== "production") ? readonly(r) : r;
1483
+ if (!!(process.env.NODE_ENV !== "production")) {
1484
+ knownTemplateRefs.add(ret);
1485
+ }
1486
+ return ret;
1487
+ }
1488
+
1447
1489
  function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
1448
1490
  if (isArray(rawRef)) {
1449
1491
  rawRef.forEach(
@@ -1472,10 +1514,17 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
1472
1514
  const oldRef = oldRawRef && oldRawRef.r;
1473
1515
  const refs = owner.refs === EMPTY_OBJ ? owner.refs = {} : owner.refs;
1474
1516
  const setupState = owner.setupState;
1517
+ const rawSetupState = toRaw(setupState);
1518
+ const canSetSetupRef = setupState === EMPTY_OBJ ? () => false : (key) => {
1519
+ if (!!(process.env.NODE_ENV !== "production") && knownTemplateRefs.has(rawSetupState[key])) {
1520
+ return false;
1521
+ }
1522
+ return hasOwn(rawSetupState, key);
1523
+ };
1475
1524
  if (oldRef != null && oldRef !== ref) {
1476
1525
  if (isString(oldRef)) {
1477
1526
  refs[oldRef] = null;
1478
- if (hasOwn(setupState, oldRef)) {
1527
+ if (canSetSetupRef(oldRef)) {
1479
1528
  setupState[oldRef] = null;
1480
1529
  }
1481
1530
  } else if (isRef(oldRef)) {
@@ -1490,14 +1539,14 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
1490
1539
  if (_isString || _isRef) {
1491
1540
  const doSet = () => {
1492
1541
  if (rawRef.f) {
1493
- const existing = _isString ? hasOwn(setupState, ref) ? setupState[ref] : refs[ref] : ref.value;
1542
+ const existing = _isString ? canSetSetupRef(ref) ? setupState[ref] : refs[ref] : ref.value;
1494
1543
  if (isUnmount) {
1495
1544
  isArray(existing) && remove(existing, refValue);
1496
1545
  } else {
1497
1546
  if (!isArray(existing)) {
1498
1547
  if (_isString) {
1499
1548
  refs[ref] = [refValue];
1500
- if (hasOwn(setupState, ref)) {
1549
+ if (canSetSetupRef(ref)) {
1501
1550
  setupState[ref] = refs[ref];
1502
1551
  }
1503
1552
  } else {
@@ -1510,7 +1559,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
1510
1559
  }
1511
1560
  } else if (_isString) {
1512
1561
  refs[ref] = value;
1513
- if (hasOwn(setupState, ref)) {
1562
+ if (canSetSetupRef(ref)) {
1514
1563
  setupState[ref] = value;
1515
1564
  }
1516
1565
  } else if (_isRef) {
@@ -2539,7 +2588,7 @@ const KeepAliveImpl = {
2539
2588
  return () => {
2540
2589
  pendingCacheKey = null;
2541
2590
  if (!slots.default) {
2542
- return null;
2591
+ return current = null;
2543
2592
  }
2544
2593
  const children = slots.default();
2545
2594
  const rawVNode = children[0];
@@ -6338,7 +6387,8 @@ function renderComponentRoot(instance) {
6338
6387
  data,
6339
6388
  setupState,
6340
6389
  ctx,
6341
- inheritAttrs
6390
+ inheritAttrs,
6391
+ isMounted
6342
6392
  } = instance;
6343
6393
  const prev = setCurrentRenderingInstance(instance);
6344
6394
  let result;
@@ -6458,7 +6508,7 @@ function renderComponentRoot(instance) {
6458
6508
  `Component inside <Transition> renders non-element root node that cannot be animated.`
6459
6509
  );
6460
6510
  }
6461
- root.transition = vnode.transition;
6511
+ root.transition = isMounted ? vnode.component.subTree.transition : vnode.transition;
6462
6512
  }
6463
6513
  if (!!(process.env.NODE_ENV !== "production") && setRoot) {
6464
6514
  setRoot(root);
@@ -6952,7 +7002,7 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
6952
7002
  };
6953
7003
  }
6954
7004
  if (activeBranch) {
6955
- if (parentNode(activeBranch.el) !== suspense.hiddenContainer) {
7005
+ if (parentNode(activeBranch.el) === container2) {
6956
7006
  anchor = next(activeBranch);
6957
7007
  }
6958
7008
  unmount(activeBranch, parentComponent2, suspense, true);
@@ -8027,29 +8077,6 @@ const computed = (getterOrOptions, debugOptions) => {
8027
8077
  return c;
8028
8078
  };
8029
8079
 
8030
- function useTemplateRef(key) {
8031
- const i = getCurrentInstance();
8032
- const r = shallowRef(null);
8033
- if (i) {
8034
- const refs = i.refs === EMPTY_OBJ ? i.refs = {} : i.refs;
8035
- let desc;
8036
- if (!!(process.env.NODE_ENV !== "production") && (desc = Object.getOwnPropertyDescriptor(refs, key)) && !desc.configurable) {
8037
- warn$1(`useTemplateRef('${key}') already exists.`);
8038
- } else {
8039
- Object.defineProperty(refs, key, {
8040
- enumerable: true,
8041
- get: () => r.value,
8042
- set: (val) => r.value = val
8043
- });
8044
- }
8045
- } else if (!!(process.env.NODE_ENV !== "production")) {
8046
- warn$1(
8047
- `useTemplateRef() is called when there is no active component instance to be associated with.`
8048
- );
8049
- }
8050
- return !!(process.env.NODE_ENV !== "production") ? readonly(r) : r;
8051
- }
8052
-
8053
8080
  function h(type, propsOrChildren, children) {
8054
8081
  const l = arguments.length;
8055
8082
  if (l === 2) {
@@ -8275,7 +8302,7 @@ function isMemoSame(cached, memo) {
8275
8302
  return true;
8276
8303
  }
8277
8304
 
8278
- const version = "3.5.0";
8305
+ const version = "3.5.2";
8279
8306
  const warn = !!(process.env.NODE_ENV !== "production") ? warn$1 : NOOP;
8280
8307
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
8281
8308
  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.0",
3
+ "version": "3.5.2",
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.0",
50
- "@vue/reactivity": "3.5.0"
49
+ "@vue/shared": "3.5.2",
50
+ "@vue/reactivity": "3.5.2"
51
51
  }
52
52
  }