@vue/compat 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/compat v3.4.29
2
+ * @vue/compat v3.4.30
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -506,8 +506,10 @@ class ReactiveEffect {
506
506
  for (let i = 0; i < this._depsLength; i++) {
507
507
  const dep = this.deps[i];
508
508
  if (dep.computed) {
509
- if (dep.computed.effect._dirtyLevel === 2)
509
+ if (dep.computed.effect._dirtyLevel === 2) {
510
+ resetTracking();
510
511
  return true;
512
+ }
511
513
  triggerComputed(dep.computed);
512
514
  if (this._dirtyLevel >= 5) {
513
515
  break;
@@ -643,13 +645,13 @@ function triggerEffects(dep, dirtyLevel, debuggerEventExtraInfo) {
643
645
  var _a;
644
646
  pauseScheduling();
645
647
  for (const effect2 of dep.keys()) {
648
+ let tracking;
646
649
  if (!dep.computed && effect2.computed) {
647
- if (dep.get(effect2) === effect2._trackId && effect2._runnings > 0) {
650
+ if (effect2._runnings > 0 && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) {
648
651
  effect2._dirtyLevel = 2;
649
652
  continue;
650
653
  }
651
654
  }
652
- let tracking;
653
655
  if (effect2._dirtyLevel < dirtyLevel && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) {
654
656
  effect2._shouldSchedule || (effect2._shouldSchedule = effect2._dirtyLevel === 0);
655
657
  if (effect2.computed && effect2._dirtyLevel === 2) {
@@ -1366,8 +1368,11 @@ class ComputedRefImpl {
1366
1368
  }
1367
1369
  get value() {
1368
1370
  const self = toRaw(this);
1371
+ const lastDirtyLevel = self.effect._dirtyLevel;
1369
1372
  if ((!self._cacheable || self.effect.dirty) && hasChanged(self._value, self._value = self.effect.run())) {
1370
- triggerRefValue(self, 5);
1373
+ if (lastDirtyLevel !== 3) {
1374
+ triggerRefValue(self, 5);
1375
+ }
1371
1376
  }
1372
1377
  trackRefValue(self);
1373
1378
  if (self.effect._dirtyLevel >= 2) {
@@ -3340,7 +3345,6 @@ const SuspenseImpl = {
3340
3345
  }
3341
3346
  },
3342
3347
  hydrate: hydrateSuspense,
3343
- create: createSuspenseBoundary,
3344
3348
  normalize: normalizeSuspenseChildren
3345
3349
  };
3346
3350
  const Suspense = SuspenseImpl ;
@@ -5698,7 +5702,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
5698
5702
  return vm;
5699
5703
  }
5700
5704
  }
5701
- Vue.version = `2.6.14-compat:${"3.4.29"}`;
5705
+ Vue.version = `2.6.14-compat:${"3.4.30"}`;
5702
5706
  Vue.config = singletonApp.config;
5703
5707
  Vue.use = (plugin, ...options) => {
5704
5708
  if (plugin && isFunction(plugin.install)) {
@@ -7009,18 +7013,8 @@ function createHydrationFunctions(rendererInternals) {
7009
7013
  let domType = node.nodeType;
7010
7014
  vnode.el = node;
7011
7015
  if (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_DEVTOOLS__) {
7012
- if (!("__vnode" in node)) {
7013
- Object.defineProperty(node, "__vnode", {
7014
- value: vnode,
7015
- enumerable: false
7016
- });
7017
- }
7018
- if (!("__vueParentComponent" in node)) {
7019
- Object.defineProperty(node, "__vueParentComponent", {
7020
- value: parentComponent,
7021
- enumerable: false
7022
- });
7023
- }
7016
+ def(node, "__vnode", vnode, true);
7017
+ def(node, "__vueParentComponent", parentComponent, true);
7024
7018
  }
7025
7019
  if (patchFlag === -2) {
7026
7020
  optimized = false;
@@ -7243,7 +7237,9 @@ Server rendered element contains more child nodes than client vdom.`
7243
7237
  if (props) {
7244
7238
  if (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__ || forcePatch || !optimized || patchFlag & (16 | 32)) {
7245
7239
  for (const key in props) {
7246
- if ((!!(process.env.NODE_ENV !== "production") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && propHasMismatch(el, key, props[key], vnode, parentComponent)) {
7240
+ if ((!!(process.env.NODE_ENV !== "production") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && // #11189 skip if this node has directives that have created hooks
7241
+ // as it could have mutated the DOM in any possible way
7242
+ !(dirs && dirs.some((d) => d.dir.created)) && propHasMismatch(el, key, props[key], vnode, parentComponent)) {
7247
7243
  logMismatchError();
7248
7244
  }
7249
7245
  if (forcePatch && (key.endsWith("value") || key === "indeterminate") || isOn(key) && !isReservedProp(key) || // force hydrate v-bind with .prop modifiers
@@ -7428,7 +7424,6 @@ Server rendered element contains fewer child nodes than client vdom.`
7428
7424
  return [hydrate, hydrateNode];
7429
7425
  }
7430
7426
  function propHasMismatch(el, key, clientValue, vnode, instance) {
7431
- var _a;
7432
7427
  let mismatchType;
7433
7428
  let mismatchKey;
7434
7429
  let actual;
@@ -7451,13 +7446,8 @@ function propHasMismatch(el, key, clientValue, vnode, instance) {
7451
7446
  }
7452
7447
  }
7453
7448
  }
7454
- const root = instance == null ? void 0 : instance.subTree;
7455
- if (vnode === root || // eslint-disable-next-line no-restricted-syntax
7456
- (root == null ? void 0 : root.type) === Fragment && root.children.includes(vnode)) {
7457
- const cssVars = (_a = instance == null ? void 0 : instance.getCssVars) == null ? void 0 : _a.call(instance);
7458
- for (const key2 in cssVars) {
7459
- expectedMap.set(`--${key2}`, String(cssVars[key2]));
7460
- }
7449
+ if (instance) {
7450
+ resolveCssVars(instance, vnode, expectedMap);
7461
7451
  }
7462
7452
  if (!isMapEqual(actualMap, expectedMap)) {
7463
7453
  mismatchType = mismatchKey = "style";
@@ -7517,8 +7507,8 @@ function toStyleMap(str) {
7517
7507
  const styleMap = /* @__PURE__ */ new Map();
7518
7508
  for (const item of str.split(";")) {
7519
7509
  let [key, value] = item.split(":");
7520
- key = key == null ? void 0 : key.trim();
7521
- value = value == null ? void 0 : value.trim();
7510
+ key = key.trim();
7511
+ value = value && value.trim();
7522
7512
  if (key && value) {
7523
7513
  styleMap.set(key, value);
7524
7514
  }
@@ -7536,6 +7526,18 @@ function isMapEqual(a, b) {
7536
7526
  }
7537
7527
  return true;
7538
7528
  }
7529
+ function resolveCssVars(instance, vnode, expectedMap) {
7530
+ const root = instance.subTree;
7531
+ if (instance.getCssVars && (vnode === root || root && root.type === Fragment && root.children.includes(vnode))) {
7532
+ const cssVars = instance.getCssVars();
7533
+ for (const key in cssVars) {
7534
+ expectedMap.set(`--${key}`, String(cssVars[key]));
7535
+ }
7536
+ }
7537
+ if (vnode === root && instance.parent) {
7538
+ resolveCssVars(instance.parent, instance.vnode, expectedMap);
7539
+ }
7540
+ }
7539
7541
 
7540
7542
  let supported;
7541
7543
  let perf;
@@ -7880,14 +7882,8 @@ function baseCreateRenderer(options, createHydrationFns) {
7880
7882
  }
7881
7883
  }
7882
7884
  if (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_DEVTOOLS__) {
7883
- Object.defineProperty(el, "__vnode", {
7884
- value: vnode,
7885
- enumerable: false
7886
- });
7887
- Object.defineProperty(el, "__vueParentComponent", {
7888
- value: parentComponent,
7889
- enumerable: false
7890
- });
7885
+ def(el, "__vnode", vnode, true);
7886
+ def(el, "__vueParentComponent", parentComponent, true);
7891
7887
  }
7892
7888
  if (dirs) {
7893
7889
  invokeDirectiveHook(vnode, null, parentComponent, "beforeMount");
@@ -7949,6 +7945,9 @@ function baseCreateRenderer(options, createHydrationFns) {
7949
7945
  };
7950
7946
  const patchElement = (n1, n2, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {
7951
7947
  const el = n2.el = n1.el;
7948
+ if (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_DEVTOOLS__) {
7949
+ el.__vnode = n2;
7950
+ }
7952
7951
  let { patchFlag, dynamicChildren, dirs } = n2;
7953
7952
  patchFlag |= n1.patchFlag & 16;
7954
7953
  const oldProps = n1.props || EMPTY_OBJ;
@@ -8879,6 +8878,9 @@ function baseCreateRenderer(options, createHydrationFns) {
8879
8878
  dirs,
8880
8879
  memoIndex
8881
8880
  } = vnode;
8881
+ if (patchFlag === -2) {
8882
+ optimized = false;
8883
+ }
8882
8884
  if (ref != null) {
8883
8885
  setRef(ref, null, parentSuspense, vnode, true);
8884
8886
  }
@@ -8910,7 +8912,6 @@ function baseCreateRenderer(options, createHydrationFns) {
8910
8912
  vnode,
8911
8913
  parentComponent,
8912
8914
  parentSuspense,
8913
- optimized,
8914
8915
  internals,
8915
8916
  doRemove
8916
8917
  );
@@ -10238,7 +10239,7 @@ const TeleportImpl = {
10238
10239
  }
10239
10240
  updateCssVars(n2);
10240
10241
  },
10241
- remove(vnode, parentComponent, parentSuspense, optimized, { um: unmount, o: { remove: hostRemove } }, doRemove) {
10242
+ remove(vnode, parentComponent, parentSuspense, { um: unmount, o: { remove: hostRemove } }, doRemove) {
10242
10243
  const { shapeFlag, children, anchor, targetAnchor, target, props } = vnode;
10243
10244
  if (target) {
10244
10245
  hostRemove(targetAnchor);
@@ -11517,7 +11518,7 @@ function isMemoSame(cached, memo) {
11517
11518
  return true;
11518
11519
  }
11519
11520
 
11520
- const version = "3.4.29";
11521
+ const version = "3.4.30";
11521
11522
  const warn = !!(process.env.NODE_ENV !== "production") ? warn$1 : NOOP;
11522
11523
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
11523
11524
  const devtools = !!(process.env.NODE_ENV !== "production") || true ? devtools$1 : void 0;
@@ -12160,7 +12161,10 @@ function patchAttr(el, key, value, isSVG, instance, isBoolean = isSpecialBoolean
12160
12161
  if (value == null || isBoolean && !includeBooleanAttr(value)) {
12161
12162
  el.removeAttribute(key);
12162
12163
  } else {
12163
- el.setAttribute(key, isBoolean ? "" : String(value));
12164
+ el.setAttribute(
12165
+ key,
12166
+ isBoolean ? "" : isSymbol(value) ? String(value) : value
12167
+ );
12164
12168
  }
12165
12169
  }
12166
12170
  }
@@ -12362,7 +12366,7 @@ const patchProp = (el, key, prevValue, nextValue, namespace, prevChildren, paren
12362
12366
  parentSuspense,
12363
12367
  unmountChildren
12364
12368
  );
12365
- if (key === "value" || key === "checked" || key === "selected") {
12369
+ if (!el.tagName.includes("-") && (key === "value" || key === "checked" || key === "selected")) {
12366
12370
  patchAttr(el, key, nextValue, isSVG, parentComponent, key !== "value");
12367
12371
  }
12368
12372
  } else {
@@ -17394,9 +17398,7 @@ function buildSlots(node, context, buildSlotFn = buildClientSlotFn) {
17394
17398
  break;
17395
17399
  }
17396
17400
  }
17397
- if (prev && isTemplateNode(prev) && findDir(prev, "if")) {
17398
- children.splice(i, 1);
17399
- i--;
17401
+ if (prev && isTemplateNode(prev) && findDir(prev, /^(else-)?if$/)) {
17400
17402
  let conditional = dynamicSlots[dynamicSlots.length - 1];
17401
17403
  while (conditional.alternate.type === 19) {
17402
17404
  conditional = conditional.alternate;
@@ -18432,8 +18434,7 @@ const transformFilter = (node, context) => {
18432
18434
  }
18433
18435
  if (node.type === 5) {
18434
18436
  rewriteFilter(node.content, context);
18435
- }
18436
- if (node.type === 1) {
18437
+ } else if (node.type === 1) {
18437
18438
  node.props.forEach((prop) => {
18438
18439
  if (prop.type === 7 && prop.name !== "for" && prop.exp) {
18439
18440
  rewriteFilter(prop.exp, context);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/compat v3.4.29
2
+ * @vue/compat v3.4.30
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -509,8 +509,10 @@ var Vue = (function () {
509
509
  for (let i = 0; i < this._depsLength; i++) {
510
510
  const dep = this.deps[i];
511
511
  if (dep.computed) {
512
- if (dep.computed.effect._dirtyLevel === 2)
512
+ if (dep.computed.effect._dirtyLevel === 2) {
513
+ resetTracking();
513
514
  return true;
515
+ }
514
516
  triggerComputed(dep.computed);
515
517
  if (this._dirtyLevel >= 5) {
516
518
  break;
@@ -646,13 +648,13 @@ var Vue = (function () {
646
648
  var _a;
647
649
  pauseScheduling();
648
650
  for (const effect2 of dep.keys()) {
651
+ let tracking;
649
652
  if (!dep.computed && effect2.computed) {
650
- if (dep.get(effect2) === effect2._trackId && effect2._runnings > 0) {
653
+ if (effect2._runnings > 0 && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) {
651
654
  effect2._dirtyLevel = 2;
652
655
  continue;
653
656
  }
654
657
  }
655
- let tracking;
656
658
  if (effect2._dirtyLevel < dirtyLevel && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) {
657
659
  effect2._shouldSchedule || (effect2._shouldSchedule = effect2._dirtyLevel === 0);
658
660
  if (effect2.computed && effect2._dirtyLevel === 2) {
@@ -1369,8 +1371,11 @@ var Vue = (function () {
1369
1371
  }
1370
1372
  get value() {
1371
1373
  const self = toRaw(this);
1374
+ const lastDirtyLevel = self.effect._dirtyLevel;
1372
1375
  if ((!self._cacheable || self.effect.dirty) && hasChanged(self._value, self._value = self.effect.run())) {
1373
- triggerRefValue(self, 5);
1376
+ if (lastDirtyLevel !== 3) {
1377
+ triggerRefValue(self, 5);
1378
+ }
1374
1379
  }
1375
1380
  trackRefValue(self);
1376
1381
  if (self.effect._dirtyLevel >= 2) {
@@ -3337,7 +3342,6 @@ If this is a native custom element, make sure to exclude it from component resol
3337
3342
  }
3338
3343
  },
3339
3344
  hydrate: hydrateSuspense,
3340
- create: createSuspenseBoundary,
3341
3345
  normalize: normalizeSuspenseChildren
3342
3346
  };
3343
3347
  const Suspense = SuspenseImpl ;
@@ -5693,7 +5697,7 @@ If this is a native custom element, make sure to exclude it from component resol
5693
5697
  return vm;
5694
5698
  }
5695
5699
  }
5696
- Vue.version = `2.6.14-compat:${"3.4.29"}`;
5700
+ Vue.version = `2.6.14-compat:${"3.4.30"}`;
5697
5701
  Vue.config = singletonApp.config;
5698
5702
  Vue.use = (plugin, ...options) => {
5699
5703
  if (plugin && isFunction(plugin.install)) {
@@ -7002,18 +7006,8 @@ If you want to remount the same app, move your app creation logic into a factory
7002
7006
  let domType = node.nodeType;
7003
7007
  vnode.el = node;
7004
7008
  {
7005
- if (!("__vnode" in node)) {
7006
- Object.defineProperty(node, "__vnode", {
7007
- value: vnode,
7008
- enumerable: false
7009
- });
7010
- }
7011
- if (!("__vueParentComponent" in node)) {
7012
- Object.defineProperty(node, "__vueParentComponent", {
7013
- value: parentComponent,
7014
- enumerable: false
7015
- });
7016
- }
7009
+ def(node, "__vnode", vnode, true);
7010
+ def(node, "__vueParentComponent", parentComponent, true);
7017
7011
  }
7018
7012
  if (patchFlag === -2) {
7019
7013
  optimized = false;
@@ -7236,7 +7230,9 @@ Server rendered element contains more child nodes than client vdom.`
7236
7230
  if (props) {
7237
7231
  {
7238
7232
  for (const key in props) {
7239
- if (propHasMismatch(el, key, props[key], vnode, parentComponent)) {
7233
+ if (// #11189 skip if this node has directives that have created hooks
7234
+ // as it could have mutated the DOM in any possible way
7235
+ !(dirs && dirs.some((d) => d.dir.created)) && propHasMismatch(el, key, props[key], vnode, parentComponent)) {
7240
7236
  logMismatchError();
7241
7237
  }
7242
7238
  if (forcePatch && (key.endsWith("value") || key === "indeterminate") || isOn(key) && !isReservedProp(key) || // force hydrate v-bind with .prop modifiers
@@ -7411,7 +7407,6 @@ Server rendered element contains fewer child nodes than client vdom.`
7411
7407
  return [hydrate, hydrateNode];
7412
7408
  }
7413
7409
  function propHasMismatch(el, key, clientValue, vnode, instance) {
7414
- var _a;
7415
7410
  let mismatchType;
7416
7411
  let mismatchKey;
7417
7412
  let actual;
@@ -7434,13 +7429,8 @@ Server rendered element contains fewer child nodes than client vdom.`
7434
7429
  }
7435
7430
  }
7436
7431
  }
7437
- const root = instance == null ? void 0 : instance.subTree;
7438
- if (vnode === root || // eslint-disable-next-line no-restricted-syntax
7439
- (root == null ? void 0 : root.type) === Fragment && root.children.includes(vnode)) {
7440
- const cssVars = (_a = instance == null ? void 0 : instance.getCssVars) == null ? void 0 : _a.call(instance);
7441
- for (const key2 in cssVars) {
7442
- expectedMap.set(`--${key2}`, String(cssVars[key2]));
7443
- }
7432
+ if (instance) {
7433
+ resolveCssVars(instance, vnode, expectedMap);
7444
7434
  }
7445
7435
  if (!isMapEqual(actualMap, expectedMap)) {
7446
7436
  mismatchType = mismatchKey = "style";
@@ -7500,8 +7490,8 @@ Server rendered element contains fewer child nodes than client vdom.`
7500
7490
  const styleMap = /* @__PURE__ */ new Map();
7501
7491
  for (const item of str.split(";")) {
7502
7492
  let [key, value] = item.split(":");
7503
- key = key == null ? void 0 : key.trim();
7504
- value = value == null ? void 0 : value.trim();
7493
+ key = key.trim();
7494
+ value = value && value.trim();
7505
7495
  if (key && value) {
7506
7496
  styleMap.set(key, value);
7507
7497
  }
@@ -7519,6 +7509,18 @@ Server rendered element contains fewer child nodes than client vdom.`
7519
7509
  }
7520
7510
  return true;
7521
7511
  }
7512
+ function resolveCssVars(instance, vnode, expectedMap) {
7513
+ const root = instance.subTree;
7514
+ if (instance.getCssVars && (vnode === root || root && root.type === Fragment && root.children.includes(vnode))) {
7515
+ const cssVars = instance.getCssVars();
7516
+ for (const key in cssVars) {
7517
+ expectedMap.set(`--${key}`, String(cssVars[key]));
7518
+ }
7519
+ }
7520
+ if (vnode === root && instance.parent) {
7521
+ resolveCssVars(instance.parent, instance.vnode, expectedMap);
7522
+ }
7523
+ }
7522
7524
 
7523
7525
  let supported;
7524
7526
  let perf;
@@ -7836,14 +7838,8 @@ Server rendered element contains fewer child nodes than client vdom.`
7836
7838
  }
7837
7839
  }
7838
7840
  {
7839
- Object.defineProperty(el, "__vnode", {
7840
- value: vnode,
7841
- enumerable: false
7842
- });
7843
- Object.defineProperty(el, "__vueParentComponent", {
7844
- value: parentComponent,
7845
- enumerable: false
7846
- });
7841
+ def(el, "__vnode", vnode, true);
7842
+ def(el, "__vueParentComponent", parentComponent, true);
7847
7843
  }
7848
7844
  if (dirs) {
7849
7845
  invokeDirectiveHook(vnode, null, parentComponent, "beforeMount");
@@ -7905,6 +7901,9 @@ Server rendered element contains fewer child nodes than client vdom.`
7905
7901
  };
7906
7902
  const patchElement = (n1, n2, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {
7907
7903
  const el = n2.el = n1.el;
7904
+ {
7905
+ el.__vnode = n2;
7906
+ }
7908
7907
  let { patchFlag, dynamicChildren, dirs } = n2;
7909
7908
  patchFlag |= n1.patchFlag & 16;
7910
7909
  const oldProps = n1.props || EMPTY_OBJ;
@@ -8824,6 +8823,9 @@ Server rendered element contains fewer child nodes than client vdom.`
8824
8823
  dirs,
8825
8824
  memoIndex
8826
8825
  } = vnode;
8826
+ if (patchFlag === -2) {
8827
+ optimized = false;
8828
+ }
8827
8829
  if (ref != null) {
8828
8830
  setRef(ref, null, parentSuspense, vnode, true);
8829
8831
  }
@@ -8855,7 +8857,6 @@ Server rendered element contains fewer child nodes than client vdom.`
8855
8857
  vnode,
8856
8858
  parentComponent,
8857
8859
  parentSuspense,
8858
- optimized,
8859
8860
  internals,
8860
8861
  doRemove
8861
8862
  );
@@ -10150,7 +10151,7 @@ Server rendered element contains fewer child nodes than client vdom.`
10150
10151
  }
10151
10152
  updateCssVars(n2);
10152
10153
  },
10153
- remove(vnode, parentComponent, parentSuspense, optimized, { um: unmount, o: { remove: hostRemove } }, doRemove) {
10154
+ remove(vnode, parentComponent, parentSuspense, { um: unmount, o: { remove: hostRemove } }, doRemove) {
10154
10155
  const { shapeFlag, children, anchor, targetAnchor, target, props } = vnode;
10155
10156
  if (target) {
10156
10157
  hostRemove(targetAnchor);
@@ -11401,7 +11402,7 @@ Component that was made reactive: `,
11401
11402
  return true;
11402
11403
  }
11403
11404
 
11404
- const version = "3.4.29";
11405
+ const version = "3.4.30";
11405
11406
  const warn = warn$1 ;
11406
11407
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
11407
11408
  const devtools = devtools$1 ;
@@ -12028,7 +12029,10 @@ Component that was made reactive: `,
12028
12029
  if (value == null || isBoolean && !includeBooleanAttr(value)) {
12029
12030
  el.removeAttribute(key);
12030
12031
  } else {
12031
- el.setAttribute(key, isBoolean ? "" : String(value));
12032
+ el.setAttribute(
12033
+ key,
12034
+ isBoolean ? "" : isSymbol(value) ? String(value) : value
12035
+ );
12032
12036
  }
12033
12037
  }
12034
12038
  }
@@ -12230,7 +12234,7 @@ Expected function or array of functions, received type ${typeof value}.`
12230
12234
  parentSuspense,
12231
12235
  unmountChildren
12232
12236
  );
12233
- if (key === "value" || key === "checked" || key === "selected") {
12237
+ if (!el.tagName.includes("-") && (key === "value" || key === "checked" || key === "selected")) {
12234
12238
  patchAttr(el, key, nextValue, isSVG, parentComponent, key !== "value");
12235
12239
  }
12236
12240
  } else {
@@ -17214,9 +17218,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
17214
17218
  break;
17215
17219
  }
17216
17220
  }
17217
- if (prev && isTemplateNode(prev) && findDir(prev, "if")) {
17218
- children.splice(i, 1);
17219
- i--;
17221
+ if (prev && isTemplateNode(prev) && findDir(prev, /^(else-)?if$/)) {
17220
17222
  let conditional = dynamicSlots[dynamicSlots.length - 1];
17221
17223
  while (conditional.alternate.type === 19) {
17222
17224
  conditional = conditional.alternate;
@@ -18250,8 +18252,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
18250
18252
  }
18251
18253
  if (node.type === 5) {
18252
18254
  rewriteFilter(node.content, context);
18253
- }
18254
- if (node.type === 1) {
18255
+ } else if (node.type === 1) {
18255
18256
  node.props.forEach((prop) => {
18256
18257
  if (prop.type === 7 && prop.name !== "for" && prop.exp) {
18257
18258
  rewriteFilter(prop.exp, context);