@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
  **/
@@ -267,7 +267,7 @@ var Vue = (function () {
267
267
  const isMathMLTag = /* @__PURE__ */ makeMap(MATH_TAGS);
268
268
  const isVoidTag = /* @__PURE__ */ makeMap(VOID_TAGS);
269
269
 
270
- const specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`;
270
+ const specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,playsinline,readonly`;
271
271
  const isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs);
272
272
  const isBooleanAttr = /* @__PURE__ */ makeMap(
273
273
  specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected`
@@ -1315,19 +1315,41 @@ var Vue = (function () {
1315
1315
  };
1316
1316
  function iterator(self, method, wrapValue) {
1317
1317
  const arr = shallowReadArray(self);
1318
- const iter = arr[method]();
1318
+ const methodFn = arr[method];
1319
+ const iter = methodFn.call(arr);
1319
1320
  if (arr !== self && !isShallow(self)) {
1320
- iter._next = iter.next;
1321
- iter.next = () => {
1322
- const result = iter._next();
1323
- if (!result.done) {
1324
- result.value = wrapValue(result.value);
1321
+ if (iter[Symbol.toStringTag] === "Array Iterator") {
1322
+ const wrapped = Object.create(Object.getPrototypeOf(iter));
1323
+ wrapped.next = () => wrapResult(iter.next(), wrapValue);
1324
+ if (methodFn !== arrayProto[method]) {
1325
+ Object.defineProperties(wrapped, {
1326
+ return: {
1327
+ get() {
1328
+ const fn = iter.return;
1329
+ return typeof fn === "function" ? fn.bind(iter) : fn;
1330
+ }
1331
+ },
1332
+ throw: {
1333
+ get() {
1334
+ const fn = iter.throw;
1335
+ return typeof fn === "function" ? fn.bind(iter) : fn;
1336
+ }
1337
+ }
1338
+ });
1325
1339
  }
1326
- return result;
1327
- };
1340
+ return wrapped;
1341
+ }
1342
+ iter._next = iter.next;
1343
+ iter.next = () => wrapResult(iter._next(), wrapValue);
1328
1344
  }
1329
1345
  return iter;
1330
1346
  }
1347
+ function wrapResult(result, wrapValue) {
1348
+ if (!result.done) {
1349
+ result.value = wrapValue(result.value);
1350
+ }
1351
+ return result;
1352
+ }
1331
1353
  const arrayProto = Array.prototype;
1332
1354
  function apply(self, method, fn, thisArg, wrappedRetFn, args) {
1333
1355
  const arr = shallowReadArray(self);
@@ -1750,6 +1772,8 @@ var Vue = (function () {
1750
1772
  return !isReadonly2;
1751
1773
  } else if (key === "__v_isReadonly") {
1752
1774
  return isReadonly2;
1775
+ } else if (key === "__v_isShallow") {
1776
+ return shallow;
1753
1777
  } else if (key === "__v_raw") {
1754
1778
  return target;
1755
1779
  }
@@ -2295,9 +2319,11 @@ var Vue = (function () {
2295
2319
  if (once && cb) {
2296
2320
  const _cb = cb;
2297
2321
  cb = (...args) => {
2298
- const res = _cb(...args);
2299
- watchHandle();
2300
- return res;
2322
+ try {
2323
+ return _cb(...args);
2324
+ } finally {
2325
+ watchHandle();
2326
+ }
2301
2327
  };
2302
2328
  }
2303
2329
  let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE;
@@ -2308,12 +2334,13 @@ var Vue = (function () {
2308
2334
  if (cb) {
2309
2335
  const newValue = effect.run();
2310
2336
  if (immediateFirstRun || deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue))) {
2311
- if (cleanup) {
2312
- cleanup();
2313
- }
2314
2337
  const currentWatcher = activeWatcher;
2315
- activeWatcher = effect;
2338
+ pauseTracking();
2316
2339
  try {
2340
+ if (cleanup) {
2341
+ cleanup();
2342
+ }
2343
+ activeWatcher = effect;
2317
2344
  const args = [
2318
2345
  newValue,
2319
2346
  // pass undefined as the old value when it's changed for the first time
@@ -2327,6 +2354,7 @@ var Vue = (function () {
2327
2354
  );
2328
2355
  } finally {
2329
2356
  activeWatcher = currentWatcher;
2357
+ resetTracking();
2330
2358
  }
2331
2359
  }
2332
2360
  } else {
@@ -2727,21 +2755,21 @@ var Vue = (function () {
2727
2755
  }
2728
2756
  queueFlush();
2729
2757
  }
2730
- function flushPreFlushCbs(instance, seen, i = flushIndex + 1) {
2758
+ function flushPreFlushCbs(instance, minUid, seen, i = flushIndex + 1) {
2731
2759
  {
2732
2760
  seen = seen || /* @__PURE__ */ new Map();
2733
2761
  }
2734
2762
  for (; i < queue.length; i++) {
2735
2763
  const cb = queue[i];
2736
2764
  if (cb && cb.flags & 2) {
2737
- if (instance && cb.id !== instance.uid) {
2765
+ if (instance && cb.id !== instance.uid || minUid !== void 0 && !(cb.id >= minUid)) {
2738
2766
  continue;
2739
2767
  }
2740
2768
  if (checkRecursiveUpdates(seen, cb)) {
2741
2769
  continue;
2742
2770
  }
2743
2771
  queue.splice(i, 1);
2744
- i--;
2772
+ i = instance ? i - 1 : flushIndex;
2745
2773
  if (cb.flags & 4) {
2746
2774
  cb.flags &= -2;
2747
2775
  }
@@ -2752,12 +2780,23 @@ var Vue = (function () {
2752
2780
  }
2753
2781
  }
2754
2782
  }
2755
- function flushPostFlushCbs(seen) {
2783
+ function flushPostFlushCbs(seen, skip, minUid = 0) {
2756
2784
  if (pendingPostFlushCbs.length) {
2757
- const deduped = [...new Set(pendingPostFlushCbs)].sort(
2758
- (a, b) => getId(a) - getId(b)
2759
- );
2760
- pendingPostFlushCbs.length = 0;
2785
+ let cbs = pendingPostFlushCbs;
2786
+ let kept = 0;
2787
+ if (skip) {
2788
+ cbs = [];
2789
+ for (let i = 0; i < pendingPostFlushCbs.length; i++) {
2790
+ const cb = pendingPostFlushCbs[i];
2791
+ if (cb.i !== void 0 ? !cb.i || cb.i.uid < minUid : skip.has(cb)) {
2792
+ pendingPostFlushCbs[kept++] = cb;
2793
+ } else {
2794
+ cbs.push(cb);
2795
+ }
2796
+ }
2797
+ }
2798
+ const deduped = [...new Set(cbs)].sort((a, b) => getId(a) - getId(b));
2799
+ pendingPostFlushCbs.length = kept;
2761
2800
  if (activePostFlushCbs) {
2762
2801
  for (let i = 0; i < deduped.length; i++) {
2763
2802
  activePostFlushCbs.push(deduped[i]);
@@ -2783,6 +2822,22 @@ var Vue = (function () {
2783
2822
  postFlushIndex = 0;
2784
2823
  }
2785
2824
  }
2825
+ let isFlushing = false;
2826
+ function flushOnAppMount(fn, minUid) {
2827
+ if (isFlushing) {
2828
+ fn();
2829
+ return;
2830
+ }
2831
+ const queued = minUid === void 0 ? void 0 : new Set(pendingPostFlushCbs);
2832
+ fn();
2833
+ isFlushing = true;
2834
+ try {
2835
+ flushPreFlushCbs(void 0, minUid);
2836
+ flushPostFlushCbs(void 0, queued, minUid);
2837
+ } finally {
2838
+ isFlushing = false;
2839
+ }
2840
+ }
2786
2841
  const getId = (job) => job.id == null ? job.flags & 2 ? -1 : Infinity : job.id;
2787
2842
  function flushJobs(seen) {
2788
2843
  {
@@ -3732,6 +3787,7 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
3732
3787
  let isPre = false;
3733
3788
  if (flush === "post") {
3734
3789
  baseWatchOptions.scheduler = (job) => {
3790
+ job.i = instance;
3735
3791
  queuePostRenderEffect(job, instance && instance.suspense);
3736
3792
  };
3737
3793
  } else if (flush !== "sync") {
@@ -4026,7 +4082,11 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
4026
4082
  };
4027
4083
  function moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }, moveType = 2) {
4028
4084
  if (moveType === 0) {
4085
+ if (vnode.targetStart) {
4086
+ insert(vnode.targetStart, container, parentAnchor);
4087
+ }
4029
4088
  insert(vnode.targetAnchor, container, parentAnchor);
4089
+ parentAnchor = vnode.targetAnchor;
4030
4090
  }
4031
4091
  const { el, anchor, shapeFlag, children, props } = vnode;
4032
4092
  const isReorder = moveType === 2;
@@ -4195,10 +4255,6 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
4195
4255
  onAfterAppear: TransitionHookValidator,
4196
4256
  onAppearCancelled: TransitionHookValidator
4197
4257
  };
4198
- const recursiveGetSubtree = (instance) => {
4199
- const subTree = instance.subTree;
4200
- return subTree.component ? recursiveGetSubtree(subTree.component) : subTree;
4201
- };
4202
4258
  const BaseTransitionImpl = {
4203
4259
  name: `BaseTransition`,
4204
4260
  props: BaseTransitionPropsValidators,
@@ -4239,7 +4295,7 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
4239
4295
  setTransitionHooks(innerChild, enterHooks);
4240
4296
  }
4241
4297
  let oldInnerChild = instance.subTree && getInnerChild$1(instance.subTree);
4242
- if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(oldInnerChild, innerChild) && recursiveGetSubtree(instance).type !== Comment) {
4298
+ if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(oldInnerChild, innerChild) && getTransitionRoot(instance.subTree)) {
4243
4299
  let leavingHooks = resolveTransitionHooks(
4244
4300
  oldInnerChild,
4245
4301
  rawProps,
@@ -4375,8 +4431,15 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
4375
4431
  );
4376
4432
  }
4377
4433
  const leavingVNode = leavingVNodesCache[key];
4378
- if (leavingVNode && isSameVNodeType(vnode, leavingVNode) && leavingVNode.el[leaveCbKey]) {
4379
- leavingVNode.el[leaveCbKey]();
4434
+ if (leavingVNode && isSameVNodeType(vnode, leavingVNode)) {
4435
+ let leavingCb = leavingVNode.el[leaveCbKey];
4436
+ if (!leavingCb) {
4437
+ const leavingRoot = getTransitionRoot(leavingVNode);
4438
+ leavingCb = leavingRoot && leavingRoot.el[leaveCbKey];
4439
+ }
4440
+ if (leavingCb) {
4441
+ leavingCb();
4442
+ }
4380
4443
  }
4381
4444
  callHook(hook, [el]);
4382
4445
  },
@@ -4504,6 +4567,12 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
4504
4567
  vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);
4505
4568
  } else {
4506
4569
  vnode.transition = hooks;
4570
+ if (vnode.type === Fragment && isArray(vnode.children)) {
4571
+ const child = filterSingleRoot(vnode.children, false);
4572
+ if (child) {
4573
+ setTransitionHooks(child, hooks);
4574
+ }
4575
+ }
4507
4576
  }
4508
4577
  }
4509
4578
  function getTransitionRawChildren(children, keepComment = false, parentKey) {
@@ -4528,6 +4597,18 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
4528
4597
  }
4529
4598
  return ret;
4530
4599
  }
4600
+ function getTransitionRoot(vnode) {
4601
+ if (vnode.component) {
4602
+ return getTransitionRoot(vnode.component.subTree);
4603
+ }
4604
+ if (vnode.type === Fragment) {
4605
+ const child = isArray(vnode.children) && filterSingleRoot(vnode.children, false);
4606
+ return child ? getTransitionRoot(child) : void 0;
4607
+ }
4608
+ if (vnode.type !== Comment) {
4609
+ return vnode;
4610
+ }
4611
+ }
4531
4612
 
4532
4613
  // @__NO_SIDE_EFFECTS__
4533
4614
  function defineComponent(options, extraOptions) {
@@ -5433,14 +5514,22 @@ Server rendered element contains fewer child nodes than client vdom.`
5433
5514
  break;
5434
5515
  }
5435
5516
  }, opts);
