@vue/compat 3.4.0 → 3.4.1

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
@@ -3903,6 +3903,19 @@ function mapCompatDirectiveHook(name, dir, instance) {
3903
3903
  }
3904
3904
  }
3905
3905
 
3906
+ const ssrContextKey = Symbol.for("v-scx");
3907
+ const useSSRContext = () => {
3908
+ {
3909
+ const ctx = inject(ssrContextKey);
3910
+ if (!ctx) {
3911
+ warn$1(
3912
+ `Server rendering context not provided. Make sure to only call useSSRContext() conditionally in the server build.`
3913
+ );
3914
+ }
3915
+ return ctx;
3916
+ }
3917
+ };
3918
+
3906
3919
  function watchEffect(effect, options) {
3907
3920
  return doWatch(effect, null, options);
3908
3921
  }
@@ -5964,6 +5977,7 @@ function useModel(props, name, options = EMPTY_OBJ) {
5964
5977
  warn$1(`useModel() called with prop "${name}" which is not declared.`);
5965
5978
  return ref();
5966
5979
  }
5980
+ const camelizedName = camelize(name);
5967
5981
  const res = customRef((track, trigger) => {
5968
5982
  let localValue;
5969
5983
  watchSyncEffect(() => {
@@ -5980,7 +5994,8 @@ function useModel(props, name, options = EMPTY_OBJ) {
5980
5994
  },
5981
5995
  set(value) {
5982
5996
  const rawProps = i.vnode.props;
5983
- if (!(rawProps && name in rawProps) && hasChanged(value, localValue)) {
5997
+ if (!(rawProps && // check if parent has passed v-model
5998
+ (name in rawProps || camelizedName in rawProps) && (`onUpdate:${name}` in rawProps || `onUpdate:${camelizedName}` in rawProps)) && hasChanged(value, localValue)) {
5984
5999
  localValue = value;
5985
6000
  trigger();
5986
6001
  }
@@ -5994,7 +6009,7 @@ function useModel(props, name, options = EMPTY_OBJ) {
5994
6009
  return {
5995
6010
  next() {
5996
6011
  if (i2 < 2) {
5997
- return { value: i2++ ? props[modifierKey] : res, done: false };
6012
+ return { value: i2++ ? props[modifierKey] || {} : res, done: false };
5998
6013
  } else {
5999
6014
  return { done: true };
6000
6015
  }
@@ -6574,7 +6589,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
6574
6589
  return vm;
6575
6590
  }
6576
6591
  }
6577
- Vue.version = `2.6.14-compat:${"3.4.0"}`;
6592
+ Vue.version = `2.6.14-compat:${"3.4.1"}`;
6578
6593
  Vue.config = singletonApp.config;
6579
6594
  Vue.use = (p, ...options) => {
6580
6595
  if (p && isFunction(p.install)) {
@@ -11093,19 +11108,6 @@ function h(type, propsOrChildren, children) {
11093
11108
  }
11094
11109
  }
11095
11110
 
11096
- const ssrContextKey = Symbol.for("v-scx");
11097
- const useSSRContext = () => {
11098
- {
11099
- const ctx = inject(ssrContextKey);
11100
- if (!ctx) {
11101
- warn$1(
11102
- `Server rendering context not provided. Make sure to only call useSSRContext() conditionally in the server build.`
11103
- );
11104
- }
11105
- return ctx;
11106
- }
11107
- };
11108
-
11109
11111
  function initCustomFormatter() {
11110
11112
  if (typeof window === "undefined") {
11111
11113
  return;
@@ -11307,7 +11309,7 @@ function isMemoSame(cached, memo) {
11307
11309
  return true;
11308
11310
  }
11309
11311
 
11310
- const version = "3.4.0";
11312
+ const version = "3.4.1";
11311
11313
  const warn = warn$1 ;
11312
11314
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
11313
11315
  const devtools = devtools$1 ;
@@ -14276,7 +14278,7 @@ const deprecationData = {
14276
14278
  message: `"inline-template" has been removed in Vue 3.`,
14277
14279
  link: `https://v3-migration.vuejs.org/breaking-changes/inline-template-attribute.html`
14278
14280
  },
14279
- ["COMPILER_FILTER"]: {
14281
+ ["COMPILER_FILTERS"]: {
14280
14282
  message: `filters have been removed in Vue 3. The "|" symbol will be treated as native JavaScript bitwise OR operator. Use method calls or computed properties instead.`,
14281
14283
  link: `https://v3-migration.vuejs.org/breaking-changes/filters.html`
14282
14284
  }
@@ -19020,7 +19022,7 @@ function createTransformProps(props = []) {
19020
19022
 
19021
19023
  const validDivisionCharRE = /[\w).+\-_$\]]/;
19022
19024
  const transformFilter = (node, context) => {
19023
- if (!isCompatEnabled("COMPILER_FILTER", context)) {
19025
+ if (!isCompatEnabled("COMPILER_FILTERS", context)) {
19024
19026
  return;
19025
19027
  }
19026
19028
  if (node.type === 5) {
@@ -19141,7 +19143,7 @@ function parseFilter(node, context) {
19141
19143
  }
19142
19144
  if (filters.length) {
19143
19145
  warnDeprecation(
19144
- "COMPILER_FILTER",
19146
+ "COMPILER_FILTERS",
19145
19147
  context,
19146
19148
  node.loc
19147
19149
  );
@@ -2935,6 +2935,14 @@ function mapCompatDirectiveHook(name, dir, instance) {
2935
2935
  }
2936
2936
  }
2937
2937
 
2938
+ const ssrContextKey = Symbol.for("v-scx");
2939
+ const useSSRContext = () => {
2940
+ {
2941
+ const ctx = inject(ssrContextKey);
2942
+ return ctx;
2943
+ }
2944
+ };
2945
+
2938
2946
  function watchEffect(effect, options) {
2939
2947
  return doWatch(effect, null, options);
2940
2948
  }
@@ -4768,6 +4776,7 @@ function useAttrs() {
4768
4776
  }
4769
4777
  function useModel(props, name, options = EMPTY_OBJ) {
4770
4778
  const i = getCurrentInstance();
4779
+ const camelizedName = camelize(name);
4771
4780
  const res = customRef((track, trigger) => {
4772
4781
  let localValue;
4773
4782
  watchSyncEffect(() => {
@@ -4784,7 +4793,8 @@ function useModel(props, name, options = EMPTY_OBJ) {
4784
4793
  },
4785
4794
  set(value) {
4786
4795
  const rawProps = i.vnode.props;
4787
- if (!(rawProps && name in rawProps) && hasChanged(value, localValue)) {
4796
+ if (!(rawProps && // check if parent has passed v-model
4797
+ (name in rawProps || camelizedName in rawProps) && (`onUpdate:${name}` in rawProps || `onUpdate:${camelizedName}` in rawProps)) && hasChanged(value, localValue)) {
4788
4798
  localValue = value;
4789
4799
  trigger();
4790
4800
  }
@@ -4798,7 +4808,7 @@ function useModel(props, name, options = EMPTY_OBJ) {
4798
4808
  return {
4799
4809
  next() {
4800
4810
  if (i2 < 2) {
4801
- return { value: i2++ ? props[modifierKey] : res, done: false };
4811
+ return { value: i2++ ? props[modifierKey] || {} : res, done: false };
4802
4812
  } else {
4803
4813
  return { done: true };
4804
4814
  }
@@ -5265,7 +5275,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
5265
5275
  return vm;
5266
5276
  }
5267
5277
  }
5268
- Vue.version = `2.6.14-compat:${"3.4.0"}`;
5278
+ Vue.version = `2.6.14-compat:${"3.4.1"}`;
5269
5279
  Vue.config = singletonApp.config;
5270
5280
  Vue.use = (p, ...options) => {
5271
5281
  if (p && isFunction(p.install)) {
@@ -9034,14 +9044,6 @@ function h(type, propsOrChildren, children) {
9034
9044
  }
9035
9045
  }
9036
9046
 
9037
- const ssrContextKey = Symbol.for("v-scx");
9038
- const useSSRContext = () => {
9039
- {
9040
- const ctx = inject(ssrContextKey);
9041
- return ctx;
9042
- }
9043
- };
9044
-
9045
9047
  function initCustomFormatter() {
9046
9048
  {
9047
9049
  return;
@@ -9073,7 +9075,7 @@ function isMemoSame(cached, memo) {
9073
9075
  return true;
9074
9076
  }
9075
9077
 
9076
- const version = "3.4.0";
9078
+ const version = "3.4.1";
9077
9079
  const warn$1 = NOOP;
9078
9080
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
9079
9081
  const devtools = void 0;
@@ -16493,7 +16495,7 @@ function createTransformProps(props = []) {
16493
16495
 
16494
16496
  const validDivisionCharRE = /[\w).+\-_$\]]/;
16495
16497
  const transformFilter = (node, context) => {
16496
- if (!isCompatEnabled("COMPILER_FILTER", context)) {
16498
+ if (!isCompatEnabled("COMPILER_FILTERS", context)) {
16497
16499
  return;
16498
16500
  }
16499
16501
  if (node.type === 5) {
@@ -3852,6 +3852,19 @@ function mapCompatDirectiveHook(name, dir, instance) {
3852
3852
  }
3853
3853
  }
3854
3854
 
3855
+ const ssrContextKey = Symbol.for("v-scx");
3856
+ const useSSRContext = () => {
3857
+ {
3858
+ const ctx = inject(ssrContextKey);
3859
+ if (!ctx) {
3860
+ warn$1(
3861
+ `Server rendering context not provided. Make sure to only call useSSRContext() conditionally in the server build.`
3862
+ );
3863
+ }
3864
+ return ctx;
3865
+ }
3866
+ };
3867
+
3855
3868
  function watchEffect(effect, options) {
3856
3869
  return doWatch(effect, null, options);
3857
3870
  }
@@ -5886,6 +5899,7 @@ function useModel(props, name, options = EMPTY_OBJ) {
5886
5899
  warn$1(`useModel() called with prop "${name}" which is not declared.`);
5887
5900
  return ref();
5888
5901
  }
5902
+ const camelizedName = camelize(name);
5889
5903
  const res = customRef((track, trigger) => {
5890
5904
  let localValue;
5891
5905
  watchSyncEffect(() => {
@@ -5902,7 +5916,8 @@ function useModel(props, name, options = EMPTY_OBJ) {
5902
5916
  },
5903
5917
  set(value) {
5904
5918
  const rawProps = i.vnode.props;
5905
- if (!(rawProps && name in rawProps) && hasChanged(value, localValue)) {
5919
+ if (!(rawProps && // check if parent has passed v-model
5920
+ (name in rawProps || camelizedName in rawProps) && (`onUpdate:${name}` in rawProps || `onUpdate:${camelizedName}` in rawProps)) && hasChanged(value, localValue)) {
5906
5921
  localValue = value;
5907
5922
  trigger();
5908
5923
  }
@@ -5916,7 +5931,7 @@ function useModel(props, name, options = EMPTY_OBJ) {
5916
5931
  return {
5917
5932
  next() {
5918
5933
  if (i2 < 2) {
5919
- return { value: i2++ ? props[modifierKey] : res, done: false };
5934
+ return { value: i2++ ? props[modifierKey] || {} : res, done: false };
5920
5935
  } else {
5921
5936
  return { done: true };
5922
5937
  }
@@ -6496,7 +6511,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
6496
6511
  return vm;
6497
6512
  }
6498
6513
  }
6499
- Vue.version = `2.6.14-compat:${"3.4.0"}`;
6514
+ Vue.version = `2.6.14-compat:${"3.4.1"}`;
6500
6515
  Vue.config = singletonApp.config;
6501
6516
  Vue.use = (p, ...options) => {
6502
6517
  if (p && isFunction(p.install)) {
@@ -10998,19 +11013,6 @@ function h(type, propsOrChildren, children) {
10998
11013
  }
10999
11014
  }
11000
11015
 
11001
- const ssrContextKey = Symbol.for("v-scx");
11002
- const useSSRContext = () => {
11003
- {
11004
- const ctx = inject(ssrContextKey);
11005
- if (!ctx) {
11006
- warn$1(
11007
- `Server rendering context not provided. Make sure to only call useSSRContext() conditionally in the server build.`
11008
- );
11009
- }
11010
- return ctx;
11011
- }
11012
- };
11013
-
11014
11016
  function initCustomFormatter() {
11015
11017
  if (typeof window === "undefined") {
11016
11018
  return;
@@ -11212,7 +11214,7 @@ function isMemoSame(cached, memo) {
11212
11214
  return true;
11213
11215
  }
11214
11216
 
11215
- const version = "3.4.0";
11217
+ const version = "3.4.1";
11216
11218
  const warn = warn$1 ;
11217
11219
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
11218
11220
  const devtools = devtools$1 ;
@@ -14136,7 +14138,7 @@ const deprecationData = {
14136
14138
  message: `"inline-template" has been removed in Vue 3.`,
14137
14139
  link: `https://v3-migration.vuejs.org/breaking-changes/inline-template-attribute.html`
14138
14140
  },
14139
- ["COMPILER_FILTER"]: {
14141
+ ["COMPILER_FILTERS"]: {
14140
14142
  message: `filters have been removed in Vue 3. The "|" symbol will be treated as native JavaScript bitwise OR operator. Use method calls or computed properties instead.`,
14141
14143
  link: `https://v3-migration.vuejs.org/breaking-changes/filters.html`
14142
14144
  }
@@ -18001,7 +18003,7 @@ function createTransformProps(props = []) {
18001
18003
 
18002
18004
  const validDivisionCharRE = /[\w).+\-_$\]]/;
18003
18005
  const transformFilter = (node, context) => {
18004
- if (!isCompatEnabled("COMPILER_FILTER", context)) {
18006
+ if (!isCompatEnabled("COMPILER_FILTERS", context)) {
18005
18007
  return;
18006
18008
  }
18007
18009
  if (node.type === 5) {
@@ -18122,7 +18124,7 @@ function parseFilter(node, context) {
18122
18124
  }
18123
18125
  if (filters.length) {
18124
18126
  warnDeprecation(
18125
- "COMPILER_FILTER",
18127
+ "COMPILER_FILTERS",
18126
18128
  context,
18127
18129
  node.loc
18128
18130
  );