@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.
@@ -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
  **/
@@ -2592,6 +2592,14 @@ function logError(err, type, instance, throwInDev = true, throwInProd = false) {
2592
2592
 
2593
2593
  //#endregion
2594
2594
  //#region packages/runtime-core/src/scheduler.ts
2595
+ const SchedulerJobFlags = {
2596
+ "QUEUED": 1,
2597
+ "1": "QUEUED",
2598
+ "ALLOW_RECURSE": 2,
2599
+ "2": "ALLOW_RECURSE",
2600
+ "DISPOSED": 4,
2601
+ "4": "DISPOSED"
2602
+ };
2595
2603
  const jobs = [];
2596
2604
  let postJobs = [];
2597
2605
  let activePostJobs = null;
@@ -3684,36 +3692,44 @@ function moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }
3684
3692
  if (isReorder) insert(anchor, container, parentAnchor);
3685
3693
  }
3686
3694
  function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, { o: { nextSibling, parentNode, querySelector, insert, createText } }, hydrateChildren) {
3687
- function hydrateDisabledTeleport(node, vnode, targetStart, targetAnchor) {
3695
+ function hydrateAnchor(target, targetNode) {
3696
+ let targetAnchor = targetNode;
3697
+ while (targetAnchor) {
3698
+ if (targetAnchor && targetAnchor.nodeType === 8) {
3699
+ if (targetAnchor.data === "teleport start anchor") vnode.targetStart = targetAnchor;
3700
+ else if (targetAnchor.data === "teleport anchor") {
3701
+ vnode.targetAnchor = targetAnchor;
3702
+ target._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor);
3703
+ break;
3704
+ }
3705
+ }
3706
+ targetAnchor = nextSibling(targetAnchor);
3707
+ }
3708
+ }
3709
+ function hydrateDisabledTeleport(node, vnode) {
3688
3710
  vnode.anchor = hydrateChildren(nextSibling(node), vnode, parentNode(node), parentComponent, parentSuspense, slotScopeIds, optimized);
3689
- vnode.targetStart = targetStart;
3690
- vnode.targetAnchor = targetAnchor;
3691
3711
  }
3692
3712
  const target = vnode.target = resolveTarget(vnode.props, querySelector);
3693
3713
  const disabled = isTeleportDisabled(vnode.props);
3694
3714
  if (target) {
3695
3715
  const targetNode = target._lpa || target.firstChild;
3696
- if (vnode.shapeFlag & 16) if (disabled) hydrateDisabledTeleport(node, vnode, targetNode, targetNode && nextSibling(targetNode));
3697
- else {
3716
+ if (vnode.shapeFlag & 16) if (disabled) {
3717
+ hydrateDisabledTeleport(node, vnode);
3718
+ hydrateAnchor(target, targetNode);
3719
+ if (!vnode.targetAnchor) prepareAnchor(target, vnode, createText, insert, parentNode(node) === target ? node : null);
3720
+ } else {
3698
3721
  vnode.anchor = nextSibling(node);
3699
- let targetAnchor = targetNode;
3700
- while (targetAnchor) {
3701
- if (targetAnchor && targetAnchor.nodeType === 8) {
3702
- if (targetAnchor.data === "teleport start anchor") vnode.targetStart = targetAnchor;
3703
- else if (targetAnchor.data === "teleport anchor") {
3704
- vnode.targetAnchor = targetAnchor;
3705
- target._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor);
3706
- break;
3707
- }
3708
- }
3709
- targetAnchor = nextSibling(targetAnchor);
3710
- }
3722
+ hydrateAnchor(target, targetNode);
3711
3723
  if (!vnode.targetAnchor) prepareAnchor(target, vnode, createText, insert);
3712
3724
  hydrateChildren(targetNode && nextSibling(targetNode), vnode, target, parentComponent, parentSuspense, slotScopeIds, optimized);
3713
3725
  }
3714
3726
  updateCssVars(vnode, disabled);
3715
3727
  } else if (disabled) {
3716
- if (vnode.shapeFlag & 16) hydrateDisabledTeleport(node, vnode, node, nextSibling(node));
3728
+ if (vnode.shapeFlag & 16) {
3729
+ hydrateDisabledTeleport(node, vnode);
3730
+ vnode.targetStart = node;
3731
+ vnode.targetAnchor = nextSibling(node);
3732
+ }
3717
3733
  }
3718
3734
  return vnode.anchor && nextSibling(vnode.anchor);
3719
3735
  }
@@ -3736,13 +3752,13 @@ function updateCssVars(vnode, isDisabled) {
3736
3752
  ctx.ut();
3737
3753
  }
3738
3754
  }
