@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;
@@ -1143,7 +1142,7 @@ function iterator(self, method, wrapValue) {
1143
1142
  iter._next = iter.next;
1144
1143
  iter.next = () => {
1145
1144
  const result = iter._next();
1146
- if (result.value) {
1145
+ if (!result.done) {
1147
1146
  result.value = wrapValue(result.value);
1148
1147
  }
1149
1148
  return result;
@@ -1270,7 +1269,8 @@ class BaseReactiveHandler {
1270
1269
  return res;
1271
1270
  }
1272
1271
  if (isRef(res)) {
1273
- return targetIsArray && isIntegerKey(key) ? res : res.value;
1272
+ const value = targetIsArray && isIntegerKey(key) ? res : res.value;
1273
+ return isReadonly2 && isObject(value) ? readonly(value) : value;
1274
1274
  }
1275
1275
  if (isObject(res)) {
1276
1276
  return isReadonly2 ? readonly(res) : reactive(res);
@@ -2154,11 +2154,11 @@ function traverse(value, depth = Infinity, seen) {
2154
2154
  if (depth <= 0 || !isObject(value) || value["__v_skip"]) {
2155
2155
  return value;
2156
2156
  }
2157
- seen = seen || /* @__PURE__ */ new Set();
2158
- if (seen.has(value)) {
2157
+ seen = seen || /* @__PURE__ */ new Map();
2158
+ if ((seen.get(value) || 0) >= depth) {
2159
2159
  return value;
2160
2160
  }
2161
- seen.add(value);
2161
+ seen.set(value, depth);
2162
2162
  depth--;
2163
2163
  if (isRef(value)) {
2164
2164
  traverse(value.value, depth, seen);
@@ -2697,10 +2697,12 @@ function reload(id, newComp) {
2697
2697
  dirtyInstances.delete(instance);
2698
2698
  } else if (instance.parent) {
2699
2699
  queueJob(() => {
2700
- isHmrUpdating = true;
2701
- instance.parent.update();
2702
- isHmrUpdating = false;
2703
- dirtyInstances.delete(instance);
2700
+ if (!(instance.job.flags & 8)) {
2701
+ isHmrUpdating = true;
2702
+ instance.parent.update();
2703
+ isHmrUpdating = false;
2704
+ dirtyInstances.delete(instance);
2705
+ }
2704
2706
  });
2705
2707
  } else if (instance.appContext.reload) {
2706
2708
  instance.appContext.reload();
@@ -2804,7 +2806,6 @@ const devtoolsComponentRemoved = (component) => {
2804
2806
  _devtoolsComponentRemoved(component);
2805
2807
  }
2806
2808
  };
2807
- /*! #__NO_SIDE_EFFECTS__ */
2808
2809
  // @__NO_SIDE_EFFECTS__
2809
2810
  function createDevtoolsComponentHook(hook) {
2810
2811
  return (component) => {
@@ -3518,9 +3519,6 @@ const TeleportImpl = {
3518
3519
  insert(mainAnchor, container, anchor);
3519
3520
  const mount = (container2, anchor2) => {
3520
3521
  if (shapeFlag & 16) {
3521
- if (parentComponent && parentComponent.isCE) {
3522
- parentComponent.ce._teleportTarget = container2;
3523
- }
3524
3522
  mountChildren(
3525
3523
  children,
3526
3524
  container2,
@@ -3542,6 +3540,9 @@ const TeleportImpl = {
3542
3540
  } else if (namespace !== "mathml" && isTargetMathML(target)) {
3543
3541
  namespace = "mathml";
3544
3542
  }
3543
+ if (parentComponent && parentComponent.isCE) {
3544
+ (parentComponent.ce._teleportTargets || (parentComponent.ce._teleportTargets = /* @__PURE__ */ new Set())).add(target);
3545
+ }
3545
3546
  if (!disabled) {
3546
3547
  mount(target, targetAnchor);
3547
3548
  updateCssVars(n2, false);
@@ -3730,26 +3731,34 @@ function moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }
3730
3731
  function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, {
3731
3732
  o: { nextSibling, parentNode, querySelector, insert, createText }
3732
3733
  }, hydrateChildren) {
3734
+ function hydrateDisabledTeleport(node2, vnode2, targetStart, targetAnchor) {
3735
+ vnode2.anchor = hydrateChildren(
3736
+ nextSibling(node2),
3737
+ vnode2,
3738
+ parentNode(node2),
3739
+ parentComponent,
3740
+ parentSuspense,
3741
+ slotScopeIds,
3742
+ optimized
3743
+ );
3744
+ vnode2.targetStart = targetStart;
3745
+ vnode2.targetAnchor = targetAnchor;
3746
+ }
3733
3747
  const target = vnode.target = resolveTarget(
3734
3748
  vnode.props,
3735
3749
  querySelector
3736
3750
  );
3751
+ const disabled = isTeleportDisabled(vnode.props);
3737
3752
  if (target) {
3738
- const disabled = isTeleportDisabled(vnode.props);
3739
3753
  const targetNode = target._lpa || target.firstChild;
3740
3754
  if (vnode.shapeFlag & 16) {
3741
3755
  if (disabled) {
3742
- vnode.anchor = hydrateChildren(
3743
- nextSibling(node),
3756
+ hydrateDisabledTeleport(
3757
+ node,
3744
3758
  vnode,
3745
- parentNode(node),
3746
- parentComponent,
3747
- parentSuspense,
3748
- slotScopeIds,
3749
- optimized
3759
+ targetNode,
3760
+ targetNode && nextSibling(targetNode)
3750
3761
  );
3751
- vnode.targetStart = targetNode;
3752
- vnode.targetAnchor = targetNode && nextSibling(targetNode);
3753
3762
  } else {
3754
3763
  vnode.anchor = nextSibling(node);
3755
3764
  let targetAnchor = targetNode;
@@ -3780,6 +3789,10 @@ function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScope
3780
3789
  }
3781
3790
  }
3782
3791
  updateCssVars(vnode, disabled);
3792
+ } else if (disabled) {
3793
+ if (vnode.shapeFlag & 16) {
3794
+ hydrateDisabledTeleport(node, vnode, node, nextSibling(node));
3795
+ }
3783
3796
  }
3784
3797
  return vnode.anchor && nextSibling(vnode.anchor);
3785
3798
  }
@@ -3891,7 +3904,7 @@ const BaseTransitionImpl = {
3891
3904
  setTransitionHooks(innerChild, enterHooks);
3892
3905
  }
3893
3906
  let oldInnerChild = instance.subTree && getInnerChild$1(instance.subTree);
3894
- if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(innerChild, oldInnerChild) && recursiveGetSubtree(instance).type !== Comment) {
3907
+ if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(oldInnerChild, innerChild) && recursiveGetSubtree(instance).type !== Comment) {
3895
3908
  let leavingHooks = resolveTransitionHooks(
3896
3909
  oldInnerChild,
3897
3910
  rawProps,
@@ -4174,7 +4187,6 @@ function getTransitionRawChildren(children, keepComment = false, parentKey) {
4174
4187
  return ret;
4175
4188
  }
4176
4189
 
4177
- /*! #__NO_SIDE_EFFECTS__ */
4178
4190
  // @__NO_SIDE_EFFECTS__
4179
4191
  function defineComponent(options, extraOptions) {
4180
4192
  return isFunction(options) ? (
@@ -4227,6 +4239,7 @@ function useTemplateRef(key) {
4227
4239
  return ret;
4228
4240
  }
4229
4241
 
4242
+ const pendingSetRefMap = /* @__PURE__ */ new WeakMap();
4230
4243
  function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
4231
4244
  if (isArray(rawRef)) {
4232
4245
  rawRef.forEach(
@@ -4276,6 +4289,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
4276
4289
  return !knownTemplateRefs.has(ref2);
4277
4290
  };
4278
4291
  if (oldRef != null && oldRef !== ref) {
4292
+ invalidatePendingSetRef(oldRawRef);
4279
4293
  if (isString(oldRef)) {
4280
4294
  refs[oldRef] = null;
4281
4295
  if (canSetSetupRef(oldRef)) {
@@ -4333,9 +4347,15 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
4333
4347
  }
4334
4348
  };
4335
4349
  if (value) {
4336
- doSet.id = -1;
4337
- queuePostRenderEffect(doSet, parentSuspense);
4350
+ const job = () => {
4351
+ doSet();
4352
+ pendingSetRefMap.delete(rawRef);
4353
+ };
4354
+ job.id = -1;
4355
+ pendingSetRefMap.set(rawRef, job);
4356
+ queuePostRenderEffect(job, parentSuspense);
4338
4357
  } else {
4358
+ invalidatePendingSetRef(rawRef);
4339
4359
  doSet();
4340
4360
  }
4341
4361
  } else {
@@ -4343,6 +4363,13 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
4343
4363
  }
4344
4364
  }
4345
4365
  }
4366
+ function invalidatePendingSetRef(rawRef) {
4367
+ const pendingSetRef = pendingSetRefMap.get(rawRef);
4368
+ if (pendingSetRef) {
4369
+ pendingSetRef.flags |= 8;
4370
+ pendingSetRefMap.delete(rawRef);
4371
+ }
4372
+ }
4346
4373
 
4347
4374
  let hasLoggedMismatchError = false;
4348
4375
  const logMismatchError = () => {
@@ -5075,7 +5102,6 @@ function forEachElement(node, cb) {
5075
5102
  }
5076
5103
 
5077
5104
  const isAsyncWrapper = (i) => !!i.type.__asyncLoader;
5078
- /*! #__NO_SIDE_EFFECTS__ */
5079
5105
  // @__NO_SIDE_EFFECTS__
5080
5106
  function defineAsyncComponent(source) {
5081
5107
  if (isFunction(source)) {
@@ -5976,12 +6002,13 @@ function createSlots(slots, dynamicSlots) {
5976
6002
 
5977
6003
  function renderSlot(slots, name, props = {}, fallback, noSlotted) {
5978
6004
  if (currentRenderingInstance.ce || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.ce) {
6005
+ const hasProps = Object.keys(props).length > 0;
5979
6006
  if (name !== "default") props.name = name;
5980
6007
  return openBlock(), createBlock(
5981
6008
  Fragment,
5982
6009
  null,
5983
6010
  [createVNode("slot", props, fallback && fallback())],
5984
- 64
6011
+ hasProps ? -2 : 64
5985
6012
  );
5986
6013
  }
5987
6014
  let slot = slots[name];
@@ -7172,7 +7199,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
7172
7199
  return vm;
7173
7200
  }
7174
7201
  }
7175
- Vue.version = `2.6.14-compat:${"3.5.20"}`;
7202
+ Vue.version = `2.6.14-compat:${"3.5.22"}`;
7176
7203
  Vue.config = singletonApp.config;
7177
7204
  Vue.use = (plugin, ...options) => {
7178
7205
  if (plugin && isFunction(plugin.install)) {
@@ -7430,7 +7457,7 @@ function installCompatMount(app, context, render) {
7430
7457
  {
7431
7458
  for (let i = 0; i < container.attributes.length; i++) {
7432
7459
  const attr = container.attributes[i];
7433
- if (attr.name !== "v-cloak" && /^(v-|:|@)/.test(attr.name)) {
7460
+ if (attr.name !== "v-cloak" && /^(?:v-|:|@)/.test(attr.name)) {
7434
7461
  warnDeprecation("GLOBAL_MOUNT_CONTAINER", null);
7435
7462
  break;
7436
7463
  }
@@ -10242,8 +10269,9 @@ function emit(instance, event, ...rawArgs) {
10242
10269
  return emit$1(instance, event, args);
10243
10270
  }
10244
10271
  }
10272
+ const mixinEmitsCache = /* @__PURE__ */ new WeakMap();
10245
10273
  function normalizeEmitsOptions(comp, appContext, asMixin = false) {
10246
- const cache = appContext.emitsCache;
10274
+ const cache = asMixin ? mixinEmitsCache : appContext.emitsCache;
10247
10275
  const cached = cache.get(comp);
10248
10276
  if (cached !== void 0) {
10249
10277
  return cached;
@@ -10715,7 +10743,7 @@ function patchSuspense(n1, n2, container, anchor, parentComponent, namespace, sl
10715
10743
  const { activeBranch, pendingBranch, isInFallback, isHydrating } = suspense;
10716
10744
  if (pendingBranch) {
10717
10745
  suspense.pendingBranch = newBranch;
10718
- if (isSameVNodeType(newBranch, pendingBranch)) {
10746
+ if (isSameVNodeType(pendingBranch, newBranch)) {
10719
10747
  patch(
10720
10748
  pendingBranch,
10721
10749
  newBranch,
@@ -10786,7 +10814,7 @@ function patchSuspense(n1, n2, container, anchor, parentComponent, namespace, sl
10786
10814
  );
10787
10815
  setActiveBranch(suspense, newFallback);
10788
10816
  }
10789
- } else if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {
10817
+ } else if (activeBranch && isSameVNodeType(activeBranch, newBranch)) {
10790
10818
  patch(
10791
10819
  activeBranch,
10792
10820
  newBranch,
@@ -10817,7 +10845,7 @@ function patchSuspense(n1, n2, container, anchor, parentComponent, namespace, sl
10817
10845
  }
10818
10846
  }
10819
10847
  } else {
10820
- if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {
10848
+ if (activeBranch && isSameVNodeType(activeBranch, newBranch)) {
10821
10849
  patch(
10822
10850
  activeBranch,
10823
10851
  newBranch,
@@ -12053,7 +12081,7 @@ function getComponentPublicInstance(instance) {
12053
12081
  return instance.proxy;
12054
12082
  }
12055
12083
  }
12056
- const classifyRE = /(?:^|[-_])(\w)/g;
12084
+ const classifyRE = /(?:^|[-_])\w/g;
12057
12085
  const classify = (str) => str.replace(classifyRE, (c) => c.toUpperCase()).replace(/[-_]/g, "");
12058
12086
  function getComponentName(Component, includeInferred = true) {
12059
12087
  return isFunction(Component) ? Component.displayName || Component.name : Component.name || includeInferred && Component.__name;
@@ -12096,23 +12124,28 @@ const computed = (getterOrOptions, debugOptions) => {
12096
12124
  };
12097
12125
 
12098
12126
  function h(type, propsOrChildren, children) {
12099
- const l = arguments.length;
12100
- if (l === 2) {
12101
- if (isObject(propsOrChildren) && !isArray(propsOrChildren)) {
12102
- if (isVNode(propsOrChildren)) {
12103
- return createVNode(type, null, [propsOrChildren]);
12127
+ try {
12128
+ setBlockTracking(-1);
12129
+ const l = arguments.length;
12130
+ if (l === 2) {
12131
+ if (isObject(propsOrChildren) && !isArray(propsOrChildren)) {
12132
+ if (isVNode(propsOrChildren)) {
12133
+ return createVNode(type, null, [propsOrChildren]);
12134
+ }
12135
+ return createVNode(type, propsOrChildren);
12136
+ } else {
12137
+ return createVNode(type, null, propsOrChildren);
12104
12138
  }
12105
- return createVNode(type, propsOrChildren);
12106
12139
  } else {
12107
- return createVNode(type, null, propsOrChildren);
12108
- }
12109
- } else {
12110
- if (l > 3) {
12111
- children = Array.prototype.slice.call(arguments, 2);
12112
- } else if (l === 3 && isVNode(children)) {
12113
- children = [children];
12140
+ if (l > 3) {
12141
+ children = Array.prototype.slice.call(arguments, 2);
12142
+ } else if (l === 3 && isVNode(children)) {
12143
+ children = [children];
12144
+ }
12145
+ return createVNode(type, propsOrChildren, children);
12114
12146
  }
12115
- return createVNode(type, propsOrChildren, children);
12147
+ } finally {
12148
+ setBlockTracking(1);
12116
12149
  }
12117
12150
  }
12118
12151
 
@@ -12322,7 +12355,7 @@ function isMemoSame(cached, memo) {
12322
12355
  return true;
12323
12356
  }
12324
12357
 
12325
- const version = "3.5.20";
12358
+ const version = "3.5.22";
12326
12359
  const warn = warn$1 ;
12327
12360
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
12328
12361
  const devtools = devtools$1 ;
@@ -12592,11 +12625,11 @@ function resolveTransitionProps(rawProps) {
12592
12625
  addTransitionClass(el, legacyLeaveFromClass);
12593
12626
  }
12594
12627
  if (!el._enterCancelled) {
12595
- forceReflow();
12628
+ forceReflow(el);
12596
12629
  addTransitionClass(el, leaveActiveClass);
12597
12630
  } else {
12598
12631
  addTransitionClass(el, leaveActiveClass);
12599
- forceReflow();
12632
+ forceReflow(el);
12600
12633
  }
12601
12634
  nextFrame(() => {
12602
12635
  if (!el._isLeaving) {
@@ -12725,7 +12758,7 @@ function getTransitionInfo(el, expectedType) {
12725
12758
  type = timeout > 0 ? transitionTimeout > animationTimeout ? TRANSITION : ANIMATION : null;
12726
12759
  propCount = type ? type === TRANSITION ? transitionDurations.length : animationDurations.length : 0;
12727
12760
  }
12728
- const hasTransform = type === TRANSITION && /\b(transform|all)(,|$)/.test(
12761
+ const hasTransform = type === TRANSITION && /\b(?:transform|all)(?:,|$)/.test(
12729
12762
  getStyleProperties(`${TRANSITION}Property`).toString()
12730
12763
  );
12731
12764
  return {
@@ -12745,8 +12778,9 @@ function toMs(s) {
12745
12778
  if (s === "auto") return 0;
12746
12779
  return Number(s.slice(0, -1).replace(",", ".")) * 1e3;
12747
12780
  }
12748
- function forceReflow() {
12749
- return document.body.offsetHeight;
12781
+ function forceReflow(el) {
12782
+ const targetDocument = el ? el.ownerDocument : document;
12783
+ return targetDocument.body.offsetHeight;
12750
12784
  }
12751
12785
 
12752
12786
  function patchClass(el, value, isSVG) {
@@ -12886,7 +12920,7 @@ function setVarsOnNode(el, vars) {
12886
12920
  }
12887
12921
  }
12888
12922
 
12889
- const displayRE = /(^|;)\s*display\s*:/;
12923
+ const displayRE = /(?:^|;)\s*display\s*:/;
12890
12924
  function patchStyle(el, prev, next) {
12891
12925
  const style = el.style;
12892
12926
  const isCssString = isString(next);
@@ -13253,11 +13287,10 @@ function shouldSetAsProp(el, key, value, isSVG) {
13253
13287
  }
13254
13288
 
13255
13289
  const REMOVAL = {};
13256
- /*! #__NO_SIDE_EFFECTS__ */
13257
13290
  // @__NO_SIDE_EFFECTS__
13258
13291
  function defineCustomElement(options, extraOptions, _createApp) {
13259
- const Comp = defineComponent(options, extraOptions);
13260
- if (isPlainObject(Comp)) extend(Comp, extraOptions);
13292
+ let Comp = defineComponent(options, extraOptions);
13293
+ if (isPlainObject(Comp)) Comp = extend({}, Comp, extraOptions);
13261
13294
  class VueCustomElement extends VueElement {
13262
13295
  constructor(initialProps) {
13263
13296
  super(Comp, initialProps, _createApp);
@@ -13266,7 +13299,6 @@ function defineCustomElement(options, extraOptions, _createApp) {
13266
13299
  VueCustomElement.def = Comp;
13267
13300
  return VueCustomElement;
13268
13301
  }
13269
-
13270
13302
  const defineSSRCustomElement = (/* @__NO_SIDE_EFFECTS__ */ (options, extraOptions) => {
13271
13303
  return /* @__PURE__ */ defineCustomElement(options, extraOptions, createSSRApp);
13272
13304
  });
@@ -13305,7 +13337,11 @@ class VueElement extends BaseClass {
13305
13337
  );
13306
13338
  }
13307
13339
  if (_def.shadowRoot !== false) {
13308
- this.attachShadow({ mode: "open" });
13340
+ this.attachShadow(
13341
+ extend({}, _def.shadowRootOptions, {
13342
+ mode: "open"
13343
+ })
13344
+ );
13309
13345
  this._root = this.shadowRoot;
13310
13346
  } else {
13311
13347
  this._root = this;
@@ -13365,9 +13401,18 @@ class VueElement extends BaseClass {
13365
13401
  this._app && this._app.unmount();
13366
13402
  if (this._instance) this._instance.ce = void 0;
13367
13403
  this._app = this._instance = null;
13404
+ if (this._teleportTargets) {
13405
+ this._teleportTargets.clear();
13406
+ this._teleportTargets = void 0;
13407
+ }
13368
13408
  }
13369
13409
  });
13370
13410
  }
13411
+ _processMutations(mutations) {
13412
+ for (const m of mutations) {
13413
+ this._setAttr(m.attributeName);
13414
+ }
13415
+ }
13371
13416
  /**
13372
13417
  * resolve inner component definition (handle possible async component)
13373
13418
  */
@@ -13378,11 +13423,7 @@ class VueElement extends BaseClass {
13378
13423
  for (let i = 0; i < this.attributes.length; i++) {
13379
13424
  this._setAttr(this.attributes[i].name);
13380
13425
  }
13381
- this._ob = new MutationObserver((mutations) => {
13382
- for (const m of mutations) {
13383
- this._setAttr(m.attributeName);
13384
- }
13385
- });
13426
+ this._ob = new MutationObserver(this._processMutations.bind(this));
13386
13427
  this._ob.observe(this, { attributes: true });
13387
13428
  const resolve = (def, isAsync = false) => {
13388
13429
  this._resolved = true;
@@ -13498,7 +13539,10 @@ class VueElement extends BaseClass {
13498
13539
  }
13499
13540
  if (shouldReflect) {
13500
13541
  const ob = this._ob;
13501
- ob && ob.disconnect();
13542
+ if (ob) {
13543
+ this._processMutations(ob.takeRecords());
13544
+ ob.disconnect();
13545
+ }
13502
13546
  if (val === true) {
13503
13547
  this.setAttribute(hyphenate(key), "");
13504
13548
  } else if (typeof val === "string" || typeof val === "number") {
@@ -13602,7 +13646,7 @@ class VueElement extends BaseClass {
13602
13646
  * Only called when shadowRoot is false
13603
13647
  */
13604
13648
  _renderSlots() {
13605
- const outlets = (this._teleportTarget || this).querySelectorAll("slot");
13649
+ const outlets = this._getSlots();
13606
13650
  const scopeId = this._instance.type.__scopeId;
13607
13651
  for (let i = 0; i < outlets.length; i++) {
13608
13652
  const o = outlets[i];
@@ -13628,6 +13672,19 @@ class VueElement extends BaseClass {
13628
13672
  parent.removeChild(o);
13629
13673
  }
13630
13674
  }
13675
+ /**
13676
+ * @internal
13677
+ */
13678
+ _getSlots() {
13679
+ const roots = [this];
13680
+ if (this._teleportTargets) {
13681
+ roots.push(...this._teleportTargets);
13682
+ }
13683
+ return roots.reduce((res, i) => {
13684
+ res.push(...Array.from(i.querySelectorAll("slot")));
13685
+ return res;
13686
+ }, []);
13687
+ }
13631
13688
  /**
13632
13689
  * @internal
13633
13690
  */
@@ -13732,7 +13789,7 @@ const TransitionGroupImpl = /* @__PURE__ */ decorate({
13732
13789
  prevChildren.forEach(callPendingCbs);
13733
13790
  prevChildren.forEach(recordPosition);
13734
13791
  const movedChildren = prevChildren.filter(applyTranslation);
13735
- forceReflow();
13792
+ forceReflow(instance.vnode.el);
13736
13793
  movedChildren.forEach((c) => {
13737
13794
  const el = c.el;
13738
13795
  const style = el.style;
@@ -13742,7 +13799,7 @@ const TransitionGroupImpl = /* @__PURE__ */ decorate({
13742
13799
  if (e && e.target !== el) {
13743
13800
  return;
13744
13801
  }
13745
- if (!e || /transform$/.test(e.propertyName)) {
13802
+ if (!e || e.propertyName.endsWith("transform")) {
13746
13803
  el.removeEventListener("transitionend", cb);
13747
13804
  el[moveCbKey] = null;
13748
13805
  removeTransitionClass(el, moveClass);
@@ -14241,7 +14298,7 @@ const createApp = ((...args) => {
14241
14298
  if (container.nodeType === 1) {
14242
14299
  for (let i = 0; i < container.attributes.length; i++) {
14243
14300
  const attr = container.attributes[i];
14244
- if (attr.name !== "v-cloak" && /^(v-|:|@)/.test(attr.name)) {
14301
+ if (attr.name !== "v-cloak" && /^(?:v-|:|@)/.test(attr.name)) {
14245
14302
  compatUtils.warnDeprecation(
14246
14303
  "GLOBAL_MOUNT_CONTAINER",
14247
14304
  null