@vue/compat 3.6.0-beta.5 → 3.6.0-beta.7

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.
@@ -179,7 +179,7 @@ declare class ComputedRefImpl<T = any> implements ReactiveNode {
179
179
  /**
180
180
  * @internal
181
181
  */
182
- readonly __v_isRef: true;
182
+ readonly __v_isRef = true;
183
183
  /**
184
184
  * @internal
185
185
  */
@@ -1013,7 +1013,7 @@ interface VaporInteropInterface {
1013
1013
  update(n1: VNode, n2: VNode, shouldUpdate: boolean, onBeforeUpdate?: () => void): void;
1014
1014
  unmount(vnode: VNode, doRemove?: boolean): void;
1015
1015
  move(vnode: VNode, container: any, anchor: any, moveType: MoveType): void;
1016
- slot(n1: VNode | null, n2: VNode, container: any, anchor: any, parentComponent: ComponentInternalInstance | null): void;
1016
+ slot(n1: VNode | null, n2: VNode, container: any, anchor: any, parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null): void;
1017
1017
  hydrate(vnode: VNode, node: any, container: any, anchor: any, parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null): Node;
1018
1018
  hydrateSlot(vnode: VNode, node: any): Node;
1019
1019
  activate(vnode: VNode, container: any, anchor: any, parentComponent: ComponentInternalInstance): void;
package/dist/vue.cjs.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/compat v3.6.0-beta.5
2
+ * @vue/compat v3.6.0-beta.7
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -3718,36 +3718,44 @@ function moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }
3718
3718
  if (isReorder) insert(anchor, container, parentAnchor);
3719
3719
  }
3720
3720
  function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, { o: { nextSibling, parentNode, querySelector, insert, createText } }, hydrateChildren) {
3721
- function hydrateDisabledTeleport(node, vnode, targetStart, targetAnchor) {
3721
+ function hydrateAnchor(target, targetNode) {
3722
+ let targetAnchor = targetNode;
3723
+ while (targetAnchor) {
3724
+ if (targetAnchor && targetAnchor.nodeType === 8) {
3725
+ if (targetAnchor.data === "teleport start anchor") vnode.targetStart = targetAnchor;
3726
+ else if (targetAnchor.data === "teleport anchor") {
3727
+ vnode.targetAnchor = targetAnchor;
3728
+ target._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor);
3729
+ break;
3730
+ }
3731
+ }
3732
+ targetAnchor = nextSibling(targetAnchor);
3733
+ }
3734
+ }
3735
+ function hydrateDisabledTeleport(node, vnode) {
3722
3736
  vnode.anchor = hydrateChildren(nextSibling(node), vnode, parentNode(node), parentComponent, parentSuspense, slotScopeIds, optimized);
3723
- vnode.targetStart = targetStart;
3724
- vnode.targetAnchor = targetAnchor;
3725
3737
  }
3726
3738
  const target = vnode.target = resolveTarget(vnode.props, querySelector);
3727
3739
  const disabled = isTeleportDisabled(vnode.props);
3728
3740
  if (target) {
3729
3741
  const targetNode = target._lpa || target.firstChild;
3730
- if (vnode.shapeFlag & 16) if (disabled) hydrateDisabledTeleport(node, vnode, targetNode, targetNode && nextSibling(targetNode));
3731
- else {
3742
+ if (vnode.shapeFlag & 16) if (disabled) {
3743
+ hydrateDisabledTeleport(node, vnode);
3744
+ hydrateAnchor(target, targetNode);
3745
+ if (!vnode.targetAnchor) prepareAnchor(target, vnode, createText, insert, parentNode(node) === target ? node : null);
3746
+ } else {
3732
3747
  vnode.anchor = nextSibling(node);
3733
- let targetAnchor = targetNode;
3734
- while (targetAnchor) {
3735
- if (targetAnchor && targetAnchor.nodeType === 8) {
3736
- if (targetAnchor.data === "teleport start anchor") vnode.targetStart = targetAnchor;
3737
- else if (targetAnchor.data === "teleport anchor") {
3738
- vnode.targetAnchor = targetAnchor;
3739
- target._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor);
3740
- break;
3741
- }
3742
- }
3743
- targetAnchor = nextSibling(targetAnchor);
3744
- }
3748
+ hydrateAnchor(target, targetNode);
3745
3749
  if (!vnode.targetAnchor) prepareAnchor(target, vnode, createText, insert);
3746
3750
  hydrateChildren(targetNode && nextSibling(targetNode), vnode, target, parentComponent, parentSuspense, slotScopeIds, optimized);
3747
3751
  }
3748
3752
  updateCssVars(vnode, disabled);
3749
3753
  } else if (disabled) {
3750
- if (vnode.shapeFlag & 16) hydrateDisabledTeleport(node, vnode, node, nextSibling(node));
3754
+ if (vnode.shapeFlag & 16) {
3755
+ hydrateDisabledTeleport(node, vnode);
3756
+ vnode.targetStart = node;
3757
+ vnode.targetAnchor = nextSibling(node);
3758
+ }
3751
3759
  }
3752
3760
  return vnode.anchor && nextSibling(vnode.anchor);
3753
3761
  }
