@vue/runtime-core 3.4.29 → 3.4.30

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-core v3.4.29
2
+ * @vue/runtime-core v3.4.30
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -1228,7 +1228,6 @@ const SuspenseImpl = {
1228
1228
  }
1229
1229
  },
1230
1230
  hydrate: hydrateSuspense,
1231
- create: createSuspenseBoundary,
1232
1231
  normalize: normalizeSuspenseChildren
1233
1232
  };
1234
1233
  const Suspense = SuspenseImpl ;
@@ -3786,18 +3785,8 @@ function createHydrationFunctions(rendererInternals) {
3786
3785
  let domType = node.nodeType;
3787
3786
  vnode.el = node;
3788
3787
  {
3789
- if (!("__vnode" in node)) {
3790
- Object.defineProperty(node, "__vnode", {
3791
- value: vnode,
3792
- enumerable: false
3793
- });
3794
- }
3795
- if (!("__vueParentComponent" in node)) {
3796
- Object.defineProperty(node, "__vueParentComponent", {
3797
- value: parentComponent,
3798
- enumerable: false
3799
- });
3800
- }
3788
+ shared.def(node, "__vnode", vnode, true);
3789
+ shared.def(node, "__vueParentComponent", parentComponent, true);
3801
3790
  }
3802
3791
  if (patchFlag === -2) {
3803
3792
  optimized = false;
@@ -4020,7 +4009,9 @@ Server rendered element contains more child nodes than client vdom.`
4020
4009
  if (props) {
4021
4010
  {
4022
4011
  for (const key in props) {
4023
- if (propHasMismatch(el, key, props[key], vnode, parentComponent)) {
4012
+ if (// #11189 skip if this node has directives that have created hooks
4013
+ // as it could have mutated the DOM in any possible way
4014
+ !(dirs && dirs.some((d) => d.dir.created)) && propHasMismatch(el, key, props[key], vnode, parentComponent)) {
4024
4015
  logMismatchError();
4025
4016
  }
4026
4017
  if (forcePatch && (key.endsWith("value") || key === "indeterminate") || shared.isOn(key) && !shared.isReservedProp(key) || // force hydrate v-bind with .prop modifiers
@@ -4195,7 +4186,6 @@ Server rendered element contains fewer child nodes than client vdom.`
4195
4186
  return [hydrate, hydrateNode];
4196
4187
  }
4197
4188
  function propHasMismatch(el, key, clientValue, vnode, instance) {
4198
- var _a;
4199
4189
  let mismatchType;
4200
4190
  let mismatchKey;
4201
4191
  let actual;
@@ -4218,13 +4208,8 @@ function propHasMismatch(el, key, clientValue, vnode, instance) {
4218
4208
  }
4219
4209
  }
4220
4210
  }
