@vue/compat 3.5.27 → 3.5.29
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.
- package/dist/vue.cjs.js +125 -72
- package/dist/vue.cjs.prod.js +123 -63
- package/dist/vue.esm-browser.js +125 -72
- package/dist/vue.esm-browser.prod.js +8 -8
- package/dist/vue.esm-bundler.js +125 -72
- package/dist/vue.global.js +125 -72
- package/dist/vue.global.prod.js +8 -8
- package/dist/vue.runtime.esm-browser.js +125 -72
- package/dist/vue.runtime.esm-browser.prod.js +3 -3
- package/dist/vue.runtime.esm-bundler.js +125 -72
- package/dist/vue.runtime.global.js +125 -72
- package/dist/vue.runtime.global.prod.js +3 -3
- package/package.json +3 -3
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @vue/compat v3.5.
|
|
2
|
+
* @vue/compat v3.5.29
|
|
3
3
|
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
4
4
|
* @license MIT
|
|
5
5
|
**/
|
|
@@ -334,6 +334,7 @@ function warn$2(msg, ...args) {
|
|
|
334
334
|
|
|
335
335
|
let activeEffectScope;
|
|
336
336
|
class EffectScope {
|
|
337
|
+
// TODO isolatedDeclarations "__v_skip"
|
|
337
338
|
constructor(detached = false) {
|
|
338
339
|
this.detached = detached;
|
|
339
340
|
/**
|
|
@@ -353,6 +354,7 @@ class EffectScope {
|
|
|
353
354
|
*/
|
|
354
355
|
this.cleanups = [];
|
|
355
356
|
this._isPaused = false;
|
|
357
|
+
this.__v_skip = true;
|
|
356
358
|
this.parent = activeEffectScope;
|
|
357
359
|
if (!detached && activeEffectScope) {
|
|
358
360
|
this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(
|
|
@@ -3906,7 +3908,22 @@ function moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }
|
|
|
3906
3908
|
function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, {
|
|
3907
3909
|
o: { nextSibling, parentNode, querySelector, insert, createText }
|
|
3908
3910
|
}, hydrateChildren) {
|
|
3909
|
-
function
|
|
3911
|
+
function hydrateAnchor(target2, targetNode) {
|
|
3912
|
+
let targetAnchor = targetNode;
|
|
3913
|
+
while (targetAnchor) {
|
|
3914
|
+
if (targetAnchor && targetAnchor.nodeType === 8) {
|
|
3915
|
+
if (targetAnchor.data === "teleport start anchor") {
|
|
3916
|
+
vnode.targetStart = targetAnchor;
|
|
3917
|
+
} else if (targetAnchor.data === "teleport anchor") {
|
|
3918
|
+
vnode.targetAnchor = targetAnchor;
|
|
3919
|
+
target2._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor);
|
|
3920
|
+
break;
|
|
3921
|
+
}
|
|
3922
|
+
}
|
|
3923
|
+
targetAnchor = nextSibling(targetAnchor);
|
|
3924
|
+
}
|
|
3925
|
+
}
|
|
3926
|
+
function hydrateDisabledTeleport(node2, vnode2) {
|
|
3910
3927
|
vnode2.anchor = hydrateChildren(
|
|
3911
3928
|
nextSibling(node2),
|
|
3912
3929
|
vnode2,
|
|
@@ -3916,8 +3933,6 @@ function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScope
|
|
|
3916
3933
|
slotScopeIds,
|
|
3917
3934
|
optimized
|
|
3918
3935
|
);
|
|
3919
|
-
vnode2.targetStart = targetStart;
|
|
3920
|
-
vnode2.targetAnchor = targetAnchor;
|
|
3921
3936
|
}
|
|
3922
3937
|
const target = vnode.target = resolveTarget(
|
|
3923
3938
|
vnode.props,
|
|
@@ -3928,27 +3943,22 @@ function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScope
|
|
|
3928
3943
|
const targetNode = target._lpa || target.firstChild;
|
|
3929
3944
|
if (vnode.shapeFlag & 16) {
|
|
3930
3945
|
if (disabled) {
|
|
3931
|
-
hydrateDisabledTeleport(
|
|
3932
|
-
|
|
3933
|
-
|
|
3934
|
-
|
|
3935
|
-
|
|
3936
|
-
|
|
3946
|
+
hydrateDisabledTeleport(node, vnode);
|
|
3947
|
+
hydrateAnchor(target, targetNode);
|
|
3948
|
+
if (!vnode.targetAnchor) {
|
|
3949
|
+
prepareAnchor(
|
|
3950
|
+
target,
|
|
3951
|
+
vnode,
|
|
3952
|
+
createText,
|
|
3953
|
+
insert,
|
|
3954
|
+
// if target is the same as the main view, insert anchors before current node
|
|
3955
|
+
// to avoid hydrating mismatch
|
|
3956
|
+
parentNode(node) === target ? node : null
|
|
3957
|
+
);
|
|
3958
|
+
}
|
|
3937
3959
|
} else {
|
|
3938
3960
|
vnode.anchor = nextSibling(node);
|
|
3939
|
-
|
|
3940
|
-
while (targetAnchor) {
|
|
3941
|
-
if (targetAnchor && targetAnchor.nodeType === 8) {
|
|
3942
|
-
if (targetAnchor.data === "teleport start anchor") {
|
|
3943
|
-
vnode.targetStart = targetAnchor;
|
|
3944
|
-
} else if (targetAnchor.data === "teleport anchor") {
|
|
3945
|
-
vnode.targetAnchor = targetAnchor;
|
|
3946
|
-
target._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor);
|
|
3947
|
-
break;
|
|
3948
|
-
}
|
|
3949
|
-
}
|
|
3950
|
-
targetAnchor = nextSibling(targetAnchor);
|
|
3951
|
-
}
|
|
3961
|
+
hydrateAnchor(target, targetNode);
|
|
3952
3962
|
if (!vnode.targetAnchor) {
|
|
3953
3963
|
prepareAnchor(target, vnode, createText, insert);
|
|
3954
3964
|
}
|
|
@@ -3966,7 +3976,9 @@ function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScope
|
|
|
3966
3976
|
updateCssVars(vnode, disabled);
|
|
3967
3977
|
} else if (disabled) {
|
|
3968
3978
|
if (vnode.shapeFlag & 16) {
|
|
3969
|
-
hydrateDisabledTeleport(node, vnode
|
|
3979
|
+
hydrateDisabledTeleport(node, vnode);
|
|
3980
|
+
vnode.targetStart = node;
|
|
3981
|
+
vnode.targetAnchor = nextSibling(node);
|
|
3970
3982
|
}
|
|
3971
3983
|
}
|
|
3972
3984
|
return vnode.anchor && nextSibling(vnode.anchor);
|
|
@@ -3990,13 +4002,13 @@ function updateCssVars(vnode, isDisabled) {
|
|
|
3990
4002
|
ctx.ut();
|
|
3991
4003
|
}
|
|
3992
4004
|
}
|
|
3993
|
-
function prepareAnchor(target, vnode, createText, insert) {
|
|
4005
|
+
function prepareAnchor(target, vnode, createText, insert, anchor = null) {
|
|
3994
4006
|
const targetStart = vnode.targetStart = createText("");
|
|
3995
4007
|
const targetAnchor = vnode.targetAnchor = createText("");
|
|
3996
4008
|
targetStart[TeleportEndKey] = targetAnchor;
|
|
3997
4009
|
if (target) {
|
|
3998
|
-
insert(targetStart, target);
|
|
3999
|
-
insert(targetAnchor, target);
|
|
4010
|
+
insert(targetStart, target, anchor);
|
|
4011
|
+
insert(targetAnchor, target, anchor);
|
|
4000
4012
|
}
|
|
4001
4013
|
return targetAnchor;
|
|
4002
4014
|
}
|
|
@@ -4221,6 +4233,7 @@ function resolveTransitionHooks(vnode, props, state, instance, postClone) {
|
|
|
4221
4233
|
callHook(hook, [el]);
|
|
4222
4234
|
},
|
|
4223
4235
|
enter(el) {
|
|
4236
|
+
if (leavingVNodesCache[key] === vnode) return;
|
|
4224
4237
|
let hook = onEnter;
|
|
4225
4238
|
let afterHook = onAfterEnter;
|
|
4226
4239
|
let cancelHook = onEnterCancelled;
|
|
@@ -4234,7 +4247,7 @@ function resolveTransitionHooks(vnode, props, state, instance, postClone) {
|
|
|
4234
4247
|
}
|
|
4235
4248
|
}
|
|
4236
4249
|
let called = false;
|
|
4237
|
-
|
|
4250
|
+
el[enterCbKey$1] = (cancelled) => {
|
|
4238
4251
|
if (called) return;
|
|
4239
4252
|
called = true;
|
|
4240
4253
|
if (cancelled) {
|
|
@@ -4247,6 +4260,7 @@ function resolveTransitionHooks(vnode, props, state, instance, postClone) {
|
|
|
4247
4260
|
}
|
|
4248
4261
|
el[enterCbKey$1] = void 0;
|
|
4249
4262
|
};
|
|
4263
|
+
const done = el[enterCbKey$1].bind(null, false);
|
|
4250
4264
|
if (hook) {
|
|
4251
4265
|
callAsyncHook(hook, [el, done]);
|
|
4252
4266
|
} else {
|
|
@@ -4266,7 +4280,7 @@ function resolveTransitionHooks(vnode, props, state, instance, postClone) {
|
|
|
4266
4280
|
}
|
|
4267
4281
|
callHook(onBeforeLeave, [el]);
|
|
4268
4282
|
let called = false;
|
|
4269
|
-
|
|
4283
|
+
el[leaveCbKey] = (cancelled) => {
|
|
4270
4284
|
if (called) return;
|
|
4271
4285
|
called = true;
|
|
4272
4286
|
remove();
|
|
@@ -4280,6 +4294,7 @@ function resolveTransitionHooks(vnode, props, state, instance, postClone) {
|
|
|
4280
4294
|
delete leavingVNodesCache[key2];
|
|
4281
4295
|
}
|
|
4282
4296
|
};
|
|
4297
|
+
const done = el[leaveCbKey].bind(null, false);
|
|
4283
4298
|
leavingVNodesCache[key2] = vnode;
|
|
4284
4299
|
if (onLeave) {
|
|
4285
4300
|
callAsyncHook(onLeave, [el, done]);
|
|
@@ -4392,8 +4407,7 @@ function useTemplateRef(key) {
|
|
|
4392
4407
|
const r = shallowRef(null);
|
|
4393
4408
|
if (i) {
|
|
4394
4409
|
const refs = i.refs === EMPTY_OBJ ? i.refs = {} : i.refs;
|
|
4395
|
-
|
|
4396
|
-
if ((desc = Object.getOwnPropertyDescriptor(refs, key)) && !desc.configurable) {
|
|
4410
|
+
if (isTemplateRefKey(refs, key)) {
|
|
4397
4411
|
warn$1(`useTemplateRef('${key}') already exists.`);
|
|
4398
4412
|
} else {
|
|
4399
4413
|
Object.defineProperty(refs, key, {
|
|
@@ -4413,6 +4427,10 @@ function useTemplateRef(key) {
|
|
|
4413
4427
|
}
|
|
4414
4428
|
return ret;
|
|
4415
4429
|
}
|
|
4430
|
+
function isTemplateRefKey(refs, key) {
|
|
4431
|
+
let desc;
|
|
4432
|
+
return !!((desc = Object.getOwnPropertyDescriptor(refs, key)) && !desc.configurable);
|
|
4433
|
+
}
|
|
4416
4434
|
|
|
4417
4435
|
const pendingSetRefMap = /* @__PURE__ */ new WeakMap();
|
|
4418
4436
|
function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
|
|
@@ -4458,10 +4476,19 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
|
|
|
4458
4476
|
return false;
|
|
4459
4477
|
}
|
|
4460
4478
|
}
|
|
4479
|
+
if (isTemplateRefKey(refs, key)) {
|
|
4480
|
+
return false;
|
|
4481
|
+
}
|
|
4461
4482
|
return hasOwn(rawSetupState, key);
|
|
4462
4483
|
};
|
|
4463
|
-
const canSetRef = (ref2) => {
|
|
4464
|
-
|
|
4484
|
+
const canSetRef = (ref2, key) => {
|
|
4485
|
+
if (knownTemplateRefs.has(ref2)) {
|
|
4486
|
+
return false;
|
|
4487
|
+
}
|
|
4488
|
+
if (key && isTemplateRefKey(refs, key)) {
|
|
4489
|
+
return false;
|
|
4490
|
+
}
|
|
4491
|
+
return true;
|
|
4465
4492
|
};
|
|
4466
4493
|
if (oldRef != null && oldRef !== ref) {
|
|
4467
4494
|
invalidatePendingSetRef(oldRawRef);
|
|
@@ -4471,10 +4498,10 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
|
|
|
4471
4498
|
setupState[oldRef] = null;
|
|
4472
4499
|
}
|
|
4473
4500
|
} else if (isRef(oldRef)) {
|
|
4474
|
-
|
|
4501
|
+
const oldRawRefAtom = oldRawRef;
|
|
4502
|
+
if (canSetRef(oldRef, oldRawRefAtom.k)) {
|
|
4475
4503
|
oldRef.value = null;
|
|
4476
4504
|
}
|
|
4477
|
-
const oldRawRefAtom = oldRawRef;
|
|
4478
4505
|
if (oldRawRefAtom.k) refs[oldRawRefAtom.k] = null;
|
|
4479
4506
|
}
|
|
4480
4507
|
}
|
|
@@ -4498,7 +4525,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
|
|
|
4498
4525
|
}
|
|
4499
4526
|
} else {
|
|
4500
4527
|
const newVal = [refValue];
|
|
4501
|
-
if (canSetRef(ref)) {
|
|
4528
|
+
if (canSetRef(ref, rawRef.k)) {
|
|
4502
4529
|
ref.value = newVal;
|
|
4503
4530
|
}
|
|
4504
4531
|
if (rawRef.k) refs[rawRef.k] = newVal;
|
|
@@ -4513,7 +4540,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
|
|
|
4513
4540
|
setupState[ref] = value;
|
|
4514
4541
|
}
|
|
4515
4542
|
} else if (_isRef) {
|
|
4516
|
-
if (canSetRef(ref)) {
|
|
4543
|
+
if (canSetRef(ref, rawRef.k)) {
|
|
4517
4544
|
ref.value = value;
|
|
4518
4545
|
}
|
|
4519
4546
|
if (rawRef.k) refs[rawRef.k] = value;
|
|
@@ -6849,13 +6876,24 @@ function withAsyncContext(getAwaitable) {
|
|
|
6849
6876
|
}
|
|
6850
6877
|
let awaitable = getAwaitable();
|
|
6851
6878
|
unsetCurrentInstance();
|
|
6879
|
+
const cleanup = () => {
|
|
6880
|
+
if (getCurrentInstance() !== ctx) ctx.scope.off();
|
|
6881
|
+
unsetCurrentInstance();
|
|
6882
|
+
};
|
|
6852
6883
|
if (isPromise(awaitable)) {
|
|
6853
6884
|
awaitable = awaitable.catch((e) => {
|
|
6854
6885
|
setCurrentInstance(ctx);
|
|
6886
|
+
Promise.resolve().then(() => Promise.resolve().then(cleanup));
|
|
6855
6887
|
throw e;
|
|
6856
6888
|
});
|
|
6857
6889
|
}
|
|
6858
|
-
return [
|
|
6890
|
+
return [
|
|
6891
|
+
awaitable,
|
|
6892
|
+
() => {
|
|
6893
|
+
setCurrentInstance(ctx);
|
|
6894
|
+
Promise.resolve().then(cleanup);
|
|
6895
|
+
}
|
|
6896
|
+
];
|
|
6859
6897
|
}
|
|
6860
6898
|
|
|
6861
6899
|
function createDuplicateChecker() {
|
|
@@ -7376,7 +7414,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
|
|
|
7376
7414
|
return vm;
|
|
7377
7415
|
}
|
|
7378
7416
|
}
|
|
7379
|
-
Vue.version = `2.6.14-compat:${"3.5.
|
|
7417
|
+
Vue.version = `2.6.14-compat:${"3.5.29"}`;
|
|
7380
7418
|
Vue.config = singletonApp.config;
|
|
7381
7419
|
Vue.use = (plugin, ...options) => {
|
|
7382
7420
|
if (plugin && isFunction(plugin.install)) {
|
|
@@ -8490,7 +8528,7 @@ function shouldUpdateComponent(prevVNode, nextVNode, optimized) {
|
|
|
8490
8528
|
const dynamicProps = nextVNode.dynamicProps;
|
|
8491
8529
|
for (let i = 0; i < dynamicProps.length; i++) {
|
|
8492
8530
|
const key = dynamicProps[i];
|
|
8493
|
-
if (nextProps
|
|
8531
|
+
if (hasPropValueChanged(nextProps, prevProps, key) && !isEmitListener(emits, key)) {
|
|
8494
8532
|
return true;
|
|
8495
8533
|
}
|
|
8496
8534
|
}
|
|
@@ -8521,12 +8559,20 @@ function hasPropsChanged(prevProps, nextProps, emitsOptions) {
|
|
|
8521
8559
|
}
|
|
8522
8560
|
for (let i = 0; i < nextKeys.length; i++) {
|
|
8523
8561
|
const key = nextKeys[i];
|
|
8524
|
-
if (nextProps
|
|
8562
|
+
if (hasPropValueChanged(nextProps, prevProps, key) && !isEmitListener(emitsOptions, key)) {
|
|
8525
8563
|
return true;
|
|
8526
8564
|
}
|
|
8527
8565
|
}
|
|
8528
8566
|
return false;
|
|
8529
8567
|
}
|
|
8568
|
+
function hasPropValueChanged(nextProps, prevProps, key) {
|
|
8569
|
+
const nextProp = nextProps[key];
|
|
8570
|
+
const prevProp = prevProps[key];
|
|
8571
|
+
if (key === "style" && isObject(nextProp) && isObject(prevProp)) {
|
|
8572
|
+
return !looseEqual(nextProp, prevProp);
|
|
8573
|
+
}
|
|
8574
|
+
return nextProp !== prevProp;
|
|
8575
|
+
}
|
|
8530
8576
|
function updateHOCHostEl({ vnode, parent }, el) {
|
|
8531
8577
|
while (parent) {
|
|
8532
8578
|
const root = parent.subTree;
|
|
@@ -9302,15 +9348,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
9302
9348
|
} else {
|
|
9303
9349
|
const el = n2.el = n1.el;
|
|
9304
9350
|
if (n2.children !== n1.children) {
|
|
9305
|
-
|
|
9306
|
-
const childNodes = container.childNodes;
|
|
9307
|
-
const newChild = hostCreateText(n2.children);
|
|
9308
|
-
const oldChild = childNodes[n2.__elIndex = n1.__elIndex];
|
|
9309
|
-
hostInsert(newChild, container, oldChild);
|
|
9310
|
-
hostRemove(oldChild);
|
|
9311
|
-
} else {
|
|
9312
|
-
hostSetText(el, n2.children);
|
|
9313
|
-
}
|
|
9351
|
+
hostSetText(el, n2.children);
|
|
9314
9352
|
}
|
|
9315
9353
|
}
|
|
9316
9354
|
};
|
|
@@ -9386,7 +9424,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
9386
9424
|
optimized
|
|
9387
9425
|
);
|
|
9388
9426
|
} else {
|
|
9389
|
-
const customElement =
|
|
9427
|
+
const customElement = n1.el && n1.el._isVueCE ? n1.el : null;
|
|
9390
9428
|
try {
|
|
9391
9429
|
if (customElement) {
|
|
9392
9430
|
customElement._beginPatch();
|
|
@@ -9872,8 +9910,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
9872
9910
|
hydrateSubTree();
|
|
9873
9911
|
}
|
|
9874
9912
|
} else {
|
|
9875
|
-
if (root.ce &&
|
|
9876
|
-
root.ce._def.shadowRoot !== false) {
|
|
9913
|
+
if (root.ce && root.ce._hasShadowRoot()) {
|
|
9877
9914
|
root.ce._injectChildStyle(type);
|
|
9878
9915
|
}
|
|
9879
9916
|
{
|
|
@@ -9940,9 +9977,9 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
9940
9977
|
updateComponentPreRender(instance, next, optimized);
|
|
9941
9978
|
}
|
|
9942
9979
|
nonHydratedAsyncRoot.asyncDep.then(() => {
|
|
9943
|
-
|
|
9944
|
-
|
|
9945
|
-
}
|
|
9980
|
+
queuePostRenderEffect(() => {
|
|
9981
|
+
if (!instance.isUnmounted) update();
|
|
9982
|
+
}, parentSuspense);
|
|
9946
9983
|
});
|
|
9947
9984
|
return;
|
|
9948
9985
|
}
|
|
@@ -10657,12 +10694,10 @@ function traverseStaticChildren(n1, n2, shallow = false) {
|
|
|
10657
10694
|
traverseStaticChildren(c1, c2);
|
|
10658
10695
|
}
|
|
10659
10696
|
if (c2.type === Text) {
|
|
10660
|
-
if (c2.patchFlag
|
|
10661
|
-
c2
|
|
10662
|
-
} else {
|
|
10663
|
-
c2.__elIndex = i + // take fragment start anchor into account
|
|
10664
|
-
(n1.type === Fragment ? 1 : 0);
|
|
10697
|
+
if (c2.patchFlag === -1) {
|
|
10698
|
+
c2 = ch2[i] = cloneIfMounted(c2);
|
|
10665
10699
|
}
|
|
10700
|
+
c2.el = c1.el;
|
|
10666
10701
|
}
|
|
10667
10702
|
if (c2.type === Comment && !c2.el) {
|
|
10668
10703
|
c2.el = c1.el;
|
|
@@ -12467,7 +12502,7 @@ function isMemoSame(cached, memo) {
|
|
|
12467
12502
|
return true;
|
|
12468
12503
|
}
|
|
12469
12504
|
|
|
12470
|
-
const version = "3.5.
|
|
12505
|
+
const version = "3.5.29";
|
|
12471
12506
|
const warn = warn$1 ;
|
|
12472
12507
|
const ErrorTypeStrings = ErrorTypeStrings$1 ;
|
|
12473
12508
|
const devtools = devtools$1 ;
|
|
@@ -13829,6 +13864,12 @@ class VueElement extends BaseClass {
|
|
|
13829
13864
|
this._update();
|
|
13830
13865
|
}
|
|
13831
13866
|
}
|
|
13867
|
+
/**
|
|
13868
|
+
* @internal
|
|
13869
|
+
*/
|
|
13870
|
+
_hasShadowRoot() {
|
|
13871
|
+
return this._def.shadowRoot !== false;
|
|
13872
|
+
}
|
|
13832
13873
|
/**
|
|
13833
13874
|
* @internal
|
|
13834
13875
|
*/
|
|
@@ -13972,10 +14013,7 @@ const TransitionGroupImpl = /* @__PURE__ */ decorate({
|
|
|
13972
14013
|
instance
|
|
13973
14014
|
)
|
|
13974
14015
|
);
|
|
13975
|
-
positionMap.set(child,
|
|
13976
|
-
left: child.el.offsetLeft,
|
|
13977
|
-
top: child.el.offsetTop
|
|
13978
|
-
});
|
|
14016
|
+
positionMap.set(child, getPosition(child.el));
|
|
13979
14017
|
}
|
|
13980
14018
|
}
|
|
13981
14019
|
}
|
|
@@ -14006,10 +14044,7 @@ function callPendingCbs(c) {
|
|
|
14006
14044
|
}
|
|
14007
14045
|
}
|
|
14008
14046
|
function recordPosition(c) {
|
|
14009
|
-
newPositionMap.set(c,
|
|
14010
|
-
left: c.el.offsetLeft,
|
|
14011
|
-
top: c.el.offsetTop
|
|
14012
|
-
});
|
|
14047
|
+
newPositionMap.set(c, getPosition(c.el));
|
|
14013
14048
|
}
|
|
14014
14049
|
function applyTranslation(c) {
|
|
14015
14050
|
const oldPos = positionMap.get(c);
|
|
@@ -14017,12 +14052,29 @@ function applyTranslation(c) {
|
|
|
14017
14052
|
const dx = oldPos.left - newPos.left;
|
|
14018
14053
|
const dy = oldPos.top - newPos.top;
|
|
14019
14054
|
if (dx || dy) {
|
|
14020
|
-
const
|
|
14021
|
-
s
|
|
14055
|
+
const el = c.el;
|
|
14056
|
+
const s = el.style;
|
|
14057
|
+
const rect = el.getBoundingClientRect();
|
|
14058
|
+
let scaleX = 1;
|
|
14059
|
+
let scaleY = 1;
|
|
14060
|
+
if (el.offsetWidth) scaleX = rect.width / el.offsetWidth;
|
|
14061
|
+
if (el.offsetHeight) scaleY = rect.height / el.offsetHeight;
|
|
14062
|
+
if (!Number.isFinite(scaleX) || scaleX === 0) scaleX = 1;
|
|
14063
|
+
if (!Number.isFinite(scaleY) || scaleY === 0) scaleY = 1;
|
|
14064
|
+
if (Math.abs(scaleX - 1) < 0.01) scaleX = 1;
|
|
14065
|
+
if (Math.abs(scaleY - 1) < 0.01) scaleY = 1;
|
|
14066
|
+
s.transform = s.webkitTransform = `translate(${dx / scaleX}px,${dy / scaleY}px)`;
|
|
14022
14067
|
s.transitionDuration = "0s";
|
|
14023
14068
|
return c;
|
|
14024
14069
|
}
|
|
14025
14070
|
}
|
|
14071
|
+
function getPosition(el) {
|
|
14072
|
+
const rect = el.getBoundingClientRect();
|
|
14073
|
+
return {
|
|
14074
|
+
left: rect.left,
|
|
14075
|
+
top: rect.top
|
|
14076
|
+
};
|
|
14077
|
+
}
|
|
14026
14078
|
function hasCSSTransform(el, root, moveClass) {
|
|
14027
14079
|
const clone = el.cloneNode();
|
|
14028
14080
|
const _vtc = el[vtcKey];
|
|
@@ -14333,6 +14385,7 @@ const modifierGuards = {
|
|
|
14333
14385
|
exact: (e, modifiers) => systemModifiers.some((m) => e[`${m}Key`] && !modifiers.includes(m))
|
|
14334
14386
|
};
|
|
14335
14387
|
const withModifiers = (fn, modifiers) => {
|
|
14388
|
+
if (!fn) return fn;
|
|
14336
14389
|
const cache = fn._withMods || (fn._withMods = {});
|
|
14337
14390
|
const cacheKey = modifiers.join(".");
|
|
14338
14391
|
return cache[cacheKey] || (cache[cacheKey] = ((event, ...args) => {
|