@vue/compat 3.4.25 → 3.4.26

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.25
2
+ * @vue/compat v3.4.26
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -81,10 +81,11 @@ const invokeArrayFns = (fns, arg) => {
81
81
  fns[i](arg);
82
82
  }
83
83
  };
84
- const def = (obj, key, value) => {
84
+ const def = (obj, key, value, writable = false) => {
85
85
  Object.defineProperty(obj, key, {
86
86
  configurable: true,
87
87
  enumerable: false,
88
+ writable,
88
89
  value
89
90
  });
90
91
  };
@@ -476,11 +477,10 @@ class ReactiveEffect {
476
477
  }
477
478
  }
478
479
  stop() {
479
- var _a;
480
480
  if (this.active) {
481
481
  preCleanupEffect(this);
482
482
  postCleanupEffect(this);
483
- (_a = this.onStop) == null ? void 0 : _a.call(this);
483
+ this.onStop && this.onStop();
484
484
  this.active = false;
485
485
  }
486
486
  }
@@ -693,8 +693,8 @@ function trigger(target, type, key, newValue, oldValue, oldTarget) {
693
693
  resetScheduling();
694
694
  }
695
695
  function getDepFromReactive(object, key) {
696
- var _a;
697
- return (_a = targetMap.get(object)) == null ? void 0 : _a.get(key);
696
+ const depsMap = targetMap.get(object);
697
+ return depsMap && depsMap.get(key);
698
698
  }
699
699
 
