vue 2.7.12 → 2.7.14

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.esm.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vue.js v2.7.12
2
+ * Vue.js v2.7.14
3
3
  * (c) 2014-2022 Evan You
4
4
  * Released under the MIT License.
5
5
  */
@@ -878,77 +878,6 @@ methodsToPatch.forEach(function (method) {
878
878
  });
879
879
  });
880
880
 
881
- var rawMap = new WeakMap();
882
- function reactive(target) {
883
- makeReactive(target, false);
884
- return target;
885
- }
886
- /**
887
- * Return a shallowly-reactive copy of the original object, where only the root
888
- * level properties are reactive. It also does not auto-unwrap refs (even at the
889
- * root level).
890
- */
891
- function shallowReactive(target) {
892
- makeReactive(target, true);
893
- def(target, "__v_isShallow" /* ReactiveFlags.IS_SHALLOW */, true);
894
- return target;
895
- }
896
- function makeReactive(target, shallow) {
897
- // if trying to observe a readonly proxy, return the readonly version.
898
- if (!isReadonly(target)) {
899
- if (process.env.NODE_ENV !== 'production') {
900
- if (isArray(target)) {
901
- warn$2("Avoid using Array as root value for ".concat(shallow ? "shallowReactive()" : "reactive()", " as it cannot be tracked in watch() or watchEffect(). Use ").concat(shallow ? "shallowRef()" : "ref()", " instead. This is a Vue-2-only limitation."));
902
- }
903
- var existingOb = target && target.__ob__;
904
- if (existingOb && existingOb.shallow !== shallow) {
905
- warn$2("Target is already a ".concat(existingOb.shallow ? "" : "non-", "shallow reactive object, and cannot be converted to ").concat(shallow ? "" : "non-", "shallow."));
906
- }
907
- }
908
- var ob = observe(target, shallow, isServerRendering() /* ssr mock reactivity */);
909
- if (process.env.NODE_ENV !== 'production' && !ob) {
910
- if (target == null || isPrimitive(target)) {
911
- warn$2("value cannot be made reactive: ".concat(String(target)));
912
- }
913
- if (isCollectionType(target)) {
914
- warn$2("Vue 2 does not support reactive collection types such as Map or Set.");
915
- }
916
- }
917
- }
918
- }
919
- function isReactive(value) {
920
- if (isReadonly(value)) {
921
- return isReactive(value["__v_raw" /* ReactiveFlags.RAW */]);
922
- }
923
- return !!(value && value.__ob__);
924
- }
925
- function isShallow(value) {
926
- return !!(value && value.__v_isShallow);
927
- }
928
- function isReadonly(value) {
929
- return !!(value && value.__v_isReadonly);
930
- }
931
- function isProxy(value) {
932
- return isReactive(value) || isReadonly(value);
933
- }
934
- function toRaw(observed) {
935
- var raw = observed && observed["__v_raw" /* ReactiveFlags.RAW */];
936
- return raw ? toRaw(raw) : observed;
937
- }
938
- function markRaw(value) {
939
- if (isObject(value)) {
940
- rawMap.set(value, true);
941
- }
942
- return value;
943
- }
944
- /**
945
- * @internal
946
- */
947
- function isCollectionType(value) {
948
- var type = toRawType(value);
949
- return (type === 'Map' || type === 'WeakMap' || type === 'Set' || type === 'WeakSet');
950
- }
951
-
952
881
  var arrayKeys = Object.getOwnPropertyNames(arrayMethods);
953
882
  var NO_INIITIAL_VALUE = {};
954
883
  /**
@@ -1038,7 +967,6 @@ function observe(value, shallow, ssrMockReactivity) {
1038
967
  (isArray(value) || isPlainObject(value)) &&
1039
968
  Object.isExtensible(value) &&
1040
969
  !value.__v_skip /* ReactiveFlags.SKIP */ &&
1041
- !rawMap.has(value) &&
1042
970
  !isRef(value) &&
