@vue/compat 3.5.43 → 3.5.44

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/compat v3.5.43
2
+ * @vue/compat v3.5.44
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -194,7 +194,7 @@ var Vue = (function () {
194
194
  const isSVGTag = /* @__PURE__ */ makeMap(SVG_TAGS);
195
195
  const isMathMLTag = /* @__PURE__ */ makeMap(MATH_TAGS);
196
196
 
197
- const specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`;
197
+ const specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,playsinline,readonly`;
198
198
  const isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs);
199
199
  const isBooleanAttr = /* @__PURE__ */ makeMap(
200
200
  specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected`
@@ -1242,19 +1242,41 @@ var Vue = (function () {
1242
1242
  };
1243
1243
  function iterator(self, method, wrapValue) {
1244
1244
  const arr = shallowReadArray(self);
1245
- const iter = arr[method]();
1245
+ const methodFn = arr[method];
1246
+ const iter = methodFn.call(arr);
1246
1247
  if (arr !== self && !isShallow(self)) {
1247
- iter._next = iter.next;
1248
- iter.next = () => {
1249
- const result = iter._next();
1250
- if (!result.done) {
1251
- result.value = wrapValue(result.value);
1248
+ if (iter[Symbol.toStringTag] === "Array Iterator") {
1249
+ const wrapped = Object.create(Object.getPrototypeOf(iter));
1250
+ wrapped.next = () => wrapResult(iter.next(), wrapValue);
1251
+ if (methodFn !== arrayProto[method]) {
1252
+ Object.defineProperties(wrapped, {
1253
+ return: {
1254
+ get() {
1255
+ const fn = iter.return;
1256
+ return typeof fn === "function" ? fn.bind(iter) : fn;
1257
+ }
1258
+ },
1259
+ throw: {
1260
+ get() {
1261
+ const fn = iter.throw;
1262
+ return typeof fn === "function" ? fn.bind(iter) : fn;
1263
+ }
1264
+ }
1265
+ });
1252
1266
  }
1253
- return result;
1254
- };
1267
+ return wrapped;
1268
+ }
1269
+ iter._next = iter.next;
1270
+ iter.next = () => wrapResult(iter._next(), wrapValue);
1255
1271
  }
1256
1272
  return iter;
1257
1273
  }
1274
+ function wrapResult(result, wrapValue) {
1275
+ if (!result.done) {
1276
+ result.value = wrapValue(result.value);
1277
+ }
1278
+ return result;
1279
+ }
1258
1280
  const arrayProto = Array.prototype;
1259
1281
  function apply(self, method, fn, thisArg, wrappedRetFn, args) {
1260
1282
  const arr = shallowReadArray(self);
@@ -1677,6 +1699,8 @@ var Vue = (function () {
1677
1699
  return !isReadonly2;
1678
1700
  } else if (key === "__v_isReadonly") {
1679
1701
  return isReadonly2;
1702
+ } else if (key === "__v_isShallow") {
1703
+ return shallow;
1680
1704
  } else if (key === "__v_raw") {
1681
1705
  return target;
1682
1706
  }
@@ -2222,9 +2246,11 @@ var Vue = (function () {
2222
2246
  if (once && cb) {
2223
2247
  const _cb = cb;
2224
2248
  cb = (...args) => {
2225
- const res = _cb(...args);
2226
- watchHandle();
2227
- return res;
2249
+ try {
2250
+ return _cb(...args);
2251
+ } finally {
2252
+ watchHandle();
2253
+ }
2228
2254
  };
2229
2255
  }
2230
2256
  let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE;
@@ -2235,12 +2261,13 @@ var Vue = (function () {
2235
2261
  if (cb) {
2236
2262
  const newValue = effect.run();
2237
2263
  if (immediateFirstRun || deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue))) {
2238
- if (cleanup) {
2239
- cleanup();
2240
- }
2241
2264
  const currentWatcher = activeWatcher;
2242
- activeWatcher = effect;
2265
+ pauseTracking();
2243
2266
  try {
2267
+ if (cleanup) {
2268
+ cleanup();
2269
+ }
2270
+ activeWatcher = effect;
2244
2271
  const args = [
2245
2272
  newValue,
2246
2273
  // pass undefined as the old value when it's changed for the first time
@@ -2254,6 +2281,7 @@ var Vue = (function () {
2254
2281
  );
2255
2282
  } finally {
2256
2283
  activeWatcher = currentWatcher;
2284
+ resetTracking();
2257
2285
  }
2258
2286
  }
2259
2287
  } else {
@@ -2654,21 +2682,21 @@ var Vue = (function () {
2654
2682
  }
2655
2683
  queueFlush();
2656
2684
  }
2657
- function flushPreFlushCbs(instance, seen, i = flushIndex + 1) {
2685
+ function flushPreFlushCbs(instance, minUid, seen, i = flushIndex + 1) {
2658
2686
  {
2659
2687
  seen = seen || /* @__PURE__ */ new Map();
2660
2688
  }
2661
2689
  for (; i < queue.length; i++) {
2662
2690
  const cb = queue[i];
2663
2691
  if (cb && cb.flags & 2) {
2664
- if (instance && cb.id !== instance.uid) {
2692
+ if (instance && cb.id !== instance.uid || minUid !== void 0 && !(cb.id >= minUid)) {
2665
2693
  continue;
2666
2694
  }
2667
2695
  if (checkRecursiveUpdates(seen, cb)) {
2668
2696
  continue;
2669
2697
  }
2670
2698
  queue.splice(i, 1);
2671
- i--;
2699
+ i = instance ? i - 1 : flushIndex;
2672
2700
  if (cb.flags & 4) {
2673
2701
  cb.flags &= -2;
2674
2702
  }
@@ -2679,12 +2707,23 @@ var Vue = (function () {
2679
2707
  }
2680
2708
  }
2681
2709
  }
2682
- function flushPostFlushCbs(seen) {
2710
+ function flushPostFlushCbs(seen, skip, minUid = 0) {
2683
2711
  if (pendingPostFlushCbs.length) {
2684
- const deduped = [...new Set(pendingPostFlushCbs)].sort(
2685
- (a, b) => getId(a) - getId(b)
2686
- );
2687
- pendingPostFlushCbs.length = 0;
2712
+ let cbs = pendingPostFlushCbs;
2713
+ let kept = 0;
2714
+ if (skip) {
2715
+ cbs = [];
2716
+ for (let i = 0; i < pendingPostFlushCbs.length; i++) {
2717
+ const cb = pendingPostFlushCbs[i];
2718
+ if (cb.i !== void 0 ? !cb.i || cb.i.uid < minUid : skip.has(cb)) {
2719
+ pendingPostFlushCbs[kept++] = cb;
2720
+ } else {
2721
+ cbs.push(cb);
2722
+ }
2723
+ }
2724
+ }
2725
+ const deduped = [...new Set(cbs)].sort((a, b) => getId(a) - getId(b));
2726
+ pendingPostFlushCbs.length = kept;
2688
2727
  if (activePostFlushCbs) {
2689
2728
  for (let i = 0; i < deduped.length; i++) {
2690
2729
  activePostFlushCbs.push(deduped[i]);
@@ -2710,6 +2749,22 @@ var Vue = (function () {
2710
2749
  postFlushIndex = 0;
2711
2750
  }
2712
2751
  }
2752
+ let isFlushing = false;
2753
+ function flushOnAppMount(fn, minUid) {
2754
+ if (isFlushing) {
2755
+ fn();
2756
+ return;
2757
+ }
2758
+ const queued = minUid === void 0 ? void 0 : new Set(pendingPostFlushCbs);
2759
+ fn();
2760
+ isFlushing = true;
2761
+ try {
2762
+ flushPreFlushCbs(void 0, minUid);
2763
+ flushPostFlushCbs(void 0, queued, minUid);
2764
+ } finally {
2765
+ isFlushing = false;
2766
+ }
2767
+ }
2713
2768
  const getId = (job) => job.id == null ? job.flags & 2 ? -1 : Infinity : job.id;
2714
2769
  function flushJobs(seen) {
2715
2770
  {
@@ -3659,6 +3714,7 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
3659
3714
  let isPre = false;
3660
3715
  if (flush === "post") {
3661
3716
  baseWatchOptions.scheduler = (job) => {
3717
+ job.i = instance;
3662
3718
  queuePostRenderEffect(job, instance && instance.suspense);
3663
3719
  };
3664
3720
  } else if (flush !== "sync") {
@@ -3953,7 +4009,11 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
3953
4009
  };
3954
4010
  function moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }, moveType = 2) {
3955
4011
  if (moveType === 0) {
4012
+ if (vnode.targetStart) {
4013
+ insert(vnode.targetStart, container, parentAnchor);
4014
+ }
3956
4015
  insert(vnode.targetAnchor, container, parentAnchor);
4016
+ parentAnchor = vnode.targetAnchor;
3957
4017
  }
3958
4018
  const { el, anchor, shapeFlag, children, props } = vnode;
3959
4019
  const isReorder = moveType === 2;
@@ -4122,10 +4182,6 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
4122
4182
  onAfterAppear: TransitionHookValidator,
4123
4183
  onAppearCancelled: TransitionHookValidator
4124
4184
  };
4125
- const recursiveGetSubtree = (instance) => {
4126
- const subTree = instance.subTree;
4127
- return subTree.component ? recursiveGetSubtree(subTree.component) : subTree;
4128
- };
4129
4185
  const BaseTransitionImpl = {
4130
4186
  name: `BaseTransition`,
4131
4187
  props: BaseTransitionPropsValidators,
@@ -4166,7 +4222,7 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
4166
4222
  setTransitionHooks(innerChild, enterHooks);
4167
4223
  }
4168
4224
  let oldInnerChild = instance.subTree && getInnerChild$1(instance.subTree);
4169
- if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(oldInnerChild, innerChild) && recursiveGetSubtree(instance).type !== Comment) {
4225
+ if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(oldInnerChild, innerChild) && getTransitionRoot(instance.subTree)) {
4170
4226
  let leavingHooks = resolveTransitionHooks(
4171
4227
  oldInnerChild,
4172
4228
  rawProps,
@@ -4302,8 +4358,15 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
4302
4358
  );
4303
4359
  }
4304
4360
  const leavingVNode = leavingVNodesCache[key];
4305
- if (leavingVNode && isSameVNodeType(vnode, leavingVNode) && leavingVNode.el[leaveCbKey]) {
4306
- leavingVNode.el[leaveCbKey]();
4361
+ if (leavingVNode && isSameVNodeType(vnode, leavingVNode)) {
4362
+ let leavingCb = leavingVNode.el[leaveCbKey];
4363
+ if (!leavingCb) {
4364
+ const leavingRoot = getTransitionRoot(leavingVNode);
4365
+ leavingCb = leavingRoot && leavingRoot.el[leaveCbKey];
4366
+ }
4367
+ if (leavingCb) {
4368
+ leavingCb();
4369
+ }
4307
4370
  }
4308
4371
  callHook(hook, [el]);
4309
4372
  },
@@ -4431,6 +4494,12 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
4431
4494
  vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);
4432
4495
  } else {
4433
4496
  vnode.transition = hooks;
4497
+ if (vnode.type === Fragment && isArray(vnode.children)) {
4498
+ const child = filterSingleRoot(vnode.children, false);
4499
+ if (child) {
4500
+ setTransitionHooks(child, hooks);
4501
+ }
4502
+ }
4434
4503
  }
4435
4504
  }
4436
4505
  function getTransitionRawChildren(children, keepComment = false, parentKey) {
@@ -4455,6 +4524,18 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
4455
4524
  }
4456
4525
  return ret;
4457
4526
  }
4527
+ function getTransitionRoot(vnode) {
4528
+ if (vnode.component) {
4529
+ return getTransitionRoot(vnode.component.subTree);
4530
+ }
4531
+ if (vnode.type === Fragment) {
4532
+ const child = isArray(vnode.children) && filterSingleRoot(vnode.children, false);
4533
+ return child ? getTransitionRoot(child) : void 0;
4534
+ }
4535
+ if (vnode.type !== Comment) {
4536
+ return vnode;
4537
+ }
4538
+ }
4458
4539
 
4459
4540
  // @__NO_SIDE_EFFECTS__
4460
4541
  function defineComponent(options, extraOptions) {
@@ -5360,14 +5441,22 @@ Server rendered element contains fewer child nodes than client vdom.`
5360
5441
  break;
5361
5442
  }
5362
5443
  }, opts);
