@vue/compat 3.5.20 → 3.5.22

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,9 +1,8 @@
1
1
  /**
2
- * @vue/compat v3.5.20
2
+ * @vue/compat v3.5.22
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
6
- /*! #__NO_SIDE_EFFECTS__ */
7
6
  // @__NO_SIDE_EFFECTS__
8
7
  function makeMap(str) {
9
8
  const map = /* @__PURE__ */ Object.create(null);
@@ -61,10 +60,10 @@ const cacheStringFunction = (fn) => {
61
60
  return hit || (cache[str] = fn(str));
62
61
  });
63
62
  };
64
- const camelizeRE = /-(\w)/g;
63
+ const camelizeRE = /-\w/g;
65
64
  const camelize = cacheStringFunction(
66
65
  (str) => {
67
- return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : "");
66
+ return str.replace(camelizeRE, (c) => c.slice(1).toUpperCase());
68
67
  }
69
68
  );
70
69
  const hyphenateRE = /\B([A-Z])/g;
@@ -1147,7 +1146,7 @@ function iterator(self, method, wrapValue) {
1147
1146
  iter._next = iter.next;
1148
1147
  iter.next = () => {
1149
1148
  const result = iter._next();
1150
- if (result.value) {
1149
+ if (!result.done) {
1151
1150
  result.value = wrapValue(result.value);
1152
1151
  }
1153
1152
  return result;
@@ -1274,7 +1273,8 @@ class BaseReactiveHandler {
1274
1273
  return res;
1275
1274
  }
1276
1275
  if (isRef(res)) {
1277
- return targetIsArray && isIntegerKey(key) ? res : res.value;
1276
+ const value = targetIsArray && isIntegerKey(key) ? res : res.value;
1277
+ return isReadonly2 && isObject(value) ? readonly(value) : value;
1278
1278
  }
1279
1279
  if (isObject(res)) {
1280
1280
  return isReadonly2 ? readonly(res) : reactive(res);
@@ -2164,11 +2164,11 @@ function traverse(value, depth = Infinity, seen) {
2164
2164
  if (depth <= 0 || !isObject(value) || value["__v_skip"]) {
2165
2165
  return value;
2166
2166
  }
2167
- seen = seen || /* @__PURE__ */ new Set();
2168
- if (seen.has(value)) {
2167
+ seen = seen || /* @__PURE__ */ new Map();
2168
+ if ((seen.get(value) || 0) >= depth) {
2169
2169
  return value;
2170
2170
  }
2171
- seen.add(value);
2171
+ seen.set(value, depth);
2172
2172
  depth--;
2173
2173
  if (isRef(value)) {
2174
2174
  traverse(value.value, depth, seen);
@@ -2712,10 +2712,12 @@ function reload(id, newComp) {
2712
2712
  dirtyInstances.delete(instance);
2713
2713
  } else if (instance.parent) {
2714
2714
  queueJob(() => {
2715
- isHmrUpdating = true;
2716
- instance.parent.update();
2717
- isHmrUpdating = false;
2718
- dirtyInstances.delete(instance);
2715
+ if (!(instance.job.flags & 8)) {
2716
+ isHmrUpdating = true;
2717
+ instance.parent.update();
2718
+ isHmrUpdating = false;
2719
+ dirtyInstances.delete(instance);
2720
+ }
2719
2721
  });
2720
2722
  } else if (instance.appContext.reload) {
2721
2723
  instance.appContext.reload();
@@ -2819,7 +2821,6 @@ const devtoolsComponentRemoved = (component) => {
2819
2821
  _devtoolsComponentRemoved(component);
2820
2822
  }
2821
2823
  };
2822
- /*! #__NO_SIDE_EFFECTS__ */
2823
2824
  // @__NO_SIDE_EFFECTS__
2824
2825
  function createDevtoolsComponentHook(hook) {
2825
2826
  return (component) => {
@@ -3536,9 +3537,6 @@ const TeleportImpl = {
3536
3537
  insert(mainAnchor, container, anchor);
3537
3538
  const mount = (container2, anchor2) => {
3538
3539
  if (shapeFlag & 16) {
3539
- if (parentComponent && parentComponent.isCE) {
3540
- parentComponent.ce._teleportTarget = container2;
3541
- }
3542
3540
  mountChildren(
3543
3541
  children,
3544
3542
  container2,
@@ -3560,6 +3558,9 @@ const TeleportImpl = {
3560
3558
  } else if (namespace !== "mathml" && isTargetMathML(target)) {
3561
3559
  namespace = "mathml";
3562
3560
  }
3561
+ if (parentComponent && parentComponent.isCE) {
3562
+ (parentComponent.ce._teleportTargets || (parentComponent.ce._teleportTargets = /* @__PURE__ */ new Set())).add(target);
3563
+ }
3563
3564
  if (!disabled) {
3564
3565
  mount(target, targetAnchor);
3565
3566
  updateCssVars(n2, false);
@@ -3748,26 +3749,34 @@ function moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }
3748
3749
  function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, {
3749
3750
  o: { nextSibling, parentNode, querySelector, insert, createText }
3750
3751
  }, hydrateChildren) {
3752
+ function hydrateDisabledTeleport(node2, vnode2, targetStart, targetAnchor) {
3753
+ vnode2.anchor = hydrateChildren(
3754
+ nextSibling(node2),
3755
+ vnode2,
3756
+ parentNode(node2),
3757
+ parentComponent,
3758
+ parentSuspense,
3759
+ slotScopeIds,
3760
+ optimized
3761
+ );
3762
+ vnode2.targetStart = targetStart;
3763
+ vnode2.targetAnchor = targetAnchor;
3764
+ }
3751
3765
  const target = vnode.target = resolveTarget(
3752
3766
  vnode.props,
3753
3767
  querySelector
3754
3768
  );
3769
+ const disabled = isTeleportDisabled(vnode.props);
3755
3770
  if (target) {
3756
- const disabled = isTeleportDisabled(vnode.props);
3757
3771
  const targetNode = target._lpa || target.firstChild;
3758
3772
  if (vnode.shapeFlag & 16) {
3759
3773
  if (disabled) {
3760
- vnode.anchor = hydrateChildren(
3761
- nextSibling(node),
3774
+ hydrateDisabledTeleport(
3775
+ node,
3762
3776
  vnode,
3763
- parentNode(node),
3764
- parentComponent,
3765
- parentSuspense,
3766
- slotScopeIds,
3767
- optimized
3777
+ targetNode,
3778
+ targetNode && nextSibling(targetNode)
3768
3779
  );
3769
- vnode.targetStart = targetNode;
3770
- vnode.targetAnchor = targetNode && nextSibling(targetNode);
3771
3780
  } else {
3772
3781
  vnode.anchor = nextSibling(node);
3773
3782
  let targetAnchor = targetNode;
@@ -3798,6 +3807,10 @@ function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScope
3798
3807
  }
3799
3808
  }
3800
3809
  updateCssVars(vnode, disabled);
3810
+ } else if (disabled) {
3811
+ if (vnode.shapeFlag & 16) {
3812
+ hydrateDisabledTeleport(node, vnode, node, nextSibling(node));
3813
+ }
3801
3814
  }
3802
3815
  return vnode.anchor && nextSibling(vnode.anchor);
3803
3816
  }
@@ -3909,7 +3922,7 @@ const BaseTransitionImpl = {
3909
3922
  setTransitionHooks(innerChild, enterHooks);
3910
3923
  }
3911
3924
  let oldInnerChild = instance.subTree && getInnerChild$1(instance.subTree);
3912
- if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(innerChild, oldInnerChild) && recursiveGetSubtree(instance).type !== Comment) {
3925
+ if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(oldInnerChild, innerChild) && recursiveGetSubtree(instance).type !== Comment) {
3913
3926
  let leavingHooks = resolveTransitionHooks(
3914
3927
  oldInnerChild,
3915
3928
  rawProps,
@@ -4193,7 +4206,6 @@ function getTransitionRawChildren(children, keepComment = false, parentKey) {
4193
4206
  return ret;
4194
4207
  }
4195
4208
 
4196
- /*! #__NO_SIDE_EFFECTS__ */
4197
4209
  // @__NO_SIDE_EFFECTS__
4198
4210
  function defineComponent(options, extraOptions) {
4199
4211
  return isFunction(options) ? (
@@ -4246,6 +4258,7 @@ function useTemplateRef(key) {
4246
4258
  return ret;
4247
4259
  }
4248
4260
 
4261
+ const pendingSetRefMap = /* @__PURE__ */ new WeakMap();
4249
4262
  function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
4250
4263
  if (isArray(rawRef)) {
4251
4264
  rawRef.forEach(
@@ -4295,6 +4308,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
4295
4308
  return !!!(process.env.NODE_ENV !== "production") || !knownTemplateRefs.has(ref2);
4296
4309
  };
4297
4310
  if (oldRef != null && oldRef !== ref) {
4311
+ invalidatePendingSetRef(oldRawRef);
4298
4312
  if (isString(oldRef)) {
4299
4313
  refs[oldRef] = null;
4300
4314
  if (canSetSetupRef(oldRef)) {
@@ -4352,9 +4366,15 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
4352
4366
  }
4353
4367
  };
4354
4368
  if (value) {
4355
- doSet.id = -1;
4356
- queuePostRenderEffect(doSet, parentSuspense);
4369
+ const job = () => {
4370
+ doSet();
4371
+ pendingSetRefMap.delete(rawRef);
4372
+ };
4373
+ job.id = -1;
4374
+ pendingSetRefMap.set(rawRef, job);
4375
+ queuePostRenderEffect(job, parentSuspense);
4357
4376
  } else {
4377
+ invalidatePendingSetRef(rawRef);
4358
4378
  doSet();
4359
4379
  }
4360
4380
  } else if (!!(process.env.NODE_ENV !== "production")) {
@@ -4362,6 +4382,13 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
4362
4382
  }
4363
4383
  }
4364
4384
  }
4385
+ function invalidatePendingSetRef(rawRef) {
4386
+ const pendingSetRef = pendingSetRefMap.get(rawRef);
4387
+ if (pendingSetRef) {
4388
+ pendingSetRef.flags |= 8;
4389
+ pendingSetRefMap.delete(rawRef);
4390
+ }
4391
+ }
4365
4392
 
4366
4393
  let hasLoggedMismatchError = false;
4367
4394
  const logMismatchError = () => {
@@ -5105,7 +5132,6 @@ function forEachElement(node, cb) {
5105
5132
  }
5106
5133
 
5107
5134
  const isAsyncWrapper = (i) => !!i.type.__asyncLoader;
5108
- /*! #__NO_SIDE_EFFECTS__ */
5109
5135
  // @__NO_SIDE_EFFECTS__
5110
5136
  function defineAsyncComponent(source) {
5111
5137
  if (isFunction(source)) {
@@ -6006,12 +6032,13 @@ function createSlots(slots, dynamicSlots) {
6006
6032
 
6007
6033
  function renderSlot(slots, name, props = {}, fallback, noSlotted) {
6008
6034
  if (currentRenderingInstance.ce || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.ce) {
6035
+ const hasProps = Object.keys(props).length > 0;
6009
6036
  if (name !== "default") props.name = name;
6010
6037
  return openBlock(), createBlock(
6011
6038
  Fragment,
6012
6039
  null,
6013
6040
  [createVNode("slot", props, fallback && fallback())],
6014
- 64
6041
+ hasProps ? -2 : 64
6015
6042
  );
6016
6043
  }
6017
6044
  let slot = slots[name];
@@ -7204,7 +7231,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
7204
7231
  return vm;
7205
7232
  }
7206
7233
  }
7207
- Vue.version = `2.6.14-compat:${"3.5.20"}`;
7234
+ Vue.version = `2.6.14-compat:${"3.5.22"}`;
7208
7235
  Vue.config = singletonApp.config;
7209
7236
  Vue.use = (plugin, ...options) => {
7210
7237
  if (plugin && isFunction(plugin.install)) {
@@ -7462,7 +7489,7 @@ function installCompatMount(app, context, render) {
7462
7489
  if (!!(process.env.NODE_ENV !== "production")) {
7463
7490
  for (let i = 0; i < container.attributes.length; i++) {
7464
7491
  const attr = container.attributes[i];
7465
- if (attr.name !== "v-cloak" && /^(v-|:|@)/.test(attr.name)) {
7492
+ if (attr.name !== "v-cloak" && /^(?:v-|:|@)/.test(attr.name)) {
7466
7493
  warnDeprecation("GLOBAL_MOUNT_CONTAINER", null);
7467
7494
  break;
7468
7495
  }
@@ -10314,8 +10341,9 @@ function emit(instance, event, ...rawArgs) {
10314
10341
  return emit$1(instance, event, args);
10315
10342
  }
10316
10343
  }
10344
+ const mixinEmitsCache = /* @__PURE__ */ new WeakMap();
10317
10345
  function normalizeEmitsOptions(comp, appContext, asMixin = false) {
10318
- const cache = appContext.emitsCache;
10346
+ const cache = __VUE_OPTIONS_API__ && asMixin ? mixinEmitsCache : appContext.emitsCache;
10319
10347
  const cached = cache.get(comp);
10320
10348
  if (cached !== void 0) {
10321
10349
  return cached;
@@ -10787,7 +10815,7 @@ function patchSuspense(n1, n2, container, anchor, parentComponent, namespace, sl
10787
10815
  const { activeBranch, pendingBranch, isInFallback, isHydrating } = suspense;
10788
10816
  if (pendingBranch) {
10789
10817
  suspense.pendingBranch = newBranch;
10790
- if (isSameVNodeType(newBranch, pendingBranch)) {
10818
+ if (isSameVNodeType(pendingBranch, newBranch)) {
10791
10819
  patch(
10792
10820
  pendingBranch,
10793
10821
  newBranch,
@@ -10858,7 +10886,7 @@ function patchSuspense(n1, n2, container, anchor, parentComponent, namespace, sl
10858
10886
  );
10859
10887
  setActiveBranch(suspense, newFallback);
10860
10888
  }
10861
- } else if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {
10889
+ } else if (activeBranch && isSameVNodeType(activeBranch, newBranch)) {
10862
10890
  patch(
10863
10891
  activeBranch,
10864
10892
  newBranch,
@@ -10889,7 +10917,7 @@ function patchSuspense(n1, n2, container, anchor, parentComponent, namespace, sl
10889
10917
  }
10890
10918
  }
10891
10919
  } else {
10892
- if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {
10920
+ if (activeBranch && isSameVNodeType(activeBranch, newBranch)) {
10893
10921
  patch(
10894
10922
  activeBranch,
10895
10923
  newBranch,
@@ -12139,7 +12167,7 @@ function getComponentPublicInstance(instance) {
12139
12167
  return instance.proxy;
12140
12168
  }
12141
12169
  }
12142
- const classifyRE = /(?:^|[-_])(\w)/g;
12170
+ const classifyRE = /(?:^|[-_])\w/g;
12143
12171
  const classify = (str) => str.replace(classifyRE, (c) => c.toUpperCase()).replace(/[-_]/g, "");
12144
12172
  function getComponentName(Component, includeInferred = true) {
12145
12173
  return isFunction(Component) ? Component.displayName || Component.name : Component.name || includeInferred && Component.__name;
@@ -12182,23 +12210,28 @@ const computed = (getterOrOptions, debugOptions) => {
12182
12210
  };
12183
12211
 
12184
12212
  function h(type, propsOrChildren, children) {
12185
- const l = arguments.length;
12186
- if (l === 2) {
12187
- if (isObject(propsOrChildren) && !isArray(propsOrChildren)) {
12188
- if (isVNode(propsOrChildren)) {
12189
- return createVNode(type, null, [propsOrChildren]);
12213
+ try {
12214
+ setBlockTracking(-1);
12215
+ const l = arguments.length;
12216
+ if (l === 2) {
12217
+ if (isObject(propsOrChildren) && !isArray(propsOrChildren)) {
12218
+ if (isVNode(propsOrChildren)) {
12219
+ return createVNode(type, null, [propsOrChildren]);
12220
+ }
12221
+ return createVNode(type, propsOrChildren);
12222
+ } else {
12223
+ return createVNode(type, null, propsOrChildren);
12190
12224
  }
12191
- return createVNode(type, propsOrChildren);
12192
12225
  } else {
12193
- return createVNode(type, null, propsOrChildren);
12194
- }
12195
- } else {
12196
- if (l > 3) {
12197
- children = Array.prototype.slice.call(arguments, 2);
12198
- } else if (l === 3 && isVNode(children)) {
12199
- children = [children];
12226
+ if (l > 3) {
12227
+ children = Array.prototype.slice.call(arguments, 2);
12228
+ } else if (l === 3 && isVNode(children)) {
12229
+ children = [children];
12230
+ }
12231
+ return createVNode(type, propsOrChildren, children);
12200
12232
  }
12201
- return createVNode(type, propsOrChildren, children);
12233
+ } finally {
12234
+ setBlockTracking(1);
12202
12235
  }
12203
12236
  }
12204
12237
 
@@ -12408,7 +12441,7 @@ function isMemoSame(cached, memo) {
12408
12441
  return true;
12409
12442
  }
12410
12443
 
12411
- const version = "3.5.20";
12444
+ const version = "3.5.22";
12412
12445
  const warn = !!(process.env.NODE_ENV !== "production") ? warn$1 : NOOP;
12413
12446
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
12414
12447
  const devtools = !!(process.env.NODE_ENV !== "production") || true ? devtools$1 : void 0;
@@ -12678,11 +12711,11 @@ function resolveTransitionProps(rawProps) {
12678
12711
  addTransitionClass(el, legacyLeaveFromClass);
12679
12712
  }
12680
12713
  if (!el._enterCancelled) {
12681
- forceReflow();
12714
+ forceReflow(el);
12682
12715
  addTransitionClass(el, leaveActiveClass);
12683
12716
  } else {
12684
12717
  addTransitionClass(el, leaveActiveClass);
12685
- forceReflow();
12718
+ forceReflow(el);
12686
12719
  }
12687
12720
  nextFrame(() => {
12688
12721
  if (!el._isLeaving) {
@@ -12811,7 +12844,7 @@ function getTransitionInfo(el, expectedType) {
12811
12844
  type = timeout > 0 ? transitionTimeout > animationTimeout ? TRANSITION : ANIMATION : null;
12812
12845
  propCount = type ? type === TRANSITION ? transitionDurations.length : animationDurations.length : 0;
12813
12846
  }
12814
- const hasTransform = type === TRANSITION && /\b(transform|all)(,|$)/.test(
12847
+ const hasTransform = type === TRANSITION && /\b(?:transform|all)(?:,|$)/.test(
12815
12848
  getStyleProperties(`${TRANSITION}Property`).toString()
12816
12849
  );
12817
12850
  return {
@@ -12831,8 +12864,9 @@ function toMs(s) {
12831
12864
  if (s === "auto") return 0;
12832
12865
  return Number(s.slice(0, -1).replace(",", ".")) * 1e3;
12833
12866
  }
12834
- function forceReflow() {
12835
- return document.body.offsetHeight;
12867
+ function forceReflow(el) {
12868
+ const targetDocument = el ? el.ownerDocument : document;
12869
+ return targetDocument.body.offsetHeight;
12836
12870
  }
12837
12871
 
12838
12872
  function patchClass(el, value, isSVG) {
@@ -12972,7 +13006,7 @@ function setVarsOnNode(el, vars) {
12972
13006
  }
12973
13007
  }
12974
13008
 
12975
- const displayRE = /(^|;)\s*display\s*:/;
13009
+ const displayRE = /(?:^|;)\s*display\s*:/;
12976
13010
  function patchStyle(el, prev, next) {
12977
13011
  const style = el.style;
12978
13012
  const isCssString = isString(next);
@@ -13339,11 +13373,10 @@ function shouldSetAsProp(el, key, value, isSVG) {
13339
13373
  }
13340
13374
 
13341
13375
  const REMOVAL = {};
13342
- /*! #__NO_SIDE_EFFECTS__ */
13343
13376
  // @__NO_SIDE_EFFECTS__
13344
13377
  function defineCustomElement(options, extraOptions, _createApp) {
13345
- const Comp = defineComponent(options, extraOptions);
13346
- if (isPlainObject(Comp)) extend(Comp, extraOptions);
13378
+ let Comp = defineComponent(options, extraOptions);
13379
+ if (isPlainObject(Comp)) Comp = extend({}, Comp, extraOptions);
13347
13380
  class VueCustomElement extends VueElement {
13348
13381
  constructor(initialProps) {
13349
13382
  super(Comp, initialProps, _createApp);
@@ -13352,7 +13385,6 @@ function defineCustomElement(options, extraOptions, _createApp) {
13352
13385
  VueCustomElement.def = Comp;
13353
13386
  return VueCustomElement;
13354
13387
  }
13355
-
13356
13388
  const defineSSRCustomElement = (/* @__NO_SIDE_EFFECTS__ */ (options, extraOptions) => {
13357
13389
  return /* @__PURE__ */ defineCustomElement(options, extraOptions, createSSRApp);
13358
13390
  });
@@ -13391,7 +13423,11 @@ class VueElement extends BaseClass {
13391
13423
  );
13392
13424
  }
13393
13425
  if (_def.shadowRoot !== false) {
13394
- this.attachShadow({ mode: "open" });
13426
+ this.attachShadow(
13427
+ extend({}, _def.shadowRootOptions, {
13428
+ mode: "open"
13429
+ })
13430
+ );
13395
13431
  this._root = this.shadowRoot;
13396
13432
  } else {
13397
13433
  this._root = this;
@@ -13451,9 +13487,18 @@ class VueElement extends BaseClass {
13451
13487
  this._app && this._app.unmount();
13452
13488
  if (this._instance) this._instance.ce = void 0;
13453
13489
  this._app = this._instance = null;
13490
+ if (this._teleportTargets) {
13491
+ this._teleportTargets.clear();
13492
+ this._teleportTargets = void 0;
13493
+ }
13454
13494
  }
13455
13495
  });
13456
13496
  }
13497
+ _processMutations(mutations) {
13498
+ for (const m of mutations) {
13499
+ this._setAttr(m.attributeName);
13500
+ }
13501
+ }
13457
13502
  /**
13458
13503
  * resolve inner component definition (handle possible async component)
13459
13504
  */
@@ -13464,11 +13509,7 @@ class VueElement extends BaseClass {
13464
13509
  for (let i = 0; i < this.attributes.length; i++) {
13465
13510
  this._setAttr(this.attributes[i].name);
13466
13511
  }
13467
- this._ob = new MutationObserver((mutations) => {
13468
- for (const m of mutations) {
13469
- this._setAttr(m.attributeName);
13470
- }
13471
- });
13512
+ this._ob = new MutationObserver(this._processMutations.bind(this));
13472
13513
  this._ob.observe(this, { attributes: true });
13473
13514
  const resolve = (def, isAsync = false) => {
13474
13515
  this._resolved = true;
@@ -13584,7 +13625,10 @@ class VueElement extends BaseClass {
13584
13625
  }
13585
13626
  if (shouldReflect) {
13586
13627
  const ob = this._ob;
13587
- ob && ob.disconnect();
13628
+ if (ob) {
13629
+ this._processMutations(ob.takeRecords());
13630
+ ob.disconnect();
13631
+ }
13588
13632
  if (val === true) {
13589
13633
  this.setAttribute(hyphenate(key), "");
13590
13634
  } else if (typeof val === "string" || typeof val === "number") {
@@ -13688,7 +13732,7 @@ class VueElement extends BaseClass {
13688
13732
  * Only called when shadowRoot is false
13689
13733
  */
13690
13734
  _renderSlots() {
13691
- const outlets = (this._teleportTarget || this).querySelectorAll("slot");
13735
+ const outlets = this._getSlots();
13692
13736
  const scopeId = this._instance.type.__scopeId;
13693
13737
  for (let i = 0; i < outlets.length; i++) {
13694
13738
  const o = outlets[i];
@@ -13714,6 +13758,19 @@ class VueElement extends BaseClass {
13714
13758
  parent.removeChild(o);
13715
13759
  }
13716
13760
  }
13761
+ /**
13762
+ * @internal
13763
+ */
13764
+ _getSlots() {
13765
+ const roots = [this];
13766
+ if (this._teleportTargets) {
13767
+ roots.push(...this._teleportTargets);
13768
+ }
13769
+ return roots.reduce((res, i) => {
13770
+ res.push(...Array.from(i.querySelectorAll("slot")));
13771
+ return res;
13772
+ }, []);
13773
+ }
13717
13774
  /**
13718
13775
  * @internal
13719
13776
  */
@@ -13818,7 +13875,7 @@ const TransitionGroupImpl = /* @__PURE__ */ decorate({
13818
13875
  prevChildren.forEach(callPendingCbs);
13819
13876
  prevChildren.forEach(recordPosition);
13820
13877
  const movedChildren = prevChildren.filter(applyTranslation);
13821
- forceReflow();
13878
+ forceReflow(instance.vnode.el);
13822
13879
  movedChildren.forEach((c) => {
13823
13880
  const el = c.el;
13824
13881
  const style = el.style;
@@ -13828,7 +13885,7 @@ const TransitionGroupImpl = /* @__PURE__ */ decorate({
13828
13885
  if (e && e.target !== el) {
13829
13886
  return;
13830
13887
  }
13831
- if (!e || /transform$/.test(e.propertyName)) {
13888
+ if (!e || e.propertyName.endsWith("transform")) {
13832
13889
  el.removeEventListener("transitionend", cb);
13833
13890
  el[moveCbKey] = null;
13834
13891
  removeTransitionClass(el, moveClass);
@@ -14327,7 +14384,7 @@ const createApp = ((...args) => {
14327
14384
  if (!!(process.env.NODE_ENV !== "production") && container.nodeType === 1) {
14328
14385
  for (let i = 0; i < container.attributes.length; i++) {
14329
14386
  const attr = container.attributes[i];
14330
- if (attr.name !== "v-cloak" && /^(v-|:|@)/.test(attr.name)) {
14387
+ if (attr.name !== "v-cloak" && /^(?:v-|:|@)/.test(attr.name)) {
14331
14388
  compatUtils.warnDeprecation(
14332
14389
  "GLOBAL_MOUNT_CONTAINER",
14333
14390
  null