@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.
@@ -531,7 +531,7 @@ const targetMap = new WeakMap();
531
531
  let effectTrackDepth = 0;
532
532
  let trackOpBit = 1;
533
533
  /**
534
- * The bitwise track markers support at most 30 levels op recursion.
534
+ * The bitwise track markers support at most 30 levels of recursion.
535
535
  * This value is chosen to enable modern JS engines to use a SMI on all platforms.
536
536
  * When recursion depth is greater, fall back to using a full cleanup.
537
537
  */
@@ -860,7 +860,7 @@ const shallowSet = /*#__PURE__*/ createSetter(true);
860
860
  function createSetter(shallow = false) {
861
861
  return function set(target, key, value, receiver) {
862
862
  let oldValue = target[key];
863
- if (!shallow) {
863
+ if (!shallow && !isReadonly(value)) {
864
864
  value = toRaw(value);
865
865
  oldValue = toRaw(oldValue);
866
866
  if (!isArray(target) && isRef(oldValue) && !isRef(value)) {
@@ -3328,7 +3328,9 @@ const BaseTransitionImpl = {
3328
3328
  const rawProps = toRaw(props);
3329
3329
  const { mode } = rawProps;
3330
3330
  // check mode
3331
- if ((process.env.NODE_ENV !== 'production') && mode && !['in-out', 'out-in', 'default'].includes(mode)) {
3331
+ if ((process.env.NODE_ENV !== 'production') &&
3332
+ mode &&
3333
+ mode !== 'in-out' && mode !== 'out-in' && mode !== 'default') {
3332
3334
  warn$1(`invalid <transition> mode: ${mode}`);
3333
3335
  }
3334
3336
  // at this point children has a guaranteed length of 1.
@@ -3974,7 +3976,7 @@ function registerKeepAliveHook(hook, type, target = currentInstance) {
3974
3976
  }
3975
3977
  current = current.parent;
3976
3978
  }
3977
- hook();
3979
+ return hook();
3978
3980
  });
3979
3981
  injectHook(type, wrappedHook, target);
3980
3982
  // In addition to registering it on the target instance, we walk up the parent
@@ -5342,7 +5344,7 @@ function createCompatVue(createApp, createSingletonApp) {
5342
5344
  return vm;
5343
5345
  }
5344
5346
  }
5345
- Vue.version = "3.2.22";
5347
+ Vue.version = "3.2.23";
5346
5348
  Vue.config = singletonApp.config;
5347
5349
  Vue.use = (p, ...options) => {
5348
5350
  if (p && isFunction(p.install)) {
@@ -9298,23 +9300,23 @@ const PublicInstanceProxyHandlers = {
9298
9300
  const n = accessCache[key];
9299
9301
  if (n !== undefined) {
9300
9302
  switch (n) {
9301
- case 0 /* SETUP */:
9303
+ case 1 /* SETUP */:
9302
9304
  return setupState[key];
9303
- case 1 /* DATA */:
9305
+ case 2 /* DATA */:
9304
9306
  return data[key];
9305
- case 3 /* CONTEXT */:
9307
+ case 4 /* CONTEXT */:
9306
9308
  return ctx[key];
9307
- case 2 /* PROPS */:
9309
+ case 3 /* PROPS */:
9308
9310
  return props[key];
9309
9311
  // default: just fallthrough
9310
9312
  }
9311
9313
  }
9312
9314
  else if (setupState !== EMPTY_OBJ && hasOwn(setupState, key)) {
9313
- accessCache[key] = 0 /* SETUP */;
9315
+ accessCache[key] = 1 /* SETUP */;
9314
9316
  return setupState[key];
9315
9317
  }
9316
9318
  else if (data !== EMPTY_OBJ && hasOwn(data, key)) {
9317
- accessCache[key] = 1 /* DATA */;
9319
+ accessCache[key] = 2 /* DATA */;
9318
9320
  return data[key];
9319
9321
  }
9320
9322
  else if (
@@ -9322,15 +9324,15 @@ const PublicInstanceProxyHandlers = {
9322
9324
  // props
9323
9325
  (normalizedProps = instance.propsOptions[0]) &&
9324
9326
  hasOwn(normalizedProps, key)) {
9325
- accessCache[key] = 2 /* PROPS */;
9327
+ accessCache[key] = 3 /* PROPS */;
9326
9328
  return props[key];
9327
9329
  }
9328
9330
  else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {
9329
- accessCache[key] = 3 /* CONTEXT */;
9331
+ accessCache[key] = 4 /* CONTEXT */;
9330
9332
  return ctx[key];
9331
9333
  }
9332
9334
  else if (!__VUE_OPTIONS_API__ || shouldCacheAccess) {
9333
- accessCache[key] = 4 /* OTHER */;
9335
+ accessCache[key] = 0 /* OTHER */;
9334
9336
  }
9335
9337
  }
9336
9338
  const publicGetter = publicPropertiesMap[key];
@@ -9351,7 +9353,7 @@ const PublicInstanceProxyHandlers = {
9351
9353
  }
9352
9354
  else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {
9353
9355
  // user may set custom properties to `this` that start with `$`
9354
- accessCache[key] = 3 /* CONTEXT */;
9356
+ accessCache[key] = 4 /* CONTEXT */;
9355
9357
  return ctx[key];
9356
9358
  }
9357
9359
  else if (
@@ -9422,7 +9424,7 @@ const PublicInstanceProxyHandlers = {
9422
9424
  },
9423
9425
  has({ _: { data, setupState, accessCache, ctx, appContext, propsOptions } }, key) {
9424
9426
  let normalizedProps;
9425
- return (accessCache[key] !== undefined ||
9427
+ return (!!accessCache[key] ||
9426
9428
  (data !== EMPTY_OBJ && hasOwn(data, key)) ||
9427
9429
  (setupState !== EMPTY_OBJ && hasOwn(setupState, key)) ||
9428
9430
  ((normalizedProps = propsOptions[0]) && hasOwn(normalizedProps, key)) ||
@@ -11047,7 +11049,7 @@ function isMemoSame(cached, memo) {
11047
11049
  }
11048
11050
 
11049
11051
  // Core API ------------------------------------------------------------------
11050
- const version = "3.2.22";
11052
+ const version = "3.2.23";
11051
11053
  const _ssrUtils = {
11052
11054
  createComponentInstance,
11053
11055
  setupComponent,
@@ -11322,12 +11324,19 @@ prevChildren, parentComponent, parentSuspense, unmountChildren) {
11322
11324
  el[key] = value == null ? '' : value;
11323
11325
  return;
11324
11326
  }
11325
- if (key === 'value' && el.tagName !== 'PROGRESS') {
11327
+ if (key === 'value' &&
11328
+ el.tagName !== 'PROGRESS' &&
11329
+ // custom elements may use _value internally
11330
+ !el.tagName.includes('-')) {
11326
11331
  // store value as _value as well since
11327
11332
  // non-string values will be stringified.
11328
11333
  el._value = value;
11329
11334
  const newValue = value == null ? '' : value;
11330
- if (el.value !== newValue) {
11335
+ if (el.value !== newValue ||
11336
+ // #4956: always set for OPTION elements because its value falls back to
11337
+ // textContent if no value attribute is present. And setting .value for
11338
+ // OPTION has no side effect
11339
+ el.tagName === 'OPTION') {
11331
11340
  el.value = newValue;
11332
11341
  }
11333
11342
  if (value == null) {
@@ -533,7 +533,7 @@ var Vue = (function () {
533
533
  let effectTrackDepth = 0;
534
534
  let trackOpBit = 1;
535
535
  /**
536
- * The bitwise track markers support at most 30 levels op recursion.
536
+ * The bitwise track markers support at most 30 levels of recursion.
537
537
  * This value is chosen to enable modern JS engines to use a SMI on all platforms.
538
538
  * When recursion depth is greater, fall back to using a full cleanup.
539
539
  */
@@ -854,7 +854,7 @@ var Vue = (function () {
854
854
  function createSetter(shallow = false) {
855
855
  return function set(target, key, value, receiver) {
856
856
  let oldValue = target[key];
857
- if (!shallow) {
857
+ if (!shallow && !isReadonly(value)) {
858
858
  value = toRaw(value);
859
859
  oldValue = toRaw(oldValue);
860
860
  if (!isArray(target) && isRef(oldValue) && !isRef(value)) {
@@ -3310,7 +3310,8 @@ var Vue = (function () {
3310
3310
  const rawProps = toRaw(props);
3311
3311
  const { mode } = rawProps;
3312
3312
  // check mode
3313
- if (mode && !['in-out', 'out-in', 'default'].includes(mode)) {
3313
+ if (mode &&
3314
+ mode !== 'in-out' && mode !== 'out-in' && mode !== 'default') {
3314
3315
  warn$1(`invalid <transition> mode: ${mode}`);
3315
3316
  }
3316
3317
  // at this point children has a guaranteed length of 1.
@@ -3956,7 +3957,7 @@ var Vue = (function () {
3956
3957
  }
3957
3958
  current = current.parent;
3958
3959
  }
3959
- hook();
3960
+ return hook();
3960
3961
  });
3961
3962
  injectHook(type, wrappedHook, target);
3962
3963
  // In addition to registering it on the target instance, we walk up the parent
@@ -5315,7 +5316,7 @@ var Vue = (function () {
5315
5316
  return vm;
5316
5317
  }
5317
5318
  }
5318
- Vue.version = "3.2.22";
5319
+ Vue.version = "3.2.23";
5319
5320
  Vue.config = singletonApp.config;
5320
5321
  Vue.use = (p, ...options) => {
5321
5322
  if (p && isFunction(p.install)) {
@@ -9214,23 +9215,23 @@ var Vue = (function () {
9214
9215
  const n = accessCache[key];
9215
9216
  if (n !== undefined) {
9216
9217
  switch (n) {
9217
- case 0 /* SETUP */:
9218
+ case 1 /* SETUP */:
9218
9219
  return setupState[key];
9219
- case 1 /* DATA */:
9220
+ case 2 /* DATA */:
9220
9221
  return data[key];
9221
- case 3 /* CONTEXT */:
9222
+ case 4 /* CONTEXT */:
9222
9223
  return ctx[key];
9223
- case 2 /* PROPS */:
9224
+ case 3 /* PROPS */:
9224
9225
  return props[key];
9225
9226
  // default: just fallthrough
9226
9227
  }
9227
9228
  }
9228
9229
  else if (setupState !== EMPTY_OBJ && hasOwn(setupState, key)) {
9229
- accessCache[key] = 0 /* SETUP */;
9230
+ accessCache[key] = 1 /* SETUP */;
9230
9231
  return setupState[key];
9231
9232
  }
9232
9233
  else if (data !== EMPTY_OBJ && hasOwn(data, key)) {
9233
- accessCache[key] = 1 /* DATA */;
9234
+ accessCache[key] = 2 /* DATA */;
9234
9235
  return data[key];
9235
9236
  }
9236
9237
  else if (
@@ -9238,15 +9239,15 @@ var Vue = (function () {
9238
9239
  // props
9239
9240
  (normalizedProps = instance.propsOptions[0]) &&
9240
9241
  hasOwn(normalizedProps, key)) {
9241
- accessCache[key] = 2 /* PROPS */;
9242
+ accessCache[key] = 3 /* PROPS */;
9242
9243
  return props[key];
9243
9244
  }
9244
9245
  else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {
9245
- accessCache[key] = 3 /* CONTEXT */;
9246
+ accessCache[key] = 4 /* CONTEXT */;
9246
9247
  return ctx[key];
9247
9248
  }
9248
9249
  else if (shouldCacheAccess) {
9249
- accessCache[key] = 4 /* OTHER */;
9250
+ accessCache[key] = 0 /* OTHER */;
9250
9251
  }
9251
9252
  }
9252
9253
  const publicGetter = publicPropertiesMap[key];
@@ -9267,7 +9268,7 @@ var Vue = (function () {
9267
9268
  }
9268
9269
  else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {
9269
9270
  // user may set custom properties to `this` that start with `$`
9270
- accessCache[key] = 3 /* CONTEXT */;
9271
+ accessCache[key] = 4 /* CONTEXT */;
9271
9272
  return ctx[key];
9272
9273
  }
9273
9274
  else if (
@@ -9335,7 +9336,7 @@ var Vue = (function () {
9335
9336
  },
9336
9337
  has({ _: { data, setupState, accessCache, ctx, appContext, propsOptions } }, key) {
9337
9338
  let normalizedProps;
9338
- return (accessCache[key] !== undefined ||
9339
+ return (!!accessCache[key] ||
9339
9340
  (data !== EMPTY_OBJ && hasOwn(data, key)) ||
9340
9341
  (setupState !== EMPTY_OBJ && hasOwn(setupState, key)) ||
9341
9342
  ((normalizedProps = propsOptions[0]) && hasOwn(normalizedProps, key)) ||
@@ -10905,7 +10906,7 @@ var Vue = (function () {
10905
10906
  }
10906
10907
 
10907
10908
  // Core API ------------------------------------------------------------------
10908
- const version = "3.2.22";
10909
+ const version = "3.2.23";
10909
10910
  /**
10910
10911
  * SSR utils for \@vue/server-renderer. Only exposed in cjs builds.
10911
10912
  * @internal
@@ -11172,12 +11173,19 @@ var Vue = (function () {
11172
11173
  el[key] = value == null ? '' : value;
11173
11174
  return;
11174
11175
  }
11175
- if (key === 'value' && el.tagName !== 'PROGRESS') {
11176
+ if (key === 'value' &&
11177
+ el.tagName !== 'PROGRESS' &&
11178
+ // custom elements may use _value internally
11179
+ !el.tagName.includes('-')) {
11176
11180
  // store value as _value as well since
11177
11181
  // non-string values will be stringified.
11178
11182
  el._value = value;
11179
11183
  const newValue = value == null ? '' : value;
11180
- if (el.value !== newValue) {
11184
+ if (el.value !== newValue ||
11185
+ // #4956: always set for OPTION elements because its value falls back to
11186
+ // textContent if no value attribute is present. And setting .value for
11187
+ // OPTION has no side effect
11188
+ el.tagName === 'OPTION') {
11181
11189
  el.value = newValue;
11182
11190
  }
11183
11191
  if (value == null) {