1043
971
  !(value instanceof VNode)) {
1044
972
  return new Observer(value, shallow, ssrMockReactivity);
@@ -1226,6 +1154,77 @@ function dependArray(value) {
1226
1154
  }
1227
1155
  }
1228
1156
 
1157
+ function reactive(target) {
1158
+ makeReactive(target, false);
1159
+ return target;
1160
+ }
1161
+ /**
1162
+ * Return a shallowly-reactive copy of the original object, where only the root
1163
+ * level properties are reactive. It also does not auto-unwrap refs (even at the
1164
+ * root level).
1165
+ */
1166
+ function shallowReactive(target) {
1167
+ makeReactive(target, true);
1168
+ def(target, "__v_isShallow" /* ReactiveFlags.IS_SHALLOW */, true);
1169
+ return target;
1170
+ }
1171
+ function makeReactive(target, shallow) {
1172
+ // if trying to observe a readonly proxy, return the readonly version.
1173
+ if (!isReadonly(target)) {
1174
+ if (process.env.NODE_ENV !== 'production') {
1175
+ if (isArray(target)) {
1176
+ warn$2("Avoid using Array as root value for ".concat(shallow ? "shallowReactive()" : "reactive()", " as it cannot be tracked in watch() or watchEffect(). Use ").concat(shallow ? "shallowRef()" : "ref()", " instead. This is a Vue-2-only limitation."));
1177
+ }
1178
+ var existingOb = target && target.__ob__;
1179
+ if (existingOb && existingOb.shallow !== shallow) {
1180
+ warn$2("Target is already a ".concat(existingOb.shallow ? "" : "non-", "shallow reactive object, and cannot be converted to ").concat(shallow ? "" : "non-", "shallow."));
1181
+ }
1182
+ }
1183
+ var ob = observe(target, shallow, isServerRendering() /* ssr mock reactivity */);
1184
+ if (process.env.NODE_ENV !== 'production' && !ob) {
1185
+ if (target == null || isPrimitive(target)) {
1186
+ warn$2("value cannot be made reactive: ".concat(String(target)));
1187
+ }
1188
+ if (isCollectionType(target)) {
1189
+ warn$2("Vue 2 does not support reactive collection types such as Map or Set.");
1190
+ }
1191
+ }
1192
+ }
1193
+ }
1194
+ function isReactive(value) {
1195
+ if (isReadonly(value)) {
1196
+ return isReactive(value["__v_raw" /* ReactiveFlags.RAW */]);
1197
+ }
1198
+ return !!(value && value.__ob__);
1199
+ }
1200
+ function isShallow(value) {
1201
+ return !!(value && value.__v_isShallow);
1202
+ }
1203
+ function isReadonly(value) {
1204
+ return !!(value && value.__v_isReadonly);
1205
+ }
1206
+ function isProxy(value) {
1207
+ return isReactive(value) || isReadonly(value);
1208
+ }
1209
+ function toRaw(observed) {
1210
+ var raw = observed && observed["__v_raw" /* ReactiveFlags.RAW */];
1211
+ return raw ? toRaw(raw) : observed;
1212
+ }
1213
+ function markRaw(value) {
1214
+ // non-extensible objects won't be observed anyway
1215
+ if (Object.isExtensible(value)) {
1216
+ def(value, "__v_skip" /* ReactiveFlags.SKIP */, true);
1217
+ }
1218
+ return value;
1219
+ }
1220
+ /**
1221
+ * @internal
1222
+ */
1223
+ function isCollectionType(value) {
1224
+ var type = toRawType(value);
1225
+ return (type === 'Map' || type === 'WeakMap' || type === 'Set' || type === 'WeakSet');
1226
+ }
1227
+
1229
1228
  /**
1230
1229
  * @internal
1231
1230
  */
@@ -1370,8 +1369,8 @@ function toRef(object, key, defaultValue) {
1370
1369
  return ref;
1371
1370
  }
1372
1371
 
1373
- var rawToReadonlyMap = new WeakMap();
1374
- var rawToShallowReadonlyMap = new WeakMap();
1372
+ var rawToReadonlyFlag = "__v_rawToReadonly";
1373
+ var rawToShallowReadonlyFlag = "__v_rawToShallowReadonly";
1375
1374
  function readonly(target) {
1376
1375
  return createReadonly(target, false);
1377
1376
  }
