@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
package/dist/vue.cjs.js
CHANGED
|
@@ -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
|
**/
|
|
@@ -460,6 +460,7 @@ function warn$2(msg, ...args) {
|
|
|
460
460
|
|
|
461
461
|
let activeEffectScope;
|
|
462
462
|
class EffectScope {
|
|
463
|
+
// TODO isolatedDeclarations "__v_skip"
|
|
463
464
|
constructor(detached = false) {
|
|
464
465
|
this.detached = detached;
|
|
465
466
|
/**
|
|
@@ -479,6 +480,7 @@ class EffectScope {
|
|
|
479
480
|
*/
|
|
480
481
|
this.cleanups = [];
|
|
481
482
|
this._isPaused = false;
|
|
483
|
+
this.__v_skip = true;
|
|
482
484
|
this.parent = activeEffectScope;
|
|
483
485
|
if (!detached && activeEffectScope) {
|
|
484
486
|
this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(
|
|
@@ -4032,7 +4034,22 @@ function moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }
|
|
|
4032
4034
|
function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, {
|
|
4033
4035
|
o: { nextSibling, parentNode, querySelector, insert, createText }
|
|
4034
4036
|
}, hydrateChildren) {
|
|
4035
|
-
function
|
|
4037
|
+
function hydrateAnchor(target2, targetNode) {
|
|
4038
|
+
let targetAnchor = targetNode;
|
|
4039
|
+
while (targetAnchor) {
|
|
4040
|
+
if (targetAnchor && targetAnchor.nodeType === 8) {
|
|
4041
|
+
if (targetAnchor.data === "teleport start anchor") {
|
|
4042
|
+
vnode.targetStart = targetAnchor;
|
|
4043
|
+
} else if (targetAnchor.data === "teleport anchor") {
|
|
4044
|
+
vnode.targetAnchor = targetAnchor;
|
|
4045
|
+
target2._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor);
|
|
4046
|
+
break;
|
|
4047
|
+
}
|
|
4048
|
+
}
|
|
4049
|
+
targetAnchor = nextSibling(targetAnchor);
|
|
4050
|
+
}
|
|
4051
|
+
}
|
|
4052
|
+
function hydrateDisabledTeleport(node2, vnode2) {
|
|
4036
4053
|
vnode2.anchor = hydrateChildren(
|
|
4037
4054
|
nextSibling(node2),
|
|
4038
4055
|
vnode2,
|
|
@@ -4042,8 +4059,6 @@ function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScope
|
|
|
4042
4059
|
slotScopeIds,
|
|
4043
4060
|
optimized
|
|
4044
4061
|
);
|
|
4045
|
-
vnode2.targetStart = targetStart;
|
|
4046
|
-
vnode2.targetAnchor = targetAnchor;
|
|
4047
4062
|
}
|
|
4048
4063
|
const target = vnode.target = resolveTarget(
|
|
4049
4064
|
vnode.props,
|
|
@@ -4054,27 +4069,22 @@ function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScope
|
|
|
4054
4069
|
const targetNode = target._lpa || target.firstChild;
|
|
4055
4070
|
if (vnode.shapeFlag & 16) {
|
|
4056
4071
|
if (disabled) {
|
|
4057
|
-
hydrateDisabledTeleport(
|
|
4058
|
-
|
|
4059
|
-
|
|
4060
|
-
|
|
4061
|
-
|
|
4062
|
-
|
|
4072
|
+
hydrateDisabledTeleport(node, vnode);
|
|
4073
|
+
hydrateAnchor(target, targetNode);
|
|
4074
|
+
if (!vnode.targetAnchor) {
|
|
4075
|
+
prepareAnchor(
|
|
4076
|
+
target,
|
|
4077
|
+
vnode,
|
|
4078
|
+
createText,
|
|
4079
|
+
insert,
|
|
4080
|
+
// if target is the same as the main view, insert anchors before current node
|
|
4081
|
+
// to avoid hydrating mismatch
|
|
4082
|
+
parentNode(node) === target ? node : null
|
|
4083
|
+
);
|
|
4084
|
+
}
|
|
4063
4085
|
} else {
|
|
4064
4086
|
vnode.anchor = nextSibling(node);
|
|
4065
|
-
|
|
4066
|
-
while (targetAnchor) {
|
|
4067
|
-
if (targetAnchor && targetAnchor.nodeType === 8) {
|
|
4068
|
-
if (targetAnchor.data === "teleport start anchor") {
|
|
4069
|
-
vnode.targetStart = targetAnchor;
|
|
4070
|
-
} else if (targetAnchor.data === "teleport anchor") {
|
|
4071
|
-
vnode.targetAnchor = targetAnchor;
|
|
4072
|
-
target._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor);
|
|
4073
|
-
break;
|
|
4074
|
-
}
|
|
4075
|
-
}
|
|
4076
|
-
targetAnchor = nextSibling(targetAnchor);
|
|
4077
|
-
}
|
|
4087
|
+
hydrateAnchor(target, targetNode);
|
|
4078
4088
|
if (!vnode.targetAnchor) {
|
|
4079
4089
|
prepareAnchor(target, vnode, createText, insert);
|
|
4080
4090
|
}
|
|
@@ -4092,7 +4102,9 @@ function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScope
|
|
|
4092
4102
|
updateCssVars(vnode, disabled);
|
|
4093
4103
|
} else if (disabled) {
|
|
4094
4104
|
if (vnode.shapeFlag & 16) {
|
|
4095
|
-
hydrateDisabledTeleport(node, vnode
|
|
4105
|
+
hydrateDisabledTeleport(node, vnode);
|
|
4106
|
+
vnode.targetStart = node;
|
|
4107
|
+
vnode.targetAnchor = nextSibling(node);
|
|
4096
4108
|
}
|
|
4097
4109
|
}
|
|
4098
4110
|
return vnode.anchor && nextSibling(vnode.anchor);
|
|
@@ -4116,13 +4128,13 @@ function updateCssVars(vnode, isDisabled) {
|
|
|
4116
4128
|
ctx.ut();
|
|
4117
4129
|
}
|
|
4118
4130
|
}
|
|
4119
|
-
function prepareAnchor(target, vnode, createText, insert) {
|
|
4131
|
+
function prepareAnchor(target, vnode, createText, insert, anchor = null) {
|
|
4120
4132
|
const targetStart = vnode.targetStart = createText("");
|
|
4121
4133
|
const targetAnchor = vnode.targetAnchor = createText("");
|
|
4122
4134
|
targetStart[TeleportEndKey] = targetAnchor;
|
|
4123
4135
|
if (target) {
|
|
4124
|
-
insert(targetStart, target);
|
|
4125
|
-
insert(targetAnchor, target);
|
|
4136
|
+
insert(targetStart, target, anchor);
|
|
4137
|
+
insert(targetAnchor, target, anchor);
|
|
4126
4138
|
}
|
|
4127
4139
|
return targetAnchor;
|
|
4128
4140
|
}
|
|
@@ -4347,6 +4359,7 @@ function resolveTransitionHooks(vnode, props, state, instance, postClone) {
|
|
|
4347
4359
|
callHook(hook, [el]);
|
|
4348
4360
|
},
|
|
4349
4361
|
enter(el) {
|
|
4362
|
+
if (leavingVNodesCache[key] === vnode) return;
|
|
4350
4363
|
let hook = onEnter;
|
|
4351
4364
|
let afterHook = onAfterEnter;
|
|
4352
4365
|
let cancelHook = onEnterCancelled;
|
|
@@ -4360,7 +4373,7 @@ function resolveTransitionHooks(vnode, props, state, instance, postClone) {
|
|
|
4360
4373
|
}
|
|
4361
4374
|
}
|
|
4362
4375
|
let called = false;
|
|
4363
|
-
|
|
4376
|
+
el[enterCbKey$1] = (cancelled) => {
|
|
4364
4377
|
if (called) return;
|
|
4365
4378
|
called = true;
|
|
4366
4379
|
if (cancelled) {
|
|
@@ -4373,6 +4386,7 @@ function resolveTransitionHooks(vnode, props, state, instance, postClone) {
|
|
|
4373
4386
|
}
|
|
4374
4387
|
el[enterCbKey$1] = void 0;
|
|
4375
4388
|
};
|
|
4389
|
+
const done = el[enterCbKey$1].bind(null, false);
|
|
4376
4390
|
if (hook) {
|
|
4377
4391
|
callAsyncHook(hook, [el, done]);
|
|
4378
4392
|
} else {
|
|
@@ -4392,7 +4406,7 @@ function resolveTransitionHooks(vnode, props, state, instance, postClone) {
|
|
|
4392
4406
|
}
|
|
4393
4407
|
callHook(onBeforeLeave, [el]);
|
|
4394
4408
|
let called = false;
|
|
4395
|
-
|
|
4409
|
+
el[leaveCbKey] = (cancelled) => {
|
|
4396
4410
|
if (called) return;
|
|
4397
4411
|
called = true;
|
|
4398
4412
|
remove();
|
|
@@ -4406,6 +4420,7 @@ function resolveTransitionHooks(vnode, props, state, instance, postClone) {
|
|
|
4406
4420
|
delete leavingVNodesCache[key2];
|
|
4407
4421
|
}
|
|
4408
4422
|
};
|
|
4423
|
+
const done = el[leaveCbKey].bind(null, false);
|
|
4409
4424
|
leavingVNodesCache[key2] = vnode;
|
|
4410
4425
|
if (onLeave) {
|
|
4411
4426
|
callAsyncHook(onLeave, [el, done]);
|
|
@@ -4518,8 +4533,7 @@ function useTemplateRef(key) {
|
|
|
4518
4533
|
const r = shallowRef(null);
|
|
4519
4534
|
if (i) {
|
|
4520
4535
|
const refs = i.refs === EMPTY_OBJ ? i.refs = {} : i.refs;
|
|
4521
|
-
|
|
4522
|
-
if ((desc = Object.getOwnPropertyDescriptor(refs, key)) && !desc.configurable) {
|
|
4536
|
+
if (isTemplateRefKey(refs, key)) {
|
|
4523
4537
|
warn$1(`useTemplateRef('${key}') already exists.`);
|
|
4524
4538
|
} else {
|
|
4525
4539
|
Object.defineProperty(refs, key, {
|
|
@@ -4539,6 +4553,10 @@ function useTemplateRef(key) {
|
|
|
4539
4553
|
}
|
|
4540
4554
|
return ret;
|
|
4541
4555
|
}
|
|
4556
|
+
function isTemplateRefKey(refs, key) {
|
|
4557
|
+
let desc;
|
|
4558
|
+
return !!((desc = Object.getOwnPropertyDescriptor(refs, key)) && !desc.configurable);
|
|
4559
|
+
}
|
|
4542
4560
|
|
|
4543
4561
|
const pendingSetRefMap = /* @__PURE__ */ new WeakMap();
|
|
4544
4562
|
function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
|
|
@@ -4584,10 +4602,19 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
|
|
|
4584
4602
|
return false;
|
|
4585
4603
|
}
|
|
4586
4604
|
}
|
|
4605
|
+
if (isTemplateRefKey(refs, key)) {
|
|
4606
|
+
return false;
|
|
4607
|
+
}
|
|
4587
4608
|
return hasOwn(rawSetupState, key);
|
|
4588
4609
|
};
|
|
4589
|
-
const canSetRef = (ref2) => {
|
|
4590
|
-
|
|
4610
|
+
const canSetRef = (ref2, key) => {
|
|
4611
|
+
if (knownTemplateRefs.has(ref2)) {
|
|
4612
|
+
return false;
|
|
4613
|
+
}
|
|
4614
|
+
if (key && isTemplateRefKey(refs, key)) {
|
|
4615
|
+
return false;
|
|
4616
|
+
}
|
|
4617
|
+
return true;
|
|
4591
4618
|
};
|
|
4592
4619
|
if (oldRef != null && oldRef !== ref) {
|
|
4593
4620
|
invalidatePendingSetRef(oldRawRef);
|
|
@@ -4597,10 +4624,10 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
|
|
|
4597
4624
|
setupState[oldRef] = null;
|
|
4598
4625
|
}
|
|
4599
4626
|
} else if (isRef(oldRef)) {
|
|
4600
|
-
|
|
4627
|
+
const oldRawRefAtom = oldRawRef;
|
|
4628
|
+
if (canSetRef(oldRef, oldRawRefAtom.k)) {
|
|
4601
4629
|
oldRef.value = null;
|
|
4602
4630
|
}
|
|
4603
|
-
const oldRawRefAtom = oldRawRef;
|
|
4604
4631
|
if (oldRawRefAtom.k) refs[oldRawRefAtom.k] = null;
|
|
4605
4632
|
}
|
|
4606
4633
|
}
|
|
@@ -4624,7 +4651,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
|
|
|
4624
4651
|
}
|
|
4625
4652
|
} else {
|
|
4626
4653
|
const newVal = [refValue];
|
|
4627
|
-
if (canSetRef(ref)) {
|
|
4654
|
+
if (canSetRef(ref, rawRef.k)) {
|
|
4628
4655
|
ref.value = newVal;
|
|
4629
4656
|
}
|
|
4630
4657
|
if (rawRef.k) refs[rawRef.k] = newVal;
|
|
@@ -4639,7 +4666,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
|
|
|
4639
4666
|
setupState[ref] = value;
|
|
4640
4667
|
}
|
|
4641
4668
|
} else if (_isRef) {
|
|
4642
|
-
if (canSetRef(ref)) {
|
|
4669
|
+
if (canSetRef(ref, rawRef.k)) {
|
|
4643
4670
|
ref.value = value;
|
|
4644
4671
|
}
|
|
4645
4672
|
if (rawRef.k) refs[rawRef.k] = value;
|
|
@@ -6972,13 +6999,24 @@ function withAsyncContext(getAwaitable) {
|
|
|
6972
6999
|
}
|
|
6973
7000
|
let awaitable = getAwaitable();
|
|
6974
7001
|
unsetCurrentInstance();
|
|
7002
|
+
const cleanup = () => {
|
|
7003
|
+
if (getCurrentInstance() !== ctx) ctx.scope.off();
|
|
7004
|
+
unsetCurrentInstance();
|
|
7005
|
+
};
|
|
6975
7006
|
if (isPromise(awaitable)) {
|
|
6976
7007
|
awaitable = awaitable.catch((e) => {
|
|
6977
7008
|
setCurrentInstance(ctx);
|
|
7009
|
+
Promise.resolve().then(() => Promise.resolve().then(cleanup));
|
|
6978
7010
|
throw e;
|
|
6979
7011
|
});
|
|
6980
7012
|
}
|
|
6981
|
-
return [
|
|
7013
|
+
return [
|
|
7014
|
+
awaitable,
|
|
7015
|
+
() => {
|
|
7016
|
+
setCurrentInstance(ctx);
|
|
7017
|
+
Promise.resolve().then(cleanup);
|
|
7018
|
+
}
|
|
7019
|
+
];
|
|
6982
7020
|
}
|
|
6983
7021
|
|
|
6984
7022
|
function createDuplicateChecker() {
|
|
@@ -7499,7 +7537,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
|
|
|
7499
7537
|
return vm;
|
|
7500
7538
|
}
|
|
7501
7539
|
}
|
|
7502
|
-
Vue.version = `2.6.14-compat:${"3.5.
|
|
7540
|
+
Vue.version = `2.6.14-compat:${"3.5.29"}`;
|
|
7503
7541
|
Vue.config = singletonApp.config;
|
|
7504
7542
|
Vue.use = (plugin, ...options) => {
|
|
7505
7543
|
if (plugin && isFunction(plugin.install)) {
|
|
@@ -8613,7 +8651,7 @@ function shouldUpdateComponent(prevVNode, nextVNode, optimized) {
|
|
|
8613
8651
|
const dynamicProps = nextVNode.dynamicProps;
|
|
8614
8652
|
for (let i = 0; i < dynamicProps.length; i++) {
|
|
8615
8653
|
const key = dynamicProps[i];
|
|
8616
|
-
if (nextProps
|
|
8654
|
+
if (hasPropValueChanged(nextProps, prevProps, key) && !isEmitListener(emits, key)) {
|
|
8617
8655
|
return true;
|
|
8618
8656
|
}
|
|
8619
8657
|
}
|
|
@@ -8644,12 +8682,20 @@ function hasPropsChanged(prevProps, nextProps, emitsOptions) {
|
|
|
8644
8682
|
}
|
|
8645
8683
|
for (let i = 0; i < nextKeys.length; i++) {
|
|
8646
8684
|
const key = nextKeys[i];
|
|
8647
|
-
if (nextProps
|
|
8685
|
+
if (hasPropValueChanged(nextProps, prevProps, key) && !isEmitListener(emitsOptions, key)) {
|
|
8648
8686
|
return true;
|
|
8649
8687
|
}
|
|
8650
8688
|
}
|
|
8651
8689
|
return false;
|
|
8652
8690
|
}
|
|
8691
|
+
function hasPropValueChanged(nextProps, prevProps, key) {
|
|
8692
|
+
const nextProp = nextProps[key];
|
|
8693
|
+
const prevProp = prevProps[key];
|
|
8694
|
+
if (key === "style" && isObject(nextProp) && isObject(prevProp)) {
|
|
8695
|
+
return !looseEqual(nextProp, prevProp);
|
|
8696
|
+
}
|
|
8697
|
+
return nextProp !== prevProp;
|
|
8698
|
+
}
|
|
8653
8699
|
function updateHOCHostEl({ vnode, parent }, el) {
|
|
8654
8700
|
while (parent) {
|
|
8655
8701
|
const root = parent.subTree;
|
|
@@ -9425,15 +9471,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
9425
9471
|
} else {
|
|
9426
9472
|
const el = n2.el = n1.el;
|
|
9427
9473
|
if (n2.children !== n1.children) {
|
|
9428
|
-
|
|
9429
|
-
const childNodes = container.childNodes;
|
|
9430
|
-
const newChild = hostCreateText(n2.children);
|
|
9431
|
-
const oldChild = childNodes[n2.__elIndex = n1.__elIndex];
|
|
9432
|
-
hostInsert(newChild, container, oldChild);
|
|
9433
|
-
hostRemove(oldChild);
|
|
9434
|
-
} else {
|
|
9435
|
-
hostSetText(el, n2.children);
|
|
9436
|
-
}
|
|
9474
|
+
hostSetText(el, n2.children);
|
|
9437
9475
|
}
|
|
9438
9476
|
}
|
|
9439
9477
|
};
|
|
@@ -9509,7 +9547,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
9509
9547
|
optimized
|
|
9510
9548
|
);
|
|
9511
9549
|
} else {
|
|
9512
|
-
const customElement =
|
|
9550
|
+
const customElement = n1.el && n1.el._isVueCE ? n1.el : null;
|
|
9513
9551
|
try {
|
|
9514
9552
|
if (customElement) {
|
|
9515
9553
|
customElement._beginPatch();
|
|
@@ -9995,8 +10033,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
9995
10033
|
hydrateSubTree();
|
|
9996
10034
|
}
|
|
9997
10035
|
} else {
|
|
9998
|
-
if (root.ce &&
|
|
9999
|
-
root.ce._def.shadowRoot !== false) {
|
|
10036
|
+
if (root.ce && root.ce._hasShadowRoot()) {
|
|
10000
10037
|
root.ce._injectChildStyle(type);
|
|
10001
10038
|
}
|
|
10002
10039
|
{
|
|
@@ -10063,9 +10100,9 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
10063
10100
|
updateComponentPreRender(instance, next, optimized);
|
|
10064
10101
|
}
|
|
10065
10102
|
nonHydratedAsyncRoot.asyncDep.then(() => {
|
|
10066
|
-
|
|
10067
|
-
|
|
10068
|
-
}
|
|
10103
|
+
queuePostRenderEffect(() => {
|
|
10104
|
+
if (!instance.isUnmounted) update();
|
|
10105
|
+
}, parentSuspense);
|
|
10069
10106
|
});
|
|
10070
10107
|
return;
|
|
10071
10108
|
}
|
|
@@ -10780,12 +10817,10 @@ function traverseStaticChildren(n1, n2, shallow = false) {
|
|
|
10780
10817
|
traverseStaticChildren(c1, c2);
|
|
10781
10818
|
}
|
|
10782
10819
|
if (c2.type === Text) {
|
|
10783
|
-
if (c2.patchFlag
|
|
10784
|
-
c2
|
|
10785
|
-
} else {
|
|
10786
|
-
c2.__elIndex = i + // take fragment start anchor into account
|
|
10787
|
-
(n1.type === Fragment ? 1 : 0);
|
|
10820
|
+
if (c2.patchFlag === -1) {
|
|
10821
|
+
c2 = ch2[i] = cloneIfMounted(c2);
|
|
10788
10822
|
}
|
|
10823
|
+
c2.el = c1.el;
|
|
10789
10824
|
}
|
|
10790
10825
|
if (c2.type === Comment && !c2.el) {
|
|
10791
10826
|
c2.el = c1.el;
|
|
@@ -12590,7 +12625,7 @@ function isMemoSame(cached, memo) {
|
|
|
12590
12625
|
return true;
|
|
12591
12626
|
}
|
|
12592
12627
|
|
|
12593
|
-
const version = "3.5.
|
|
12628
|
+
const version = "3.5.29";
|
|
12594
12629
|
const warn = warn$1 ;
|
|
12595
12630
|
const ErrorTypeStrings = ErrorTypeStrings$1 ;
|
|
12596
12631
|
const devtools = devtools$1 ;
|
|
@@ -13884,6 +13919,12 @@ class VueElement extends BaseClass {
|
|
|
13884
13919
|
this._update();
|
|
13885
13920
|
}
|
|
13886
13921
|
}
|
|
13922
|
+
/**
|
|
13923
|
+
* @internal
|
|
13924
|
+
*/
|
|
13925
|
+
_hasShadowRoot() {
|
|
13926
|
+
return this._def.shadowRoot !== false;
|
|
13927
|
+
}
|
|
13887
13928
|
/**
|
|
13888
13929
|
* @internal
|
|
13889
13930
|
*/
|
|
@@ -14027,10 +14068,7 @@ const TransitionGroupImpl = /* @__PURE__ */ decorate({
|
|
|
14027
14068
|
instance
|
|
14028
14069
|
)
|
|
14029
14070
|
);
|
|
14030
|
-
positionMap.set(child,
|
|
14031
|
-
left: child.el.offsetLeft,
|
|
14032
|
-
top: child.el.offsetTop
|
|
14033
|
-
});
|
|
14071
|
+
positionMap.set(child, getPosition(child.el));
|
|
14034
14072
|
}
|
|
14035
14073
|
}
|
|
14036
14074
|
}
|
|
@@ -14061,10 +14099,7 @@ function callPendingCbs(c) {
|
|
|
14061
14099
|
}
|
|
14062
14100
|
}
|
|
14063
14101
|
function recordPosition(c) {
|
|
14064
|
-
newPositionMap.set(c,
|
|
14065
|
-
left: c.el.offsetLeft,
|
|
14066
|
-
top: c.el.offsetTop
|
|
14067
|
-
});
|
|
14102
|
+
newPositionMap.set(c, getPosition(c.el));
|
|
14068
14103
|
}
|
|
14069
14104
|
function applyTranslation(c) {
|
|
14070
14105
|
const oldPos = positionMap.get(c);
|
|
@@ -14072,12 +14107,29 @@ function applyTranslation(c) {
|
|
|
14072
14107
|
const dx = oldPos.left - newPos.left;
|
|
14073
14108
|
const dy = oldPos.top - newPos.top;
|
|
14074
14109
|
if (dx || dy) {
|
|
14075
|
-
const
|
|
14076
|
-
s
|
|
14110
|
+
const el = c.el;
|
|
14111
|
+
const s = el.style;
|
|
14112
|
+
const rect = el.getBoundingClientRect();
|
|
14113
|
+
let scaleX = 1;
|
|
14114
|
+
let scaleY = 1;
|
|
14115
|
+
if (el.offsetWidth) scaleX = rect.width / el.offsetWidth;
|
|
14116
|
+
if (el.offsetHeight) scaleY = rect.height / el.offsetHeight;
|
|
14117
|
+
if (!Number.isFinite(scaleX) || scaleX === 0) scaleX = 1;
|
|
14118
|
+
if (!Number.isFinite(scaleY) || scaleY === 0) scaleY = 1;
|
|
14119
|
+
if (Math.abs(scaleX - 1) < 0.01) scaleX = 1;
|
|
14120
|
+
if (Math.abs(scaleY - 1) < 0.01) scaleY = 1;
|
|
14121
|
+
s.transform = s.webkitTransform = `translate(${dx / scaleX}px,${dy / scaleY}px)`;
|
|
14077
14122
|
s.transitionDuration = "0s";
|
|
14078
14123
|
return c;
|
|
14079
14124
|
}
|
|
14080
14125
|
}
|
|
14126
|
+
function getPosition(el) {
|
|
14127
|
+
const rect = el.getBoundingClientRect();
|
|
14128
|
+
return {
|
|
14129
|
+
left: rect.left,
|
|
14130
|
+
top: rect.top
|
|
14131
|
+
};
|
|
14132
|
+
}
|
|
14081
14133
|
function hasCSSTransform(el, root, moveClass) {
|
|
14082
14134
|
const clone = el.cloneNode();
|
|
14083
14135
|
const _vtc = el[vtcKey];
|
|
@@ -14388,6 +14440,7 @@ const modifierGuards = {
|
|
|
14388
14440
|
exact: (e, modifiers) => systemModifiers.some((m) => e[`${m}Key`] && !modifiers.includes(m))
|
|
14389
14441
|
};
|
|
14390
14442
|
const withModifiers = (fn, modifiers) => {
|
|
14443
|
+
if (!fn) return fn;
|
|
14391
14444
|
const cache = fn._withMods || (fn._withMods = {});
|
|
14392
14445
|
const cacheKey = modifiers.join(".");
|
|
14393
14446
|
return cache[cacheKey] || (cache[cacheKey] = ((event, ...args) => {
|