vue 3.6.0-rc.6 → 3.6.0-rc.8

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.8
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.8
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
package/dist/vue.d.mts CHANGED
@@ -1,9 +1,9 @@
1
1
  import { CompilerOptions } from "@vue/compiler-dom";
2
2
  import { RenderFunction, defineAsyncComponent as defineVaporAsyncComponent$1 } from "@vue/runtime-dom";
3
- import { VaporSlot, defineVaporAsyncComponent, withAsyncContext } from "@vue/runtime-vapor";
3
+ import { VaporSlot, defineVaporAsyncComponent } from "@vue/runtime-vapor";
4
4
  export * from "@vue/runtime-dom";
5
5
  export * from "@vue/runtime-vapor";
6
6
  //#region temp/packages/vue/src/index.d.ts
7
7
  export declare function compileToFunction(template: string | HTMLElement, options?: CompilerOptions): RenderFunction;
8
8
  //#endregion
9
- export { type VaporSlot, compileToFunction as compile, defineVaporAsyncComponent, withAsyncContext };
9
+ export { type VaporSlot, compileToFunction as compile, defineVaporAsyncComponent };
package/dist/vue.d.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  import { CompilerOptions } from "@vue/compiler-dom";
2
2
  import { RenderFunction, defineAsyncComponent as defineVaporAsyncComponent$1 } from "@vue/runtime-dom";
3
- import { VaporSlot, defineVaporAsyncComponent, withAsyncContext } from "@vue/runtime-vapor";
3
+ import { VaporSlot, defineVaporAsyncComponent } from "@vue/runtime-vapor";
4
4
  export * from "@vue/runtime-dom";
5
5
  export * from "@vue/runtime-vapor";
6
6
  //#region temp/packages/vue/src/index.d.ts
7
7
  export declare function compileToFunction(template: string | HTMLElement, options?: CompilerOptions): RenderFunction;
8
8
  //#endregion
9
- export { type VaporSlot, compileToFunction as compile, defineVaporAsyncComponent, withAsyncContext };
9
+ export { type VaporSlot, compileToFunction as compile, defineVaporAsyncComponent };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * vue v3.6.0-rc.6
2
+ * vue v3.6.0-rc.8
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -539,6 +539,8 @@ function setupFlagsHandler(target) {
539
539
  function warn$2(msg, ...args) {
540
540
  console.warn(`[Vue warn] ${msg}`, ...args);
541
541
  }
542
+ //#endregion
543
+ //#region packages/reactivity/src/system.ts
542
544
  const notifyBuffer = [];
543
545
  let batchDepth = 0;
544
546
  let activeSub = void 0;
@@ -3621,7 +3623,7 @@ function baseResolveTransitionHooks(context, props, state, instance) {
3621
3623
  else done();
3622
3624
  },
3623
3625
  clone(node) {
3624
- return cloneHooks(node);
3626
+ return cloneHooks ? cloneHooks(node) : hooks;
3625
3627
  }
3626
3628
  };
3627
3629
  return hooks;