@@ -1390,18 +1389,21 @@ function createReadonly(target, shallow) {
1390
1389
  }
1391
1390
  return target;
1392
1391
  }
1392
+ if (process.env.NODE_ENV !== 'production' && !Object.isExtensible(target)) {
1393
+ warn$2("Vue 2 does not support creating readonly proxy for non-extensible object.");
1394
+ }
1393
1395
  // already a readonly object
1394
1396
  if (isReadonly(target)) {
1395
1397
  return target;
1396
1398
  }
1397
1399
  // already has a readonly proxy
1398
- var map = shallow ? rawToShallowReadonlyMap : rawToReadonlyMap;
1399
- var existingProxy = map.get(target);
1400
+ var existingFlag = shallow ? rawToShallowReadonlyFlag : rawToReadonlyFlag;
1401
+ var existingProxy = target[existingFlag];
1400
1402
  if (existingProxy) {
1401
1403
  return existingProxy;
1402
1404
  }
1403
1405
  var proxy = Object.create(Object.getPrototypeOf(target));
1404
- map.set(target, proxy);
1406
+ def(target, existingFlag, proxy);
1405
1407
  def(proxy, "__v_isReadonly" /* ReactiveFlags.IS_READONLY */, true);
1406
1408
  def(proxy, "__v_raw" /* ReactiveFlags.RAW */, target);
