@vue/runtime-dom 3.6.0-beta.5 → 3.6.0-beta.6

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/runtime-dom v3.6.0-beta.5
2
+ * @vue/runtime-dom v3.6.0-beta.6
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -1111,10 +1111,7 @@ const TransitionGroupImpl = /* @__PURE__ */ decorate({
1111
1111
  if (child.el && child.el instanceof Element) {
1112
1112
  prevChildren.push(child);
1113
1113
  setTransitionHooks(child, resolveTransitionHooks(child, cssTransitionProps, state, instance));
1114
- positionMap.set(child, {
1115
- left: child.el.offsetLeft,
1116
- top: child.el.offsetTop
1117
- });
1114
+ positionMap.set(child, getPosition(child.el));
1118
1115
  }
1119
1116
  }
1120
1117
  children = slots.default ? getTransitionRawChildren(slots.default()) : [];
@@ -1133,10 +1130,7 @@ function callPendingCbs(el) {
1133
1130
  if (el[enterCbKey]) el[enterCbKey]();
1134
1131
  }
1135
1132
  function recordPosition(c) {
1136
- newPositionMap.set(c, {
1137
- left: c.el.offsetLeft,
1138
- top: c.el.offsetTop
1139
- });
1133
+ newPositionMap.set(c, getPosition(c.el));
1140
1134
  }
1141
1135
  function applyTranslation(c) {
1142
1136
  if (baseApplyTranslation(positionMap.get(c), newPositionMap.get(c), c.el)) return c;
@@ -1146,12 +1140,28 @@ function baseApplyTranslation(oldPos, newPos, el) {
1146
1140
  const dy = oldPos.top - newPos.top;
1147
1141
  if (dx || dy) {
1148
1142
  const s = el.style;
1149
- s.transform = s.webkitTransform = `translate(${dx}px,${dy}px)`;
1143
+ const rect = el.getBoundingClientRect();
1144
+ let scaleX = 1;
1145
+ let scaleY = 1;
1146
+ if (el.offsetWidth) scaleX = rect.width / el.offsetWidth;
1147
+ if (el.offsetHeight) scaleY = rect.height / el.offsetHeight;
1148
+ if (!Number.isFinite(scaleX) || scaleX === 0) scaleX = 1;
1149
+ if (!Number.isFinite(scaleY) || scaleY === 0) scaleY = 1;
1150
+ if (Math.abs(scaleX - 1) < .01) scaleX = 1;
1151
+ if (Math.abs(scaleY - 1) < .01) scaleY = 1;
1152
+ s.transform = s.webkitTransform = `translate(${dx / scaleX}px,${dy / scaleY}px)`;
1150
1153
  s.transitionDuration = "0s";
1151
1154
  return true;
1152
1155
  }
1153
1156
  return false;
1154
1157
  }
1158
+ function getPosition(el) {
1159
+ const rect = el.getBoundingClientRect();
1160
+ return {
1161
+ left: rect.left,
1162
+ top: rect.top
1163
+ };
1164
+ }
1155
1165
  function hasCSSTransform(el, root, moveClass) {
1156
1166
  const clone = el.cloneNode();
1157
1167
  const _vtc = el[vtcKey];
@@ -1456,6 +1466,7 @@ const modifierGuards = {
1456
1466
  * @private
1457
1467
  */
1458
1468
  const withModifiers = (fn, modifiers) => {
1469
+ if (!fn) return fn;
1459
1470
  const cache = fn._withMods || (fn._withMods = {});
1460
1471
  const cacheKey = modifiers.join(".");
1461
1472
  return cache[cacheKey] || (cache[cacheKey] = ((event, ...args) => {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/runtime-dom v3.6.0-beta.5
2
+ * @vue/runtime-dom v3.6.0-beta.6
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -3202,36 +3202,44 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
3202
3202
  if (isReorder) insert(anchor, container, parentAnchor);
3203
3203
  }
3204
3204
  function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, { o: { nextSibling, parentNode, querySelector, insert, createText } }, hydrateChildren) {
3205
- function hydrateDisabledTeleport(node, vnode, targetStart, targetAnchor) {
3205
+ function hydrateAnchor(target, targetNode) {
3206
+ let targetAnchor = targetNode;
3207
+ while (targetAnchor) {
3208
+ if (targetAnchor && targetAnchor.nodeType === 8) {
3209
+ if (targetAnchor.data === "teleport start anchor") vnode.targetStart = targetAnchor;
3210
+ else if (targetAnchor.data === "teleport anchor") {
3211
+ vnode.targetAnchor = targetAnchor;
3212
+ target._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor);
3213
+ break;
3214
+ }
3215
+ }
3216
+ targetAnchor = nextSibling(targetAnchor);
3217
+ }
3218
+ }
3219
+ function hydrateDisabledTeleport(node, vnode) {
3206
3220
  vnode.anchor = hydrateChildren(nextSibling(node), vnode, parentNode(node), parentComponent, parentSuspense, slotScopeIds, optimized);
3207
- vnode.targetStart = targetStart;
3208
- vnode.targetAnchor = targetAnchor;
3209
3221
  }
3210
3222
  const target = vnode.target = resolveTarget(vnode.props, querySelector);
3211
3223
  const disabled = isTeleportDisabled(vnode.props);
3212
3224
  if (target) {
3213
3225
  const targetNode = target._lpa || target.firstChild;
3214
- if (vnode.shapeFlag & 16) if (disabled) hydrateDisabledTeleport(node, vnode, targetNode, targetNode && nextSibling(targetNode));
3215
- else {
3226
+ if (vnode.shapeFlag & 16) if (disabled) {
3227
+ hydrateDisabledTeleport(node, vnode);
3228
+ hydrateAnchor(target, targetNode);
3229
+ if (!vnode.targetAnchor) prepareAnchor(target, vnode, createText, insert, parentNode(node) === target ? node : null);
3230
+ } else {
3216
3231
  vnode.anchor = nextSibling(node);
3217
- let targetAnchor = targetNode;
3218
- while (targetAnchor) {
3219
- if (targetAnchor && targetAnchor.nodeType === 8) {
3220
- if (targetAnchor.data === "teleport start anchor") vnode.targetStart = targetAnchor;
3221
- else if (targetAnchor.data === "teleport anchor") {
3222
- vnode.targetAnchor = targetAnchor;
3223
- target._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor);
3224
- break;
3225
- }
3226
- }
3227
- targetAnchor = nextSibling(targetAnchor);
3228
- }
3232
+ hydrateAnchor(target, targetNode);
3229
3233
  if (!vnode.targetAnchor) prepareAnchor(target, vnode, createText, insert);
3230
3234
  hydrateChildren(targetNode && nextSibling(targetNode), vnode, target, parentComponent, parentSuspense, slotScopeIds, optimized);
3231
3235
  }
3232
3236
  updateCssVars(vnode, disabled);
3233
3237
  } else if (disabled) {
3234
- if (vnode.shapeFlag & 16) hydrateDisabledTeleport(node, vnode, node, nextSibling(node));
3238
+ if (vnode.shapeFlag & 16) {
3239
+ hydrateDisabledTeleport(node, vnode);
3240
+ vnode.targetStart = node;
3241
+ vnode.targetAnchor = nextSibling(node);
3242
+ }
3235
3243
  }
3236
3244
  return vnode.anchor && nextSibling(vnode.anchor);
3237
3245
  }
@@ -3254,13 +3262,13 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
3254
3262
  ctx.ut();
3255
3263
  }
3256
3264
  }
3257
- function prepareAnchor(target, vnode, createText, insert) {
3265
+ function prepareAnchor(target, vnode, createText, insert, anchor = null) {
3258
3266
  const targetStart = vnode.targetStart = createText("");
3259
3267
  const targetAnchor = vnode.targetAnchor = createText("");
3260
3268
  targetStart[TeleportEndKey] = targetAnchor;
3261
3269
  if (target) {
3262
- insert(targetStart, target);
3263
- insert(targetAnchor, target);
3270
+ insert(targetStart, target, anchor);
3271
+ insert(targetAnchor, target, anchor);
3264
3272
  }
3265
3273
  return targetAnchor;
3266
3274
  }
@@ -3438,7 +3446,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
3438
3446
  cancelHook = onAppearCancelled || onEnterCancelled;
3439
3447
  } else return;
3440
3448
  let called = false;
3441
- const done = el[enterCbKey$1] = (cancelled) => {
3449
+ el[enterCbKey$1] = (cancelled) => {
3442
3450
  if (called) return;
3443
3451
  called = true;
3444
3452
  if (cancelled) callHook(cancelHook, [el]);
@@ -3446,6 +3454,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
3446
3454
  if (hooks.delayedLeave) hooks.delayedLeave();
3447
3455
  el[enterCbKey$1] = void 0;
3448
3456
  };
3457
+ const done = el[enterCbKey$1].bind(null, false);
3449
3458
  if (hook) callAsyncHook(hook, [el, done]);
3450
3459
  else done();
3451
3460
  },
@@ -3454,7 +3463,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
3454
3463
  if (state.isUnmounting) return remove();
3455
3464
  callHook(onBeforeLeave, [el]);
3456
3465
  let called = false;
3457
- const done = el[leaveCbKey] = (cancelled) => {
3466
+ el[leaveCbKey] = (cancelled) => {
3458
3467
  if (called) return;
3459
3468
  called = true;
3460
3469
  remove();
@@ -3464,6 +3473,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
3464
3473
  unsetLeavingNodeCache(el);
3465
3474
  };
3466
3475
  setLeavingNodeCache(el);
3476
+ const done = el[leaveCbKey].bind(null, false);
3467
3477
  if (onLeave) callAsyncHook(onLeave, [el, done]);
3468
3478
  else done();
3469
3479
  },
@@ -3561,8 +3571,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
3561
3571
  const r = /* @__PURE__ */ shallowRef(null);
3562
3572
  if (i) {
3563
3573
  const refs = i.refs === EMPTY_OBJ ? i.refs = {} : i.refs;
3564
- let desc;
3565
- if ((desc = Object.getOwnPropertyDescriptor(refs, key)) && !desc.configurable) warn$1(`useTemplateRef('${key}') already exists.`);
3574
+ if (isTemplateRefKey(refs, key)) warn$1(`useTemplateRef('${key}') already exists.`);
3566
3575
  else Object.defineProperty(refs, key, {
3567
3576
  enumerable: true,
3568
3577
  get: () => r.value,
@@ -3573,6 +3582,10 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
3573
3582
  knownTemplateRefs.add(ret);
3574
3583
  return ret;
3575
3584
  }
3585
+ function isTemplateRefKey(refs, key) {
3586
+ let desc;
3587
+ return !!((desc = Object.getOwnPropertyDescriptor(refs, key)) && !desc.configurable);
3588
+ }
3576
3589
 
3577
3590
  //#endregion
3578
3591
  //#region packages/runtime-core/src/rendererTemplateRef.ts
@@ -3599,9 +3612,11 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
3599
3612
  const oldRef = oldRawRef && oldRawRef.r;
3600
3613
  const refs = owner.refs === EMPTY_OBJ ? owner.refs = {} : owner.refs;
3601
3614
  const setupState = owner.setupState;
3602
- const canSetSetupRef = createCanSetSetupRefChecker(setupState);
3603
- const canSetRef = (ref) => {
3604
- return !knownTemplateRefs.has(ref);
3615
+ const canSetSetupRef = createCanSetSetupRefChecker(setupState, refs);
3616
+ const canSetRef = (ref, key) => {
3617
+ if (knownTemplateRefs.has(ref)) return false;
3618
+ if (key && isTemplateRefKey(refs, key)) return false;
3619
+ return true;
3605
3620
  };
3606
3621
  if (oldRef != null && oldRef !== ref) {
3607
3622
  invalidatePendingSetRef(oldRawRef);
@@ -3609,8 +3624,8 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
3609
3624
  refs[oldRef] = null;
3610
3625
  if (canSetSetupRef(oldRef)) setupState[oldRef] = null;
3611
3626
  } else if (/* @__PURE__ */ isRef(oldRef)) {
3612
- if (canSetRef(oldRef)) oldRef.value = null;
3613
3627
  const oldRawRefAtom = oldRawRef;
3628
+ if (canSetRef(oldRef, oldRawRefAtom.k)) oldRef.value = null;
3614
3629
  if (oldRawRefAtom.k) refs[oldRawRefAtom.k] = null;
3615
3630
  }
3616
3631
  }
@@ -3628,7 +3643,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
3628
3643
  if (canSetSetupRef(ref)) setupState[ref] = refs[ref];
3629
3644
  } else {
3630
3645
  const newVal = [refValue];
3631
- if (canSetRef(ref)) ref.value = newVal;
3646
+ if (canSetRef(ref, rawRef.k)) ref.value = newVal;
3632
3647
  if (rawRef.k) refs[rawRef.k] = newVal;
3633
3648
  }
3634
3649
  else if (!existing.includes(refValue)) existing.push(refValue);
@@ -3636,7 +3651,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
3636
3651
  refs[ref] = value;
3637
3652
  if (canSetSetupRef(ref)) setupState[ref] = value;
3638
3653
  } else if (_isRef) {
3639
- if (canSetRef(ref)) ref.value = value;
3654
+ if (canSetRef(ref, rawRef.k)) ref.value = value;
3640
3655
  if (rawRef.k) refs[rawRef.k] = value;
3641
3656
  } else warn$1("Invalid template ref type:", ref, `(${typeof ref})`);
3642
3657
  };
@@ -3654,11 +3669,12 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
3654
3669
  } else warn$1("Invalid template ref type:", ref, `(${typeof ref})`);
3655
3670
  }
3656
3671
  }