5363
- forEach((el) => {
5364
- if (!(el instanceof Element)) return;
5444
+ const observe = (el) => {
5365
5445
  if (elementIsVisibleInViewport(el)) {
5366
5446
  hydrate();
5367
5447
  ob.disconnect();
5368
5448
  return false;
5369
5449
  }
5450
+ if (getComputedStyle(el).display === "contents") {
5451
+ for (let i = 0; i < el.children.length; i++) {
5452
+ if (observe(el.children[i]) === false) return false;
5453
+ }
5454
+ }
5370
5455
  ob.observe(el);
5456
+ };
5457
+ forEach((el) => {
5458
+ if (!(el instanceof Element)) return;
5459
+ return observe(el);
5371
5460
  });
5372
5461
  return () => ob.disconnect();
5373
5462
  };
@@ -5718,6 +5807,7 @@ Server rendered element contains fewer child nodes than client vdom.`
5718
5807
  unmount(cached);
5719
5808
  } else if (current) {
5720
5809
  resetShapeFlag(current);
5810
+ if (cached) resetShapeFlag(cached);
5721
5811
  }
5722
5812
  cache.delete(key);
5723
5813
  keys.delete(key);
@@ -6300,9 +6390,11 @@ If this is a native custom element, make sure to exclude it from component resol
6300
6390
  }
6301
6391
  } else if (typeof source === "number") {
6302
6392
  if (!Number.isInteger(source) || source < 0) {
6303
- warn$1(
6304
- `The v-for range expects a positive integer value but got ${source}.`
6305
- );
6393
+ {
6394
+ warn$1(
6395
+ `The v-for range expects a positive integer value but got ${source}.`
6396
+ );
6397
+ }
6306
6398
  ret = [];
6307
6399
  } else {
6308
6400
  ret = new Array(source);
@@ -6621,6 +6713,7 @@ If this is a native custom element, make sure to exclude it from component resol
6621
6713
  $vnode: (i) => i.vnode,
6622
6714
  // some private properties that are likely accessed...
6623
6715
  _self: (i) => i.proxy,
6716
+ _setupProxy: (i) => i.setupState,
6624
6717
  _uid: (i) => i.uid,
6625
6718
  _data: (i) => i.data,
6626
6719
  _isMounted: (i) => i.isMounted,
@@ -7605,7 +7698,7 @@ If this is a native custom element, make sure to exclude it from component resol
7605
7698
  return vm;
7606
7699
  }
7607
7700
  }
7608
- Vue.version = `2.6.14-compat:${"3.5.43"}`;
7701
+ Vue.version = `2.6.14-compat:${"3.5.44"}`;
7609
7702
  Vue.config = singletonApp.config;
7610
7703
  Vue.use = (plugin, ...options) => {
7611
7704
  if (plugin && isFunction(plugin.install)) {
@@ -8762,7 +8855,7 @@ If you want to remount the same app, move your app creation logic into a factory
8762
8855
  }
8763
8856
  for (let i = 0; i < nextKeys.length; i++) {
8764
8857
  const key = nextKeys[i];
8765
- if (hasPropValueChanged(nextProps, prevProps, key) && !isEmitListener(emitsOptions, key)) {
8858
+ if (!hasOwn(prevProps, key) || hasPropValueChanged(nextProps, prevProps, key) && !isEmitListener(emitsOptions, key)) {
8766
8859
  return true;
8767
8860
  }
8768
8861
  }
@@ -9873,15 +9966,16 @@ If you want to remount the same app, move your app creation logic into a factory
9873
9966
  for (let i = 0; i < newChildren.length; i++) {
9874
9967
  const oldVNode = oldChildren[i];
9875
9968
  const newVNode = newChildren[i];
9969
+ const oldEl = oldVNode.el || resolveAsyncComponentPlaceholder(oldVNode);
9876
9970
  const container = (
9877
9971
  // oldVNode may be an errored async setup() component inside Suspense
9878
9972
  // which will not have a mounted element
9879
- oldVNode.el && // - In the case of a Fragment, we need to provide the actual parent
9973
+ oldEl && // - In the case of a Fragment, we need to provide the actual parent
9880
9974
  // of the Fragment itself so it can move its children.
9881
9975
  (oldVNode.type === Fragment || // - In the case of different nodes, there is going to be a replacement
9882
9976
  // which also requires the correct parent container
9883
9977
  !isSameVNodeType(oldVNode, newVNode) || // - In the case of a component, it could contain anything.
9884
- oldVNode.shapeFlag & (6 | 64 | 128)) ? hostParentNode(oldVNode.el) : (
9978
+ oldVNode.shapeFlag & (6 | 64 | 128)) ? hostParentNode(oldEl) : (
9885
9979
  // In other cases, the parent container is not actually used so we
9886
9980
  // just pass the block element here to avoid a DOM parentNode call.
9887
9981
  fallbackContainer
@@ -10046,7 +10140,12 @@ If you want to remount the same app, move your app creation logic into a factory
10046
10140
  }
10047
10141
  if (isHmrUpdating) initialVNode.el = null;
10048
10142
  if (instance.asyncDep) {
10049
- parentSuspense && parentSuspense.registerDep(instance, setupRenderEffect, optimized);
10143
+ parentSuspense && parentSuspense.registerDep(
10144
+ instance,
10145
+ setupRenderEffect,
10146
+ optimized,
10147
+ namespace
10148
+ );
10050
10149
  if (!initialVNode.el) {
10051
10150
  const placeholder = instance.subTree = createVNode(Comment);
10052
10151
  processCommentNode(null, placeholder, container, anchor);
@@ -10076,6 +10175,7 @@ If you want to remount the same app, move your app creation logic into a factory
10076
10175
  pushWarningContext(n2);
10077
10176
  }
10078
10177
  n2.el = n1.el;
10178
+ n2.placeholder = n1.placeholder;
10079
10179
  updateComponentPreRender(instance, n2, optimized);
10080
10180
  {
10081
10181
  popWarningContext();
@@ -10087,6 +10187,7 @@ If you want to remount the same app, move your app creation logic into a factory
10087
10187
  }
10088
10188
  } else {
10089
10189
  n2.el = n1.el;
10190
+ n2.placeholder = n1.placeholder;
10090
10191
  instance.vnode = n2;
10091
10192
  }
10092
10193
  };
@@ -10764,18 +10865,9 @@ If you want to remount the same app, move your app creation logic into a factory
10764
10865
  };
10765
10866
  const remove = (vnode) => {
10766
10867
  const { type, el, anchor, transition } = vnode;
10767
- if (type === Fragment) {
10768
- if (vnode.patchFlag > 0 && vnode.patchFlag & 2048 && transition && !transition.persisted) {
10769
- vnode.children.forEach((child) => {
10770
- if (child.type === Comment) {
10771
- hostRemove(child.el);
10772
- } else {
10773
- remove(child);
10774
- }
10775
- });
10776
- } else {
10777
- removeFragment(el, anchor);
10778
- }
10868
+ const isFragment = type === Fragment;
10869
+ if (isFragment && !transition) {
10870
+ removeFragment(el, anchor);
10779
10871
  return;
10780
10872
  }
10781
10873
  if (type === Static) {
@@ -10785,17 +10877,25 @@ If you want to remount the same app, move your app creation logic into a factory
10785
10877
  }
10786
10878
  return;
10787
10879
  }
10880
+ const leavingNode = isFragment ? getTransitionRoot(vnode) : vnode;
10788
10881
  const performRemove = () => {
10789
- hostRemove(el);
10882
+ if (isFragment) {
10883
+ if (hostParentNode(el)) {
10884
+ removeFragment(el, anchor);
10885
+ }
10886
+ } else {
10887
+ hostRemove(el);
10888
+ }
10790
10889
  if (transition && !transition.persisted && transition.afterLeave) {
10791
10890
  transition.afterLeave();
10792
10891
  }
10793
10892
  };
10794
- if (vnode.shapeFlag & 1 && transition && !transition.persisted) {
10893
+ if (leavingNode && leavingNode.shapeFlag & 1 && transition && !transition.persisted) {
10795
10894
  const { leave, delayLeave } = transition;
10796
- const performLeave = () => leave(el, performRemove);
10895
+ const leavingEl = leavingNode.el;
10896
+ const performLeave = () => leave(leavingEl, performRemove);
10797
10897
  if (delayLeave) {
10798
- delayLeave(vnode.el, performRemove, performLeave);
10898
+ delayLeave(leavingEl, performRemove, performLeave);
10799
10899
  } else {
10800
10900
  performLeave();
10801
10901
  }
@@ -10865,32 +10965,26 @@ If you want to remount the same app, move your app creation logic into a factory
10865
10965
  const teleportEnd = el && el[TeleportEndKey];
10866
10966
  return teleportEnd ? hostNextSibling(teleportEnd) : el;
10867
10967
  };
10868
- let isFlushing = false;
10869
10968
  const render = (vnode, container, namespace) => {
10870
- let instance;
10871
- if (vnode == null) {
10872
- if (container._vnode) {
10873
- unmount(container._vnode, null, null, true);
10874
- instance = container._vnode.component;
10969
+ const minUid = vnode && container._vnode ? void 0 : vnode && vnode.component ? vnode.component.uid : getNextUid();
10970
+ flushOnAppMount(() => {
10971
+ if (vnode == null) {
10972
+ if (container._vnode) {
10973
+ unmount(container._vnode, null, null, true);
10974
+ }
10975
+ } else {
10976
+ patch(
10977
+ container._vnode || null,
10978
+ vnode,
10979
+ container,
10980
+ null,
10981
+ null,
10982
+ null,
10983
+ namespace
10984
+ );
10875
10985
  }
10876
- } else {
10877
- patch(
10878
- container._vnode || null,
10879
- vnode,
10880
- container,
10881
- null,
10882
- null,
10883
- null,
10884
- namespace
10885
- );
10886
- }
10887
- container._vnode = vnode;
10888
- if (!isFlushing) {
10889
- isFlushing = true;
10890
- flushPreFlushCbs(instance);
10891
- flushPostFlushCbs();
10892
- isFlushing = false;
10893
- }
10986
+ container._vnode = vnode;
10987
+ }, minUid);
10894
10988
  };
10895
10989
  const internals = {
10896
10990
  p: patch,
@@ -11478,7 +11572,10 @@ If you want to remount the same app, move your app creation logic into a factory
11478
11572
  next() {
11479
11573
  return suspense.activeBranch && next(suspense.activeBranch);
11480
11574
  },
11481
- registerDep(instance, setupRenderEffect, optimized2) {
11575
+ // `namespace` intentionally shadows the boundary's own: the dep must be
11576
+ // mounted with the namespace of the position it was rendered at, which can
11577
+ // differ from the boundary's (e.g. a component nested inside an <svg>).
11578
+ registerDep(instance, setupRenderEffect, optimized2, namespace2) {
11482
11579
  const isInPendingSuspense = !!suspense.pendingBranch;
11483
11580
  if (isInPendingSuspense) {
11484
11581
  suspense.deps++;
@@ -11491,7 +11588,7 @@ If you want to remount the same app, move your app creation logic into a factory
11491
11588
  return;
11492
11589
  }
11493
11590
  unsetCurrentInstance();
11494
- if (hydratedEl && !instance.scope.active) {
11591
+ if (!instance.scope.active) {
11495
11592
  if (isInPendingSuspense && --suspense.deps === 0) {
11496
11593
  suspense.resolve();
11497
11594
  }
@@ -11518,7 +11615,7 @@ If you want to remount the same app, move your app creation logic into a factory
11518
11615
  // consider the comment placeholder case.
11519
11616
  hydratedEl ? null : next(instance.subTree),
11520
11617
  suspense,
11521
- namespace,
11618
+ namespace2,
11522
11619
  optimized2
11523
11620
  );
11524
11621
  if (placeholder) {
@@ -12119,6 +12216,9 @@ Component that was made reactive: `,
12119
12216
 
12120
12217
  const emptyAppContext = createAppContext();
12121
12218
  let uid = 0;
12219
+ function getNextUid() {
12220
+ return uid;
12221
+ }
12122
12222
  function createComponentInstance(vnode, parent, suspense) {
12123
12223
  const type = vnode.type;
12124
12224
  const appContext = (parent ? parent.appContext : vnode.appContext) || emptyAppContext;
@@ -12789,7 +12889,7 @@ Component that was made reactive: `,
12789
12889
  return true;
12790
12890
  }
12791
12891
 
12792
- const version = "3.5.43";
12892
+ const version = "3.5.44";
12793
12893
  const warn = warn$1 ;
12794
12894
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
12795
12895
  const devtools = devtools$1 ;
@@ -13390,7 +13490,9 @@ Component that was made reactive: `,
13390
13490
  }
13391
13491
  }