5436
- forEach((el) => {
5437
- if (!(el instanceof Element)) return;
5517
+ const observe = (el) => {
5438
5518
  if (elementIsVisibleInViewport(el)) {
5439
5519
  hydrate();
5440
5520
  ob.disconnect();
5441
5521
  return false;
5442
5522
  }
5523
+ if (getComputedStyle(el).display === "contents") {
5524
+ for (let i = 0; i < el.children.length; i++) {
5525
+ if (observe(el.children[i]) === false) return false;
5526
+ }
5527
+ }
5443
5528
  ob.observe(el);
5529
+ };
5530
+ forEach((el) => {
5531
+ if (!(el instanceof Element)) return;
5532
+ return observe(el);
5444
5533
  });
5445
5534
  return () => ob.disconnect();
5446
5535
  };
@@ -5791,6 +5880,7 @@ Server rendered element contains fewer child nodes than client vdom.`
5791
5880
  unmount(cached);
5792
5881
  } else if (current) {
5793
5882
  resetShapeFlag(current);
5883
+ if (cached) resetShapeFlag(cached);
5794
5884
  }
5795
5885
  cache.delete(key);
5796
5886
  keys.delete(key);
@@ -6373,9 +6463,11 @@ If this is a native custom element, make sure to exclude it from component resol
6373
6463
  }
6374
6464
  } else if (typeof source === "number") {
6375
6465
  if (!Number.isInteger(source) || source < 0) {
6376
- warn$1(
6377
- `The v-for range expects a positive integer value but got ${source}.`
6378
- );
6466
+ {
6467
+ warn$1(
6468
+ `The v-for range expects a positive integer value but got ${source}.`
6469
+ );
6470
+ }
6379
6471
  ret = [];
6380
6472
  } else {
6381
6473
  ret = new Array(source);
@@ -6694,6 +6786,7 @@ If this is a native custom element, make sure to exclude it from component resol
6694
6786
  $vnode: (i) => i.vnode,
6695
6787
  // some private properties that are likely accessed...
6696
6788
  _self: (i) => i.proxy,
6789
+ _setupProxy: (i) => i.setupState,
6697
6790
  _uid: (i) => i.uid,
6698
6791
  _data: (i) => i.data,
6699
6792
  _isMounted: (i) => i.isMounted,
@@ -7678,7 +7771,7 @@ If this is a native custom element, make sure to exclude it from component resol
7678
7771
  return vm;
7679
7772
  }
7680
7773
  }
7681
- Vue.version = `2.6.14-compat:${"3.5.43"}`;
7774
+ Vue.version = `2.6.14-compat:${"3.5.44"}`;
7682
7775
  Vue.config = singletonApp.config;
7683
7776
  Vue.use = (plugin, ...options) => {
7684
7777
  if (plugin && isFunction(plugin.install)) {
@@ -8835,7 +8928,7 @@ If you want to remount the same app, move your app creation logic into a factory
8835
8928
  }
8836
8929
  for (let i = 0; i < nextKeys.length; i++) {
8837
8930
  const key = nextKeys[i];
8838
- if (hasPropValueChanged(nextProps, prevProps, key) && !isEmitListener(emitsOptions, key)) {
8931
+ if (!hasOwn(prevProps, key) || hasPropValueChanged(nextProps, prevProps, key) && !isEmitListener(emitsOptions, key)) {
8839
8932
  return true;
8840
8933
  }
8841
8934
  }
@@ -9946,15 +10039,16 @@ If you want to remount the same app, move your app creation logic into a factory
9946
10039
  for (let i = 0; i < newChildren.length; i++) {
9947
10040
  const oldVNode = oldChildren[i];
9948
10041
  const newVNode = newChildren[i];
10042
+ const oldEl = oldVNode.el || resolveAsyncComponentPlaceholder(oldVNode);
9949
10043
  const container = (
9950
10044
  // oldVNode may be an errored async setup() component inside Suspense
9951
10045
  // which will not have a mounted element
9952
- oldVNode.el && // - In the case of a Fragment, we need to provide the actual parent
10046
+ oldEl && // - In the case of a Fragment, we need to provide the actual parent
9953
10047
  // of the Fragment itself so it can move its children.
9954
10048
  (oldVNode.type === Fragment || // - In the case of different nodes, there is going to be a replacement
9955
10049
  // which also requires the correct parent container
9956
10050
  !isSameVNodeType(oldVNode, newVNode) || // - In the case of a component, it could contain anything.
9957
- oldVNode.shapeFlag & (6 | 64 | 128)) ? hostParentNode(oldVNode.el) : (
10051
+ oldVNode.shapeFlag & (6 | 64 | 128)) ? hostParentNode(oldEl) : (
9958
10052
  // In other cases, the parent container is not actually used so we
9959
10053
  // just pass the block element here to avoid a DOM parentNode call.
9960
10054
  fallbackContainer
@@ -10119,7 +10213,12 @@ If you want to remount the same app, move your app creation logic into a factory
10119
10213
  }
10120
10214
  if (isHmrUpdating) initialVNode.el = null;
10121
10215
  if (instance.asyncDep) {
10122
- parentSuspense && parentSuspense.registerDep(instance, setupRenderEffect, optimized);
10216
+ parentSuspense && parentSuspense.registerDep(
10217
+ instance,
10218
+ setupRenderEffect,
10219
+ optimized,
10220
+ namespace
10221
+ );
10123
10222
  if (!initialVNode.el) {
10124
10223
  const placeholder = instance.subTree = createVNode(Comment);
10125
10224
  processCommentNode(null, placeholder, container, anchor);
@@ -10149,6 +10248,7 @@ If you want to remount the same app, move your app creation logic into a factory
10149
10248
  pushWarningContext(n2);
10150
10249
  }
10151
10250
  n2.el = n1.el;
10251
+ n2.placeholder = n1.placeholder;
10152
10252
  updateComponentPreRender(instance, n2, optimized);
10153
10253
  {
10154
10254
  popWarningContext();
@@ -10160,6 +10260,7 @@ If you want to remount the same app, move your app creation logic into a factory
10160
10260
  }
10161
10261
  } else {
10162
10262
  n2.el = n1.el;
10263
+ n2.placeholder = n1.placeholder;
10163
10264
  instance.vnode = n2;
10164
10265
  }
10165
10266
  };
@@ -10837,18 +10938,9 @@ If you want to remount the same app, move your app creation logic into a factory
10837
10938
  };
10838
10939
  const remove = (vnode) => {
10839
10940
  const { type, el, anchor, transition } = vnode;
10840
- if (type === Fragment) {
10841
- if (vnode.patchFlag > 0 && vnode.patchFlag & 2048 && transition && !transition.persisted) {
10842
- vnode.children.forEach((child) => {
10843
- if (child.type === Comment) {
10844
- hostRemove(child.el);
10845
- } else {
10846
- remove(child);
10847
- }
10848
- });
10849
- } else {
10850
- removeFragment(el, anchor);
10851
- }
10941
+ const isFragment = type === Fragment;
10942
+ if (isFragment && !transition) {
10943
+ removeFragment(el, anchor);
10852
10944
  return;
10853
10945
  }
10854
10946
  if (type === Static) {
@@ -10858,17 +10950,25 @@ If you want to remount the same app, move your app creation logic into a factory
10858
10950
  }
10859
10951
  return;
10860
10952
  }
10953
+ const leavingNode = isFragment ? getTransitionRoot(vnode) : vnode;
10861
10954
  const performRemove = () => {
10862
- hostRemove(el);
10955
+ if (isFragment) {
10956
+ if (hostParentNode(el)) {
10957
+ removeFragment(el, anchor);
10958
+ }
10959
+ } else {
10960
+ hostRemove(el);
10961
+ }
10863
10962
  if (transition && !transition.persisted && transition.afterLeave) {
10864
10963
  transition.afterLeave();
10865
10964
  }
10866
10965
  };
10867
- if (vnode.shapeFlag & 1 && transition && !transition.persisted) {
10966
+ if (leavingNode && leavingNode.shapeFlag & 1 && transition && !transition.persisted) {
10868
10967
  const { leave, delayLeave } = transition;
10869
- const performLeave = () => leave(el, performRemove);
10968
+ const leavingEl = leavingNode.el;
10969
+ const performLeave = () => leave(leavingEl, performRemove);
10870
10970
  if (delayLeave) {
10871
- delayLeave(vnode.el, performRemove, performLeave);
10971
+ delayLeave(leavingEl, performRemove, performLeave);
10872
10972
  } else {
10873
10973
  performLeave();
10874
10974
  }
@@ -10938,32 +11038,26 @@ If you want to remount the same app, move your app creation logic into a factory
10938
11038
  const teleportEnd = el && el[TeleportEndKey];
10939
11039
  return teleportEnd ? hostNextSibling(teleportEnd) : el;
10940
11040
  };
10941
- let isFlushing = false;
10942
11041
  const render = (vnode, container, namespace) => {
10943
- let instance;
10944
- if (vnode == null) {
10945
- if (container._vnode) {
10946
- unmount(container._vnode, null, null, true);
10947
- instance = container._vnode.component;
11042
+ const minUid = vnode && container._vnode ? void 0 : vnode && vnode.component ? vnode.component.uid : getNextUid();
11043
+ flushOnAppMount(() => {
11044
+ if (vnode == null) {
11045
+ if (container._vnode) {
11046
+ unmount(container._vnode, null, null, true);
11047
+ }
11048
+ } else {
11049
+ patch(
11050
+ container._vnode || null,
11051
+ vnode,
11052
+ container,
11053
+ null,
11054
+ null,
11055
+ null,
11056
+ namespace
11057
+ );
10948
11058
  }
10949
- } else {
10950
- patch(
10951
- container._vnode || null,
10952
- vnode,
10953
- container,
10954
- null,
10955
- null,
10956
- null,
10957
- namespace
10958
- );
10959
- }
10960
- container._vnode = vnode;
10961
- if (!isFlushing) {
10962
- isFlushing = true;
10963
- flushPreFlushCbs(instance);
10964
- flushPostFlushCbs();
10965
- isFlushing = false;
10966
- }
11059
+ container._vnode = vnode;
11060
+ }, minUid);
10967
11061
  };
10968
11062
  const internals = {
10969
11063
  p: patch,
@@ -11551,7 +11645,10 @@ If you want to remount the same app, move your app creation logic into a factory
11551
11645
  next() {
11552
11646
  return suspense.activeBranch && next(suspense.activeBranch);
11553
11647
  },
11554
- registerDep(instance, setupRenderEffect, optimized2) {
11648
+ // `namespace` intentionally shadows the boundary's own: the dep must be
11649
+ // mounted with the namespace of the position it was rendered at, which can
11650
+ // differ from the boundary's (e.g. a component nested inside an <svg>).
11651
+ registerDep(instance, setupRenderEffect, optimized2, namespace2) {
11555
11652
  const isInPendingSuspense = !!suspense.pendingBranch;
11556
11653
  if (isInPendingSuspense) {
11557
11654
  suspense.deps++;
@@ -11564,7 +11661,7 @@ If you want to remount the same app, move your app creation logic into a factory
11564
11661
  return;
11565
11662
  }
11566
11663
  unsetCurrentInstance();
11567
- if (hydratedEl && !instance.scope.active) {
11664
+ if (!instance.scope.active) {
11568
11665
  if (isInPendingSuspense && --suspense.deps === 0) {
11569
11666
  suspense.resolve();
11570
11667
  }
@@ -11591,7 +11688,7 @@ If you want to remount the same app, move your app creation logic into a factory
11591
11688
  // consider the comment placeholder case.
11592
11689
  hydratedEl ? null : next(instance.subTree),
11593
11690
  suspense,
11594
- namespace,
11691
+ namespace2,
11595
11692
  optimized2
11596
11693
  );
11597
11694
  if (placeholder) {
@@ -12192,6 +12289,9 @@ Component that was made reactive: `,
12192
12289
 
12193
12290
  const emptyAppContext = createAppContext();
12194
12291
  let uid = 0;
12292
+ function getNextUid() {
12293
+ return uid;
12294
+ }
12195
12295
  function createComponentInstance(vnode, parent, suspense) {
12196
12296
  const type = vnode.type;
12197
12297
  const appContext = (parent ? parent.appContext : vnode.appContext) || emptyAppContext;
@@ -12862,7 +12962,7 @@ Component that was made reactive: `,
12862
12962
  return true;
12863
12963
  }
12864
12964
 
12865
- const version = "3.5.43";
12965
+ const version = "3.5.44";
12866
12966
  const warn = warn$1 ;
12867
12967
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
12868
12968
  const devtools = devtools$1 ;
@@ -13463,7 +13563,9 @@ Component that was made reactive: `,
13463
13563
  }
13464
13564
  }
