@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.
package/dist/vue.cjs.js CHANGED
@@ -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
  **/
@@ -1381,6 +1381,7 @@ function markRaw(value) {
1381
1381
  const toReactive = (value) => isObject(value) ? reactive(value) : value;
1382
1382
  const toReadonly = (value) => isObject(value) ? readonly(value) : value;
1383
1383
 
1384
+ 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`;
1384
1385
  class ComputedRefImpl {
1385
1386
  constructor(getter, _setter, isReadonly, isSSR) {
1386
1387
  this._setter = _setter;
@@ -1405,6 +1406,7 @@ class ComputedRefImpl {
1405
1406
  }
1406
1407
  trackRefValue(self);
1407
1408
  if (self.effect._dirtyLevel >= 2) {
1409
+ warn$2(COMPUTED_SIDE_EFFECT_WARN);
1408
1410
  triggerRefValue(self, 2);
1409
1411
  }
1410
1412
  return self._value;
@@ -1428,7 +1430,7 @@ function computed$1(getterOrOptions, debugOptions, isSSR = false) {
1428
1430
  if (onlyGetter) {
1429
1431
  getter = getterOrOptions;
1430
1432
  setter = () => {
1431
- console.warn("Write operation failed: computed value is readonly");
1433
+ warn$2("Write operation failed: computed value is readonly");
1432
1434
  } ;
1433
1435
  } else {
1434
1436
  getter = getterOrOptions.get;
@@ -1802,13 +1804,11 @@ const ErrorTypeStrings$1 = {
1802
1804
  [14]: "scheduler flush. This is likely a Vue internals bug. Please open an issue at https://github.com/vuejs/core ."
1803
1805
  };
1804
1806
  function callWithErrorHandling(fn, instance, type, args) {
1805
- let res;
1806
1807
  try {
1807
- res = args ? fn(...args) : fn();
1808
+ return args ? fn(...args) : fn();
1808
1809
  } catch (err) {
1809
1810
  handleError(err, instance, type);
1810
1811
  }
1811
- return res;
1812
1812
  }
1813
1813
  function callWithAsyncErrorHandling(fn, instance, type, args) {
1814
1814
  if (isFunction(fn)) {
@@ -6580,7 +6580,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
6580
6580
  return vm;
6581
6581
  }
6582
6582
  }
6583
- Vue.version = `2.6.14-compat:${"3.4.17"}`;
6583
+ Vue.version = `2.6.14-compat:${"3.4.19"}`;
6584
6584
  Vue.config = singletonApp.config;
6585
6585
  Vue.use = (p, ...options) => {
6586
6586
  if (p && isFunction(p.install)) {
@@ -7517,7 +7517,7 @@ function normalizePropsOptions(comp, appContext, asMixin = false) {
7517
7517
  return res;
7518
7518
  }
7519
7519
  function validatePropName(key) {
7520
- if (key[0] !== "$") {
7520
+ if (key[0] !== "$" && !isReservedProp(key)) {
7521
7521
  return true;
7522
7522
  } else {
7523
7523
  warn$1(`Invalid prop name: "${key}" is a reserved property.`);
@@ -7525,8 +7525,16 @@ function validatePropName(key) {
7525
7525
  return false;
7526
7526
  }
7527
7527
  function getType(ctor) {
7528
- const match = ctor && ctor.toString().match(/^\s*(function|class) (\w+)/);
7529
- return match ? match[2] : ctor === null ? "null" : "";
7528
+ if (ctor === null) {
7529
+ return "null";
7530
+ }
7531
+ if (typeof ctor === "function") {
7532
+ return ctor.name || "";
7533
+ } else if (typeof ctor === "object") {
7534
+ const name = ctor.constructor && ctor.constructor.name;
7535
+ return name || "";
7536
+ }
7537
+ return "";
7530
7538
  }
7531
7539
  function isSameType(a, b) {
7532
7540
  return getType(a) === getType(b);
@@ -8325,9 +8333,12 @@ function propHasMismatch(el, key, clientValue, vnode, instance) {
8325
8333
  }
8326
8334
  }
8327
8335
  }
8328
- const cssVars = (_a = instance == null ? void 0 : instance.getCssVars) == null ? void 0 : _a.call(instance);
8329
- for (const key2 in cssVars) {
8330
- expectedMap.set(`--${key2}`, String(cssVars[key2]));
8336
+ const root = instance == null ? void 0 : instance.subTree;
8337
+ if (vnode === root || (root == null ? void 0 : root.type) === Fragment && root.children.includes(vnode)) {
8338
+ const cssVars = (_a = instance == null ? void 0 : instance.getCssVars) == null ? void 0 : _a.call(instance);
8339
+ for (const key2 in cssVars) {
8340
+ expectedMap.set(`--${key2}`, String(cssVars[key2]));
8341
+ }
8331
8342
  }
8332
8343
  if (!isMapEqual(actualMap, expectedMap)) {
8333
8344
  mismatchType = mismatchKey = "style";
@@ -11419,7 +11430,7 @@ function isMemoSame(cached, memo) {
11419
11430
  return true;
11420
11431
  }
11421
11432
 
11422
- const version = "3.4.17";
11433
+ const version = "3.4.19";
11423
11434
  const warn = warn$1 ;
11424
11435
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
11425
11436
  const devtools = devtools$1 ;
@@ -11848,7 +11859,7 @@ const vShow = {
11848
11859
  }
11849
11860
  },
11850
11861
  updated(el, { value, oldValue }, { transition }) {
11851
- if (!value === !oldValue)
11862
+ if (!value === !oldValue && (el.style.display === el[vShowOldKey] || !value))
11852
11863
  return;
11853
11864
  if (transition) {
11854
11865
  if (value) {
@@ -11887,10 +11898,12 @@ function useCssVars(getter) {
11887
11898
  return;
11888
11899
  }
11889
11900
 
11901
+ const displayRE = /(^|;)\s*display\s*:/;
11890
11902
  function patchStyle(el, prev, next) {
11891
11903
  const style = el.style;
11892
- const currentDisplay = style.display;
11893
11904
  const isCssString = isString(next);
11905
+ const currentDisplay = style.display;
11906
+ let hasControlledDisplay = false;
11894
11907
  if (next && !isCssString) {
11895
11908
  if (prev && !isString(prev)) {
11896
11909
  for (const key in prev) {
@@ -11900,6 +11913,9 @@ function patchStyle(el, prev, next) {
11900
11913
  }
11901
11914
  }
11902
11915
  for (const key in next) {
11916
+ if (key === "display") {
11917
+ hasControlledDisplay = true;
11918
+ }
11903
11919
  setStyle(style, key, next[key]);
11904
11920
  }
11905
11921
  } else {
@@ -11910,12 +11926,14 @@ function patchStyle(el, prev, next) {
11910
11926
  next += ";" + cssVarText;
11911
11927
  }
11912
11928
  style.cssText = next;
11929
+ hasControlledDisplay = displayRE.test(next);
11913
11930
  }
11914
11931
  } else if (prev) {
11915
11932
  el.removeAttribute("style");
11916
11933
  }
11917
11934
  }
11918
11935
  if (vShowOldKey in el) {
11936
+ el[vShowOldKey] = hasControlledDisplay ? style.display : "";
11919
11937
  style.display = currentDisplay;
11920
11938
  }
11921
11939
  }
@@ -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
  **/
@@ -1531,13 +1531,11 @@ const ErrorTypeStrings$1 = {
1531
1531
  [14]: "scheduler flush. This is likely a Vue internals bug. Please open an issue at https://github.com/vuejs/core ."
1532
1532
  };
1533
1533
  function callWithErrorHandling(fn, instance, type, args) {
1534
- let res;
1535
1534
  try {
1536
- res = args ? fn(...args) : fn();
1535
+ return args ? fn(...args) : fn();
1537
1536
  } catch (err) {
1538
1537
  handleError(err, instance, type);
1539
1538
  }
1540
- return res;
1541
1539
  }
1542
1540
  function callWithAsyncErrorHandling(fn, instance, type, args) {
1543
1541
  if (isFunction(fn)) {
@@ -5257,7 +5255,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
5257
5255
  return vm;
5258
5256
  }
5259
5257
  }
5260
- Vue.version = `2.6.14-compat:${"3.4.17"}`;
5258
+ Vue.version = `2.6.14-compat:${"3.4.19"}`;
5261
5259
  Vue.config = singletonApp.config;
5262
5260
  Vue.use = (p, ...options) => {
5263
5261
  if (p && isFunction(p.install)) {
@@ -6065,14 +6063,22 @@ function normalizePropsOptions(comp, appContext, asMixin = false) {
6065
6063
  return res;
6066
6064
  }
6067
6065
  function validatePropName(key) {
6068
- if (key[0] !== "$") {
6066
+ if (key[0] !== "$" && !isReservedProp(key)) {
6069
6067
  return true;
6070
6068
  }
6071
6069
  return false;
6072
6070
  }
6073
6071
  function getType(ctor) {
6074
- const match = ctor && ctor.toString().match(/^\s*(function|class) (\w+)/);
6075
- return match ? match[2] : ctor === null ? "null" : "";
6072
+ if (ctor === null) {
6073
+ return "null";
6074
+ }
6075
+ if (typeof ctor === "function") {
6076
+ return ctor.name || "";
6077
+ } else if (typeof ctor === "object") {
6078
+ const name = ctor.constructor && ctor.constructor.name;
6079
+ return name || "";
6080
+ }
6081
+ return "";
6076
6082
  }
6077
6083
  function isSameType(a, b) {
6078
6084
  return getType(a) === getType(b);
@@ -9117,7 +9123,7 @@ function isMemoSame(cached, memo) {
9117
9123
  return true;
9118
9124
  }
9119
9125
 
9120
- const version = "3.4.17";
9126
+ const version = "3.4.19";
9121
9127
  const warn$1 = NOOP;
9122
9128
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
9123
9129
  const devtools = void 0;
@@ -9543,7 +9549,7 @@ const vShow = {
9543
9549
  }
9544
9550
  },
9545
9551
  updated(el, { value, oldValue }, { transition }) {
9546
- if (!value === !oldValue)
9552
+ if (!value === !oldValue && (el.style.display === el[vShowOldKey] || !value))
9547
9553
  return;
9548
9554
  if (transition) {
9549
9555
  if (value) {
@@ -9579,10 +9585,12 @@ function useCssVars(getter) {
9579
9585
  return;
9580
9586
  }
9581
9587
 
9588
+ const displayRE = /(^|;)\s*display\s*:/;
9582
9589
  function patchStyle(el, prev, next) {
9583
9590
  const style = el.style;
9584
- const currentDisplay = style.display;
9585
9591
  const isCssString = isString(next);
9592
+ const currentDisplay = style.display;
9593
+ let hasControlledDisplay = false;
9586
9594
  if (next && !isCssString) {
9587
9595
  if (prev && !isString(prev)) {
9588
9596
  for (const key in prev) {
@@ -9592,6 +9600,9 @@ function patchStyle(el, prev, next) {
9592
9600
  }
9593
9601
  }
9594
9602
  for (const key in next) {
9603
+ if (key === "display") {
9604
+ hasControlledDisplay = true;
9605
+ }
9595
9606
  setStyle(style, key, next[key]);
9596
9607
  }
9597
9608
  } else {
@@ -9602,12 +9613,14 @@ function patchStyle(el, prev, next) {
9602
9613
  next += ";" + cssVarText;
9603
9614
  }
9604
9615
  style.cssText = next;
9616
+ hasControlledDisplay = displayRE.test(next);
9605
9617
  }
9606
9618
  } else if (prev) {
9607
9619
  el.removeAttribute("style");
9608
9620
  }
9609
9621
  }
9610
9622
  if (vShowOldKey in el) {
9623
+ el[vShowOldKey] = hasControlledDisplay ? style.display : "";
9611
9624
  style.display = currentDisplay;
9612
9625
  }
9613
9626
  }
@@ -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
  **/
@@ -1330,6 +1330,7 @@ function markRaw(value) {
1330
1330
  const toReactive = (value) => isObject(value) ? reactive(value) : value;
1331
1331
  const toReadonly = (value) => isObject(value) ? readonly(value) : value;
1332
1332
 
1333
+ 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`;
1333
1334
  class ComputedRefImpl {
1334
1335
  constructor(getter, _setter, isReadonly, isSSR) {
1335
1336
  this._setter = _setter;
@@ -1354,6 +1355,7 @@ class ComputedRefImpl {
1354
1355
  }
1355
1356
  trackRefValue(self);
1356
1357
  if (self.effect._dirtyLevel >= 2) {
1358
+ warn$2(COMPUTED_SIDE_EFFECT_WARN);
1357
1359
  triggerRefValue(self, 2);
1358
1360
  }
1359
1361
  return self._value;
@@ -1377,7 +1379,7 @@ function computed$1(getterOrOptions, debugOptions, isSSR = false) {
1377
1379
  if (onlyGetter) {
1378
1380
  getter = getterOrOptions;
1379
1381
  setter = () => {
1380
- console.warn("Write operation failed: computed value is readonly");
1382
+ warn$2("Write operation failed: computed value is readonly");
1381
1383
  } ;
1382
1384
  } else {
1383
1385
  getter = getterOrOptions.get;
@@ -1751,13 +1753,11 @@ const ErrorTypeStrings$1 = {
1751
1753
  [14]: "scheduler flush. This is likely a Vue internals bug. Please open an issue at https://github.com/vuejs/core ."
1752
1754
  };
1753
1755
  function callWithErrorHandling(fn, instance, type, args) {
1754
- let res;
1755
1756
  try {
1756
- res = args ? fn(...args) : fn();
1757
+ return args ? fn(...args) : fn();
1757
1758
  } catch (err) {
1758
1759
  handleError(err, instance, type);
1759
1760
  }
1760
- return res;
1761
1761
  }
1762
1762
  function callWithAsyncErrorHandling(fn, instance, type, args) {
1763
1763
  if (isFunction(fn)) {
@@ -6502,7 +6502,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
6502
6502
  return vm;
6503
6503
  }
6504
6504
  }
6505
- Vue.version = `2.6.14-compat:${"3.4.17"}`;
6505
+ Vue.version = `2.6.14-compat:${"3.4.19"}`;
6506
6506
  Vue.config = singletonApp.config;
6507
6507
  Vue.use = (p, ...options) => {
6508
6508
  if (p && isFunction(p.install)) {
@@ -7439,7 +7439,7 @@ function normalizePropsOptions(comp, appContext, asMixin = false) {
7439
7439
  return res;
7440
7440
  }
7441
7441
  function validatePropName(key) {
7442
- if (key[0] !== "$") {
7442
+ if (key[0] !== "$" && !isReservedProp(key)) {
7443
7443
  return true;
7444
7444
  } else {
7445
7445
  warn$1(`Invalid prop name: "${key}" is a reserved property.`);
@@ -7447,8 +7447,16 @@ function validatePropName(key) {
7447
7447
  return false;
7448
7448
  }
7449
7449
  function getType(ctor) {
7450
- const match = ctor && ctor.toString().match(/^\s*(function|class) (\w+)/);
7451
- return match ? match[2] : ctor === null ? "null" : "";
7450
+ if (ctor === null) {
7451
+ return "null";
7452
+ }
7453
+ if (typeof ctor === "function") {
7454
+ return ctor.name || "";
7455
+ } else if (typeof ctor === "object") {
7456
+ const name = ctor.constructor && ctor.constructor.name;
7457
+ return name || "";
7458
+ }
7459
+ return "";
7452
7460
  }
7453
7461
  function isSameType(a, b) {
7454
7462
  return getType(a) === getType(b);
@@ -8247,9 +8255,12 @@ function propHasMismatch(el, key, clientValue, vnode, instance) {
8247
8255
  }
8248
8256
  }
8249
8257
  }
8250
- const cssVars = (_a = instance == null ? void 0 : instance.getCssVars) == null ? void 0 : _a.call(instance);
8251
- for (const key2 in cssVars) {
8252
- expectedMap.set(`--${key2}`, String(cssVars[key2]));
8258
+ const root = instance == null ? void 0 : instance.subTree;
8259
+ if (vnode === root || (root == null ? void 0 : root.type) === Fragment && root.children.includes(vnode)) {
8260
+ const cssVars = (_a = instance == null ? void 0 : instance.getCssVars) == null ? void 0 : _a.call(instance);
8261
+ for (const key2 in cssVars) {
8262
+ expectedMap.set(`--${key2}`, String(cssVars[key2]));
8263
+ }
8253
8264
  }
8254
8265
  if (!isMapEqual(actualMap, expectedMap)) {
8255
8266
  mismatchType = mismatchKey = "style";
@@ -11324,7 +11335,7 @@ function isMemoSame(cached, memo) {
11324
11335
  return true;
11325
11336
  }
11326
11337
 
11327
- const version = "3.4.17";
11338
+ const version = "3.4.19";
11328
11339
  const warn = warn$1 ;
11329
11340
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
11330
11341
  const devtools = devtools$1 ;
@@ -11745,7 +11756,7 @@ const vShow = {
11745
11756
  }
11746
11757
  },
11747
11758
  updated(el, { value, oldValue }, { transition }) {
11748
- if (!value === !oldValue)
11759
+ if (!value === !oldValue && (el.style.display === el[vShowOldKey] || !value))
11749
11760
  return;
11750
11761
  if (transition) {
11751
11762
  if (value) {
@@ -11838,10 +11849,12 @@ function setVarsOnNode(el, vars) {
11838
11849
  }
11839
11850
  }
11840
11851
 
11852
+ const displayRE = /(^|;)\s*display\s*:/;
11841
11853
  function patchStyle(el, prev, next) {
11842
11854
  const style = el.style;
11843
- const currentDisplay = style.display;
11844
11855
  const isCssString = isString(next);
11856
+ const currentDisplay = style.display;
11857
+ let hasControlledDisplay = false;
11845
11858
  if (next && !isCssString) {
11846
11859
  if (prev && !isString(prev)) {
11847
11860
  for (const key in prev) {
@@ -11851,6 +11864,9 @@ function patchStyle(el, prev, next) {
11851
11864
  }
11852
11865
  }
11853
11866
  for (const key in next) {
11867
+ if (key === "display") {
11868
+ hasControlledDisplay = true;
11869
+ }
11854
11870
  setStyle(style, key, next[key]);
11855
11871
  }
11856
11872
  } else {
@@ -11861,12 +11877,14 @@ function patchStyle(el, prev, next) {
11861
11877
  next += ";" + cssVarText;
11862
11878
  }
11863
11879
  style.cssText = next;
11880
+ hasControlledDisplay = displayRE.test(next);
11864
11881
  }
11865
11882
  } else if (prev) {
11866
11883
  el.removeAttribute("style");
11867
11884
  }
11868
11885
  }
11869
11886
  if (vShowOldKey in el) {
11887
+ el[vShowOldKey] = hasControlledDisplay ? style.display : "";
11870
11888
  style.display = currentDisplay;
11871
11889
  }
11872
11890
  }