@vue/compat 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/compat v3.4.17
2
+ * @vue/compat v3.4.19
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -1265,6 +1265,7 @@ function markRaw(value) {
1265
1265
  const toReactive = (value) => isObject(value) ? reactive(value) : value;
1266
1266
  const toReadonly = (value) => isObject(value) ? readonly(value) : value;
1267
1267
 
1268
+ 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`;
1268
1269
  class ComputedRefImpl {
1269
1270
  constructor(getter, _setter, isReadonly, isSSR) {
1270
1271
  this._setter = _setter;
@@ -1289,6 +1290,7 @@ class ComputedRefImpl {
1289
1290
  }
1290
1291
  trackRefValue(self);
1291
1292
  if (self.effect._dirtyLevel >= 2) {
1293
+ warn$2(COMPUTED_SIDE_EFFECT_WARN);
1292
1294
  triggerRefValue(self, 2);
1293
1295
  }
1294
1296
  return self._value;
@@ -1312,7 +1314,7 @@ function computed$1(getterOrOptions, debugOptions, isSSR = false) {
1312
1314
  if (onlyGetter) {
1313
1315
  getter = getterOrOptions;
1314
1316
  setter = () => {
1315
- console.warn("Write operation failed: computed value is readonly");
1317
+ warn$2("Write operation failed: computed value is readonly");
1316
1318
  } ;
1317
1319
  } else {
1318
1320
  getter = getterOrOptions.get;
@@ -1686,13 +1688,11 @@ const ErrorTypeStrings$1 = {
1686
1688
  [14]: "scheduler flush. This is likely a Vue internals bug. Please open an issue at https://github.com/vuejs/core ."
1687
1689
  };
1688
1690
  function callWithErrorHandling(fn, instance, type, args) {
1689
- let res;
1690
1691
  try {
1691
- res = args ? fn(...args) : fn();
1692
+ return args ? fn(...args) : fn();
1692
1693
  } catch (err) {
1693
1694
  handleError(err, instance, type);
1694
1695
  }
1695
- return res;
1696
1696
  }
1697
1697
  function callWithAsyncErrorHandling(fn, instance, type, args) {
1698
1698
  if (isFunction(fn)) {
@@ -6437,7 +6437,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
6437
6437
  return vm;
6438
6438
  }
6439
6439
  }
6440
- Vue.version = `2.6.14-compat:${"3.4.17"}`;
6440
+ Vue.version = `2.6.14-compat:${"3.4.19"}`;
6441
6441
  Vue.config = singletonApp.config;
6442
6442
  Vue.use = (p, ...options) => {
6443
6443
  if (p && isFunction(p.install)) {
@@ -7374,7 +7374,7 @@ function normalizePropsOptions(comp, appContext, asMixin = false) {
7374
7374
  return res;
7375
7375
  }
7376
7376
  function validatePropName(key) {
7377
- if (key[0] !== "$") {
7377
+ if (key[0] !== "$" && !isReservedProp(key)) {
7378
7378
  return true;
7379
7379
  } else {
7380
7380
  warn$1(`Invalid prop name: "${key}" is a reserved property.`);
@@ -7382,8 +7382,16 @@ function validatePropName(key) {
7382
7382
  return false;
7383
7383
  }
7384
7384
  function getType(ctor) {
7385
- const match = ctor && ctor.toString().match(/^\s*(function|class) (\w+)/);
7386
- return match ? match[2] : ctor === null ? "null" : "";
7385
+ if (ctor === null) {
7386
+ return "null";
7387
+ }
7388
+ if (typeof ctor === "function") {
7389
+ return ctor.name || "";
7390
+ } else if (typeof ctor === "object") {
7391
+ const name = ctor.constructor && ctor.constructor.name;
7392
+ return name || "";
7393
+ }
7394
+ return "";
7387
7395
  }
7388
7396
  function isSameType(a, b) {
7389
7397
  return getType(a) === getType(b);
@@ -8182,9 +8190,12 @@ function propHasMismatch(el, key, clientValue, vnode, instance) {
8182
8190
  }
8183
8191
  }
8184
8192
  }
8185
- const cssVars = (_a = instance == null ? void 0 : instance.getCssVars) == null ? void 0 : _a.call(instance);
8186
- for (const key2 in cssVars) {
8187
- expectedMap.set(`--${key2}`, String(cssVars[key2]));
8193
+ const root = instance == null ? void 0 : instance.subTree;
8194
+ if (vnode === root || (root == null ? void 0 : root.type) === Fragment && root.children.includes(vnode)) {
8195
+ const cssVars = (_a = instance == null ? void 0 : instance.getCssVars) == null ? void 0 : _a.call(instance);
8196
+ for (const key2 in cssVars) {
8197
+ expectedMap.set(`--${key2}`, String(cssVars[key2]));
8198
+ }
8188
8199
  }
8189
8200
  if (!isMapEqual(actualMap, expectedMap)) {
8190
8201
  mismatchType = mismatchKey = "style";
@@ -11259,7 +11270,7 @@ function isMemoSame(cached, memo) {
11259
11270
  return true;
11260
11271
  }
11261
11272
 
11262
- const version = "3.4.17";
11273
+ const version = "3.4.19";
11263
11274
  const warn = warn$1 ;
11264
11275
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
11265
11276
  const devtools = devtools$1 ;
@@ -11680,7 +11691,7 @@ const vShow = {
11680
11691
  }
11681
11692
  },
11682
11693
  updated(el, { value, oldValue }, { transition }) {
11683
- if (!value === !oldValue)
11694
+ if (!value === !oldValue && (el.style.display === el[vShowOldKey] || !value))
11684
11695
  return;
11685
11696
  if (transition) {
11686
11697
  if (value) {
@@ -11773,10 +11784,12 @@ function setVarsOnNode(el, vars) {
11773
11784
  }
11774
11785
  }
11775
11786
 
11787
+ const displayRE = /(^|;)\s*display\s*:/;
11776
11788
  function patchStyle(el, prev, next) {
11777
11789
  const style = el.style;
11778
- const currentDisplay = style.display;
11779
11790
  const isCssString = isString(next);
11791
+ const currentDisplay = style.display;
11792
+ let hasControlledDisplay = false;
11780
11793
  if (next && !isCssString) {
11781
11794
  if (prev && !isString(prev)) {
11782
11795
  for (const key in prev) {
@@ -11786,6 +11799,9 @@ function patchStyle(el, prev, next) {
11786
11799
  }
11787
11800
  }
11788
11801
  for (const key in next) {
11802
+ if (key === "display") {
11803
+ hasControlledDisplay = true;
11804
+ }
11789
11805
  setStyle(style, key, next[key]);
11790
11806
  }
11791
11807
  } else {
@@ -11796,12 +11812,14 @@ function patchStyle(el, prev, next) {
11796
11812
  next += ";" + cssVarText;
11797
11813
  }
11798
11814
  style.cssText = next;
11815
+ hasControlledDisplay = displayRE.test(next);
11799
11816
  }
11800
11817
  } else if (prev) {
11801
11818
  el.removeAttribute("style");
11802
11819
  }
11803
11820
  }
11804
11821
  if (vShowOldKey in el) {
11822
+ el[vShowOldKey] = hasControlledDisplay ? style.display : "";
11805
11823
  style.display = currentDisplay;
11806
11824
  }
11807
11825
  }