700
700
  const isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`);
@@ -2913,7 +2913,7 @@ function renderComponentRoot(instance) {
2913
2913
  !!(process.env.NODE_ENV !== "production") ? {
2914
2914
  get attrs() {
2915
2915
  markAttrsAccessed();
2916
- return attrs;
2916
+ return shallowReadonly(attrs);
2917
2917
  },
2918
2918
  slots,
2919
2919
  emit
@@ -2946,7 +2946,7 @@ function renderComponentRoot(instance) {
2946
2946
  propsOptions
2947
2947
  );
2948
2948
  }
2949
- root = cloneVNode(root, fallthroughAttrs);
2949
+ root = cloneVNode(root, fallthroughAttrs, false, true);
2950
2950
  } else if (!!(process.env.NODE_ENV !== "production") && !accessedAttrs && root.type !== Comment) {
2951
2951
  const allAttrs = Object.keys(attrs);
2952
2952
  const eventAttrs = [];
@@ -2984,10 +2984,15 @@ function renderComponentRoot(instance) {
2984
2984
  getComponentName(instance.type)
2985
2985
  );
2986
2986
  }
2987
- root = cloneVNode(root, {
2988
- class: cls,
2989
- style
2990
- });
2987
+ root = cloneVNode(
2988
+ root,
2989
+ {
2990
+ class: cls,
2991
+ style
2992
+ },
2993
+ false,
2994
+ true
2995
+ );
2991
2996
  }
2992
2997
  }
2993
2998
  if (vnode.dirs) {
@@ -2996,7 +3001,7 @@ function renderComponentRoot(instance) {
2996
3001
  `Runtime directive used on component with non-element root node. The directives will not function as intended.`
2997
3002
  );
2998
3003
  }
2999
- root = cloneVNode(root);
3004
+ root = cloneVNode(root, null, false, true);
3000
3005
  root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;
3001
3006
  }
3002
3007
  if (vnode.transition) {
@@ -3491,7 +3496,7 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
3491
3496
  let parentSuspenseId;
3492
3497
  const isSuspensible = isVNodeSuspensible(vnode);
3493
3498
  if (isSuspensible) {
3494
- if (parentSuspense == null ? void 0 : parentSuspense.pendingBranch) {
3499
+ if (parentSuspense && parentSuspense.pendingBranch) {
3495
3500
  parentSuspenseId = parentSuspense.pendingId;
3496
3501
  parentSuspense.deps++;
3497
3502
  }
@@ -3803,8 +3808,8 @@ function setActiveBranch(suspense, branch) {
3803
3808
  }
3804
3809
  }
3805
3810
  function isVNodeSuspensible(vnode) {
3806
- var _a;
3807
- return ((_a = vnode.props) == null ? void 0 : _a.suspensible) != null && vnode.props.suspensible !== false;
3811
+ const suspensible = vnode.props && vnode.props.suspensible;
3812
+ return suspensible != null && suspensible !== false;
3808
3813
  }
3809
3814
 
3810
3815
  const legacyDirectiveHookMap = {
@@ -4106,34 +4111,29 @@ function createPathGetter(ctx, path) {
4106
4111
  return cur;
4107
4112
  };
4108
4113
  }
4109
- function traverse(value, depth, currentDepth = 0, seen) {
4110
- if (!isObject(value) || value["__v_skip"]) {
4114
+ function traverse(value, depth = Infinity, seen) {
4115
+ if (depth <= 0 || !isObject(value) || value["__v_skip"]) {
4111
4116
  return value;
4112
4117
  }
4113
- if (depth && depth > 0) {
4114
- if (currentDepth >= depth) {
4115
- return value;
4116
- }
4117
- currentDepth++;
4118
- }
4119
4118
  seen = seen || /* @__PURE__ */ new Set();
4120
4119
  if (seen.has(value)) {
4121
4120
  return value;
4122
4121
  }
4123
4122
  seen.add(value);
4123
+ depth--;
4124
4124
  if (isRef(value)) {
4125
- traverse(value.value, depth, currentDepth, seen);
4125
+ traverse(value.value, depth, seen);
4126
4126
  } else if (isArray(value)) {
4127
4127
  for (let i = 0; i < value.length; i++) {
4128
- traverse(value[i], depth, currentDepth, seen);
4128
+ traverse(value[i], depth, seen);
4129
4129
  }
4130
4130
  } else if (isSet(value) || isMap(value)) {
4131
4131
  value.forEach((v) => {
4132
- traverse(v, depth, currentDepth, seen);
4132
+ traverse(v, depth, seen);
4133
4133
  });
4134
4134
  } else if (isPlainObject(value)) {
4135
4135
  for (const key in value) {
4136
- traverse(value[key], depth, currentDepth, seen);
4136
+ traverse(value[key], depth, seen);
4137
4137
  }
4138
4138
  }
4139
4139
  return value;
@@ -4296,7 +4296,7 @@ const BaseTransitionImpl = {
4296
4296
  instance
4297
4297
  );
4298
4298
  setTransitionHooks(oldInnerChild, leavingHooks);
4299
- if (mode === "out-in") {
4299
+ if (mode === "out-in" && innerChild.type !== Comment) {
4300
4300
  state.isLeaving = true;
4301
4301
  leavingHooks.afterLeave = () => {
4302
4302
  state.isLeaving = false;
@@ -4820,7 +4820,7 @@ const KeepAliveImpl = {
4820
4820
  return () => {
4821
4821
  pendingCacheKey = null;
4822
4822
  if (!slots.default) {
4823
- return current = null;
4823
+ return null;
4824
4824
  }
4825
4825
  const children = slots.default();
4826
4826
  const rawVNode = children[0];
@@ -6518,13 +6518,13 @@ function createCompatVue$1(createApp, createSingletonApp) {
6518
6518
  return vm;
6519
6519
  }
6520
6520
  }
6521
- Vue.version = `2.6.14-compat:${"3.4.25"}`;
6521
+ Vue.version = `2.6.14-compat:${"3.4.26"}`;
6522
6522
  Vue.config = singletonApp.config;
6523
- Vue.use = (p, ...options) => {
6524
- if (p && isFunction(p.install)) {
6525
- p.install(Vue, ...options);
6526
- } else if (isFunction(p)) {
6527
- p(Vue, ...options);
6523
+ Vue.use = (plugin, ...options) => {
6524
+ if (plugin && isFunction(plugin.install)) {
6525
+ plugin.install(Vue, ...options);
6526
+ } else if (isFunction(plugin)) {
6527
+ plugin(Vue, ...options);
6528
6528
  }
6529
6529
  return Vue;
6530
6530
  };
@@ -7645,7 +7645,7 @@ const initSlots = (instance, children) => {
7645
7645
  const type = children._;
7646
7646
  if (type) {
7647
7647
  extend(slots, children);
7648
- def(slots, "_", type);
7648
+ def(slots, "_", type, true);
7649
7649
  } else {
7650
7650
  normalizeObjectSlots(children, slots, instance);
7651
7651
  }
@@ -10532,8 +10532,8 @@ function guardReactiveProps(props) {
10532
10532
  return null;
10533
10533
  return isProxy(props) || isInternalObject(props) ? extend({}, props) : props;
10534
10534
  }
10535
- function cloneVNode(vnode, extraProps, mergeRef = false) {
10536
- const { props, ref, patchFlag, children } = vnode;
10535
+ function cloneVNode(vnode, extraProps, mergeRef = false, cloneTransition = false) {
10536
+ const { props, ref, patchFlag, children, transition } = vnode;
10537
10537
  const mergedProps = extraProps ? mergeProps(props || {}, extraProps) : props;
10538
10538
  const cloned = {
10539
10539
  __v_isVNode: true,
@@ -10563,7 +10563,7 @@ function cloneVNode(vnode, extraProps, mergeRef = false) {
10563
10563
  dynamicChildren: vnode.dynamicChildren,
10564
10564
  appContext: vnode.appContext,
10565
10565
  dirs: vnode.dirs,
10566
- transition: vnode.transition,
10566
+ transition,
10567
10567
  // These should technically only be non-null on mounted VNodes. However,
10568
10568
  // they *should* be copied for kept-alive vnodes. So we just always copy
10569
10569
  // them since them being non-null during a mount doesn't affect the logic as
@@ -10577,6 +10577,9 @@ function cloneVNode(vnode, extraProps, mergeRef = false) {
10577
10577
  ctx: vnode.ctx,
10578
10578
  ce: vnode.ce
10579
10579
  };
10580
+ if (transition && cloneTransition) {
10581
+ cloned.transition = transition.clone(cloned);
10582
+ }
10580
10583
  {
10581
10584
  defineLegacyVNodeProperties(cloned);
10582
10585
  }
@@ -11430,7 +11433,7 @@ function isMemoSame(cached, memo) {
11430
11433
  return true;
11431
11434
  }
11432
11435
 
11433
- const version = "3.4.25";
11436
+ const version = "3.4.26";
11434
11437
  const warn = !!(process.env.NODE_ENV !== "production") ? warn$1 : NOOP;
11435
11438
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
11436
11439
  const devtools = !!(process.env.NODE_ENV !== "production") || true ? devtools$1 : void 0;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/compat v3.4.25
2
+ * @vue/compat v3.4.26
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -84,10 +84,11 @@ var Vue = (function () {
84
84
  fns[i](arg);
85
85
  }
86
86
  };
87
- const def = (obj, key, value) => {
87
+ const def = (obj, key, value, writable = false) => {
88
88
  Object.defineProperty(obj, key, {
89
89
  configurable: true,
90
90
  enumerable: false,
91
+ writable,
91
92
  value
92
93
  });
93
94
  };
@@ -479,11 +480,10 @@ var Vue = (function () {
479
480
  }
480
481
  }
481
482
  stop() {
482
- var _a;
483
483
  if (this.active) {
484
484
  preCleanupEffect(this);
485
485
  postCleanupEffect(this);
486
- (_a = this.onStop) == null ? void 0 : _a.call(this);
486
+ this.onStop && this.onStop();
487
487
  this.active = false;
488
488
  }
489
489
  }
@@ -696,8 +696,8 @@ var Vue = (function () {
696
696
  resetScheduling();
697
697
  }
698
698
  function getDepFromReactive(object, key) {
699
- var _a;
700
- return (_a = targetMap.get(object)) == null ? void 0 : _a.get(key);
699
+ const depsMap = targetMap.get(object);
700
+ return depsMap && depsMap.get(key);
701
701
  }
702
702
 
703
703
  const isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`);
