vue 3.5.39 → 3.5.40

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 v3.5.39
2
+ * vue v3.5.40
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -379,8 +379,9 @@ var Vue = (function (exports) {
379
379
  this._isPaused = true;
380
380
  let i, l;
381
381
  if (this.scopes) {
382
- for (i = 0, l = this.scopes.length; i < l; i++) {
383
- this.scopes[i].pause();
382
+ const scopes = this.scopes.slice();
383
+ for (i = 0, l = scopes.length; i < l; i++) {
384
+ scopes[i].pause();
384
385
  }
385
386
  }
386
387
  for (i = 0, l = this.effects.length; i < l; i++) {
@@ -397,12 +398,14 @@ var Vue = (function (exports) {
397
398
  this._isPaused = false;
398
399
  let i, l;
399
400
  if (this.scopes) {
400
- for (i = 0, l = this.scopes.length; i < l; i++) {
401
- this.scopes[i].resume();
401
+ const scopes = this.scopes.slice();
402
+ for (i = 0, l = scopes.length; i < l; i++) {
403
+ scopes[i].resume();
402
404
  }
403
405
  }
404
- for (i = 0, l = this.effects.length; i < l; i++) {
405
- this.effects[i].resume();
406
+ const effects = this.effects.slice();
407
+ for (i = 0, l = effects.length; i < l; i++) {
408
+ effects[i].resume();
406
409
  }
407
410
  }
408
411
  }
@@ -464,8 +467,9 @@ var Vue = (function (exports) {
464
467
  }
465
468
  this.cleanups.length = 0;
466
469
  if (this.scopes) {
467
- for (i = 0, l = this.scopes.length; i < l; i++) {
468
- this.scopes[i].stop(true);
470
+ const scopes = this.scopes.slice();
471
+ for (i = 0, l = scopes.length; i < l; i++) {
472
+ scopes[i].stop(true);
469
473
  }
470
474
  this.scopes.length = 0;
471
475
  }
@@ -2962,10 +2966,12 @@ var Vue = (function (exports) {
2962
2966
  setBlockTracking(-1);
2963
2967
  }
2964
2968
  const prevInstance = setCurrentRenderingInstance(ctx);
2969
+ const prevStackSize = blockStack.length;
2965
2970
  let res;
2966
2971
  try {
2967
2972
  res = fn(...args);
2968
2973
  } finally {
2974
+ for (let i = blockStack.length; i > prevStackSize; i--) closeBlock();
2969
2975
  setCurrentRenderingInstance(prevInstance);
2970
2976
  if (renderFnWithContext._d) {
2971
2977
  setBlockTracking(1);
@@ -4051,12 +4057,7 @@ var Vue = (function (exports) {
4051
4057
  }
4052
4058
  }
4053
4059
  if (isFunction(ref)) {
4054
- pauseTracking();
4055
- try {
4056
- callWithErrorHandling(ref, owner, 12, [value, refs]);
4057
- } finally {
4058
- resetTracking();
4059
- }
4060
+ callWithErrorHandling(ref, owner, 12, [value, refs]);
4060
4061
  } else {
4061
4062
  const _isString = isString(ref);
4062
4063
  const _isRef = isRef(ref);
@@ -4427,6 +4428,7 @@ Server rendered element contains more child nodes than client vdom.`
4427
4428
  if (props) {
4428
4429
  {
4429
4430
  const isCustomElement = el.tagName.includes("-");
4431
+ const namespace = el.namespaceURI.includes("svg") ? "svg" : el.namespaceURI.includes("MathML") ? "mathml" : void 0;
4430
4432
  for (const key in props) {
4431
4433
  if (// #11189 skip if this node has directives that have created hooks
4432
4434
  // as it could have mutated the DOM in any possible way
@@ -4435,7 +4437,7 @@ Server rendered element contains more child nodes than client vdom.`
4435
4437
  }
4436
4438
  if (forcePatch && (key.endsWith("value") || key === "indeterminate") || isOn(key) && !isReservedProp(key) || // force hydrate v-bind with .prop modifiers
4437
4439
  key[0] === "." || isCustomElement && !isReservedProp(key) || dynamicProps && dynamicProps.includes(key)) {
4438
- patchProp(el, key, null, props[key], void 0, parentComponent);
4440
+ patchProp(el, key, null, props[key], namespace, parentComponent);
4439
4441
  }
4440
4442
  }
4441
4443
  }
@@ -4938,6 +4940,7 @@ Server rendered element contains fewer child nodes than client vdom.`
4938
4940
  name: "AsyncComponentWrapper",
4939
4941
  __asyncLoader: load,
4940
4942
  __asyncHydrate(el, instance, hydrate) {
4943
+ const wasConnected = el.isConnected;
4941
4944
  let patched = false;
4942
4945
  (instance.bu || (instance.bu = [])).push(() => patched = true);
4943
4946
  const performHydrate = () => {
@@ -4949,6 +4952,7 @@ Server rendered element contains fewer child nodes than client vdom.`
4949
4952
  }
4950
4953
  return;
4951
4954
  }
4955
+ if (!el.parentNode || wasConnected && !el.isConnected) return;
4952
4956
  hydrate();
4953
4957
  };
4954
4958
  const doHydrate = hydrateStrategy ? () => {
@@ -5501,14 +5505,15 @@ If this is a native custom element, make sure to exclude it from component resol
5501
5505
  return slots;
5502
5506
  }
5503
5507
 
5504
- function renderSlot(slots, name, props = {}, fallback, noSlotted) {
5508
+ function renderSlot(slots, name, props = {}, fallback, noSlotted, branchKey) {
5505
5509
  if (currentRenderingInstance.ce || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.ce) {
5506
- const hasProps = Object.keys(props).length > 0;
5507
- if (name !== "default") props.name = name;
5510
+ const slotProps = branchKey != null && props.key == null ? extend({}, props, { key: branchKey }) : props;
5511
+ const hasProps = Object.keys(slotProps).length > 0;
5512
+ if (name !== "default") slotProps.name = name;
5508
5513
  return openBlock(), createBlock(
5509
5514
  Fragment,
5510
5515
  null,
5511
- [createVNode("slot", props, fallback && fallback())],
5516
+ [createVNode("slot", slotProps, fallback && fallback())],
5512
5517
  hasProps ? -2 : 64
5513
5518
  );
5514
5519
  }
@@ -5522,26 +5527,34 @@ If this is a native custom element, make sure to exclude it from component resol
5522
5527
  if (slot && slot._c) {
5523
5528
  slot._d = false;
5524
5529
  }
5530
+ const prevStackSize = blockStack.length;
5525
5531
  openBlock();
5526
- const validSlotContent = slot && ensureValidVNode(slot(props));
5527
- const slotKey = props.key || // slot content array of a dynamic conditional slot may have a branch
5528
- // key attached in the `createSlots` helper, respect that
5529
- validSlotContent && validSlotContent.key;
5530
- const rendered = createBlock(
5531
- Fragment,
5532
- {
5533
- key: (slotKey && !isSymbol(slotKey) ? slotKey : `_${name}`) + // #7256 force differentiate fallback content from actual content
5534
- (!validSlotContent && fallback ? "_fb" : "")
5535
- },
5536
- validSlotContent || (fallback ? fallback() : []),
5537
- validSlotContent && slots._ === 1 ? 64 : -2
5538
- );
5532
+ let rendered;
5533
+ try {
5534
+ const validSlotContent = slot && ensureValidVNode(slot(props));
5535
+ const slotKey = props.key || branchKey || // slot content array of a dynamic conditional slot may have a branch
5536
+ // key attached in the `createSlots` helper, respect that
5537
+ validSlotContent && validSlotContent.key;
5538
+ rendered = createBlock(
5539
+ Fragment,
5540
+ {
5541
+ key: (slotKey && !isSymbol(slotKey) ? slotKey : `_${name}`) + // #7256 force differentiate fallback content from actual content
5542
+ (!validSlotContent && fallback ? "_fb" : "")
5543
+ },
5544
+ validSlotContent || (fallback ? fallback() : []),
5545
+ validSlotContent && slots._ === 1 ? 64 : -2
5546
+ );
5547
+ } catch (err) {
5548
+ for (let i = blockStack.length; i > prevStackSize; i--) closeBlock();
5549
+ throw err;
5550
+ } finally {
5551
+ if (slot && slot._c) {
5552
+ slot._d = true;
5553
+ }
5554
+ }
5539
5555
  if (!noSlotted && rendered.scopeId) {
5540
5556
  rendered.slotScopeIds = [rendered.scopeId + "-s"];
5541
5557
  }
5542
- if (slot && slot._c) {
5543
- slot._d = true;
5544
- }
5545
5558
  return rendered;
5546
5559
  }
5547
5560
  function ensureValidVNode(vnodes) {
@@ -10844,7 +10857,7 @@ Component that was made reactive: `,
10844
10857
  return true;
10845
10858
  }
10846
10859
 
10847
- const version = "3.5.39";
10860
+ const version = "3.5.40";
10848
10861
  const warn = warn$1 ;
10849
10862
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
10850
10863
  const devtools = devtools$1 ;
@@ -12516,13 +12529,13 @@ Expected function or array of functions, received type ${typeof value}.`
12516
12529
  // <select multiple> value need to be deep traversed
12517
12530
  deep: true,
12518
12531
  created(el, { value, modifiers: { number } }, vnode) {
12519
- const isSetModel = isSet(value);
12532
+ el._modelValue = value;
12520
12533
  addEventListener(el, "change", () => {
12521
12534
  const selectedVal = Array.prototype.filter.call(el.options, (o) => o.selected).map(
12522
12535
  (o) => number ? looseToNumber(getValue(o)) : getValue(o)
12523
12536
  );
12524
12537
  el[assignKey](
12525
- el.multiple ? isSetModel ? new Set(selectedVal) : selectedVal : selectedVal[0]
12538
+ el.multiple ? isSet(el._modelValue) ? new Set(selectedVal) : selectedVal : selectedVal[0]
12526
12539
  );
12527
12540
  el._assigning = true;
12528
12541
  nextTick(() => {
@@ -12536,7 +12549,8 @@ Expected function or array of functions, received type ${typeof value}.`
12536
12549
  mounted(el, { value }) {
12537
12550
  setSelected(el, value);
12538
12551
  },
12539
- beforeUpdate(el, _binding, vnode) {
12552
+ beforeUpdate(el, { value }, vnode) {
12553
+ el._modelValue = value;
12540
12554
  el[assignKey] = getModelAssigner(vnode);
12541
12555
  },
12542
12556
  updated(el, { value }) {