vue 3.5.22 → 3.5.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.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * vue v3.5.22
2
+ * vue v3.5.23
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.22
2
+ * vue v3.5.23
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -4197,14 +4197,16 @@ Server rendered element contains more child nodes than client vdom.`
4197
4197
  if (clientText[0] === "\n" && (el.tagName === "PRE" || el.tagName === "TEXTAREA")) {
4198
4198
  clientText = clientText.slice(1);
4199
4199
  }
4200
- if (el.textContent !== clientText) {
4200
+ const { textContent } = el;
4201
+ if (textContent !== clientText && // innerHTML normalize \r\n or \r into a single \n in the DOM
4202
+ textContent !== clientText.replace(/\r\n|\r/g, "\n")) {
4201
4203
  if (!isMismatchAllowed(el, 0 /* TEXT */)) {
4202
4204
  warn$1(
4203
4205
  `Hydration text content mismatch on`,
4204
4206
  el,
4205
4207
  `
4206
- - rendered on server: ${el.textContent}
4207
- - expected on client: ${vnode.children}`
4208
+ - rendered on server: ${textContent}
4209
+ - expected on client: ${clientText}`
4208
4210
  );
4209
4211
  logMismatchError();
4210
4212
  }
@@ -4799,7 +4801,10 @@ Server rendered element contains fewer child nodes than client vdom.`
4799
4801
  error: error.value
4800
4802
  });
4801
4803
  } else if (loadingComponent && !delayed.value) {
4802
- return createVNode(loadingComponent);
4804
+ return createInnerComp(
4805
+ loadingComponent,
4806
+ instance
4807
+ );
4803
4808
  }
4804
4809
  };
4805
4810
  }
@@ -7091,15 +7096,25 @@ If you want to remount the same app, move your app creation logic into a factory
7091
7096
  optimized
7092
7097
  );
7093
7098
  } else {
7094
- patchElement(
7095
- n1,
7096
- n2,
7097
- parentComponent,
7098
- parentSuspense,
7099
- namespace,
7100
- slotScopeIds,
7101
- optimized
7102
- );
7099
+ const customElement = !!(n1.el && n1.el._isVueCE) ? n1.el : null;
7100
+ try {
7101
+ if (customElement) {
7102
+ customElement._beginPatch();
7103
+ }
7104
+ patchElement(
7105
+ n1,
7106
+ n2,
7107
+ parentComponent,
7108
+ parentSuspense,
7109
+ namespace,
7110
+ slotScopeIds,
7111
+ optimized
7112
+ );
7113
+ } finally {
7114
+ if (customElement) {
7115
+ customElement._endPatch();
7116
+ }
7117
+ }
7103
7118
  }
7104
7119
  };
7105
7120
  const mountElement = (vnode, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {
@@ -9313,7 +9328,8 @@ If you want to remount the same app, move your app creation logic into a factory
9313
9328
  pendingId,
9314
9329
  effects,
9315
9330
  parentComponent: parentComponent2,
9316
- container: container2
9331
+ container: container2,
9332
+ isInFallback
9317
9333
  } = suspense;
9318
9334
  let delayEnter = false;
9319
9335
  if (suspense.isHydrating) {
@@ -9330,6 +9346,9 @@ If you want to remount the same app, move your app creation logic into a factory
9330
9346
  0
9331
9347
  );
9332
9348
  queuePostFlushCb(effects);
9349
+ if (isInFallback && vnode2.ssFallback) {
9350
+ vnode2.ssFallback.el = null;
9351
+ }
9333
9352
  }
9334
9353
  };
9335
9354
  }
@@ -9338,6 +9357,9 @@ If you want to remount the same app, move your app creation logic into a factory
9338
9357
  anchor = next(activeBranch);
9339
9358
  }
9340
9359
  unmount(activeBranch, parentComponent2, suspense, true);
9360
+ if (!delayEnter && isInFallback && vnode2.ssFallback) {
9361
+ vnode2.ssFallback.el = null;
9362
+ }
9341
9363
  }
9342
9364
  if (!delayEnter) {
9343
9365
  move(pendingBranch, container2, anchor, 0);
@@ -9456,6 +9478,7 @@ If you want to remount the same app, move your app creation logic into a factory
9456
9478
  optimized2
9457
9479
  );
9458
9480
  if (placeholder) {
9481
+ vnode2.placeholder = null;
9459
9482
  remove(placeholder);
9460
9483
  }
9461
9484
  updateHOCHostEl(instance, vnode2.el);
@@ -10617,7 +10640,7 @@ Component that was made reactive: `,
10617
10640
  return true;
10618
10641
  }
10619
10642
 
10620
- const version = "3.5.22";
10643
+ const version = "3.5.23";
10621
10644
  const warn = warn$1 ;
10622
10645
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
10623
10646
  const devtools = devtools$1 ;
@@ -11420,6 +11443,9 @@ Expected function or array of functions, received type ${typeof value}.`
11420
11443
  if (key === "spellcheck" || key === "draggable" || key === "translate" || key === "autocorrect") {
11421
11444
  return false;
11422
11445
  }
11446
+ if (key === "sandbox" && el.tagName === "IFRAME") {
11447
+ return false;
11448
+ }
11423
11449
  if (key === "form") {
11424
11450
  return false;
11425
11451
  }
@@ -11480,6 +11506,8 @@ Expected function or array of functions, received type ${typeof value}.`
11480
11506
  this._nonce = this._def.nonce;
11481
11507
  this._connected = false;
11482
11508
  this._resolved = false;
11509
+ this._patching = false;
11510
+ this._dirty = false;
11483
11511
  this._numberProps = null;
