@vue/compat 3.4.8 → 3.4.9

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.8
2
+ * @vue/compat v3.4.9
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -3266,6 +3266,10 @@ const SuspenseImpl = {
3266
3266
  rendererInternals
3267
3267
  );
3268
3268
  } else {
3269
+ if (parentSuspense && parentSuspense.deps > 0) {
3270
+ n2.suspense = n1.suspense;
3271
+ return;
3272
+ }
3269
3273
  patchSuspense(
3270
3274
  n1,
3271
3275
  n2,
@@ -5941,58 +5945,6 @@ function useSlots() {
5941
5945
  function useAttrs() {
5942
5946
  return getContext().attrs;
5943
5947
  }
5944
- function useModel(props, name, options = EMPTY_OBJ) {
5945
- const i = getCurrentInstance();
5946
- if (!!(process.env.NODE_ENV !== "production") && !i) {
5947
- warn$1(`useModel() called without active instance.`);
5948
- return ref();
5949
- }
5950
- if (!!(process.env.NODE_ENV !== "production") && !i.propsOptions[0][name]) {
5951
- warn$1(`useModel() called with prop "${name}" which is not declared.`);
5952
- return ref();
5953
- }
5954
- const camelizedName = camelize(name);
5955
- const hyphenatedName = hyphenate(name);
5956
- const res = customRef((track, trigger) => {
5957
- let localValue;
5958
- watchSyncEffect(() => {
5959
- const propValue = props[name];
5960
- if (hasChanged(localValue, propValue)) {
5961
- localValue = propValue;
5962
- trigger();
5963
- }
5964
- });
5965
- return {
5966
- get() {
5967
- track();
5968
- return options.get ? options.get(localValue) : localValue;
5969
- },
5970
- set(value) {
5971
- const rawProps = i.vnode.props;
5972
- if (!(rawProps && // check if parent has passed v-model
5973
- (name in rawProps || camelizedName in rawProps || hyphenatedName in rawProps) && (`onUpdate:${name}` in rawProps || `onUpdate:${camelizedName}` in rawProps || `onUpdate:${hyphenatedName}` in rawProps)) && hasChanged(value, localValue)) {
5974
- localValue = value;
5975
- trigger();
5976
- }
5977
- i.emit(`update:${name}`, options.set ? options.set(value) : value);
5978
- }
5979
- };
5980
- });
5981
- const modifierKey = name === "modelValue" ? "modelModifiers" : `${name}Modifiers`;
5982
- res[Symbol.iterator] = () => {
5983
- let i2 = 0;
5984
- return {
5985
- next() {
5986
- if (i2 < 2) {
5987
- return { value: i2++ ? props[modifierKey] || {} : res, done: false };
5988
- } else {
5989
- return { done: true };
5990
- }
5991
- }
5992
- };
5993
- };
5994
- return res;
5995
- }
5996
5948
  function getContext() {
5997
5949
  const i = getCurrentInstance();
5998
5950
  if (!!(process.env.NODE_ENV !== "production") && !i) {
@@ -6566,7 +6518,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
6566
6518
  return vm;
6567
6519
  }
6568
6520
  }
6569
- Vue.version = `2.6.14-compat:${"3.4.8"}`;
6521
+ Vue.version = `2.6.14-compat:${"3.4.9"}`;
6570
6522
  Vue.config = singletonApp.config;
6571
6523
  Vue.use = (p, ...options) => {
6572
6524
  if (p && isFunction(p.install)) {
@@ -8330,8 +8282,17 @@ function propHasMismatch(el, key, clientValue, vnode) {
8330
8282
  actual = el.hasAttribute(key);
8331
8283
  expected = includeBooleanAttr(clientValue);
8332
8284
  } else {
8333
- actual = el.hasAttribute(key) ? el.getAttribute(key) : key in el ? el[key] : "";
8334
- expected = clientValue == null ? "" : String(clientValue);
8285
+ if (el.hasAttribute(key)) {
8286
+ actual = el.getAttribute(key);
8287
+ } else if (key in el) {
8288
+ const serverValue = el[key];
8289
+ if (!isObject(serverValue)) {
8290
+ actual = serverValue == null ? "" : String(serverValue);
8291
+ }
8292
+ }
8293
+ if (!isObject(clientValue)) {
8294
+ expected = clientValue == null ? "" : String(clientValue);
8295
+ }
8335
8296
  }
8336
8297
  if (actual !== expected) {
8337
8298
  mismatchType = `attribute`;
@@ -8340,15 +8301,15 @@ function propHasMismatch(el, key, clientValue, vnode) {
8340
8301
  }
8341
8302
  if (mismatchType) {
8342
8303
  const format = (v) => v === false ? `(not rendered)` : `${mismatchKey}="${v}"`;
8343
- warn$1(
8344
- `Hydration ${mismatchType} mismatch on`,
8345
- el,
8346
- `
8304
+ const preSegment = `Hydration ${mismatchType} mismatch on`;
8305
+ const postSegment = `
8347
8306
  - rendered on server: ${format(actual)}
8348
8307
  - expected on client: ${format(expected)}
8349
8308
  Note: this mismatch is check-only. The DOM will not be rectified in production due to performance overhead.
8350
- You should fix the source of the mismatch.`
8351
- );
8309
+ You should fix the source of the mismatch.`;
8310
+ {
8311
+ warn$1(preSegment, el, postSegment);
8312
+ }
8352
8313
  return true;
8353
8314
  }
8354
8315
  return false;
@@ -11182,6 +11143,59 @@ const computed = (getterOrOptions, debugOptions) => {
11182
11143
  return computed$1(getterOrOptions, debugOptions, isInSSRComponentSetup);
11183
11144
  };
11184
11145
 
11146
+ function useModel(props, name, options = EMPTY_OBJ) {
11147
+ const i = getCurrentInstance();
11148
+ if (!!(process.env.NODE_ENV !== "production") && !i) {
11149
+ warn$1(`useModel() called without active instance.`);
11150
+ return ref();
11151
+ }
11152
+ if (!!(process.env.NODE_ENV !== "production") && !i.propsOptions[0][name]) {
11153
+ warn$1(`useModel() called with prop "${name}" which is not declared.`);
11154
+ return ref();
11155
+ }
11156
+ const camelizedName = camelize(name);
11157
+ const hyphenatedName = hyphenate(name);
11158
+ const res = customRef((track, trigger) => {
11159
+ let localValue;
11160
+ watchSyncEffect(() => {
11161
+ const propValue = props[name];
11162
+ if (hasChanged(localValue, propValue)) {
11163
+ localValue = propValue;
11164
+ trigger();
11165
+ }
11166
+ });
11167
+ return {
11168
+ get() {
11169
+ track();
11170
+ return options.get ? options.get(localValue) : localValue;
11171
+ },
11172
+ set(value) {
11173
+ const rawProps = i.vnode.props;
11174
+ if (!(rawProps && // check if parent has passed v-model
11175
+ (name in rawProps || camelizedName in rawProps || hyphenatedName in rawProps) && (`onUpdate:${name}` in rawProps || `onUpdate:${camelizedName}` in rawProps || `onUpdate:${hyphenatedName}` in rawProps)) && hasChanged(value, localValue)) {
11176
+ localValue = value;
11177
+ trigger();
11178
+ }
11179
+ i.emit(`update:${name}`, options.set ? options.set(value) : value);
11180
+ }
11181
+ };
11182
+ });
11183
+ const modifierKey = name === "modelValue" ? "modelModifiers" : `${name}Modifiers`;
11184
+ res[Symbol.iterator] = () => {
11185
+ let i2 = 0;
11186
+ return {
11187
+ next() {
11188
+ if (i2 < 2) {
11189
+ return { value: i2++ ? props[modifierKey] || {} : res, done: false };
11190
+ } else {
11191
+ return { done: true };
11192
+ }
11193
+ }
11194
+ };
11195
+ };
11196
+ return res;
11197
+ }
11198
+
11185
11199
  function h(type, propsOrChildren, children) {
11186
11200
  const l = arguments.length;
11187
11201
  if (l === 2) {
@@ -11404,11 +11418,11 @@ function isMemoSame(cached, memo) {
11404
11418
  return true;
11405
11419
  }
11406
11420
 
11407
- const version = "3.4.8";
11421
+ const version = "3.4.9";
11408
11422
  const warn = !!(process.env.NODE_ENV !== "production") ? warn$1 : NOOP;
11409
11423
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
11410
- const devtools = !!(process.env.NODE_ENV !== "production") || __VUE_PROD_DEVTOOLS__ ? devtools$1 : void 0;
11411
- const setDevtoolsHook = !!(process.env.NODE_ENV !== "production") || __VUE_PROD_DEVTOOLS__ ? setDevtoolsHook$1 : NOOP;
11424
+ const devtools = !!(process.env.NODE_ENV !== "production") || true ? devtools$1 : void 0;
11425
+ const setDevtoolsHook = !!(process.env.NODE_ENV !== "production") || true ? setDevtoolsHook$1 : NOOP;
11412
11426
  const _ssrUtils = {
11413
11427
  createComponentInstance,
11414
11428
  setupComponent,
@@ -11932,6 +11946,7 @@ function setVarsOnNode(el, vars) {
11932
11946
 
11933
11947
  function patchStyle(el, prev, next) {
11934
11948
  const style = el.style;
11949
+ const currentDisplay = style.display;
11935
11950
  const isCssString = isString(next);
11936
11951
  if (next && !isCssString) {
11937
11952
  if (prev && !isString(prev)) {
@@ -11945,7 +11960,6 @@ function patchStyle(el, prev, next) {
11945
11960
  setStyle(style, key, next[key]);
11946
11961
  }
11947
11962
  } else {
11948
- const currentDisplay = style.display;
11949
11963
  if (isCssString) {
11950
11964
  if (prev !== next) {
11951
11965
  const cssVarText = style[CSS_VAR_TEXT];
@@ -11957,9 +11971,9 @@ function patchStyle(el, prev, next) {
11957
11971
  } else if (prev) {
11958
11972
  el.removeAttribute("style");
11959
11973
  }
11960
- if (vShowOldKey in el) {
11961
- style.display = currentDisplay;
11962
- }
11974
+ }
11975
+ if (vShowOldKey in el) {
11976
+ style.display = currentDisplay;
11963
11977
  }
11964
11978
  }
11965
11979
  const semicolonRE = /[^\\];\s*$/;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/compat v3.4.8
2
+ * @vue/compat v3.4.9
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -3262,6 +3262,10 @@ If this is a native custom element, make sure to exclude it from component resol
3262
3262
  rendererInternals
3263
3263
  );
3264
3264
  } else {
3265
+ if (parentSuspense && parentSuspense.deps > 0) {
3266
+ n2.suspense = n1.suspense;
3267
+ return;
3268
+ }
3265
3269
  patchSuspense(
3266
3270
  n1,
3267
3271
  n2,
@@ -5902,58 +5906,6 @@ If this is a native custom element, make sure to exclude it from component resol
5902
5906
  function useAttrs() {
5903
5907
  return getContext().attrs;
5904
5908
  }
5905
- function useModel(props, name, options = EMPTY_OBJ) {
5906
- const i = getCurrentInstance();
5907
- if (!i) {
5908
- warn$1(`useModel() called without active instance.`);
5909
- return ref();
5910
- }
5911
- if (!i.propsOptions[0][name]) {
5912
- warn$1(`useModel() called with prop "${name}" which is not declared.`);
5913
- return ref();
5914
- }
5915
- const camelizedName = camelize(name);
5916
- const hyphenatedName = hyphenate(name);
5917
- const res = customRef((track, trigger) => {
5918
- let localValue;
5919
- watchSyncEffect(() => {
5920
- const propValue = props[name];
5921
- if (hasChanged(localValue, propValue)) {
5922
- localValue = propValue;
5923
- trigger();
5924
- }
5925
- });
5926
- return {
5927
- get() {
5928
- track();
5929
- return options.get ? options.get(localValue) : localValue;
5930
- },
5931
- set(value) {
5932
- const rawProps = i.vnode.props;
5933
- if (!(rawProps && // check if parent has passed v-model
5934
- (name in rawProps || camelizedName in rawProps || hyphenatedName in rawProps) && (`onUpdate:${name}` in rawProps || `onUpdate:${camelizedName}` in rawProps || `onUpdate:${hyphenatedName}` in rawProps)) && hasChanged(value, localValue)) {
5935
- localValue = value;
5936
- trigger();
5937
- }
5938
- i.emit(`update:${name}`, options.set ? options.set(value) : value);
5939
- }
5940
- };
5941
- });
5942
- const modifierKey = name === "modelValue" ? "modelModifiers" : `${name}Modifiers`;
5943
- res[Symbol.iterator] = () => {
5944
- let i2 = 0;
5945
- return {
5946
- next() {
5947
- if (i2 < 2) {
5948
- return { value: i2++ ? props[modifierKey] || {} : res, done: false };
5949
- } else {
5950
- return { done: true };
5951
- }
5952
- }
5953
- };
5954
- };
5955
- return res;
5956
- }
5957
5909
  function getContext() {
5958
5910
  const i = getCurrentInstance();
5959
5911
  if (!i) {
@@ -6525,7 +6477,7 @@ If this is a native custom element, make sure to exclude it from component resol
6525
6477
  return vm;
6526
6478
  }
6527
6479
  }
6528
- Vue.version = `2.6.14-compat:${"3.4.8"}`;
6480
+ Vue.version = `2.6.14-compat:${"3.4.9"}`;
6529
6481
  Vue.config = singletonApp.config;
6530
6482
  Vue.use = (p, ...options) => {
6531
6483
  if (p && isFunction(p.install)) {
@@ -8276,8 +8228,17 @@ Server rendered element contains fewer child nodes than client vdom.`
8276
8228
  actual = el.hasAttribute(key);
8277
8229
  expected = includeBooleanAttr(clientValue);
8278
8230
  } else {
8279
- actual = el.hasAttribute(key) ? el.getAttribute(key) : key in el ? el[key] : "";
8280
- expected = clientValue == null ? "" : String(clientValue);
8231
+ if (el.hasAttribute(key)) {
8232
+ actual = el.getAttribute(key);
8233
+ } else if (key in el) {
8234
+ const serverValue = el[key];
8235
+ if (!isObject(serverValue)) {
8236
+ actual = serverValue == null ? "" : String(serverValue);
8237
+ }
8238
+ }
8239
+ if (!isObject(clientValue)) {
8240
+ expected = clientValue == null ? "" : String(clientValue);
8241
+ }
8281
8242
  }
8282
8243
  if (actual !== expected) {
8283
8244
  mismatchType = `attribute`;
@@ -8286,15 +8247,15 @@ Server rendered element contains fewer child nodes than client vdom.`
8286
8247
  }
8287
8248
  if (mismatchType) {
8288
8249
  const format = (v) => v === false ? `(not rendered)` : `${mismatchKey}="${v}"`;
8289
- warn$1(
8290
- `Hydration ${mismatchType} mismatch on`,
8291
- el,
8292
- `
8250
+ const preSegment = `Hydration ${mismatchType} mismatch on`;
8251
+ const postSegment = `
8293
8252
  - rendered on server: ${format(actual)}
8294
8253
  - expected on client: ${format(expected)}
8295
8254
  Note: this mismatch is check-only. The DOM will not be rectified in production due to performance overhead.
8296
- You should fix the source of the mismatch.`
8297
- );
8255
+ You should fix the source of the mismatch.`;
8256
+ {
8257
+ warn$1(preSegment, el, postSegment);
8258
+ }
8298
8259
  return true;
8299
8260
  }
8300
8261
  return false;
@@ -11057,6 +11018,59 @@ Component that was made reactive: `,
11057
11018
  return computed$1(getterOrOptions, debugOptions, isInSSRComponentSetup);
11058
11019
  };
11059
11020
 
11021
+ function useModel(props, name, options = EMPTY_OBJ) {
11022
+ const i = getCurrentInstance();
11023
+ if (!i) {
11024
+ warn$1(`useModel() called without active instance.`);
11025
+ return ref();
11026
+ }
11027
+ if (!i.propsOptions[0][name]) {
11028
+ warn$1(`useModel() called with prop "${name}" which is not declared.`);
11029
+ return ref();
11030
+ }
11031
+ const camelizedName = camelize(name);
11032
+ const hyphenatedName = hyphenate(name);
11033
+ const res = customRef((track, trigger) => {
11034
+ let localValue;
11035
+ watchSyncEffect(() => {
11036
+ const propValue = props[name];
11037
+ if (hasChanged(localValue, propValue)) {
11038
+ localValue = propValue;
11039
+ trigger();
11040
+ }
11041
+ });
11042
+ return {
11043
+ get() {
11044
+ track();
11045
+ return options.get ? options.get(localValue) : localValue;
11046
+ },
11047
+ set(value) {
11048
+ const rawProps = i.vnode.props;
11049
+ if (!(rawProps && // check if parent has passed v-model
11050
+ (name in rawProps || camelizedName in rawProps || hyphenatedName in rawProps) && (`onUpdate:${name}` in rawProps || `onUpdate:${camelizedName}` in rawProps || `onUpdate:${hyphenatedName}` in rawProps)) && hasChanged(value, localValue)) {
11051
+ localValue = value;
11052
+ trigger();
11053
+ }
11054
+ i.emit(`update:${name}`, options.set ? options.set(value) : value);
11055
+ }
11056
+ };
11057
+ });
11058
+ const modifierKey = name === "modelValue" ? "modelModifiers" : `${name}Modifiers`;
11059
+ res[Symbol.iterator] = () => {
11060
+ let i2 = 0;
11061
+ return {
11062
+ next() {
11063
+ if (i2 < 2) {
11064
+ return { value: i2++ ? props[modifierKey] || {} : res, done: false };
11065
+ } else {
11066
+ return { done: true };
11067
+ }
11068
+ }
11069
+ };
11070
+ };
11071
+ return res;
11072
+ }
11073
+
11060
11074
  function h(type, propsOrChildren, children) {
11061
11075
  const l = arguments.length;
11062
11076
  if (l === 2) {
@@ -11279,7 +11293,7 @@ Component that was made reactive: `,
11279
11293
  return true;
11280
11294
  }
11281
11295
 
11282
- const version = "3.4.8";
11296
+ const version = "3.4.9";
11283
11297
  const warn = warn$1 ;
11284
11298
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
11285
11299
  const devtools = devtools$1 ;
@@ -11792,6 +11806,7 @@ Component that was made reactive: `,
11792
11806
 
11793
11807
  function patchStyle(el, prev, next) {
11794
11808
  const style = el.style;
11809
+ const currentDisplay = style.display;
11795
11810
  const isCssString = isString(next);
11796
11811
  if (next && !isCssString) {
11797
11812
  if (prev && !isString(prev)) {
@@ -11805,7 +11820,6 @@ Component that was made reactive: `,
11805
11820
  setStyle(style, key, next[key]);
11806
11821
  }
11807
11822
  } else {
11808
- const currentDisplay = style.display;
11809
11823
  if (isCssString) {
11810
11824
  if (prev !== next) {
11811
11825
  const cssVarText = style[CSS_VAR_TEXT];
@@ -11817,9 +11831,9 @@ Component that was made reactive: `,
11817
11831
  } else if (prev) {
11818
11832
  el.removeAttribute("style");
11819
11833
  }
11820
- if (vShowOldKey in el) {
11821
- style.display = currentDisplay;
11822
- }
11834
+ }
11835
+ if (vShowOldKey in el) {
11836
+ style.display = currentDisplay;
11823
11837
  }
11824
11838
  }
11825
11839
  const semicolonRE = /[^\\];\s*$/;