vue 3.5.41 → 3.5.42

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.41
2
+ * vue v3.5.42
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -1,5 +1,5 @@
1
1
  /**
2
- * vue v3.5.41
2
+ * vue v3.5.42
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -232,6 +232,23 @@ var Vue = (function (exports) {
232
232
  }
233
233
  return equal;
234
234
  }
235
+ function looseCompareCollections(a, b) {
236
+ if (a.size !== b.size) return false;
237
+ const candidates = Array.from(b);
238
+ const matched = new Uint8Array(candidates.length);
239
+ for (const item of a) {
240
+ let index = -1;
241
+ for (let i = 0; i < candidates.length; i++) {
242
+ if (!matched[i] && looseEqual(item, candidates[i])) {
243
+ index = i;
244
+ break;
245
+ }
246
+ }
247
+ if (index < 0) return false;
248
+ matched[index] = 1;
249
+ }
250
+ return true;
251
+ }
235
252
  function looseEqual(a, b) {
236
253
  if (a === b) return true;
237
254
  let aValidType = isDate(a);
@@ -255,6 +272,16 @@ var Vue = (function (exports) {
255
272
  if (!aValidType || !bValidType) {
256
273
  return false;
257
274
  }
275
+ aValidType = isMap(a);
276
+ bValidType = isMap(b);
277
+ if (aValidType || bValidType) {
278
+ return aValidType && bValidType ? looseCompareCollections(a, b) : false;
279
+ }
280
+ aValidType = isSet(a);
281
+ bValidType = isSet(b);
282
+ if (aValidType || bValidType) {
283
+ return aValidType && bValidType ? looseCompareCollections(a, b) : false;
284
+ }
258
285
  const aKeysCount = Object.keys(a).length;
259
286
  const bKeysCount = Object.keys(b).length;
260
287
  if (aKeysCount !== bKeysCount) {
@@ -4308,10 +4335,10 @@ var Vue = (function (exports) {
4308
4335
  getContainerType(container),
4309
4336
  optimized
4310
4337
  );
4311
- if (isAsyncWrapper(vnode) && !vnode.type.__asyncResolved) {
4338
+ if (isAsyncWrapper(vnode) && !vnode.component.subTree) {
4312
4339
  let subTree;
4313
4340
  if (isFragmentStart) {
4314
- subTree = createVNode(Fragment);
4341
+ subTree = createVNode(Static);
4315
4342
  subTree.anchor = nextNode ? nextNode.previousSibling : container.lastChild;
4316
4343
  } else {
4317
4344
  subTree = node.nodeType === 3 ? createTextVNode("") : createVNode("div");
@@ -5214,7 +5241,10 @@ Server rendered element contains fewer child nodes than client vdom.`
5214
5241
  if (pendingCacheKey != null) {
5215
5242
  if (isSuspense(instance.subTree.type)) {
5216
5243
  queuePostRenderEffect(() => {
5217
- cache.set(pendingCacheKey, getInnerChild(instance.subTree));
5244
+ const vnode = getInnerChild(instance.subTree);
5245
+ if (vnode.component) {
5246
+ cache.set(pendingCacheKey, vnode);
5247
+ }
5218
5248
  }, instance.subTree.suspense);
5219
5249
  } else {
5220
5250
  cache.set(pendingCacheKey, getInnerChild(instance.subTree));
@@ -5615,12 +5645,41 @@ If this is a native custom element, make sure to exclude it from component resol
5615
5645
  if (isStatefulComponent(i)) return getComponentPublicInstance(i);
5616
5646
  return getPublicInstance(i.parent);
5617
5647
  };
5648
+ const resolveDevRootEl = (vnode) => {
5649
+ let found = false;
5650
+ while (true) {
5651
+ if (vnode.patchFlag > 0 && vnode.patchFlag & 2048) {
5652
+ const root = filterSingleRoot(vnode.children);
5653
+ if (!root) {
5654
+ return;
5655
+ }
5656
+ vnode = root;
5657
+ found = true;
5658
+ continue;
5659
+ }
5660
+ const component = vnode.component;
5661
+ if (component && component.subTree) {
5662
+ vnode = component.subTree;
5663
+ continue;
5664
+ }
5665
+ const suspense = vnode.suspense;
5666
+ if (suspense && suspense.activeBranch) {
5667
+ vnode = suspense.activeBranch;
5668
+ continue;
5669
+ }
5670
+ return found ? vnode.el : void 0;
5671
+ }
5672
+ };
5673
+ const getDevRootFragmentEl = (i) => {
5674
+ const el = i.subTree && resolveDevRootEl(i.subTree);
5675
+ return el === void 0 ? i.vnode.el : el;
5676
+ };
5618
5677
  const publicPropertiesMap = (
5619
5678
  // Move PURE marker to new line to workaround compiler discarding it
5620
5679
  // due to type annotation
5621
5680
  /* @__PURE__ */ extend(/* @__PURE__ */ Object.create(null), {
5622
5681
  $: (i) => i,
5623
- $el: (i) => i.vnode.el,
5682
+ $el: (i) => getDevRootFragmentEl(i) ,
5624
5683
  $data: (i) => i.data,
5625
5684
  $props: (i) => shallowReadonly(i.props) ,
5626
5685
  $attrs: (i) => shallowReadonly(i.attrs) ,
@@ -6720,7 +6779,7 @@ If you want to remount the same app, move your app creation logic into a factory
6720
6779
  args = rawArgs.map((a) => isString(a) ? a.trim() : a);
6721
6780
  }
6722
6781
  if (modifiers.number) {
6723
- args = rawArgs.map(looseToNumber);
6782
+ args = args.map(looseToNumber);
6724
6783
  }
6725
6784
  }