3739
- function prepareAnchor(target, vnode, createText, insert) {
3755
+ function prepareAnchor(target, vnode, createText, insert, anchor = null) {
3740
3756
  const targetStart = vnode.targetStart = createText("");
3741
3757
  const targetAnchor = vnode.targetAnchor = createText("");
3742
3758
  targetStart[TeleportEndKey] = targetAnchor;
3743
3759
  if (target) {
3744
- insert(targetStart, target);
3745
- insert(targetAnchor, target);
3760
+ insert(targetStart, target, anchor);
3761
+ insert(targetAnchor, target, anchor);
3746
3762
  }
3747
3763
  return targetAnchor;
3748
3764
  }
@@ -3871,6 +3887,7 @@ function resolveTransitionHooks(vnode, props, state, instance, postClone) {
3871
3887
  const key = String(vnode.key);
3872
3888
  const leavingVNodesCache = getLeavingNodesForType(state, vnode);
3873
3889
  return baseResolveTransitionHooks({
3890
+ isLeaving: () => leavingVNodesCache[key] === vnode,
3874
3891
  setLeavingNodeCache: () => {
3875
3892
  leavingVNodesCache[key] = vnode;
3876
3893
  },
@@ -3889,7 +3906,7 @@ function resolveTransitionHooks(vnode, props, state, instance, postClone) {
3889
3906
  }, props, state, instance);
3890
3907
  }
3891
3908
  function baseResolveTransitionHooks(context, props, state, instance) {
3892
- const { setLeavingNodeCache, unsetLeavingNodeCache, earlyRemove, cloneHooks } = context;
3909
+ const { isLeaving, setLeavingNodeCache, unsetLeavingNodeCache, earlyRemove, cloneHooks } = context;
3893
3910
  const { appear, mode, persisted = false, onBeforeEnter, onEnter, onAfterEnter, onEnterCancelled, onBeforeLeave, onLeave, onAfterLeave, onLeaveCancelled, onBeforeAppear, onAppear, onAfterAppear, onAppearCancelled } = props;
3894
3911
  const callHook = (hook, args) => {
3895
3912
  hook && callWithAsyncErrorHandling(hook, instance, 9, args);
@@ -3913,6 +3930,7 @@ function baseResolveTransitionHooks(context, props, state, instance) {
3913
3930
  callHook(hook, [el]);
3914
3931
  },
3915
3932
  enter(el) {
3933
+ if (isLeaving()) return;
3916
3934
  let hook = onEnter;
3917
3935
  let afterHook = onAfterEnter;
3918
3936
  let cancelHook = onEnterCancelled;
@@ -3922,7 +3940,7 @@ function baseResolveTransitionHooks(context, props, state, instance) {
3922
3940
  cancelHook = onAppearCancelled || onEnterCancelled;
3923
3941
  } else return;
3924
3942
  let called = false;
3925
- const done = el[enterCbKey$1] = (cancelled) => {
3943
+ el[enterCbKey$1] = (cancelled) => {
3926
3944
  if (called) return;
3927
3945
  called = true;
3928
3946
  if (cancelled) callHook(cancelHook, [el]);
@@ -3930,6 +3948,7 @@ function baseResolveTransitionHooks(context, props, state, instance) {
3930
3948
  if (hooks.delayedLeave) hooks.delayedLeave();
3931
3949
  el[enterCbKey$1] = void 0;
3932
3950
  };
3951
+ const done = el[enterCbKey$1].bind(null, false);
3933
3952
  if (hook) callAsyncHook(hook, [el, done]);
3934
3953
  else done();
3935
3954
  },
@@ -3938,7 +3957,7 @@ function baseResolveTransitionHooks(context, props, state, instance) {
3938
3957
  if (state.isUnmounting) return remove();
3939
3958
  callHook(onBeforeLeave, [el]);
3940
3959
  let called = false;
3941
- const done = el[leaveCbKey] = (cancelled) => {
3960
+ el[leaveCbKey] = (cancelled) => {
3942
3961
  if (called) return;
3943
3962
  called = true;
3944
3963
  remove();
@@ -3948,6 +3967,7 @@ function baseResolveTransitionHooks(context, props, state, instance) {
3948
3967
  unsetLeavingNodeCache(el);
3949
3968
  };
3950
3969
  setLeavingNodeCache(el);
3970
+ const done = el[leaveCbKey].bind(null, false);
3951
3971
  if (onLeave) callAsyncHook(onLeave, [el, done]);
3952
3972
  else done();
3953
3973
  },
@@ -4045,8 +4065,7 @@ function useTemplateRef(key) {
4045
4065
  const r = /* @__PURE__ */ shallowRef(null);
4046
4066
  if (i) {
4047
4067
  const refs = i.refs === EMPTY_OBJ ? i.refs = {} : i.refs;
4048
- let desc;
4049
- if (!!(process.env.NODE_ENV !== "production") && (desc = Object.getOwnPropertyDescriptor(refs, key)) && !desc.configurable) warn$1(`useTemplateRef('${key}') already exists.`);
4068
+ if (!!(process.env.NODE_ENV !== "production") && isTemplateRefKey(refs, key)) warn$1(`useTemplateRef('${key}') already exists.`);
4050
4069
  else Object.defineProperty(refs, key, {
4051
4070
  enumerable: true,
4052
4071
  get: () => r.value,
@@ -4057,6 +4076,10 @@ function useTemplateRef(key) {
4057
4076
  if (!!(process.env.NODE_ENV !== "production")) knownTemplateRefs.add(ret);
4058
4077
  return ret;
4059
4078
  }
4079
+ function isTemplateRefKey(refs, key) {
4080
+ let desc;
4081
+ return !!((desc = Object.getOwnPropertyDescriptor(refs, key)) && !desc.configurable);
4082
+ }
4060
4083
 
4061
4084
  //#endregion
4062
4085
  //#region packages/runtime-core/src/rendererTemplateRef.ts
@@ -4083,9 +4106,11 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
4083
4106
  const oldRef = oldRawRef && oldRawRef.r;
4084
4107
  const refs = owner.refs === EMPTY_OBJ ? owner.refs = {} : owner.refs;
4085
4108
  const setupState = owner.setupState;
4086
- const canSetSetupRef = createCanSetSetupRefChecker(setupState);
4087
- const canSetRef = (ref) => {
4088
- return !!!(process.env.NODE_ENV !== "production") || !knownTemplateRefs.has(ref);
4109
+ const canSetSetupRef = createCanSetSetupRefChecker(setupState, refs);
4110
+ const canSetRef = (ref, key) => {
4111
+ if (!!(process.env.NODE_ENV !== "production") && knownTemplateRefs.has(ref)) return false;
4112
+ if (key && isTemplateRefKey(refs, key)) return false;
4113
+ return true;
4089
4114
  };
4090
4115
  if (oldRef != null && oldRef !== ref) {
4091
4116
  invalidatePendingSetRef(oldRawRef);
@@ -4093,8 +4118,8 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
4093
4118
  refs[oldRef] = null;
4094
4119
  if (canSetSetupRef(oldRef)) setupState[oldRef] = null;
4095
4120
  } else if (/* @__PURE__ */ isRef(oldRef)) {
4096
- if (canSetRef(oldRef)) oldRef.value = null;
4097
4121
  const oldRawRefAtom = oldRawRef;
4122
+ if (canSetRef(oldRef, oldRawRefAtom.k)) oldRef.value = null;
4098
4123
  if (oldRawRefAtom.k) refs[oldRawRefAtom.k] = null;
4099
4124
  }
4100
4125
  }
@@ -4112,7 +4137,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
4112
4137
  if (canSetSetupRef(ref)) setupState[ref] = refs[ref];
4113
4138
  } else {
4114
4139
  const newVal = [refValue];
4115
- if (canSetRef(ref)) ref.value = newVal;
4140
+ if (canSetRef(ref, rawRef.k)) ref.value = newVal;
4116
4141
  if (rawRef.k) refs[rawRef.k] = newVal;
4117
4142
  }
4118
4143
  else if (!existing.includes(refValue)) existing.push(refValue);
@@ -4120,7 +4145,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
4120
4145
  refs[ref] = value;
4121
4146
  if (canSetSetupRef(ref)) setupState[ref] = value;
4122
4147
  } else if (_isRef) {
4123
- if (canSetRef(ref)) ref.value = value;
4148
+ if (canSetRef(ref, rawRef.k)) ref.value = value;
4124
4149
  if (rawRef.k) refs[rawRef.k] = value;
4125
4150
  } else if (!!(process.env.NODE_ENV !== "production")) warn$1("Invalid template ref type:", ref, `(${typeof ref})`);
4126
4151
  };
@@ -4138,13 +4163,14 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
4138
4163
  } else if (!!(process.env.NODE_ENV !== "production")) warn$1("Invalid template ref type:", ref, `(${typeof ref})`);
4139
4164
  }
4140
4165
  }
4141
- function createCanSetSetupRefChecker(setupState) {
4166
+ function createCanSetSetupRefChecker(setupState, refs) {
4142
4167
  const rawSetupState = /* @__PURE__ */ toRaw(setupState);
4143
4168
  return setupState === void 0 || setupState === EMPTY_OBJ ? NO : (key) => {
4144
4169
  if (!!(process.env.NODE_ENV !== "production")) {
4145
4170
  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.`);
4146
4171
  if (knownTemplateRefs.has(rawSetupState[key])) return false;
4147
4172
  }
4173
+ if (isTemplateRefKey(refs, key)) return false;
4148
4174
  return hasOwn(rawSetupState, key);
4149
4175
  };
4150
4176
  }
@@ -5033,7 +5059,6 @@ function deactivate(vnode, container, { m: move }, parentComponent, parentSuspen
5033
5059
  instance.isDeactivated = true;
5034
5060
  }, void 0, parentSuspense);
5035
5061
  if (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_DEVTOOLS__) devtoolsComponentAdded(instance);
5036
- if (!!(process.env.NODE_ENV !== "production") && true) instance.__keepAliveStorageContainer = container;
5037
5062
  }
5038
5063
 
5039
5064
  //#endregion
@@ -5983,11 +6008,16 @@ function withAsyncContext(getAwaitable) {
5983
6008
  if (!!(process.env.NODE_ENV !== "production") && !ctx) warn$1("withAsyncContext called without active current instance. This is likely a bug.");
5984
6009
  let awaitable = getAwaitable();
5985
6010
  setCurrentInstance(null, void 0);
6011
+ const cleanup = () => setCurrentInstance(null, void 0);
5986
6012
  if (isPromise(awaitable)) awaitable = awaitable.catch((e) => {
5987
6013
  setCurrentInstance(ctx);
6014
+ Promise.resolve().then(() => Promise.resolve().then(cleanup));
5988
6015
  throw e;
5989
6016
  });
5990
- return [awaitable, () => setCurrentInstance(ctx)];
6017
+ return [awaitable, () => {
6018
+ setCurrentInstance(ctx);
6019
+ Promise.resolve().then(cleanup);
6020
+ }];
5991
6021
  }
5992
6022
 
5993
6023
  //#endregion
@@ -6309,7 +6339,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
6309
6339
  if (options.el) return vm.$mount(options.el);
6310
6340
  else return vm;
6311
6341
  }
6312
- Vue.version = `2.6.14-compat:3.6.0-beta.5`;
6342
+ Vue.version = `2.6.14-compat:3.6.0-beta.7`;
6313
6343
  Vue.config = singletonApp.config;
6314
6344
  Vue.use = (plugin, ...options) => {
6315
6345
  if (plugin && isFunction(plugin.install)) plugin.install(Vue, ...options);
@@ -7107,7 +7137,7 @@ function shouldUpdateComponent(prevVNode, nextVNode, optimized) {
7107
7137
  const dynamicProps = nextVNode.dynamicProps;
7108
7138
  for (let i = 0; i < dynamicProps.length; i++) {
7109
7139
  const key = dynamicProps[i];
7110
- if (nextProps[key] !== prevProps[key] && !isEmitListener(emits, key)) return true;
7140
+ if (hasPropValueChanged(nextProps, prevProps, key) && !isEmitListener(emits, key)) return true;
7111
7141
  }
7112
7142
  }
7113
7143
  } else {
@@ -7126,10 +7156,16 @@ function hasPropsChanged(prevProps, nextProps, emitsOptions) {
7126
7156
  if (nextKeys.length !== Object.keys(prevProps).length) return true;
7127
7157
  for (let i = 0; i < nextKeys.length; i++) {
7128
7158
  const key = nextKeys[i];
7129
- if (nextProps[key] !== prevProps[key] && !isEmitListener(emitsOptions, key)) return true;
7159
+ if (hasPropValueChanged(nextProps, prevProps, key) && !isEmitListener(emitsOptions, key)) return true;
7130
7160
  }
7131
7161
  return false;
7132
7162
  }
7163
+ function hasPropValueChanged(nextProps, prevProps, key) {
7164
+ const nextProp = nextProps[key];
7165
+ const prevProp = prevProps[key];
7166
+ if (key === "style" && isObject(nextProp) && isObject(prevProp)) return !looseEqual(nextProp, prevProp);
7167
+ return nextProp !== prevProp;
7168
+ }
7133
7169
  function updateHOCHostEl({ vnode, parent }, el) {
7134
7170
  while (parent && !parent.vapor) {
7135
7171
  const root = parent.subTree;
@@ -7687,7 +7723,7 @@ function baseCreateRenderer(options, createHydrationFns) {
7687
7723
  processFragment(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
7688
7724
  break;
7689
7725
  case VaporSlot:
7690
- getVaporInterface(parentComponent, n2).slot(n1, n2, container, anchor, parentComponent);
7726
+ getVaporInterface(parentComponent, n2).slot(n1, n2, container, anchor, parentComponent, parentSuspense);
7691
7727
  break;
7692
7728
  default: if (shapeFlag & 1) processElement(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
7693
7729
  else if (shapeFlag & 6) processComponent(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
@@ -7702,13 +7738,7 @@ function baseCreateRenderer(options, createHydrationFns) {
7702
7738
  if (n1 == null) hostInsert(n2.el = hostCreateText(n2.children), container, anchor);
7703
7739
  else {
7704
7740
  const el = n2.el = n1.el;
7705
- if (n2.children !== n1.children) if (!!(process.env.NODE_ENV !== "production") && isHmrUpdating && n2.patchFlag === -1 && "__elIndex" in n1) {
7706
- const childNodes = container.childNodes;
7707
- const newChild = hostCreateText(n2.children);
7708
- const oldChild = childNodes[n2.__elIndex = n1.__elIndex];
7709
- hostInsert(newChild, container, oldChild);
7710
- hostRemove(oldChild);
7711
- } else hostSetText(el, n2.children);
7741
+ if (n2.children !== n1.children) hostSetText(el, n2.children);
7712
7742
  }
7713
7743
  };
7714
7744
  const processCommentNode = (n1, n2, container, anchor) => {
@@ -8061,7 +8091,9 @@ function baseCreateRenderer(options, createHydrationFns) {
8061
8091
  updateComponentPreRender(instance, next, optimized);
8062
8092
  }
8063
8093
  nonHydratedAsyncRoot.asyncDep.then(() => {
8064
- if (!instance.isUnmounted) this.fn();
8094
+ queuePostRenderEffect(() => {
8095
+ if (!instance.isUnmounted) instance.update();
8096
+ }, void 0, parentSuspense);
8065
8097
  });
8066
8098
  return;
8067
8099
  }
@@ -8474,8 +8506,10 @@ function traverseStaticChildren(n1, n2, shallow = false) {
8474
8506
  }
8475
8507
  if (!shallow && c2.patchFlag !== -2) traverseStaticChildren(c1, c2);
8476
8508
  }
8477
- if (c2.type === Text) if (c2.patchFlag !== -1) c2.el = c1.el;
8478
- else c2.__elIndex = i + (n1.type === Fragment ? 1 : 0);
8509
+ if (c2.type === Text) {
8510
+ if (c2.patchFlag === -1) c2 = ch2[i] = cloneIfMounted(c2);
8511
+ c2.el = c1.el;
8512
+ }
8479
8513
  if (c2.type === Comment && !c2.el) c2.el = c1.el;
8480
8514
  if (!!(process.env.NODE_ENV !== "production")) c2.el && (c2.el.__vnode = c2);
8481
8515
  }
@@ -9796,7 +9830,7 @@ function isMemoSame(cached, memo) {
9796
9830
 
9797
9831
  //#endregion
9798
9832
  //#region packages/runtime-core/src/index.ts
9799
- const version = "3.6.0-beta.5";
9833
+ const version = "3.6.0-beta.7";
9800
9834
  const warn = !!(process.env.NODE_ENV !== "production") ? warn$1 : NOOP;
9801
9835
  /**
9802
9836
  * Runtime error messages. Only exposed in dev or esm builds.
@@ -10989,10 +11023,7 @@ const TransitionGroupImpl = /* @__PURE__ */ decorate({
10989
11023
  if (child.el && child.el instanceof Element) {
10990
11024
  prevChildren.push(child);
10991
11025
  setTransitionHooks(child, resolveTransitionHooks(child, cssTransitionProps, state, instance));
10992
- positionMap.set(child, {
10993
- left: child.el.offsetLeft,
10994
- top: child.el.offsetTop
10995
- });
11026
+ positionMap.set(child, getPosition(child.el));
10996
11027
  }
10997
11028
  }
10998
11029
  children = slots.default ? getTransitionRawChildren(slots.default()) : [];
@@ -11011,10 +11042,7 @@ function callPendingCbs(el) {
11011
11042
  if (el[enterCbKey]) el[enterCbKey]();
11012
11043
  }
11013
11044
  function recordPosition(c) {
11014
- newPositionMap.set(c, {
11015
- left: c.el.offsetLeft,
11016
- top: c.el.offsetTop
11017
- });
11045
+ newPositionMap.set(c, getPosition(c.el));
11018
11046
  }
11019
11047
  function applyTranslation(c) {
11020
11048
  if (baseApplyTranslation(positionMap.get(c), newPositionMap.get(c), c.el)) return c;
@@ -11024,12 +11052,28 @@ function baseApplyTranslation(oldPos, newPos, el) {
11024
11052
  const dy = oldPos.top - newPos.top;
11025
11053
  if (dx || dy) {
11026
11054
  const s = el.style;
11027
- s.transform = s.webkitTransform = `translate(${dx}px,${dy}px)`;
11055
+ const rect = el.getBoundingClientRect();
11056
+ let scaleX = 1;
11057
+ let scaleY = 1;
11058
+ if (el.offsetWidth) scaleX = rect.width / el.offsetWidth;
11059
+ if (el.offsetHeight) scaleY = rect.height / el.offsetHeight;
11060
+ if (!Number.isFinite(scaleX) || scaleX === 0) scaleX = 1;
11061
+ if (!Number.isFinite(scaleY) || scaleY === 0) scaleY = 1;
11062
+ if (Math.abs(scaleX - 1) < .01) scaleX = 1;
11063
+ if (Math.abs(scaleY - 1) < .01) scaleY = 1;
11064
+ s.transform = s.webkitTransform = `translate(${dx / scaleX}px,${dy / scaleY}px)`;
11028
11065
  s.transitionDuration = "0s";
11029
11066
  return true;
11030
11067
  }
11031
11068
  return false;
11032
11069
  }
11070
+ function getPosition(el) {
11071
+ const rect = el.getBoundingClientRect();
11072
+ return {
11073
+ left: rect.left,
11074
+ top: rect.top
11075
+ };
11076
+ }
11033
11077
  function hasCSSTransform(el, root, moveClass) {
11034
11078
  const clone = el.cloneNode();
11035
11079
  const _vtc = el[vtcKey];
@@ -11334,6 +11378,7 @@ const modifierGuards = {
11334
11378
  * @private
11335
11379
  */
11336
11380
  const withModifiers = (fn, modifiers) => {
11381
+ if (!fn) return fn;
11337
11382
  const cache = fn._withMods || (fn._withMods = {});
11338
11383
  const cacheKey = modifiers.join(".");
11339
11384
  return cache[cacheKey] || (cache[cacheKey] = ((event, ...args) => {
@@ -11399,6 +11444,7 @@ var src_exports = /* @__PURE__ */ __exportAll({
11399
11444
  MoveType: () => MoveType,
11400
11445
  NULL_DYNAMIC_COMPONENT: () => NULL_DYNAMIC_COMPONENT,
11401
11446
  ReactiveEffect: () => ReactiveEffect,
11447
+ SchedulerJobFlags: () => SchedulerJobFlags,
11402
11448
  Static: () => Static,
11403
11449
  Suspense: () => Suspense,
11404
11450
  Teleport: () => Teleport,
@@ -11507,8 +11553,10 @@ var src_exports = /* @__PURE__ */ __exportAll({
11507
11553
  isTeleportDeferred: () => isTeleportDeferred,
11508
11554
  isTeleportDisabled: () => isTeleportDisabled,
11509
11555
  isTemplateNode: () => isTemplateNode,
11556
+ isTemplateRefKey: () => isTemplateRefKey,
11510
11557
  isVNode: () => isVNode,
11511
11558
  isValidHtmlOrSvgAttribute: () => isValidHtmlOrSvgAttribute,
11559
+ knownTemplateRefs: () => knownTemplateRefs,
11512
11560
  leaveCbKey: () => leaveCbKey,
11513
11561
  markAsyncBoundary: () => markAsyncBoundary,
11514
11562
  markRaw: () => markRaw,
@@ -11571,6 +11619,7 @@ var src_exports = /* @__PURE__ */ __exportAll({
11571
11619
  resolveTransitionProps: () => resolveTransitionProps,
11572
11620
  setBlockTracking: () => setBlockTracking,
11573
11621
  setCurrentInstance: () => setCurrentInstance,
11622
+ setCurrentRenderingInstance: () => setCurrentRenderingInstance,
11574
11623
  setDevtoolsHook: () => setDevtoolsHook,
11575
11624
  setIsHydratingEnabled: () => setIsHydratingEnabled,
11576
11625
  setRef: () => setRef,
@@ -16157,12 +16206,11 @@ function compileToFunction(template, options) {
16157
16206
  registerRuntimeCompiler(compileToFunction);
16158
16207
  const Vue = createCompatVue();
16159
16208
  Vue.compile = compileToFunction;
16160
- var src_default = Vue;
16161
16209
 
16162
16210
  //#endregion
16163
16211
  //#region packages/vue-compat/src/esm-index.ts
16164
- var esm_index_default = src_default;
16165
- const configureCompat = src_default.configureCompat;
16212
+ var esm_index_default = Vue;
16213
+ const configureCompat = Vue.configureCompat;
16166
16214
 
16167
16215
  //#endregion
16168
- export { BaseTransition, BaseTransitionPropsValidators, Comment, DeprecationTypes, EffectScope, ErrorCodes, ErrorTypeStrings, Fragment, KeepAlive, MismatchTypes, MoveType, NULL_DYNAMIC_COMPONENT, ReactiveEffect, Static, Suspense, Teleport, Text, TrackOpTypes, Transition, TransitionGroup, TransitionPropsValidators, TriggerOpTypes, VueElement, VueElementBase, activate, assertNumber, baseApplyTranslation, baseEmit, baseNormalizePropsOptions, baseResolveTransitionHooks, baseUseCssVars, callPendingCbs, callWithAsyncErrorHandling, callWithErrorHandling, camelize, capitalize, checkTransitionMode, cloneVNode, compatUtils, computed, configureCompat, createApp, createAppAPI, createAsyncComponentContext, createBlock, createCanSetSetupRefChecker, createCommentVNode, createElementBlock, createBaseVNode as createElementVNode, createHydrationRenderer, createInternalObject, createPropsRestProxy, createRenderer, createSSRApp, createSlots, createStaticVNode, createTextVNode, createVNode, currentInstance, customRef, deactivate, esm_index_default as default, defineAsyncComponent, defineComponent, defineCustomElement, defineEmits, defineExpose, defineModel, defineOptions, defineProps, defineSSRCustomElement, defineSlots, devtools, devtoolsComponentAdded, effect, effectScope, endMeasure, ensureHydrationRenderer, ensureRenderer, ensureVaporSlotFallback, expose, flushOnAppMount, forceReflow, getAttributeMismatch, getComponentName, getCurrentInstance, getCurrentScope, getCurrentWatcher, getFunctionalFallthrough, getInheritedScopeIds, getTransitionRawChildren, guardReactiveProps, h, handleError, handleMovedChildren, hasCSSTransform, hasInjectionContext, hydrate, hydrateOnIdle, hydrateOnInteraction, hydrateOnMediaQuery, hydrateOnVisible, initCustomFormatter, initDirectivesForSSR, initFeatureFlags, inject, isAsyncWrapper, isEmitListener, isHydrating, isKeepAlive, isMapEqual, isMemoSame, isMismatchAllowed, isProxy, isReactive, isReadonly, isRef, isRuntimeOnly, isSetEqual, isShallow, isTeleportDeferred, isTeleportDisabled, isTemplateNode, isVNode, isValidHtmlOrSvgAttribute, leaveCbKey, markAsyncBoundary, markRaw, matches, mergeDefaults, mergeModels, mergeProps, nextTick, nextUid, nodeOps, normalizeClass, normalizeContainer, normalizeProps, normalizeRef, normalizeStyle, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onScopeDispose, onServerPrefetch, onUnmounted, onUpdated, onWatcherCleanup, openBlock, patchProp, patchStyle, performAsyncHydrate, performTransitionEnter, performTransitionLeave, popScopeId, popWarningContext, provide, proxyRefs, pushScopeId, pushWarningContext, queueJob, queuePostFlushCb, reactive, readonly, ref, registerHMR, registerRuntimeCompiler, render, renderList, renderSlot, resetShapeFlag, resolveComponent, resolveDirective, resolveDynamicComponent, resolveFilter, resolvePropValue, resolveTarget as resolveTeleportTarget, resolveTransitionHooks, resolveTransitionProps, setBlockTracking, setCurrentInstance, setDevtoolsHook, setIsHydratingEnabled, setRef, setTransitionHooks, setVarsOnNode, shallowReactive, shallowReadonly, shallowRef, shouldSetAsProp, simpleSetCurrentInstance, ssrContextKey, ssrUtils, startMeasure, stop, svgNS, toClassSet, toDisplayString, toHandlerKey, toHandlers, toRaw, toRef, toRefs, toStyleMap, toValue, transformVNodeArgs, triggerRef, unref, unregisterHMR, unsafeToTrustedHTML, useAsyncComponentState, useAttrs, useCssModule, useCssVars, useHost, useId, useInstanceOption, useModel, useSSRContext, useShadowRoot, useSlots, useTemplateRef, useTransitionState, vModelCheckbox, vModelCheckboxInit, vModelCheckboxUpdate, vModelDynamic, getValue as vModelGetValue, vModelRadio, vModelSelect, vModelSelectInit, vModelSetSelected, vModelText, vModelTextInit, vModelTextUpdate, vShow, vShowHidden, vShowOriginalDisplay, validateComponentName, validateProps, version, warn, warnExtraneousAttributes, warnPropMismatch, watch, watchEffect, watchPostEffect, watchSyncEffect, withAsyncContext, withCtx, withDefaults, withDirectives, withKeys, withMemo, withModifiers, withScopeId, xlinkNS };
16216
+ export { BaseTransition, BaseTransitionPropsValidators, Comment, DeprecationTypes, EffectScope, ErrorCodes, ErrorTypeStrings, Fragment, KeepAlive, MismatchTypes, MoveType, NULL_DYNAMIC_COMPONENT, ReactiveEffect, SchedulerJobFlags, Static, Suspense, Teleport, Text, TrackOpTypes, Transition, TransitionGroup, TransitionPropsValidators, TriggerOpTypes, VueElement, VueElementBase, activate, assertNumber, baseApplyTranslation, baseEmit, baseNormalizePropsOptions, baseResolveTransitionHooks, baseUseCssVars, callPendingCbs, callWithAsyncErrorHandling, callWithErrorHandling, camelize, capitalize, checkTransitionMode, cloneVNode, compatUtils, computed, configureCompat, createApp, createAppAPI, createAsyncComponentContext, createBlock, createCanSetSetupRefChecker, createCommentVNode, createElementBlock, createBaseVNode as createElementVNode, createHydrationRenderer, createInternalObject, createPropsRestProxy, createRenderer, createSSRApp, createSlots, createStaticVNode, createTextVNode, createVNode, currentInstance, customRef, deactivate, esm_index_default as default, defineAsyncComponent, defineComponent, defineCustomElement, defineEmits, defineExpose, defineModel, defineOptions, defineProps, defineSSRCustomElement, defineSlots, devtools, devtoolsComponentAdded, effect, effectScope, endMeasure, ensureHydrationRenderer, ensureRenderer, ensureVaporSlotFallback, expose, flushOnAppMount, forceReflow, getAttributeMismatch, getComponentName, getCurrentInstance, getCurrentScope, getCurrentWatcher, getFunctionalFallthrough, getInheritedScopeIds, getTransitionRawChildren, guardReactiveProps, h, handleError, handleMovedChildren, hasCSSTransform, hasInjectionContext, hydrate, hydrateOnIdle, hydrateOnInteraction, hydrateOnMediaQuery, hydrateOnVisible, initCustomFormatter, initDirectivesForSSR, initFeatureFlags, inject, isAsyncWrapper, isEmitListener, isHydrating, isKeepAlive, isMapEqual, isMemoSame, isMismatchAllowed, isProxy, isReactive, isReadonly, isRef, isRuntimeOnly, isSetEqual, isShallow, isTeleportDeferred, isTeleportDisabled, isTemplateNode, isTemplateRefKey, isVNode, isValidHtmlOrSvgAttribute, knownTemplateRefs, leaveCbKey, markAsyncBoundary, markRaw, matches, mergeDefaults, mergeModels, mergeProps, nextTick, nextUid, nodeOps, normalizeClass, normalizeContainer, normalizeProps, normalizeRef, normalizeStyle, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onScopeDispose, onServerPrefetch, onUnmounted, onUpdated, onWatcherCleanup, openBlock, patchProp, patchStyle, performAsyncHydrate, performTransitionEnter, performTransitionLeave, popScopeId, popWarningContext, provide, proxyRefs, pushScopeId, pushWarningContext, queueJob, queuePostFlushCb, reactive, readonly, ref, registerHMR, registerRuntimeCompiler, render, renderList, renderSlot, resetShapeFlag, resolveComponent, resolveDirective, resolveDynamicComponent, resolveFilter, resolvePropValue, resolveTarget as resolveTeleportTarget, resolveTransitionHooks, resolveTransitionProps, setBlockTracking, setCurrentInstance, setCurrentRenderingInstance, setDevtoolsHook, setIsHydratingEnabled, setRef, setTransitionHooks, setVarsOnNode, shallowReactive, shallowReadonly, shallowRef, shouldSetAsProp, simpleSetCurrentInstance, ssrContextKey, ssrUtils, startMeasure, stop, svgNS, toClassSet, toDisplayString, toHandlerKey, toHandlers, toRaw, toRef, toRefs, toStyleMap, toValue, transformVNodeArgs, triggerRef, unref, unregisterHMR, unsafeToTrustedHTML, useAsyncComponentState, useAttrs, useCssModule, useCssVars, useHost, useId, useInstanceOption, useModel, useSSRContext, useShadowRoot, useSlots, useTemplateRef, useTransitionState, vModelCheckbox, vModelCheckboxInit, vModelCheckboxUpdate, vModelDynamic, getValue as vModelGetValue, vModelRadio, vModelSelect, vModelSelectInit, vModelSetSelected, vModelText, vModelTextInit, vModelTextUpdate, vShow, vShowHidden, vShowOriginalDisplay, validateComponentName, validateProps, version, warn, warnExtraneousAttributes, warnPropMismatch, watch, watchEffect, watchPostEffect, watchSyncEffect, withAsyncContext, withCtx, withDefaults, withDirectives, withKeys, withMemo, withModifiers, withScopeId, xlinkNS };