3657
- function createCanSetSetupRefChecker(setupState) {
3672
+ function createCanSetSetupRefChecker(setupState, refs) {
3658
3673
  const rawSetupState = /* @__PURE__ */ toRaw(setupState);
3659
3674
  return setupState === void 0 || setupState === EMPTY_OBJ ? NO : (key) => {
3660
3675
  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.`);
3661
3676
  if (knownTemplateRefs.has(rawSetupState[key])) return false;
3677
+ if (isTemplateRefKey(refs, key)) return false;
3662
3678
  return hasOwn(rawSetupState, key);
3663
3679
  };
3664
3680
  }
@@ -5765,7 +5781,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
5765
5781
  const dynamicProps = nextVNode.dynamicProps;
5766
5782
  for (let i = 0; i < dynamicProps.length; i++) {
5767
5783
  const key = dynamicProps[i];
5768
- if (nextProps[key] !== prevProps[key] && !isEmitListener(emits, key)) return true;
5784
+ if (hasPropValueChanged(nextProps, prevProps, key) && !isEmitListener(emits, key)) return true;
5769
5785
  }
5770
5786
  }
5771
5787
  } else {
@@ -5784,10 +5800,16 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
5784
5800
  if (nextKeys.length !== Object.keys(prevProps).length) return true;
5785
5801
  for (let i = 0; i < nextKeys.length; i++) {
5786
5802
  const key = nextKeys[i];
5787
- if (nextProps[key] !== prevProps[key] && !isEmitListener(emitsOptions, key)) return true;
5803
+ if (hasPropValueChanged(nextProps, prevProps, key) && !isEmitListener(emitsOptions, key)) return true;
5788
5804
  }
5789
5805
  return false;
5790
5806
  }
5807
+ function hasPropValueChanged(nextProps, prevProps, key) {
5808
+ const nextProp = nextProps[key];
5809
+ const prevProp = prevProps[key];
5810
+ if (key === "style" && isObject(nextProp) && isObject(prevProp)) return !looseEqual(nextProp, prevProp);
5811
+ return nextProp !== prevProp;
5812
+ }
5791
5813
  function updateHOCHostEl({ vnode, parent }, el) {
5792
5814
  while (parent && !parent.vapor) {
5793
5815
  const root = parent.subTree;
@@ -6294,13 +6316,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
6294
6316
  if (n1 == null) hostInsert(n2.el = hostCreateText(n2.children), container, anchor);
6295
6317
  else {
6296
6318
  const el = n2.el = n1.el;
6297
- if (n2.children !== n1.children) if (isHmrUpdating && n2.patchFlag === -1 && "__elIndex" in n1) {
6298
- const childNodes = container.childNodes;
6299
- const newChild = hostCreateText(n2.children);
6300
- const oldChild = childNodes[n2.__elIndex = n1.__elIndex];
6301
- hostInsert(newChild, container, oldChild);
6302
- hostRemove(oldChild);
6303
- } else hostSetText(el, n2.children);
6319
+ if (n2.children !== n1.children) hostSetText(el, n2.children);
6304
6320
  }
6305
6321
  };
6306
6322
  const processCommentNode = (n1, n2, container, anchor) => {
@@ -6636,7 +6652,9 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
6636
6652
  updateComponentPreRender(instance, next, optimized);
6637
6653
  }
6638
6654
  nonHydratedAsyncRoot.asyncDep.then(() => {
6639
- if (!instance.isUnmounted) this.fn();
6655
+ queuePostRenderEffect(() => {
6656
+ if (!instance.isUnmounted) instance.update();
6657
+ }, void 0, parentSuspense);
6640
6658
  });
6641
6659
  return;
6642
6660
  }
@@ -7045,8 +7063,10 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
7045
7063
  }
7046
7064
  if (!shallow && c2.patchFlag !== -2) traverseStaticChildren(c1, c2);
7047
7065
  }
7048
- if (c2.type === Text) if (c2.patchFlag !== -1) c2.el = c1.el;
7049
- else c2.__elIndex = i + (n1.type === Fragment ? 1 : 0);
7066
+ if (c2.type === Text) {
7067
+ if (c2.patchFlag === -1) c2 = ch2[i] = cloneIfMounted(c2);
7068
+ c2.el = c1.el;
7069
+ }
7050
7070
  if (c2.type === Comment && !c2.el) c2.el = c1.el;
7051
7071
  c2.el && (c2.el.__vnode = c2);
7052
7072
  }
@@ -8287,7 +8307,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
8287
8307
 
8288
8308
  //#endregion
8289
8309
  //#region packages/runtime-core/src/index.ts
8290
- const version = "3.6.0-beta.5";
8310
+ const version = "3.6.0-beta.6";
8291
8311
  const warn = warn$1;
8292
8312
  /**
8293
8313
  * Runtime error messages. Only exposed in dev or esm builds.
@@ -9389,10 +9409,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
9389
9409
  if (child.el && child.el instanceof Element) {
9390
9410
  prevChildren.push(child);
9391
9411
  setTransitionHooks(child, resolveTransitionHooks(child, cssTransitionProps, state, instance));
9392
- positionMap.set(child, {
9393
- left: child.el.offsetLeft,
9394
- top: child.el.offsetTop
9395
- });
9412
+ positionMap.set(child, getPosition(child.el));
9396
9413
  }
9397
9414
  }
9398
9415
  children = slots.default ? getTransitionRawChildren(slots.default()) : [];
@@ -9411,10 +9428,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
9411
9428
  if (el[enterCbKey]) el[enterCbKey]();
9412
9429
  }
9413
9430
  function recordPosition(c) {
9414
- newPositionMap.set(c, {
9415
- left: c.el.offsetLeft,
9416
- top: c.el.offsetTop
9417
- });
9431
+ newPositionMap.set(c, getPosition(c.el));
9418
9432
  }
9419
9433
  function applyTranslation(c) {
9420
9434
  if (baseApplyTranslation(positionMap.get(c), newPositionMap.get(c), c.el)) return c;
@@ -9424,12 +9438,28 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
9424
9438
  const dy = oldPos.top - newPos.top;
9425
9439
  if (dx || dy) {
9426
9440
  const s = el.style;
9427
- s.transform = s.webkitTransform = `translate(${dx}px,${dy}px)`;
9441
+ const rect = el.getBoundingClientRect();
9442
+ let scaleX = 1;
9443
+ let scaleY = 1;
9444
+ if (el.offsetWidth) scaleX = rect.width / el.offsetWidth;
9445
+ if (el.offsetHeight) scaleY = rect.height / el.offsetHeight;
9446
+ if (!Number.isFinite(scaleX) || scaleX === 0) scaleX = 1;
9447
+ if (!Number.isFinite(scaleY) || scaleY === 0) scaleY = 1;
9448
+ if (Math.abs(scaleX - 1) < .01) scaleX = 1;
9449
+ if (Math.abs(scaleY - 1) < .01) scaleY = 1;
9450
+ s.transform = s.webkitTransform = `translate(${dx / scaleX}px,${dy / scaleY}px)`;
9428
9451
  s.transitionDuration = "0s";
9429
9452
  return true;
9430
9453
  }
9431
9454
  return false;
9432
9455
  }
9456
+ function getPosition(el) {
9457
+ const rect = el.getBoundingClientRect();
9458
+ return {
9459
+ left: rect.left,
9460
+ top: rect.top
9461
+ };
9462
+ }
9433
9463
  function hasCSSTransform(el, root, moveClass) {
9434
9464
  const clone = el.cloneNode();
9435
9465
  const _vtc = el[vtcKey];
@@ -9716,6 +9746,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
9716
9746
  * @private
9717
9747
  */
9718
9748
  const withModifiers = (fn, modifiers) => {
9749
+ if (!fn) return fn;
9719
9750
  const cache = fn._withMods || (fn._withMods = {});
9720
9751
  const cacheKey = modifiers.join(".");
9721
9752
  return cache[cacheKey] || (cache[cacheKey] = ((event, ...args) => {