vue 3.5.4 → 3.5.5

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.4
2
+ * vue v3.5.5
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.4
2
+ * vue v3.5.5
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -666,9 +666,11 @@ var Vue = (function (exports) {
666
666
  function cleanupDeps(sub) {
667
667
  let head;
668
668
  let tail = sub.depsTail;
669
- for (let link = tail; link; link = link.prevDep) {
669
+ let link = tail;
670
+ while (link) {
671
+ const prev = link.prevDep;
670
672
  if (link.version === -1) {
671
- if (link === tail) tail = link.prevDep;
673
+ if (link === tail) tail = prev;
672
674
  removeSub(link);
673
675
  removeDep(link);
674
676
  } else {
@@ -676,6 +678,7 @@ var Vue = (function (exports) {
676
678
  }
677
679
  link.dep.activeLink = link.prevActiveLink;
678
680
  link.prevActiveLink = void 0;
681
+ link = prev;
679
682
  }
680
683
  sub.deps = head;
681
684
  sub.depsTail = tail;
@@ -804,6 +807,14 @@ var Vue = (function (exports) {
804
807
  }
805
808
 
806
809
  let globalVersion = 0;
810
+ class Link {
811
+ constructor(sub, dep) {
812
+ this.sub = sub;
813
+ this.dep = dep;
814
+ this.version = dep.version;
815
+ this.nextDep = this.prevDep = this.nextSub = this.prevSub = this.prevActiveLink = void 0;
816
+ }
817
+ }
807
818
  class Dep {
808
819
  constructor(computed) {
809
820
  this.computed = computed;
@@ -826,16 +837,7 @@ var Vue = (function (exports) {
826
837
  }
827
838
  let link = this.activeLink;
828
839
  if (link === void 0 || link.sub !== activeSub) {
829
- link = this.activeLink = {
830
- dep: this,
831
- sub: activeSub,
832
- version: this.version,
833
- nextDep: void 0,
834
- prevDep: void 0,
835
- nextSub: void 0,
836
- prevSub: void 0,
837
- prevActiveLink: void 0
838
- };
840
+ link = this.activeLink = new Link(activeSub, this);
839
841
  if (!activeSub.deps) {
840
842
  activeSub.deps = activeSub.depsTail = link;
841
843
  } else {
@@ -2748,7 +2750,9 @@ var Vue = (function (exports) {
2748
2750
  dirtyInstances.delete(instance);
2749
2751
  } else if (instance.parent) {
2750
2752
  queueJob(() => {
2753
+ isHmrUpdating = true;
2751
2754
  instance.parent.update();
2755
+ isHmrUpdating = false;
2752
2756
  dirtyInstances.delete(instance);
2753
2757
  });
2754
2758
  } else if (instance.appContext.reload) {
@@ -3039,6 +3043,9 @@ var Vue = (function (exports) {
3039
3043
  insert(mainAnchor, container, anchor);
3040
3044
  const mount = (container2, anchor2) => {
3041
3045
  if (shapeFlag & 16) {
3046
+ if (parentComponent && parentComponent.isCE) {
3047
+ parentComponent.ce._teleportTarget = container2;
3048
+ }
3042
3049
  mountChildren(
3043
3050
  children,
3044
3051
  container2,
@@ -4069,7 +4076,11 @@ Server rendered element contains more child nodes than client vdom.`
4069
4076
  remove(cur);
4070
4077
  }
4071
4078
  } else if (shapeFlag & 8) {
4072
- if (el.textContent !== vnode.children) {
4079
+ let clientText = vnode.children;
4080
+ if (clientText[0] === "\n" && (el.tagName === "PRE" || el.tagName === "TEXTAREA")) {
4081
+ clientText = clientText.slice(1);
4082
+ }
4083
+ if (el.textContent !== clientText) {
4073
4084
  if (!isMismatchAllowed(el, 0 /* TEXT */)) {
4074
4085
  warn$1(
4075
4086
  `Hydration text content mismatch on`,
@@ -4268,7 +4279,7 @@ Server rendered element contains fewer child nodes than client vdom.`
4268
4279
  }
4269
4280
  };
4270
4281
  const isTemplateNode = (node) => {
4271
- return node.nodeType === 1 && node.tagName.toLowerCase() === "template";
4282
+ return node.nodeType === 1 && node.tagName === "TEMPLATE";
4272
4283
  };
4273
4284
  return [hydrate, hydrateNode];
4274
4285
  }
@@ -4620,7 +4631,7 @@ Server rendered element contains fewer child nodes than client vdom.`
4620
4631
  load().then(() => {
4621
4632
  loaded.value = true;
4622
4633
  if (instance.parent && isKeepAlive(instance.parent.vnode)) {
4623
- queueJob(instance.parent.update);
4634
+ instance.parent.update();
4624
4635
  }
4625
4636
  }).catch((err) => {
4626
4637
  onError(err);
@@ -7293,6 +7304,7 @@ If you want to remount the same app, move your app creation logic into a factory
7293
7304
  }
7294
7305
  }
7295
7306
  if (instance.asyncDep) {
7307
+ if (isHmrUpdating) initialVNode.el = null;
7296
7308
  parentSuspense && parentSuspense.registerDep(instance, setupRenderEffect, optimized);
7297
7309
  if (!initialVNode.el) {
7298
7310
  const placeholder = instance.subTree = createVNode(Comment);
@@ -10408,7 +10420,7 @@ Component that was made reactive: `,
10408
10420
  return true;
10409
10421
  }
10410
10422
 
10411
- const version = "3.5.4";
10423
+ const version = "3.5.5";
10412
10424
  const warn = warn$1 ;
10413
10425
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
10414
10426
  const devtools = devtools$1 ;
@@ -11289,6 +11301,7 @@ Expected function or array of functions, received type ${typeof value}.`
11289
11301
  }
11290
11302
  }
11291
11303
  connectedCallback() {
11304
+ if (!this.isConnected) return;
11292
11305
  if (!this.shadowRoot) {
11293
11306
  this._parseSlots();
11294
11307
  }
@@ -11331,7 +11344,7 @@ Expected function or array of functions, received type ${typeof value}.`
11331
11344
  this._ob = null;
11332
11345
  }
11333
11346
  this._app && this._app.unmount();
11334
- this._instance.ce = void 0;
11347
+ if (this._instance) this._instance.ce = void 0;
11335
11348
  this._app = this._instance = null;
11336
11349
  }
11337
11350
  });
@@ -11550,7 +11563,7 @@ Expected function or array of functions, received type ${typeof value}.`
11550
11563
  }
11551
11564
  }
11552
11565
  /**
11553
- * Only called when shaddowRoot is false
11566
+ * Only called when shadowRoot is false
11554
11567
  */
11555
11568
  _parseSlots() {
11556
11569
  const slots = this._slots = {};
@@ -11562,10 +11575,10 @@ Expected function or array of functions, received type ${typeof value}.`
11562
11575
  }
11563
11576
  }
11564
11577
  /**
11565
- * Only called when shaddowRoot is false
11578
+ * Only called when shadowRoot is false
11566
11579
  */
11567
11580
  _renderSlots() {
11568
- const outlets = this.querySelectorAll("slot");
11581
+ const outlets = (this._teleportTarget || this).querySelectorAll("slot");
11569
11582
  const scopeId = this._instance.type.__scopeId;
11570
11583
  for (let i = 0; i < outlets.length; i++) {
11571
11584
  const o = outlets[i];
@@ -11732,7 +11745,7 @@ Expected function or array of functions, received type ${typeof value}.`
11732
11745
  child,
11733
11746
  resolveTransitionHooks(child, cssTransitionProps, state, instance)
11734
11747
  );
11735
- } else {
11748
+ } else if (child.type !== Text) {
11736
11749
  warn(`<TransitionGroup> children must be keyed.`);
11737
11750
  }
11738
11751
  }
@@ -12693,7 +12706,7 @@ Make sure to use the production build (*.prod.js) when deploying for production.
12693
12706
  this.sequenceIndex += 1;
12694
12707
  } else if (this.sequenceIndex === 0) {
12695
12708
  if (this.currentSequence === Sequences.TitleEnd || this.currentSequence === Sequences.TextareaEnd && !this.inSFCRoot) {
12696
- if (c === this.delimiterOpen[0]) {
12709
+ if (!this.inVPre && c === this.delimiterOpen[0]) {
12697
12710
  this.state = 2;
12698
12711
  this.delimiterIndex = 0;
12699
12712
  this.stateInterpolationOpen(c);
@@ -13596,6 +13609,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
13596
13609
  getNamespace: () => 0,
13597
13610
  isVoidTag: NO,
13598
13611
  isPreTag: NO,
13612
+ isIgnoreNewlineTag: NO,
13599
13613
  isCustomElement: NO,
13600
13614
  onError: defaultOnError,
13601
13615
  onWarn: defaultOnWarn,
@@ -14026,7 +14040,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
14026
14040
  el.innerLoc.end.offset
14027
14041
  );
14028
14042
  }
14029
- const { tag, ns } = el;
14043
+ const { tag, ns, children } = el;
14030
14044
  if (!inVPre) {
14031
14045
  if (tag === "slot") {
14032
14046
  el.tagType = 2;
@@ -14037,7 +14051,13 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
14037
14051
  }
14038
14052
  }
14039
14053
  if (!tokenizer.inRCDATA) {
14040
- el.children = condenseWhitespace(el.children, el.tag);
14054
+ el.children = condenseWhitespace(children);
14055
+ }
14056
+ if (ns === 0 && currentOptions.isIgnoreNewlineTag(tag)) {
14057
+ const first = children[0];
14058
+ if (first && first.type === 2) {
14059
+ first.content = first.content.replace(/^\r?\n/, "");
14060
+ }
14041
14061
  }
14042
14062
  if (ns === 0 && currentOptions.isPreTag(tag)) {
14043
14063
  inPre--;
@@ -14118,12 +14138,6 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
14118
14138
  }
14119
14139
  }
14120
14140
  }
14121
- if (inPre && tag && currentOptions.isPreTag(tag)) {
14122
- const first = nodes[0];
14123
- if (first && first.type === 2) {
14124
- first.content = first.content.replace(/^\r?\n/, "");
14125
- }
14126
- }
14127
14141
  return removedWhitespace ? nodes.filter(Boolean) : nodes;
14128
14142
  }
14129
14143
  function isAllWhitespace(str) {
@@ -17184,6 +17198,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
17184
17198
  isVoidTag,
17185
17199
  isNativeTag: (tag) => isHTMLTag(tag) || isSVGTag(tag) || isMathMLTag(tag),
17186
17200
  isPreTag: (tag) => tag === "pre",
17201
+ isIgnoreNewlineTag: (tag) => tag === "pre" || tag === "textarea",
17187
17202
  decodeEntities: decodeHtmlBrowser ,
17188
17203
  isBuiltInComponent: (tag) => {
17189
17204
  if (tag === "Transition" || tag === "transition") {