@vue/compat 3.4.19 → 3.4.20

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.19
2
+ * @vue/compat v3.4.20
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -730,20 +730,20 @@ function hasOwnProperty(key) {
730
730
  return obj.hasOwnProperty(key);
731
731
  }
732
732
  class BaseReactiveHandler {
733
- constructor(_isReadonly = false, _shallow = false) {
733
+ constructor(_isReadonly = false, _isShallow = false) {
734
734
  this._isReadonly = _isReadonly;
735
- this._shallow = _shallow;
735
+ this._isShallow = _isShallow;
736
736
  }
737
737
  get(target, key, receiver) {
738
- const isReadonly2 = this._isReadonly, shallow = this._shallow;
738
+ const isReadonly2 = this._isReadonly, isShallow2 = this._isShallow;
739
739
  if (key === "__v_isReactive") {
740
740
  return !isReadonly2;
741
741
  } else if (key === "__v_isReadonly") {
742
742
  return isReadonly2;
743
743
  } else if (key === "__v_isShallow") {
744
- return shallow;
744
+ return isShallow2;
745
745
  } else if (key === "__v_raw") {
746
- if (receiver === (isReadonly2 ? shallow ? shallowReadonlyMap : readonlyMap : shallow ? shallowReactiveMap : reactiveMap).get(target) || // receiver is not the reactive proxy, but has the same prototype
746
+ if (receiver === (isReadonly2 ? isShallow2 ? shallowReadonlyMap : readonlyMap : isShallow2 ? shallowReactiveMap : reactiveMap).get(target) || // receiver is not the reactive proxy, but has the same prototype
747
747
  // this means the reciever is a user proxy of the reactive proxy
748
748
  Object.getPrototypeOf(target) === Object.getPrototypeOf(receiver)) {
749
749
  return target;
@@ -766,7 +766,7 @@ class BaseReactiveHandler {
766
766
  if (!isReadonly2) {
767
767
  track(target, "get", key);
768
768
  }
769
- if (shallow) {
769
+ if (isShallow2) {
770
770
  return res;
771
771
  }
772
772
  if (isRef(res)) {
@@ -779,12 +779,12 @@ class BaseReactiveHandler {
779
779
  }
780
780
  }
781
781
  class MutableReactiveHandler extends BaseReactiveHandler {
782
- constructor(shallow = false) {
783
- super(false, shallow);
782
+ constructor(isShallow2 = false) {
783
+ super(false, isShallow2);
784
784
  }
785
785
  set(target, key, value, receiver) {
786
786
  let oldValue = target[key];
787
- if (!this._shallow) {
787
+ if (!this._isShallow) {
788
788
  const isOldValueReadonly = isReadonly(oldValue);
789
789
  if (!isShallow(value) && !isReadonly(value)) {
790
790
  oldValue = toRaw(oldValue);
@@ -836,8 +836,8 @@ class MutableReactiveHandler extends BaseReactiveHandler {
836
836
  }
837
837
  }
838
838
  class ReadonlyReactiveHandler extends BaseReactiveHandler {
839
- constructor(shallow = false) {
840
- super(true, shallow);
839
+ constructor(isShallow2 = false) {
840
+ super(true, isShallow2);
841
841
  }
842
842
  set(target, key) {
843
843
  if (!!(process.env.NODE_ENV !== "production")) {
@@ -1008,7 +1008,7 @@ function createReadonlyMethod(type) {
1008
1008
  return function(...args) {
1009
1009
  if (!!(process.env.NODE_ENV !== "production")) {
1010
1010
  const key = args[0] ? `on key "${args[0]}" ` : ``;
1011
- console.warn(
1011
+ warn$2(
1012
1012
  `${capitalize(type)} operation ${key}failed: target is readonly.`,
1013
1013
  toRaw(this)
1014
1014
  );
@@ -1146,7 +1146,7 @@ function checkIdentityKeys(target, has2, key) {
1146
1146
  const rawKey = toRaw(key);
1147
1147
  if (rawKey !== key && has2.call(target, rawKey)) {
1148
1148
  const type = toRawType(target);
1149
- console.warn(
1149
+ warn$2(
1150
1150
  `Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`
1151
1151
  );
1152
1152
  }
@@ -1215,7 +1215,7 @@ function shallowReadonly(target) {
1215
1215
  function createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) {
1216
1216
  if (!isObject(target)) {
1217
1217
  if (!!(process.env.NODE_ENV !== "production")) {
1218
- console.warn(`value cannot be made reactive: ${String(target)}`);
1218
+ warn$2(`value cannot be made reactive: ${String(target)}`);
1219
1219
  }
1220
1220
  return target;
1221
1221
  }
@@ -1268,6 +1268,7 @@ const toReadonly = (value) => isObject(value) ? readonly(value) : value;
1268
1268
  const COMPUTED_SIDE_EFFECT_WARN = `Computed is still dirty after getter evaluation, likely because a computed is mutating its own dependency in its getter. State mutations in computed getters should be avoided. Check the docs for more details: https://vuejs.org/guide/essentials/computed.html#getters-should-be-side-effect-free`;
1269
1269
  class ComputedRefImpl {
1270
1270
  constructor(getter, _setter, isReadonly, isSSR) {
1271
+ this.getter = getter;
1271
1272
  this._setter = _setter;
1272
1273
  this.dep = void 0;
1273
1274
  this.__v_isRef = true;
@@ -1290,7 +1291,11 @@ class ComputedRefImpl {
1290
1291
  }
1291
1292
  trackRefValue(self);
1292
1293
  if (self.effect._dirtyLevel >= 2) {
1293
- !!(process.env.NODE_ENV !== "production") && warn$2(COMPUTED_SIDE_EFFECT_WARN);
1294
+ if (!!(process.env.NODE_ENV !== "production") && this._warnRecursive) {
1295
+ warn$2(COMPUTED_SIDE_EFFECT_WARN, `
1296
+
1297
+ getter: `, this.getter);
1298
+ }
1294
1299
  triggerRefValue(self, 2);
1295
1300
  }
1296
1301
  return self._value;
@@ -1446,7 +1451,7 @@ function customRef(factory) {
1446
1451
  }
1447
1452
  function toRefs(object) {
1448
1453
  if (!!(process.env.NODE_ENV !== "production") && !isProxy(object)) {
1449
- console.warn(`toRefs() expects a reactive object but received a plain one.`);
1454
+ warn$2(`toRefs() expects a reactive object but received a plain one.`);
1450
1455
  }
1451
1456
  const ret = isArray(object) ? new Array(object.length) : {};
1452
1457
  for (const key in object) {
@@ -3225,6 +3230,8 @@ const SuspenseImpl = {
3225
3230
  } else {
3226
3231
  if (parentSuspense && parentSuspense.deps > 0) {
3227
3232
  n2.suspense = n1.suspense;
3233
+ n2.suspense.vnode = n2;
3234
+ n2.el = n1.el;
3228
3235
  return;
3229
3236
  }
3230
3237
  patchSuspense(
@@ -4229,7 +4236,6 @@ const BaseTransitionImpl = {
4229
4236
  setup(props, { slots }) {
4230
4237
  const instance = getCurrentInstance();
4231
4238
  const state = useTransitionState();
4232
- let prevTransitionKey;
4233
4239
  return () => {
4234
4240
  const children = slots.default && getTransitionRawChildren(slots.default(), true);
4235
4241
  if (!children || !children.length) {
@@ -4274,18 +4280,7 @@ const BaseTransitionImpl = {
4274
4280
  setTransitionHooks(innerChild, enterHooks);
4275
4281
  const oldChild = instance.subTree;
4276
4282
  const oldInnerChild = oldChild && getKeepAliveChild(oldChild);
4277
- let transitionKeyChanged = false;
4278
- const { getTransitionKey } = innerChild.type;
4279
- if (getTransitionKey) {
4280
- const key = getTransitionKey();
4281
- if (prevTransitionKey === void 0) {
4282
- prevTransitionKey = key;
4283
- } else if (key !== prevTransitionKey) {
4284
- prevTransitionKey = key;
4285
- transitionKeyChanged = true;
4286
- }
4287
- }
4288
- if (oldInnerChild && oldInnerChild.type !== Comment && (!isSameVNodeType(innerChild, oldInnerChild) || transitionKeyChanged)) {
4283
+ if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(innerChild, oldInnerChild)) {
4289
4284
  const leavingHooks = resolveTransitionHooks(
4290
4285
  oldInnerChild,
4291
4286
  rawProps,
@@ -6475,7 +6470,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
6475
6470
  return vm;
6476
6471
  }
6477
6472
  }
6478
- Vue.version = `2.6.14-compat:${"3.4.19"}`;
6473
+ Vue.version = `2.6.14-compat:${"3.4.20"}`;
6479
6474
  Vue.config = singletonApp.config;
6480
6475
  Vue.use = (p, ...options) => {
6481
6476
  if (p && isFunction(p.install)) {
@@ -10791,9 +10786,8 @@ const unsetCurrentInstance = () => {
10791
10786
  internalSetCurrentInstance(null);
10792
10787
  };
10793
10788
  const isBuiltInTag = /* @__PURE__ */ makeMap("slot,component");
10794
- function validateComponentName(name, config) {
10795
- const appIsNativeTag = config.isNativeTag || NO;
10796
- if (isBuiltInTag(name) || appIsNativeTag(name)) {
10789
+ function validateComponentName(name, { isNativeTag }) {
10790
+ if (isBuiltInTag(name) || isNativeTag(name)) {
10797
10791
  warn$1(
10798
10792
  "Do not use built-in or reserved HTML elements as component id: " + name
10799
10793
  );
@@ -11114,7 +11108,14 @@ function isClassComponent(value) {
11114
11108
  }
11115
11109
 
11116
11110
  const computed = (getterOrOptions, debugOptions) => {
11117
- return computed$1(getterOrOptions, debugOptions, isInSSRComponentSetup);
11111
+ const c = computed$1(getterOrOptions, debugOptions, isInSSRComponentSetup);
11112
+ if (!!(process.env.NODE_ENV !== "production")) {
11113
+ const i = getCurrentInstance();
11114
+ if (i && i.appContext.config.warnRecursiveComputed) {
11115
+ c._warnRecursive = true;
11116
+ }
11117
+ }
11118
+ return c;
11118
11119
  };
11119
11120
 
11120
11121
  function useModel(props, name, options = EMPTY_OBJ) {
@@ -11392,7 +11393,7 @@ function isMemoSame(cached, memo) {
11392
11393
  return true;
11393
11394
  }
11394
11395
 
11395
- const version = "3.4.19";
11396
+ const version = "3.4.20";
11396
11397
  const warn = !!(process.env.NODE_ENV !== "production") ? warn$1 : NOOP;
11397
11398
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
11398
11399
  const devtools = !!(process.env.NODE_ENV !== "production") || true ? devtools$1 : void 0;
@@ -11805,10 +11806,11 @@ function patchClass(el, value, isSVG) {
11805
11806
  }
11806
11807
  }
11807
11808
 
11808
- const vShowOldKey = Symbol("_vod");
11809
+ const vShowOriginalDisplay = Symbol("_vod");
11810
+ const vShowHidden = Symbol("_vsh");
11809
11811
  const vShow = {
11810
11812
  beforeMount(el, { value }, { transition }) {
11811
- el[vShowOldKey] = el.style.display === "none" ? "" : el.style.display;
11813
+ el[vShowOriginalDisplay] = el.style.display === "none" ? "" : el.style.display;
11812
11814
  if (transition && value) {
11813
11815
  transition.beforeEnter(el);
11814
11816
  } else {
@@ -11821,7 +11823,7 @@ const vShow = {
11821
11823
  }
11822
11824
  },
11823
11825
  updated(el, { value, oldValue }, { transition }) {
11824
- if (!value === !oldValue && (el.style.display === el[vShowOldKey] || !value))
11826
+ if (!value === !oldValue)
11825
11827
  return;
11826
11828
  if (transition) {
11827
11829
  if (value) {
@@ -11845,7 +11847,8 @@ if (!!(process.env.NODE_ENV !== "production")) {
11845
11847
  vShow.name = "show";
11846
11848
  }
11847
11849
  function setDisplay(el, value) {
11848
- el.style.display = value ? el[vShowOldKey] : "none";
11850
+ el.style.display = value ? el[vShowOriginalDisplay] : "none";
11851
+ el[vShowHidden] = !value;
11849
11852
  }
11850
11853
  function initVShowForSSR() {
11851
11854
  vShow.getSSRProps = ({ value }) => {
@@ -11925,13 +11928,21 @@ const displayRE = /(^|;)\s*display\s*:/;
11925
11928
  function patchStyle(el, prev, next) {
11926
11929
  const style = el.style;
11927
11930
  const isCssString = isString(next);
11928
- const currentDisplay = style.display;
11929
11931
  let hasControlledDisplay = false;
11930
11932
  if (next && !isCssString) {
11931
- if (prev && !isString(prev)) {
11932
- for (const key in prev) {
11933
- if (next[key] == null) {
11934
- setStyle(style, key, "");
11933
+ if (prev) {
11934
+ if (!isString(prev)) {
11935
+ for (const key in prev) {
11936
+ if (next[key] == null) {
11937
+ setStyle(style, key, "");
11938
+ }
11939
+ }
11940
+ } else {
11941
+ for (const prevStyle of prev.split(";")) {
11942
+ const key = prevStyle.slice(0, prevStyle.indexOf(":")).trim();
11943
+ if (next[key] == null) {
11944
+ setStyle(style, key, "");
11945
+ }
11935
11946
  }
11936
11947
  }
11937
11948
  }
@@ -11955,9 +11966,11 @@ function patchStyle(el, prev, next) {
11955
11966
  el.removeAttribute("style");
11956
11967
  }
11957
11968
  }
11958
- if (vShowOldKey in el) {
11959
- el[vShowOldKey] = hasControlledDisplay ? style.display : "";
11960
- style.display = currentDisplay;
11969
+ if (vShowOriginalDisplay in el) {
11970
+ el[vShowOriginalDisplay] = hasControlledDisplay ? style.display : "";
11971
+ if (el[vShowHidden]) {
11972
+ style.display = "none";
11973
+ }
11961
11974
  }
11962
11975
  }
11963
11976
  const semicolonRE = /[^\\];\s*$/;
@@ -12069,7 +12082,7 @@ function patchDOMProp(el, key, value, prevChildren, parentComponent, parentSuspe
12069
12082
  if (key === "value" && tag !== "PROGRESS" && // custom elements may use _value internally
12070
12083
  !tag.includes("-")) {
12071
12084
  el._value = value;
12072
- const oldValue = tag === "OPTION" ? el.getAttribute("value") : el.value;
12085
+ const oldValue = tag === "OPTION" ? el.getAttribute("value") || "" : el.value;
12073
12086
  const newValue = value == null ? "" : value;
12074
12087
  if (oldValue !== newValue) {
12075
12088
  el.value = newValue;
@@ -12785,19 +12798,19 @@ const vModelSelect = {
12785
12798
  },
12786
12799
  // set value in mounted & updated because <select> relies on its children
12787
12800
  // <option>s.
12788
- mounted(el, { value, oldValue, modifiers: { number } }) {
12789
- setSelected(el, value, oldValue, number);
12801
+ mounted(el, { value, modifiers: { number } }) {
12802
+ setSelected(el, value, number);
12790
12803
  },
12791
12804
  beforeUpdate(el, _binding, vnode) {
12792
12805
  el[assignKey] = getModelAssigner(vnode);
12793
12806
  },
12794
- updated(el, { value, oldValue, modifiers: { number } }) {
12807
+ updated(el, { value, modifiers: { number } }) {
12795
12808
  if (!el._assigning) {
12796
- setSelected(el, value, oldValue, number);
12809
+ setSelected(el, value, number);
12797
12810
  }
12798
12811
  }
12799
12812
  };
12800
- function setSelected(el, value, oldValue, number) {
12813
+ function setSelected(el, value, number) {
12801
12814
  const isMultiple = el.multiple;
12802
12815
  const isArrayValue = isArray(value);
12803
12816
  if (isMultiple && !isArrayValue && !isSet(value)) {
@@ -12822,12 +12835,10 @@ function setSelected(el, value, oldValue, number) {
12822
12835
  } else {
12823
12836
  option.selected = value.has(optionValue);
12824
12837
  }
12825
- } else {
12826
- if (looseEqual(getValue(option), value)) {
12827
- if (el.selectedIndex !== i)
12828
- el.selectedIndex = i;
12829
- return;
12830
- }
12838
+ } else if (looseEqual(getValue(option), value)) {
12839
+ if (el.selectedIndex !== i)
12840
+ el.selectedIndex = i;
12841
+ return;
12831
12842
  }
12832
12843
  }
12833
12844
  if (!isMultiple && el.selectedIndex !== -1) {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/compat v3.4.19
2
+ * @vue/compat v3.4.20
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -733,20 +733,20 @@ var Vue = (function () {
733
733
  return obj.hasOwnProperty(key);
734
734
  }
735
735
  class BaseReactiveHandler {
736
- constructor(_isReadonly = false, _shallow = false) {
736
+ constructor(_isReadonly = false, _isShallow = false) {
737
737
  this._isReadonly = _isReadonly;
738
- this._shallow = _shallow;
738
+ this._isShallow = _isShallow;
739
739
  }
740
740
  get(target, key, receiver) {
741
- const isReadonly2 = this._isReadonly, shallow = this._shallow;
741
+ const isReadonly2 = this._isReadonly, isShallow2 = this._isShallow;
742
742
  if (key === "__v_isReactive") {
743
743
  return !isReadonly2;
744
744
  } else if (key === "__v_isReadonly") {
745
745
  return isReadonly2;
746
746
  } else if (key === "__v_isShallow") {
747
- return shallow;
747
+ return isShallow2;
748
748
  } else if (key === "__v_raw") {
749
- if (receiver === (isReadonly2 ? shallow ? shallowReadonlyMap : readonlyMap : shallow ? shallowReactiveMap : reactiveMap).get(target) || // receiver is not the reactive proxy, but has the same prototype
749
+ if (receiver === (isReadonly2 ? isShallow2 ? shallowReadonlyMap : readonlyMap : isShallow2 ? shallowReactiveMap : reactiveMap).get(target) || // receiver is not the reactive proxy, but has the same prototype
750
750
  // this means the reciever is a user proxy of the reactive proxy
751
751
  Object.getPrototypeOf(target) === Object.getPrototypeOf(receiver)) {
752
752
  return target;
@@ -769,7 +769,7 @@ var Vue = (function () {
769
769
  if (!isReadonly2) {
770
770
  track(target, "get", key);
771
771
  }
772
- if (shallow) {
772
+ if (isShallow2) {
773
773
  return res;
774
774
  }
775
775
  if (isRef(res)) {
@@ -782,12 +782,12 @@ var Vue = (function () {
782
782
  }
783
783
  }
784
784
  class MutableReactiveHandler extends BaseReactiveHandler {
785
- constructor(shallow = false) {
786
- super(false, shallow);
785
+ constructor(isShallow2 = false) {
786
+ super(false, isShallow2);
787
787
  }
788
788
  set(target, key, value, receiver) {
789
789
  let oldValue = target[key];
790
- if (!this._shallow) {
790
+ if (!this._isShallow) {
791
791
  const isOldValueReadonly = isReadonly(oldValue);
792
792
  if (!isShallow(value) && !isReadonly(value)) {
793
793
  oldValue = toRaw(oldValue);
@@ -839,8 +839,8 @@ var Vue = (function () {
839
839
  }
840
840
  }
841
841
  class ReadonlyReactiveHandler extends BaseReactiveHandler {
842
- constructor(shallow = false) {
843
- super(true, shallow);
842
+ constructor(isShallow2 = false) {
843
+ super(true, isShallow2);
844
844
  }
845
845
  set(target, key) {
846
846
  {
@@ -1011,7 +1011,7 @@ var Vue = (function () {
1011
1011
  return function(...args) {
1012
1012
  {
1013
1013
  const key = args[0] ? `on key "${args[0]}" ` : ``;
1014
- console.warn(
1014
+ warn$2(
1015
1015
  `${capitalize(type)} operation ${key}failed: target is readonly.`,
1016
1016
  toRaw(this)
1017
1017
  );
@@ -1149,7 +1149,7 @@ var Vue = (function () {
1149
1149
  const rawKey = toRaw(key);
1150
1150
  if (rawKey !== key && has2.call(target, rawKey)) {
1151
1151
  const type = toRawType(target);
1152
- console.warn(
1152
+ warn$2(
1153
1153
  `Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`
1154
1154
  );
1155
1155
  }
@@ -1218,7 +1218,7 @@ var Vue = (function () {
1218
1218
  function createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) {
1219
1219
  if (!isObject(target)) {
1220
1220
  {
1221
- console.warn(`value cannot be made reactive: ${String(target)}`);
1221
+ warn$2(`value cannot be made reactive: ${String(target)}`);
1222
1222
  }
1223
1223
  return target;
1224
1224
  }
@@ -1271,6 +1271,7 @@ var Vue = (function () {
1271
1271
  const COMPUTED_SIDE_EFFECT_WARN = `Computed is still dirty after getter evaluation, likely because a computed is mutating its own dependency in its getter. State mutations in computed getters should be avoided. Check the docs for more details: https://vuejs.org/guide/essentials/computed.html#getters-should-be-side-effect-free`;
1272
1272
  class ComputedRefImpl {
1273
1273
  constructor(getter, _setter, isReadonly, isSSR) {
1274
+ this.getter = getter;
1274
1275
  this._setter = _setter;
1275
1276
  this.dep = void 0;
1276
1277
  this.__v_isRef = true;
@@ -1293,7 +1294,11 @@ var Vue = (function () {
1293
1294
  }
1294
1295
  trackRefValue(self);
1295
1296
  if (self.effect._dirtyLevel >= 2) {
1296
- warn$2(COMPUTED_SIDE_EFFECT_WARN);
1297
+ if (this._warnRecursive) {
1298
+ warn$2(COMPUTED_SIDE_EFFECT_WARN, `
1299
+
1300
+ getter: `, this.getter);
1301
+ }
1297
1302
  triggerRefValue(self, 2);
1298
1303
  }
1299
1304
  return self._value;
@@ -1449,7 +1454,7 @@ var Vue = (function () {
1449
1454
  }
1450
1455
  function toRefs(object) {
1451
1456
  if (!isProxy(object)) {
1452
- console.warn(`toRefs() expects a reactive object but received a plain one.`);
1457
+ warn$2(`toRefs() expects a reactive object but received a plain one.`);
1453
1458
  }
1454
1459
  const ret = isArray(object) ? new Array(object.length) : {};
1455
1460
  for (const key in object) {
@@ -3221,6 +3226,8 @@ If this is a native custom element, make sure to exclude it from component resol
3221
3226
  } else {
3222
3227
  if (parentSuspense && parentSuspense.deps > 0) {
3223
3228
  n2.suspense = n1.suspense;
3229
+ n2.suspense.vnode = n2;
3230
+ n2.el = n1.el;
3224
3231
  return;
3225
3232
  }
3226
3233
  patchSuspense(
@@ -4198,7 +4205,6 @@ If this is a native custom element, make sure to exclude it from component resol
4198
4205
  setup(props, { slots }) {
4199
4206
  const instance = getCurrentInstance();
4200
4207
  const state = useTransitionState();
4201
- let prevTransitionKey;
4202
4208
  return () => {
4203
4209
  const children = slots.default && getTransitionRawChildren(slots.default(), true);
4204
4210
  if (!children || !children.length) {
@@ -4241,18 +4247,7 @@ If this is a native custom element, make sure to exclude it from component resol
4241
4247
  setTransitionHooks(innerChild, enterHooks);
4242
4248
  const oldChild = instance.subTree;
4243
4249
  const oldInnerChild = oldChild && getKeepAliveChild(oldChild);
4244
- let transitionKeyChanged = false;
4245
- const { getTransitionKey } = innerChild.type;
4246
- if (getTransitionKey) {
4247
- const key = getTransitionKey();
4248
- if (prevTransitionKey === void 0) {
4249
- prevTransitionKey = key;
4250
- } else if (key !== prevTransitionKey) {
4251
- prevTransitionKey = key;
4252
- transitionKeyChanged = true;
4253
- }
4254
- }
4255
- if (oldInnerChild && oldInnerChild.type !== Comment && (!isSameVNodeType(innerChild, oldInnerChild) || transitionKeyChanged)) {
4250
+ if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(innerChild, oldInnerChild)) {
4256
4251
  const leavingHooks = resolveTransitionHooks(
4257
4252
  oldInnerChild,
4258
4253
  rawProps,
@@ -6434,7 +6429,7 @@ If this is a native custom element, make sure to exclude it from component resol
6434
6429
  return vm;
6435
6430
  }
6436
6431
  }
6437
- Vue.version = `2.6.14-compat:${"3.4.19"}`;
6432
+ Vue.version = `2.6.14-compat:${"3.4.20"}`;
6438
6433
  Vue.config = singletonApp.config;
6439
6434
  Vue.use = (p, ...options) => {
6440
6435
  if (p && isFunction(p.install)) {
@@ -10682,9 +10677,8 @@ Component that was made reactive: `,
10682
10677
  internalSetCurrentInstance(null);
10683
10678
  };
10684
10679
  const isBuiltInTag = /* @__PURE__ */ makeMap("slot,component");
10685
- function validateComponentName(name, config) {
10686
- const appIsNativeTag = config.isNativeTag || NO;
10687
- if (isBuiltInTag(name) || appIsNativeTag(name)) {
10680
+ function validateComponentName(name, { isNativeTag }) {
10681
+ if (isBuiltInTag(name) || isNativeTag(name)) {
10688
10682
  warn$1(
10689
10683
  "Do not use built-in or reserved HTML elements as component id: " + name
10690
10684
  );
@@ -10989,7 +10983,14 @@ Component that was made reactive: `,
10989
10983
  }
10990
10984
 
10991
10985
  const computed = (getterOrOptions, debugOptions) => {
10992
- return computed$1(getterOrOptions, debugOptions, isInSSRComponentSetup);
10986
+ const c = computed$1(getterOrOptions, debugOptions, isInSSRComponentSetup);
10987
+ {
10988
+ const i = getCurrentInstance();
10989
+ if (i && i.appContext.config.warnRecursiveComputed) {
10990
+ c._warnRecursive = true;
10991
+ }
10992
+ }
10993
+ return c;
10993
10994
  };
10994
10995
 
10995
10996
  function useModel(props, name, options = EMPTY_OBJ) {
@@ -11267,7 +11268,7 @@ Component that was made reactive: `,
11267
11268
  return true;
11268
11269
  }
11269
11270
 
11270
- const version = "3.4.19";
11271
+ const version = "3.4.20";
11271
11272
  const warn = warn$1 ;
11272
11273
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
11273
11274
  const devtools = devtools$1 ;
@@ -11672,10 +11673,11 @@ Component that was made reactive: `,
11672
11673
  }
11673
11674
  }
11674
11675
 
11675
- const vShowOldKey = Symbol("_vod");
11676
+ const vShowOriginalDisplay = Symbol("_vod");
11677
+ const vShowHidden = Symbol("_vsh");
11676
11678
  const vShow = {
11677
11679
  beforeMount(el, { value }, { transition }) {
11678
- el[vShowOldKey] = el.style.display === "none" ? "" : el.style.display;
11680
+ el[vShowOriginalDisplay] = el.style.display === "none" ? "" : el.style.display;
11679
11681
  if (transition && value) {
11680
11682
  transition.beforeEnter(el);
11681
11683
  } else {
@@ -11688,7 +11690,7 @@ Component that was made reactive: `,
11688
11690
  }
11689
11691
  },
11690
11692
  updated(el, { value, oldValue }, { transition }) {
11691
- if (!value === !oldValue && (el.style.display === el[vShowOldKey] || !value))
11693
+ if (!value === !oldValue)
11692
11694
  return;
11693
11695
  if (transition) {
11694
11696
  if (value) {
@@ -11712,7 +11714,8 @@ Component that was made reactive: `,
11712
11714
  vShow.name = "show";
11713
11715
  }
11714
11716
  function setDisplay(el, value) {
11715
- el.style.display = value ? el[vShowOldKey] : "none";
11717
+ el.style.display = value ? el[vShowOriginalDisplay] : "none";
11718
+ el[vShowHidden] = !value;
11716
11719
  }
11717
11720
 
11718
11721
  const CSS_VAR_TEXT = Symbol("CSS_VAR_TEXT" );
@@ -11785,13 +11788,21 @@ Component that was made reactive: `,
11785
11788
  function patchStyle(el, prev, next) {
11786
11789
  const style = el.style;
11787
11790
  const isCssString = isString(next);
11788
- const currentDisplay = style.display;
11789
11791
  let hasControlledDisplay = false;
11790
11792
  if (next && !isCssString) {
11791
- if (prev && !isString(prev)) {
11792
- for (const key in prev) {
11793
- if (next[key] == null) {
11794
- setStyle(style, key, "");
11793
+ if (prev) {
11794
+ if (!isString(prev)) {
11795
+ for (const key in prev) {
11796
+ if (next[key] == null) {
11797
+ setStyle(style, key, "");
11798
+ }
11799
+ }
11800
+ } else {
11801
+ for (const prevStyle of prev.split(";")) {
11802
+ const key = prevStyle.slice(0, prevStyle.indexOf(":")).trim();
11803
+ if (next[key] == null) {
11804
+ setStyle(style, key, "");
11805
+ }
11795
11806
  }
11796
11807
  }
11797
11808
  }
@@ -11815,9 +11826,11 @@ Component that was made reactive: `,
11815
11826
  el.removeAttribute("style");
11816
11827
  }
11817
11828
  }
11818
- if (vShowOldKey in el) {
11819
- el[vShowOldKey] = hasControlledDisplay ? style.display : "";
11820
- style.display = currentDisplay;
11829
+ if (vShowOriginalDisplay in el) {
11830
+ el[vShowOriginalDisplay] = hasControlledDisplay ? style.display : "";
11831
+ if (el[vShowHidden]) {
11832
+ style.display = "none";
11833
+ }
11821
11834
  }
11822
11835
  }
11823
11836
  const semicolonRE = /[^\\];\s*$/;
@@ -11929,7 +11942,7 @@ Component that was made reactive: `,
11929
11942
  if (key === "value" && tag !== "PROGRESS" && // custom elements may use _value internally
11930
11943
  !tag.includes("-")) {
11931
11944
  el._value = value;
11932
- const oldValue = tag === "OPTION" ? el.getAttribute("value") : el.value;
11945
+ const oldValue = tag === "OPTION" ? el.getAttribute("value") || "" : el.value;
11933
11946
  const newValue = value == null ? "" : value;
11934
11947
  if (oldValue !== newValue) {
11935
11948
  el.value = newValue;
@@ -12633,19 +12646,19 @@ Component that was made reactive: `,
12633
12646
  },
12634
12647
  // set value in mounted & updated because <select> relies on its children
12635
12648
  // <option>s.
12636
- mounted(el, { value, oldValue, modifiers: { number } }) {
12637
- setSelected(el, value, oldValue, number);
12649
+ mounted(el, { value, modifiers: { number } }) {
12650
+ setSelected(el, value, number);
12638
12651
  },
12639
12652
  beforeUpdate(el, _binding, vnode) {
12640
12653
  el[assignKey] = getModelAssigner(vnode);
12641
12654
  },
12642
- updated(el, { value, oldValue, modifiers: { number } }) {
12655
+ updated(el, { value, modifiers: { number } }) {
12643
12656
  if (!el._assigning) {
12644
- setSelected(el, value, oldValue, number);
12657
+ setSelected(el, value, number);
12645
12658
  }
12646
12659
  }
12647
12660
  };
12648
- function setSelected(el, value, oldValue, number) {
12661
+ function setSelected(el, value, number) {
12649
12662
  const isMultiple = el.multiple;
12650
12663
  const isArrayValue = isArray(value);
12651
12664
  if (isMultiple && !isArrayValue && !isSet(value)) {
@@ -12670,12 +12683,10 @@ Component that was made reactive: `,
12670
12683
  } else {
12671
12684
  option.selected = value.has(optionValue);
12672
12685
  }
12673
- } else {
12674
- if (looseEqual(getValue(option), value)) {
12675
- if (el.selectedIndex !== i)
12676
- el.selectedIndex = i;
12677
- return;
12678
- }
12686
+ } else if (looseEqual(getValue(option), value)) {
12687
+ if (el.selectedIndex !== i)
12688
+ el.selectedIndex = i;
12689
+ return;
12679
12690
  }
12680
12691
  }
12681
12692
  if (!isMultiple && el.selectedIndex !== -1) {