@@ -2909,7 +2909,7 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
2909
2909
  true ? {
2910
2910
  get attrs() {
2911
2911
  markAttrsAccessed();
2912
- return attrs;
2912
+ return shallowReadonly(attrs);
2913
2913
  },
2914
2914
  slots,
2915
2915
  emit
@@ -2942,7 +2942,7 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
2942
2942
  propsOptions
2943
2943
  );
2944
2944
  }
2945
- root = cloneVNode(root, fallthroughAttrs);
2945
+ root = cloneVNode(root, fallthroughAttrs, false, true);
2946
2946
  } else if (!accessedAttrs && root.type !== Comment) {
2947
2947
  const allAttrs = Object.keys(attrs);
2948
2948
  const eventAttrs = [];
@@ -2980,10 +2980,15 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
2980
2980
  getComponentName(instance.type)
2981
2981
  );
2982
2982
  }
2983
- root = cloneVNode(root, {
2984
- class: cls,
2985
- style
2986
- });
2983
+ root = cloneVNode(
2984
+ root,
2985
+ {
2986
+ class: cls,
2987
+ style
2988
+ },
2989
+ false,
2990
+ true
2991
+ );
2987
2992
  }
2988
2993
  }
2989
2994
  if (vnode.dirs) {
@@ -2992,7 +2997,7 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
2992
2997
  `Runtime directive used on component with non-element root node. The directives will not function as intended.`
2993
2998
  );
