@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
  **/
@@ -4016,7 +4016,7 @@ function baseResolveTransitionHooks(context, props, state, instance) {
4016
4016
  else done();
4017
4017
  },
4018
4018
  clone(node) {
4019
- return cloneHooks(node);
4019
+ return cloneHooks ? cloneHooks(node) : hooks;
4020
4020
  }
4021
4021
  };
4022
4022
  return hooks;
@@ -4894,7 +4894,7 @@ function defineAsyncComponent(source) {
4894
4894
  name: "AsyncComponentWrapper",
4895
4895
  __asyncLoader: load,
4896
4896
  __asyncHydrate(el, instance, hydrate) {
4897
- performAsyncHydrate(el, instance, hydrate, getResolvedComp, load, hydrateStrategy);
4897
+ performAsyncHydrate(el, instance, hydrate, getResolvedComp, load, hydrateStrategy, true);
4898
4898
  },
4899
4899
  get __asyncResolved() {
4900
4900
  return getResolvedComp();
@@ -5013,10 +5013,10 @@ const useAsyncComponentState = (delay, timeout, onError, instance = currentInsta
5013
5013
  * shared between core and vapor
5014
5014
  * @internal
5015
5015
  */
5016
- function performAsyncHydrate(el, instance, hydrate, getResolvedComp, load, hydrateStrategy) {
5016
+ function performAsyncHydrate(el, instance, hydrate, getResolvedComp, load, hydrateStrategy, skipIfUpdated) {
5017
5017
  const wasConnected = el.isConnected;
5018
5018
  let patched = false;
5019
- (instance.bu || (instance.bu = [])).push(() => patched = true);
5019
+ if (skipIfUpdated) (instance.bu || (instance.bu = [])).push(() => patched = true);
5020
5020
  const performHydrate = () => {
5021
5021
  if (patched) {
5022
5022
  if (!!(process.env.NODE_ENV !== "production")) {
@@ -6626,7 +6626,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
6626
6626
  if (options.el) return vm.$mount(options.el);
6627
6627
  else return vm;
6628
6628
  }
6629
- Vue.version = `2.6.14-compat:3.6.0-rc.6`;
6629
+ Vue.version = `2.6.14-compat:3.6.0-rc.7`;
6630
6630
  Vue.config = singletonApp.config;
6631
6631
  Vue.use = (plugin, ...options) => {
6632
6632
  if (plugin && isFunction(plugin.install)) plugin.install(Vue, ...options);
@@ -8641,24 +8641,10 @@ function baseCreateRenderer(options, createHydrationFns) {
8641
8641
  }
8642
8642
  if (moveType !== 2 && shapeFlag & 1 && transition) {
8643
8643
  if (moveType === 0) performTransitionEnter(el, transition, () => hostInsert(el, container, anchor), parentSuspense, true);
8644
- else {
8645
- const { leave, delayLeave, afterLeave } = transition;
8646
- const remove = () => {
8647
- if (vnode.ctx.isUnmounted) hostRemove(el);
8648
- else hostInsert(el, container, anchor);
8649
- };
8650
- const performLeave = () => {
8651
- const wasLeaving = el._isLeaving || !!el[leaveCbKey];
8652
- if (el._isLeaving) el[leaveCbKey](true);
8653
- if (transition.persisted && !wasLeaving) remove();
8654
- else leave(el, () => {
8655
- remove();
8656
- afterLeave && afterLeave();
8657
- });
8658
- };
8659
- if (delayLeave) delayLeave(el, remove, performLeave);
8660
- else performLeave();
8661
- }
8644
+ else performTransitionLeave(el, transition, () => {
8645
+ if (vnode.ctx.isUnmounted) hostRemove(el);
8646
+ else hostInsert(el, container, anchor);
8647
+ }, true, true);
8662
8648
  } else hostInsert(el, container, anchor);
8663
8649
  };
8664
8650
  const unmount = (vnode, parentComponent, parentSuspense, doRemove = false, optimized = false) => {
@@ -8892,13 +8878,15 @@ function performTransitionEnter(el, transition, insert, parentSuspense, force =
8892
8878
  function performTransitionLeave(el, transition, remove, isElement = true, force = false) {
8893
8879
  const performRemove = () => {
8894
8880
  remove();
8895
- if (transition && !transition.persisted && transition.afterLeave) transition.afterLeave();
8881
+ if (transition && (force || !transition.persisted) && transition.afterLeave) transition.afterLeave();
8896
8882
  };
8897
8883
  if (force || isElement && transition && !transition.persisted) {
8898
8884
  const { leave, delayLeave } = transition;
8899
8885
  const performLeave = () => {
8886
+ const wasLeaving = el._isLeaving || !!el[leaveCbKey];
8900
8887
  if (el._isLeaving && force) el[leaveCbKey](true);
8901
- leave(el, performRemove);
8888
+ if (force && transition.persisted && !wasLeaving) remove();
8889
+ else leave(el, performRemove);
8902
8890
  };
8903
8891
  if (delayLeave) delayLeave(el, performRemove, performLeave);
8904
8892
  else performLeave();
@@ -10261,7 +10249,7 @@ function isMemoSame(cached, memo) {
10261
10249
  }
10262
10250
  //#endregion
10263
10251
  //#region packages/runtime-core/src/index.ts
10264
- const version = "3.6.0-rc.6";
10252
+ const version = "3.6.0-rc.7";
10265
10253
  const warn = !!(process.env.NODE_ENV !== "production") ? warn$1 : NOOP;
10266
10254
  /**
10267
10255
  * Runtime error messages. Only exposed in dev or esm builds.
@@ -11279,13 +11267,11 @@ var VueElementBase = class VueElementBase extends BaseClass {
11279
11267
  _renderSlots() {
11280
11268
  const outlets = this._getSlots();
11281
11269
  const scopeId = this._instance.type.__scopeId;
11282
- const slotReplacements = /* @__PURE__ */ new Map();
11283
11270
  for (let i = 0; i < outlets.length; i++) {
11284
11271
  const o = outlets[i];
11285
11272
  const slotName = o.getAttribute("name") || "default";
11286
11273
  const content = this._slots[slotName];
11287
11274
  const parent = o.parentNode;
11288
- const replacementNodes = [];
11289
11275
  if (content) for (const n of content) {
11290
11276
  if (scopeId && n.nodeType === 1) {
11291
11277
  const id = scopeId + "-s";
@@ -11295,20 +11281,10 @@ var VueElementBase = class VueElementBase extends BaseClass {
11295
11281
  while (child = walker.nextNode()) child.setAttribute(id, "");
11296
11282
  }
11297
11283
  parent.insertBefore(n, o);
11298
- replacementNodes.push(n);
11299
- }
11300
- else while (o.firstChild) {
11301
- const child = o.firstChild;
11302
- parent.insertBefore(child, o);
11303
- replacementNodes.push(child);
11304
11284
  }
11285
+ else while (o.firstChild) parent.insertBefore(o.firstChild, o);
11305
11286
  parent.removeChild(o);
11306
- slotReplacements.set(o, {
11307
- nodes: replacementNodes,
11308
- usedFallback: !content
11309
- });
11310
11287
  }
11311
- this._updateSlotNodes(slotReplacements);
11312
11288
  }
11313
11289
  /**
11314
11290
  * @internal
@@ -11347,7 +11323,7 @@ var VueElementBase = class VueElementBase extends BaseClass {
11347
11323
  * @internal
11348
11324
  */
11349
11325
  _hasShadowRoot() {
11350
- return this._def.shadowRoot !== false;
11326
+ return this._root !== this;
11351
11327
  }
11352
11328
  /**
11353
11329
  * @internal
@@ -11394,10 +11370,6 @@ var VueElement = class extends VueElementBase {
11394
11370
  if (this._instance && this._instance.ce) this._instance.ce = void 0;
11395
11371
  this._app = this._instance = null;
11396
11372
  }
11397
- /**
11398
- * Only called when shadowRoot is false
11399
- */
11400
- _updateSlotNodes(replacements) {}
11401
11373
  _createVNode() {
11402
11374
  const baseProps = {};
11403
11375
  if (!this.shadowRoot) baseProps.onVnodeMounted = baseProps.onVnodeUpdated = this._renderSlots.bind(this);
@@ -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
  **/
@@ -3972,7 +3972,7 @@ var Vue = (function() {
3972
3972
  else done();
3973
3973
  },
3974
3974
  clone(node) {
3975
- return cloneHooks(node);
3975
+ return cloneHooks ? cloneHooks(node) : hooks;
3976
3976
  }
3977
3977
  };
3978
3978
  return hooks;
@@ -4810,7 +4810,7 @@ var Vue = (function() {
4810
4810
  name: "AsyncComponentWrapper",
4811
4811
  __asyncLoader: load,
4812
4812
  __asyncHydrate(el, instance, hydrate) {
4813
- performAsyncHydrate(el, instance, hydrate, getResolvedComp, load, hydrateStrategy);
4813
+ performAsyncHydrate(el, instance, hydrate, getResolvedComp, load, hydrateStrategy, true);
4814
4814
  },
4815
4815
  get __asyncResolved() {
4816
4816
  return getResolvedComp();
@@ -4929,10 +4929,10 @@ var Vue = (function() {
4929
4929
  * shared between core and vapor
4930
4930
  * @internal
4931
4931
  */
4932
- function performAsyncHydrate(el, instance, hydrate, getResolvedComp, load, hydrateStrategy) {
4932
+ function performAsyncHydrate(el, instance, hydrate, getResolvedComp, load, hydrateStrategy, skipIfUpdated) {
4933
4933
  const wasConnected = el.isConnected;
4934
4934
  let patched = false;
4935
- (instance.bu || (instance.bu = [])).push(() => patched = true);
4935
+ if (skipIfUpdated) (instance.bu || (instance.bu = [])).push(() => patched = true);
4936
4936
  const performHydrate = () => {
4937
4937
  if (patched) {
4938
4938
  {
@@ -6536,7 +6536,7 @@ var Vue = (function() {
6536
6536
  if (options.el) return vm.$mount(options.el);
6537
6537
  else return vm;
6538
6538
  }
6539
- Vue.version = `2.6.14-compat:3.6.0-rc.6`;
6539
+ Vue.version = `2.6.14-compat:3.6.0-rc.7`;
6540
6540
  Vue.config = singletonApp.config;
6541
6541
  Vue.use = (plugin, ...options) => {
6542
6542
  if (plugin && isFunction(plugin.install)) plugin.install(Vue, ...options);
@@ -8502,24 +8502,10 @@ var Vue = (function() {
8502
8502
  }
8503
8503
  if (moveType !== 2 && shapeFlag & 1 && transition) {
8504
8504
  if (moveType === 0) performTransitionEnter(el, transition, () => hostInsert(el, container, anchor), parentSuspense, true);
8505
- else {
8506
- const { leave, delayLeave, afterLeave } = transition;
8507
- const remove = () => {
8508
- if (vnode.ctx.isUnmounted) hostRemove(el);
8509
- else hostInsert(el, container, anchor);
8510
- };
8511
- const performLeave = () => {
8512
- const wasLeaving = el._isLeaving || !!el[leaveCbKey];
8513
- if (el._isLeaving) el[leaveCbKey](true);
8514
- if (transition.persisted && !wasLeaving) remove();
8515
- else leave(el, () => {
8516
- remove();
8517
- afterLeave && afterLeave();
8518
- });
8519
- };
8520
- if (delayLeave) delayLeave(el, remove, performLeave);
8521
- else performLeave();
8522
- }
8505
+ else performTransitionLeave(el, transition, () => {
8506
+ if (vnode.ctx.isUnmounted) hostRemove(el);
8507
+ else hostInsert(el, container, anchor);
8508
+ }, true, true);
8523
8509
  } else hostInsert(el, container, anchor);
8524
8510
  };
8525
8511
  const unmount = (vnode, parentComponent, parentSuspense, doRemove = false, optimized = false) => {
@@ -8753,13 +8739,15 @@ var Vue = (function() {
8753
8739
  function performTransitionLeave(el, transition, remove, isElement = true, force = false) {
8754
8740
  const performRemove = () => {
8755
8741
  remove();
8756
- if (transition && !transition.persisted && transition.afterLeave) transition.afterLeave();
8742
+ if (transition && (force || !transition.persisted) && transition.afterLeave) transition.afterLeave();
8757
8743
  };
8758
8744
  if (force || isElement && transition && !transition.persisted) {
8759
8745
  const { leave, delayLeave } = transition;
8760
8746
  const performLeave = () => {
8747
+ const wasLeaving = el._isLeaving || !!el[leaveCbKey];
8761
8748
  if (el._isLeaving && force) el[leaveCbKey](true);
8762
- leave(el, performRemove);
8749
+ if (force && transition.persisted && !wasLeaving) remove();
8750
+ else leave(el, performRemove);
8763
8751
  };
8764
8752
  if (delayLeave) delayLeave(el, performRemove, performLeave);
8765
8753
  else performLeave();
@@ -10090,7 +10078,7 @@ var Vue = (function() {
10090
10078
  }
10091
10079
  //#endregion
10092
10080
  //#region packages/runtime-core/src/index.ts
10093
- const version = "3.6.0-rc.6";
10081
+ const version = "3.6.0-rc.7";
10094
10082
  const warn = warn$1;
10095
10083
  /**
10096
10084
  * Runtime error messages. Only exposed in dev or esm builds.
@@ -11082,13 +11070,11 @@ var Vue = (function() {
11082
11070
  _renderSlots() {
11083
11071
  const outlets = this._getSlots();
11084
11072
  const scopeId = this._instance.type.__scopeId;
11085
- const slotReplacements = /* @__PURE__ */ new Map();
11086
11073
  for (let i = 0; i < outlets.length; i++) {
11087
11074
  const o = outlets[i];
11088
11075
  const slotName = o.getAttribute("name") || "default";
11089
11076
  const content = this._slots[slotName];
11090
11077
  const parent = o.parentNode;
11091
- const replacementNodes = [];
11092
11078
  if (content) for (const n of content) {
11093
11079
  if (scopeId && n.nodeType === 1) {
11094
11080
  const id = scopeId + "-s";
@@ -11098,20 +11084,10 @@ var Vue = (function() {
11098
11084
  while (child = walker.nextNode()) child.setAttribute(id, "");
11099
11085
  }
11100
11086
  parent.insertBefore(n, o);
11101
- replacementNodes.push(n);
11102
- }
11103
- else while (o.firstChild) {
11104
- const child = o.firstChild;
11105
- parent.insertBefore(child, o);
11106
- replacementNodes.push(child);
11107
11087
  }
11088
+ else while (o.firstChild) parent.insertBefore(o.firstChild, o);
11108
11089
  parent.removeChild(o);
11109
- slotReplacements.set(o, {
11110
- nodes: replacementNodes,
11111
- usedFallback: !content
11112
- });
11113
11090
  }
11114
- this._updateSlotNodes(slotReplacements);
11115
11091
  }
11116
11092
  /**
11117
11093
  * @internal
@@ -11150,7 +11126,7 @@ var Vue = (function() {
11150
11126
  * @internal
11151
11127
  */
11152
11128
  _hasShadowRoot() {
11153
- return this._def.shadowRoot !== false;
11129
+ return this._root !== this;
11154
11130
  }
11155
11131
  /**
11156
11132
  * @internal
@@ -11195,10 +11171,6 @@ var Vue = (function() {
11195
11171
  if (this._instance && this._instance.ce) this._instance.ce = void 0;
11196
11172
  this._app = this._instance = null;
11197
11173
  }
11198
- /**
11199
- * Only called when shadowRoot is false
11200
- */
11201
- _updateSlotNodes(replacements) {}
11202
11174
  _createVNode() {
11203
11175
  const baseProps = {};
11204
11176
  if (!this.shadowRoot) baseProps.onVnodeMounted = baseProps.onVnodeUpdated = this._renderSlots.bind(this);