vue 3.6.0-rc.6 → 3.6.0-rc.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.
package/dist/vue.cjs.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * vue v3.6.0-rc.6
2
+ * vue v3.6.0-rc.7
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -1,5 +1,5 @@
1
1
  /**
2
- * vue v3.6.0-rc.6
2
+ * vue v3.6.0-rc.7
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -1,5 +1,5 @@
1
1
  /**
2
- * vue v3.6.0-rc.6
2
+ * vue v3.6.0-rc.7
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -3621,7 +3621,7 @@ function baseResolveTransitionHooks(context, props, state, instance) {
3621
3621
  else done();
3622
3622
  },
3623
3623
  clone(node) {
3624
- return cloneHooks(node);
3624
+ return cloneHooks ? cloneHooks(node) : hooks;
3625
3625
  }
3626
3626
  };
3627
3627
  return hooks;
@@ -4459,7 +4459,7 @@ function defineAsyncComponent(source) {
4459
4459
  name: "AsyncComponentWrapper",
4460
4460
  __asyncLoader: load,
4461
4461
  __asyncHydrate(el, instance, hydrate) {
4462
- performAsyncHydrate(el, instance, hydrate, getResolvedComp, load, hydrateStrategy);
4462
+ performAsyncHydrate(el, instance, hydrate, getResolvedComp, load, hydrateStrategy, true);
4463
4463
  },
4464
4464
  get __asyncResolved() {
4465
4465
  return getResolvedComp();
@@ -4578,10 +4578,10 @@ const useAsyncComponentState = (delay, timeout, onError, instance = currentInsta
4578
4578
  * shared between core and vapor
4579
4579
  * @internal
4580
4580
  */