@@ -4459,7 +4461,7 @@ function defineAsyncComponent(source) {
4459
4461
  name: "AsyncComponentWrapper",
4460
4462
  __asyncLoader: load,
4461
4463
  __asyncHydrate(el, instance, hydrate) {
4462
- performAsyncHydrate(el, instance, hydrate, getResolvedComp, load, hydrateStrategy);
4464
+ performAsyncHydrate(el, instance, hydrate, getResolvedComp, load, hydrateStrategy, true);
4463
4465
  },
4464
4466
  get __asyncResolved() {
4465
4467
  return getResolvedComp();
@@ -4578,10 +4580,10 @@ const useAsyncComponentState = (delay, timeout, onError, instance = currentInsta
4578
4580
  * shared between core and vapor
4579
4581
  * @internal
4580
4582
  */
4581
- function performAsyncHydrate(el, instance, hydrate, getResolvedComp, load, hydrateStrategy) {
4583
+ function performAsyncHydrate(el, instance, hydrate, getResolvedComp, load, hydrateStrategy, skipIfUpdated) {
4582
4584
  const wasConnected = el.isConnected;
4583
4585
  let patched = false;
4584
- (instance.bu || (instance.bu = [])).push(() => patched = true);
4586
+ if (skipIfUpdated) (instance.bu || (instance.bu = [])).push(() => patched = true);
4585
4587
  const performHydrate = () => {
4586
4588
  if (patched) {
4587
4589
  {
@@ -5420,37 +5422,32 @@ function createPropsRestProxy(props, excludedKeys) {
5420
5422
  function withAsyncContext(getAwaitable) {
5421
5423
  const ctx = getCurrentGenericInstance();
5422
5424
  const inSSRSetup = isInSSRComponentSetup;
5423
- const restoreAsyncContext = ctx && ctx.restoreAsyncContext ? ctx.restoreAsyncContext.bind(ctx) : void 0;
5424
5425
  if (!ctx) warn$1("withAsyncContext called without active current instance. This is likely a bug.");
5425
5426
  let awaitable = getAwaitable();
5426
5427
  setCurrentInstance(null, void 0);
5427
5428
  if (inSSRSetup) setInSSRSetupState(false);
5428
5429
  const restore = () => {
5429
- const resetStoppedScope = ctx && !ctx.scope.active ? ctx.scope : void 0;
5430
+ const stoppedScope = ctx && !ctx.scope.active ? ctx.scope : void 0;
5430
5431
  setCurrentInstance(ctx);
5431
5432
  if (inSSRSetup) setInSSRSetupState(true);
5432
- const reset = restoreAsyncContext && restoreAsyncContext();
5433
- return () => {
5434
- if (reset) reset();
5435
- if (resetStoppedScope) resetStoppedScope.reset();
5436
- };
5433
+ return stoppedScope;
5437
5434
  };
5438
5435
  const cleanup = () => {
5439
5436
  setCurrentInstance(null, void 0);
5440
5437
  if (inSSRSetup) setInSSRSetupState(false);
5441
5438
  };
5442
5439
  if (isPromise(awaitable)) awaitable = awaitable.catch((e) => {
5443
- const reset = restore();
5440
+ const stoppedScope = restore();
5444
5441
  Promise.resolve().then(() => Promise.resolve().then(() => {
5445
- if (reset) reset();
5442
+ if (stoppedScope) stoppedScope.reset();
5446
5443
  cleanup();
5447
5444
  }));
5448
5445
  throw e;
5449
5446
  });
5450
5447
  return [awaitable, () => {
5451
- const reset = restore();
5448
+ const stoppedScope = restore();
5452
5449
  Promise.resolve().then(() => {
5453
- if (reset) reset();
5450
+ if (stoppedScope) stoppedScope.reset();
5454
5451
  cleanup();
5455
5452
  });
5456
5453
  }];
@@ -7284,24 +7281,10 @@ function baseCreateRenderer(options, createHydrationFns) {
7284
7281
  }
7285
7282
  if (moveType !== 2 && shapeFlag & 1 && transition) {
7286
7283
  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
- }
7284
+ else performTransitionLeave(el, transition, () => {
7285
+ if (vnode.ctx.isUnmounted) hostRemove(el);
7286
+ else hostInsert(el, container, anchor);
7287
+ }, true, true);
7305
7288
  } else hostInsert(el, container, anchor);
7306
7289
  };
7307
7290
  const unmount = (vnode, parentComponent, parentSuspense, doRemove = false, optimized = false) => {
@@ -7533,13 +7516,15 @@ function performTransitionEnter(el, transition, insert, parentSuspense, force =
7533
7516
  function performTransitionLeave(el, transition, remove, isElement = true, force = false) {
7534
7517
  const performRemove = () => {
7535
7518
  remove();
7536
- if (transition && !transition.persisted && transition.afterLeave) transition.afterLeave();
7519
+ if (transition && (force || !transition.persisted) && transition.afterLeave) transition.afterLeave();
7537
7520
  };
7538
7521
  if (force || isElement && transition && !transition.persisted) {
7539
7522
  const { leave, delayLeave } = transition;
7540
7523
  const performLeave = () => {
7524
+ const wasLeaving = el._isLeaving || !!el[leaveCbKey];
7541
7525
  if (el._isLeaving && force) el[leaveCbKey](true);
7542
- leave(el, performRemove);
7526
+ if (force && transition.persisted && !wasLeaving) remove();
7527
+ else leave(el, performRemove);
7543
7528
  };
7544
7529
  if (delayLeave) delayLeave(el, performRemove, performLeave);
7545
7530
  else performLeave();
@@ -8822,7 +8807,7 @@ function isMemoSame(cached, memo) {
8822
8807
  }
8823
8808
  //#endregion
8824
8809
  //#region packages/runtime-core/src/index.ts
8825
- const version = "3.6.0-rc.6";
8810
+ const version = "3.6.0-rc.8";
8826
8811
  const warn = warn$1;
8827
8812
  /**
8828
8813
  * Runtime error messages. Only exposed in dev or esm builds.
@@ -9769,13 +9754,11 @@ var VueElementBase = class VueElementBase extends BaseClass {
9769
9754
  _renderSlots() {
9770
9755
  const outlets = this._getSlots();
9771
9756
  const scopeId = this._instance.type.__scopeId;
9772
- const slotReplacements = /* @__PURE__ */ new Map();
9773
9757
  for (let i = 0; i < outlets.length; i++) {
9774
9758
  const o = outlets[i];
9775
9759
  const slotName = o.getAttribute("name") || "default";
9776
9760
  const content = this._slots[slotName];
9777
9761
  const parent = o.parentNode;
9778
- const replacementNodes = [];
9779
9762
  if (content) for (const n of content) {
9780
9763
  if (scopeId && n.nodeType === 1) {
9781
9764
  const id = scopeId + "-s";
@@ -9785,20 +9768,10 @@ var VueElementBase = class VueElementBase extends BaseClass {
9785
9768
  while (child = walker.nextNode()) child.setAttribute(id, "");
9786
9769
  }
9787
9770
  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
9771
  }
9772
+ else while (o.firstChild) parent.insertBefore(o.firstChild, o);
9795
9773
  parent.removeChild(o);
9796
- slotReplacements.set(o, {
9797
- nodes: replacementNodes,
9798
- usedFallback: !content
9799
- });
9800
9774
  }
9801
- this._updateSlotNodes(slotReplacements);
9802
9775
  }
9803
9776
  /**
9804
9777
  * @internal
@@ -9837,7 +9810,7 @@ var VueElementBase = class VueElementBase extends BaseClass {
9837
9810
  * @internal
9838
9811
  */
9839
9812
  _hasShadowRoot() {
9840
- return this._def.shadowRoot !== false;
9813
+ return this._root !== this;
9841
9814
  }
9842
9815
  /**
9843
9816
  * @internal
@@ -9882,10 +9855,6 @@ var VueElement = class extends VueElementBase {
9882
9855
  if (this._instance && this._instance.ce) this._instance.ce = void 0;
9883
9856
  this._app = this._instance = null;
9884
9857
  }
9885
- /**
9886
- * Only called when shadowRoot is false
9887
- */
9888
- _updateSlotNodes(replacements) {}
9889
9858
  _createVNode() {
9890
9859
  const baseProps = {};
9891
9860
  if (!this.shadowRoot) baseProps.onVnodeMounted = baseProps.onVnodeUpdated = this._renderSlots.bind(this);