4221
- const root = instance == null ? void 0 : instance.subTree;
4222
- if (vnode === root || // eslint-disable-next-line no-restricted-syntax
4223
- (root == null ? void 0 : root.type) === Fragment && root.children.includes(vnode)) {
4224
- const cssVars = (_a = instance == null ? void 0 : instance.getCssVars) == null ? void 0 : _a.call(instance);
4225
- for (const key2 in cssVars) {
4226
- expectedMap.set(`--${key2}`, String(cssVars[key2]));
4227
- }
4211
+ if (instance) {
4212
+ resolveCssVars(instance, vnode, expectedMap);
4228
4213
  }
4229
4214
  if (!isMapEqual(actualMap, expectedMap)) {
4230
4215
  mismatchType = mismatchKey = "style";
@@ -4284,8 +4269,8 @@ function toStyleMap(str) {
4284
4269
  const styleMap = /* @__PURE__ */ new Map();
4285
4270
  for (const item of str.split(";")) {
4286
4271
  let [key, value] = item.split(":");
4287
- key = key == null ? void 0 : key.trim();
4288
- value = value == null ? void 0 : value.trim();
4272
+ key = key.trim();
4273
+ value = value && value.trim();
4289
4274
  if (key && value) {
4290
4275
  styleMap.set(key, value);
4291
4276
  }
@@ -4303,6 +4288,18 @@ function isMapEqual(a, b) {
4303
4288
  }
4304
4289
  return true;
4305
4290
  }
4291
+ function resolveCssVars(instance, vnode, expectedMap) {
4292
+ const root = instance.subTree;
4293
+ if (instance.getCssVars && (vnode === root || root && root.type === Fragment && root.children.includes(vnode))) {
4294
+ const cssVars = instance.getCssVars();
4295
+ for (const key in cssVars) {
4296
+ expectedMap.set(`--${key}`, String(cssVars[key]));
4297
+ }
4298
+ }
4299
+ if (vnode === root && instance.parent) {
4300
+ resolveCssVars(instance.parent, instance.vnode, expectedMap);
4301
+ }
4302
+ }
4306
4303
 
4307
4304
  let supported;
4308
4305
  let perf;
@@ -4620,14 +4617,8 @@ function baseCreateRenderer(options, createHydrationFns) {
4620
4617
  }
4621
4618
  }
4622
4619
  {
4623
- Object.defineProperty(el, "__vnode", {
4624
- value: vnode,
4625
- enumerable: false
4626
- });
4627
- Object.defineProperty(el, "__vueParentComponent", {
4628
- value: parentComponent,
4629
- enumerable: false
4630
- });
4620
+ shared.def(el, "__vnode", vnode, true);
4621
+ shared.def(el, "__vueParentComponent", parentComponent, true);
4631
4622
  }
4632
4623
  if (dirs) {
4633
4624
  invokeDirectiveHook(vnode, null, parentComponent, "beforeMount");
@@ -4689,6 +4680,9 @@ function baseCreateRenderer(options, createHydrationFns) {
4689
4680
  };
4690
4681
  const patchElement = (n1, n2, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {
4691
4682
  const el = n2.el = n1.el;
4683
+ {
4684
+ el.__vnode = n2;
4685
+ }
4692
4686
  let { patchFlag, dynamicChildren, dirs } = n2;
4693
4687
  patchFlag |= n1.patchFlag & 16;
4694
4688
  const oldProps = n1.props || shared.EMPTY_OBJ;
@@ -5583,6 +5577,9 @@ function baseCreateRenderer(options, createHydrationFns) {
5583
5577
  dirs,
5584
5578
  memoIndex
5585
5579
  } = vnode;
5580
+ if (patchFlag === -2) {
5581
+ optimized = false;
5582
+ }
5586
5583
  if (ref != null) {
5587
5584
  setRef(ref, null, parentSuspense, vnode, true);
5588
5585
  }
@@ -5614,7 +5611,6 @@ function baseCreateRenderer(options, createHydrationFns) {
5614
5611
  vnode,
5615
5612
  parentComponent,
5616
5613
  parentSuspense,
5617
- optimized,
5618
5614
  internals,
5619
5615
  doRemove
5620
5616
  );
@@ -6916,7 +6912,7 @@ const TeleportImpl = {
6916
6912
  }
6917
6913
  updateCssVars(n2);
6918
6914
  },
6919
- remove(vnode, parentComponent, parentSuspense, optimized, { um: unmount, o: { remove: hostRemove } }, doRemove) {
6915
+ remove(vnode, parentComponent, parentSuspense, { um: unmount, o: { remove: hostRemove } }, doRemove) {
6920
6916
  const { shapeFlag, children, anchor, targetAnchor, target, props } = vnode;
6921
6917
  if (target) {
6922
6918
  hostRemove(targetAnchor);
@@ -8102,7 +8098,7 @@ function isMemoSame(cached, memo) {
8102
8098
  return true;
8103
8099
  }
8104
8100
 
8105
- const version = "3.4.29";
8101
+ const version = "3.4.30";
8106
8102
  const warn = warn$1 ;
8107
8103
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
8108
8104
  const devtools = devtools$1 ;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/runtime-core v3.4.29
2
+ * @vue/runtime-core v3.4.30
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -709,7 +709,6 @@ const SuspenseImpl = {
709
709
  }
710
710
  },
711
711
  hydrate: hydrateSuspense,
712
- create: createSuspenseBoundary,
713
712
  normalize: normalizeSuspenseChildren
714
713
  };
715
714
  const Suspense = SuspenseImpl ;
@@ -4235,6 +4234,9 @@ function baseCreateRenderer(options, createHydrationFns) {
4235
4234
  dirs,
4236
4235
  memoIndex
4237
4236
  } = vnode;
4237
+ if (patchFlag === -2) {
4238
+ optimized = false;
4239
+ }
4238
4240
  if (ref != null) {
4239
4241
  setRef(ref, null, parentSuspense, vnode, true);
4240
4242
  }
@@ -4266,7 +4268,6 @@ function baseCreateRenderer(options, createHydrationFns) {
4266
4268
  vnode,
4267
4269
  parentComponent,
4268
4270
  parentSuspense,
4269
- optimized,
4270
4271
  internals,
4271
4272
  doRemove
4272
4273
  );
@@ -5457,7 +5458,7 @@ const TeleportImpl = {
5457
5458
  }
5458
5459
  updateCssVars(n2);
5459
5460
  },
5460
- remove(vnode, parentComponent, parentSuspense, optimized, { um: unmount, o: { remove: hostRemove } }, doRemove) {
5461
+ remove(vnode, parentComponent, parentSuspense, { um: unmount, o: { remove: hostRemove } }, doRemove) {
5461
5462
  const { shapeFlag, children, anchor, targetAnchor, target, props } = vnode;
5462
5463
  if (target) {
5463
5464
  hostRemove(targetAnchor);
@@ -6287,7 +6288,7 @@ function isMemoSame(cached, memo) {
6287
6288
  return true;
6288
6289
  }
6289
6290
 
6290
- const version = "3.4.29";
6291
+ const version = "3.4.30";
6291
6292
  const warn$1 = shared.NOOP;
6292
6293
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
6293
6294
  const devtools = void 0;
@@ -165,7 +165,6 @@ declare const SuspenseImpl: {
165
165
  __isSuspense: boolean;
166
166
  process(n1: VNode | null, n2: VNode, container: RendererElement, anchor: RendererNode | null, parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null, namespace: ElementNamespace, slotScopeIds: string[] | null, optimized: boolean, rendererInternals: RendererInternals): void;
167
167
  hydrate: typeof hydrateSuspense;
168
- create: typeof createSuspenseBoundary;
169
168
  normalize: typeof normalizeSuspenseChildren;
170
169
  };
171
170
  export declare const Suspense: {
@@ -201,7 +200,6 @@ export interface SuspenseBoundary {
201
200
  registerDep(instance: ComponentInternalInstance, setupRenderEffect: SetupRenderEffectFn, optimized: boolean): void;
202
201
  unmount(parentSuspense: SuspenseBoundary | null, doRemove?: boolean): void;
203
202
  }
204
- declare function createSuspenseBoundary(vnode: VNode, parentSuspense: SuspenseBoundary | null, parentComponent: ComponentInternalInstance | null, container: RendererElement, hiddenContainer: RendererElement, anchor: RendererNode | null, namespace: ElementNamespace, slotScopeIds: string[] | null, optimized: boolean, rendererInternals: RendererInternals, isHydrating?: boolean): SuspenseBoundary;
205
203
  declare function hydrateSuspense(node: Node, vnode: VNode, parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null, namespace: ElementNamespace, slotScopeIds: string[] | null, optimized: boolean, rendererInternals: RendererInternals, hydrateNode: (node: Node, vnode: VNode, parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null, slotScopeIds: string[] | null, optimized: boolean) => Node | null): Node | null;
206
204
  declare function normalizeSuspenseChildren(vnode: VNode): void;
207
205
 
@@ -840,7 +838,7 @@ declare const TeleportImpl: {
840
838
  name: string;
841
839
  __isTeleport: boolean;
842
840
  process(n1: TeleportVNode | null, n2: TeleportVNode, container: RendererElement, anchor: RendererNode | null, parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null, namespace: ElementNamespace, slotScopeIds: string[] | null, optimized: boolean, internals: RendererInternals): void;
843
- remove(vnode: VNode, parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null, optimized: boolean, { um: unmount, o: { remove: hostRemove } }: RendererInternals, doRemove: boolean): void;
841
+ remove(vnode: VNode, parentComponent: ComponentInternalInstance | null, parentSuspense: SuspenseBoundary | null, { um: unmount, o: { remove: hostRemove } }: RendererInternals, doRemove: boolean): void;
844
842
  move: typeof moveTeleport;
845
843
  hydrate: typeof hydrateTeleport;
846
844
  };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/runtime-core v3.4.29
2
+ * @vue/runtime-core v3.4.30
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -1229,7 +1229,6 @@ const SuspenseImpl = {
1229
1229
  }
1230
1230
  },
1231
1231
  hydrate: hydrateSuspense,
1232
- create: createSuspenseBoundary,
1233
1232
  normalize: normalizeSuspenseChildren
1234
1233
  };
1235
1234
  const Suspense = SuspenseImpl ;
@@ -3791,18 +3790,8 @@ function createHydrationFunctions(rendererInternals) {
3791
3790
  let domType = node.nodeType;
3792
3791
  vnode.el = node;
3793
3792
  if (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_DEVTOOLS__) {
3794
- if (!("__vnode" in node)) {
3795
- Object.defineProperty(node, "__vnode", {
3796
- value: vnode,
3797
- enumerable: false
3798
- });
3799
- }
3800
- if (!("__vueParentComponent" in node)) {
3801
- Object.defineProperty(node, "__vueParentComponent", {
3802
- value: parentComponent,
3803
- enumerable: false
3804
- });
3805
- }
3793
+ def(node, "__vnode", vnode, true);
3794
+ def(node, "__vueParentComponent", parentComponent, true);
3806
3795
  }
3807
3796
  if (patchFlag === -2) {
3808
3797
  optimized = false;
@@ -4025,7 +4014,9 @@ Server rendered element contains more child nodes than client vdom.`
4025
4014
  if (props) {
4026
4015
  if (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__ || forcePatch || !optimized || patchFlag & (16 | 32)) {
4027
4016
  for (const key in props) {
4028
- if ((!!(process.env.NODE_ENV !== "production") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && propHasMismatch(el, key, props[key], vnode, parentComponent)) {
4017
+ if ((!!(process.env.NODE_ENV !== "production") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && // #11189 skip if this node has directives that have created hooks
4018
+ // as it could have mutated the DOM in any possible way
4019
+ !(dirs && dirs.some((d) => d.dir.created)) && propHasMismatch(el, key, props[key], vnode, parentComponent)) {
4029
4020
  logMismatchError();
4030
4021
  }
4031
4022
  if (forcePatch && (key.endsWith("value") || key === "indeterminate") || isOn(key) && !isReservedProp(key) || // force hydrate v-bind with .prop modifiers
@@ -4210,7 +4201,6 @@ Server rendered element contains fewer child nodes than client vdom.`
4210
4201
  return [hydrate, hydrateNode];
4211
4202
  }
4212
4203
  function propHasMismatch(el, key, clientValue, vnode, instance) {
4213
- var _a;
4214
4204
  let mismatchType;
4215
4205
  let mismatchKey;
4216
4206
  let actual;
@@ -4233,13 +4223,8 @@ function propHasMismatch(el, key, clientValue, vnode, instance) {
4233
4223
  }
4234
4224
  }
4235
4225
  }
4236
- const root = instance == null ? void 0 : instance.subTree;
4237
- if (vnode === root || // eslint-disable-next-line no-restricted-syntax
4238
- (root == null ? void 0 : root.type) === Fragment && root.children.includes(vnode)) {
4239
- const cssVars = (_a = instance == null ? void 0 : instance.getCssVars) == null ? void 0 : _a.call(instance);
4240
- for (const key2 in cssVars) {
4241
- expectedMap.set(`--${key2}`, String(cssVars[key2]));
4242
- }
4226
+ if (instance) {
4227
+ resolveCssVars(instance, vnode, expectedMap);
4243
4228
  }
4244
4229
  if (!isMapEqual(actualMap, expectedMap)) {
4245
4230
  mismatchType = mismatchKey = "style";
@@ -4299,8 +4284,8 @@ function toStyleMap(str) {
4299
4284
  const styleMap = /* @__PURE__ */ new Map();
4300
4285
  for (const item of str.split(";")) {
4301
4286
  let [key, value] = item.split(":");
4302
- key = key == null ? void 0 : key.trim();
4303
- value = value == null ? void 0 : value.trim();
4287
+ key = key.trim();
4288
+ value = value && value.trim();
4304
4289
  if (key && value) {
4305
4290
  styleMap.set(key, value);
4306
4291
  }
@@ -4318,6 +4303,18 @@ function isMapEqual(a, b) {
4318
4303
  }
4319
4304
  return true;
4320
4305
  }
4306
+ function resolveCssVars(instance, vnode, expectedMap) {
4307
+ const root = instance.subTree;
4308
+ if (instance.getCssVars && (vnode === root || root && root.type === Fragment && root.children.includes(vnode))) {
4309
+ const cssVars = instance.getCssVars();
4310
+ for (const key in cssVars) {
4311
+ expectedMap.set(`--${key}`, String(cssVars[key]));
4312
+ }
4313
+ }
4314
+ if (vnode === root && instance.parent) {
4315
+ resolveCssVars(instance.parent, instance.vnode, expectedMap);
4316
+ }
4317
+ }
4321
4318
 
4322
4319
  let supported;
4323
4320
  let perf;
@@ -4662,14 +4659,8 @@ function baseCreateRenderer(options, createHydrationFns) {
4662
4659
  }
4663
4660
  }
4664
4661
  if (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_DEVTOOLS__) {
4665
- Object.defineProperty(el, "__vnode", {
4666
- value: vnode,
4667
- enumerable: false
4668
- });
4669
- Object.defineProperty(el, "__vueParentComponent", {
4670
- value: parentComponent,
4671
- enumerable: false
4672
- });
4662
+ def(el, "__vnode", vnode, true);
4663
+ def(el, "__vueParentComponent", parentComponent, true);
4673
4664
  }
4674
4665
  if (dirs) {
4675
4666
  invokeDirectiveHook(vnode, null, parentComponent, "beforeMount");
@@ -4731,6 +4722,9 @@ function baseCreateRenderer(options, createHydrationFns) {
4731
4722
  };
4732
4723
  const patchElement = (n1, n2, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {
4733
4724
  const el = n2.el = n1.el;
4725
+ if (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_DEVTOOLS__) {
4726
+ el.__vnode = n2;
4727
+ }
4734
4728
  let { patchFlag, dynamicChildren, dirs } = n2;
4735
4729
  patchFlag |= n1.patchFlag & 16;
4736
4730
  const oldProps = n1.props || EMPTY_OBJ;
@@ -5636,6 +5630,9 @@ function baseCreateRenderer(options, createHydrationFns) {
5636
5630
  dirs,
5637
5631
  memoIndex
5638
5632
  } = vnode;
5633
+ if (patchFlag === -2) {
5634
+ optimized = false;
5635
+ }
5639
5636
  if (ref != null) {
5640
5637
  setRef(ref, null, parentSuspense, vnode, true);
5641
5638
  }
@@ -5667,7 +5664,6 @@ function baseCreateRenderer(options, createHydrationFns) {
5667
5664
  vnode,
5668
5665
  parentComponent,
5669
5666
  parentSuspense,
5670
- optimized,
5671
5667
  internals,
5672
5668
  doRemove
5673
5669
  );
@@ -6970,7 +6966,7 @@ const TeleportImpl = {
6970
6966
  }
6971
6967
  updateCssVars(n2);
6972
6968
  },
6973
- remove(vnode, parentComponent, parentSuspense, optimized, { um: unmount, o: { remove: hostRemove } }, doRemove) {
6969
+ remove(vnode, parentComponent, parentSuspense, { um: unmount, o: { remove: hostRemove } }, doRemove) {
6974
6970
  const { shapeFlag, children, anchor, targetAnchor, target, props } = vnode;
6975
6971
  if (target) {
6976
6972
  hostRemove(targetAnchor);
@@ -8170,7 +8166,7 @@ function isMemoSame(cached, memo) {
8170
8166
  return true;
8171
8167
  }
8172
8168
 
8173
- const version = "3.4.29";
8169
+ const version = "3.4.30";
8174
8170
  const warn = !!(process.env.NODE_ENV !== "production") ? warn$1 : NOOP;
8175
8171
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
8176
8172
  const devtools = !!(process.env.NODE_ENV !== "production") || true ? devtools$1 : void 0;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vue/runtime-core",
3
- "version": "3.4.29",
3
+ "version": "3.4.30",
4
4
  "description": "@vue/runtime-core",
5
5
  "main": "index.js",
6
6
  "module": "dist/runtime-core.esm-bundler.js",
@@ -46,7 +46,7 @@
46
46
  },
47
47
  "homepage": "https://github.com/vuejs/core/tree/main/packages/runtime-core#readme",
48
48
  "dependencies": {
49
- "@vue/shared": "3.4.29",
50
- "@vue/reactivity": "3.4.29"
49
+ "@vue/shared": "3.4.30",
50
+ "@vue/reactivity": "3.4.30"
51
51
  }
52
52
  }