4581
- function performAsyncHydrate(el, instance, hydrate, getResolvedComp, load, hydrateStrategy) {
4581
+ function performAsyncHydrate(el, instance, hydrate, getResolvedComp, load, hydrateStrategy, skipIfUpdated) {
4582
4582
  const wasConnected = el.isConnected;
4583
4583
  let patched = false;
4584
- (instance.bu || (instance.bu = [])).push(() => patched = true);
4584
+ if (skipIfUpdated) (instance.bu || (instance.bu = [])).push(() => patched = true);
4585
4585
  const performHydrate = () => {
4586
4586
  if (patched) {
4587
4587
  {
@@ -7284,24 +7284,10 @@ function baseCreateRenderer(options, createHydrationFns) {
7284
7284
  }
7285
7285
  if (moveType !== 2 && shapeFlag & 1 && transition) {
7286
7286
  if (moveType === 0) performTransitionEnter(el, transition, () => hostInsert(el, container, anchor), parentSuspense, true);
7287
- else {
7288
- const { leave, delayLeave, afterLeave } = transition;
7289
- const remove = () => {
7290
- if (vnode.ctx.isUnmounted) hostRemove(el);
7291
- else hostInsert(el, container, anchor);
7292
- };
7293
- const performLeave = () => {
7294
- const wasLeaving = el._isLeaving || !!el[leaveCbKey];
7295
- if (el._isLeaving) el[leaveCbKey](true);
7296
- if (transition.persisted && !wasLeaving) remove();
7297
- else leave(el, () => {
7298
- remove();
7299
- afterLeave && afterLeave();
7300
- });
7301
- };
7302
- if (delayLeave) delayLeave(el, remove, performLeave);
7303
- else performLeave();
7304
- }
7287
+ else performTransitionLeave(el, transition, () => {
7288
+ if (vnode.ctx.isUnmounted) hostRemove(el);
7289
+ else hostInsert(el, container, anchor);
7290
+ }, true, true);
7305
7291
  } else hostInsert(el, container, anchor);
7306
7292
  };
7307
7293
  const unmount = (vnode, parentComponent, parentSuspense, doRemove = false, optimized = false) => {
@@ -7533,13 +7519,15 @@ function performTransitionEnter(el, transition, insert, parentSuspense, force =
7533
7519
  function performTransitionLeave(el, transition, remove, isElement = true, force = false) {
7534
7520
  const performRemove = () => {
7535
7521
  remove();
7536
- if (transition && !transition.persisted && transition.afterLeave) transition.afterLeave();
7522
+ if (transition && (force || !transition.persisted) && transition.afterLeave) transition.afterLeave();
7537
7523
  };
7538
7524
  if (force || isElement && transition && !transition.persisted) {
7539
7525
  const { leave, delayLeave } = transition;
7540
7526
  const performLeave = () => {
7527
+ const wasLeaving = el._isLeaving || !!el[leaveCbKey];
7541
7528
  if (el._isLeaving && force) el[leaveCbKey](true);
7542
- leave(el, performRemove);
7529
+ if (force && transition.persisted && !wasLeaving) remove();
7530
+ else leave(el, performRemove);
7543
7531
  };
7544
7532
  if (delayLeave) delayLeave(el, performRemove, performLeave);
7545
7533
  else performLeave();
@@ -8822,7 +8810,7 @@ function isMemoSame(cached, memo) {
8822
8810
  }
8823
8811
  //#endregion
8824
8812
  //#region packages/runtime-core/src/index.ts
8825
- const version = "3.6.0-rc.6";
8813
+ const version = "3.6.0-rc.7";
8826
8814
  const warn = warn$1;
8827
8815
  /**
8828
8816
  * Runtime error messages. Only exposed in dev or esm builds.
@@ -9769,13 +9757,11 @@ var VueElementBase = class VueElementBase extends BaseClass {
9769
9757
  _renderSlots() {
9770
9758
  const outlets = this._getSlots();
9771
9759
  const scopeId = this._instance.type.__scopeId;
9772
- const slotReplacements = /* @__PURE__ */ new Map();
9773
9760
  for (let i = 0; i < outlets.length; i++) {
9774
9761
  const o = outlets[i];
9775
9762
  const slotName = o.getAttribute("name") || "default";
9776
9763
  const content = this._slots[slotName];
9777
9764
  const parent = o.parentNode;
9778
- const replacementNodes = [];
9779
9765
  if (content) for (const n of content) {
9780
9766
  if (scopeId && n.nodeType === 1) {
9781
9767
  const id = scopeId + "-s";
@@ -9785,20 +9771,10 @@ var VueElementBase = class VueElementBase extends BaseClass {
9785
9771
  while (child = walker.nextNode()) child.setAttribute(id, "");
9786
9772
  }
9787
9773
  parent.insertBefore(n, o);
9788
- replacementNodes.push(n);
9789
- }
9790
- else while (o.firstChild) {
9791
- const child = o.firstChild;
9792
- parent.insertBefore(child, o);
9793
- replacementNodes.push(child);
9794
9774
  }
9775
+ else while (o.firstChild) parent.insertBefore(o.firstChild, o);
9795
9776
  parent.removeChild(o);
9796
- slotReplacements.set(o, {
9797
- nodes: replacementNodes,
9798
- usedFallback: !content
9799
- });
9800
9777
  }
9801
- this._updateSlotNodes(slotReplacements);
9802
9778
  }
9803
9779
  /**
9804
9780
  * @internal
@@ -9837,7 +9813,7 @@ var VueElementBase = class VueElementBase extends BaseClass {
9837
9813
  * @internal
9838
9814
  */
9839
9815
  _hasShadowRoot() {
9840
- return this._def.shadowRoot !== false;
9816
+ return this._root !== this;
9841
9817
  }
9842
9818
  /**
9843
9819
  * @internal
@@ -9882,10 +9858,6 @@ var VueElement = class extends VueElementBase {
9882
9858
  if (this._instance && this._instance.ce) this._instance.ce = void 0;
9883
9859
  this._app = this._instance = null;
9884
9860
  }
9885
- /**
9886
- * Only called when shadowRoot is false
9887
- */
9888
- _updateSlotNodes(replacements) {}
9889
9861
  _createVNode() {
9890
9862
  const baseProps = {};
9891
9863
  if (!this.shadowRoot) baseProps.onVnodeMounted = baseProps.onVnodeUpdated = this._renderSlots.bind(this);