6726
6785
  {
@@ -9363,7 +9422,7 @@ If you want to remount the same app, move your app creation logic into a factory
9363
9422
  if (suspense.deps <= 0) {
9364
9423
  suspense.resolve();
9365
9424
  } else if (isInFallback) {
9366
- if (!isHydrating) {
9425
+ if (!isHydrating && !suspense.isFallbackMountPending) {
9367
9426
  patch(
9368
9427
  activeBranch,
9369
9428
  newFallback,
@@ -9404,7 +9463,7 @@ If you want to remount the same app, move your app creation logic into a factory
9404
9463
  );
9405
9464
  if (suspense.deps <= 0) {
9406
9465
  suspense.resolve();
9407
- } else {
9466
+ } else if (!suspense.isFallbackMountPending) {
9408
9467
  patch(
9409
9468
  activeBranch,
9410
9469
  newFallback,
@@ -9645,9 +9704,10 @@ If you want to remount the same app, move your app creation logic into a factory
9645
9704
  if (!suspense.isInFallback) {
9646
9705
  return;
9647
9706
  }
9707
+ const latestFallback = suspense.vnode.ssFallback;
9648
9708
  patch(
9649
9709
  null,
9650
- fallbackVNode,
9710
+ latestFallback,
9651
9711
  container2,
9652
9712
  anchor2,
9653
9713
  parentComponent2,
@@ -9657,7 +9717,7 @@ If you want to remount the same app, move your app creation logic into a factory
9657
9717
  slotScopeIds,
9658
9718
  optimized
9659
9719
  );
9660
- setActiveBranch(suspense, fallbackVNode);
9720
+ setActiveBranch(suspense, latestFallback);
9661
9721
  };
9662
9722
  const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === "out-in";
9663
9723
  if (delayEnter) {
@@ -10909,7 +10969,7 @@ Component that was made reactive: `,
10909
10969
  return true;
10910
10970
  }
10911
10971
 
10912
- const version = "3.5.41";
10972
+ const version = "3.5.42";
10913
10973
  const warn = warn$1 ;
10914
10974
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
10915
10975
  const devtools = devtools$1 ;
@@ -11487,7 +11547,11 @@ Component that was made reactive: `,
11487
11547
  }
11488
11548
  }
11489
11549
  if (name.startsWith("--")) {
11490
- style.setProperty(name, val);
11550
+ if (importantRE.test(val)) {
11551
+ style.setProperty(name, val.replace(importantRE, ""), "important");
11552
+ } else {
11553
+ style.setProperty(name, val);
11554
+ }
11491
11555
  } else {
11492
11556
  const prefixed = autoPrefix(style, name);
11493
11557
  if (importantRE.test(val)) {
@@ -12609,13 +12673,21 @@ Expected function or array of functions, received type ${typeof value}.`
12609
12673
  const selectedVal = Array.prototype.filter.call(el.options, (o) => o.selected).map(
12610
12674
  (o) => number ? looseToNumber(getValue(o)) : getValue(o)
12611
12675
  );
12612
- el[assignKey](
12613
- el.multiple ? isSet(el._modelValue) ? new Set(selectedVal) : selectedVal : selectedVal[0]
12614
- );
12615
- el._assigning = true;
12616
- nextTick(() => {
12617
- el._assigning = false;
12618
- });
12676
+ const multiple = el.multiple;
12677
+ const assignedValue = multiple ? isSet(el._modelValue) ? new Set(selectedVal) : selectedVal : selectedVal[0];
12678
+ const pending = el._pendingValue = [
12679
+ multiple,
12680
+ multiple ? isArray(assignedValue) ? selectedVal.slice() : selectedVal : assignedValue
12681
+ ];
12682
+ try {
12683
+ el[assignKey](assignedValue);
12684
+ } finally {
12685
+ nextTick(() => {
12686
+ if (el._pendingValue === pending) {
12687
+ el._pendingValue = void 0;
12688
+ }
12689
+ });
12690
+ }
12619
12691
  });
12620
12692
  el[assignKey] = getModelAssigner(vnode);
12621
12693
  },
@@ -12629,11 +12701,25 @@ Expected function or array of functions, received type ${typeof value}.`
12629
12701
  el[assignKey] = getModelAssigner(vnode);
12630
12702
  },
12631
12703
  updated(el, { value }) {
12632
- if (!el._assigning) {
12704
+ const pending = el._pendingValue;
12705
+ el._pendingValue = void 0;
12706
+ if (!pending || pending[0] !== el.multiple || !isSameSelectValue(value, pending[1], pending[0])) {
12633
12707
  setSelected(el, value);
12634
12708
  }
12635
12709
  }
12636
12710
  };
12711
+ function isSameSelectValue(value, assignedValue, multiple) {
12712
+ if (!multiple) return looseEqual(value, assignedValue);
12713
+ if (isArray(value)) return looseEqual(value, assignedValue);
12714
+ if (isSet(value)) {
12715
+ if (value.size !== assignedValue.length) return false;
12716
+ for (const item of assignedValue) {
12717
+ if (!value.has(item)) return false;
12718
+ }
12719
+ return true;
12720
+ }
12721
+ return false;
12722
+ }
12637
12723
  function setSelected(el, value) {
12638
12724
  const isMultiple = el.multiple;
12639
12725
  const isArrayValue = isArray(value);