2994
2999
  }
2995
- root = cloneVNode(root);
3000
+ root = cloneVNode(root, null, false, true);
2996
3001
  root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;
2997
3002
  }
2998
3003
  if (vnode.transition) {
@@ -3487,7 +3492,7 @@ If this is a native custom element, make sure to exclude it from component resol
3487
3492
  let parentSuspenseId;
3488
3493
  const isSuspensible = isVNodeSuspensible(vnode);
3489
3494
  if (isSuspensible) {
3490
- if (parentSuspense == null ? void 0 : parentSuspense.pendingBranch) {
3495
+ if (parentSuspense && parentSuspense.pendingBranch) {
3491
3496
  parentSuspenseId = parentSuspense.pendingId;
3492
3497
  parentSuspense.deps++;
3493
3498
  }
@@ -3799,8 +3804,8 @@ If this is a native custom element, make sure to exclude it from component resol
3799
3804
  }
3800
3805
  }
3801
3806
  function isVNodeSuspensible(vnode) {
3802
- var _a;
3803
- return ((_a = vnode.props) == null ? void 0 : _a.suspensible) != null && vnode.props.suspensible !== false;
3807
+ const suspensible = vnode.props && vnode.props.suspensible;
3808
+ return suspensible != null && suspensible !== false;
3804
3809
  }
3805
3810
 
3806
3811
  const legacyDirectiveHookMap = {
@@ -4075,34 +4080,29 @@ If this is a native custom element, make sure to exclude it from component resol
4075
4080
  return cur;
4076
4081
  };
4077
4082
  }
