@vue/compat 3.2.22 → 3.2.23

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.
@@ -455,7 +455,7 @@ const targetMap = new WeakMap();
455
455
  let effectTrackDepth = 0;
456
456
  let trackOpBit = 1;
457
457
  /**
458
- * The bitwise track markers support at most 30 levels op recursion.
458
+ * The bitwise track markers support at most 30 levels of recursion.
459
459
  * This value is chosen to enable modern JS engines to use a SMI on all platforms.
460
460
  * When recursion depth is greater, fall back to using a full cleanup.
461
461
  */
@@ -776,7 +776,7 @@ const shallowSet = /*#__PURE__*/ createSetter(true);
776
776
  function createSetter(shallow = false) {
777
777
  return function set(target, key, value, receiver) {
778
778
  let oldValue = target[key];
779
- if (!shallow) {
779
+ if (!shallow && !isReadonly(value)) {
780
780
  value = toRaw(value);
781
781
  oldValue = toRaw(oldValue);
782
782
  if (!isArray(target) && isRef(oldValue) && !isRef(value)) {
@@ -3232,7 +3232,8 @@ const BaseTransitionImpl = {
3232
3232
  const rawProps = toRaw(props);
3233
3233
  const { mode } = rawProps;
3234
3234
  // check mode
3235
- if (mode && !['in-out', 'out-in', 'default'].includes(mode)) {
3235
+ if (mode &&
3236
+ mode !== 'in-out' && mode !== 'out-in' && mode !== 'default') {
3236
3237
  warn$1(`invalid <transition> mode: ${mode}`);
3237
3238
  }
3238
3239
  // at this point children has a guaranteed length of 1.
@@ -3878,7 +3879,7 @@ function registerKeepAliveHook(hook, type, target = currentInstance) {
3878
3879
  }
3879
3880
  current = current.parent;
3880
3881
  }
3881
- hook();
3882
+ return hook();
3882
3883
  });
3883
3884
  injectHook(type, wrappedHook, target);
3884
3885
  // In addition to registering it on the target instance, we walk up the parent
@@ -5237,7 +5238,7 @@ function createCompatVue(createApp, createSingletonApp) {
5237
5238
  return vm;
5238
5239
  }
5239
5240
  }
5240
- Vue.version = "3.2.22";
5241
+ Vue.version = "3.2.23";
5241
5242
  Vue.config = singletonApp.config;
5242
5243
  Vue.use = (p, ...options) => {
5243
5244
  if (p && isFunction(p.install)) {
@@ -9136,23 +9137,23 @@ const PublicInstanceProxyHandlers = {
9136
9137
  const n = accessCache[key];
9137
9138
  if (n !== undefined) {
9138
9139
  switch (n) {
9139
- case 0 /* SETUP */:
9140
+ case 1 /* SETUP */:
9140
9141
  return setupState[key];
9141
- case 1 /* DATA */:
9142
+ case 2 /* DATA */:
9142
9143
  return data[key];
9143
- case 3 /* CONTEXT */:
9144
+ case 4 /* CONTEXT */:
9144
9145
  return ctx[key];
9145
- case 2 /* PROPS */:
9146
+ case 3 /* PROPS */:
9146
9147
  return props[key];
9147
9148
  // default: just fallthrough
9148
9149
  }
9149
9150
  }
9150
9151
  else if (setupState !== EMPTY_OBJ && hasOwn(setupState, key)) {
9151
- accessCache[key] = 0 /* SETUP */;
9152
+ accessCache[key] = 1 /* SETUP */;
9152
9153
  return setupState[key];
9153
9154
  }
9154
9155
  else if (data !== EMPTY_OBJ && hasOwn(data, key)) {
9155
- accessCache[key] = 1 /* DATA */;
9156
+ accessCache[key] = 2 /* DATA */;
9156
9157
  return data[key];
9157
9158
  }
9158
9159
  else if (
@@ -9160,15 +9161,15 @@ const PublicInstanceProxyHandlers = {
9160
9161
  // props
9161
9162
  (normalizedProps = instance.propsOptions[0]) &&
9162
9163
  hasOwn(normalizedProps, key)) {
9163
- accessCache[key] = 2 /* PROPS */;
9164
+ accessCache[key] = 3 /* PROPS */;
9164
9165
  return props[key];
9165
9166
  }
9166
9167
  else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {
9167
- accessCache[key] = 3 /* CONTEXT */;
9168
+ accessCache[key] = 4 /* CONTEXT */;
9168
9169
  return ctx[key];
9169
9170
  }
9170
9171
  else if (shouldCacheAccess) {
9171
- accessCache[key] = 4 /* OTHER */;
9172
+ accessCache[key] = 0 /* OTHER */;
9172
9173
  }
9173
9174
  }
9174
9175
  const publicGetter = publicPropertiesMap[key];
@@ -9189,7 +9190,7 @@ const PublicInstanceProxyHandlers = {
9189
9190
  }
9190
9191
  else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {
9191
9192
  // user may set custom properties to `this` that start with `$`
9192
- accessCache[key] = 3 /* CONTEXT */;
9193
+ accessCache[key] = 4 /* CONTEXT */;
9193
9194
  return ctx[key];
9194
9195
  }
9195
9196
  else if (
@@ -9257,7 +9258,7 @@ const PublicInstanceProxyHandlers = {
9257
9258
  },
9258
9259
  has({ _: { data, setupState, accessCache, ctx, appContext, propsOptions } }, key) {
9259
9260
  let normalizedProps;
9260
- return (accessCache[key] !== undefined ||
9261
+ return (!!accessCache[key] ||
9261
9262
  (data !== EMPTY_OBJ && hasOwn(data, key)) ||
9262
9263
  (setupState !== EMPTY_OBJ && hasOwn(setupState, key)) ||
9263
9264
  ((normalizedProps = propsOptions[0]) && hasOwn(normalizedProps, key)) ||
@@ -10832,7 +10833,7 @@ function isMemoSame(cached, memo) {
10832
10833
  }
10833
10834
 
10834
10835
  // Core API ------------------------------------------------------------------
10835
- const version = "3.2.22";
10836
+ const version = "3.2.23";
10836
10837
  /**
10837
10838
  * SSR utils for \@vue/server-renderer. Only exposed in cjs builds.
10838
10839
  * @internal
@@ -11099,12 +11100,19 @@ prevChildren, parentComponent, parentSuspense, unmountChildren) {
11099
11100
  el[key] = value == null ? '' : value;
11100
11101
  return;
11101
11102
  }
11102
- if (key === 'value' && el.tagName !== 'PROGRESS') {
11103
+ if (key === 'value' &&
11104
+ el.tagName !== 'PROGRESS' &&
11105
+ // custom elements may use _value internally
11106
+ !el.tagName.includes('-')) {
11103
11107
  // store value as _value as well since
11104
11108
  // non-string values will be stringified.
11105
11109
  el._value = value;
11106
11110
  const newValue = value == null ? '' : value;
11107
- if (el.value !== newValue) {
11111
+ if (el.value !== newValue ||
11112
+ // #4956: always set for OPTION elements because its value falls back to
11113
+ // textContent if no value attribute is present. And setting .value for
11114
+ // OPTION has no side effect
11115
+ el.tagName === 'OPTION') {
11108
11116
  el.value = newValue;
11109
11117
  }
11110
11118
  if (value == null) {