1407
1409
  if (isRef(target)) {
@@ -3529,6 +3531,7 @@ var activeEffectScope;
3529
3531
  var EffectScope = /** @class */ (function () {
3530
3532
  function EffectScope(detached) {
3531
3533
  if (detached === void 0) { detached = false; }
3534
+ this.detached = detached;
3532
3535
  /**
3533
3536
  * @internal
3534
3537
  */
@@ -3541,8 +3544,8 @@ var EffectScope = /** @class */ (function () {
3541
3544
  * @internal
3542
3545
  */
3543
3546
  this.cleanups = [];
3547
+ this.parent = activeEffectScope;
3544
3548
  if (!detached && activeEffectScope) {
3545
- this.parent = activeEffectScope;
3546
3549
  this.index =
3547
3550
  (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(this) - 1;
3548
3551
  }
@@ -3591,7 +3594,7 @@ var EffectScope = /** @class */ (function () {
3591
3594
  }
3592
3595
  }
3593
3596
  // nested scope, dereference from parent to avoid memory leaks
3594
- if (this.parent && !fromParent) {
3597
+ if (!this.detached && this.parent && !fromParent) {
3595
3598
  // optimized O(1) removal
3596
3599
  var last = this.parent.scopes.pop();
3597
3600
  if (last && last !== this) {
@@ -3599,6 +3602,7 @@ var EffectScope = /** @class */ (function () {
3599
3602
  last.index = this.index;
3600
3603
  }
3601
3604
  }
3605
+ this.parent = undefined;
3602
3606
  this.active = false;
3603
3607
  }
3604
3608
  };
@@ -4037,7 +4041,7 @@ function onErrorCaptured(hook, target) {
4037
4041
  /**
4038
4042
  * Note: also update dist/vue.runtime.mjs when adding new exports to this file.
4039
4043
  */
4040
- var version = '2.7.12';
4044
+ var version = '2.7.14';
4041
4045
  /**
4042
4046
  * @internal type is manually declared in <root>/types/v3-define-component.d.ts
4043
4047
  */
@@ -4060,6 +4064,7 @@ function _traverse(val, seen) {
4060
4064
  var i, keys;
4061
4065
  var isA = isArray(val);
4062
4066
  if ((!isA && !isObject(val)) ||
4067
+ val.__v_skip /* ReactiveFlags.SKIP */ ||
4063
4068
  Object.isFrozen(val) ||
4064
4069
  val instanceof VNode) {
4065
4070
  return;
@@ -5190,7 +5195,8 @@ if (process.env.NODE_ENV !== 'production') {
5190
5195
  /**
5191
5196
  * Helper that recursively merges two data objects together.
5192
5197
  */
5193
- function mergeData(to, from) {
5198
+ function mergeData(to, from, recursive) {
5199
+ if (recursive === void 0) { recursive = true; }
5194
5200
  if (!from)
5195
5201
  return to;
5196
5202
  var key, toVal, fromVal;
@@ -5204,7 +5210,7 @@ function mergeData(to, from) {
5204
5210
  continue;
5205
5211
  toVal = to[key];
5206
5212
  fromVal = from[key];
5207
- if (!hasOwn(to, key)) {
5213
+ if (!recursive || !hasOwn(to, key)) {
5208
5214
  set(to, key, fromVal);
5209
5215
  }
5210
5216
  else if (toVal !== fromVal &&
@@ -5365,7 +5371,19 @@ strats.props =
5365
5371
  extend(ret, childVal);
5366
5372
  return ret;
5367
5373
  };
5368
- strats.provide = mergeDataOrFn;
5374
+ strats.provide = function (parentVal, childVal) {
5375
+ if (!parentVal)
5376
+ return childVal;
5377
+ return function () {
5378
+ var ret = Object.create(null);
5379
+ mergeData(ret, isFunction(parentVal) ? parentVal.call(this) : parentVal);
5380
+ if (childVal) {
5381
+ mergeData(ret, isFunction(childVal) ? childVal.call(this) : childVal, false // non-recursive
5382
+ );
5383
+ }
5384
+ return ret;
5385
+ };
5386
+ };
5369
5387
  /**
5370
5388
  * Default strategy.
5371
5389
  */
@@ -11127,7 +11145,7 @@ function genFor(el, state, altGen, altHelper) {
11127
11145
  !el.key) {
11128
11146
  state.warn("<".concat(el.tag, " v-for=\"").concat(alias, " in ").concat(exp, "\">: component lists rendered with ") +
11129
11147
  "v-for should have explicit keys. " +
11130
- "See https://vuejs.org/guide/list.html#key for more info.", el.rawAttrsMap['v-for'], true /* tip */);
11148
+ "See https://v2.vuejs.org/v2/guide/list.html#key for more info.", el.rawAttrsMap['v-for'], true /* tip */);
11131
11149
  }
11132
11150
  el.forProcessed = true; // avoid recursion
11133
11151
  return ("".concat(altHelper || '_l', "((").concat(exp, "),") +
package/dist/vue.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vue.js v2.7.12
2
+ * Vue.js v2.7.14
3
3
  * (c) 2014-2022 Evan You
4
4
  * Released under the MIT License.
5
5
  */
@@ -881,77 +881,6 @@
881
881
  });
882
882
  });
883
883
 
884
- var rawMap = new WeakMap();
885
- function reactive(target) {
886
- makeReactive(target, false);
887
- return target;
888
- }
889
- /**
890
- * Return a shallowly-reactive copy of the original object, where only the root
891
- * level properties are reactive. It also does not auto-unwrap refs (even at the
892
- * root level).
893
- */
894
- function shallowReactive(target) {
895
- makeReactive(target, true);
896
- def(target, "__v_isShallow" /* ReactiveFlags.IS_SHALLOW */, true);
897
- return target;
898
- }
899
- function makeReactive(target, shallow) {
900
- // if trying to observe a readonly proxy, return the readonly version.
901
- if (!isReadonly(target)) {
902
- {
903
- if (isArray(target)) {
904
- warn$2("Avoid using Array as root value for ".concat(shallow ? "shallowReactive()" : "reactive()", " as it cannot be tracked in watch() or watchEffect(). Use ").concat(shallow ? "shallowRef()" : "ref()", " instead. This is a Vue-2-only limitation."));
905
- }
906
- var existingOb = target && target.__ob__;
907
- if (existingOb && existingOb.shallow !== shallow) {
908
- warn$2("Target is already a ".concat(existingOb.shallow ? "" : "non-", "shallow reactive object, and cannot be converted to ").concat(shallow ? "" : "non-", "shallow."));
909
- }
910
- }
911
- var ob = observe(target, shallow, isServerRendering() /* ssr mock reactivity */);
912
- if (!ob) {
913
- if (target == null || isPrimitive(target)) {
914
- warn$2("value cannot be made reactive: ".concat(String(target)));
915
- }
916
- if (isCollectionType(target)) {
917
- warn$2("Vue 2 does not support reactive collection types such as Map or Set.");
918
- }
919
- }
920
- }
921
- }
922
- function isReactive(value) {
923
- if (isReadonly(value)) {
924
- return isReactive(value["__v_raw" /* ReactiveFlags.RAW */]);
925
- }
926
- return !!(value && value.__ob__);
927
- }
928
- function isShallow(value) {
929
- return !!(value && value.__v_isShallow);
930
- }
931
- function isReadonly(value) {
932
- return !!(value && value.__v_isReadonly);
933
- }
934
- function isProxy(value) {
935
- return isReactive(value) || isReadonly(value);
936
- }
937
- function toRaw(observed) {
938
- var raw = observed && observed["__v_raw" /* ReactiveFlags.RAW */];
939
- return raw ? toRaw(raw) : observed;
940
- }
941
- function markRaw(value) {
942
- if (isObject(value)) {
943
- rawMap.set(value, true);
944
- }
945
- return value;
946
- }
947
- /**
948
- * @internal
949
- */
950
- function isCollectionType(value) {
951
- var type = toRawType(value);
952
- return (type === 'Map' || type === 'WeakMap' || type === 'Set' || type === 'WeakSet');
953
- }
954
-
955
884
  var arrayKeys = Object.getOwnPropertyNames(arrayMethods);
956
885
  var NO_INIITIAL_VALUE = {};
957
886
  /**
@@ -1041,7 +970,6 @@
1041
970
  (isArray(value) || isPlainObject(value)) &&
1042
971
  Object.isExtensible(value) &&
1043
972
  !value.__v_skip /* ReactiveFlags.SKIP */ &&
1044
- !rawMap.has(value) &&
1045
973
  !isRef(value) &&
1046
974
  !(value instanceof VNode)) {
1047
975
  return new Observer(value, shallow, ssrMockReactivity);
@@ -1214,6 +1142,77 @@
1214
1142
  }
1215
1143
  }
1216
1144
 
1145
+ function reactive(target) {
1146
+ makeReactive(target, false);
1147
+ return target;
1148
+ }
1149
+ /**
1150
+ * Return a shallowly-reactive copy of the original object, where only the root
1151
+ * level properties are reactive. It also does not auto-unwrap refs (even at the
1152
+ * root level).
1153
+ */
1154
+ function shallowReactive(target) {
1155
+ makeReactive(target, true);
1156
+ def(target, "__v_isShallow" /* ReactiveFlags.IS_SHALLOW */, true);
1157
+ return target;
1158
+ }
1159
+ function makeReactive(target, shallow) {
1160
+ // if trying to observe a readonly proxy, return the readonly version.
1161
+ if (!isReadonly(target)) {
1162
+ {
1163
+ if (isArray(target)) {
1164
+ warn$2("Avoid using Array as root value for ".concat(shallow ? "shallowReactive()" : "reactive()", " as it cannot be tracked in watch() or watchEffect(). Use ").concat(shallow ? "shallowRef()" : "ref()", " instead. This is a Vue-2-only limitation."));
1165
+ }
1166
+ var existingOb = target && target.__ob__;
1167
+ if (existingOb && existingOb.shallow !== shallow) {
1168
+ warn$2("Target is already a ".concat(existingOb.shallow ? "" : "non-", "shallow reactive object, and cannot be converted to ").concat(shallow ? "" : "non-", "shallow."));
1169
+ }
1170
+ }
1171
+ var ob = observe(target, shallow, isServerRendering() /* ssr mock reactivity */);
1172
+ if (!ob) {
1173
+ if (target == null || isPrimitive(target)) {
1174
+ warn$2("value cannot be made reactive: ".concat(String(target)));
1175
+ }
1176
+ if (isCollectionType(target)) {
1177
+ warn$2("Vue 2 does not support reactive collection types such as Map or Set.");
1178
+ }
1179
+ }
1180
+ }
1181
+ }
1182
+ function isReactive(value) {
1183
+ if (isReadonly(value)) {
1184
+ return isReactive(value["__v_raw" /* ReactiveFlags.RAW */]);
1185
+ }
1186
+ return !!(value && value.__ob__);
1187
+ }
1188
+ function isShallow(value) {
1189
+ return !!(value && value.__v_isShallow);
1190
+ }
1191
+ function isReadonly(value) {
1192
+ return !!(value && value.__v_isReadonly);
1193
+ }
1194
+ function isProxy(value) {
1195
+ return isReactive(value) || isReadonly(value);
1196
+ }
1197
+ function toRaw(observed) {
1198
+ var raw = observed && observed["__v_raw" /* ReactiveFlags.RAW */];
1199
+ return raw ? toRaw(raw) : observed;
1200
+ }
1201
+ function markRaw(value) {
1202
+ // non-extensible objects won't be observed anyway
1203
+ if (Object.isExtensible(value)) {
1204
+ def(value, "__v_skip" /* ReactiveFlags.SKIP */, true);
1205
+ }
1206
+ return value;
1207
+ }
1208
+ /**
1209
+ * @internal
1210
+ */
1211
+ function isCollectionType(value) {
1212
+ var type = toRawType(value);
1213
+ return (type === 'Map' || type === 'WeakMap' || type === 'Set' || type === 'WeakSet');
1214
+ }
1215
+
1217
1216
  /**
1218
1217
  * @internal
1219
1218
  */
@@ -1349,8 +1348,8 @@
1349
1348
  return ref;
1350
1349
  }
1351
1350
 
1352
- var rawToReadonlyMap = new WeakMap();
1353
- var rawToShallowReadonlyMap = new WeakMap();
1351
+ var rawToReadonlyFlag = "__v_rawToReadonly";
1352
+ var rawToShallowReadonlyFlag = "__v_rawToShallowReadonly";
1354
1353
  function readonly(target) {
1355
1354
  return createReadonly(target, false);
1356
1355
  }
@@ -1369,18 +1368,21 @@
1369
1368
  }
1370
1369
  return target;
1371
1370
  }
1371
+ if (!Object.isExtensible(target)) {
1372
+ warn$2("Vue 2 does not support creating readonly proxy for non-extensible object.");
1373
+ }
1372
1374
  // already a readonly object
1373
1375
  if (isReadonly(target)) {
1374
1376
  return target;
1375
1377
  }
1376
1378
  // already has a readonly proxy
1377
- var map = shallow ? rawToShallowReadonlyMap : rawToReadonlyMap;
1378
- var existingProxy = map.get(target);
1379
+ var existingFlag = shallow ? rawToShallowReadonlyFlag : rawToReadonlyFlag;
1380
+ var existingProxy = target[existingFlag];
1379
1381
  if (existingProxy) {
1380
1382
  return existingProxy;
1381
1383
  }
1382
1384
  var proxy = Object.create(Object.getPrototypeOf(target));
1383
- map.set(target, proxy);
1385
+ def(target, existingFlag, proxy);
1384
1386
  def(proxy, "__v_isReadonly" /* ReactiveFlags.IS_READONLY */, true);
1385
1387
  def(proxy, "__v_raw" /* ReactiveFlags.RAW */, target);
1386
1388
  if (isRef(target)) {
@@ -3495,6 +3497,7 @@
3495
3497
  var EffectScope = /** @class */ (function () {
3496
3498
  function EffectScope(detached) {
3497
3499
  if (detached === void 0) { detached = false; }
3500
+ this.detached = detached;
3498
3501
  /**
3499
3502
  * @internal
3500
3503
  */
@@ -3507,8 +3510,8 @@
3507
3510
  * @internal
3508
3511
  */
3509
3512
  this.cleanups = [];
3513
+ this.parent = activeEffectScope;
3510
3514
  if (!detached && activeEffectScope) {
3511
- this.parent = activeEffectScope;
3512
3515
  this.index =
3513
3516
  (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(this) - 1;
3514
3517
  }
@@ -3557,7 +3560,7 @@
3557
3560
  }
3558
3561
  }
3559
3562
  // nested scope, dereference from parent to avoid memory leaks
3560
- if (this.parent && !fromParent) {
3563
+ if (!this.detached && this.parent && !fromParent) {
3561
3564
  // optimized O(1) removal
3562
3565
  var last = this.parent.scopes.pop();
3563
3566
  if (last && last !== this) {
@@ -3565,6 +3568,7 @@
3565
3568
  last.index = this.index;
3566
3569
  }
3567
3570
  }
3571
+ this.parent = undefined;
3568
3572
  this.active = false;
3569
3573
  }
3570
3574
  };
@@ -3992,7 +3996,7 @@
3992
3996
  /**
3993
3997
  * Note: also update dist/vue.runtime.mjs when adding new exports to this file.
3994
3998
  */
3995
- var version = '2.7.12';
3999
+ var version = '2.7.14';
3996
4000
  /**
3997
4001
  * @internal type is manually declared in <root>/types/v3-define-component.d.ts
3998
4002
  */
@@ -4075,6 +4079,7 @@
4075
4079
  var i, keys;
4076
4080
  var isA = isArray(val);
4077
4081
  if ((!isA && !isObject(val)) ||
4082
+ val.__v_skip /* ReactiveFlags.SKIP */ ||
4078
4083
  Object.isFrozen(val) ||
4079
4084
  val instanceof VNode) {
4080
4085
  return;
@@ -5193,7 +5198,8 @@
5193
5198
  /**
5194
5199
  * Helper that recursively merges two data objects together.
5195
5200
  */
5196
- function mergeData(to, from) {
5201
+ function mergeData(to, from, recursive) {
5202
+ if (recursive === void 0) { recursive = true; }
5197
5203
  if (!from)
5198
5204
  return to;
5199
5205
  var key, toVal, fromVal;
@@ -5207,7 +5213,7 @@
5207
5213
  continue;
5208
5214
  toVal = to[key];
5209
5215
  fromVal = from[key];
5210
- if (!hasOwn(to, key)) {
5216
+ if (!recursive || !hasOwn(to, key)) {
5211
5217
  set(to, key, fromVal);
5212
5218
  }
5213
5219
  else if (toVal !== fromVal &&
@@ -5367,7 +5373,19 @@
5367
5373
  extend(ret, childVal);
5368
5374
  return ret;
5369
5375
  };
5370
- strats.provide = mergeDataOrFn;
5376
+ strats.provide = function (parentVal, childVal) {
5377
+ if (!parentVal)
5378
+ return childVal;
5379
+ return function () {
5380
+ var ret = Object.create(null);
5381
+ mergeData(ret, isFunction(parentVal) ? parentVal.call(this) : parentVal);
5382
+ if (childVal) {
5383
+ mergeData(ret, isFunction(childVal) ? childVal.call(this) : childVal, false // non-recursive
5384
+ );
5385
+ }
5386
+ return ret;
5387
+ };
5388
+ };
5371
5389
  /**
5372
5390
  * Default strategy.
5373
5391
  */
@@ -11121,7 +11139,7 @@
11121
11139
  !el.key) {
11122
11140
  state.warn("<".concat(el.tag, " v-for=\"").concat(alias, " in ").concat(exp, "\">: component lists rendered with ") +
11123
11141
  "v-for should have explicit keys. " +
11124
- "See https://vuejs.org/guide/list.html#key for more info.", el.rawAttrsMap['v-for'], true /* tip */);
11142
+ "See https://v2.vuejs.org/v2/guide/list.html#key for more info.", el.rawAttrsMap['v-for'], true /* tip */);
11125
11143
  }
11126
11144
  el.forProcessed = true; // avoid recursion
11127
11145
  return ("".concat(altHelper || '_l', "((").concat(exp, "),") +