@vue/runtime-dom 3.4.17 → 3.4.19

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-dom v3.4.17
2
+ * @vue/runtime-dom v3.4.19
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -1268,6 +1268,7 @@ var VueRuntimeDOM = (function (exports) {
1268
1268
  const toReactive = (value) => isObject(value) ? reactive(value) : value;
1269
1269
  const toReadonly = (value) => isObject(value) ? readonly(value) : value;
1270
1270
 
1271
+ const COMPUTED_SIDE_EFFECT_WARN = `Computed is still dirty after getter evaluation, likely because a computed is mutating its own dependency in its getter. State mutations in computed getters should be avoided. Check the docs for more details: https://vuejs.org/guide/essentials/computed.html#getters-should-be-side-effect-free`;
1271
1272
  class ComputedRefImpl {
1272
1273
  constructor(getter, _setter, isReadonly, isSSR) {
1273
1274
  this._setter = _setter;
@@ -1292,6 +1293,7 @@ var VueRuntimeDOM = (function (exports) {
1292
1293
  }
1293
1294
  trackRefValue(self);
1294
1295
  if (self.effect._dirtyLevel >= 2) {
1296
+ warn$2(COMPUTED_SIDE_EFFECT_WARN);
1295
1297
  triggerRefValue(self, 2);
1296
1298
  }
1297
1299
  return self._value;
@@ -1315,7 +1317,7 @@ var VueRuntimeDOM = (function (exports) {
1315
1317
  if (onlyGetter) {
1316
1318
  getter = getterOrOptions;
1317
1319
  setter = () => {
1318
- console.warn("Write operation failed: computed value is readonly");
1320
+ warn$2("Write operation failed: computed value is readonly");
1319
1321
  } ;
1320
1322
  } else {
1321
1323
  getter = getterOrOptions.get;
@@ -1689,13 +1691,11 @@ var VueRuntimeDOM = (function (exports) {
1689
1691
  [14]: "scheduler flush. This is likely a Vue internals bug. Please open an issue at https://github.com/vuejs/core ."
1690
1692
  };
1691
1693
  function callWithErrorHandling(fn, instance, type, args) {
1692
- let res;
1693
1694
  try {
1694
- res = args ? fn(...args) : fn();
1695
+ return args ? fn(...args) : fn();
1695
1696
  } catch (err) {
1696
1697
  handleError(err, instance, type);
1697
1698
  }
1698
- return res;
1699
1699
  }
1700
1700
  function callWithAsyncErrorHandling(fn, instance, type, args) {
1701
1701
  if (isFunction(fn)) {
@@ -5743,7 +5743,7 @@ If you want to remount the same app, move your app creation logic into a factory
5743
5743
  return res;
5744
5744
  }
5745
5745
  function validatePropName(key) {
5746
- if (key[0] !== "$") {
5746
+ if (key[0] !== "$" && !isReservedProp(key)) {
5747
5747
  return true;
5748
5748
  } else {
5749
5749
  warn$1(`Invalid prop name: "${key}" is a reserved property.`);
@@ -5751,8 +5751,16 @@ If you want to remount the same app, move your app creation logic into a factory
5751
5751
  return false;
5752
5752
  }
5753
5753
  function getType(ctor) {
5754
- const match = ctor && ctor.toString().match(/^\s*(function|class) (\w+)/);
5755
- return match ? match[2] : ctor === null ? "null" : "";
5754
+ if (ctor === null) {
5755
+ return "null";
5756
+ }
5757
+ if (typeof ctor === "function") {
5758
+ return ctor.name || "";
5759
+ } else if (typeof ctor === "object") {
5760
+ const name = ctor.constructor && ctor.constructor.name;
5761
+ return name || "";
5762
+ }
5763
+ return "";
5756
5764
  }
5757
5765
  function isSameType(a, b) {
5758
5766
  return getType(a) === getType(b);
@@ -6549,9 +6557,12 @@ Server rendered element contains fewer child nodes than client vdom.`
6549
6557
  }
6550
6558
  }
6551
6559
  }
6552
- const cssVars = (_a = instance == null ? void 0 : instance.getCssVars) == null ? void 0 : _a.call(instance);
6553
- for (const key2 in cssVars) {
6554
- expectedMap.set(`--${key2}`, String(cssVars[key2]));
6560
+ const root = instance == null ? void 0 : instance.subTree;
6561
+ if (vnode === root || (root == null ? void 0 : root.type) === Fragment && root.children.includes(vnode)) {
6562
+ const cssVars = (_a = instance == null ? void 0 : instance.getCssVars) == null ? void 0 : _a.call(instance);
6563
+ for (const key2 in cssVars) {
6564
+ expectedMap.set(`--${key2}`, String(cssVars[key2]));
6565
+ }
6555
6566
  }
6556
6567
  if (!isMapEqual(actualMap, expectedMap)) {
6557
6568
  mismatchType = mismatchKey = "style";
@@ -9519,7 +9530,7 @@ Component that was made reactive: `,
9519
9530
  return true;
9520
9531
  }
9521
9532
 
9522
- const version = "3.4.17";
9533
+ const version = "3.4.19";
9523
9534
  const warn = warn$1 ;
9524
9535
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
9525
9536
  const devtools = devtools$1 ;
@@ -9896,7 +9907,7 @@ Component that was made reactive: `,
9896
9907
  }
9897
9908
  },
9898
9909
  updated(el, { value, oldValue }, { transition }) {
9899
- if (!value === !oldValue)
9910
+ if (!value === !oldValue && (el.style.display === el[vShowOldKey] || !value))
9900
9911
  return;
9901
9912
  if (transition) {
9902
9913
  if (value) {
@@ -9989,10 +10000,12 @@ Component that was made reactive: `,
9989
10000
  }
9990
10001
  }
9991
10002
 
10003
+ const displayRE = /(^|;)\s*display\s*:/;
9992
10004
  function patchStyle(el, prev, next) {
9993
10005
  const style = el.style;
9994
- const currentDisplay = style.display;
9995
10006
  const isCssString = isString(next);
10007
+ const currentDisplay = style.display;
10008
+ let hasControlledDisplay = false;
9996
10009
  if (next && !isCssString) {
9997
10010
  if (prev && !isString(prev)) {
9998
10011
  for (const key in prev) {
@@ -10002,6 +10015,9 @@ Component that was made reactive: `,
10002
10015
  }
10003
10016
  }
10004
10017
  for (const key in next) {
10018
+ if (key === "display") {
10019
+ hasControlledDisplay = true;
10020
+ }
10005
10021
  setStyle(style, key, next[key]);
10006
10022
  }
10007
10023
  } else {
@@ -10012,12 +10028,14 @@ Component that was made reactive: `,
10012
10028
  next += ";" + cssVarText;
10013
10029
  }
10014
10030
  style.cssText = next;
10031
+ hasControlledDisplay = displayRE.test(next);
10015
10032
  }
10016
10033
  } else if (prev) {
10017
10034
  el.removeAttribute("style");
10018
10035
  }
10019
10036
  }
10020
10037
  if (vShowOldKey in el) {
10038
+ el[vShowOldKey] = hasControlledDisplay ? style.display : "";
10021
10039
  style.display = currentDisplay;
10022
10040
  }
10023
10041
  }