@vue/compat 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.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/compat v3.6.0-rc.6
2
+ * @vue/compat v3.6.0-rc.7
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -3975,7 +3975,7 @@ function baseResolveTransitionHooks(context, props, state, instance) {
3975
3975
  else done();
3976
3976
  },
3977
3977
  clone(node) {
3978
- return cloneHooks(node);
3978
+ return cloneHooks ? cloneHooks(node) : hooks;
3979
3979
  }
3980
3980
  };
3981
3981
  return hooks;
@@ -4813,7 +4813,7 @@ function defineAsyncComponent(source) {
4813
4813
  name: "AsyncComponentWrapper",
4814
4814
  __asyncLoader: load,
4815
4815
  __asyncHydrate(el, instance, hydrate) {
4816
- performAsyncHydrate(el, instance, hydrate, getResolvedComp, load, hydrateStrategy);
4816
+ performAsyncHydrate(el, instance, hydrate, getResolvedComp, load, hydrateStrategy, true);
4817
4817
  },
4818
4818
  get __asyncResolved() {
4819
4819
  return getResolvedComp();
@@ -4932,10 +4932,10 @@ const useAsyncComponentState = (delay, timeout, onError, instance = currentInsta
4932
4932
  * shared between core and vapor
4933
4933
  * @internal
4934
4934
  */
4935
- function performAsyncHydrate(el, instance, hydrate, getResolvedComp, load, hydrateStrategy) {
4935
+ function performAsyncHydrate(el, instance, hydrate, getResolvedComp, load, hydrateStrategy, skipIfUpdated) {
4936
4936
  const wasConnected = el.isConnected;
4937
4937
  let patched = false;
4938
- (instance.bu || (instance.bu = [])).push(() => patched = true);
4938
+ if (skipIfUpdated) (instance.bu || (instance.bu = [])).push(() => patched = true);
4939
4939
  const performHydrate = () => {
4940
4940
  if (patched) {
4941
4941
  {
@@ -6539,7 +6539,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
6539
6539
  if (options.el) return vm.$mount(options.el);
6540
6540
  else return vm;
6541
6541
  }
6542
- Vue.version = `2.6.14-compat:3.6.0-rc.6`;
6542
+ Vue.version = `2.6.14-compat:3.6.0-rc.7`;
6543
6543
  Vue.config = singletonApp.config;
6544
6544
  Vue.use = (plugin, ...options) => {
6545
6545
  if (plugin && isFunction(plugin.install)) plugin.install(Vue, ...options);
@@ -8505,24 +8505,10 @@ function baseCreateRenderer(options, createHydrationFns) {
8505
8505
  }
8506
8506
  if (moveType !== 2 && shapeFlag & 1 && transition) {
8507
8507
  if (moveType === 0) performTransitionEnter(el, transition, () => hostInsert(el, container, anchor), parentSuspense, true);
8508
- else {
8509
- const { leave, delayLeave, afterLeave } = transition;
8510
- const remove = () => {
8511
- if (vnode.ctx.isUnmounted) hostRemove(el);
8512
- else hostInsert(el, container, anchor);
8513
- };
8514
- const performLeave = () => {
8515
- const wasLeaving = el._isLeaving || !!el[leaveCbKey];
8516
- if (el._isLeaving) el[leaveCbKey](true);
8517
- if (transition.persisted && !wasLeaving) remove();
8518
- else leave(el, () => {
8519
- remove();
8520
- afterLeave && afterLeave();
8521
- });
8522
- };
8523
- if (delayLeave) delayLeave(el, remove, performLeave);
8524
- else performLeave();
8525
- }
8508
+ else performTransitionLeave(el, transition, () => {
8509
+ if (vnode.ctx.isUnmounted) hostRemove(el);
8510
+ else hostInsert(el, container, anchor);
8511
+ }, true, true);
8526
8512
  } else hostInsert(el, container, anchor);
8527
8513
  };
8528
8514
  const unmount = (vnode, parentComponent, parentSuspense, doRemove = false, optimized = false) => {
@@ -8756,13 +8742,15 @@ function performTransitionEnter(el, transition, insert, parentSuspense, force =
8756
8742
  function performTransitionLeave(el, transition, remove, isElement = true, force = false) {
8757
8743
  const performRemove = () => {
8758
8744
  remove();
8759
- if (transition && !transition.persisted && transition.afterLeave) transition.afterLeave();
8745
+ if (transition && (force || !transition.persisted) && transition.afterLeave) transition.afterLeave();
8760
8746
  };
8761
8747
  if (force || isElement && transition && !transition.persisted) {
8762
8748
  const { leave, delayLeave } = transition;
8763
8749
  const performLeave = () => {
8750
+ const wasLeaving = el._isLeaving || !!el[leaveCbKey];
8764
8751
  if (el._isLeaving && force) el[leaveCbKey](true);
8765
- leave(el, performRemove);
8752
+ if (force && transition.persisted && !wasLeaving) remove();
8753
+ else leave(el, performRemove);
8766
8754
  };
8767
8755
  if (delayLeave) delayLeave(el, performRemove, performLeave);
8768
8756
  else performLeave();
@@ -10093,7 +10081,7 @@ function isMemoSame(cached, memo) {
10093
10081
  }
10094
10082
  //#endregion
10095
10083
  //#region packages/runtime-core/src/index.ts
10096
- const version = "3.6.0-rc.6";
10084
+ const version = "3.6.0-rc.7";
10097
10085
  const warn = warn$1;
10098
10086
  /**
10099
10087
  * Runtime error messages. Only exposed in dev or esm builds.
@@ -11090,13 +11078,11 @@ var VueElementBase = class VueElementBase extends BaseClass {
11090
11078
  _renderSlots() {
11091
11079
  const outlets = this._getSlots();
11092
11080
  const scopeId = this._instance.type.__scopeId;
11093
- const slotReplacements = /* @__PURE__ */ new Map();
11094
11081
  for (let i = 0; i < outlets.length; i++) {
11095
11082
  const o = outlets[i];
11096
11083
  const slotName = o.getAttribute("name") || "default";
11097
11084
  const content = this._slots[slotName];
11098
11085
  const parent = o.parentNode;
11099
- const replacementNodes = [];
11100
11086
  if (content) for (const n of content) {
11101
11087
  if (scopeId && n.nodeType === 1) {
11102
11088
  const id = scopeId + "-s";
@@ -11106,20 +11092,10 @@ var VueElementBase = class VueElementBase extends BaseClass {
11106
11092
  while (child = walker.nextNode()) child.setAttribute(id, "");
11107
11093
  }
11108
11094
  parent.insertBefore(n, o);
11109
- replacementNodes.push(n);
11110
- }
11111
- else while (o.firstChild) {
11112
- const child = o.firstChild;
11113
- parent.insertBefore(child, o);
11114
- replacementNodes.push(child);
11115
11095
  }
11096
+ else while (o.firstChild) parent.insertBefore(o.firstChild, o);
11116
11097
  parent.removeChild(o);
11117
- slotReplacements.set(o, {
11118
- nodes: replacementNodes,
11119
- usedFallback: !content
11120
- });
11121
11098
  }
11122
- this._updateSlotNodes(slotReplacements);
11123
11099
  }
11124
11100
  /**
11125
11101
  * @internal
@@ -11158,7 +11134,7 @@ var VueElementBase = class VueElementBase extends BaseClass {
11158
11134
  * @internal
11159
11135
  */
11160
11136
  _hasShadowRoot() {
11161
- return this._def.shadowRoot !== false;
11137
+ return this._root !== this;
11162
11138
  }
11163
11139
  /**
11164
11140
  * @internal
@@ -11203,10 +11179,6 @@ var VueElement = class extends VueElementBase {
11203
11179
  if (this._instance && this._instance.ce) this._instance.ce = void 0;
11204
11180
  this._app = this._instance = null;
11205
11181
  }
11206
- /**
11207
- * Only called when shadowRoot is false
11208
- */
11209
- _updateSlotNodes(replacements) {}
11210
11182
  _createVNode() {
11211
11183
  const baseProps = {};
11212
11184
  if (!this.shadowRoot) baseProps.onVnodeMounted = baseProps.onVnodeUpdated = this._renderSlots.bind(this);