13392
13492
  if (vShowOriginalDisplay in el) {
13393
- el[vShowOriginalDisplay] = hasControlledDisplay ? style.display : "";
13493
+ if (!isCssString || prev !== next) {
13494
+ el[vShowOriginalDisplay] = hasControlledDisplay ? style.display : "";
13495
+ }
13394
13496
  if (el[vShowHidden]) {
13395
13497
  style.display = "none";
13396
13498
  }
@@ -13916,7 +14018,9 @@ Expected function or array of functions, received type ${typeof value}.`
13916
14018
  "Custom element style injection is not supported when using shadowRoot: false"
13917
14019
  );
13918
14020
  }
13919
- this._mount(def);
14021
+ if (this._connected) {
14022
+ this._mount(def);
14023
+ }
13920
14024
  };
13921
14025
  const asyncDef = this._def.__asyncLoader;
13922
14026
  if (asyncDef) {
@@ -14274,6 +14378,7 @@ Expected function or array of functions, received type ${typeof value}.`
14274
14378
  const newPositionMap = /* @__PURE__ */ new WeakMap();
14275
14379
  const moveCbKey = /* @__PURE__ */ Symbol("_moveCb");
14276
14380
  const enterCbKey = /* @__PURE__ */ Symbol("_enterCb");
14381
+ const pendingGroups = /* @__PURE__ */ new WeakMap();
14277
14382
  const decorate = (t) => {
14278
14383
  delete t.props.mode;
14279
14384
  {
@@ -14292,21 +14397,30 @@ Expected function or array of functions, received type ${typeof value}.`
14292
14397
  const state = useTransitionState();
14293
14398
  let prevChildren;
14294
14399
  let children;
14295
- onUpdated(() => {
14296
- if (!prevChildren.length) {
14297
- return;
14400
+ let origins;
14401
+ let moves;
14402
+ const willMove = () => {
14403
+ if (moves === void 0) {
14404
+ moves = prevChildren.length > 0 && hasCSSTransform(
14405
+ prevChildren[0].el,
14406
+ instance.vnode.el,
14407
+ resolveMoveClass(props)
14408
+ );
14298
14409
  }
14299
- const moveClass = props.moveClass || `${props.name || "v"}-move`;
14300
- if (!hasCSSTransform(
14301
- prevChildren[0].el,
14302
- instance.vnode.el,
14303
- moveClass
14304
- )) {
14410
+ return moves;
14411
+ };
14412
+ onUpdated(() => {
14413
+ pendingGroups.delete(instance);
14414
+ if (!willMove()) {
14305
14415
  prevChildren = [];
14416
+ origins = void 0;
14306
14417
  return;
14307
14418
  }
14419
+ const moveClass = resolveMoveClass(props);
14308
14420
  prevChildren.forEach(callPendingCbs);
14309
- prevChildren.forEach(recordPosition);
14421
+ const shift = origins && getOriginShift(origins, instance.vnode.el);
14422
+ origins = void 0;
14423
+ prevChildren.forEach((c) => recordPosition(c, shift));
14310
14424
  const movedChildren = prevChildren.filter(applyTranslation);
14311
14425
  forceReflow(instance.vnode.el);
14312
14426
  movedChildren.forEach((c) => {
@@ -14339,6 +14453,7 @@ Expected function or array of functions, received type ${typeof value}.`
14339
14453
  tag = "span";
14340
14454
  }
14341
14455
  prevChildren = [];
14456
+ moves = void 0;
14342
14457
  if (children) {
14343
14458
  for (let i = 0; i < children.length; i++) {
14344
14459
  const child = children[i];
@@ -14370,6 +14485,10 @@ Expected function or array of functions, received type ${typeof value}.`
14370
14485
  warn(`<TransitionGroup> children must be keyed.`);
14371
14486
  }
14372
14487
  }
14488
+ if (prevChildren.length) {
14489
+ origins = getOrigins(instance);
14490
+ pendingGroups.set(instance, willMove);
14491
+ }
14373
14492
  return createVNode(tag, null, children);
14374
14493
  };
14375
14494
  }
@@ -14384,8 +14503,11 @@ Expected function or array of functions, received type ${typeof value}.`
14384
14503
  el[enterCbKey]();
14385
14504
  }
14386
14505
  }
14387
- function recordPosition(c) {
14388
- newPositionMap.set(c, getPosition(c.el));
14506
+ function resolveMoveClass(props) {
14507
+ return props.moveClass || `${props.name || "v"}-move`;
14508
+ }
14509
+ function recordPosition(c, shift) {
14510
+ newPositionMap.set(c, getPosition(c.el, shift));
14389
14511
  }
14390
14512
  function applyTranslation(c) {
14391
14513
  const oldPos = positionMap.get(c);
@@ -14409,13 +14531,41 @@ Expected function or array of functions, received type ${typeof value}.`
14409
14531
  return c;
14410
14532
  }
14411
14533
  }
14412
- function getPosition(el) {
14534
+ function getPosition(el, shift) {
14413
14535
  const rect = el.getBoundingClientRect();
14414
14536
  return {
14415
- left: rect.left,
14416
- top: rect.top
14537
+ left: rect.left - (shift ? shift.left : 0),
14538
+ top: rect.top - (shift ? shift.top : 0)
14417
14539
  };
14418
14540
  }
14541
+ function getOrigins(instance) {
14542
+ let origins;
14543
+ for (let group = instance.parent; group; group = group.parent) {
14544
+ const willMove = pendingGroups.get(group);
14545
+ if (willMove) {
14546
+ const item = findItem(group.vnode.el, instance.vnode.el);
14547
+ if (item) {
14548
+ (origins || (origins = [])).push(
14549
+ extend(getPosition(item), { item, willMove })
14550
+ );
14551
+ }
14552
+ }
14553
+ }
14554
+ return origins;
14555
+ }
14556
+ function findItem(root, node) {
14557
+ const container = root.nodeType === 1 ? root : root.parentNode;
14558
+ while (node && node.parentNode !== container) {
14559
+ node = node.parentNode;
14560
+ }
14561
+ if (node && node.nodeType === 1) {
14562
+ return node;
14563
+ }
14564
+ }
14565
+ function getOriginShift(origins, root) {
14566
+ const origin = origins.find((o) => o.willMove() && o.item.contains(root));
14567
+ return origin && getPosition(origin.item, origin);
14568
+ }
14419
14569
  function hasCSSTransform(el, root, moveClass) {
14420
14570
  const clone = el.cloneNode();
14421
14571
  const _vtc = el[vtcKey];