4078
- function traverse(value, depth, currentDepth = 0, seen) {
4079
- if (!isObject(value) || value["__v_skip"]) {
4083
+ function traverse(value, depth = Infinity, seen) {
4084
+ if (depth <= 0 || !isObject(value) || value["__v_skip"]) {
4080
4085
  return value;
4081
4086
  }
4082
- if (depth && depth > 0) {
4083
- if (currentDepth >= depth) {
4084
- return value;
4085
- }
4086
- currentDepth++;
4087
- }
4088
4087
  seen = seen || /* @__PURE__ */ new Set();
4089
4088
  if (seen.has(value)) {
4090
4089
  return value;
4091
4090
  }
4092
4091
  seen.add(value);
4092
+ depth--;
4093
4093
  if (isRef(value)) {
4094
- traverse(value.value, depth, currentDepth, seen);
4094
+ traverse(value.value, depth, seen);
4095
4095
  } else if (isArray(value)) {
4096
4096
  for (let i = 0; i < value.length; i++) {
4097
- traverse(value[i], depth, currentDepth, seen);
4097
+ traverse(value[i], depth, seen);
4098
4098
  }
4099
4099
  } else if (isSet(value) || isMap(value)) {
4100
4100
  value.forEach((v) => {
4101
- traverse(v, depth, currentDepth, seen);
4101
+ traverse(v, depth, seen);
4102
4102
  });
4103
4103
  } else if (isPlainObject(value)) {
4104
4104
  for (const key in value) {
4105
- traverse(value[key], depth, currentDepth, seen);
4105
+ traverse(value[key], depth, seen);
4106
4106
  }
4107
4107
  }
4108
4108
  return value;
@@ -4263,7 +4263,7 @@ If this is a native custom element, make sure to exclude it from component resol
4263
4263
  instance
4264
4264
  );
4265
4265
  setTransitionHooks(oldInnerChild, leavingHooks);
4266
- if (mode === "out-in") {
4266
+ if (mode === "out-in" && innerChild.type !== Comment) {
4267
4267
  state.isLeaving = true;
4268
4268
  leavingHooks.afterLeave = () => {
4269
4269
  state.isLeaving = false;
@@ -4781,7 +4781,7 @@ If this is a native custom element, make sure to exclude it from component resol
4781
4781
  return () => {
4782
4782
  pendingCacheKey = null;
4783
4783
  if (!slots.default) {
4784
- return current = null;
4784
+ return null;
4785
4785
  }
4786
4786
  const children = slots.default();
4787
4787
  const rawVNode = children[0];
@@ -6477,13 +6477,13 @@ If this is a native custom element, make sure to exclude it from component resol
6477
6477
  return vm;
6478
6478
  }
6479
6479
  }
6480
- Vue.version = `2.6.14-compat:${"3.4.25"}`;
6480
+ Vue.version = `2.6.14-compat:${"3.4.26"}`;
6481
6481
  Vue.config = singletonApp.config;
6482
- Vue.use = (p, ...options) => {
6483
- if (p && isFunction(p.install)) {
6484
- p.install(Vue, ...options);
6485
- } else if (isFunction(p)) {
6486
- p(Vue, ...options);
6482
+ Vue.use = (plugin, ...options) => {
6483
+ if (plugin && isFunction(plugin.install)) {
6484
+ plugin.install(Vue, ...options);
6485
+ } else if (isFunction(plugin)) {
6486
+ plugin(Vue, ...options);
6487
6487
  }
6488
6488
  return Vue;
6489
6489
  };
@@ -7601,7 +7601,7 @@ If you want to remount the same app, move your app creation logic into a factory
7601
7601
  const type = children._;
7602
7602
  if (type) {
7603
7603
  extend(slots, children);
7604
- def(slots, "_", type);
7604
+ def(slots, "_", type, true);
7605
7605
  } else {
7606
7606
  normalizeObjectSlots(children, slots, instance);
7607
7607
  }
@@ -10440,8 +10440,8 @@ Component that was made reactive: `,
10440
10440
  return null;
10441
10441
  return isProxy(props) || isInternalObject(props) ? extend({}, props) : props;
10442
10442
  }
10443
- function cloneVNode(vnode, extraProps, mergeRef = false) {
10444
- const { props, ref, patchFlag, children } = vnode;
10443
+ function cloneVNode(vnode, extraProps, mergeRef = false, cloneTransition = false) {
10444
+ const { props, ref, patchFlag, children, transition } = vnode;
10445
10445
  const mergedProps = extraProps ? mergeProps(props || {}, extraProps) : props;
10446
10446
  const cloned = {
10447
10447
  __v_isVNode: true,
@@ -10471,7 +10471,7 @@ Component that was made reactive: `,
10471
10471
  dynamicChildren: vnode.dynamicChildren,
10472
10472
  appContext: vnode.appContext,
10473
10473
  dirs: vnode.dirs,
10474
- transition: vnode.transition,
10474
+ transition,
10475
10475
  // These should technically only be non-null on mounted VNodes. However,
10476
10476
  // they *should* be copied for kept-alive vnodes. So we just always copy
10477
10477
  // them since them being non-null during a mount doesn't affect the logic as
@@ -10485,6 +10485,9 @@ Component that was made reactive: `,
10485
10485
  ctx: vnode.ctx,
10486
10486
  ce: vnode.ce
10487
10487
  };
10488
+ if (transition && cloneTransition) {
10489
+ cloned.transition = transition.clone(cloned);
10490
+ }
10488
10491
  {
10489
10492
  defineLegacyVNodeProperties(cloned);
10490
10493
  }
@@ -11307,7 +11310,7 @@ Component that was made reactive: `,
11307
11310
  return true;
11308
11311
  }
11309
11312
 
11310
- const version = "3.4.25";
11313
+ const version = "3.4.26";
11311
11314
  const warn = warn$1 ;
11312
11315
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
11313
11316
  const devtools = devtools$1 ;