@@ -3770,13 +3778,13 @@ function updateCssVars(vnode, isDisabled) {
3770
3778
  ctx.ut();
3771
3779
  }
3772
3780
  }
3773
- function prepareAnchor(target, vnode, createText, insert) {
3781
+ function prepareAnchor(target, vnode, createText, insert, anchor = null) {
3774
3782
  const targetStart = vnode.targetStart = createText("");
3775
3783
  const targetAnchor = vnode.targetAnchor = createText("");
3776
3784
  targetStart[TeleportEndKey] = targetAnchor;
3777
3785
  if (target) {
3778
- insert(targetStart, target);
3779
- insert(targetAnchor, target);
3786
+ insert(targetStart, target, anchor);
3787
+ insert(targetAnchor, target, anchor);
3780
3788
  }
3781
3789
  return targetAnchor;
3782
3790
  }
@@ -3904,6 +3912,7 @@ function resolveTransitionHooks(vnode, props, state, instance, postClone) {
3904
3912
  const key = String(vnode.key);
3905
3913
  const leavingVNodesCache = getLeavingNodesForType(state, vnode);
3906
3914
  return baseResolveTransitionHooks({
3915
+ isLeaving: () => leavingVNodesCache[key] === vnode,
3907
3916
  setLeavingNodeCache: () => {
3908
3917
  leavingVNodesCache[key] = vnode;
3909
3918
  },
@@ -3922,7 +3931,7 @@ function resolveTransitionHooks(vnode, props, state, instance, postClone) {
3922
3931
  }, props, state, instance);
3923
3932
  }
3924
3933
  function baseResolveTransitionHooks(context, props, state, instance) {
3925
- const { setLeavingNodeCache, unsetLeavingNodeCache, earlyRemove, cloneHooks } = context;
3934
+ const { isLeaving, setLeavingNodeCache, unsetLeavingNodeCache, earlyRemove, cloneHooks } = context;
3926
3935
  const { appear, mode, persisted = false, onBeforeEnter, onEnter, onAfterEnter, onEnterCancelled, onBeforeLeave, onLeave, onAfterLeave, onLeaveCancelled, onBeforeAppear, onAppear, onAfterAppear, onAppearCancelled } = props;
3927
3936
  const callHook = (hook, args) => {
3928
3937
  hook && callWithAsyncErrorHandling(hook, instance, 9, args);
@@ -3946,6 +3955,7 @@ function baseResolveTransitionHooks(context, props, state, instance) {
3946
3955
  callHook(hook, [el]);
3947
3956
  },
3948
3957
  enter(el) {
3958
+ if (isLeaving()) return;
3949
3959
  let hook = onEnter;
3950
3960
  let afterHook = onAfterEnter;
3951
3961
  let cancelHook = onEnterCancelled;
@@ -3955,7 +3965,7 @@ function baseResolveTransitionHooks(context, props, state, instance) {
3955
3965
  cancelHook = onAppearCancelled || onEnterCancelled;
3956
3966
  } else return;
3957
3967
  let called = false;
3958
- const done = el[enterCbKey$1] = (cancelled) => {
3968
+ el[enterCbKey$1] = (cancelled) => {
3959
3969
  if (called) return;
3960
3970
  called = true;
3961
3971
  if (cancelled) callHook(cancelHook, [el]);
@@ -3963,6 +3973,7 @@ function baseResolveTransitionHooks(context, props, state, instance) {
3963
3973
  if (hooks.delayedLeave) hooks.delayedLeave();
3964
3974
  el[enterCbKey$1] = void 0;
3965
3975
  };
3976
+ const done = el[enterCbKey$1].bind(null, false);
3966
3977
  if (hook) callAsyncHook(hook, [el, done]);
3967
3978
  else done();
3968
3979
  },
@@ -3971,7 +3982,7 @@ function baseResolveTransitionHooks(context, props, state, instance) {
3971
3982
  if (state.isUnmounting) return remove();
3972
3983
  callHook(onBeforeLeave, [el]);
3973
3984
  let called = false;
3974
- const done = el[leaveCbKey] = (cancelled) => {
3985
+ el[leaveCbKey] = (cancelled) => {
3975
3986
  if (called) return;
3976
3987
  called = true;
3977
3988
  remove();
@@ -3981,6 +3992,7 @@ function baseResolveTransitionHooks(context, props, state, instance) {
3981
3992
  unsetLeavingNodeCache(el);
3982
3993
  };
3983
3994
  setLeavingNodeCache(el);
3995
+ const done = el[leaveCbKey].bind(null, false);
3984
3996
  if (onLeave) callAsyncHook(onLeave, [el, done]);
3985
3997
  else done();
3986
3998
  },
@@ -4078,8 +4090,7 @@ function useTemplateRef(key) {
4078
4090
  const r = /* @__PURE__ */ shallowRef(null);
4079
4091
  if (i) {
4080
4092
  const refs = i.refs === EMPTY_OBJ ? i.refs = {} : i.refs;
4081
- let desc;
4082
- if ((desc = Object.getOwnPropertyDescriptor(refs, key)) && !desc.configurable) warn$1(`useTemplateRef('${key}') already exists.`);
4093
+ if (isTemplateRefKey(refs, key)) warn$1(`useTemplateRef('${key}') already exists.`);
4083
4094
  else Object.defineProperty(refs, key, {
4084
4095
  enumerable: true,
4085
4096
  get: () => r.value,
@@ -4090,6 +4101,10 @@ function useTemplateRef(key) {
4090
4101
  knownTemplateRefs.add(ret);
4091
4102
  return ret;
4092
4103
  }
4104
+ function isTemplateRefKey(refs, key) {
4105
+ let desc;
4106
+ return !!((desc = Object.getOwnPropertyDescriptor(refs, key)) && !desc.configurable);
4107
+ }
4093
4108
 
4094
4109
  //#endregion
4095
4110
  //#region packages/runtime-core/src/rendererTemplateRef.ts
@@ -4116,9 +4131,11 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
4116
4131
  const oldRef = oldRawRef && oldRawRef.r;
4117
4132
  const refs = owner.refs === EMPTY_OBJ ? owner.refs = {} : owner.refs;
4118
4133
  const setupState = owner.setupState;
4119
- const canSetSetupRef = createCanSetSetupRefChecker(setupState);
4120
- const canSetRef = (ref) => {
4121
- return !knownTemplateRefs.has(ref);
4134
+ const canSetSetupRef = createCanSetSetupRefChecker(setupState, refs);
4135
+ const canSetRef = (ref, key) => {
4136
+ if (knownTemplateRefs.has(ref)) return false;
4137
+ if (key && isTemplateRefKey(refs, key)) return false;
4138
+ return true;
4122
4139
  };
4123
4140
  if (oldRef != null && oldRef !== ref) {
4124
4141
  invalidatePendingSetRef(oldRawRef);
@@ -4126,8 +4143,8 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
4126
4143
  refs[oldRef] = null;
4127
4144
  if (canSetSetupRef(oldRef)) setupState[oldRef] = null;
4128
4145
  } else if (/* @__PURE__ */ isRef(oldRef)) {
4129
- if (canSetRef(oldRef)) oldRef.value = null;
4130
4146
  const oldRawRefAtom = oldRawRef;
4147
+ if (canSetRef(oldRef, oldRawRefAtom.k)) oldRef.value = null;
4131
4148
  if (oldRawRefAtom.k) refs[oldRawRefAtom.k] = null;
4132
4149
  }
4133
4150
  }
@@ -4145,7 +4162,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
4145
4162
  if (canSetSetupRef(ref)) setupState[ref] = refs[ref];
4146
4163
  } else {
4147
4164
  const newVal = [refValue];
4148
- if (canSetRef(ref)) ref.value = newVal;
4165
+ if (canSetRef(ref, rawRef.k)) ref.value = newVal;
4149
4166
  if (rawRef.k) refs[rawRef.k] = newVal;
4150
4167
  }
4151
4168
  else if (!existing.includes(refValue)) existing.push(refValue);
@@ -4153,7 +4170,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
4153
4170
  refs[ref] = value;
4154
4171
  if (canSetSetupRef(ref)) setupState[ref] = value;
4155
4172
  } else if (_isRef) {
4156
- if (canSetRef(ref)) ref.value = value;
4173
+ if (canSetRef(ref, rawRef.k)) ref.value = value;
4157
4174
  if (rawRef.k) refs[rawRef.k] = value;
4158
4175
  } else warn$1("Invalid template ref type:", ref, `(${typeof ref})`);
4159
4176
  };
@@ -4171,11 +4188,12 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
4171
4188
  } else warn$1("Invalid template ref type:", ref, `(${typeof ref})`);
4172
4189
  }
4173
4190
  }
4174
- function createCanSetSetupRefChecker(setupState) {
4191
+ function createCanSetSetupRefChecker(setupState, refs) {
4175
4192
  const rawSetupState = /* @__PURE__ */ toRaw(setupState);
4176
4193
  return setupState === void 0 || setupState === EMPTY_OBJ ? NO : (key) => {
4177
4194
  if (hasOwn(rawSetupState, key) && !/* @__PURE__ */ isRef(rawSetupState[key])) warn$1(`Template ref "${key}" used on a non-ref value. It will not work in the production build.`);
4178
4195
  if (knownTemplateRefs.has(rawSetupState[key])) return false;
4196
+ if (isTemplateRefKey(refs, key)) return false;
4179
4197
  return hasOwn(rawSetupState, key);
4180
4198
  };
4181
4199
  }
@@ -5996,11 +6014,16 @@ function withAsyncContext(getAwaitable) {
5996
6014
  if (!ctx) warn$1("withAsyncContext called without active current instance. This is likely a bug.");
5997
6015
  let awaitable = getAwaitable();
5998
6016
  setCurrentInstance(null, void 0);
6017
+ const cleanup = () => setCurrentInstance(null, void 0);
5999
6018
  if (isPromise(awaitable)) awaitable = awaitable.catch((e) => {
6000
6019
  setCurrentInstance(ctx);
6020
+ Promise.resolve().then(() => Promise.resolve().then(cleanup));
6001
6021
  throw e;
6002
6022
  });
6003
- return [awaitable, () => setCurrentInstance(ctx)];
6023
+ return [awaitable, () => {
6024
+ setCurrentInstance(ctx);
6025
+ Promise.resolve().then(cleanup);
6026
+ }];
6004
6027
  }
6005
6028
 
6006
6029
  //#endregion
@@ -6321,7 +6344,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
6321
6344
  if (options.el) return vm.$mount(options.el);
6322
6345
  else return vm;
6323
6346
  }
6324
- Vue.version = `2.6.14-compat:3.6.0-beta.5`;
6347
+ Vue.version = `2.6.14-compat:3.6.0-beta.7`;
6325
6348
  Vue.config = singletonApp.config;
6326
6349
  Vue.use = (plugin, ...options) => {
6327
6350
  if (plugin && isFunction(plugin.install)) plugin.install(Vue, ...options);
@@ -7109,7 +7132,7 @@ function shouldUpdateComponent(prevVNode, nextVNode, optimized) {
7109
7132
  const dynamicProps = nextVNode.dynamicProps;
7110
7133
  for (let i = 0; i < dynamicProps.length; i++) {
7111
7134
  const key = dynamicProps[i];
7112
- if (nextProps[key] !== prevProps[key] && !isEmitListener(emits, key)) return true;
7135
+ if (hasPropValueChanged(nextProps, prevProps, key) && !isEmitListener(emits, key)) return true;
7113
7136
  }
7114
7137
  }
7115
7138
  } else {
@@ -7128,10 +7151,16 @@ function hasPropsChanged(prevProps, nextProps, emitsOptions) {
7128
7151
  if (nextKeys.length !== Object.keys(prevProps).length) return true;
7129
7152
  for (let i = 0; i < nextKeys.length; i++) {
7130
7153
  const key = nextKeys[i];
7131
- if (nextProps[key] !== prevProps[key] && !isEmitListener(emitsOptions, key)) return true;
7154
+ if (hasPropValueChanged(nextProps, prevProps, key) && !isEmitListener(emitsOptions, key)) return true;
7132
7155
  }
7133
7156
  return false;
7134
7157
  }
7158
+ function hasPropValueChanged(nextProps, prevProps, key) {
7159
+ const nextProp = nextProps[key];
7160
+ const prevProp = prevProps[key];
7161
+ if (key === "style" && isObject(nextProp) && isObject(prevProp)) return !looseEqual(nextProp, prevProp);
7162
+ return nextProp !== prevProp;
7163
+ }
7135
7164
  function updateHOCHostEl({ vnode, parent }, el) {
7136
7165
  while (parent && !parent.vapor) {
7137
7166
  const root = parent.subTree;
@@ -7658,7 +7687,7 @@ function baseCreateRenderer(options, createHydrationFns) {
7658
7687
  processFragment(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
7659
7688
  break;
7660
7689
  case VaporSlot:
7661
- getVaporInterface(parentComponent, n2).slot(n1, n2, container, anchor, parentComponent);
7690
+ getVaporInterface(parentComponent, n2).slot(n1, n2, container, anchor, parentComponent, parentSuspense);
7662
7691
  break;
7663
7692
  default: if (shapeFlag & 1) processElement(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
7664
7693
  else if (shapeFlag & 6) processComponent(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
@@ -7673,13 +7702,7 @@ function baseCreateRenderer(options, createHydrationFns) {
7673
7702
  if (n1 == null) hostInsert(n2.el = hostCreateText(n2.children), container, anchor);
7674
7703
  else {
7675
7704
  const el = n2.el = n1.el;
7676
- if (n2.children !== n1.children) if (isHmrUpdating && n2.patchFlag === -1 && "__elIndex" in n1) {
7677
- const childNodes = container.childNodes;
7678
- const newChild = hostCreateText(n2.children);
7679
- const oldChild = childNodes[n2.__elIndex = n1.__elIndex];
7680
- hostInsert(newChild, container, oldChild);
7681
- hostRemove(oldChild);
7682
- } else hostSetText(el, n2.children);
7705
+ if (n2.children !== n1.children) hostSetText(el, n2.children);
7683
7706
  }
7684
7707
  };
7685
7708
  const processCommentNode = (n1, n2, container, anchor) => {
@@ -8023,7 +8046,9 @@ function baseCreateRenderer(options, createHydrationFns) {
8023
8046
  updateComponentPreRender(instance, next, optimized);
8024
8047
  }
8025
8048
  nonHydratedAsyncRoot.asyncDep.then(() => {
8026
- if (!instance.isUnmounted) this.fn();
8049
+ queuePostRenderEffect(() => {
8050
+ if (!instance.isUnmounted) instance.update();
8051
+ }, void 0, parentSuspense);
8027
8052
  });
8028
8053
  return;
8029
8054
  }
@@ -8436,8 +8461,10 @@ function traverseStaticChildren(n1, n2, shallow = false) {
8436
8461
  }
8437
8462
  if (!shallow && c2.patchFlag !== -2) traverseStaticChildren(c1, c2);
8438
8463
  }
8439
- if (c2.type === Text) if (c2.patchFlag !== -1) c2.el = c1.el;
8440
- else c2.__elIndex = i + (n1.type === Fragment ? 1 : 0);
8464
+ if (c2.type === Text) {
8465
+ if (c2.patchFlag === -1) c2 = ch2[i] = cloneIfMounted(c2);
8466
+ c2.el = c1.el;
8467
+ }
8441
8468
  if (c2.type === Comment && !c2.el) c2.el = c1.el;
8442
8469
  c2.el && (c2.el.__vnode = c2);
8443
8470
  }
@@ -9737,7 +9764,7 @@ function isMemoSame(cached, memo) {
9737
9764
 
9738
9765
  //#endregion
9739
9766
  //#region packages/runtime-core/src/index.ts
9740
- const version = "3.6.0-beta.5";
9767
+ const version = "3.6.0-beta.7";
9741
9768
  const warn = warn$1;
9742
9769
  /**
9743
9770
  * Runtime error messages. Only exposed in dev or esm builds.
@@ -10849,10 +10876,7 @@ const TransitionGroupImpl = /* @__PURE__ */ decorate({
10849
10876
  if (child.el && child.el instanceof Element) {
10850
10877
  prevChildren.push(child);
10851
10878
  setTransitionHooks(child, resolveTransitionHooks(child, cssTransitionProps, state, instance));
10852
- positionMap.set(child, {
10853
- left: child.el.offsetLeft,
10854
- top: child.el.offsetTop
10855
- });
10879
+ positionMap.set(child, getPosition(child.el));
10856
10880
  }
10857
10881
  }
10858
10882
  children = slots.default ? getTransitionRawChildren(slots.default()) : [];
@@ -10871,10 +10895,7 @@ function callPendingCbs(el) {
10871
10895
  if (el[enterCbKey]) el[enterCbKey]();
10872
10896
  }
10873
10897
  function recordPosition(c) {
10874
- newPositionMap.set(c, {
10875
- left: c.el.offsetLeft,
10876
- top: c.el.offsetTop
10877
- });
10898
+ newPositionMap.set(c, getPosition(c.el));
10878
10899
  }
10879
10900
  function applyTranslation(c) {
10880
10901
  if (baseApplyTranslation(positionMap.get(c), newPositionMap.get(c), c.el)) return c;
@@ -10884,12 +10905,28 @@ function baseApplyTranslation(oldPos, newPos, el) {
10884
10905
  const dy = oldPos.top - newPos.top;
10885
10906
  if (dx || dy) {
10886
10907
  const s = el.style;
10887
- s.transform = s.webkitTransform = `translate(${dx}px,${dy}px)`;
10908
+ const rect = el.getBoundingClientRect();
10909
+ let scaleX = 1;
10910
+ let scaleY = 1;
10911
+ if (el.offsetWidth) scaleX = rect.width / el.offsetWidth;
10912
+ if (el.offsetHeight) scaleY = rect.height / el.offsetHeight;
10913
+ if (!Number.isFinite(scaleX) || scaleX === 0) scaleX = 1;
10914
+ if (!Number.isFinite(scaleY) || scaleY === 0) scaleY = 1;
10915
+ if (Math.abs(scaleX - 1) < .01) scaleX = 1;
10916
+ if (Math.abs(scaleY - 1) < .01) scaleY = 1;
10917
+ s.transform = s.webkitTransform = `translate(${dx / scaleX}px,${dy / scaleY}px)`;
10888
10918
  s.transitionDuration = "0s";
10889
10919
  return true;
10890
10920
  }
10891
10921
  return false;
10892
10922
  }
10923
+ function getPosition(el) {
10924
+ const rect = el.getBoundingClientRect();
10925
+ return {
10926
+ left: rect.left,
10927
+ top: rect.top
10928
+ };
10929
+ }
10893
10930
  function hasCSSTransform(el, root, moveClass) {
10894
10931
  const clone = el.cloneNode();
10895
10932
  const _vtc = el[vtcKey];
@@ -11194,6 +11231,7 @@ const modifierGuards = {
11194
11231
  * @private
11195
11232
  */
11196
11233
  const withModifiers = (fn, modifiers) => {
11234
+ if (!fn) return fn;
11197
11235
  const cache = fn._withMods || (fn._withMods = {});
11198
11236
  const cacheKey = modifiers.join(".");
11199
11237
  return cache[cacheKey] || (cache[cacheKey] = ((event, ...args) => {
@@ -17211,7 +17249,6 @@ function compileToFunction(template, options) {
17211
17249
  registerRuntimeCompiler(compileToFunction);
17212
17250
  const Vue = createCompatVue();
17213
17251
  Vue.compile = compileToFunction;
17214
- var src_default = Vue;
17215
17252
 
17216
17253
  //#endregion
17217
- module.exports = src_default;
17254
+ module.exports = Vue;