@vue/compat 3.5.5 → 3.5.7

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.
package/dist/vue.cjs.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/compat v3.5.5
2
+ * @vue/compat v3.5.7
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -285,6 +285,9 @@ const isKnownHtmlAttr = /* @__PURE__ */ makeMap(
285
285
  const isKnownSvgAttr = /* @__PURE__ */ makeMap(
286
286
  `xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,clip,clipPathUnits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,contentScriptType,contentStyleType,crossorigin,cursor,cx,cy,d,decelerate,descent,diffuseConstant,direction,display,divisor,dominant-baseline,dur,dx,dy,edgeMode,elevation,enable-background,end,exponent,fill,fill-opacity,fill-rule,filter,filterRes,filterUnits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,format,from,fr,fx,fy,g1,g2,glyph-name,glyph-orientation-horizontal,glyph-orientation-vertical,glyphRef,gradientTransform,gradientUnits,hanging,height,href,hreflang,horiz-adv-x,horiz-origin-x,id,ideographic,image-rendering,in,in2,intercept,k,k1,k2,k3,k4,kernelMatrix,kernelUnitLength,kerning,keyPoints,keySplines,keyTimes,lang,lengthAdjust,letter-spacing,lighting-color,limitingConeAngle,local,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mask,maskContentUnits,maskUnits,mathematical,max,media,method,min,mode,name,numOctaves,offset,opacity,operator,order,orient,orientation,origin,overflow,overline-position,overline-thickness,panose-1,paint-order,path,pathLength,patternContentUnits,patternTransform,patternUnits,ping,pointer-events,points,pointsAtX,pointsAtY,pointsAtZ,preserveAlpha,preserveAspectRatio,primitiveUnits,r,radius,referrerPolicy,refX,refY,rel,rendering-intent,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,result,rotate,rx,ry,scale,seed,shape-rendering,slope,spacing,specularConstant,specularExponent,speed,spreadMethod,startOffset,stdDeviation,stemh,stemv,stitchTiles,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,string,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,style,surfaceScale,systemLanguage,tabindex,tableValues,target,targetX,targetY,text-anchor,text-decoration,text-rendering,textLength,to,transform,transform-origin,type,u1,u2,underline-position,underline-thickness,unicode,unicode-bidi,unicode-range,units-per-em,v-alphabetic,v-hanging,v-ideographic,v-mathematical,values,vector-effect,version,vert-adv-y,vert-origin-x,vert-origin-y,viewBox,viewTarget,visibility,width,widths,word-spacing,writing-mode,x,x-height,x1,x2,xChannelSelector,xlink:actuate,xlink:arcrole,xlink:href,xlink:role,xlink:show,xlink:title,xlink:type,xmlns:xlink,xml:base,xml:lang,xml:space,y,y1,y2,yChannelSelector,z,zoomAndPan`
287
287
  );
288
+ const isKnownMathMLAttr = /* @__PURE__ */ makeMap(
289
+ `accent,accentunder,actiontype,align,alignmentscope,altimg,altimg-height,altimg-valign,altimg-width,alttext,bevelled,close,columnsalign,columnlines,columnspan,denomalign,depth,dir,display,displaystyle,encoding,equalcolumns,equalrows,fence,fontstyle,fontweight,form,frame,framespacing,groupalign,height,href,id,indentalign,indentalignfirst,indentalignlast,indentshift,indentshiftfirst,indentshiftlast,indextype,justify,largetop,largeop,lquote,lspace,mathbackground,mathcolor,mathsize,mathvariant,maxsize,minlabelspacing,mode,other,overflow,position,rowalign,rowlines,rowspan,rquote,rspace,scriptlevel,scriptminsize,scriptsizemultiplier,selection,separator,separators,shift,side,src,stackalign,stretchy,subscriptshift,superscriptshift,symmetric,voffset,width,widths,xlink:href,xlink:show,xlink:type,xmlns`
290
+ );
288
291
  function isRenderableAttrValue(value) {
289
292
  if (value == null) {
290
293
  return false;
@@ -582,7 +585,7 @@ class ReactiveEffect {
582
585
  /**
583
586
  * @internal
584
587
  */
585
- this.nextEffect = void 0;
588
+ this.next = void 0;
586
589
  /**
587
590
  * @internal
588
591
  */
@@ -612,9 +615,7 @@ class ReactiveEffect {
612
615
  return;
613
616
  }
614
617
  if (!(this.flags & 8)) {
615
- this.flags |= 8;
616
- this.nextEffect = batchedEffect;
617
- batchedEffect = this;
618
+ batch(this);
618
619
  }
619
620
  }
620
621
  run() {
@@ -675,7 +676,12 @@ class ReactiveEffect {
675
676
  }
676
677
  }
677
678
  let batchDepth = 0;
678
- let batchedEffect;
679
+ let batchedSub;
680
+ function batch(sub) {
681
+ sub.flags |= 8;
682
+ sub.next = batchedSub;
683
+ batchedSub = sub;
684
+ }
679
685
  function startBatch() {
680
686
  batchDepth++;
681
687
  }
@@ -684,15 +690,16 @@ function endBatch() {
684
690
  return;
685
691
  }
686
692
  let error;
687
- while (batchedEffect) {
688
- let e = batchedEffect;
689
- batchedEffect = void 0;
693
+ while (batchedSub) {
694
+ let e = batchedSub;
695
+ batchedSub = void 0;
690
696
  while (e) {
691
- const next = e.nextEffect;
692
- e.nextEffect = void 0;
697
+ const next = e.next;
698
+ e.next = void 0;
693
699
  e.flags &= ~8;
694
700
  if (e.flags & 1) {
695
701
  try {
702
+ ;
696
703
  e.trigger();
697
704
  } catch (err) {
698
705
  if (!error) error = err;
@@ -732,7 +739,7 @@ function cleanupDeps(sub) {
732
739
  }
733
740
  function isDirty(sub) {
734
741
  for (let link = sub.deps; link; link = link.nextDep) {
735
- if (link.dep.version !== link.version || link.dep.computed && refreshComputed(link.dep.computed) || link.dep.version !== link.version) {
742
+ if (link.dep.version !== link.version || link.dep.computed && (refreshComputed(link.dep.computed) || link.dep.version !== link.version)) {
736
743
  return true;
737
744
  }
738
745
  }
@@ -752,7 +759,7 @@ function refreshComputed(computed) {
752
759
  computed.globalVersion = globalVersion;
753
760
  const dep = computed.dep;
754
761
  computed.flags |= 2;
755
- if (dep.version > 0 && !computed.isSSR && !isDirty(computed)) {
762
+ if (dep.version > 0 && !computed.isSSR && computed.deps && !isDirty(computed)) {
756
763
  computed.flags &= ~2;
757
764
  return;
758
765
  }
@@ -777,7 +784,7 @@ function refreshComputed(computed) {
777
784
  computed.flags &= ~2;
778
785
  }
779
786
  }
780
- function removeSub(link) {
787
+ function removeSub(link, fromComputed = false) {
781
788
  const { dep, prevSub, nextSub } = link;
782
789
  if (prevSub) {
783
790
  prevSub.nextSub = nextSub;
@@ -790,10 +797,18 @@ function removeSub(link) {
790
797
  if (dep.subs === link) {
791
798
  dep.subs = prevSub;
792
799
  }
793
- if (!dep.subs && dep.computed) {
794
- dep.computed.flags &= ~4;
795
- for (let l = dep.computed.deps; l; l = l.nextDep) {
796
- removeSub(l);
800
+ if (dep.subsHead === link) {
801
+ dep.subsHead = nextSub;
802
+ }
803
+ if (!dep.subs) {
804
+ if (dep.computed) {
805
+ dep.computed.flags &= ~4;
806
+ for (let l = dep.computed.deps; l; l = l.nextDep) {
807
+ removeSub(l, true);
808
+ }
809
+ } else if (dep.map && !fromComputed) {
810
+ dep.map.delete(dep.key);
811
+ if (!dep.map.size) targetMap.delete(dep.target);
797
812
  }
798
813
  }
799
814
  }
@@ -874,6 +889,12 @@ class Dep {
874
889
  * Doubly linked list representing the subscribing effects (tail)
875
890
  */
876
891
  this.subs = void 0;
892
+ /**
893
+ * For object property deps cleanup
894
+ */
895
+ this.target = void 0;
896
+ this.map = void 0;
897
+ this.key = void 0;
877
898
  {
878
899
  this.subsHead = void 0;
879
900
  }
@@ -947,7 +968,10 @@ class Dep {
947
968
  }
948
969
  }
949
970
  for (let link = this.subs; link; link = link.prevSub) {
950
- link.sub.notify();
971
+ if (link.sub.notify()) {
972
+ ;
973
+ link.sub.dep.notify();
974
+ }
951
975
  }
952
976
  } finally {
953
977
  endBatch();
@@ -991,6 +1015,9 @@ function track(target, type, key) {
991
1015
  let dep = depsMap.get(key);
992
1016
  if (!dep) {
993
1017
  depsMap.set(key, dep = new Dep());
1018
+ dep.target = target;
1019
+ dep.map = depsMap;
1020
+ dep.key = key;
994
1021
  }
995
1022
  {
996
1023
  dep.track({
@@ -1867,13 +1894,15 @@ class RefImpl {
1867
1894
  }
1868
1895
  }
1869
1896
  function triggerRef(ref2) {
1870
- {
1871
- ref2.dep.trigger({
1872
- target: ref2,
1873
- type: "set",
1874
- key: "value",
1875
- newValue: ref2._value
1876
- });
1897
+ if (ref2.dep) {
1898
+ {
1899
+ ref2.dep.trigger({
1900
+ target: ref2,
1901
+ type: "set",
1902
+ key: "value",
1903
+ newValue: ref2._value
1904
+ });
1905
+ }
1877
1906
  }
1878
1907
  }
1879
1908
  function unref(ref2) {
@@ -2016,8 +2045,10 @@ class ComputedRefImpl {
2016
2045
  */
2017
2046
  notify() {
2018
2047
  this.flags |= 16;
2019
- if (activeSub !== this) {
2020
- this.dep.notify();
2048
+ if (!(this.flags & 8) && // avoid infinite self recursion
2049
+ activeSub !== this) {
2050
+ batch(this);
2051
+ return true;
2021
2052
  }
2022
2053
  }
2023
2054
  get value() {
@@ -2165,20 +2196,12 @@ function watch$1(source, cb, options = EMPTY_OBJ) {
2165
2196
  remove(scope.effects, effect);
2166
2197
  }
2167
2198
  };
2168
- if (once) {
2169
- if (cb) {
2170
- const _cb = cb;
2171
- cb = (...args) => {
2172
- _cb(...args);
2173
- watchHandle();
2174
- };
2175
- } else {
2176
- const _getter = getter;
2177
- getter = () => {
2178
- _getter();
2179
- watchHandle();
2180
- };
2181
- }
2199
+ if (once && cb) {
2200
+ const _cb = cb;
2201
+ cb = (...args) => {
2202
+ _cb(...args);
2203
+ watchHandle();
2204
+ };
2182
2205
  }
2183
2206
  let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE;
2184
2207
  const job = (immediateFirstRun) => {
@@ -2627,7 +2650,9 @@ function flushPreFlushCbs(instance, seen, i = isFlushing ? flushIndex + 1 : 0) {
2627
2650
  cb.flags &= ~1;
2628
2651
  }
2629
2652
  cb();
2630
- cb.flags &= ~1;
2653
+ if (!(cb.flags & 4)) {
2654
+ cb.flags &= ~1;
2655
+ }
2631
2656
  }
2632
2657
  }
2633
2658
  }
@@ -2683,7 +2708,9 @@ function flushJobs(seen) {
2683
2708
  job.i,
2684
2709
  job.i ? 15 : 14
2685
2710
  );
2686
- job.flags &= ~1;
2711
+ if (!(job.flags & 4)) {
2712
+ job.flags &= ~1;
2713
+ }
2687
2714
  }
2688
2715
  }
2689
2716
  } finally {
@@ -5013,6 +5040,11 @@ const hydrateOnIdle = (timeout = 1e4) => (hydrate) => {
5013
5040
  const id = requestIdleCallback(hydrate, { timeout });
5014
5041
  return () => cancelIdleCallback(id);
5015
5042
  };
5043
+ function elementIsVisibleInViewport(el) {
5044
+ const { top, left, bottom, right } = el.getBoundingClientRect();
5045
+ const { innerHeight, innerWidth } = window;
5046
+ return (top > 0 && top < innerHeight || bottom > 0 && bottom < innerHeight) && (left > 0 && left < innerWidth || right > 0 && right < innerWidth);
5047
+ }
5016
5048
  const hydrateOnVisible = (opts) => (hydrate, forEach) => {
5017
5049
  const ob = new IntersectionObserver((entries) => {
5018
5050
  for (const e of entries) {
@@ -5022,7 +5054,15 @@ const hydrateOnVisible = (opts) => (hydrate, forEach) => {
5022
5054
  break;
5023
5055
  }
5024
5056
  }, opts);
5025
- forEach((el) => ob.observe(el));
5057
+ forEach((el) => {
5058
+ if (!(el instanceof Element)) return;
5059
+ if (elementIsVisibleInViewport(el)) {
5060
+ hydrate();
5061
+ ob.disconnect();
5062
+ return false;
5063
+ }
5064
+ ob.observe(el);
5065
+ });
5026
5066
  return () => ob.disconnect();
5027
5067
  };
5028
5068
  const hydrateOnMediaQuery = (query) => (hydrate) => {
@@ -5067,7 +5107,10 @@ function forEachElement(node, cb) {
5067
5107
  let next = node.nextSibling;
5068
5108
  while (next) {
5069
5109
  if (next.nodeType === 1) {
5070
- cb(next);
5110
+ const result = cb(next);
5111
+ if (result === false) {
5112
+ break;
5113
+ }
5071
5114
  } else if (isComment(next)) {
5072
5115
  if (next.data === "]") {
5073
5116
  if (--depth === 0) break;
@@ -7160,7 +7203,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
7160
7203
  return vm;
7161
7204
  }
7162
7205
  }
7163
- Vue.version = `2.6.14-compat:${"3.5.5"}`;
7206
+ Vue.version = `2.6.14-compat:${"3.5.7"}`;
7164
7207
  Vue.config = singletonApp.config;
7165
7208
  Vue.use = (plugin, ...options) => {
7166
7209
  if (plugin && isFunction(plugin.install)) {
@@ -9978,11 +10021,12 @@ function doWatch(source, cb, options = EMPTY_OBJ) {
9978
10021
  } else if (!cb || immediate) {
9979
10022
  baseWatchOptions.once = true;
9980
10023
  } else {
9981
- return {
9982
- stop: NOOP,
9983
- resume: NOOP,
9984
- pause: NOOP
10024
+ const watchStopHandle = () => {
9985
10025
  };
10026
+ watchStopHandle.stop = NOOP;
10027
+ watchStopHandle.resume = NOOP;
10028
+ watchStopHandle.pause = NOOP;
10029
+ return watchStopHandle;
9986
10030
  }
9987
10031
  }
9988
10032
  const instance = currentInstance;
@@ -12274,7 +12318,7 @@ function isMemoSame(cached, memo) {
12274
12318
  return true;
12275
12319
  }
12276
12320
 
12277
- const version = "3.5.5";
12321
+ const version = "3.5.7";
12278
12322
  const warn = warn$1 ;
12279
12323
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
12280
12324
  const devtools = devtools$1 ;
@@ -12617,7 +12661,7 @@ function whenTransitionEnds(el, expectedType, explicitTimeout, resolve) {
12617
12661
  resolve();
12618
12662
  }
12619
12663
  };
12620
- if (explicitTimeout) {
12664
+ if (explicitTimeout != null) {
12621
12665
  return setTimeout(resolveIfNotStale, explicitTimeout);
12622
12666
  }
12623
12667
  const { type, timeout, propCount } = getTransitionInfo(el, expectedType);
@@ -20398,7 +20442,7 @@ const transformModel$1 = (dir, node, context) => {
20398
20442
  );
20399
20443
  return createTransformProps();
20400
20444
  }
20401
- const rawExp = exp.loc.source;
20445
+ const rawExp = exp.loc.source.trim();
20402
20446
  const expString = exp.type === 4 ? exp.content : rawExp;
20403
20447
  const bindingType = context.bindingMetadata[rawExp];
20404
20448
  if (bindingType === "props" || bindingType === "props-aliased") {
@@ -21204,7 +21248,7 @@ const getCachedNode = (node) => {
21204
21248
  };
21205
21249
  const dataAriaRE = /^(data|aria)-/;
21206
21250
  const isStringifiableAttr = (name, ns) => {
21207
- return (ns === 0 ? isKnownHtmlAttr(name) : ns === 1 ? isKnownSvgAttr(name) : false) || dataAriaRE.test(name);
21251
+ return (ns === 0 ? isKnownHtmlAttr(name) : ns === 1 ? isKnownSvgAttr(name) : ns === 2 ? isKnownMathMLAttr(name) : false) || dataAriaRE.test(name);
21208
21252
  };
21209
21253
  const isNonStringifiable = /* @__PURE__ */ makeMap(
21210
21254
  `caption,thead,tr,th,tbody,td,tfoot,colgroup,col`
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/compat v3.5.5
2
+ * @vue/compat v3.5.7
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -220,6 +220,9 @@ const isKnownHtmlAttr = /* @__PURE__ */ makeMap(
220
220
  const isKnownSvgAttr = /* @__PURE__ */ makeMap(
221
221
  `xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,clip,clipPathUnits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,contentScriptType,contentStyleType,crossorigin,cursor,cx,cy,d,decelerate,descent,diffuseConstant,direction,display,divisor,dominant-baseline,dur,dx,dy,edgeMode,elevation,enable-background,end,exponent,fill,fill-opacity,fill-rule,filter,filterRes,filterUnits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,format,from,fr,fx,fy,g1,g2,glyph-name,glyph-orientation-horizontal,glyph-orientation-vertical,glyphRef,gradientTransform,gradientUnits,hanging,height,href,hreflang,horiz-adv-x,horiz-origin-x,id,ideographic,image-rendering,in,in2,intercept,k,k1,k2,k3,k4,kernelMatrix,kernelUnitLength,kerning,keyPoints,keySplines,keyTimes,lang,lengthAdjust,letter-spacing,lighting-color,limitingConeAngle,local,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mask,maskContentUnits,maskUnits,mathematical,max,media,method,min,mode,name,numOctaves,offset,opacity,operator,order,orient,orientation,origin,overflow,overline-position,overline-thickness,panose-1,paint-order,path,pathLength,patternContentUnits,patternTransform,patternUnits,ping,pointer-events,points,pointsAtX,pointsAtY,pointsAtZ,preserveAlpha,preserveAspectRatio,primitiveUnits,r,radius,referrerPolicy,refX,refY,rel,rendering-intent,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,result,rotate,rx,ry,scale,seed,shape-rendering,slope,spacing,specularConstant,specularExponent,speed,spreadMethod,startOffset,stdDeviation,stemh,stemv,stitchTiles,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,string,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,style,surfaceScale,systemLanguage,tabindex,tableValues,target,targetX,targetY,text-anchor,text-decoration,text-rendering,textLength,to,transform,transform-origin,type,u1,u2,underline-position,underline-thickness,unicode,unicode-bidi,unicode-range,units-per-em,v-alphabetic,v-hanging,v-ideographic,v-mathematical,values,vector-effect,version,vert-adv-y,vert-origin-x,vert-origin-y,viewBox,viewTarget,visibility,width,widths,word-spacing,writing-mode,x,x-height,x1,x2,xChannelSelector,xlink:actuate,xlink:arcrole,xlink:href,xlink:role,xlink:show,xlink:title,xlink:type,xmlns:xlink,xml:base,xml:lang,xml:space,y,y1,y2,yChannelSelector,z,zoomAndPan`
222
222
  );
223
+ const isKnownMathMLAttr = /* @__PURE__ */ makeMap(
224
+ `accent,accentunder,actiontype,align,alignmentscope,altimg,altimg-height,altimg-valign,altimg-width,alttext,bevelled,close,columnsalign,columnlines,columnspan,denomalign,depth,dir,display,displaystyle,encoding,equalcolumns,equalrows,fence,fontstyle,fontweight,form,frame,framespacing,groupalign,height,href,id,indentalign,indentalignfirst,indentalignlast,indentshift,indentshiftfirst,indentshiftlast,indextype,justify,largetop,largeop,lquote,lspace,mathbackground,mathcolor,mathsize,mathvariant,maxsize,minlabelspacing,mode,other,overflow,position,rowalign,rowlines,rowspan,rquote,rspace,scriptlevel,scriptminsize,scriptsizemultiplier,selection,separator,separators,shift,side,src,stackalign,stretchy,subscriptshift,superscriptshift,symmetric,voffset,width,widths,xlink:href,xlink:show,xlink:type,xmlns`
225
+ );
223
226
 
224
227
  const escapeRE = /["'&<>]/;
225
228
  function escapeHtml(string) {
@@ -493,7 +496,7 @@ class ReactiveEffect {
493
496
  /**
494
497
  * @internal
495
498
  */
496
- this.nextEffect = void 0;
499
+ this.next = void 0;
497
500
  /**
498
501
  * @internal
499
502
  */
@@ -523,9 +526,7 @@ class ReactiveEffect {
523
526
  return;
524
527
  }
525
528
  if (!(this.flags & 8)) {
526
- this.flags |= 8;
527
- this.nextEffect = batchedEffect;
528
- batchedEffect = this;
529
+ batch(this);
529
530
  }
530
531
  }
531
532
  run() {
@@ -581,7 +582,12 @@ class ReactiveEffect {
581
582
  }
582
583
  }
583
584
  let batchDepth = 0;
584
- let batchedEffect;
585
+ let batchedSub;
586
+ function batch(sub) {
587
+ sub.flags |= 8;
588
+ sub.next = batchedSub;
589
+ batchedSub = sub;
590
+ }
585
591
  function startBatch() {
586
592
  batchDepth++;
587
593
  }
@@ -590,15 +596,16 @@ function endBatch() {
590
596
  return;
591
597
  }
592
598
  let error;
593
- while (batchedEffect) {
594
- let e = batchedEffect;
595
- batchedEffect = void 0;
599
+ while (batchedSub) {
600
+ let e = batchedSub;
601
+ batchedSub = void 0;
596
602
  while (e) {
597
- const next = e.nextEffect;
598
- e.nextEffect = void 0;
603
+ const next = e.next;
604
+ e.next = void 0;
599
605
  e.flags &= ~8;
600
606
  if (e.flags & 1) {
601
607
  try {
608
+ ;
602
609
  e.trigger();
603
610
  } catch (err) {
604
611
  if (!error) error = err;
@@ -638,7 +645,7 @@ function cleanupDeps(sub) {
638
645
  }
639
646
  function isDirty(sub) {
640
647
  for (let link = sub.deps; link; link = link.nextDep) {
641
- if (link.dep.version !== link.version || link.dep.computed && refreshComputed(link.dep.computed) || link.dep.version !== link.version) {
648
+ if (link.dep.version !== link.version || link.dep.computed && (refreshComputed(link.dep.computed) || link.dep.version !== link.version)) {
642
649
  return true;
643
650
  }
644
651
  }
@@ -658,7 +665,7 @@ function refreshComputed(computed) {
658
665
  computed.globalVersion = globalVersion;
659
666
  const dep = computed.dep;
660
667
  computed.flags |= 2;
661
- if (dep.version > 0 && !computed.isSSR && !isDirty(computed)) {
668
+ if (dep.version > 0 && !computed.isSSR && computed.deps && !isDirty(computed)) {
662
669
  computed.flags &= ~2;
663
670
  return;
664
671
  }
@@ -683,7 +690,7 @@ function refreshComputed(computed) {
683
690
  computed.flags &= ~2;
684
691
  }
685
692
  }
686
- function removeSub(link) {
693
+ function removeSub(link, fromComputed = false) {
687
694
  const { dep, prevSub, nextSub } = link;
688
695
  if (prevSub) {
689
696
  prevSub.nextSub = nextSub;
@@ -696,10 +703,15 @@ function removeSub(link) {
696
703
  if (dep.subs === link) {
697
704
  dep.subs = prevSub;
698
705
  }
699
- if (!dep.subs && dep.computed) {
700
- dep.computed.flags &= ~4;
701
- for (let l = dep.computed.deps; l; l = l.nextDep) {
702
- removeSub(l);
706
+ if (!dep.subs) {
707
+ if (dep.computed) {
708
+ dep.computed.flags &= ~4;
709
+ for (let l = dep.computed.deps; l; l = l.nextDep) {
710
+ removeSub(l, true);
711
+ }
712
+ } else if (dep.map && !fromComputed) {
713
+ dep.map.delete(dep.key);
714
+ if (!dep.map.size) targetMap.delete(dep.target);
703
715
  }
704
716
  }
705
717
  }
@@ -780,6 +792,12 @@ class Dep {
780
792
  * Doubly linked list representing the subscribing effects (tail)
781
793
  */
782
794
  this.subs = void 0;
795
+ /**
796
+ * For object property deps cleanup
797
+ */
798
+ this.target = void 0;
799
+ this.map = void 0;
800
+ this.key = void 0;
783
801
  }
784
802
  track(debugInfo) {
785
803
  if (!activeSub || !shouldTrack || activeSub === this.computed) {
@@ -827,7 +845,10 @@ class Dep {
827
845
  try {
828
846
  if (false) ;
829
847
  for (let link = this.subs; link; link = link.prevSub) {
830
- link.sub.notify();
848
+ if (link.sub.notify()) {
849
+ ;
850
+ link.sub.dep.notify();
851
+ }
831
852
  }
832
853
  } finally {
833
854
  endBatch();
@@ -868,6 +889,9 @@ function track(target, type, key) {
868
889
  let dep = depsMap.get(key);
869
890
  if (!dep) {
870
891
  depsMap.set(key, dep = new Dep());
892
+ dep.target = target;
893
+ dep.map = depsMap;
894
+ dep.key = key;
871
895
  }
872
896
  {
873
897
  dep.track();
@@ -1683,8 +1707,10 @@ class RefImpl {
1683
1707
  }
1684
1708
  }
1685
1709
  function triggerRef(ref2) {
1686
- {
1687
- ref2.dep.trigger();
1710
+ if (ref2.dep) {
1711
+ {
1712
+ ref2.dep.trigger();
1713
+ }
1688
1714
  }
1689
1715
  }
1690
1716
  function unref(ref2) {
@@ -1824,8 +1850,10 @@ class ComputedRefImpl {
1824
1850
  */
1825
1851
  notify() {
1826
1852
  this.flags |= 16;
1827
- if (activeSub !== this) {
1828
- this.dep.notify();
1853
+ if (!(this.flags & 8) && // avoid infinite self recursion
1854
+ activeSub !== this) {
1855
+ batch(this);
1856
+ return true;
1829
1857
  }
1830
1858
  }
1831
1859
  get value() {
@@ -1949,20 +1977,12 @@ function watch$1(source, cb, options = EMPTY_OBJ) {
1949
1977
  remove(scope.effects, effect);
1950
1978
  }
1951
1979
  };
1952
- if (once) {
1953
- if (cb) {
1954
- const _cb = cb;
1955
- cb = (...args) => {
1956
- _cb(...args);
1957
- watchHandle();
1958
- };
1959
- } else {
1960
- const _getter = getter;
1961
- getter = () => {
1962
- _getter();
1963
- watchHandle();
1964
- };
1965
- }
1980
+ if (once && cb) {
1981
+ const _cb = cb;
1982
+ cb = (...args) => {
1983
+ _cb(...args);
1984
+ watchHandle();
1985
+ };
1966
1986
  }
1967
1987
  let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE;
1968
1988
  const job = (immediateFirstRun) => {
@@ -2272,7 +2292,9 @@ function flushPreFlushCbs(instance, seen, i = isFlushing ? flushIndex + 1 : 0) {
2272
2292
  cb.flags &= ~1;
2273
2293
  }
2274
2294
  cb();
2275
- cb.flags &= ~1;
2295
+ if (!(cb.flags & 4)) {
2296
+ cb.flags &= ~1;
2297
+ }
2276
2298
  }
2277
2299
  }
2278
2300
  }
@@ -2316,7 +2338,9 @@ function flushJobs(seen) {
2316
2338
  job.i,
2317
2339
  job.i ? 15 : 14
2318
2340
  );
2319
- job.flags &= ~1;
2341
+ if (!(job.flags & 4)) {
2342
+ job.flags &= ~1;
2343
+ }
2320
2344
  }
2321
2345
  }
2322
2346
  } finally {
@@ -3901,6 +3925,11 @@ const hydrateOnIdle = (timeout = 1e4) => (hydrate) => {
3901
3925
  const id = requestIdleCallback(hydrate, { timeout });
3902
3926
  return () => cancelIdleCallback(id);
3903
3927
  };
3928
+ function elementIsVisibleInViewport(el) {
3929
+ const { top, left, bottom, right } = el.getBoundingClientRect();
3930
+ const { innerHeight, innerWidth } = window;
3931
+ return (top > 0 && top < innerHeight || bottom > 0 && bottom < innerHeight) && (left > 0 && left < innerWidth || right > 0 && right < innerWidth);
3932
+ }
3904
3933
  const hydrateOnVisible = (opts) => (hydrate, forEach) => {
3905
3934
  const ob = new IntersectionObserver((entries) => {
3906
3935
  for (const e of entries) {
@@ -3910,7 +3939,15 @@ const hydrateOnVisible = (opts) => (hydrate, forEach) => {
3910
3939
  break;
3911
3940
  }
3912
3941
  }, opts);
3913
- forEach((el) => ob.observe(el));
3942
+ forEach((el) => {
3943
+ if (!(el instanceof Element)) return;
3944
+ if (elementIsVisibleInViewport(el)) {
3945
+ hydrate();
3946
+ ob.disconnect();
3947
+ return false;
3948
+ }
3949
+ ob.observe(el);
3950
+ });
3914
3951
  return () => ob.disconnect();
3915
3952
  };
3916
3953
  const hydrateOnMediaQuery = (query) => (hydrate) => {
@@ -3955,7 +3992,10 @@ function forEachElement(node, cb) {
3955
3992
  let next = node.nextSibling;
3956
3993
  while (next) {
3957
3994
  if (next.nodeType === 1) {
3958
- cb(next);
3995
+ const result = cb(next);
3996
+ if (result === false) {
3997
+ break;
3998
+ }
3959
3999
  } else if (isComment(next)) {
3960
4000
  if (next.data === "]") {
3961
4001
  if (--depth === 0) break;
@@ -5752,7 +5792,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
5752
5792
  return vm;
5753
5793
  }
5754
5794
  }
5755
- Vue.version = `2.6.14-compat:${"3.5.5"}`;
5795
+ Vue.version = `2.6.14-compat:${"3.5.7"}`;
5756
5796
  Vue.config = singletonApp.config;
5757
5797
  Vue.use = (plugin, ...options) => {
5758
5798
  if (plugin && isFunction(plugin.install)) {
@@ -8099,11 +8139,12 @@ function doWatch(source, cb, options = EMPTY_OBJ) {
8099
8139
  } else if (!cb || immediate) {
8100
8140
  baseWatchOptions.once = true;
8101
8141
  } else {
8102
- return {
8103
- stop: NOOP,
8104
- resume: NOOP,
8105
- pause: NOOP
8142
+ const watchStopHandle = () => {
8106
8143
  };
8144
+ watchStopHandle.stop = NOOP;
8145
+ watchStopHandle.resume = NOOP;
8146
+ watchStopHandle.pause = NOOP;
8147
+ return watchStopHandle;
8107
8148
  }
8108
8149
  }
8109
8150
  const instance = currentInstance;
@@ -9872,7 +9913,7 @@ function isMemoSame(cached, memo) {
9872
9913
  return true;
9873
9914
  }
9874
9915
 
9875
- const version = "3.5.5";
9916
+ const version = "3.5.7";
9876
9917
  const warn$1 = NOOP;
9877
9918
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
9878
9919
  const devtools = void 0;
@@ -10211,7 +10252,7 @@ function whenTransitionEnds(el, expectedType, explicitTimeout, resolve) {
10211
10252
  resolve();
10212
10253
  }
10213
10254
  };
10214
- if (explicitTimeout) {
10255
+ if (explicitTimeout != null) {
10215
10256
  return setTimeout(resolveIfNotStale, explicitTimeout);
10216
10257
  }
10217
10258
  const { type, timeout, propCount } = getTransitionInfo(el, expectedType);
@@ -17653,7 +17694,7 @@ const transformModel$1 = (dir, node, context) => {
17653
17694
  );
17654
17695
  return createTransformProps();
17655
17696
  }
17656
- const rawExp = exp.loc.source;
17697
+ const rawExp = exp.loc.source.trim();
17657
17698
  const expString = exp.type === 4 ? exp.content : rawExp;
17658
17699
  const bindingType = context.bindingMetadata[rawExp];
17659
17700
  if (bindingType === "props" || bindingType === "props-aliased") {
@@ -18388,7 +18429,7 @@ const getCachedNode = (node) => {
18388
18429
  };
18389
18430
  const dataAriaRE = /^(data|aria)-/;
18390
18431
  const isStringifiableAttr = (name, ns) => {
18391
- return (ns === 0 ? isKnownHtmlAttr(name) : ns === 1 ? isKnownSvgAttr(name) : false) || dataAriaRE.test(name);
18432
+ return (ns === 0 ? isKnownHtmlAttr(name) : ns === 1 ? isKnownSvgAttr(name) : ns === 2 ? isKnownMathMLAttr(name) : false) || dataAriaRE.test(name);
18392
18433
  };
18393
18434
  const isNonStringifiable = /* @__PURE__ */ makeMap(
18394
18435
  `caption,thead,tr,th,tbody,td,tfoot,colgroup,col`