@vue/runtime-dom 3.5.35 → 3.5.36

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/runtime-dom v3.5.35
2
+ * @vue/runtime-dom v3.5.36
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -1396,7 +1396,8 @@ const TransitionGroupImpl = /* @__PURE__ */ decorate({
1396
1396
  if (children) {
1397
1397
  for (let i = 0; i < children.length; i++) {
1398
1398
  const child = children[i];
1399
- if (child.el && child.el instanceof Element) {
1399
+ if (child.el && child.el instanceof Element && // Hidden v-show nodes have no previous layout box to animate from.
1400
+ !child.el[vShowHidden]) {
1400
1401
  prevChildren.push(child);
1401
1402
  runtimeCore.setTransitionHooks(
1402
1403
  child,
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/runtime-dom v3.5.35
2
+ * @vue/runtime-dom v3.5.36
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -1304,7 +1304,8 @@ const TransitionGroupImpl = /* @__PURE__ */ decorate({
1304
1304
  if (children) {
1305
1305
  for (let i = 0; i < children.length; i++) {
1306
1306
  const child = children[i];
1307
- if (child.el && child.el instanceof Element) {
1307
+ if (child.el && child.el instanceof Element && // Hidden v-show nodes have no previous layout box to animate from.
1308
+ !child.el[vShowHidden]) {
1308
1309
  prevChildren.push(child);
1309
1310
  runtimeCore.setTransitionHooks(
1310
1311
  child,
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/runtime-dom v3.5.35
2
+ * @vue/runtime-dom v3.5.36
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -2167,8 +2167,9 @@ function watch$1(source, cb, options = EMPTY_OBJ) {
2167
2167
  if (once && cb) {
2168
2168
  const _cb = cb;
2169
2169
  cb = (...args) => {
2170
- _cb(...args);
2170
+ const res = _cb(...args);
2171
2171
  watchHandle();
2172
+ return res;
2172
2173
  };
2173
2174
  }
2174
2175
  let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE;
@@ -2178,7 +2179,7 @@ function watch$1(source, cb, options = EMPTY_OBJ) {
2178
2179
  }
2179
2180
  if (cb) {
2180
2181
  const newValue = effect.run();
2181
- if (deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue))) {
2182
+ if (immediateFirstRun || deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue))) {
2182
2183
  if (cleanup) {
2183
2184
  cleanup();
2184
2185
  }
@@ -4991,13 +4992,21 @@ function defineAsyncComponent(source) {
4991
4992
  const loaded = ref(false);
4992
4993
  const error = ref();
4993
4994
  const delayed = ref(!!delay);
4995
+ let timeoutTimer;
4996
+ let delayTimer;
4997
+ onUnmounted(() => {
4998
+ if (timeoutTimer != null) clearTimeout(timeoutTimer);
4999
+ if (delayTimer != null) clearTimeout(delayTimer);
5000
+ });
4994
5001
  if (delay) {
4995
- setTimeout(() => {
5002
+ delayTimer = setTimeout(() => {
5003
+ if (instance.isUnmounted) return;
4996
5004
  delayed.value = false;
4997
5005
  }, delay);
4998
5006
  }
4999
5007
  if (timeout != null) {
5000
- setTimeout(() => {
5008
+ timeoutTimer = setTimeout(() => {
5009
+ if (instance.isUnmounted) return;
5001
5010
  if (!loaded.value && !error.value) {
5002
5011
  const err = new Error(
5003
5012
  `Async component timed out after ${timeout}ms.`
@@ -5008,11 +5017,16 @@ function defineAsyncComponent(source) {
5008
5017
  }, timeout);
5009
5018
  }
5010
5019
  load().then(() => {
5020
+ if (instance.isUnmounted) return;
5011
5021
  loaded.value = true;
5012
5022
  if (instance.parent && isKeepAlive(instance.parent.vnode)) {
5013
5023
  instance.parent.update();
5014
5024
  }
5015
5025
  }).catch((err) => {
5026
+ if (instance.isUnmounted) {
5027
+ pendingRequest = null;
5028
+ return;
5029
+ }
5016
5030
  onError(err);
5017
5031
  error.value = err;
5018
5032
  });
@@ -6591,13 +6605,20 @@ function useModel(props, name, options = EMPTY_OBJ) {
6591
6605
  return;
6592
6606
  }
6593
6607
  const rawProps = i.vnode.props;
6594
- if (!(rawProps && // check if parent has passed v-model
6595
- (name in rawProps || camelizedName in rawProps || hyphenatedName in rawProps) && (`onUpdate:${name}` in rawProps || `onUpdate:${camelizedName}` in rawProps || `onUpdate:${hyphenatedName}` in rawProps))) {
6608
+ const hasVModel = !!(rawProps && // check if parent has passed v-model
6609
+ (name in rawProps || camelizedName in rawProps || hyphenatedName in rawProps) && (`onUpdate:${name}` in rawProps || `onUpdate:${camelizedName}` in rawProps || `onUpdate:${hyphenatedName}` in rawProps));
6610
+ if (!hasVModel) {
6596
6611
  localValue = value;
6597
6612
  trigger();
6598
6613
  }
6599
6614
  i.emit(`update:${name}`, emittedValue);
6600
- if (hasChanged(value, emittedValue) && hasChanged(value, prevSetValue) && !hasChanged(emittedValue, prevEmittedValue)) {
6615
+ if (hasChanged(value, prevSetValue) && (hasChanged(value, emittedValue) && !hasChanged(emittedValue, prevEmittedValue) || // #13524: browsers differ in when they flush microtasks between
6616
+ // event listeners. If a v-model listener emits an intermediate value
6617
+ // and a following listener restores the model to its previous prop
6618
+ // value before parent updates are flushed, the parent render can be
6619
+ // deduped as having no prop change. Force a local update so DOM state
6620
+ // such as an input's value is synchronized back to the current model.
6621
+ hasVModel && prevSetValue !== EMPTY_OBJ && !hasChanged(emittedValue, localValue))) {
6601
6622
  trigger();
6602
6623
  }
6603
6624
  prevSetValue = value;
@@ -10831,7 +10852,7 @@ function isMemoSame(cached, memo) {
10831
10852
  return true;
10832
10853
  }
10833
10854
 
10834
- const version = "3.5.35";
10855
+ const version = "3.5.36";
10835
10856
  const warn = warn$1 ;
10836
10857
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
10837
10858
  const devtools = devtools$1 ;
@@ -12307,7 +12328,8 @@ const TransitionGroupImpl = /* @__PURE__ */ decorate({
12307
12328
  if (children) {
12308
12329
  for (let i = 0; i < children.length; i++) {
12309
12330
  const child = children[i];
12310
- if (child.el && child.el instanceof Element) {
12331
+ if (child.el && child.el instanceof Element && // Hidden v-show nodes have no previous layout box to animate from.
12332
+ !child.el[vShowHidden]) {
12311
12333
  prevChildren.push(child);
12312
12334
  setTransitionHooks(
12313
12335
  child,