11484
11512
  this._styleChildren = /* @__PURE__ */ new WeakSet();
11485
11513
  this._ob = null;
@@ -11655,7 +11683,7 @@ Expected function or array of functions, received type ${typeof value}.`
11655
11683
  return this._getProp(key);
11656
11684
  },
11657
11685
  set(val) {
11658
- this._setProp(key, val, true, true);
11686
+ this._setProp(key, val, true, !this._patching);
11659
11687
  }
11660
11688
  });
11661
11689
  }
@@ -11681,6 +11709,7 @@ Expected function or array of functions, received type ${typeof value}.`
11681
11709
  */
11682
11710
  _setProp(key, val, shouldReflect = true, shouldUpdate = false) {
11683
11711
  if (val !== this._props[key]) {
11712
+ this._dirty = true;
11684
11713
  if (val === REMOVAL) {
11685
11714
  delete this._props[key];
11686
11715
  } else {
@@ -11835,10 +11864,14 @@ Expected function or array of functions, received type ${typeof value}.`
11835
11864
  if (this._teleportTargets) {
11836
11865
  roots.push(...this._teleportTargets);
11837
11866
  }
11838
- return roots.reduce((res, i) => {
11839
- res.push(...Array.from(i.querySelectorAll("slot")));
11840
- return res;
11841
- }, []);
11867
+ const slots = /* @__PURE__ */ new Set();
11868
+ for (const root of roots) {
11869
+ const found = root.querySelectorAll("slot");
11870
+ for (let i = 0; i < found.length; i++) {
11871
+ slots.add(found[i]);
11872
+ }
11873
+ }
11874
+ return Array.from(slots);
11842
11875
  }
11843
11876
  /**
11844
11877
  * @internal
@@ -11846,6 +11879,22 @@ Expected function or array of functions, received type ${typeof value}.`
11846
11879
  _injectChildStyle(comp) {
11847
11880
  this._applyStyles(comp.styles, comp);
11848
11881
  }
11882
+ /**
11883
+ * @internal
11884
+ */
11885
+ _beginPatch() {
11886
+ this._patching = true;
11887
+ this._dirty = false;
11888
+ }
11889
+ /**
11890
+ * @internal
11891
+ */
11892
+ _endPatch() {
11893
+ this._patching = false;
11894
+ if (this._dirty && this._instance) {
11895
+ this._update();
11896
+ }
11897
+ }
11849
11898
  /**
11850
11899
  * @internal
11851
11900
  */
@@ -11968,10 +12017,10 @@ Expected function or array of functions, received type ${typeof value}.`
11968
12017
  instance
11969
12018
  )
11970
12019
  );
11971
- positionMap.set(
11972
- child,
11973
- child.el.getBoundingClientRect()
11974
- );
12020
+ positionMap.set(child, {
12021
+ left: child.el.offsetLeft,
12022
+ top: child.el.offsetTop
12023
+ });
11975
12024
  }
11976
12025
  }
11977
12026
  }
@@ -12002,7 +12051,10 @@ Expected function or array of functions, received type ${typeof value}.`
12002
12051
  }
12003
12052
  }
12004
12053
  function recordPosition(c) {
12005
- newPositionMap.set(c, c.el.getBoundingClientRect());
12054
+ newPositionMap.set(c, {
12055
+ left: c.el.offsetLeft,
12056
+ top: c.el.offsetTop
12057
+ });
12006
12058
  }
12007
12059
  function applyTranslation(c) {
12008
12060
  const oldPos = positionMap.get(c);
@@ -12048,24 +12100,22 @@ Expected function or array of functions, received type ${typeof value}.`
12048
12100
  }
12049
12101
  }
12050
12102
  const assignKey = Symbol("_assign");
12103
+ function castValue(value, trim, number) {
12104
+ if (trim) value = value.trim();
12105
+ if (number) value = looseToNumber(value);
12106
+ return value;
12107
+ }
12051
12108
  const vModelText = {
12052
12109
  created(el, { modifiers: { lazy, trim, number } }, vnode) {
12053
12110
  el[assignKey] = getModelAssigner(vnode);
12054
12111
  const castToNumber = number || vnode.props && vnode.props.type === "number";
12055
12112
  addEventListener(el, lazy ? "change" : "input", (e) => {
12056
12113
  if (e.target.composing) return;
12057
- let domValue = el.value;
12058
- if (trim) {
12059
- domValue = domValue.trim();
12060
- }
12061
- if (castToNumber) {
12062
- domValue = looseToNumber(domValue);
12063
- }
12064
- el[assignKey](domValue);
12114
+ el[assignKey](castValue(el.value, trim, castToNumber));
12065
12115
  });
12066
- if (trim) {
12116
+ if (trim || castToNumber) {
12067
12117
  addEventListener(el, "change", () => {
12068
- el.value = el.value.trim();
12118
+ el.value = castValue(el.value, trim, castToNumber);
12069
12119
  });
12070
12120
  }
12071
12121
  if (!lazy) {
@@ -17312,7 +17362,8 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
17312
17362
  const transformVBindShorthand = (node, context) => {
17313
17363
  if (node.type === 1) {
17314
17364
  for (const prop of node.props) {
17315
- if (prop.type === 7 && prop.name === "bind" && !prop.exp) {
17365
+ if (prop.type === 7 && prop.name === "bind" && (!prop.exp || // #13930 :foo in in-DOM templates will be parsed into :foo="" by browser
17366
+ prop.exp.type === 4 && !prop.exp.content.trim()) && prop.arg) {
17316
17367
  const arg = prop.arg;
17317
17368
  if (arg.type !== 4 || !arg.isStatic) {
17318
17369
  context.onError(