13465
13565
  if (vShowOriginalDisplay in el) {
13466
- el[vShowOriginalDisplay] = hasControlledDisplay ? style.display : "";
13566
+ if (!isCssString || prev !== next) {
13567
+ el[vShowOriginalDisplay] = hasControlledDisplay ? style.display : "";
13568
+ }
13467
13569
  if (el[vShowHidden]) {
13468
13570
  style.display = "none";
13469
13571
  }
@@ -13989,7 +14091,9 @@ Expected function or array of functions, received type ${typeof value}.`
13989
14091
  "Custom element style injection is not supported when using shadowRoot: false"
13990
14092
  );
13991
14093
  }
13992
- this._mount(def);
14094
+ if (this._connected) {
14095
+ this._mount(def);
14096
+ }
13993
14097
  };
13994
14098
  const asyncDef = this._def.__asyncLoader;
13995
14099
  if (asyncDef) {
@@ -14347,6 +14451,7 @@ Expected function or array of functions, received type ${typeof value}.`
14347
14451
  const newPositionMap = /* @__PURE__ */ new WeakMap();
14348
14452
  const moveCbKey = /* @__PURE__ */ Symbol("_moveCb");
14349
14453
  const enterCbKey = /* @__PURE__ */ Symbol("_enterCb");
14454
+ const pendingGroups = /* @__PURE__ */ new WeakMap();
14350
14455
  const decorate = (t) => {
14351
14456
  delete t.props.mode;
14352
14457
  {
@@ -14365,21 +14470,30 @@ Expected function or array of functions, received type ${typeof value}.`
14365
14470
  const state = useTransitionState();
14366
14471
  let prevChildren;
14367
14472
  let children;
14368
- onUpdated(() => {
14369
- if (!prevChildren.length) {
14370
- return;
14473
+ let origins;
14474
+ let moves;
14475
+ const willMove = () => {
14476
+ if (moves === void 0) {
14477
+ moves = prevChildren.length > 0 && hasCSSTransform(
14478
+ prevChildren[0].el,
14479
+ instance.vnode.el,
14480
+ resolveMoveClass(props)
14481
+ );
14371
14482
  }
14372
- const moveClass = props.moveClass || `${props.name || "v"}-move`;
14373
- if (!hasCSSTransform(
14374
- prevChildren[0].el,
14375
- instance.vnode.el,
14376
- moveClass
14377
- )) {
14483
+ return moves;
14484
+ };
14485
+ onUpdated(() => {
14486
+ pendingGroups.delete(instance);
14487
+ if (!willMove()) {
14378
14488
  prevChildren = [];
14489
+ origins = void 0;
14379
14490
  return;
14380
14491
  }
14492
+ const moveClass = resolveMoveClass(props);
14381
14493
  prevChildren.forEach(callPendingCbs);
14382
- prevChildren.forEach(recordPosition);
14494
+ const shift = origins && getOriginShift(origins, instance.vnode.el);
14495
+ origins = void 0;
14496
+ prevChildren.forEach((c) => recordPosition(c, shift));
14383
14497
  const movedChildren = prevChildren.filter(applyTranslation);
14384
14498
  forceReflow(instance.vnode.el);
14385
14499
  movedChildren.forEach((c) => {
@@ -14412,6 +14526,7 @@ Expected function or array of functions, received type ${typeof value}.`
14412
14526
  tag = "span";
14413
14527
  }
14414
14528
  prevChildren = [];
14529
+ moves = void 0;
14415
14530
  if (children) {
14416
14531
  for (let i = 0; i < children.length; i++) {
14417
14532
  const child = children[i];
@@ -14443,6 +14558,10 @@ Expected function or array of functions, received type ${typeof value}.`
14443
14558
  warn(`<TransitionGroup> children must be keyed.`);
14444
14559
  }
14445
14560
  }
14561
+ if (prevChildren.length) {
14562
+ origins = getOrigins(instance);
14563
+ pendingGroups.set(instance, willMove);
14564
+ }
14446
14565
  return createVNode(tag, null, children);
14447
14566
  };
14448
14567
  }
@@ -14457,8 +14576,11 @@ Expected function or array of functions, received type ${typeof value}.`
14457
14576
  el[enterCbKey]();
14458
14577
  }
14459
14578
  }
14460
- function recordPosition(c) {
14461
- newPositionMap.set(c, getPosition(c.el));
14579
+ function resolveMoveClass(props) {
14580
+ return props.moveClass || `${props.name || "v"}-move`;
14581
+ }
14582
+ function recordPosition(c, shift) {
14583
+ newPositionMap.set(c, getPosition(c.el, shift));
14462
14584
  }
14463
14585
  function applyTranslation(c) {
14464
14586
  const oldPos = positionMap.get(c);
@@ -14482,13 +14604,41 @@ Expected function or array of functions, received type ${typeof value}.`
14482
14604
  return c;
14483
14605
  }
14484
14606
  }
14485
- function getPosition(el) {
14607
+ function getPosition(el, shift) {
14486
14608
  const rect = el.getBoundingClientRect();
14487
14609
  return {
14488
- left: rect.left,
14489
- top: rect.top
14610
+ left: rect.left - (shift ? shift.left : 0),
14611
+ top: rect.top - (shift ? shift.top : 0)
14490
14612
  };
14491
14613
  }
14614
+ function getOrigins(instance) {
14615
+ let origins;
14616
+ for (let group = instance.parent; group; group = group.parent) {
14617
+ const willMove = pendingGroups.get(group);
14618
+ if (willMove) {
14619
+ const item = findItem(group.vnode.el, instance.vnode.el);
14620
+ if (item) {
14621
+ (origins || (origins = [])).push(
14622
+ extend(getPosition(item), { item, willMove })
14623
+ );
14624
+ }
14625
+ }
14626
+ }
14627
+ return origins;
14628
+ }
14629
+ function findItem(root, node) {
14630
+ const container = root.nodeType === 1 ? root : root.parentNode;
14631
+ while (node && node.parentNode !== container) {
14632
+ node = node.parentNode;
14633
+ }
14634
+ if (node && node.nodeType === 1) {
14635
+ return node;
14636
+ }
14637
+ }
14638
+ function getOriginShift(origins, root) {
14639
+ const origin = origins.find((o) => o.willMove() && o.item.contains(root));
14640
+ return origin && getPosition(origin.item, origin);
14641
+ }
14492
14642
  function hasCSSTransform(el, root, moveClass) {
14493
14643
  const clone = el.cloneNode();
14494
14644
  const _vtc = el[vtcKey];
@@ -16430,7 +16580,8 @@ Make sure to use the production build (*.prod.js) when deploying for production.
16430
16580
  [42]: `v-model value must be a valid JavaScript member expression.`,
16431
16581
  [43]: `v-model cannot be used on v-for or v-slot scope variables because they are not writable.`,
16432
16582
  [44]: `v-model cannot be used on a prop, because local prop bindings are not writable.
16433
- Use a v-bind binding combined with a v-on listener that emits update:x event instead.`,
16583
+ Use a v-bind binding combined with a v-on listener that emits update:x event instead.
16584
+ For props declared with defineModel(), assign the returned ref to a variable and use v-model on that variable.`,
16434
16585
  [45]: `v-model cannot be used on a const binding because it is not writable.`,
16435
16586
  [46]: `Error parsing JavaScript expression: `,
16436
16587
  [47]: `<KeepAlive> expects exactly one child component.`,
@@ -19021,7 +19172,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
19021
19172
  createCompoundExpression([`const _memo = (`, memo.exp, `)`]),
19022
19173
  createCompoundExpression([
19023
19174
  `if (_cached && _cached.el`,
19024
- ...keyExp ? [` && _cached.key === `, keyExp] : [],
19175
+ ...keyExp ? [` && _cached.key === (`, keyExp, `)`] : [],
19025
19176
  ` && ${context.helperString(
19026
19177
  IS_MEMO_SAME
19027
19178
  )}(_cached, _memo)) return _cached`
@@ -20960,7 +21111,8 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
20960
21111
  if (!node.children.length) {
20961
21112
  return;
20962
21113
  }
20963
- if (hasMultipleChildren(node)) {
21114
+ const multipleChildren = hasMultipleChildren(node);
21115
+ if (multipleChildren) {
20964
21116
  context.onError(
20965
21117
  createDOMCompilerError(
20966
21118
  63,
@@ -21187,7 +21339,8 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
21187
21339
 
21188
21340
  const DOMNodeTransforms = [
21189
21341
  transformStyle,
21190
- ...[transformTransition, validateHtmlNesting]
21342
+ transformTransition,
21343
+ ...[validateHtmlNesting]
21191
21344
  ];
21192
21345
  const DOMDirectiveTransforms = {
21193
21346
  cloak: noopDirectiveTransform,