@vue/runtime-dom 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/runtime-dom v3.5.20
2
+ * @vue/runtime-dom 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) => {
@@ -2990,9 +2991,6 @@ const TeleportImpl = {
2990
2991
  insert(mainAnchor, container, anchor);
2991
2992
  const mount = (container2, anchor2) => {
2992
2993
  if (shapeFlag & 16) {
2993
- if (parentComponent && parentComponent.isCE) {
2994
- parentComponent.ce._teleportTarget = container2;
2995
- }
2996
2994
  mountChildren(
2997
2995
  children,
2998
2996
  container2,
@@ -3014,6 +3012,9 @@ const TeleportImpl = {
3014
3012
  } else if (namespace !== "mathml" && isTargetMathML(target)) {
3015
3013
  namespace = "mathml";
3016
3014
  }
3015
+ if (parentComponent && parentComponent.isCE) {
3016
+ (parentComponent.ce._teleportTargets || (parentComponent.ce._teleportTargets = /* @__PURE__ */ new Set())).add(target);
3017
+ }
3017
3018
  if (!disabled) {
3018
3019
  mount(target, targetAnchor);
3019
3020
  updateCssVars(n2, false);
@@ -3202,26 +3203,34 @@ function moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }
3202
3203
  function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, {
3203
3204
  o: { nextSibling, parentNode, querySelector, insert, createText }
3204
3205
  }, hydrateChildren) {
3206
+ function hydrateDisabledTeleport(node2, vnode2, targetStart, targetAnchor) {
3207
+ vnode2.anchor = hydrateChildren(
3208
+ nextSibling(node2),
3209
+ vnode2,
3210
+ parentNode(node2),
3211
+ parentComponent,
3212
+ parentSuspense,
3213
+ slotScopeIds,
3214
+ optimized
3215
+ );
3216
+ vnode2.targetStart = targetStart;
3217
+ vnode2.targetAnchor = targetAnchor;
3218
+ }
3205
3219
  const target = vnode.target = resolveTarget(
3206
3220
  vnode.props,
3207
3221
  querySelector
3208
3222
  );
3223
+ const disabled = isTeleportDisabled(vnode.props);
3209
3224
  if (target) {
3210
- const disabled = isTeleportDisabled(vnode.props);
3211
3225
  const targetNode = target._lpa || target.firstChild;
3212
3226
  if (vnode.shapeFlag & 16) {
3213
3227
  if (disabled) {
3214
- vnode.anchor = hydrateChildren(
3215
- nextSibling(node),
3228
+ hydrateDisabledTeleport(
3229
+ node,
3216
3230
  vnode,
3217
- parentNode(node),
3218
- parentComponent,
3219
- parentSuspense,
3220
- slotScopeIds,
3221
- optimized
3231
+ targetNode,
3232
+ targetNode && nextSibling(targetNode)
3222
3233
  );
3223
- vnode.targetStart = targetNode;
3224
- vnode.targetAnchor = targetNode && nextSibling(targetNode);
3225
3234
  } else {
3226
3235
  vnode.anchor = nextSibling(node);
3227
3236
  let targetAnchor = targetNode;
@@ -3252,6 +3261,10 @@ function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScope
3252
3261
  }
3253
3262
  }
3254
3263
  updateCssVars(vnode, disabled);
3264
+ } else if (disabled) {
3265
+ if (vnode.shapeFlag & 16) {
3266
+ hydrateDisabledTeleport(node, vnode, node, nextSibling(node));
3267
+ }
3255
3268
  }
3256
3269
  return vnode.anchor && nextSibling(vnode.anchor);
3257
3270
  }
@@ -3363,7 +3376,7 @@ const BaseTransitionImpl = {
3363
3376
  setTransitionHooks(innerChild, enterHooks);
3364
3377
  }
3365
3378
  let oldInnerChild = instance.subTree && getInnerChild$1(instance.subTree);
3366
- if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(innerChild, oldInnerChild) && recursiveGetSubtree(instance).type !== Comment) {
3379
+ if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(oldInnerChild, innerChild) && recursiveGetSubtree(instance).type !== Comment) {
3367
3380
  let leavingHooks = resolveTransitionHooks(
3368
3381
  oldInnerChild,
3369
3382
  rawProps,
@@ -3643,7 +3656,6 @@ function getTransitionRawChildren(children, keepComment = false, parentKey) {
3643
3656
  return ret;
3644
3657
  }
3645
3658
 
3646
- /*! #__NO_SIDE_EFFECTS__ */
3647
3659
  // @__NO_SIDE_EFFECTS__
3648
3660
  function defineComponent(options, extraOptions) {
3649
3661
  return isFunction(options) ? (
@@ -3696,6 +3708,7 @@ function useTemplateRef(key) {
3696
3708
  return ret;
3697
3709
  }
3698
3710
 
3711
+ const pendingSetRefMap = /* @__PURE__ */ new WeakMap();
3699
3712
  function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
3700
3713
  if (isArray(rawRef)) {
3701
3714
  rawRef.forEach(
@@ -3745,6 +3758,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
3745
3758
  return !knownTemplateRefs.has(ref2);
3746
3759
  };
3747
3760
  if (oldRef != null && oldRef !== ref) {
3761
+ invalidatePendingSetRef(oldRawRef);
3748
3762
  if (isString(oldRef)) {
3749
3763
  refs[oldRef] = null;
3750
3764
  if (canSetSetupRef(oldRef)) {
@@ -3802,9 +3816,15 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
3802
3816
  }
3803
3817
  };
3804
3818
  if (value) {
3805
- doSet.id = -1;
3806
- queuePostRenderEffect(doSet, parentSuspense);
3819
+ const job = () => {
3820
+ doSet();
3821
+ pendingSetRefMap.delete(rawRef);
3822
+ };
3823
+ job.id = -1;
3824
+ pendingSetRefMap.set(rawRef, job);
3825
+ queuePostRenderEffect(job, parentSuspense);
3807
3826
  } else {
3827
+ invalidatePendingSetRef(rawRef);
3808
3828
  doSet();
3809
3829
  }
3810
3830
  } else {
@@ -3812,6 +3832,13 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
3812
3832
  }
3813
3833
  }
3814
3834
  }
3835
+ function invalidatePendingSetRef(rawRef) {
3836
+ const pendingSetRef = pendingSetRefMap.get(rawRef);
3837
+ if (pendingSetRef) {
3838
+ pendingSetRef.flags |= 8;
3839
+ pendingSetRefMap.delete(rawRef);
3840
+ }
3841
+ }
3815
3842
 
3816
3843
  let hasLoggedMismatchError = false;
3817
3844
  const logMismatchError = () => {
@@ -4544,7 +4571,6 @@ function forEachElement(node, cb) {
4544
4571
  }
4545
4572
 
4546
4573
  const isAsyncWrapper = (i) => !!i.type.__asyncLoader;
4547
- /*! #__NO_SIDE_EFFECTS__ */
4548
4574
  // @__NO_SIDE_EFFECTS__
4549
4575
  function defineAsyncComponent(source) {
4550
4576
  if (isFunction(source)) {
@@ -5154,12 +5180,13 @@ function createSlots(slots, dynamicSlots) {
5154
5180
 
5155
5181
  function renderSlot(slots, name, props = {}, fallback, noSlotted) {
5156
5182
  if (currentRenderingInstance.ce || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.ce) {
5183
+ const hasProps = Object.keys(props).length > 0;
5157
5184
  if (name !== "default") props.name = name;
5158
5185
  return openBlock(), createBlock(
5159
5186
  Fragment,
5160
5187
  null,
5161
5188
  [createVNode("slot", props, fallback && fallback())],
5162
- 64
5189
+ hasProps ? -2 : 64
5163
5190
  );
5164
5191
  }
5165
5192
  let slot = slots[name];
@@ -8582,8 +8609,9 @@ function emit(instance, event, ...rawArgs) {
8582
8609
  );
8583
8610
  }
8584
8611
  }
8612
+ const mixinEmitsCache = /* @__PURE__ */ new WeakMap();
8585
8613
  function normalizeEmitsOptions(comp, appContext, asMixin = false) {
8586
- const cache = appContext.emitsCache;
8614
+ const cache = asMixin ? mixinEmitsCache : appContext.emitsCache;
8587
8615
  const cached = cache.get(comp);
8588
8616
  if (cached !== void 0) {
8589
8617
  return cached;
@@ -9031,7 +9059,7 @@ function patchSuspense(n1, n2, container, anchor, parentComponent, namespace, sl
9031
9059
  const { activeBranch, pendingBranch, isInFallback, isHydrating } = suspense;
9032
9060
  if (pendingBranch) {
9033
9061
  suspense.pendingBranch = newBranch;
9034
- if (isSameVNodeType(newBranch, pendingBranch)) {
9062
+ if (isSameVNodeType(pendingBranch, newBranch)) {
9035
9063
  patch(
9036
9064
  pendingBranch,
9037
9065
  newBranch,
@@ -9102,7 +9130,7 @@ function patchSuspense(n1, n2, container, anchor, parentComponent, namespace, sl
9102
9130
  );
9103
9131
  setActiveBranch(suspense, newFallback);
9104
9132
  }
9105
- } else if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {
9133
+ } else if (activeBranch && isSameVNodeType(activeBranch, newBranch)) {
9106
9134
  patch(
9107
9135
  activeBranch,
9108
9136
  newBranch,
@@ -9133,7 +9161,7 @@ function patchSuspense(n1, n2, container, anchor, parentComponent, namespace, sl
9133
9161
  }
9134
9162
  }
9135
9163
  } else {
9136
- if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {
9164
+ if (activeBranch && isSameVNodeType(activeBranch, newBranch)) {
9137
9165
  patch(
9138
9166
  activeBranch,
9139
9167
  newBranch,
@@ -10290,7 +10318,7 @@ function getComponentPublicInstance(instance) {
10290
10318
  return instance.proxy;
10291
10319
  }
10292
10320
  }
10293
- const classifyRE = /(?:^|[-_])(\w)/g;
10321
+ const classifyRE = /(?:^|[-_])\w/g;
10294
10322
  const classify = (str) => str.replace(classifyRE, (c) => c.toUpperCase()).replace(/[-_]/g, "");
10295
10323
  function getComponentName(Component, includeInferred = true) {
10296
10324
  return isFunction(Component) ? Component.displayName || Component.name : Component.name || includeInferred && Component.__name;
@@ -10333,23 +10361,28 @@ const computed = (getterOrOptions, debugOptions) => {
10333
10361
  };
10334
10362
 
10335
10363
  function h(type, propsOrChildren, children) {
10336
- const l = arguments.length;
10337
- if (l === 2) {
10338
- if (isObject(propsOrChildren) && !isArray(propsOrChildren)) {
10339
- if (isVNode(propsOrChildren)) {
10340
- return createVNode(type, null, [propsOrChildren]);
10364
+ try {
10365
+ setBlockTracking(-1);
10366
+ const l = arguments.length;
10367
+ if (l === 2) {
10368
+ if (isObject(propsOrChildren) && !isArray(propsOrChildren)) {
10369
+ if (isVNode(propsOrChildren)) {
10370
+ return createVNode(type, null, [propsOrChildren]);
10371
+ }
10372
+ return createVNode(type, propsOrChildren);
10373
+ } else {
10374
+ return createVNode(type, null, propsOrChildren);
10341
10375
  }
10342
- return createVNode(type, propsOrChildren);
10343
10376
  } else {
10344
- return createVNode(type, null, propsOrChildren);
10345
- }
10346
- } else {
10347
- if (l > 3) {
10348
- children = Array.prototype.slice.call(arguments, 2);
10349
- } else if (l === 3 && isVNode(children)) {
10350
- children = [children];
10377
+ if (l > 3) {
10378
+ children = Array.prototype.slice.call(arguments, 2);
10379
+ } else if (l === 3 && isVNode(children)) {
10380
+ children = [children];
10381
+ }
10382
+ return createVNode(type, propsOrChildren, children);
10351
10383
  }
10352
- return createVNode(type, propsOrChildren, children);
10384
+ } finally {
10385
+ setBlockTracking(1);
10353
10386
  }
10354
10387
  }
10355
10388
 
@@ -10559,7 +10592,7 @@ function isMemoSame(cached, memo) {
10559
10592
  return true;
10560
10593
  }
10561
10594
 
10562
- const version = "3.5.20";
10595
+ const version = "3.5.22";
10563
10596
  const warn = warn$1 ;
10564
10597
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
10565
10598
  const devtools = devtools$1 ;
@@ -10788,11 +10821,11 @@ function resolveTransitionProps(rawProps) {
10788
10821
  const resolve = () => finishLeave(el, done);
10789
10822
  addTransitionClass(el, leaveFromClass);
10790
10823
  if (!el._enterCancelled) {
10791
- forceReflow();
10824
+ forceReflow(el);
10792
10825
  addTransitionClass(el, leaveActiveClass);
10793
10826
  } else {
10794
10827
  addTransitionClass(el, leaveActiveClass);
10795
- forceReflow();
10828
+ forceReflow(el);
10796
10829
  }
10797
10830
  nextFrame(() => {
10798
10831
  if (!el._isLeaving) {
@@ -10918,7 +10951,7 @@ function getTransitionInfo(el, expectedType) {
10918
10951
  type = timeout > 0 ? transitionTimeout > animationTimeout ? TRANSITION : ANIMATION : null;
10919
10952
  propCount = type ? type === TRANSITION ? transitionDurations.length : animationDurations.length : 0;
10920
10953
  }
10921
- const hasTransform = type === TRANSITION && /\b(transform|all)(,|$)/.test(
10954
+ const hasTransform = type === TRANSITION && /\b(?:transform|all)(?:,|$)/.test(
10922
10955
  getStyleProperties(`${TRANSITION}Property`).toString()
10923
10956
  );
10924
10957
  return {
@@ -10938,8 +10971,9 @@ function toMs(s) {
10938
10971
  if (s === "auto") return 0;
10939
10972
  return Number(s.slice(0, -1).replace(",", ".")) * 1e3;
10940
10973
  }
10941
- function forceReflow() {
10942
- return document.body.offsetHeight;
10974
+ function forceReflow(el) {
10975
+ const targetDocument = el ? el.ownerDocument : document;
10976
+ return targetDocument.body.offsetHeight;
10943
10977
  }
10944
10978
 
10945
10979
  function patchClass(el, value, isSVG) {
@@ -11079,7 +11113,7 @@ function setVarsOnNode(el, vars) {
11079
11113
  }
11080
11114
  }
11081
11115
 
11082
- const displayRE = /(^|;)\s*display\s*:/;
11116
+ const displayRE = /(?:^|;)\s*display\s*:/;
11083
11117
  function patchStyle(el, prev, next) {
11084
11118
  const style = el.style;
11085
11119
  const isCssString = isString(next);
@@ -11402,11 +11436,10 @@ function shouldSetAsProp(el, key, value, isSVG) {
11402
11436
  }
11403
11437
 
11404
11438
  const REMOVAL = {};
11405
- /*! #__NO_SIDE_EFFECTS__ */
11406
11439
  // @__NO_SIDE_EFFECTS__
11407
11440
  function defineCustomElement(options, extraOptions, _createApp) {
11408
- const Comp = defineComponent(options, extraOptions);
11409
- if (isPlainObject(Comp)) extend(Comp, extraOptions);
11441
+ let Comp = defineComponent(options, extraOptions);
11442
+ if (isPlainObject(Comp)) Comp = extend({}, Comp, extraOptions);
11410
11443
  class VueCustomElement extends VueElement {
11411
11444
  constructor(initialProps) {
11412
11445
  super(Comp, initialProps, _createApp);
@@ -11415,7 +11448,6 @@ function defineCustomElement(options, extraOptions, _createApp) {
11415
11448
  VueCustomElement.def = Comp;
11416
11449
  return VueCustomElement;
11417
11450
  }
11418
-
11419
11451
  const defineSSRCustomElement = (/* @__NO_SIDE_EFFECTS__ */ (options, extraOptions) => {
11420
11452
  return /* @__PURE__ */ defineCustomElement(options, extraOptions, createSSRApp);
11421
11453
  });
@@ -11454,7 +11486,11 @@ class VueElement extends BaseClass {
11454
11486
  );
11455
11487
  }
11456
11488
  if (_def.shadowRoot !== false) {
11457
- this.attachShadow({ mode: "open" });
11489
+ this.attachShadow(
11490
+ extend({}, _def.shadowRootOptions, {
11491
+ mode: "open"
11492
+ })
11493
+ );
11458
11494
  this._root = this.shadowRoot;
11459
11495
  } else {
11460
11496
  this._root = this;
@@ -11514,9 +11550,18 @@ class VueElement extends BaseClass {
11514
11550
  this._app && this._app.unmount();
11515
11551
  if (this._instance) this._instance.ce = void 0;
11516
11552
  this._app = this._instance = null;
11553
+ if (this._teleportTargets) {
11554
+ this._teleportTargets.clear();
11555
+ this._teleportTargets = void 0;
11556
+ }
11517
11557
  }
11518
11558
  });
11519
11559
  }
11560
+ _processMutations(mutations) {
11561
+ for (const m of mutations) {
11562
+ this._setAttr(m.attributeName);
11563
+ }
11564
+ }
11520
11565
  /**
11521
11566
  * resolve inner component definition (handle possible async component)
11522
11567
  */
@@ -11527,11 +11572,7 @@ class VueElement extends BaseClass {
11527
11572
  for (let i = 0; i < this.attributes.length; i++) {
11528
11573
  this._setAttr(this.attributes[i].name);
11529
11574
  }
11530
- this._ob = new MutationObserver((mutations) => {
11531
- for (const m of mutations) {
11532
- this._setAttr(m.attributeName);
11533
- }
11534
- });
11575
+ this._ob = new MutationObserver(this._processMutations.bind(this));
11535
11576
  this._ob.observe(this, { attributes: true });
11536
11577
  const resolve = (def, isAsync = false) => {
11537
11578
  this._resolved = true;
@@ -11647,7 +11688,10 @@ class VueElement extends BaseClass {
11647
11688
  }
11648
11689
  if (shouldReflect) {
11649
11690
  const ob = this._ob;
11650
- ob && ob.disconnect();
11691
+ if (ob) {
11692
+ this._processMutations(ob.takeRecords());
11693
+ ob.disconnect();
11694
+ }
11651
11695
  if (val === true) {
11652
11696
  this.setAttribute(hyphenate(key), "");
11653
11697
  } else if (typeof val === "string" || typeof val === "number") {
@@ -11751,7 +11795,7 @@ class VueElement extends BaseClass {
11751
11795
  * Only called when shadowRoot is false
11752
11796
  */
11753
11797
  _renderSlots() {
11754
- const outlets = (this._teleportTarget || this).querySelectorAll("slot");
11798
+ const outlets = this._getSlots();
11755
11799
  const scopeId = this._instance.type.__scopeId;
11756
11800
  for (let i = 0; i < outlets.length; i++) {
11757
11801
  const o = outlets[i];
@@ -11777,6 +11821,19 @@ class VueElement extends BaseClass {
11777
11821
  parent.removeChild(o);
11778
11822
  }
11779
11823
  }
11824
+ /**
11825
+ * @internal
11826
+ */
11827
+ _getSlots() {
11828
+ const roots = [this];
11829
+ if (this._teleportTargets) {
11830
+ roots.push(...this._teleportTargets);
11831
+ }
11832
+ return roots.reduce((res, i) => {
11833
+ res.push(...Array.from(i.querySelectorAll("slot")));
11834
+ return res;
11835
+ }, []);
11836
+ }
11780
11837
  /**
11781
11838
  * @internal
11782
11839
  */
@@ -11878,7 +11935,7 @@ const TransitionGroupImpl = /* @__PURE__ */ decorate({
11878
11935
  prevChildren.forEach(callPendingCbs);
11879
11936
  prevChildren.forEach(recordPosition);
11880
11937
  const movedChildren = prevChildren.filter(applyTranslation);
11881
- forceReflow();
11938
+ forceReflow(instance.vnode.el);
11882
11939
  movedChildren.forEach((c) => {
11883
11940
  const el = c.el;
11884
11941
  const style = el.style;
@@ -11888,7 +11945,7 @@ const TransitionGroupImpl = /* @__PURE__ */ decorate({
11888
11945
  if (e && e.target !== el) {
11889
11946
  return;
11890
11947
  }
11891
- if (!e || /transform$/.test(e.propertyName)) {
11948
+ if (!e || e.propertyName.endsWith("transform")) {
11892
11949
  el.removeEventListener("transitionend", cb);
11893
11950
  el[moveCbKey] = null;
11894
11951
  removeTransitionClass(el, moveClass);