@vue/compat 3.6.0-rc.5 → 3.6.0-rc.6

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/compat v3.6.0-rc.5
2
+ * @vue/compat v3.6.0-rc.6
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -26,7 +26,7 @@ let source_map_js = require("source-map-js");
26
26
  * \/\*#\_\_PURE\_\_\*\/
27
27
  * So that they can be tree-shaken if necessary.
28
28
  */
29
- /* @__NO_SIDE_EFFECTS__ */
29
+ /*@__NO_SIDE_EFFECTS__*/
30
30
  function makeMap(str) {
31
31
  const map = Object.create(null);
32
32
  for (const key of str.split(",")) map[key] = 1;
@@ -70,8 +70,8 @@ const toRawType = (value) => {
70
70
  };
71
71
  const isPlainObject = (val) => toTypeString(val) === "[object Object]";
72
72
  const isIntegerKey = (key) => isString(key) && key !== "NaN" && key[0] !== "-" && "" + parseInt(key, 10) === key;
73
- const isReservedProp = /* @__PURE__ */ makeMap(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted");
74
- const isBuiltInDirective = /* @__PURE__ */ makeMap("bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo");
73
+ const isReservedProp = /*@__PURE__*/ makeMap(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted");
74
+ const isBuiltInDirective = /*@__PURE__*/ makeMap("bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo");
75
75
  const cacheStringFunction = (fn) => {
76
76
  const cache = Object.create(null);
77
77
  return ((str) => {
@@ -152,7 +152,7 @@ function genCacheKey(source, options) {
152
152
  function canSetValueDirectly(tagName) {
153
153
  return tagName !== "PROGRESS" && !tagName.includes("-");
154
154
  }
155
- const isGloballyAllowed = /* @__PURE__ */ makeMap("Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error,Symbol");
155
+ const isGloballyAllowed = /*@__PURE__*/ makeMap("Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error,Symbol");
156
156
  //#endregion
157
157
  //#region packages/shared/src/normalizeProp.ts
158
158
  function normalizeStyle(value) {
@@ -221,22 +221,22 @@ const VOID_TAGS = "area,base,br,col,embed,hr,img,input,link,meta,param,source,tr
221
221
  * Compiler only.
222
222
  * Do NOT use in runtime code paths unless behind `__DEV__` flag.
223
223
  */
224
- const isHTMLTag = /* @__PURE__ */ makeMap(HTML_TAGS);
224
+ const isHTMLTag = /*@__PURE__*/ makeMap(HTML_TAGS);
225
225
  /**
226
226
  * Compiler only.
227
227
  * Do NOT use in runtime code paths unless behind `__DEV__` flag.
228
228
  */
229
- const isSVGTag = /* @__PURE__ */ makeMap(SVG_TAGS);
229
+ const isSVGTag = /*@__PURE__*/ makeMap(SVG_TAGS);
230
230
  /**
231
231
  * Compiler only.
232
232
  * Do NOT use in runtime code paths unless behind `__DEV__` flag.
233
233
  */
234
- const isMathMLTag = /* @__PURE__ */ makeMap(MATH_TAGS);
234
+ const isMathMLTag = /*@__PURE__*/ makeMap(MATH_TAGS);
235
235
  /**
236
236
  * Compiler only.
237
237
  * Do NOT use in runtime code paths unless behind `__DEV__` flag.
238
238
  */
239
- const isVoidTag = /* @__PURE__ */ makeMap(VOID_TAGS);
239
+ const isVoidTag = /*@__PURE__*/ makeMap(VOID_TAGS);
240
240
  //#endregion
241
241
  //#region packages/shared/src/domAttrConfig.ts
242
242
  /**
@@ -251,11 +251,11 @@ const isVoidTag = /* @__PURE__ */ makeMap(VOID_TAGS);
251
251
  * - readonly -> readOnly
252
252
  */
253
253
  const specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`;
254
- const isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs);
254
+ const isSpecialBooleanAttr = /*@__PURE__*/ makeMap(specialBooleanAttrs);
255
255
  /**
256
256
  * The full list is needed during SSR to produce the correct initial markup.
257
257
  */
258
- const isBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs + ",async,autofocus,autoplay,controls,default,defer,disabled,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected");
258
+ const isBooleanAttr = /*@__PURE__*/ makeMap(specialBooleanAttrs + ",async,autofocus,autoplay,controls,default,defer,disabled,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected");
259
259
  /**
260
260
  * Boolean attributes should be included if the value is truthy or ''.
261
261
  * e.g. `<select multiple>` compiles to `{ multiple: '' }`
@@ -269,15 +269,15 @@ function includeBooleanAttr(value) {
269
269
  * Don't also forget to allow `data-*` and `aria-*`!
270
270
  * Generated from https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes
271
271
  */
272
- const isKnownHtmlAttr = /* @__PURE__ */ makeMap("accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,inert,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap");
272
+ const isKnownHtmlAttr = /*@__PURE__*/ makeMap("accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,inert,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap");
273
273
  /**
274
274
  * Generated from https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute
275
275
  */
276
- const isKnownSvgAttr = /* @__PURE__ */ makeMap("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");
276
+ const isKnownSvgAttr = /*@__PURE__*/ makeMap("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");
277
277
  /**
278
278
  * Generated from https://developer.mozilla.org/en-US/docs/Web/MathML/Attribute
279
279
  */
280
- const isKnownMathMLAttr = /* @__PURE__ */ makeMap("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");
280
+ const isKnownMathMLAttr = /*@__PURE__*/ makeMap("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");
281
281
  function shouldSetAsAttr(tagName, key) {
282
282
  if (key === "spellcheck" || key === "draggable" || key === "translate" || key === "autocorrect") return true;
283
283
  if (key === "form") return true;
@@ -331,6 +331,21 @@ function looseCompareArrays(a, b) {
331
331
  for (let i = 0; equal && i < a.length; i++) equal = looseEqual(a[i], b[i]);
332
332
  return equal;
333
333
  }
334
+ function looseCompareCollections(a, b) {
335
+ if (a.size !== b.size) return false;
336
+ const candidates = Array.from(b);
337
+ const matched = new Uint8Array(candidates.length);
338
+ for (const item of a) {
339
+ let index = -1;
340
+ for (let i = 0; i < candidates.length; i++) if (!matched[i] && looseEqual(item, candidates[i])) {
341
+ index = i;
342
+ break;
343
+ }
344
+ if (index < 0) return false;
345
+ matched[index] = 1;
346
+ }
347
+ return true;
348
+ }
334
349
  function looseEqual(a, b) {
335
350
  if (a === b) return true;
336
351
  let aValidType = isDate(a);
@@ -346,6 +361,12 @@ function looseEqual(a, b) {
346
361
  bValidType = isObject(b);
347
362
  if (aValidType || bValidType) {
348
363
  if (!aValidType || !bValidType) return false;
364
+ aValidType = isMap(a);
365
+ bValidType = isMap(b);
366
+ if (aValidType || bValidType) return aValidType && bValidType ? looseCompareCollections(a, b) : false;
367
+ aValidType = isSet(a);
368
+ bValidType = isSet(b);
369
+ if (aValidType || bValidType) return aValidType && bValidType ? looseCompareCollections(a, b) : false;
349
370
  if (Object.keys(a).length !== Object.keys(b).length) return false;
350
371
  for (const key in a) {
351
372
  const aHasKey = a.hasOwnProperty(key);
@@ -725,9 +746,7 @@ function trigger(target, type, key, newValue, oldValue, oldTarget) {
725
746
  if (isMap(target)) run(depsMap.get(MAP_KEY_ITERATE_KEY));
726
747
  }
727
748
  break;
728
- case "set":
729
- if (isMap(target)) run(depsMap.get(ITERATE_KEY));
730
- break;
749
+ case "set": if (isMap(target)) run(depsMap.get(ITERATE_KEY));
731
750
  }
732
751
  }
733
752
  }
@@ -924,8 +943,8 @@ function noTracking(self, method, args = []) {
924
943
  }
925
944
  //#endregion
926
945
  //#region packages/reactivity/src/baseHandlers.ts
927
- const isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`);
928
- const builtInSymbols = new Set(/* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== "arguments" && key !== "caller").map((key) => Symbol[key]).filter(isSymbol));
946
+ const isNonTrackableKeys = /*@__PURE__*/ makeMap(`__proto__,__v_isRef,__isVue`);
947
+ const builtInSymbols = new Set(/*@__PURE__*/ Object.getOwnPropertyNames(Symbol).filter((key) => key !== "arguments" && key !== "caller").map((key) => Symbol[key]).filter(isSymbol));
929
948
  function hasOwnProperty(key) {
930
949
  if (!isSymbol(key)) key = String(key);
931
950
  const obj = /* @__PURE__ */ toRaw(this);
@@ -980,10 +999,12 @@ var MutableReactiveHandler = class extends BaseReactiveHandler {
980
999
  oldValue = /* @__PURE__ */ toRaw(oldValue);
981
1000
  value = /* @__PURE__ */ toRaw(value);
982
1001
  }
983
- if (!isArrayWithIntegerKey && /* @__PURE__ */ isRef(oldValue) && !/* @__PURE__ */ isRef(value)) if (isOldValueReadonly) return true;
984
- else {
985
- oldValue.value = value;
986
- return true;
1002
+ if (!isArrayWithIntegerKey && /* @__PURE__ */ isRef(oldValue) && !/* @__PURE__ */ isRef(value)) {
1003
+ if (isOldValueReadonly) return true;
1004
+ else {
1005
+ oldValue.value = value;
1006
+ return true;
1007
+ }
987
1008
  }
988
1009
  }
989
1010
  const hadKey = isArrayWithIntegerKey ? Number(key) < target.length : hasOwn(target, key);
@@ -1022,10 +1043,10 @@ var ReadonlyReactiveHandler = class extends BaseReactiveHandler {
1022
1043
  return true;
1023
1044
  }
1024
1045
  };
1025
- const mutableHandlers = /* @__PURE__ */ new MutableReactiveHandler();
1026
- const readonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler();
1027
- const shallowReactiveHandlers = /* @__PURE__ */ new MutableReactiveHandler(true);
1028
- const shallowReadonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(true);
1046
+ const mutableHandlers = /*@__PURE__*/ new MutableReactiveHandler();
1047
+ const readonlyHandlers = /*@__PURE__*/ new ReadonlyReactiveHandler();
1048
+ const shallowReactiveHandlers = /*@__PURE__*/ new MutableReactiveHandler(true);
1049
+ const shallowReadonlyHandlers = /*@__PURE__*/ new ReadonlyReactiveHandler(true);
1029
1050
  //#endregion
1030
1051
  //#region packages/reactivity/src/collectionHandlers.ts
1031
1052
  const toShallow = (value) => value;
@@ -1172,10 +1193,10 @@ function createInstrumentationGetter(isReadonly, shallow) {
1172
1193
  return Reflect.get(hasOwn(instrumentations, key) && key in target ? instrumentations : target, key, receiver);
1173
1194
  };
1174
1195
  }
1175
- const mutableCollectionHandlers = { get: /* @__PURE__ */ createInstrumentationGetter(false, false) };
1176
- const shallowCollectionHandlers = { get: /* @__PURE__ */ createInstrumentationGetter(false, true) };
1177
- const readonlyCollectionHandlers = { get: /* @__PURE__ */ createInstrumentationGetter(true, false) };
1178
- const shallowReadonlyCollectionHandlers = { get: /* @__PURE__ */ createInstrumentationGetter(true, true) };
1196
+ const mutableCollectionHandlers = { get: /*@__PURE__*/ createInstrumentationGetter(false, false) };
1197
+ const shallowCollectionHandlers = { get: /*@__PURE__*/ createInstrumentationGetter(false, true) };
1198
+ const readonlyCollectionHandlers = { get: /*@__PURE__*/ createInstrumentationGetter(true, false) };
1199
+ const shallowReadonlyCollectionHandlers = { get: /*@__PURE__*/ createInstrumentationGetter(true, true) };
1179
1200
  //#endregion
1180
1201
  //#region packages/reactivity/src/reactive.ts
1181
1202
  const reactiveMap = /* @__PURE__ */ new WeakMap();
@@ -1193,7 +1214,7 @@ function targetTypeMap(rawType) {
1193
1214
  default: return 0;
1194
1215
  }
1195
1216
  }
1196
- /* @__NO_SIDE_EFFECTS__ */
1217
+ /*@__NO_SIDE_EFFECTS__*/
1197
1218
  function reactive(target) {
1198
1219
  if (/* @__PURE__ */ isReadonly(target)) return target;
1199
1220
  return createReactiveObject(target, false, mutableHandlers, mutableCollectionHandlers, reactiveMap);
@@ -1228,7 +1249,7 @@ function reactive(target) {
1228
1249
  * @param target - The source object.
1229
1250
  * @see {@link https://vuejs.org/api/reactivity-advanced.html#shallowreactive}
1230
1251
  */
1231
- /* @__NO_SIDE_EFFECTS__ */
1252
+ /*@__NO_SIDE_EFFECTS__*/
1232
1253
  function shallowReactive(target) {
1233
1254
  return createReactiveObject(target, false, shallowReactiveHandlers, shallowCollectionHandlers, shallowReactiveMap);
1234
1255
  }
@@ -1261,7 +1282,7 @@ function shallowReactive(target) {
1261
1282
  * @param target - The source object.
1262
1283
  * @see {@link https://vuejs.org/api/reactivity-core.html#readonly}
1263
1284
  */
1264
- /* @__NO_SIDE_EFFECTS__ */
1285
+ /*@__NO_SIDE_EFFECTS__*/
1265
1286
  function readonly(target) {
1266
1287
  return createReactiveObject(target, true, readonlyHandlers, readonlyCollectionHandlers, readonlyMap);
1267
1288
  }
@@ -1295,7 +1316,7 @@ function readonly(target) {
1295
1316
  * @param target - The source object.
1296
1317
  * @see {@link https://vuejs.org/api/reactivity-advanced.html#shallowreadonly}
1297
1318
  */
1298
- /* @__NO_SIDE_EFFECTS__ */
1319
+ /*@__NO_SIDE_EFFECTS__*/
1299
1320
  function shallowReadonly(target) {
1300
1321
  return createReactiveObject(target, true, shallowReadonlyHandlers, shallowReadonlyCollectionHandlers, shallowReadonlyMap);
1301
1322
  }
@@ -1329,7 +1350,7 @@ function createReactiveObject(target, isReadonly, baseHandlers, collectionHandle
1329
1350
  * @param value - The value to check.
1330
1351
  * @see {@link https://vuejs.org/api/reactivity-utilities.html#isreactive}
1331
1352
  */
1332
- /* @__NO_SIDE_EFFECTS__ */
1353
+ /*@__NO_SIDE_EFFECTS__*/
1333
1354
  function isReactive(value) {
1334
1355
  if (/* @__PURE__ */ isReadonly(value)) return /* @__PURE__ */ isReactive(value["__v_raw"]);
1335
1356
  return !!(value && value["__v_isReactive"]);
@@ -1345,11 +1366,11 @@ function isReactive(value) {
1345
1366
  * @param value - The value to check.
1346
1367
  * @see {@link https://vuejs.org/api/reactivity-utilities.html#isreadonly}
1347
1368
  */
1348
- /* @__NO_SIDE_EFFECTS__ */
1369
+ /*@__NO_SIDE_EFFECTS__*/
1349
1370
  function isReadonly(value) {
1350
1371
  return !!(value && value["__v_isReadonly"]);
1351
1372
  }
1352
- /* @__NO_SIDE_EFFECTS__ */
1373
+ /*@__NO_SIDE_EFFECTS__*/
1353
1374
  function isShallow(value) {
1354
1375
  return !!(value && value["__v_isShallow"]);
1355
1376
  }
@@ -1360,7 +1381,7 @@ function isShallow(value) {
1360
1381
  * @param value - The value to check.
1361
1382
  * @see {@link https://vuejs.org/api/reactivity-utilities.html#isproxy}
1362
1383
  */
1363
- /* @__NO_SIDE_EFFECTS__ */
1384
+ /*@__NO_SIDE_EFFECTS__*/
1364
1385
  function isProxy(value) {
1365
1386
  return value ? !!value["__v_raw"] : false;
1366
1387
  }
@@ -1387,7 +1408,7 @@ function isProxy(value) {
1387
1408
  * @param observed - The object for which the "raw" value is requested.
1388
1409
  * @see {@link https://vuejs.org/api/reactivity-advanced.html#toraw}
1389
1410
  */
1390
- /* @__NO_SIDE_EFFECTS__ */
1411
+ /*@__NO_SIDE_EFFECTS__*/
1391
1412
  function toRaw(observed) {
1392
1413
  const raw = observed && observed["__v_raw"];
1393
1414
  return raw ? /* @__PURE__ */ toRaw(raw) : observed;
@@ -1436,15 +1457,15 @@ const toReactive = (value) => isObject(value) ? /* @__PURE__ */ reactive(value)
1436
1457
  const toReadonly = (value) => isObject(value) ? /* @__PURE__ */ readonly(value) : value;
1437
1458
  //#endregion
1438
1459
  //#region packages/reactivity/src/ref.ts
1439
- /* @__NO_SIDE_EFFECTS__ */
1460
+ /*@__NO_SIDE_EFFECTS__*/
1440
1461
  function isRef(r) {
1441
1462
  return r ? r["__v_isRef"] === true : false;
1442
1463
  }
1443
- /* @__NO_SIDE_EFFECTS__ */
1464
+ /*@__NO_SIDE_EFFECTS__*/
1444
1465
  function ref(value) {
1445
1466
  return createRef(value, toReactive);
1446
1467
  }
1447
- /* @__NO_SIDE_EFFECTS__ */
1468
+ /*@__NO_SIDE_EFFECTS__*/
1448
1469
  function shallowRef(value) {
1449
1470
  return createRef(value);
1450
1471
  }
@@ -1632,7 +1653,7 @@ function customRef(factory) {
1632
1653
  * @param object - Reactive object to be made into an object of linked refs.
1633
1654
  * @see {@link https://vuejs.org/api/reactivity-utilities.html#torefs}
1634
1655
  */
1635
- /* @__NO_SIDE_EFFECTS__ */
1656
+ /*@__NO_SIDE_EFFECTS__*/
1636
1657
  function toRefs(object) {
1637
1658
  const ret = isArray(object) ? new Array(object.length) : {};
1638
1659
  for (const key in object) ret[key] = propertyToRef(object, key);
@@ -1683,7 +1704,7 @@ var GetterRefImpl = class {
1683
1704
  return this._value = this._getter();
1684
1705
  }
1685
1706
  };
1686
- /* @__NO_SIDE_EFFECTS__ */
1707
+ /*@__NO_SIDE_EFFECTS__*/
1687
1708
  function toRef(source, key, defaultValue) {
1688
1709
  if (/* @__PURE__ */ isRef(source)) return source;
1689
1710
  else if (isFunction(source)) return new GetterRefImpl(source);
@@ -1749,10 +1770,12 @@ var ReactiveEffect = class {
1749
1770
  get dirty() {
1750
1771
  const flags = this.flags;
1751
1772
  if (flags & 16) return true;
1752
- if (flags & 32) if (checkDirty(this.deps, this)) {
1753
- this.flags = flags | 16;
1754
- return true;
1755
- } else this.flags = flags & -33;
1773
+ if (flags & 32) {
1774
+ if (checkDirty(this.deps, this)) {
1775
+ this.flags = flags | 16;
1776
+ return true;
1777
+ } else this.flags = flags & -33;
1778
+ }
1756
1779
  return false;
1757
1780
  }
1758
1781
  };
@@ -1929,10 +1952,12 @@ var ComputedRefImpl = class {
1929
1952
  get _dirty() {
1930
1953
  const flags = this.flags;
1931
1954
  if (flags & 16) return true;
1932
- if (flags & 32) if (checkDirty(this.deps, this)) {
1933
- this.flags = flags | 16;
1934
- return true;
1935
- } else this.flags = flags & -33;
1955
+ if (flags & 32) {
1956
+ if (checkDirty(this.deps, this)) {
1957
+ this.flags = flags | 16;
1958
+ return true;
1959
+ } else this.flags = flags & -33;
1960
+ }
1936
1961
  return false;
1937
1962
  }
1938
1963
  /**
@@ -1985,7 +2010,7 @@ var ComputedRefImpl = class {
1985
2010
  }
1986
2011
  }
1987
2012
  };
1988
- /* @__NO_SIDE_EFFECTS__ */
2013
+ /*@__NO_SIDE_EFFECTS__*/
1989
2014
  function computed$1(getterOrOptions, debugOptions, isSSR = false) {
1990
2015
  let getter;
1991
2016
  let setter;
@@ -2057,25 +2082,26 @@ var WatcherEffect = class extends ReactiveEffect {
2057
2082
  else if (/* @__PURE__ */ isReactive(s)) return reactiveGetter(s, deep);
2058
2083
  else if (isFunction(s)) return call ? call(s, 2) : s();
2059
2084
  });
2060
- } else if (isFunction(source)) if (cb) getter = call ? () => call(source, 2) : source;
2061
- else getter = () => {
2062
- if (this.cleanupsLength) {
2063
- const prevSub = setActiveSub();
2085
+ } else if (isFunction(source)) {
2086
+ if (cb) getter = call ? () => call(source, 2) : source;
2087
+ else getter = () => {
2088
+ if (this.cleanupsLength) {
2089
+ const prevSub = setActiveSub();
2090
+ try {
2091
+ cleanup(this);
2092
+ } finally {
2093
+ setActiveSub(prevSub);
2094
+ }
2095
+ }
2096
+ const currentEffect = activeWatcher;
2097
+ activeWatcher = this;
2064
2098
  try {
2065
- cleanup(this);
2099
+ return call ? call(source, 3, [this.boundCleanup]) : source(this.boundCleanup);
2066
2100
  } finally {
2067
- setActiveSub(prevSub);
2101
+ activeWatcher = currentEffect;
2068
2102
  }
2069
- }
2070
- const currentEffect = activeWatcher;
2071
- activeWatcher = this;
2072
- try {
2073
- return call ? call(source, 3, [this.boundCleanup]) : source(this.boundCleanup);
2074
- } finally {
2075
- activeWatcher = currentEffect;
2076
- }
2077
- };
2078
- else getter = NOOP;
2103
+ };
2104
+ } else getter = NOOP;
2079
2105
  if (cb && deep) {
2080
2106
  const baseGetter = getter;
2081
2107
  const depth = deep === true ? Infinity : deep;
@@ -2288,7 +2314,7 @@ let currentFlushPromise = null;
2288
2314
  let jobsLength = 0;
2289
2315
  let flushIndex = 0;
2290
2316
  let postFlushIndex = 0;
2291
- const resolvedPromise = /* @__PURE__ */ Promise.resolve();
2317
+ const resolvedPromise = /*@__PURE__*/ Promise.resolve();
2292
2318
  function nextTick(fn) {
2293
2319
  const p = currentFlushPromise || resolvedPromise;
2294
2320
  return fn ? p.then(this ? fn.bind(this) : fn) : p;
@@ -2326,6 +2352,7 @@ const doFlushJobs = () => {
2326
2352
  flushJobs();
2327
2353
  } catch (e) {
2328
2354
  currentFlushPromise = null;
2355
+ if (jobsLength || postJobs.length) queueFlush();
2329
2356
  throw e;
2330
2357
  }
2331
2358
  };
@@ -2333,9 +2360,10 @@ function queueFlush() {
2333
2360
  if (!currentFlushPromise) currentFlushPromise = resolvedPromise.then(doFlushJobs);
2334
2361
  }
2335
2362
  function queuePostFlushCb(jobs, id = Infinity) {
2336
- if (!isArray(jobs)) if (activePostJobs && id === -1) activePostJobs.splice(postFlushIndex, 0, jobs);
2337
- else queueJobWorker(jobs, id, postJobs, postJobs.length, 0);
2338
- else for (let i = 0; i < jobs.length; i++) queueJobWorker(jobs[i], id, postJobs, postJobs.length, 0);
2363
+ if (!isArray(jobs)) {
2364
+ if (activePostJobs && id === -1) activePostJobs.splice(postFlushIndex, 0, jobs);
2365
+ else queueJobWorker(jobs, id, postJobs, postJobs.length, 0);
2366
+ } else for (let i = 0; i < jobs.length; i++) queueJobWorker(jobs[i], id, postJobs, postJobs.length, 0);
2339
2367
  queueFlush();
2340
2368
  }
2341
2369
  function flushPreFlushCbs(instance, seen) {
@@ -2347,8 +2375,11 @@ function flushPreFlushCbs(instance, seen) {
2347
2375
  i--;
2348
2376
  jobsLength--;
2349
2377
  if (cb.flags & 2) cb.flags &= -2;
2350
- cb();
2351
- if (!(cb.flags & 2)) cb.flags &= -2;
2378
+ try {
2379
+ cb();
2380
+ } finally {
2381
+ if (!(cb.flags & 2)) cb.flags &= -2;
2382
+ }
2352
2383
  }
2353
2384
  }
2354
2385
  function flushPostFlushCbs(seen) {
@@ -2360,17 +2391,21 @@ function flushPostFlushCbs(seen) {
2360
2391
  }
2361
2392
  activePostJobs = postJobs;
2362
2393
  postJobs = [];
2363
- while (postFlushIndex < activePostJobs.length) {
2364
- const cb = activePostJobs[postFlushIndex++];
2365
- if (cb.flags & 2) cb.flags &= -2;
2366
- if (!(cb.flags & 4)) try {
2367
- cb();
2368
- } finally {
2369
- cb.flags &= -2;
2394
+ try {
2395
+ while (postFlushIndex < activePostJobs.length) {
2396
+ const cb = activePostJobs[postFlushIndex++];
2397
+ if (cb.flags & 2) cb.flags &= -2;
2398
+ if (!(cb.flags & 4)) try {
2399
+ cb();
2400
+ } finally {
2401
+ if (!(cb.flags & 2)) cb.flags &= -2;
2402
+ }
2370
2403
  }
2404
+ } finally {
2405
+ while (postFlushIndex < activePostJobs.length) activePostJobs[postFlushIndex++].flags &= -2;
2406
+ activePostJobs = null;
2407
+ postFlushIndex = 0;
2371
2408
  }
2372
- activePostJobs = null;
2373
- postFlushIndex = 0;
2374
2409
  }
2375
2410
  }
2376
2411
  let isFlushing = false;
@@ -2380,9 +2415,12 @@ let isFlushing = false;
2380
2415
  function flushOnAppMount(instance) {
2381
2416
  if (!isFlushing) {
2382
2417
  isFlushing = true;
2383
- flushPreFlushCbs(instance);
2384
- flushPostFlushCbs();
2385
- isFlushing = false;
2418
+ try {
2419
+ flushPreFlushCbs(instance);
2420
+ flushPostFlushCbs();
2421
+ } finally {
2422
+ isFlushing = false;
2423
+ }
2386
2424
  }
2387
2425
  }
2388
2426
  function flushJobs(seen) {
@@ -2410,8 +2448,8 @@ function flushJobs(seen) {
2410
2448
  jobsLength = 0;
2411
2449
  jobs.length = 0;
2412
2450
  flushPostFlushCbs(seen);
2413
- currentFlushPromise = null;
2414
2451
  if (jobsLength || postJobs.length) flushJobs(seen);
2452
+ else currentFlushPromise = null;
2415
2453
  }
2416
2454
  }
2417
2455
  //#endregion
@@ -2500,7 +2538,7 @@ function checkCompatEnabled$1(key, instance, ...args) {
2500
2538
  }
2501
2539
  //#endregion
2502
2540
  //#region packages/runtime-core/src/compat/instanceEventEmitter.ts
2503
- const eventRegistryMap = /* @__PURE__ */ new WeakMap();
2541
+ const eventRegistryMap = /*@__PURE__*/ new WeakMap();
2504
2542
  function getRegistry(instance) {
2505
2543
  let events = eventRegistryMap.get(instance);
2506
2544
  if (!events) eventRegistryMap.set(instance, events = Object.create(null));
@@ -2633,19 +2671,21 @@ const legacyDirectiveHookMap = {
2633
2671
  };
2634
2672
  function mapCompatDirectiveHook(name, dir, instance) {
2635
2673
  const mappedName = legacyDirectiveHookMap[name];
2636
- if (mappedName) if (isArray(mappedName)) {
2637
- const hook = [];
2638
- mappedName.forEach((mapped) => {
2639
- const mappedHook = dir[mapped];
2640
- if (mappedHook) {
2641
- softAssertCompatEnabled("CUSTOM_DIR", instance, mapped, name);
2642
- hook.push(mappedHook);
2643
- }
2644
- });
2645
- return hook.length ? hook : void 0;
2646
- } else {
2647
- if (dir[mappedName]) softAssertCompatEnabled("CUSTOM_DIR", instance, mappedName, name);
2648
- return dir[mappedName];
2674
+ if (mappedName) {
2675
+ if (isArray(mappedName)) {
2676
+ const hook = [];
2677
+ mappedName.forEach((mapped) => {
2678
+ const mappedHook = dir[mapped];
2679
+ if (mappedHook) {
2680
+ softAssertCompatEnabled("CUSTOM_DIR", instance, mapped, name);
2681
+ hook.push(mappedHook);
2682
+ }
2683
+ });
2684
+ return hook.length ? hook : void 0;
2685
+ } else {
2686
+ if (dir[mappedName]) softAssertCompatEnabled("CUSTOM_DIR", instance, mappedName, name);
2687
+ return dir[mappedName];
2688
+ }
2649
2689
  }
2650
2690
  }
2651
2691
  //#endregion
@@ -2837,9 +2877,10 @@ const isTargetSVG = (target) => typeof SVGElement !== "undefined" && target inst
2837
2877
  const isTargetMathML = (target) => typeof MathMLElement === "function" && target instanceof MathMLElement;
2838
2878
  const resolveTarget = (props, select) => {
2839
2879
  const targetSelector = props && props.to;
2840
- if (isString(targetSelector)) if (!select) return null;
2841
- else return select(targetSelector);
2842
- else return targetSelector;
2880
+ if (isString(targetSelector)) {
2881
+ if (!select) return null;
2882
+ else return select(targetSelector);
2883
+ } else return targetSelector;
2843
2884
  };
2844
2885
  const TeleportImpl = {
2845
2886
  name: "Teleport",
@@ -2870,7 +2911,8 @@ const TeleportImpl = {
2870
2911
  if (pendingMounts.get(vnode) !== mountJob) return;
2871
2912
  pendingMounts.delete(vnode);
2872
2913
  if (isTeleportDisabled(vnode.props)) {
2873
- mount(vnode, parentNode(vnode.el) || container, vnode.anchor);
2914
+ const mountContainer = parentNode(vnode.el) || container;
2915
+ mount(vnode, mountContainer, vnode.anchor);
2874
2916
  updateCssVars(vnode, true);
2875
2917
  }
2876
2918
  mountToTarget(vnode);
@@ -2979,15 +3021,17 @@ function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScope
2979
3021
  const disabled = isTeleportDisabled(vnode.props);
2980
3022
  if (target) {
2981
3023
  const targetNode = target._lpa || target.firstChild;
2982
- if (vnode.shapeFlag & 16) if (disabled) {
2983
- hydrateDisabledTeleport(node, vnode);
2984
- hydrateAnchor(target, targetNode);
2985
- if (!vnode.targetAnchor) prepareAnchor(target, vnode, createText, insert, parentNode(node) === target ? node : null);
2986
- } else {
2987
- vnode.anchor = nextSibling(node);
2988
- hydrateAnchor(target, targetNode);
2989
- if (!vnode.targetAnchor) prepareAnchor(target, vnode, createText, insert);
2990
- hydrateChildren(targetNode && nextSibling(targetNode), vnode, target, parentComponent, parentSuspense, slotScopeIds, optimized);
3024
+ if (vnode.shapeFlag & 16) {
3025
+ if (disabled) {
3026
+ hydrateDisabledTeleport(node, vnode);
3027
+ hydrateAnchor(target, targetNode);
3028
+ if (!vnode.targetAnchor) prepareAnchor(target, vnode, createText, insert, parentNode(node) === target ? node : null);
3029
+ } else {
3030
+ vnode.anchor = nextSibling(node);
3031
+ hydrateAnchor(target, targetNode);
3032
+ if (!vnode.targetAnchor) prepareAnchor(target, vnode, createText, insert);
3033
+ hydrateChildren(targetNode && nextSibling(targetNode), vnode, target, parentComponent, parentSuspense, slotScopeIds, optimized);
3034
+ }
2991
3035
  }
2992
3036
  updateCssVars(vnode, disabled);
2993
3037
  } else if (disabled) {
@@ -3148,8 +3192,10 @@ function baseResolveTransitionHooks(context, props, state, instance) {
3148
3192
  persisted,
3149
3193
  beforeEnter(el) {
3150
3194
  let hook = onBeforeEnter;
3151
- if (!state.isMounted) if (appear) hook = onBeforeAppear || onBeforeEnter;
3152
- else return;
3195
+ if (!state.isMounted) {
3196
+ if (appear) hook = onBeforeAppear || onBeforeEnter;
3197
+ else return;
3198
+ }
3153
3199
  if (el[leaveCbKey]) el[leaveCbKey](true);
3154
3200
  earlyRemove();
3155
3201
  callHook(hook, [el]);
@@ -3159,11 +3205,13 @@ function baseResolveTransitionHooks(context, props, state, instance) {
3159
3205
  let hook = onEnter;
3160
3206
  let afterHook = onAfterEnter;
3161
3207
  let cancelHook = onEnterCancelled;
3162
- if (!state.isMounted) if (appear) {
3163
- hook = onAppear || onEnter;
3164
- afterHook = onAfterAppear || onAfterEnter;
3165
- cancelHook = onAppearCancelled || onEnterCancelled;
3166
- } else return;
3208
+ if (!state.isMounted) {
3209
+ if (appear) {
3210
+ hook = onAppear || onEnter;
3211
+ afterHook = onAfterAppear || onAfterEnter;
3212
+ cancelHook = onAppearCancelled || onEnterCancelled;
3213
+ } else return;
3214
+ }
3167
3215
  let called = false;
3168
3216
  el[enterCbKey$1] = (cancelled) => {
3169
3217
  if (called) return;
@@ -3323,9 +3371,9 @@ function getTransitionRawChildren(children, keepComment = false, parentKey) {
3323
3371
  }
3324
3372
  //#endregion
3325
3373
  //#region packages/runtime-core/src/apiDefineComponent.ts
3326
- /* @__NO_SIDE_EFFECTS__ */
3374
+ /*@__NO_SIDE_EFFECTS__*/
3327
3375
  function defineComponent(options, extraOptions) {
3328
- return isFunction(options) ? extend({ name: options.name }, extraOptions, { setup: options }) : options;
3376
+ return isFunction(options) ? /*@__PURE__*/ (() => extend({ name: options.name }, extraOptions, { setup: options }))() : options;
3329
3377
  }
3330
3378
  //#endregion
3331
3379
  //#region packages/runtime-core/src/helpers/useId.ts
@@ -3412,15 +3460,16 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
3412
3460
  if (rawRef.f) {
3413
3461
  const existing = _isString ? canSetSetupRef(ref) ? setupState[ref] : refs[ref] : canSetRef(ref) || !rawRef.k ? ref.value : refs[rawRef.k];
3414
3462
  if (isUnmount) isArray(existing) && remove(existing, refValue);
3415
- else if (!isArray(existing)) if (_isString) {
3416
- refs[ref] = [refValue];
3417
- if (canSetSetupRef(ref)) setupState[ref] = refs[ref];
3418
- } else {
3419
- const newVal = [refValue];
3420
- if (canSetRef(ref, rawRef.k)) ref.value = newVal;
3421
- if (rawRef.k) refs[rawRef.k] = newVal;
3422
- }
3423
- else if (!existing.includes(refValue)) existing.push(refValue);
3463
+ else if (!isArray(existing)) {
3464
+ if (_isString) {
3465
+ refs[ref] = [refValue];
3466
+ if (canSetSetupRef(ref)) setupState[ref] = refs[ref];
3467
+ } else {
3468
+ const newVal = [refValue];
3469
+ if (canSetRef(ref, rawRef.k)) ref.value = newVal;
3470
+ if (rawRef.k) refs[rawRef.k] = newVal;
3471
+ }
3472
+ } else if (!existing.includes(refValue)) existing.push(refValue);
3424
3473
  } else if (_isString) {
3425
3474
  refs[ref] = value;
3426
3475
  if (canSetSetupRef(ref)) setupState[ref] = value;
@@ -3516,11 +3565,12 @@ function createHydrationFunctions(rendererInternals) {
3516
3565
  let nextNode = null;
3517
3566
  switch (type) {
3518
3567
  case Text:
3519
- if (domType !== 3) if (vnode.children === "") {
3520
- insert(vnode.el = createText(""), parentNode(node), node);
3521
- nextNode = node;
3522
- } else nextNode = onMismatch();
3523
- else {
3568
+ if (domType !== 3) {
3569
+ if (vnode.children === "") {
3570
+ insert(vnode.el = createText(""), parentNode(node), node);
3571
+ nextNode = node;
3572
+ } else nextNode = onMismatch();
3573
+ } else {
3524
3574
  if (node.data !== vnode.children) {
3525
3575
  logMismatchError();
3526
3576
  node.data = vnode.children;
@@ -3558,9 +3608,10 @@ function createHydrationFunctions(rendererInternals) {
3558
3608
  case VaporSlot:
3559
3609
  nextNode = getVaporInterface(parentComponent, vnode).hydrateSlot(vnode, node, parentComponent, parentSuspense, slotScopeIds);
3560
3610
  break;
3561
- default: if (shapeFlag & 1) if ((domType !== 1 || vnode.type.toLowerCase() !== node.tagName.toLowerCase()) && !isTemplateNode$1(node)) nextNode = onMismatch();
3562
- else nextNode = hydrateElement(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized);
3563
- else if (shapeFlag & 6) {
3611
+ default: if (shapeFlag & 1) {
3612
+ if ((domType !== 1 || vnode.type.toLowerCase() !== node.tagName.toLowerCase()) && !isTemplateNode$1(node)) nextNode = onMismatch();
3613
+ else nextNode = hydrateElement(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized);
3614
+ } else if (shapeFlag & 6) {
3564
3615
  vnode.slotScopeIds = slotScopeIds;
3565
3616
  const container = parentNode(node);
3566
3617
  if (isFragmentStart) nextNode = locateClosingAnchor(node);
@@ -3582,19 +3633,20 @@ function createHydrationFunctions(rendererInternals) {
3582
3633
  } else {
3583
3634
  mountComponent(vnode, container, null, parentComponent, parentSuspense, getContainerType(container), optimized);
3584
3635
  const component = vnode.component;
3585
- if (isAsyncWrapper(vnode) && !vnode.type.__asyncResolved || component.asyncDep && !component.asyncResolved) {
3636
+ if (!component.subTree && (isAsyncWrapper(vnode) || component.asyncDep && !component.asyncResolved)) {
3586
3637
  let subTree;
3587
3638
  if (isFragmentStart) {
3588
- subTree = createVNode(Fragment);
3639
+ subTree = createVNode(Static);
3589
3640
  subTree.anchor = nextNode ? nextNode.previousSibling : container.lastChild;
3590
3641
  } else subTree = node.nodeType === 3 ? createTextVNode("") : createVNode("div");
3591
3642
  subTree.el = node;
3592
3643
  component.subTree = subTree;
3593
3644
  }
3594
3645
  }
3595
- } else if (shapeFlag & 64) if (domType !== 8) nextNode = onMismatch();
3596
- else nextNode = vnode.type.hydrate(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, rendererInternals, hydrateChildren);
3597
- else if (shapeFlag & 128) nextNode = vnode.type.hydrate(node, vnode, parentComponent, parentSuspense, getContainerType(parentNode(node)), slotScopeIds, optimized, rendererInternals, hydrateNode);
3646
+ } else if (shapeFlag & 64) {
3647
+ if (domType !== 8) nextNode = onMismatch();
3648
+ else nextNode = vnode.type.hydrate(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, rendererInternals, hydrateChildren);
3649
+ } else if (shapeFlag & 128) nextNode = vnode.type.hydrate(node, vnode, parentComponent, parentSuspense, getContainerType(parentNode(node)), slotScopeIds, optimized, rendererInternals, hydrateNode);
3598
3650
  }
3599
3651
  if (ref != null) setRef(ref, null, parentSuspense, vnode);
3600
3652
  return nextNode;
@@ -3723,8 +3775,10 @@ function createHydrationFunctions(rendererInternals) {
3723
3775
  node = nextSibling(node);
3724
3776
  if (node && isComment(node)) {
3725
3777
  if (node.data === open) match++;
3726
- if (node.data === close) if (match === 0) return nextSibling(node);
3727
- else match--;
3778
+ if (node.data === close) {
3779
+ if (match === 0) return nextSibling(node);
3780
+ else match--;
3781
+ }
3728
3782
  }
3729
3783
  }
3730
3784
  return node;
@@ -3746,7 +3800,7 @@ const isTemplateNode$1 = (node) => {
3746
3800
  /**
3747
3801
  * Dev only
3748
3802
  */
3749
- const resourceProps = /* @__PURE__ */ new Set([
3803
+ const resourceProps = /*@__PURE__*/ new Set([
3750
3804
  "src",
3751
3805
  "srcset",
3752
3806
  "href",
@@ -3878,7 +3932,7 @@ function forEachElement(node, cb) {
3878
3932
  //#endregion
3879
3933
  //#region packages/runtime-core/src/apiAsyncComponent.ts
3880
3934
  const isAsyncWrapper = (i) => !!i.type.__asyncLoader;
3881
- /* @__NO_SIDE_EFFECTS__ */
3935
+ /*@__NO_SIDE_EFFECTS__*/
3882
3936
  function defineAsyncComponent(source) {
3883
3937
  const { load, getResolvedComp, setPendingRequest, source: { loadingComponent, errorComponent, delay, hydrate: hydrateStrategy, timeout, suspensible = true } } = createAsyncComponentContext(source);
3884
3938
  return /* @__PURE__ */ defineComponent({
@@ -4088,10 +4142,13 @@ const KeepAliveImpl = {
4088
4142
  });
4089
4143
  let pendingCacheKey = null;
4090
4144
  const cacheSubtree = () => {
4091
- if (pendingCacheKey != null) if (isSuspense(keepAliveInstance.subTree.type)) queuePostRenderEffect(() => {
4092
- cache.set(pendingCacheKey, getInnerChild(keepAliveInstance.subTree));
4093
- }, void 0, keepAliveInstance.subTree.suspense);
4094
- else cache.set(pendingCacheKey, getInnerChild(keepAliveInstance.subTree));
4145
+ if (pendingCacheKey != null) {
4146
+ if (isSuspense(keepAliveInstance.subTree.type)) queuePostRenderEffect(() => {
4147
+ const vnode = getInnerChild(keepAliveInstance.subTree);
4148
+ if (vnode.component) cache.set(pendingCacheKey, vnode);
4149
+ }, void 0, keepAliveInstance.subTree.suspense);
4150
+ else cache.set(pendingCacheKey, getInnerChild(keepAliveInstance.subTree));
4151
+ }
4095
4152
  };
4096
4153
  onMounted(cacheSubtree);
4097
4154
  onUpdated(cacheSubtree);
@@ -4161,7 +4218,7 @@ const decorate$2 = (t) => {
4161
4218
  t.__isBuiltIn = true;
4162
4219
  return t;
4163
4220
  };
4164
- const KeepAlive = /* @__PURE__ */ decorate$2(KeepAliveImpl);
4221
+ const KeepAlive = /*@__PURE__*/ decorate$2(KeepAliveImpl);
4165
4222
  function matches(pattern, name) {
4166
4223
  if (isArray(pattern)) return pattern.some((p) => matches(p, name));
4167
4224
  else if (isString(pattern)) return pattern.split(",").includes(name);
@@ -4371,16 +4428,17 @@ function compatH(type, propsOrChildren, children) {
4371
4428
  }
4372
4429
  const l = arguments.length;
4373
4430
  const is2ndArgArrayChildren = isArray(propsOrChildren);
4374
- if (l === 2 || is2ndArgArrayChildren) if (isObject(propsOrChildren) && !is2ndArgArrayChildren) {
4375
- if (isVNode(propsOrChildren)) return convertLegacySlots(createVNode(type, null, [propsOrChildren]));
4376
- return convertLegacySlots(convertLegacyDirectives(createVNode(type, convertLegacyProps(propsOrChildren, type)), propsOrChildren));
4377
- } else return convertLegacySlots(createVNode(type, null, propsOrChildren));
4378
- else {
4431
+ if (l === 2 || is2ndArgArrayChildren) {
4432
+ if (isObject(propsOrChildren) && !is2ndArgArrayChildren) {
4433
+ if (isVNode(propsOrChildren)) return convertLegacySlots(createVNode(type, null, [propsOrChildren]));
4434
+ return convertLegacySlots(convertLegacyDirectives(createVNode(type, convertLegacyProps(propsOrChildren, type)), propsOrChildren));
4435
+ } else return convertLegacySlots(createVNode(type, null, propsOrChildren));
4436
+ } else {
4379
4437
  if (isVNode(children)) children = [children];
4380
4438
  return convertLegacySlots(convertLegacyDirectives(createVNode(type, convertLegacyProps(propsOrChildren, type), children), propsOrChildren));
4381
4439
  }
4382
4440
  }
4383
- const skipLegacyRootLevelProps = /* @__PURE__ */ makeMap("staticStyle,staticClass,directives,model,hook");
4441
+ const skipLegacyRootLevelProps = /*@__PURE__*/ makeMap("staticStyle,staticClass,directives,model,hook");
4384
4442
  function convertLegacyProps(legacyProps, type) {
4385
4443
  if (!legacyProps) return null;
4386
4444
  const converted = {};
@@ -4392,8 +4450,10 @@ function convertLegacyProps(legacyProps, type) {
4392
4450
  if (key === "nativeOn") handlerKey += `Native`;
4393
4451
  const existing = converted[handlerKey];
4394
4452
  const incoming = listeners[event];
4395
- if (existing !== incoming) if (existing) converted[handlerKey] = [].concat(existing, incoming);
4396
- else converted[handlerKey] = incoming;
4453
+ if (existing !== incoming) {
4454
+ if (existing) converted[handlerKey] = [].concat(existing, incoming);
4455
+ else converted[handlerKey] = incoming;
4456
+ }
4397
4457
  }
4398
4458
  } else if (!skipLegacyRootLevelProps(key)) converted[key] = legacyProps[key];
4399
4459
  if (legacyProps.staticClass) converted.class = normalizeClass([legacyProps.staticClass, converted.class]);
@@ -4492,7 +4552,7 @@ function convertLegacyFunctionalComponent(comp) {
4492
4552
  const legacyFn = comp.render;
4493
4553
  const Func = (props, ctx) => {
4494
4554
  const instance = getCurrentInstance();
4495
- return legacyFn(compatH, {
4555
+ const legacyCtx = {
4496
4556
  props,
4497
4557
  children: instance.vnode.children || [],
4498
4558
  data: instance.vnode.props || {},
@@ -4512,7 +4572,8 @@ function convertLegacyFunctionalComponent(comp) {
4512
4572
  }
4513
4573
  return {};
4514
4574
  }
4515
- });
4575
+ };
4576
+ return legacyFn(compatH, legacyCtx);
4516
4577
  };
4517
4578
  Func.props = comp.props;
4518
4579
  Func.displayName = comp.name;
@@ -4544,16 +4605,17 @@ function renderList(source, renderItem, cache, index) {
4544
4605
  } else if (typeof source === "number") {
4545
4606
  ret = new Array(source);
4546
4607
  for (let i = 0; i < source; i++) ret[i] = renderItem(i + 1, i, void 0, cached && cached[i]);
4547
- } else if (isObject(source)) if (source[Symbol.iterator]) ret = Array.from(source, (item, i) => renderItem(item, i, void 0, cached && cached[i]));
4548
- else {
4549
- const keys = Object.keys(source);
4550
- ret = new Array(keys.length);
4551
- for (let i = 0, l = keys.length; i < l; i++) {
4552
- const key = keys[i];
4553
- ret[i] = renderItem(source[key], key, i, cached && cached[i]);
4608
+ } else if (isObject(source)) {
4609
+ if (source[Symbol.iterator]) ret = Array.from(source, (item, i) => renderItem(item, i, void 0, cached && cached[i]));
4610
+ else {
4611
+ const keys = Object.keys(source);
4612
+ ret = new Array(keys.length);
4613
+ for (let i = 0, l = keys.length; i < l; i++) {
4614
+ const key = keys[i];
4615
+ ret[i] = renderItem(source[key], key, i, cached && cached[i]);
4616
+ }
4554
4617
  }
4555
- }
4556
- else ret = [];
4618
+ } else ret = [];
4557
4619
  if (cache) cache[index] = ret;
4558
4620
  return ret;
4559
4621
  }
@@ -4578,14 +4640,27 @@ function createSlots(slots, dynamicSlots) {
4578
4640
  //#endregion
4579
4641
  //#region packages/runtime-core/src/helpers/renderSlot.ts
4580
4642
  /**
4643
+ * Links a slot function to its raw vapor slot: a raw vapor slot carries
4644
+ * itself, and the wrapper the interop slots proxy hands out carries the raw
4645
+ * slot it wraps — one lookup answers both "is this a vapor slot" and
4646
+ * "which one". Internal to vapor interop.
4647
+ */
4648
+ const rawVaporSlotKey = Symbol(`rawVaporSlot`);
4649
+ /**
4650
+ * Marks a compiler-generated slot fallback as VDOM-rendered so the vapor
4651
+ * interop fallback chain renders it through the VDOM renderer. Internal to
4652
+ * vapor interop.
4653
+ */
4654
+ const vdomSlotFallbackKey = Symbol(`vdomSlotFallback`);
4655
+ /**
4581
4656
  * Compiler runtime helper for rendering `<slot/>`
4582
4657
  * @private
4583
4658
  */
4584
4659
  function renderSlot(slots, name, props, fallback, noSlotted, branchKey) {
4585
4660
  if (props == null) props = {};
4586
4661
  let slot = slots[name];
4587
- if (fallback) fallback.__vdom = true;
4588
- const vaporSlot = slot && (slot.__vs || (slot.__vapor ? slot : null));
4662
+ if (fallback) fallback[vdomSlotFallbackKey] = true;
4663
+ const vaporSlot = slot && slot[rawVaporSlotKey];
4589
4664
  if (vaporSlot) {
4590
4665
  const ret = (openBlock(), createBlock(VaporSlot, props));
4591
4666
  ret.vs = {
@@ -4685,12 +4760,14 @@ function legacyResolveScopedSlots(fns, raw, hasDynamicKeys) {
4685
4760
  function mapKeyToName(slots) {
4686
4761
  for (let i = 0; i < slots.length; i++) {
4687
4762
  const fn = slots[i];
4688
- if (fn) if (isArray(fn)) mapKeyToName(fn);
4689
- else fn.name = fn.key || "default";
4763
+ if (fn) {
4764
+ if (isArray(fn)) mapKeyToName(fn);
4765
+ else fn.name = fn.key || "default";
4766
+ }
4690
4767
  }
4691
4768
  return slots;
4692
4769
  }
4693
- const staticCacheMap = /* @__PURE__ */ new WeakMap();
4770
+ const staticCacheMap = /*@__PURE__*/ new WeakMap();
4694
4771
  function legacyRenderStatic(instance, index) {
4695
4772
  let cache = staticCacheMap.get(instance);
4696
4773
  if (!cache) staticCacheMap.set(instance, cache = []);
@@ -4913,7 +4990,7 @@ const PublicInstanceProxyHandlers = {
4913
4990
  return Reflect.defineProperty(target, key, descriptor);
4914
4991
  }
4915
4992
  };
4916
- const RuntimeCompiledPublicInstanceProxyHandlers = /* @__PURE__ */ extend({}, PublicInstanceProxyHandlers, {
4993
+ const RuntimeCompiledPublicInstanceProxyHandlers = /*@__PURE__*/ extend({}, PublicInstanceProxyHandlers, {
4917
4994
  get(target, key) {
4918
4995
  if (key === Symbol.unscopables) return;
4919
4996
  return PublicInstanceProxyHandlers.get(target, key, target);
@@ -5037,12 +5114,13 @@ function mergeDefaults(raw, defaults) {
5037
5114
  for (const key in defaults) {
5038
5115
  if (key.startsWith("__skip")) continue;
5039
5116
  let opt = props[key];
5040
- if (opt) if (isArray(opt) || isFunction(opt)) opt = props[key] = {
5041
- type: opt,
5042
- default: defaults[key]
5043
- };
5044
- else opt.default = defaults[key];
5045
- else if (opt === null) opt = props[key] = { default: defaults[key] };
5117
+ if (opt) {
5118
+ if (isArray(opt) || isFunction(opt)) opt = props[key] = {
5119
+ type: opt,
5120
+ default: defaults[key]
5121
+ };
5122
+ else opt.default = defaults[key];
5123
+ } else if (opt === null) opt = props[key] = { default: defaults[key] };
5046
5124
  if (opt && defaults[`__skip_${key}`]) opt.skipFactory = true;
5047
5125
  }
5048
5126
  return props;
@@ -5148,9 +5226,11 @@ function applyOptions(instance) {
5148
5226
  shouldCacheAccess = true;
5149
5227
  if (computedOptions) for (const key in computedOptions) {
5150
5228
  const opt = computedOptions[key];
5229
+ const get = isFunction(opt) ? opt.bind(publicThis, publicThis) : isFunction(opt.get) ? opt.get.bind(publicThis, publicThis) : NOOP;
5230
+ const set = !isFunction(opt) && isFunction(opt.set) ? opt.set.bind(publicThis) : NOOP;
5151
5231
  const c = computed({
5152
- get: isFunction(opt) ? opt.bind(publicThis, publicThis) : isFunction(opt.get) ? opt.get.bind(publicThis, publicThis) : NOOP,
5153
- set: !isFunction(opt) && isFunction(opt.set) ? opt.set.bind(publicThis) : NOOP
5232
+ get,
5233
+ set
5154
5234
  });
5155
5235
  Object.defineProperty(ctx, key, {
5156
5236
  enumerable: true,
@@ -5209,9 +5289,10 @@ function resolveInjections(injectOptions, ctx, checkDuplicateProperties = NOOP)
5209
5289
  for (const key in injectOptions) {
5210
5290
  const opt = injectOptions[key];
5211
5291
  let injected;
5212
- if (isObject(opt)) if ("default" in opt) injected = inject(opt.from || key, opt.default, true);
5213
- else injected = inject(opt.from || key);
5214
- else injected = inject(opt);
5292
+ if (isObject(opt)) {
5293
+ if ("default" in opt) injected = inject(opt.from || key, opt.default, true);
5294
+ else injected = inject(opt.from || key);
5295
+ } else injected = inject(opt);
5215
5296
  if (/* @__PURE__ */ isRef(injected)) Object.defineProperty(ctx, key, {
5216
5297
  enumerable: true,
5217
5298
  configurable: true,
@@ -5230,7 +5311,8 @@ function createWatcher(raw, ctx, publicThis, key) {
5230
5311
  {
5231
5312
  const cur = getCurrentInstance();
5232
5313
  const instance = cur && getCurrentScope() === cur.scope ? cur : null;
5233
- if (isArray(getter()) && isCompatEnabled$1("WATCH_ARRAY", instance)) options.deep = true;
5314
+ const newValue = getter();
5315
+ if (isArray(newValue) && isCompatEnabled$1("WATCH_ARRAY", instance)) options.deep = true;
5234
5316
  const baseGetter = getter;
5235
5317
  getter = () => {
5236
5318
  const val = baseGetter();
@@ -5242,10 +5324,12 @@ function createWatcher(raw, ctx, publicThis, key) {
5242
5324
  const handler = ctx[raw];
5243
5325
  if (isFunction(handler)) watch(getter, handler, options);
5244
5326
  } else if (isFunction(raw)) watch(getter, raw.bind(publicThis), options);
5245
- else if (isObject(raw)) if (isArray(raw)) raw.forEach((r) => createWatcher(r, ctx, publicThis, key));
5246
- else {
5247
- const handler = isFunction(raw.handler) ? raw.handler.bind(publicThis) : ctx[raw.handler];
5248
- if (isFunction(handler)) watch(getter, handler, extend(raw, options));
5327
+ else if (isObject(raw)) {
5328
+ if (isArray(raw)) raw.forEach((r) => createWatcher(r, ctx, publicThis, key));
5329
+ else {
5330
+ const handler = isFunction(raw.handler) ? raw.handler.bind(publicThis) : ctx[raw.handler];
5331
+ if (isFunction(handler)) watch(getter, handler, extend(raw, options));
5332
+ }
5249
5333
  }
5250
5334
  }
5251
5335
  /**
@@ -5260,12 +5344,13 @@ function resolveMergedOptions(instance) {
5260
5344
  const cached = cache.get(base);
5261
5345
  let resolved;
5262
5346
  if (cached) resolved = cached;
5263
- else if (!globalMixins.length && !mixins && !extendsOptions) if (isCompatEnabled$1("PRIVATE_APIS", instance)) {
5264
- resolved = extend({}, base);
5265
- resolved.parent = instance.parent && instance.parent.proxy;
5266
- resolved.propsData = instance.vnode.props;
5267
- } else resolved = base;
5268
- else {
5347
+ else if (!globalMixins.length && !mixins && !extendsOptions) {
5348
+ if (isCompatEnabled$1("PRIVATE_APIS", instance)) {
5349
+ resolved = extend({}, base);
5350
+ resolved.parent = instance.parent && instance.parent.proxy;
5351
+ resolved.propsData = instance.vnode.props;
5352
+ } else resolved = base;
5353
+ } else {
5269
5354
  resolved = {};
5270
5355
  if (globalMixins.length) globalMixins.forEach((m) => mergeOptions(resolved, m, optionMergeStrategies, true));
5271
5356
  mergeOptions(resolved, base, optionMergeStrategies);
@@ -5337,7 +5422,7 @@ function mergeObjectOptions(to, from) {
5337
5422
  }
5338
5423
  function mergeEmitsOrPropsOptions(to, from) {
5339
5424
  if (to) {
5340
- if (isArray(to) && isArray(from)) return [...new Set([...to, ...from])];
5425
+ if (isArray(to) && isArray(from)) return [.../* @__PURE__ */ new Set([...to, ...from])];
5341
5426
  return extend(Object.create(null), normalizePropsOrEmits(to), normalizePropsOrEmits(from !== null && from !== void 0 ? from : {}));
5342
5427
  } else return from;
5343
5428
  }
@@ -5373,7 +5458,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
5373
5458
  if (options.el) return vm.$mount(options.el);
5374
5459
  else return vm;
5375
5460
  }
5376
- Vue.version = `2.6.14-compat:3.6.0-rc.5`;
5461
+ Vue.version = `2.6.14-compat:3.6.0-rc.6`;
5377
5462
  Vue.config = singletonApp.config;
5378
5463
  Vue.use = (plugin, ...options) => {
5379
5464
  if (plugin && isFunction(plugin.install)) plugin.install(Vue, ...options);
@@ -5851,7 +5936,7 @@ function baseEmit(instance, props, getter, event, ...rawArgs) {
5851
5936
  const modifiers = isCompatModelListener ? props.modelModifiers : isModelListener && getModelModifiers(props, event.slice(7), getter);
5852
5937
  if (modifiers) {
5853
5938
  if (modifiers.trim) args = rawArgs.map((a) => isString(a) ? a.trim() : a);
5854
- if (modifiers.number) args = rawArgs.map(looseToNumber);
5939
+ if (modifiers.number) args = args.map(looseToNumber);
5855
5940
  }
5856
5941
  let handlerName;
5857
5942
  let handler = getter(props, handlerName = toHandlerKey(event)) || getter(props, handlerName = toHandlerKey(camelize(event)));
@@ -5974,8 +6059,10 @@ function filterSingleRoot(children, recurse = true) {
5974
6059
  for (let i = 0; i < children.length; i++) {
5975
6060
  const child = children[i];
5976
6061
  if (isVNode(child)) {
5977
- if (child.type !== Comment || child.children === "v-if") if (singleRoot) return;
5978
- else singleRoot = child;
6062
+ if (child.type !== Comment || child.children === "v-if") {
6063
+ if (singleRoot) return;
6064
+ else singleRoot = child;
6065
+ }
5979
6066
  } else return;
5980
6067
  }
5981
6068
  return singleRoot;
@@ -6107,16 +6194,17 @@ function updateProps(instance, rawProps, rawPrevProps, optimized) {
6107
6194
  let key = propsToUpdate[i];
6108
6195
  if (isEmitListener(instance.emitsOptions, key)) continue;
6109
6196
  const value = rawProps[key];
6110
- if (options) if (hasOwn(attrs, key)) {
6111
- if (value !== attrs[key]) {
6112
- attrs[key] = value;
6113
- hasAttrsChanged = true;
6197
+ if (options) {
6198
+ if (hasOwn(attrs, key)) {
6199
+ if (value !== attrs[key]) {
6200
+ attrs[key] = value;
6201
+ hasAttrsChanged = true;
6202
+ }
6203
+ } else {
6204
+ const camelizedKey = camelize(key);
6205
+ props[camelizedKey] = resolvePropValue(options, camelizedKey, value, instance, baseResolveDefault);
6114
6206
  }
6115
6207
  } else {
6116
- const camelizedKey = camelize(key);
6117
- props[camelizedKey] = resolvePropValue(options, camelizedKey, value, instance, baseResolveDefault);
6118
- }
6119
- else {
6120
6208
  if (isOn(key) && key.endsWith("Native")) key = key.slice(0, -6);
6121
6209
  else if (shouldSkipAttr(key, instance)) continue;
6122
6210
  if (value !== attrs[key]) {
@@ -6129,9 +6217,11 @@ function updateProps(instance, rawProps, rawPrevProps, optimized) {
6129
6217
  } else {
6130
6218
  if (setFullProps(instance, rawProps, props, attrs)) hasAttrsChanged = true;
6131
6219
  let kebabKey;
6132
- for (const key in rawCurrentProps) if (!rawProps || !hasOwn(rawProps, key) && ((kebabKey = hyphenate(key)) === key || !hasOwn(rawProps, kebabKey))) if (options) {
6133
- if (rawPrevProps && (rawPrevProps[key] !== void 0 || rawPrevProps[kebabKey] !== void 0)) props[key] = resolvePropValue(options, key, void 0, instance, baseResolveDefault, true);
6134
- } else delete props[key];
6220
+ for (const key in rawCurrentProps) if (!rawProps || !hasOwn(rawProps, key) && ((kebabKey = hyphenate(key)) === key || !hasOwn(rawProps, kebabKey))) {
6221
+ if (options) {
6222
+ if (rawPrevProps && (rawPrevProps[key] !== void 0 || rawPrevProps[kebabKey] !== void 0)) props[key] = resolvePropValue(options, key, void 0, instance, baseResolveDefault, true);
6223
+ } else delete props[key];
6224
+ }
6135
6225
  if (attrs !== rawCurrentProps) {
6136
6226
  for (const key in attrs) if (!rawProps || !hasOwn(rawProps, key) && !hasOwn(rawProps, key + "Native")) {
6137
6227
  delete attrs[key];
@@ -6151,9 +6241,10 @@ function setFullProps(instance, rawProps, props, attrs) {
6151
6241
  if (key === "inline-template") continue;
6152
6242
  const value = rawProps[key];
6153
6243
  let camelKey;
6154
- if (options && hasOwn(options, camelKey = camelize(key))) if (!needCastKeys || !needCastKeys.includes(camelKey)) props[camelKey] = value;
6155
- else (rawCastValues || (rawCastValues = {}))[camelKey] = value;
6156
- else if (!isEmitListener(instance.emitsOptions, key)) {
6244
+ if (options && hasOwn(options, camelKey = camelize(key))) {
6245
+ if (!needCastKeys || !needCastKeys.includes(camelKey)) props[camelKey] = value;
6246
+ else (rawCastValues || (rawCastValues = {}))[camelKey] = value;
6247
+ } else if (!isEmitListener(instance.emitsOptions, key)) {
6157
6248
  if (isOn(key) && key.endsWith("Native")) key = key.slice(0, -6);
6158
6249
  else if (shouldSkipAttr(key, instance)) continue;
6159
6250
  if (!(key in attrs) || value !== attrs[key]) {
@@ -6317,9 +6408,10 @@ const updateSlots = (instance, children, optimized) => {
6317
6408
  let deletionComparisonTarget = EMPTY_OBJ;
6318
6409
  if (vnode.shapeFlag & 32) {
6319
6410
  const type = children._;
6320
- if (type) if (optimized && type === 1) needDeletionCheck = false;
6321
- else assignSlots(slots, children, optimized);
6322
- else {
6411
+ if (type) {
6412
+ if (optimized && type === 1) needDeletionCheck = false;
6413
+ else assignSlots(slots, children, optimized);
6414
+ } else {
6323
6415
  needDeletionCheck = !children.$stable;
6324
6416
  normalizeObjectSlots(children, slots, instance);
6325
6417
  }
@@ -6490,7 +6582,10 @@ function baseCreateRenderer(options, createHydrationFns) {
6490
6582
  for (let i = 0; i < inheritedScopeIds.length; i++) hostSetScopeId(el, inheritedScopeIds[i]);
6491
6583
  };
6492
6584
  const mountChildren = (children, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, start = 0) => {
6493
- for (let i = start; i < children.length; i++) patch(null, children[i] = optimized ? cloneIfMounted(children[i]) : normalizeVNode(children[i]), container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
6585
+ for (let i = start; i < children.length; i++) {
6586
+ const child = children[i] = optimized ? cloneIfMounted(children[i]) : normalizeVNode(children[i]);
6587
+ patch(null, child, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
6588
+ }
6494
6589
  };
6495
6590
  const patchElement = (n1, n2, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {
6496
6591
  const el = n2.el = n1.el;
@@ -6501,6 +6596,7 @@ function baseCreateRenderer(options, createHydrationFns) {
6501
6596
  let vnodeHook;
6502
6597
  parentComponent && toggleRecurse(parentComponent, false);
6503
6598
  if (vnodeHook = newProps.onVnodeBeforeUpdate) invokeVNodeHook(vnodeHook, parentComponent, n2, n1);
6599
+ if (n2.ibu) n2.ibu();
6504
6600
  if (dirs) invokeDirectiveHook(n2, n1, parentComponent, "beforeUpdate");
6505
6601
  parentComponent && toggleRecurse(parentComponent, true);
6506
6602
  if (dynamicChildren && (!n1.dynamicChildren || n1.dynamicChildren.length !== dynamicChildren.length)) {
@@ -6532,8 +6628,9 @@ function baseCreateRenderer(options, createHydrationFns) {
6532
6628
  if (n1.children !== n2.children) hostSetElementText(el, n2.children);
6533
6629
  }
6534
6630
  } else if (!optimized && dynamicChildren == null) patchProps(el, oldProps, newProps, parentComponent, namespace);
6535
- if ((vnodeHook = newProps.onVnodeUpdated) || dirs) queuePostRenderEffect(() => {
6631
+ if ((vnodeHook = newProps.onVnodeUpdated) || dirs || n2.iu) queuePostRenderEffect(() => {
6536
6632
  vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, n2, n1);
6633
+ n2.iu && n2.iu();
6537
6634
  dirs && invokeDirectiveHook(n2, n1, parentComponent, "updated");
6538
6635
  }, void 0, parentSuspense);
6539
6636
  };
@@ -6541,7 +6638,8 @@ function baseCreateRenderer(options, createHydrationFns) {
6541
6638
  for (let i = 0; i < newChildren.length; i++) {
6542
6639
  const oldVNode = oldChildren[i];
6543
6640
  const newVNode = newChildren[i];
6544
- patch(oldVNode, newVNode, oldVNode.el && (oldVNode.type === Fragment || !isSameVNodeType(oldVNode, newVNode) || oldVNode.shapeFlag & 198) ? hostParentNode(oldVNode.el) : fallbackContainer, null, parentComponent, parentSuspense, namespace, slotScopeIds, true);
6641
+ const container = oldVNode.el && (oldVNode.type === Fragment || !isSameVNodeType(oldVNode, newVNode) || oldVNode.shapeFlag & 198) ? hostParentNode(oldVNode.el) : fallbackContainer;
6642
+ patch(oldVNode, newVNode, container, null, parentComponent, parentSuspense, namespace, slotScopeIds, true);
6545
6643
  }
6546
6644
  };
6547
6645
  const patchProps = (el, oldProps, newProps, parentComponent, namespace) => {
@@ -6574,41 +6672,46 @@ function baseCreateRenderer(options, createHydrationFns) {
6574
6672
  };
6575
6673
  const processComponent = (n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {
6576
6674
  n2.slotScopeIds = slotScopeIds;
6577
- if (n2.type.__vapor) if (n1 == null) if (n2.shapeFlag & 512) getVaporInterface(parentComponent, n2).activate(n2, container, anchor, parentComponent, parentSuspense);
6578
- else {
6579
- const vnodeBeforeMountHook = !isAsyncWrapper(n2) && n2.props && n2.props.onVnodeBeforeMount;
6580
- getVaporInterface(parentComponent, n2).mount(n2, container, anchor, parentComponent, parentSuspense, () => {
6581
- if (n2.dirs) {
6582
- invokeDirectiveHook(n2, null, parentComponent, "created");
6583
- invokeDirectiveHook(n2, null, parentComponent, "beforeMount");
6675
+ if (n2.type.__vapor) {
6676
+ if (n1 == null) {
6677
+ if (n2.shapeFlag & 512) getVaporInterface(parentComponent, n2).activate(n2, container, anchor, parentComponent, parentSuspense);
6678
+ else {
6679
+ const vnodeBeforeMountHook = !isAsyncWrapper(n2) && n2.props && n2.props.onVnodeBeforeMount;
6680
+ getVaporInterface(parentComponent, n2).mount(n2, container, anchor, parentComponent, parentSuspense, () => {
6681
+ if (n2.dirs) {
6682
+ invokeDirectiveHook(n2, null, parentComponent, "created");
6683
+ invokeDirectiveHook(n2, null, parentComponent, "beforeMount");
6684
+ }
6685
+ }, () => {
6686
+ if (vnodeBeforeMountHook) invokeVNodeHook(vnodeBeforeMountHook, parentComponent, n2);
6687
+ });
6688
+ if (n2.dirs) queuePostRenderEffect(() => invokeDirectiveHook(n2, null, parentComponent, "mounted"), void 0, parentSuspense);
6689
+ const vnodeMountedHook = !isAsyncWrapper(n2) && n2.props && n2.props.onVnodeMounted;
6690
+ if (vnodeMountedHook) {
6691
+ const scopedVNode = n2;
6692
+ queuePostRenderEffect(() => invokeVNodeHook(vnodeMountedHook, parentComponent, scopedVNode), void 0, parentSuspense);
6693
+ }
6584
6694
  }
6585
- }, () => {
6586
- if (vnodeBeforeMountHook) invokeVNodeHook(vnodeBeforeMountHook, parentComponent, n2);
6587
- });
6588
- if (n2.dirs) queuePostRenderEffect(() => invokeDirectiveHook(n2, null, parentComponent, "mounted"), void 0, parentSuspense);
6589
- const vnodeMountedHook = !isAsyncWrapper(n2) && n2.props && n2.props.onVnodeMounted;
6590
- if (vnodeMountedHook) {
6591
- const scopedVNode = n2;
6592
- queuePostRenderEffect(() => invokeVNodeHook(vnodeMountedHook, parentComponent, scopedVNode), void 0, parentSuspense);
6593
- }
6594
- }
6595
- else {
6596
- const shouldUpdate = shouldUpdateComponent(n1, n2, optimized);
6597
- getVaporInterface(parentComponent, n2).update(n1, n2, shouldUpdate, () => {
6598
- if (n2.dirs) invokeDirectiveHook(n2, n1, parentComponent, "beforeUpdate");
6599
- }, () => {
6600
- const vnodeBeforeUpdateHook = n2.props && n2.props.onVnodeBeforeUpdate;
6601
- if (vnodeBeforeUpdateHook) invokeVNodeHook(vnodeBeforeUpdateHook, parentComponent, n2, n1);
6602
- });
6603
- const vnodeUpdatedHook = n2.props && n2.props.onVnodeUpdated;
6604
- if (shouldUpdate && (vnodeUpdatedHook || n2.dirs)) queuePostRenderEffect(() => {
6605
- n2.dirs && invokeDirectiveHook(n2, n1, parentComponent, "updated");
6606
- vnodeUpdatedHook && invokeVNodeHook(vnodeUpdatedHook, parentComponent, n2, n1);
6607
- }, void 0, parentSuspense);
6608
- }
6609
- else if (n1 == null) if (n2.shapeFlag & 512) parentComponent.ctx.activate(n2, container, anchor, namespace, optimized);
6610
- else mountComponent(n2, container, anchor, parentComponent, parentSuspense, namespace, optimized);
6611
- else updateComponent(n1, n2, optimized);
6695
+ } else {
6696
+ const shouldUpdate = shouldUpdateComponent(n1, n2, optimized);
6697
+ getVaporInterface(parentComponent, n2).update(n1, n2, shouldUpdate, () => {
6698
+ if (n2.dirs) invokeDirectiveHook(n2, n1, parentComponent, "beforeUpdate");
6699
+ }, () => {
6700
+ const vnodeBeforeUpdateHook = n2.props && n2.props.onVnodeBeforeUpdate;
6701
+ if (vnodeBeforeUpdateHook) invokeVNodeHook(vnodeBeforeUpdateHook, parentComponent, n2, n1);
6702
+ if (n2.ibu) n2.ibu();
6703
+ });
6704
+ const vnodeUpdatedHook = n2.props && n2.props.onVnodeUpdated;
6705
+ if (shouldUpdate && (vnodeUpdatedHook || n2.dirs || n2.iu)) queuePostRenderEffect(() => {
6706
+ n2.dirs && invokeDirectiveHook(n2, n1, parentComponent, "updated");
6707
+ vnodeUpdatedHook && invokeVNodeHook(vnodeUpdatedHook, parentComponent, n2, n1);
6708
+ n2.iu && n2.iu();
6709
+ }, void 0, parentSuspense);
6710
+ }
6711
+ } else if (n1 == null) {
6712
+ if (n2.shapeFlag & 512) parentComponent.ctx.activate(n2, container, anchor, namespace, optimized);
6713
+ else mountComponent(n2, container, anchor, parentComponent, parentSuspense, namespace, optimized);
6714
+ } else updateComponent(n1, n2, optimized);
6612
6715
  };
6613
6716
  const mountComponent = (initialVNode, container, anchor, parentComponent, parentSuspense, namespace, optimized) => {
6614
6717
  const compatMountInstance = initialVNode.isCompatRoot && initialVNode.component;
@@ -6640,14 +6743,15 @@ function baseCreateRenderer(options, createHydrationFns) {
6640
6743
  };
6641
6744
  const updateComponent = (n1, n2, optimized) => {
6642
6745
  const instance = n2.component = n1.component;
6643
- if (shouldUpdateComponent(n1, n2, optimized)) if (instance.asyncDep && !instance.asyncResolved) {
6644
- updateComponentPreRender(instance, n2, optimized);
6645
- return;
6746
+ if (shouldUpdateComponent(n1, n2, optimized)) {
6747
+ if (instance.asyncDep && !instance.asyncResolved) {
6748
+ updateComponentPreRender(instance, n2, optimized);
6749
+ return;
6750
+ } else {
6751
+ instance.next = n2;
6752
+ instance.effect.run();
6753
+ }
6646
6754
  } else {
6647
- instance.next = n2;
6648
- instance.effect.run();
6649
- }
6650
- else {
6651
6755
  n2.el = n1.el;
6652
6756
  instance.vnode = n2;
6653
6757
  }
@@ -6738,6 +6842,7 @@ function baseCreateRenderer(options, createHydrationFns) {
6738
6842
  } else next = vnode;
6739
6843
  if (bu) invokeArrayFns(bu);
6740
6844
  if (vnodeHook = next.props && next.props.onVnodeBeforeUpdate) invokeVNodeHook(vnodeHook, parent, next, vnode);
6845
+ if (next.ibu) next.ibu();
6741
6846
  if (isCompatEnabled$1("INSTANCE_EVENT_HOOKS", instance)) instance.emit("hook:beforeUpdate");
6742
6847
  toggleRecurse(instance, true);
6743
6848
  const nextTree = renderComponentRoot(instance);
@@ -6747,7 +6852,10 @@ function baseCreateRenderer(options, createHydrationFns) {
6747
6852
  next.el = nextTree.el;
6748
6853
  if (originNext === null) updateHOCHostEl(instance, nextTree.el);
6749
6854
  if (u) queuePostRenderEffect(u, void 0, parentSuspense);
6750
- if (vnodeHook = next.props && next.props.onVnodeUpdated) queuePostRenderEffect(() => invokeVNodeHook(vnodeHook, parent, next, vnode), void 0, parentSuspense);
6855
+ if ((vnodeHook = next.props && next.props.onVnodeUpdated) || next.iu) queuePostRenderEffect(() => {
6856
+ vnodeHook && invokeVNodeHook(vnodeHook, parent, next, vnode);
6857
+ next.iu && next.iu();
6858
+ }, void 0, parentSuspense);
6751
6859
  if (isCompatEnabled$1("INSTANCE_EVENT_HOOKS", instance)) queuePostRenderEffect(() => instance.emit("hook:updated"), void 0, parentSuspense);
6752
6860
  }
6753
6861
  }
@@ -6786,9 +6894,10 @@ function baseCreateRenderer(options, createHydrationFns) {
6786
6894
  if (shapeFlag & 8) {
6787
6895
  if (prevShapeFlag & 16) unmountChildren(c1, parentComponent, parentSuspense);
6788
6896
  if (c2 !== c1) hostSetElementText(container, c2);
6789
- } else if (prevShapeFlag & 16) if (shapeFlag & 16) patchKeyedChildren(c1, c2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
6790
- else unmountChildren(c1, parentComponent, parentSuspense, true);
6791
- else {
6897
+ } else if (prevShapeFlag & 16) {
6898
+ if (shapeFlag & 16) patchKeyedChildren(c1, c2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
6899
+ else unmountChildren(c1, parentComponent, parentSuspense, true);
6900
+ } else {
6792
6901
  if (prevShapeFlag & 8) hostSetElementText(container, "");
6793
6902
  if (shapeFlag & 16) mountChildren(c2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
6794
6903
  }
@@ -6884,8 +6993,10 @@ function baseCreateRenderer(options, createHydrationFns) {
6884
6993
  const anchorVNode = c2[nextIndex + 1];
6885
6994
  const anchor = nextIndex + 1 < l2 ? anchorVNode.el || resolveAsyncComponentPlaceholder(anchorVNode) : parentAnchor;
6886
6995
  if (newIndexToOldIndexMap[i] === 0) patch(null, nextChild, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
6887
- else if (moved) if (j < 0 || i !== increasingNewIndexSequence[j]) move(nextChild, container, anchor, 2, parentComponent);
6888
- else j--;
6996
+ else if (moved) {
6997
+ if (j < 0 || i !== increasingNewIndexSequence[j]) move(nextChild, container, anchor, 2, parentComponent);
6998
+ else j--;
6999
+ }
6889
7000
  }
6890
7001
  }
6891
7002
  };
@@ -6917,26 +7028,27 @@ function baseCreateRenderer(options, createHydrationFns) {
6917
7028
  moveStaticNode(vnode, container, anchor);
6918
7029
  return;
6919
7030
  }
6920
- if (moveType !== 2 && shapeFlag & 1 && transition) if (moveType === 0) performTransitionEnter(el, transition, () => hostInsert(el, container, anchor), parentSuspense, true);
6921
- else {
6922
- const { leave, delayLeave, afterLeave } = transition;
6923
- const remove = () => {
6924
- if (vnode.ctx.isUnmounted) hostRemove(el);
6925
- else hostInsert(el, container, anchor);
6926
- };
6927
- const performLeave = () => {
6928
- const wasLeaving = el._isLeaving || !!el[leaveCbKey];
6929
- if (el._isLeaving) el[leaveCbKey](true);
6930
- if (transition.persisted && !wasLeaving) remove();
6931
- else leave(el, () => {
6932
- remove();
6933
- afterLeave && afterLeave();
6934
- });
6935
- };
6936
- if (delayLeave) delayLeave(el, remove, performLeave);
6937
- else performLeave();
6938
- }
6939
- else hostInsert(el, container, anchor);
7031
+ if (moveType !== 2 && shapeFlag & 1 && transition) {
7032
+ if (moveType === 0) performTransitionEnter(el, transition, () => hostInsert(el, container, anchor), parentSuspense, true);
7033
+ else {
7034
+ const { leave, delayLeave, afterLeave } = transition;
7035
+ const remove = () => {
7036
+ if (vnode.ctx.isUnmounted) hostRemove(el);
7037
+ else hostInsert(el, container, anchor);
7038
+ };
7039
+ const performLeave = () => {
7040
+ const wasLeaving = el._isLeaving || !!el[leaveCbKey];
7041
+ if (el._isLeaving) el[leaveCbKey](true);
7042
+ if (transition.persisted && !wasLeaving) remove();
7043
+ else leave(el, () => {
7044
+ remove();
7045
+ afterLeave && afterLeave();
7046
+ });
7047
+ };
7048
+ if (delayLeave) delayLeave(el, remove, performLeave);
7049
+ else performLeave();
7050
+ }
7051
+ } else hostInsert(el, container, anchor);
6940
7052
  };
6941
7053
  const unmount = (vnode, parentComponent, parentSuspense, doRemove = false, optimized = false) => {
6942
7054
  const { type, props, ref, children, dynamicChildren, shapeFlag, patchFlag, dirs, cacheIndex, memo } = vnode;
@@ -6956,16 +7068,17 @@ function baseCreateRenderer(options, createHydrationFns) {
6956
7068
  const shouldInvokeVnodeHook = !isAsyncWrapper(vnode);
6957
7069
  let vnodeHook;
6958
7070
  if (shouldInvokeVnodeHook && (vnodeHook = props && props.onVnodeBeforeUnmount)) invokeVNodeHook(vnodeHook, parentComponent, vnode);
6959
- if (shapeFlag & 6) if (isVaporComponent(type)) {
6960
- if (dirs) invokeDirectiveHook(vnode, null, parentComponent, "beforeUnmount");
6961
- getVaporInterface(parentComponent, vnode).unmount(vnode, doRemove, parentSuspense);
6962
- if (shouldInvokeVnodeHook && (vnodeHook = props && props.onVnodeUnmounted) || dirs) queuePostRenderEffect(() => {
6963
- dirs && invokeDirectiveHook(vnode, null, parentComponent, "unmounted");
6964
- vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode);
6965
- }, void 0, parentSuspense);
6966
- return;
6967
- } else unmountComponent(vnode.component, parentSuspense, doRemove);
6968
- else {
7071
+ if (shapeFlag & 6) {
7072
+ if (isVaporComponent(type)) {
7073
+ if (dirs) invokeDirectiveHook(vnode, null, parentComponent, "beforeUnmount");
7074
+ getVaporInterface(parentComponent, vnode).unmount(vnode, doRemove, parentSuspense);
7075
+ if (shouldInvokeVnodeHook && (vnodeHook = props && props.onVnodeUnmounted) || dirs) queuePostRenderEffect(() => {
7076
+ dirs && invokeDirectiveHook(vnode, null, parentComponent, "unmounted");
7077
+ vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode);
7078
+ }, void 0, parentSuspense);
7079
+ return;
7080
+ } else unmountComponent(vnode.component, parentSuspense, doRemove);
7081
+ } else {
6969
7082
  if (shapeFlag & 128) {
6970
7083
  vnode.suspense.unmount(parentSuspense, doRemove);
6971
7084
  return;
@@ -7088,12 +7201,14 @@ function resolveChildrenNamespace({ type, props }, currentNamespace) {
7088
7201
  return currentNamespace === "svg" && type === "foreignObject" || currentNamespace === "mathml" && type === "annotation-xml" && props && props.encoding && props.encoding.includes("html") ? void 0 : currentNamespace;
7089
7202
  }
7090
7203
  function toggleRecurse({ effect, job, vapor }, allowed) {
7091
- if (!vapor) if (allowed) {
7092
- effect.flags |= 128;
7093
- job.flags |= 2;
7094
- } else {
7095
- effect.flags &= -129;
7096
- job.flags &= -3;
7204
+ if (!vapor) {
7205
+ if (allowed) {
7206
+ effect.flags |= 128;
7207
+ job.flags |= 2;
7208
+ } else {
7209
+ effect.flags &= -129;
7210
+ job.flags &= -3;
7211
+ }
7097
7212
  }
7098
7213
  }
7099
7214
  function needTransition(parentSuspense, transition) {
@@ -7132,8 +7247,10 @@ function traverseStaticChildren(n1, n2, shallow = false) {
7132
7247
  }
7133
7248
  function locateNonHydratedAsyncRoot(instance) {
7134
7249
  const subComponent = instance.subTree && instance.subTree.component;
7135
- if (subComponent) if (subComponent.asyncDep && !subComponent.asyncResolved) return subComponent;
7136
- else return locateNonHydratedAsyncRoot(subComponent);
7250
+ if (subComponent) {
7251
+ if (subComponent.asyncDep && !subComponent.asyncResolved) return subComponent;
7252
+ else return locateNonHydratedAsyncRoot(subComponent);
7253
+ }
7137
7254
  }
7138
7255
  function invalidateMount(hooks) {
7139
7256
  if (hooks) for (let i = 0; i < hooks.length; i++) hooks[i].flags |= 4;
@@ -7250,7 +7367,7 @@ function patchSuspense(n1, n2, container, anchor, parentComponent, namespace, sl
7250
7367
  patch(pendingBranch, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, namespace, slotScopeIds, optimized);
7251
7368
  if (suspense.deps <= 0) suspense.resolve();
7252
7369
  else if (isInFallback) {
7253
- if (!isHydrating) {
7370
+ if (!isHydrating && !suspense.isFallbackMountPending) {
7254
7371
  patch(activeBranch, newFallback, container, anchor, parentComponent, null, namespace, slotScopeIds, optimized);
7255
7372
  setActiveBranch(suspense, newFallback);
7256
7373
  }
@@ -7271,7 +7388,7 @@ function patchSuspense(n1, n2, container, anchor, parentComponent, namespace, sl
7271
7388
  if (isInFallback) {
7272
7389
  patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, namespace, slotScopeIds, optimized);
7273
7390
  if (suspense.deps <= 0) suspense.resolve();
7274
- else {
7391
+ else if (!suspense.isFallbackMountPending) {
7275
7392
  patch(activeBranch, newFallback, container, anchor, parentComponent, null, namespace, slotScopeIds, optimized);
7276
7393
  setActiveBranch(suspense, newFallback);
7277
7394
  }
@@ -7388,8 +7505,9 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
7388
7505
  const mountFallback = () => {
7389
7506
  suspense.isFallbackMountPending = false;
7390
7507
  if (!suspense.isInFallback) return;
7391
- patch(null, fallbackVNode, container, anchor, parentComponent, null, namespace, slotScopeIds, optimized);
7392
- setActiveBranch(suspense, fallbackVNode);
7508
+ const latestFallback = suspense.vnode.ssFallback;
7509
+ patch(null, latestFallback, container, anchor, parentComponent, null, namespace, slotScopeIds, optimized);
7510
+ setActiveBranch(suspense, latestFallback);
7393
7511
  };
7394
7512
  const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === "out-in";
7395
7513
  if (delayEnter) {
@@ -7461,9 +7579,10 @@ function normalizeSuspenseSlot(s) {
7461
7579
  return s;
7462
7580
  }
7463
7581
  function queueEffectWithSuspense(fn, id, suspense) {
7464
- if (suspense && suspense.pendingBranch) if (isArray(fn)) suspense.effects.push(...fn);
7465
- else suspense.effects.push(fn);
7466
- else queuePostFlushCb(fn, id);
7582
+ if (suspense && suspense.pendingBranch) {
7583
+ if (isArray(fn)) suspense.effects.push(...fn);
7584
+ else suspense.effects.push(fn);
7585
+ } else queuePostFlushCb(fn, id);
7467
7586
  }
7468
7587
  function setActiveBranch(suspense, branch) {
7469
7588
  suspense.activeBranch = branch;
@@ -7666,8 +7785,10 @@ function _createVNode(type, props = null, children = null, patchFlag = 0, dynami
7666
7785
  if (isVNode(type)) {
7667
7786
  const cloned = cloneVNode(type, props, true);
7668
7787
  if (children) normalizeChildren(cloned, children);
7669
- if (isBlockTreeEnabled > 0 && !isBlockNode && currentBlock) if (cloned.shapeFlag & 6) currentBlock[currentBlock.indexOf(type)] = cloned;
7670
- else currentBlock.push(cloned);
7788
+ if (isBlockTreeEnabled > 0 && !isBlockNode && currentBlock) {
7789
+ if (cloned.shapeFlag & 6) currentBlock[currentBlock.indexOf(type)] = cloned;
7790
+ else currentBlock.push(cloned);
7791
+ }
7671
7792
  cloned.patchFlag = -2;
7672
7793
  return cloned;
7673
7794
  }
@@ -7724,7 +7845,9 @@ function cloneVNode(vnode, extraProps, mergeRef = false, cloneTransition = false
7724
7845
  ce: vnode.ce,
7725
7846
  vi: vnode.vi,
7726
7847
  vs: cloneVaporSlotMeta(vnode),
7727
- vb: vnode.vb
7848
+ vb: vnode.vb,
7849
+ ibu: vnode.ibu,
7850
+ iu: vnode.iu
7728
7851
  };
7729
7852
  if (transition && cloneTransition) setTransitionHooks(cloned, transition.clone(cloned));
7730
7853
  defineLegacyVNodeProperties(cloned);
@@ -7779,25 +7902,28 @@ function normalizeChildren(vnode, children) {
7779
7902
  const { shapeFlag } = vnode;
7780
7903
  if (children == null) children = null;
7781
7904
  else if (isArray(children)) type = 16;
7782
- else if (typeof children === "object") if (shapeFlag & 65) {
7783
- const slot = children.default;
7784
- if (slot) {
7785
- slot._c && (slot._d = false);
7786
- normalizeChildren(vnode, slot());
7787
- slot._c && (slot._d = true);
7788
- }
7789
- return;
7790
- } else {
7791
- type = 32;
7792
- const slotFlag = children._;
7793
- if (!slotFlag && !isInternalObject(children)) children._ctx = currentRenderingInstance;
7794
- else if (slotFlag === 3 && currentRenderingInstance) if (currentRenderingInstance.slots._ === 1) children._ = 1;
7795
- else {
7796
- children._ = 2;
7797
- vnode.patchFlag |= 1024;
7905
+ else if (typeof children === "object") {
7906
+ if (shapeFlag & 65) {
7907
+ const slot = children.default;
7908
+ if (slot) {
7909
+ slot._c && (slot._d = false);
7910
+ normalizeChildren(vnode, slot());
7911
+ slot._c && (slot._d = true);
7912
+ }
7913
+ return;
7914
+ } else {
7915
+ type = 32;
7916
+ const slotFlag = children._;
7917
+ if (!slotFlag && !isInternalObject(children)) children._ctx = currentRenderingInstance;
7918
+ else if (slotFlag === 3 && currentRenderingInstance) {
7919
+ if (currentRenderingInstance.slots._ === 1) children._ = 1;
7920
+ else {
7921
+ children._ = 2;
7922
+ vnode.patchFlag |= 1024;
7923
+ }
7924
+ }
7798
7925
  }
7799
- }
7800
- else if (isFunction(children)) {
7926
+ } else if (isFunction(children)) {
7801
7927
  if (shapeFlag & 65) {
7802
7928
  normalizeChildren(vnode, { default: children });
7803
7929
  return;
@@ -7909,7 +8035,7 @@ const useInstanceOption = (key, silent = false) => {
7909
8035
  };
7910
8036
  //#endregion
7911
8037
  //#region packages/runtime-core/src/component.ts
7912
- const emptyAppContext = /* @__PURE__ */ createAppContext();
8038
+ const emptyAppContext = /*@__PURE__*/ createAppContext();
7913
8039
  let uid = 0;
7914
8040
  function createComponentInstance(vnode, parent, suspense) {
7915
8041
  const type = vnode.type;
@@ -8034,9 +8160,10 @@ function setupStatefulComponent(instance, isSSR) {
8034
8160
  } else finishComponentSetup(instance, isSSR);
8035
8161
  }
8036
8162
  function handleSetupResult(instance, setupResult, isSSR) {
8037
- if (isFunction(setupResult)) if (instance.type.__ssrInlineRender) instance.ssrRender = setupResult;
8038
- else instance.render = setupResult;
8039
- else if (isObject(setupResult)) instance.setupState = proxyRefs(setupResult);
8163
+ if (isFunction(setupResult)) {
8164
+ if (instance.type.__ssrInlineRender) instance.ssrRender = setupResult;
8165
+ else instance.render = setupResult;
8166
+ } else if (isObject(setupResult)) instance.setupState = proxyRefs(setupResult);
8040
8167
  finishComponentSetup(instance, isSSR);
8041
8168
  }
8042
8169
  let compile$1;
@@ -8135,11 +8262,12 @@ function h(type, propsOrChildren, children) {
8135
8262
  try {
8136
8263
  setBlockTracking(-1);
8137
8264
  const l = arguments.length;
8138
- if (l === 2) if (isObject(propsOrChildren) && !isArray(propsOrChildren)) {
8139
- if (isVNode(propsOrChildren)) return createVNode(type, null, [propsOrChildren]);
8140
- return createVNode(type, propsOrChildren);
8141
- } else return createVNode(type, null, propsOrChildren);
8142
- else {
8265
+ if (l === 2) {
8266
+ if (isObject(propsOrChildren) && !isArray(propsOrChildren)) {
8267
+ if (isVNode(propsOrChildren)) return createVNode(type, null, [propsOrChildren]);
8268
+ return createVNode(type, propsOrChildren);
8269
+ } else return createVNode(type, null, propsOrChildren);
8270
+ } else {
8143
8271
  if (l > 3) children = Array.prototype.slice.call(arguments, 2);
8144
8272
  else if (l === 3 && isVNode(children)) children = [children];
8145
8273
  return createVNode(type, propsOrChildren, children);
@@ -8150,15 +8278,7 @@ function h(type, propsOrChildren, children) {
8150
8278
  }
8151
8279
  //#endregion
8152
8280
  //#region packages/runtime-core/src/customFormatter.ts
8153
- function initCustomFormatter() {
8154
- return;
8155
- function isKeyOfType(Comp, key, type) {
8156
- const opts = Comp[type];
8157
- if (isArray(opts) && opts.includes(key) || isObject(opts) && key in opts) return true;
8158
- if (Comp.extends && isKeyOfType(Comp.extends, key, type)) return true;
8159
- if (Comp.mixins && Comp.mixins.some((m) => isKeyOfType(m, key, type))) return true;
8160
- }
8161
- }
8281
+ function initCustomFormatter() {}
8162
8282
  //#endregion
8163
8283
  //#region packages/runtime-core/src/helpers/withMemo.ts
8164
8284
  function withMemo(memo, render, cache, index) {
@@ -8178,7 +8298,7 @@ function isMemoSame(cached, memo) {
8178
8298
  }
8179
8299
  //#endregion
8180
8300
  //#region packages/runtime-core/src/index.ts
8181
- const version = "3.6.0-rc.5";
8301
+ const version = "3.6.0-rc.6";
8182
8302
  const warn = NOOP;
8183
8303
  /**
8184
8304
  * Runtime error messages. Only exposed in dev or esm builds.
@@ -8222,13 +8342,13 @@ const DeprecationTypes = DeprecationTypes$1;
8222
8342
  let policy = void 0;
8223
8343
  const tt = typeof window !== "undefined" && window.trustedTypes;
8224
8344
  if (tt) try {
8225
- policy = /* @__PURE__ */ tt.createPolicy("vue", { createHTML: (val) => val });
8345
+ policy = /*@__PURE__*/ tt.createPolicy("vue", { createHTML: (val) => val });
8226
8346
  } catch (e) {}
8227
8347
  const unsafeToTrustedHTML = policy ? (val) => policy.createHTML(val) : (val) => val;
8228
8348
  const svgNS = "http://www.w3.org/2000/svg";
8229
8349
  const mathmlNS = "http://www.w3.org/1998/Math/MathML";
8230
8350
  const doc = typeof document !== "undefined" ? document : null;
8231
- const templateContainer = doc && /* @__PURE__ */ doc.createElement("template");
8351
+ const templateContainer = doc && /*@__PURE__*/ doc.createElement("template");
8232
8352
  const nodeOps = {
8233
8353
  insert: (child, parent, anchor) => {
8234
8354
  parent.insertBefore(child, anchor || null);
@@ -8302,7 +8422,7 @@ const DOMTransitionPropsValidators = {
8302
8422
  leaveActiveClass: String,
8303
8423
  leaveToClass: String
8304
8424
  };
8305
- const TransitionPropsValidators = /* @__PURE__ */ extend({}, BaseTransitionPropsValidators, DOMTransitionPropsValidators);
8425
+ const TransitionPropsValidators = /*@__PURE__*/ extend({}, BaseTransitionPropsValidators, DOMTransitionPropsValidators);
8306
8426
  /**
8307
8427
  * Wrap logic that attaches extra properties to Transition in a function
8308
8428
  * so that it can be annotated as pure
@@ -8317,7 +8437,7 @@ const decorate$1 = (t) => {
8317
8437
  * DOM Transition is a higher-order-component based on the platform-agnostic
8318
8438
  * base Transition component, with DOM-specific logic.
8319
8439
  */
8320
- const Transition = /* @__PURE__ */ decorate$1((props, { slots }) => h(BaseTransition, resolveTransitionProps(props), slots));
8440
+ const Transition = /*@__PURE__*/ decorate$1((props, { slots }) => h(BaseTransition, resolveTransitionProps(props), slots));
8321
8441
  /**
8322
8442
  * #3227 Incoming hooks may be merged into arrays when wrapping Transition
8323
8443
  * with custom HOCs.
@@ -8555,14 +8675,15 @@ const vShow = {
8555
8675
  },
8556
8676
  updated(el, { value, oldValue }, { transition }) {
8557
8677
  if (!value === !oldValue) return;
8558
- if (transition) if (value) {
8559
- transition.beforeEnter(el);
8560
- setDisplay(el, true);
8561
- transition.enter(el);
8562
- } else transition.leave(el, () => {
8563
- setDisplay(el, false);
8564
- });
8565
- else setDisplay(el, value);
8678
+ if (transition) {
8679
+ if (value) {
8680
+ transition.beforeEnter(el);
8681
+ setDisplay(el, true);
8682
+ transition.enter(el);
8683
+ } else transition.leave(el, () => {
8684
+ setDisplay(el, false);
8685
+ });
8686
+ } else setDisplay(el, value);
8566
8687
  },
8567
8688
  beforeUnmount(el, { value }) {
8568
8689
  setDisplay(el, value);
@@ -8593,11 +8714,13 @@ function patchStyle(el, prev, next) {
8593
8714
  const isCssString = isString(next);
8594
8715
  let hasControlledDisplay = false;
8595
8716
  if (next && !isCssString) {
8596
- if (prev) if (!isString(prev)) {
8597
- for (const key in prev) if (next[key] == null) setStyle(style, key, "");
8598
- } else for (const prevStyle of prev.split(";")) {
8599
- const key = prevStyle.slice(0, prevStyle.indexOf(":")).trim();
8600
- if (next[key] == null) setStyle(style, key, "");
8717
+ if (prev) {
8718
+ if (!isString(prev)) {
8719
+ for (const key in prev) if (next[key] == null) setStyle(style, key, "");
8720
+ } else for (const prevStyle of prev.split(";")) {
8721
+ const key = prevStyle.slice(0, prevStyle.indexOf(":")).trim();
8722
+ if (next[key] == null) setStyle(style, key, "");
8723
+ }
8601
8724
  }
8602
8725
  for (const key in next) {
8603
8726
  if (key === "display") hasControlledDisplay = true;
@@ -8624,8 +8747,10 @@ function setStyle(style, name, rawVal) {
8624
8747
  if (isArray(rawVal)) rawVal.forEach((v) => setStyle(style, name, v));
8625
8748
  else {
8626
8749
  const val = rawVal == null ? "" : String(rawVal);
8627
- if (name.startsWith("--")) style.setProperty(name, val);
8628
- else {
8750
+ if (name.startsWith("--")) {
8751
+ if (importantRE.test(val)) style.setProperty(name, val.replace(importantRE, ""), "important");
8752
+ else style.setProperty(name, val);
8753
+ } else {
8629
8754
  const prefixed = autoPrefix(style, name);
8630
8755
  if (importantRE.test(val)) style.setProperty(hyphenate(prefixed), val.replace(importantRE, ""), "important");
8631
8756
  else style[prefixed] = val;
@@ -8662,15 +8787,16 @@ function shouldPreserveTextareaResizeStyle(el, key, prev, next) {
8662
8787
  //#region packages/runtime-dom/src/modules/attrs.ts
8663
8788
  const xlinkNS = "http://www.w3.org/1999/xlink";
8664
8789
  function patchAttr(el, key, value, isSVG, instance, isBoolean = isSpecialBooleanAttr(key)) {
8665
- if (isSVG && key.startsWith("xlink:")) if (value == null) el.removeAttributeNS(xlinkNS, key.slice(6, key.length));
8666
- else el.setAttributeNS(xlinkNS, key, value);
8667
- else {
8790
+ if (isSVG && key.startsWith("xlink:")) {
8791
+ if (value == null) el.removeAttributeNS(xlinkNS, key.slice(6, key.length));
8792
+ else el.setAttributeNS(xlinkNS, key, value);
8793
+ } else {
8668
8794
  if (compatCoerceAttr(el, key, value, instance)) return;
8669
8795
  if (value == null || isBoolean && !includeBooleanAttr(value)) el.removeAttribute(key);
8670
8796
  else el.setAttribute(key, isBoolean ? "" : isSymbol(value) ? String(value) : value);
8671
8797
  }
8672
8798
  }
8673
- const isEnumeratedAttr = /* @__PURE__ */ makeMap("contenteditable,draggable,spellcheck");
8799
+ const isEnumeratedAttr = /*@__PURE__*/ makeMap("contenteditable,draggable,spellcheck");
8674
8800
  function compatCoerceAttr(el, key, value, instance = null) {
8675
8801
  if (isEnumeratedAttr(key)) {
8676
8802
  const v2CoercedValue = value === void 0 ? null : value === null || value === false || value === "false" ? "false" : "true";
@@ -8759,7 +8885,7 @@ function parseEventName(name) {
8759
8885
  return [name[2] === ":" ? name.slice(3) : hyphenate(name.slice(2)), options];
8760
8886
  }
8761
8887
  let cachedNow = 0;
8762
- const p = /* @__PURE__ */ Promise.resolve();
8888
+ const p = /*@__PURE__*/ Promise.resolve();
8763
8889
  const getNow = () => cachedNow || (p.then(() => cachedNow = 0), cachedNow = Date.now());
8764
8890
  function createInvoker(initialValue, instance) {
8765
8891
  const invoker = (e) => {
@@ -8822,7 +8948,7 @@ function shouldSetAsPropForVueCE(el, key) {
8822
8948
  //#endregion
8823
8949
  //#region packages/runtime-dom/src/apiCustomElement.ts
8824
8950
  const REMOVAL = {};
8825
- /* @__NO_SIDE_EFFECTS__ */
8951
+ /*@__NO_SIDE_EFFECTS__*/
8826
8952
  function defineCustomElement(options, extraOptions, _createApp) {
8827
8953
  let Comp = /* @__PURE__ */ defineComponent(options, extraOptions);
8828
8954
  if (isPlainObject(Comp)) Comp = extend({}, Comp, extraOptions);
@@ -8871,12 +8997,14 @@ var VueElementBase = class VueElementBase extends BaseClass {
8871
8997
  this._parent = parent;
8872
8998
  break;
8873
8999
  }
8874
- if (!this._instance) if (this._resolved) this._mountComponent(this._def);
8875
- else if (parent && parent._pendingResolve) this._pendingResolve = parent._pendingResolve.then(() => {
8876
- this._pendingResolve = void 0;
8877
- if (this.isConnected) return this._resolveDef();
8878
- });
8879
- else this._resolveDef();
9000
+ if (!this._instance) {
9001
+ if (this._resolved) this._mountComponent(this._def);
9002
+ else if (parent && parent._pendingResolve) this._pendingResolve = parent._pendingResolve.then(() => {
9003
+ this._pendingResolve = void 0;
9004
+ if (this.isConnected) return this._resolveDef();
9005
+ });
9006
+ else this._resolveDef();
9007
+ }
8880
9008
  }
8881
9009
  disconnectedCallback() {
8882
9010
  this._connected = false;
@@ -9229,7 +9357,7 @@ const decorate = (t) => {
9229
9357
  };
9230
9358
  const TransitionGroup = /* @__PURE__ */ decorate({
9231
9359
  name: "TransitionGroup",
9232
- props: /* @__PURE__ */ extend({}, TransitionPropsValidators, {
9360
+ props: /*@__PURE__*/ extend({}, TransitionPropsValidators, {
9233
9361
  tag: String,
9234
9362
  moveClass: String
9235
9363
  }),
@@ -9510,37 +9638,58 @@ const vModelSelectInit = (el, value, number, set) => {
9510
9638
  el._modelValue = value;
9511
9639
  addEventListener(el, "change", () => {
9512
9640
  const selectedVal = Array.prototype.filter.call(el.options, (o) => o.selected).map((o) => number ? looseToNumber(getValue(o)) : getValue(o));
9513
- (set || el[assignKey])(el.multiple ? isSet(el._modelValue) ? new Set(selectedVal) : selectedVal : selectedVal[0]);
9514
- el._assigning = true;
9515
- nextTick(() => {
9516
- el._assigning = false;
9517
- });
9641
+ const multiple = el.multiple;
9642
+ const assignedValue = multiple ? isSet(el._modelValue) ? new Set(selectedVal) : selectedVal : selectedVal[0];
9643
+ const pending = el._pendingValue = [multiple, multiple ? isArray(assignedValue) ? selectedVal.slice() : selectedVal : assignedValue];
9644
+ try {
9645
+ (set || el[assignKey])(assignedValue);
9646
+ } finally {
9647
+ nextTick(() => {
9648
+ if (el._pendingValue === pending) el._pendingValue = void 0;
9649
+ });
9650
+ }
9518
9651
  });
9519
9652
  };
9653
+ function isSameSelectValue(value, assignedValue, multiple) {
9654
+ if (!multiple) return looseEqual(value, assignedValue);
9655
+ if (isArray(value)) return looseEqual(value, assignedValue);
9656
+ if (isSet(value)) {
9657
+ if (value.size !== assignedValue.length) return false;
9658
+ for (const item of assignedValue) if (!value.has(item)) return false;
9659
+ return true;
9660
+ }
9661
+ return false;
9662
+ }
9520
9663
  /**
9521
9664
  * @internal
9522
9665
  */
9523
9666
  const vModelSetSelected = (el, value) => {
9524
9667
  el._modelValue = value;
9525
- if (el._assigning) return;
9668
+ const pending = el._pendingValue;
9669
+ el._pendingValue = void 0;
9670
+ if (pending && pending[0] === el.multiple && isSameSelectValue(value, pending[1], pending[0])) return;
9671
+ setSelected(el, value);
9672
+ };
9673
+ function setSelected(el, value) {
9526
9674
  const isMultiple = el.multiple;
9527
9675
  const isArrayValue = isArray(value);
9528
9676
  if (isMultiple && !isArrayValue && !isSet(value)) return;
9529
9677
  for (let i = 0, l = el.options.length; i < l; i++) {
9530
9678
  const option = el.options[i];
9531
9679
  const optionValue = getValue(option);
9532
- if (isMultiple) if (isArrayValue) {
9533
- const optionType = typeof optionValue;
9534
- if (optionType === "string" || optionType === "number") option.selected = value.some((v) => String(v) === String(optionValue));
9535
- else option.selected = looseIndexOf(value, optionValue) > -1;
9536
- } else option.selected = value.has(optionValue);
9537
- else if (looseEqual(getValue(option), value)) {
9680
+ if (isMultiple) {
9681
+ if (isArrayValue) {
9682
+ const optionType = typeof optionValue;
9683
+ if (optionType === "string" || optionType === "number") option.selected = value.some((v) => String(v) === String(optionValue));
9684
+ else option.selected = looseIndexOf(value, optionValue) > -1;
9685
+ } else option.selected = value.has(optionValue);
9686
+ } else if (looseEqual(getValue(option), value)) {
9538
9687
  if (el.selectedIndex !== i) el.selectedIndex = i;
9539
9688
  return;
9540
9689
  }
9541
9690
  }
9542
9691
  if (!isMultiple && el.selectedIndex !== -1) el.selectedIndex = -1;
9543
- };
9692
+ }
9544
9693
  /**
9545
9694
  * @internal retrieve raw value set via :value bindings
9546
9695
  */
@@ -9853,7 +10002,7 @@ var src_exports = /* @__PURE__ */ __exportAll({
9853
10002
  withModifiers: () => withModifiers,
9854
10003
  withScopeId: () => withScopeId
9855
10004
  });
9856
- const rendererOptions = /* @__PURE__ */ extend({ patchProp }, nodeOps);
10005
+ const rendererOptions = /*@__PURE__*/ extend({ patchProp }, nodeOps);
9857
10006
  let renderer;
9858
10007
  let enabledHydration = false;
9859
10008
  function ensureRenderer() {
@@ -10186,7 +10335,7 @@ function convertToBlock(node, { helper, removeHelper, inSSR }) {
10186
10335
  //#endregion
10187
10336
  //#region node_modules/.pnpm/entities@7.0.1/node_modules/entities/dist/esm/decode-codepoint.js
10188
10337
  var _a;
10189
- const decodeMap = new Map([
10338
+ const decodeMap = /* @__PURE__ */ new Map([
10190
10339
  [0, 65533],
10191
10340
  [128, 8364],
10192
10341
  [130, 8218],
@@ -10254,7 +10403,7 @@ function decodeBase64(input) {
10254
10403
  }
10255
10404
  //#endregion
10256
10405
  //#region node_modules/.pnpm/entities@7.0.1/node_modules/entities/dist/esm/generated/decode-data-html.js
10257
- const htmlDecodeTree = /* @__PURE__ */ decodeBase64("QR08ALkAAgH6AYsDNQR2BO0EPgXZBQEGLAbdBxMISQrvCmQLfQurDKQNLw4fD4YPpA+6D/IPAAAAAAAAAAAAAAAAKhBMEY8TmxUWF2EYLBkxGuAa3RsJHDscWR8YIC8jSCSIJcMl6ie3Ku8rEC0CLjoupS7kLgAIRU1hYmNmZ2xtbm9wcnN0dVQAWgBeAGUAaQBzAHcAfgCBAIQAhwCSAJoAoACsALMAbABpAGcAO4DGAMZAUAA7gCYAJkBjAHUAdABlADuAwQDBQHIiZXZlAAJhAAFpeW0AcgByAGMAO4DCAMJAEGRyAADgNdgE3XIAYQB2AGUAO4DAAMBA8CFoYZFj4SFjcgBhZAAAoFMqAAFncIsAjgBvAG4ABGFmAADgNdg43fAlbHlGdW5jdGlvbgCgYSBpAG4AZwA7gMUAxUAAAWNzpACoAHIAAOA12Jzc6SFnbgCgVCJpAGwAZABlADuAwwDDQG0AbAA7gMQAxEAABGFjZWZvcnN1xQDYANoA7QDxAPYA+QD8AAABY3LJAM8AayNzbGFzaAAAoBYidgHTANUAAKDnKmUAZAAAoAYjeQARZIABY3J0AOAA5QDrAGEidXNlAACgNSLuI291bGxpcwCgLCFhAJJjcgAA4DXYBd1wAGYAAOA12Dnd5SF2ZdhiYwDyAOoAbSJwZXEAAKBOIgAHSE9hY2RlZmhpbG9yc3UXARoBHwE6AVIBVQFiAWQBZgGCAakB6QHtAfIBYwB5ACdkUABZADuAqQCpQIABY3B5ACUBKAE1AfUhdGUGYWmg0iJ0KGFsRGlmZmVyZW50aWFsRAAAoEUhbCJleXMAAKAtIQACYWVpb0EBRAFKAU0B8iFvbgxhZABpAGwAO4DHAMdAcgBjAAhhbiJpbnQAAKAwIm8AdAAKYQABZG5ZAV0BaSJsbGEAuGB0I2VyRG90ALdg8gA5AWkAp2NyImNsZQAAAkRNUFRwAXQBeQF9AW8AdAAAoJkiaSJudXMAAKCWIuwhdXMAoJUiaSJtZXMAAKCXIm8AAAFjc4cBlAFrKndpc2VDb250b3VySW50ZWdyYWwAAKAyImUjQ3VybHkAAAFEUZwBpAFvJXVibGVRdW90ZQAAoB0gdSJvdGUAAKAZIAACbG5wdbABtgHNAdgBbwBuAGWgNyIAoHQqgAFnaXQAvAHBAcUB8iJ1ZW50AKBhIm4AdAAAoC8i7yV1ckludGVncmFsAKAuIgABZnLRAdMBAKACIe8iZHVjdACgECJuLnRlckNsb2Nrd2lzZUNvbnRvdXJJbnRlZ3JhbAAAoDMi7yFzcwCgLypjAHIAAOA12J7ccABDoNMiYQBwAACgTSKABURKU1phY2VmaW9zAAsCEgIVAhgCGwIsAjQCOQI9AnMCfwNvoEUh9CJyYWhkAKARKWMAeQACZGMAeQAFZGMAeQAPZIABZ3JzACECJQIoAuchZXIAoCEgcgAAoKEhaAB2AACg5CoAAWF5MAIzAvIhb24OYRRkbAB0oAciYQCUY3IAAOA12AfdAAFhZkECawIAAWNtRQJnAvIjaXRpY2FsAAJBREdUUAJUAl8CYwJjInV0ZQC0YG8AdAFZAloC2WJiJGxlQWN1dGUA3WJyImF2ZQBgYGkibGRlANxi7yFuZACgxCJmJWVyZW50aWFsRAAAoEYhcAR9AgAAAAAAAIECjgIAABoDZgAA4DXYO91EoagAhQKJAm8AdAAAoNwgcSJ1YWwAAKBQIuIhbGUAA0NETFJVVpkCqAK1Au8C/wIRA28AbgB0AG8AdQByAEkAbgB0AGUAZwByAGEA7ADEAW8AdAKvAgAAAACwAqhgbiNBcnJvdwAAoNMhAAFlb7kC0AJmAHQAgAFBUlQAwQLGAs0CciJyb3cAAKDQIekkZ2h0QXJyb3cAoNQhZQDlACsCbgBnAAABTFLWAugC5SFmdAABQVLcAuECciJyb3cAAKD4J+kkZ2h0QXJyb3cAoPon6SRnaHRBcnJvdwCg+SdpImdodAAAAUFU9gL7AnIicm93AACg0iFlAGUAAKCoInAAQQIGAwAAAAALA3Iicm93AACg0SFvJHduQXJyb3cAAKDVIWUlcnRpY2FsQmFyAACgJSJuAAADQUJMUlRhJAM2AzoDWgNxA3oDciJyb3cAAKGTIUJVLAMwA2EAcgAAoBMpcCNBcnJvdwAAoPUhciJldmUAEWPlIWZ00gJDAwAASwMAAFIDaSVnaHRWZWN0b3IAAKBQKWUkZVZlY3RvcgAAoF4p5SJjdG9yQqC9IWEAcgAAoFYpaSJnaHQA1AFiAwAAaQNlJGVWZWN0b3IAAKBfKeUiY3RvckKgwSFhAHIAAKBXKWUAZQBBoKQiciJyb3cAAKCnIXIAcgBvAPcAtAIAAWN0gwOHA3IA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YwAAoN8i4SFycnCgtiEAoD0pgKIqImJjZG9zACsVMBU6FT4VQRVyImNhcAAAoEgqAAFhdTQVNxVwAACgRipwAACgSipvAHQAAKCNInIAAKBFKgDgKiIA/gACYWxydksVURVuFXMVcgByAG2gtyEAoDwpeQCAAWV2dwBYFWUVaRVxAHACXxUAAAAAYxVyAGUA4wAXFXUA4wAZFWUAZQAAoM4iZSJkZ2UAAKDPImUAbgA7gKQApEBlI2Fycm93AAABbHJ7FX8V5SFmdACgtiFpImdodAAAoLchZQDkAG0VAAFjaYsVkRVvAG4AaQBuAPQAkwFuAHQAAKAxImwiY3R5AACgLSOACUFIYWJjZGVmaGlqbG9yc3R1d3oAuBW7Fb8V1RXgFegV+RUKFhUWHxZUFlcWZRbFFtsW7xb7FgUXChdyAPIAtAJhAHIAAKBlKQACZ2xyc8YVyhXOFdAV5yFlcgCgICDlIXRoAKA4IfIA9QxoAHagECAAoKMiawHZFd4VYSJyb3cAAKAPKWEA4wBfAgABYXnkFecV8iFvbg9hNGQAoUYhYW/tFfQVAAFnciEC8RVyAACgyiF0InNlcQAAoHcqgAFnbG0A/xUCFgUWO4CwALBAdABhALRjcCJ0eXYAAKCxKQABaXIOFhIW8yFodACgfykA4DXYId1hAHIAAAFschsWHRYAoMMhAKDCIYACYWVnc3YAKBauAjYWOhY+Fm0AAKHEIm9zLhY0Fm4AZABzoMQi9SFpdACgZiZhIm1tYQDdY2kAbgAAoPIiAKH3AGlvQxZRFmQAZQAAgfcAO29KFksW90BuI3RpbWVzAACgxyJuAPgAUBZjAHkAUmRjAG8CXhYAAAAAYhZyAG4AAKAeI28AcAAAoA0jgAJscHR1dwBuFnEWdRaSFp4W7CFhciRgZgAA4DXYVd0AotkCZW1wc30WhBaJFo0WcQBkoFAibwB0AACgUSJpIm51cwAAoDgi7CF1cwCgFCLxInVhcmUAoKEiYgBsAGUAYgBhAHIAdwBlAGQAZwDlANcAbgCAAWFkaAClFqoWtBZyAHIAbwD3APUMbwB3AG4AYQByAHIAbwB3APMA8xVhI3Jwb29uAAABbHK8FsAWZQBmAPQAHBZpAGcAaAD0AB4WYgHJFs8WawBhAHIAbwD3AJILbwLUFgAAAADYFnIAbgAAoB8jbwBwAACgDCOAAWNvdADhFukW7BYAAXJ55RboFgDgNdi53FVkbAAAoPYp8iFvaxFhAAFkcvMW9xZvAHQAAKDxImkA5qC/JVsSAAFhaP8WAhdyAPIANQNhAPIA1wvhIm5nbGUAoKYpAAFjaQ4XEBd5AF9k5yJyYXJyAKD/JwAJRGFjZGVmZ2xtbm9wcXJzdHV4MRc4F0YXWxcyBF4XaRd5F40XrBe0F78X2RcVGCEYLRg1GEAYAAFEbzUXgRZvAPQA+BUAAWNzPBdCF3UAdABlADuA6QDpQPQhZXIAoG4qAAJhaW95TRdQF1YXWhfyIW9uG2FyAGOgViI7gOoA6kDsIW9uAKBVIk1kbwB0ABdhAAFEcmIXZhdvAHQAAKBSIgDgNdgi3XKhmipuF3QXYQB2AGUAO4DoAOhAZKCWKm8AdAAAoJgqgKGZKmlscwCAF4UXhxfuInRlcnMAoOcjAKATIWSglSpvAHQAAKCXKoABYXBzAJMXlheiF2MAcgATYXQAeQBzogUinxcAAAAAoRdlAHQAAKAFInAAMaADIDMBqRerFwCgBCAAoAUgAAFnc7AXsRdLYXAAAKACIAABZ3C4F7sXbwBuABlhZgAA4DXYVt2AAWFscwDFF8sXzxdyAHOg1SJsAACg4yl1AHMAAKBxKmkAAKG1A2x21RfYF28AbgC1Y/VjAAJjc3V24BfoF/0XEBgAAWlv5BdWF3IAYwAAoFYiaQLuFwAAAADwF+0ADQThIW50AAFnbPUX+Rd0AHIAAKCWKuUhc3MAoJUqgAFhZWkAAxgGGAoYbABzAD1gcwB0AACgXyJ2AESgYSJEAACgeCrwImFyc2wAoOUpAAFEYRkYHRhvAHQAAKBTInIAcgAAoHEpgAFjZGkAJxgqGO0XcgAAoC8hbwD0AIwCAAFhaDEYMhi3YzuA8ADwQAABbXI5GD0YbAA7gOsA60BvAACgrCCAAWNpcABGGEgYSxhsACFgcwD0ACwEAAFlb08YVxhjAHQAYQB0AGkAbwDuABoEbgBlAG4AdABpAGEAbADlADME4Ql1GAAAgRgAAIMYiBgAAAAAoRilGAAAqhgAALsYvhjRGAAA1xgnGWwAbABpAG4AZwBkAG8AdABzAGUA8QBlF3kARGRtImFsZQAAoEAmgAFpbHIAjRiRGJ0Y7CFpZwCgA/tpApcYAAAAAJoYZwAAoAD7aQBnAACgBPsA4DXYI93sIWlnAKAB++whaWcA4GYAagCAAWFsdACvGLIYthh0AACgbSZpAGcAAKAC+24AcwAAoLElbwBmAJJh8AHCGAAAxhhmAADgNdhX3QABYWvJGMwYbADsAGsEdqDUIgCg2SphI3J0aW50AACgDSoAAWFv2hgiGQABY3PeGB8ZsQPnGP0YBRkSGRUZAAAdGbID7xjyGPQY9xj5GAAA+xg7gL0AvUAAoFMhO4C8ALxAAKBVIQCgWSEAoFshswEBGQAAAxkAoFQhAKBWIbQCCxkOGQAAAAAQGTuAvgC+QACgVyEAoFwhNQAAoFghtgEZGQAAGxkAoFohAKBdITgAAKBeIWwAAKBEIHcAbgAAoCIjYwByAADgNdi73IAIRWFiY2RlZmdpamxub3JzdHYARhlKGVoZXhlmGWkZkhmWGZkZnRmgGa0ZxhnLGc8Z4BkjGmygZyIAoIwqgAFjbXAAUBlTGVgZ9SF0ZfVhbQBhAOSgswM6FgCghipyImV2ZQAfYQABaXliGWUZcgBjAB1hM2RvAHQAIWGAoWUibHFzAMYEcBl6GfGhZSLOBAAAdhlsAGEAbgD0AN8EgKF+KmNkbACBGYQZjBljAACgqSpvAHQAb6CAKmyggioAoIQqZeDbIgD+cwAAoJQqcgAA4DXYJN3noGsirATtIWVsAKA3IWMAeQBTZIChdyJFYWoApxmpGasZAKCSKgCgpSoAoKQqAAJFYWVztBm2Gb0ZwhkAoGkicABwoIoq8iFveACgiipxoIgq8aCIKrUZaQBtAACg5yJwAGYAAOA12FjdYQB2AOUAYwIAAWNp0xnWGXIAAKAKIW0AAKFzImVs3BneGQCgjioAoJAqAIM+ADtjZGxxco0E6xn0GfgZ/BkBGgABY2nvGfEZAKCnKnIAAKB6Km8AdAAAoNci0CFhcgCglSl1ImVzdAAAoHwqgAJhZGVscwAKGvQZFhrVBCAa8AEPGgAAFBpwAHIAbwD4AFkZcgAAoHgpcQAAAWxxxAQbGmwAZQBzAPMASRlpAO0A5AQAAWVuJxouGnIjdG5lcXEAAOBpIgD+xQAsGgAFQWFiY2Vma29zeUAaQxpmGmoabRqDGocalhrCGtMacgDyAMwCAAJpbG1yShpOGlAaVBpyAHMA8ABxD2YAvWBpAGwA9AASBQABZHJYGlsaYwB5AEpkAKGUIWN3YBpkGmkAcgAAoEgpAKCtIWEAcgAAoA8h6SFyYyVhgAFhbHIAcxp7Gn8a8iF0c3WgZSZpAHQAAKBlJuwhaXAAoCYg4yFvbgCguSJyAADgNdgl3XMAAAFld4wakRphInJvdwAAoCUpYSJyb3cAAKAmKYACYW1vcHIAnxqjGqcauhq+GnIAcgAAoP8h9CFodACgOyJrAAABbHKsGrMaZSRmdGFycm93AACgqSHpJGdodGFycm93AKCqIWYAAOA12Fnd4iFhcgCgFSCAAWNsdADIGswa0BpyAADgNdi93GEAcwDoAGka8iFvaydhAAFicNca2xr1IWxsAKBDIOghZW4AoBAg4Qr2GgAA/RoAAAgbExsaGwAAIRs7GwAAAAA+G2IbmRuVG6sbAACyG80b0htjAHUAdABlADuA7QDtQAChYyBpeQEbBhtyAGMAO4DuAO5AOGQAAWN4CxsNG3kANWRjAGwAO4ChAKFAAAFmcssCFhsA4DXYJt1yAGEAdgBlADuA7ADsQIChSCFpbm8AJxsyGzYbAAFpbisbLxtuAHQAAKAMKnQAAKAtIuYhaW4AoNwpdABhAACgKSHsIWlnM2GAAWFvcABDG1sbXhuAAWNndABJG0sbWRtyACthgAFlbHAAcQVRG1UbaQBuAOUAyAVhAHIA9AByBWgAMWFmAACgtyJlAGQAtWEAoggiY2ZvdGkbbRt1G3kb4SFyZQCgBSFpAG4AdKAeImkAZQAAoN0pZABvAPQAWxsAoisiY2VscIEbhRuPG5QbYQBsAACguiIAAWdyiRuNG2UAcgDzACMQ4wCCG2EicmhrAACgFyryIW9kAKA8KgACY2dwdJ8boRukG6gbeQBRZG8AbgAvYWYAAOA12FrdYQC5Y3UAZQBzAHQAO4C/AL9AAAFjabUbuRtyAADgNdi+3G4AAKIIIkVkc3bCG8QbyBvQAwCg+SJvAHQAAKD1Inag9CIAoPMiaaBiIOwhZGUpYesB1hsAANkbYwB5AFZkbAA7gO8A70AAA2NmbW9zdeYb7hvyG/Ub+hsFHAABaXnqG+0bcgBjADVhOWRyAADgNdgn3eEhdGg3YnAAZgAA4DXYW93jAf8bAAADHHIAAOA12L/c8iFjeVhk6yFjeVRkAARhY2ZnaGpvcxUcGhwiHCYcKhwtHDAcNRzwIXBhdqC6A/BjAAFleR4cIRzkIWls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ZmdobG1vcHJzdHV3CiwNLBEsHSwnLDEsQCxLLFIsYix6LIQsjyzLLOgs7Sz/LAotcgDyAAkDYQByAACgYykAAWNyFSwbLHUAdABlADuA+gD6QPIACQ1yAOMBIywAACUseQBeZHYAZQBtYQABaXkrLDAscgBjADuA+wD7QENkgAFhYmgANyw6LD0scgDyANEO7CFhY3FhYQDyAOAOAAFpckQsSCzzIWh0AKB+KQDgNdgy3XIAYQB2AGUAO4D5APlAYQFWLF8scgAAAWxyWixcLACgvyEAoL4hbABrAACggCUAAWN0Zix2LG8CbCwAAAAAcyxyAG4AZaAcI3IAAKAcI28AcAAAoA8jcgBpAACg+CUAAWFsfiyBLGMAcgBrYTuAqACoQAABZ3CILIssbwBuAHNhZgAA4DXYZt0AA2FkaGxzdZksniynLLgsuyzFLHIAcgBvAPcACQ1vAHcAbgBhAHIAcgBvAPcA2A5hI3Jwb29uAAABbHKvLLMsZQBmAPQAWyxpAGcAaAD0AF0sdQDzAKYOaQAAocUDaGzBLMIs0mNvAG4AxWPwI2Fycm93cwCgyCGAAWNpdADRLOEs5CxvAtcsAAAAAN4scgBuAGWgHSNyAACgHSNvAHAAAKAOI24AZwBvYXIAaQAAoPklYwByAADgNdjK3IABZGlyAPMs9yz6LG8AdAAAoPAi7CFkZWlhaQBmoLUlAKC0JQABYW0DLQYtcgDyAMosbAA7gPwA/EDhIm5nbGUAoKcpgAdBQkRhY2RlZmxub3Byc3oAJy0qLTAtNC2bLZ0toS2/LcMtxy3TLdgt3C3gLfwtcgDyABADYQByAHag6CoAoOkqYQBzAOgA/gIAAW5yOC08LechcnQAoJwpgANla25wcnN0AJkpSC1NLVQtXi1iLYItYQBwAHAA4QAaHG8AdABoAGkAbgDnAKEXgAFoaXIAoSmzJFotbwBwAPQAdCVooJUh7wD4JgABaXVmLWotZwBtAOEAuygAAWJwbi14LXMjZXRuZXEAceCKIgD+AODLKgD+cyNldG5lcQBx4IsiAP4A4MwqAP4AAWhyhi2KLWUAdADhABIraSNhbmdsZQAAAWxyki2WLeUhZnQAoLIiaSJnaHQAAKCzInkAMmThIXNoAKCiIoABZWxyAKcttC24LWKiKCKuLQAAAACyLWEAcgAAoLsicQAAoFoi7CFpcACg7iIAAWJ0vC1eD2EA8gBfD3IAAOA12DPddAByAOkAlS1zAHUAAAFicM0t0C0A4IIi0iAA4IMi0iBwAGYAAOA12GfdcgBvAPAAWQt0AHIA6QCaLQABY3XkLegtcgAA4DXYy9wAAWJw7C30LW4AAAFFZXUt8S0A4IoiAP5uAAABRWV/LfktAOCLIgD+6SJnemFnAKCaKYADY2Vmb3BycwANLhAuJS4pLiMuLi40LukhcmN1YQABZGkULiEuAAFiZxguHC5hAHIAAKBfKmUAcaAnIgCgWSLlIXJwAKAYIXIAAOA12DTdcABmAADgNdho3WWgQCJhAHQA6ABqD2MAcgAA4DXYzNzjCuQRUC4AAFQuAABYLmIuAAAAAGMubS5wLnQuAAAAAIguki4AAJouJxIqEnQAcgDpAB0ScgAA4DXYNd0AAUFhWy5eLnIA8gDnAnIA8gCTB75jAAFBYWYuaS5yAPIA4AJyAPIAjAdhAPAAeh5pAHMAAKD7IoABZHB0APgReS6DLgABZmx9LoAuAOA12GnddQDzAP8RaQBtAOUABBIAAUFhiy6OLnIA8gDuAnIA8gCaBwABY3GVLgoScgAA4DXYzdwAAXB0nS6hLmwAdQDzACUScgDpACASAARhY2VmaW9zdbEuvC7ELsguzC7PLtQu2S5jAAABdXm2LrsudABlADuA/QD9QE9kAAFpecAuwy5yAGMAd2FLZG4AO4ClAKVAcgAA4DXYNt1jAHkAV2RwAGYAAOA12GrdYwByAADgNdjO3AABY23dLt8ueQBOZGwAO4D/AP9AAAVhY2RlZmhpb3N38y73Lv8uAi8MLxAvEy8YLx0vIi9jInV0ZQB6YQABYXn7Lv4u8iFvbn5hN2RvAHQAfGEAAWV0Bi8KL3QAcgDmAB8QYQC2Y3IAAOA12DfdYwB5ADZk5yJyYXJyAKDdIXAAZgAA4DXYa91jAHIAAOA12M/cAAFqbiYvKC8AoA0gagAAoAwg");
10406
+ const htmlDecodeTree = /* #__PURE__ */ decodeBase64("QR08ALkAAgH6AYsDNQR2BO0EPgXZBQEGLAbdBxMISQrvCmQLfQurDKQNLw4fD4YPpA+6D/IPAAAAAAAAAAAAAAAAKhBMEY8TmxUWF2EYLBkxGuAa3RsJHDscWR8YIC8jSCSIJcMl6ie3Ku8rEC0CLjoupS7kLgAIRU1hYmNmZ2xtbm9wcnN0dVQAWgBeAGUAaQBzAHcAfgCBAIQAhwCSAJoAoACsALMAbABpAGcAO4DGAMZAUAA7gCYAJkBjAHUAdABlADuAwQDBQHIiZXZlAAJhAAFpeW0AcgByAGMAO4DCAMJAEGRyAADgNdgE3XIAYQB2AGUAO4DAAMBA8CFoYZFj4SFjcgBhZAAAoFMqAAFncIsAjgBvAG4ABGFmAADgNdg43fAlbHlGdW5jdGlvbgCgYSBpAG4AZwA7gMUAxUAAAWNzpACoAHIAAOA12Jzc6SFnbgCgVCJpAGwAZABlADuAwwDDQG0AbAA7gMQAxEAABGFjZWZvcnN1xQDYANoA7QDxAPYA+QD8AAABY3LJAM8AayNzbGFzaAAAoBYidgHTANUAAKDnKmUAZAAAoAYjeQARZIABY3J0AOAA5QDrAGEidXNlAACgNSLuI291bGxpcwCgLCFhAJJjcgAA4DXYBd1wAGYAAOA12Dnd5SF2ZdhiYwDyAOoAbSJwZXEAAKBOIgAHSE9hY2RlZmhpbG9yc3UXARoBHwE6AVIBVQFiAWQBZgGCAakB6QHtAfIBYwB5ACdkUABZADuAqQCpQIABY3B5ACUBKAE1AfUhdGUGYWmg0iJ0KGFsRGlmZmVyZW50aWFsRAAAoEUhbCJleXMAAKAtIQACYWVpb0EBRAFKAU0B8iFvbgxhZABpAGwAO4DHAMdAcgBjAAhhbiJpbnQAAKAwIm8AdAAKYQABZG5ZAV0BaSJsbGEAuGB0I2VyRG90ALdg8gA5AWkAp2NyImNsZQAAAkRNUFRwAXQBeQF9AW8AdAAAoJkiaSJudXMAAKCWIuwhdXMAoJUiaSJtZXMAAKCXIm8AAAFjc4cBlAFrKndpc2VDb250b3VySW50ZWdyYWwAAKAyImUjQ3VybHkAAAFEUZwBpAFvJXVibGVRdW90ZQAAoB0gdSJvdGUAAKAZIAACbG5wdbABtgHNAdgBbwBuAGWgNyIAoHQqgAFnaXQAvAHBAcUB8iJ1ZW50AKBhIm4AdAAAoC8i7yV1ckludGVncmFsAKAuIgABZnLRAdMBAKACIe8iZHVjdACgECJuLnRlckNsb2Nrd2lzZUNvbnRvdXJJbnRlZ3JhbAAAoDMi7yFzcwCgLypjAHIAAOA12J7ccABDoNMiYQBwAACgTSKABURKU1phY2VmaW9zAAsCEgIVAhgCGwIsAjQCOQI9AnMCfwNvoEUh9CJyYWhkAKARKWMAeQACZGMAeQAFZGMAeQAPZIABZ3JzACECJQIoAuchZXIAoCEgcgAAoKEhaAB2AACg5CoAAWF5MAIzAvIhb24OYRRkbAB0oAciYQCUY3IAAOA12AfdAAFhZkECawIAAWNtRQJnAvIjaXRpY2FsAAJBREdUUAJUAl8CYwJjInV0ZQC0YG8AdAFZAloC2WJiJGxlQWN1dGUA3WJyImF2ZQBgYGkibGRlANxi7yFuZACgxCJmJWVyZW50aWFsRAAAoEYhcAR9AgAAAAAAAIECjgIAABoDZgAA4DXYO91EoagAhQKJAm8AdAAAoNwgcSJ1YWwAAKBQIuIhbGUAA0NETFJVVpkCqAK1Au8C/wIRA28AbgB0AG8AdQByAEkAbgB0AGUAZwByAGEA7ADEAW8AdAKvAgAAAACwAqhgbiNBcnJvdwAAoNMhAAFlb7kC0AJmAHQAgAFBUlQAwQLGAs0CciJyb3cAAKDQIekkZ2h0QXJyb3cAoNQhZQDlACsCbgBnAAABTFLWAugC5SFmdAABQVLcAuECciJyb3cAAKD4J+kkZ2h0QXJyb3cAoPon6SRnaHRBcnJvdwCg+SdpImdodAAAAUFU9gL7AnIicm93AACg0iFlAGUAAKCoInAAQQIGAwAAAAALA3Iicm93AACg0SFvJHduQXJyb3cAAKDVIWUlcnRpY2FsQmFyAACgJSJuAAADQUJMUlRhJAM2AzoDWgNxA3oDciJyb3cAAKGTIUJVLAMwA2EAcgAAoBMpcCNBcnJvdwAAoPUhciJldmUAEWPlIWZ00gJDAwAASwMAAFIDaSVnaHRWZWN0b3IAAKBQKWUkZVZlY3RvcgAAoF4p5SJjdG9yQqC9IWEAcgAAoFYpaSJnaHQA1AFiAwAAaQNlJGVWZWN0b3IAAKBfKeUiY3RvckKgwSFhAHIAAKBXKWUAZQBBoKQiciJyb3cAAKCnIXIAcgBvAPcAtAIAAWN0gwOHA3IA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YwAAoN8i4SFycnCgtiEAoD0pgKIqImJjZG9zACsVMBU6FT4VQRVyImNhcAAAoEgqAAFhdTQVNxVwAACgRipwAACgSipvAHQAAKCNInIAAKBFKgDgKiIA/gACYWxydksVURVuFXMVcgByAG2gtyEAoDwpeQCAAWV2dwBYFWUVaRVxAHACXxUAAAAAYxVyAGUA4wAXFXUA4wAZFWUAZQAAoM4iZSJkZ2UAAKDPImUAbgA7gKQApEBlI2Fycm93AAABbHJ7FX8V5SFmdACgtiFpImdodAAAoLchZQDkAG0VAAFjaYsVkRVvAG4AaQBuAPQAkwFuAHQAAKAxImwiY3R5AACgLSOACUFIYWJjZGVmaGlqbG9yc3R1d3oAuBW7Fb8V1RXgFegV+RUKFhUWHxZUFlcWZRbFFtsW7xb7FgUXChdyAPIAtAJhAHIAAKBlKQACZ2xyc8YVyhXOFdAV5yFlcgCgICDlIXRoAKA4IfIA9QxoAHagECAAoKMiawHZFd4VYSJyb3cAAKAPKWEA4wBfAgABYXnkFecV8iFvbg9hNGQAoUYhYW/tFfQVAAFnciEC8RVyAACgyiF0InNlcQAAoHcqgAFnbG0A/xUCFgUWO4CwALBAdABhALRjcCJ0eXYAAKCxKQABaXIOFhIW8yFodACgfykA4DXYId1hAHIAAAFschsWHRYAoMMhAKDCIYACYWVnc3YAKBauAjYWOhY+Fm0AAKHEIm9zLhY0Fm4AZABzoMQi9SFpdACgZiZhIm1tYQDdY2kAbgAAoPIiAKH3AGlvQxZRFmQAZQAAgfcAO29KFksW90BuI3RpbWVzAACgxyJuAPgAUBZjAHkAUmRjAG8CXhYAAAAAYhZyAG4AAKAeI28AcAAAoA0jgAJscHR1dwBuFnEWdRaSFp4W7CFhciRgZgAA4DXYVd0AotkCZW1wc30WhBaJFo0WcQBkoFAibwB0AACgUSJpIm51cwAAoDgi7CF1cwCgFCLxInVhcmUAoKEiYgBsAGUAYgBhAHIAdwBlAGQAZwDlANcAbgCAAWFkaAClFqoWtBZyAHIAbwD3APUMbwB3AG4AYQByAHIAbwB3APMA8xVhI3Jwb29uAAABbHK8FsAWZQBmAPQAHBZpAGcAaAD0AB4WYgHJFs8WawBhAHIAbwD3AJILbwLUFgAAAADYFnIAbgAAoB8jbwBwAACgDCOAAWNvdADhFukW7BYAAXJ55RboFgDgNdi53FVkbAAAoPYp8iFvaxFhAAFkcvMW9xZvAHQAAKDxImkA5qC/JVsSAAFhaP8WAhdyAPIANQNhAPIA1wvhIm5nbGUAoKYpAAFjaQ4XEBd5AF9k5yJyYXJyAKD/JwAJRGFjZGVmZ2xtbm9wcXJzdHV4MRc4F0YXWxcyBF4XaRd5F40XrBe0F78X2RcVGCEYLRg1GEAYAAFEbzUXgRZvAPQA+BUAAWNzPBdCF3UAdABlADuA6QDpQPQhZXIAoG4qAAJhaW95TRdQF1YXWhfyIW9uG2FyAGOgViI7gOoA6kDsIW9uAKBVIk1kbwB0ABdhAAFEcmIXZhdvAHQAAKBSIgDgNdgi3XKhmipuF3QXYQB2AGUAO4DoAOhAZKCWKm8AdAAAoJgqgKGZKmlscwCAF4UXhxfuInRlcnMAoOcjAKATIWSglSpvAHQAAKCXKoABYXBzAJMXlheiF2MAcgATYXQAeQBzogUinxcAAAAAoRdlAHQAAKAFInAAMaADIDMBqRerFwCgBCAAoAUgAAFnc7AXsRdLYXAAAKACIAABZ3C4F7sXbwBuABlhZgAA4DXYVt2AAWFscwDFF8sXzxdyAHOg1SJsAACg4yl1AHMAAKBxKmkAAKG1A2x21RfYF28AbgC1Y/VjAAJjc3V24BfoF/0XEBgAAWlv5BdWF3IAYwAAoFYiaQLuFwAAAADwF+0ADQThIW50AAFnbPUX+Rd0AHIAAKCWKuUhc3MAoJUqgAFhZWkAAxgGGAoYbABzAD1gcwB0AACgXyJ2AESgYSJEAACgeCrwImFyc2wAoOUpAAFEYRkYHRhvAHQAAKBTInIAcgAAoHEpgAFjZGkAJxgqGO0XcgAAoC8hbwD0AIwCAAFhaDEYMhi3YzuA8ADwQAABbXI5GD0YbAA7gOsA60BvAACgrCCAAWNpcABGGEgYSxhsACFgcwD0ACwEAAFlb08YVxhjAHQAYQB0AGkAbwDuABoEbgBlAG4AdABpAGEAbADlADME4Ql1GAAAgRgAAIMYiBgAAAAAoRilGAAAqhgAALsYvhjRGAAA1xgnGWwAbABpAG4AZwBkAG8AdABzAGUA8QBlF3kARGRtImFsZQAAoEAmgAFpbHIAjRiRGJ0Y7CFpZwCgA/tpApcYAAAAAJoYZwAAoAD7aQBnAACgBPsA4DXYI93sIWlnAKAB++whaWcA4GYAagCAAWFsdACvGLIYthh0AACgbSZpAGcAAKAC+24AcwAAoLElbwBmAJJh8AHCGAAAxhhmAADgNdhX3QABYWvJGMwYbADsAGsEdqDUIgCg2SphI3J0aW50AACgDSoAAWFv2hgiGQABY3PeGB8ZsQPnGP0YBRkSGRUZAAAdGbID7xjyGPQY9xj5GAAA+xg7gL0AvUAAoFMhO4C8ALxAAKBVIQCgWSEAoFshswEBGQAAAxkAoFQhAKBWIbQCCxkOGQAAAAAQGTuAvgC+QACgVyEAoFwhNQAAoFghtgEZGQAAGxkAoFohAKBdITgAAKBeIWwAAKBEIHcAbgAAoCIjYwByAADgNdi73IAIRWFiY2RlZmdpamxub3JzdHYARhlKGVoZXhlmGWkZkhmWGZkZnRmgGa0ZxhnLGc8Z4BkjGmygZyIAoIwqgAFjbXAAUBlTGVgZ9SF0ZfVhbQBhAOSgswM6FgCghipyImV2ZQAfYQABaXliGWUZcgBjAB1hM2RvAHQAIWGAoWUibHFzAMYEcBl6GfGhZSLOBAAAdhlsAGEAbgD0AN8EgKF+KmNkbACBGYQZjBljAACgqSpvAHQAb6CAKmyggioAoIQqZeDbIgD+cwAAoJQqcgAA4DXYJN3noGsirATtIWVsAKA3IWMAeQBTZIChdyJFYWoApxmpGasZAKCSKgCgpSoAoKQqAAJFYWVztBm2Gb0ZwhkAoGkicABwoIoq8iFveACgiipxoIgq8aCIKrUZaQBtAACg5yJwAGYAAOA12FjdYQB2AOUAYwIAAWNp0xnWGXIAAKAKIW0AAKFzImVs3BneGQCgjioAoJAqAIM+ADtjZGxxco0E6xn0GfgZ/BkBGgABY2nvGfEZAKCnKnIAAKB6Km8AdAAAoNci0CFhcgCglSl1ImVzdAAAoHwqgAJhZGVscwAKGvQZFhrVBCAa8AEPGgAAFBpwAHIAbwD4AFkZcgAAoHgpcQAAAWxxxAQbGmwAZQBzAPMASRlpAO0A5AQAAWVuJxouGnIjdG5lcXEAAOBpIgD+xQAsGgAFQWFiY2Vma29zeUAaQxpmGmoabRqDGocalhrCGtMacgDyAMwCAAJpbG1yShpOGlAaVBpyAHMA8ABxD2YAvWBpAGwA9AASBQABZHJYGlsaYwB5AEpkAKGUIWN3YBpkGmkAcgAAoEgpAKCtIWEAcgAAoA8h6SFyYyVhgAFhbHIAcxp7Gn8a8iF0c3WgZSZpAHQAAKBlJuwhaXAAoCYg4yFvbgCguSJyAADgNdgl3XMAAAFld4wakRphInJvdwAAoCUpYSJyb3cAAKAmKYACYW1vcHIAnxqjGqcauhq+GnIAcgAAoP8h9CFodACgOyJrAAABbHKsGrMaZSRmdGFycm93AACgqSHpJGdodGFycm93AKCqIWYAAOA12Fnd4iFhcgCgFSCAAWNsdADIGswa0BpyAADgNdi93GEAcwDoAGka8iFvaydhAAFicNca2xr1IWxsAKBDIOghZW4AoBAg4Qr2GgAA/RoAAAgbExsaGwAAIRs7GwAAAAA+G2IbmRuVG6sbAACyG80b0htjAHUAdABlADuA7QDtQAChYyBpeQEbBhtyAGMAO4DuAO5AOGQAAWN4CxsNG3kANWRjAGwAO4ChAKFAAAFmcssCFhsA4DXYJt1yAGEAdgBlADuA7ADsQIChSCFpbm8AJxsyGzYbAAFpbisbLxtuAHQAAKAMKnQAAKAtIuYhaW4AoNwpdABhAACgKSHsIWlnM2GAAWFvcABDG1sbXhuAAWNndABJG0sbWRtyACthgAFlbHAAcQVRG1UbaQBuAOUAyAVhAHIA9AByBWgAMWFmAACgtyJlAGQAtWEAoggiY2ZvdGkbbRt1G3kb4SFyZQCgBSFpAG4AdKAeImkAZQAAoN0pZABvAPQAWxsAoisiY2VscIEbhRuPG5QbYQBsAACguiIAAWdyiRuNG2UAcgDzACMQ4wCCG2EicmhrAACgFyryIW9kAKA8KgACY2dwdJ8boRukG6gbeQBRZG8AbgAvYWYAAOA12FrdYQC5Y3UAZQBzAHQAO4C/AL9AAAFjabUbuRtyAADgNdi+3G4AAKIIIkVkc3bCG8QbyBvQAwCg+SJvAHQAAKD1Inag9CIAoPMiaaBiIOwhZGUpYesB1hsAANkbYwB5AFZkbAA7gO8A70AAA2NmbW9zdeYb7hvyG/Ub+hsFHAABaXnqG+0bcgBjADVhOWRyAADgNdgn3eEhdGg3YnAAZgAA4DXYW93jAf8bAAADHHIAAOA12L/c8iFjeVhk6yFjeVRkAARhY2ZnaGpvcxUcGhwiHCYcKhwtHDAcNRzwIXBhdqC6A/BjAAFleR4cIRzkIWls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ZmdobG1vcHJzdHV3CiwNLBEsHSwnLDEsQCxLLFIsYix6LIQsjyzLLOgs7Sz/LAotcgDyAAkDYQByAACgYykAAWNyFSwbLHUAdABlADuA+gD6QPIACQ1yAOMBIywAACUseQBeZHYAZQBtYQABaXkrLDAscgBjADuA+wD7QENkgAFhYmgANyw6LD0scgDyANEO7CFhY3FhYQDyAOAOAAFpckQsSCzzIWh0AKB+KQDgNdgy3XIAYQB2AGUAO4D5APlAYQFWLF8scgAAAWxyWixcLACgvyEAoL4hbABrAACggCUAAWN0Zix2LG8CbCwAAAAAcyxyAG4AZaAcI3IAAKAcI28AcAAAoA8jcgBpAACg+CUAAWFsfiyBLGMAcgBrYTuAqACoQAABZ3CILIssbwBuAHNhZgAA4DXYZt0AA2FkaGxzdZksniynLLgsuyzFLHIAcgBvAPcACQ1vAHcAbgBhAHIAcgBvAPcA2A5hI3Jwb29uAAABbHKvLLMsZQBmAPQAWyxpAGcAaAD0AF0sdQDzAKYOaQAAocUDaGzBLMIs0mNvAG4AxWPwI2Fycm93cwCgyCGAAWNpdADRLOEs5CxvAtcsAAAAAN4scgBuAGWgHSNyAACgHSNvAHAAAKAOI24AZwBvYXIAaQAAoPklYwByAADgNdjK3IABZGlyAPMs9yz6LG8AdAAAoPAi7CFkZWlhaQBmoLUlAKC0JQABYW0DLQYtcgDyAMosbAA7gPwA/EDhIm5nbGUAoKcpgAdBQkRhY2RlZmxub3Byc3oAJy0qLTAtNC2bLZ0toS2/LcMtxy3TLdgt3C3gLfwtcgDyABADYQByAHag6CoAoOkqYQBzAOgA/gIAAW5yOC08LechcnQAoJwpgANla25wcnN0AJkpSC1NLVQtXi1iLYItYQBwAHAA4QAaHG8AdABoAGkAbgDnAKEXgAFoaXIAoSmzJFotbwBwAPQAdCVooJUh7wD4JgABaXVmLWotZwBtAOEAuygAAWJwbi14LXMjZXRuZXEAceCKIgD+AODLKgD+cyNldG5lcQBx4IsiAP4A4MwqAP4AAWhyhi2KLWUAdADhABIraSNhbmdsZQAAAWxyki2WLeUhZnQAoLIiaSJnaHQAAKCzInkAMmThIXNoAKCiIoABZWxyAKcttC24LWKiKCKuLQAAAACyLWEAcgAAoLsicQAAoFoi7CFpcACg7iIAAWJ0vC1eD2EA8gBfD3IAAOA12DPddAByAOkAlS1zAHUAAAFicM0t0C0A4IIi0iAA4IMi0iBwAGYAAOA12GfdcgBvAPAAWQt0AHIA6QCaLQABY3XkLegtcgAA4DXYy9wAAWJw7C30LW4AAAFFZXUt8S0A4IoiAP5uAAABRWV/LfktAOCLIgD+6SJnemFnAKCaKYADY2Vmb3BycwANLhAuJS4pLiMuLi40LukhcmN1YQABZGkULiEuAAFiZxguHC5hAHIAAKBfKmUAcaAnIgCgWSLlIXJwAKAYIXIAAOA12DTdcABmAADgNdho3WWgQCJhAHQA6ABqD2MAcgAA4DXYzNzjCuQRUC4AAFQuAABYLmIuAAAAAGMubS5wLnQuAAAAAIguki4AAJouJxIqEnQAcgDpAB0ScgAA4DXYNd0AAUFhWy5eLnIA8gDnAnIA8gCTB75jAAFBYWYuaS5yAPIA4AJyAPIAjAdhAPAAeh5pAHMAAKD7IoABZHB0APgReS6DLgABZmx9LoAuAOA12GnddQDzAP8RaQBtAOUABBIAAUFhiy6OLnIA8gDuAnIA8gCaBwABY3GVLgoScgAA4DXYzdwAAXB0nS6hLmwAdQDzACUScgDpACASAARhY2VmaW9zdbEuvC7ELsguzC7PLtQu2S5jAAABdXm2LrsudABlADuA/QD9QE9kAAFpecAuwy5yAGMAd2FLZG4AO4ClAKVAcgAA4DXYNt1jAHkAV2RwAGYAAOA12GrdYwByAADgNdjO3AABY23dLt8ueQBOZGwAO4D/AP9AAAVhY2RlZmhpb3N38y73Lv8uAi8MLxAvEy8YLx0vIi9jInV0ZQB6YQABYXn7Lv4u8iFvbn5hN2RvAHQAfGEAAWV0Bi8KL3QAcgDmAB8QYQC2Y3IAAOA12DfdYwB5ADZk5yJyYXJyAKDdIXAAZgAA4DXYa91jAHIAAOA12M/cAAFqbiYvKC8AoA0gagAAoAwg");
10258
10407
  //#endregion
10259
10408
  //#region node_modules/.pnpm/entities@7.0.1/node_modules/entities/dist/esm/internal/bin-trie-flags.js
10260
10409
  /**
@@ -10648,7 +10797,7 @@ function determineBranch(decodeTree, current, nodeIndex, char) {
10648
10797
  }
10649
10798
  return -1;
10650
10799
  }
10651
- const htmlDecoder = /* @__PURE__ */ getDecoder(htmlDecodeTree);
10800
+ const htmlDecoder = /* #__PURE__ */ getDecoder(htmlDecodeTree);
10652
10801
  /**
10653
10802
  * Decodes an HTML string.
10654
10803
  *
@@ -10840,13 +10989,14 @@ var Tokenizer = class {
10840
10989
  }
10841
10990
  }
10842
10991
  stateInterpolationOpen(c) {
10843
- if (c === this.delimiterOpen[this.delimiterIndex]) if (this.delimiterIndex === this.delimiterOpen.length - 1) {
10844
- const start = this.index + 1 - this.delimiterOpen.length;
10845
- if (start > this.sectionStart) this.cbs.ontext(this.sectionStart, start);
10846
- this.state = 3;
10847
- this.sectionStart = start;
10848
- } else this.delimiterIndex++;
10849
- else if (this.inRCDATA) {
10992
+ if (c === this.delimiterOpen[this.delimiterIndex]) {
10993
+ if (this.delimiterIndex === this.delimiterOpen.length - 1) {
10994
+ const start = this.index + 1 - this.delimiterOpen.length;
10995
+ if (start > this.sectionStart) this.cbs.ontext(this.sectionStart, start);
10996
+ this.state = 3;
10997
+ this.sectionStart = start;
10998
+ } else this.delimiterIndex++;
10999
+ } else if (this.inRCDATA) {
10850
11000
  this.state = 32;
10851
11001
  this.stateInRCDATA(c);
10852
11002
  } else {
@@ -10862,13 +11012,14 @@ var Tokenizer = class {
10862
11012
  }
10863
11013
  }
10864
11014
  stateInterpolationClose(c) {
10865
- if (c === this.delimiterClose[this.delimiterIndex]) if (this.delimiterIndex === this.delimiterClose.length - 1) {
10866
- this.cbs.oninterpolation(this.sectionStart, this.index + 1);
10867
- if (this.inRCDATA) this.state = 32;
10868
- else this.state = 1;
10869
- this.sectionStart = this.index + 1;
10870
- } else this.delimiterIndex++;
10871
- else {
11015
+ if (c === this.delimiterClose[this.delimiterIndex]) {
11016
+ if (this.delimiterIndex === this.delimiterClose.length - 1) {
11017
+ this.cbs.oninterpolation(this.sectionStart, this.index + 1);
11018
+ if (this.inRCDATA) this.state = 32;
11019
+ else this.state = 1;
11020
+ this.sectionStart = this.index + 1;
11021
+ } else this.delimiterIndex++;
11022
+ } else {
10872
11023
  this.state = 3;
10873
11024
  this.stateInterpolation(c);
10874
11025
  }
@@ -10984,9 +11135,10 @@ var Tokenizer = class {
10984
11135
  this.sectionStart = this.index;
10985
11136
  if (this.mode === 0) this.state = 6;
10986
11137
  else if (this.inSFCRoot) this.state = 34;
10987
- else if (!this.inXML) if (c === 116) this.state = 30;
10988
- else this.state = c === 115 ? 29 : 6;
10989
- else this.state = 6;
11138
+ else if (!this.inXML) {
11139
+ if (c === 116) this.state = 30;
11140
+ else this.state = c === 115 ? 29 : 6;
11141
+ } else this.state = 6;
10990
11142
  } else if (c === 47) this.state = 8;
10991
11143
  else {
10992
11144
  this.state = 1;
@@ -11353,9 +11505,7 @@ var Tokenizer = class {
11353
11505
  case 24:
11354
11506
  this.stateInProcessingInstruction(c);
11355
11507
  break;
11356
- case 33:
11357
- this.stateInEntity();
11358
- break;
11508
+ case 33: this.stateInEntity();
11359
11509
  }
11360
11510
  this.index++;
11361
11511
  }
@@ -11388,9 +11538,10 @@ var Tokenizer = class {
11388
11538
  handleTrailingData() {
11389
11539
  const endIndex = this.buffer.length;
11390
11540
  if (this.sectionStart >= endIndex) return;
11391
- if (this.state === 28) if (this.currentSequence === Sequences.CdataEnd) this.cbs.oncdata(this.sectionStart, endIndex);
11392
- else this.cbs.oncomment(this.sectionStart, endIndex);
11393
- else if (this.state === 6 || this.state === 11 || this.state === 18 || this.state === 17 || this.state === 12 || this.state === 13 || this.state === 14 || this.state === 15 || this.state === 16 || this.state === 20 || this.state === 19 || this.state === 21 || this.state === 9) {} else this.cbs.ontext(this.sectionStart, endIndex);
11541
+ if (this.state === 28) {
11542
+ if (this.currentSequence === Sequences.CdataEnd) this.cbs.oncdata(this.sectionStart, endIndex);
11543
+ else this.cbs.oncomment(this.sectionStart, endIndex);
11544
+ } else if (this.state === 6 || this.state === 11 || this.state === 18 || this.state === 17 || this.state === 12 || this.state === 13 || this.state === 14 || this.state === 15 || this.state === 16 || this.state === 20 || this.state === 19 || this.state === 21 || this.state === 9) {} else this.cbs.ontext(this.sectionStart, endIndex);
11394
11545
  }
11395
11546
  emitCodePoint(cp, consumed) {
11396
11547
  if (this.baseState !== 1 && this.baseState !== 32) {
@@ -11507,16 +11658,22 @@ function walkIdentifiers(root, onIdentifier, includeAll = false, parentStack = [
11507
11658
  const isRefed = isReferencedIdentifier(node, parent, parentStack);
11508
11659
  if (includeAll || isRefed && !isLocal) onIdentifier(node, parent, parentStack, isRefed, isLocal);
11509
11660
  } else if (node.type === "ObjectProperty" && (parent === null || parent === void 0 ? void 0 : parent.type) === "ObjectPattern") node.inPattern = true;
11510
- else if (isFunctionType(node)) if (node.scopeIds) node.scopeIds.forEach((id) => markKnownIds(id, knownIds));
11511
- else walkFunctionParams(node, (id) => markScopeIdentifier(node, id, knownIds));
11512
- else if (node.type === "BlockStatement") if (node.scopeIds) node.scopeIds.forEach((id) => markKnownIds(id, knownIds));
11513
- else walkBlockDeclarations(node, (id) => markScopeIdentifier(node, id, knownIds));
11514
- else if (node.type === "SwitchStatement") if (node.scopeIds) node.scopeIds.forEach((id) => markKnownIds(id, knownIds));
11515
- else walkSwitchStatement(node, false, (id) => markScopeIdentifier(node, id, knownIds));
11516
- else if (node.type === "CatchClause" && node.param) if (node.scopeIds) node.scopeIds.forEach((id) => markKnownIds(id, knownIds));
11517
- else for (const id of extractIdentifiers(node.param)) markScopeIdentifier(node, id, knownIds);
11518
- else if (isForStatement(node)) if (node.scopeIds) node.scopeIds.forEach((id) => markKnownIds(id, knownIds));
11519
- else walkForStatement(node, false, (id) => markScopeIdentifier(node, id, knownIds));
11661
+ else if (isFunctionType(node)) {
11662
+ if (node.scopeIds) node.scopeIds.forEach((id) => markKnownIds(id, knownIds));
11663
+ else walkFunctionParams(node, (id) => markScopeIdentifier(node, id, knownIds));
11664
+ } else if (node.type === "BlockStatement") {
11665
+ if (node.scopeIds) node.scopeIds.forEach((id) => markKnownIds(id, knownIds));
11666
+ else walkBlockDeclarations(node, (id) => markScopeIdentifier(node, id, knownIds));
11667
+ } else if (node.type === "SwitchStatement") {
11668
+ if (node.scopeIds) node.scopeIds.forEach((id) => markKnownIds(id, knownIds));
11669
+ else walkSwitchStatement(node, false, (id) => markScopeIdentifier(node, id, knownIds));
11670
+ } else if (node.type === "CatchClause" && node.param) {
11671
+ if (node.scopeIds) node.scopeIds.forEach((id) => markKnownIds(id, knownIds));
11672
+ else for (const id of extractIdentifiers(node.param)) markScopeIdentifier(node, id, knownIds);
11673
+ } else if (isForStatement(node)) {
11674
+ if (node.scopeIds) node.scopeIds.forEach((id) => markKnownIds(id, knownIds));
11675
+ else walkForStatement(node, false, (id) => markScopeIdentifier(node, id, knownIds));
11676
+ }
11520
11677
  },
11521
11678
  leave(node, parent) {
11522
11679
  parent && parentStack.pop();
@@ -11608,9 +11765,7 @@ function extractIdentifiers(param, nodes = []) {
11608
11765
  case "RestElement":
11609
11766
  extractIdentifiers(param.argument, nodes);
11610
11767
  break;
11611
- case "AssignmentPattern":
11612
- extractIdentifiers(param.left, nodes);
11613
- break;
11768
+ case "AssignmentPattern": extractIdentifiers(param.left, nodes);
11614
11769
  }
11615
11770
  return nodes;
11616
11771
  }
@@ -11802,7 +11957,7 @@ function isTemplateNode(node) {
11802
11957
  function isSlotOutlet(node) {
11803
11958
  return node.type === 1 && node.tagType === 2;
11804
11959
  }
11805
- const propsHelperSet = new Set([NORMALIZE_PROPS, GUARD_REACTIVE_PROPS]);
11960
+ const propsHelperSet = /* @__PURE__ */ new Set([NORMALIZE_PROPS, GUARD_REACTIVE_PROPS]);
11806
11961
  function getUnnormalizedProps(props, callPath = []) {
11807
11962
  if (props && !isString(props) && props.type === 14) {
11808
11963
  const callee = props.callee;
@@ -11845,9 +12000,10 @@ function injectProp(node, prop, context) {
11845
12000
  propsWithInjection = createCallExpression(context.helper(MERGE_PROPS), [createObjectExpression([prop]), props]);
11846
12001
  if (parentCall && parentCall.callee === GUARD_REACTIVE_PROPS) parentCall = callPath[callPath.length - 2];
11847
12002
  }
11848
- if (node.type === 13) if (parentCall) parentCall.arguments[0] = propsWithInjection;
11849
- else node.props = propsWithInjection;
11850
- else if (parentCall) parentCall.arguments[0] = propsWithInjection;
12003
+ if (node.type === 13) {
12004
+ if (parentCall) parentCall.arguments[0] = propsWithInjection;
12005
+ else node.props = propsWithInjection;
12006
+ } else if (parentCall) parentCall.arguments[0] = propsWithInjection;
11851
12007
  else node.arguments[2] = propsWithInjection;
11852
12008
  }
11853
12009
  function injectSlotKey(node, prop) {
@@ -12087,26 +12243,28 @@ const tokenizer = new Tokenizer(stack, {
12087
12243
  onattribend(quote, end) {
12088
12244
  if (currentOpenTag && currentProp) {
12089
12245
  setLocEnd(currentProp.loc, end);
12090
- if (quote !== 0) if (currentProp.type === 6) {
12091
- if (currentProp.name === "class") currentAttrValue = condense(currentAttrValue).trim();
12092
- if (quote === 1 && !currentAttrValue) emitError(13, end);
12093
- currentProp.value = {
12094
- type: 2,
12095
- content: currentAttrValue,
12096
- loc: quote === 1 ? getLoc(currentAttrStartIndex, currentAttrEndIndex) : getLoc(currentAttrStartIndex - 1, currentAttrEndIndex + 1)
12097
- };
12098
- if (tokenizer.inSFCRoot && currentOpenTag.tag === "template" && currentProp.name === "lang" && currentAttrValue && currentAttrValue !== "html") tokenizer.enterRCDATA(toCharCodes(`</template`), 0);
12099
- } else {
12100
- let expParseMode = 0;
12101
- if (currentProp.name === "for") expParseMode = 3;
12102
- else if (currentProp.name === "slot") expParseMode = 1;
12103
- else if (currentProp.name === "on" && currentAttrValue.includes(";")) expParseMode = 2;
12104
- currentProp.exp = createExp(currentAttrValue, false, getLoc(currentAttrStartIndex, currentAttrEndIndex), 0, expParseMode);
12105
- if (currentProp.name === "for") currentProp.forParseResult = parseForExpression(currentProp.exp);
12106
- let syncIndex = -1;
12107
- if (currentProp.name === "bind" && (syncIndex = currentProp.modifiers.findIndex((mod) => mod.content === "sync")) > -1 && checkCompatEnabled("COMPILER_V_BIND_SYNC", currentOptions, currentProp.loc, currentProp.arg.loc.source)) {
12108
- currentProp.name = "model";
12109
- currentProp.modifiers.splice(syncIndex, 1);
12246
+ if (quote !== 0) {
12247
+ if (currentProp.type === 6) {
12248
+ if (currentProp.name === "class") currentAttrValue = condense(currentAttrValue).trim();
12249
+ if (quote === 1 && !currentAttrValue) emitError(13, end);
12250
+ currentProp.value = {
12251
+ type: 2,
12252
+ content: currentAttrValue,
12253
+ loc: quote === 1 ? getLoc(currentAttrStartIndex, currentAttrEndIndex) : getLoc(currentAttrStartIndex - 1, currentAttrEndIndex + 1)
12254
+ };
12255
+ if (tokenizer.inSFCRoot && currentOpenTag.tag === "template" && currentProp.name === "lang" && currentAttrValue && currentAttrValue !== "html") tokenizer.enterRCDATA(toCharCodes(`</template`), 0);
12256
+ } else {
12257
+ let expParseMode = 0;
12258
+ if (currentProp.name === "for") expParseMode = 3;
12259
+ else if (currentProp.name === "slot") expParseMode = 1;
12260
+ else if (currentProp.name === "on" && currentAttrValue.includes(";")) expParseMode = 2;
12261
+ currentProp.exp = createExp(currentAttrValue, false, getLoc(currentAttrStartIndex, currentAttrEndIndex), 0, expParseMode);
12262
+ if (currentProp.name === "for") currentProp.forParseResult = parseForExpression(currentProp.exp);
12263
+ let syncIndex = -1;
12264
+ if (currentProp.name === "bind" && (syncIndex = currentProp.modifiers.findIndex((mod) => mod.content === "sync")) > -1 && checkCompatEnabled("COMPILER_V_BIND_SYNC", currentOptions, currentProp.loc, currentProp.arg.loc.source)) {
12265
+ currentProp.name = "model";
12266
+ currentProp.modifiers.splice(syncIndex, 1);
12267
+ }
12110
12268
  }
12111
12269
  }
12112
12270
  if (currentProp.type !== 7 || currentProp.name !== "pre") currentOpenTag.props.push(currentProp);
@@ -12149,10 +12307,7 @@ const tokenizer = new Tokenizer(stack, {
12149
12307
  case 18:
12150
12308
  case 19:
12151
12309
  case 20:
12152
- case 21:
12153
- emitError(9, end);
12154
- break;
12155
- default: break;
12310
+ case 21: emitError(9, end);
12156
12311
  }
12157
12312
  for (let index = 0; index < stack.length; index++) {
12158
12313
  onCloseTag(stack[index], end - 1);
@@ -12282,7 +12437,7 @@ function backTrack(index, c) {
12282
12437
  while (currentInput.charCodeAt(i) !== c && i >= 0) i--;
12283
12438
  return i;
12284
12439
  }
12285
- const specialTemplateDir = new Set([
12440
+ const specialTemplateDir = /* @__PURE__ */ new Set([
12286
12441
  "if",
12287
12442
  "else",
12288
12443
  "else-if",
@@ -12318,16 +12473,18 @@ function condenseWhitespace(nodes) {
12318
12473
  let removedWhitespace = false;
12319
12474
  for (let i = 0; i < nodes.length; i++) {
12320
12475
  const node = nodes[i];
12321
- if (node.type === 2) if (!inPre) {
12322
- if (isAllWhitespace(node.content)) {
12323
- const prev = nodes[i - 1] && nodes[i - 1].type;
12324
- const next = nodes[i + 1] && nodes[i + 1].type;
12325
- if (!prev || !next || shouldCondense && (prev === 3 && (next === 3 || next === 1) || prev === 1 && (next === 3 || next === 1 && hasNewlineChar(node.content)))) {
12326
- removedWhitespace = true;
12327
- nodes[i] = null;
12328
- } else node.content = " ";
12329
- } else if (shouldCondense) node.content = condense(node.content);
12330
- } else node.content = node.content.replace(windowsNewlineRE, "\n");
12476
+ if (node.type === 2) {
12477
+ if (!inPre) {
12478
+ if (isAllWhitespace(node.content)) {
12479
+ const prev = nodes[i - 1] && nodes[i - 1].type;
12480
+ const next = nodes[i + 1] && nodes[i + 1].type;
12481
+ if (!prev || !next || shouldCondense && (prev === 3 && (next === 3 || next === 1) || prev === 1 && (next === 3 || next === 1 && hasNewlineChar(node.content)))) {
12482
+ removedWhitespace = true;
12483
+ nodes[i] = null;
12484
+ } else node.content = " ";
12485
+ } else if (shouldCondense) node.content = condense(node.content);
12486
+ } else node.content = node.content.replace(windowsNewlineRE, "\n");
12487
+ }
12331
12488
  }
12332
12489
  return removedWhitespace ? nodes.filter(Boolean) : nodes;
12333
12490
  }
@@ -12604,7 +12761,7 @@ function getConstantType(node, context) {
12604
12761
  default: return 0;
12605
12762
  }
12606
12763
  }
12607
- const allowHoistedHelperSet = new Set([
12764
+ const allowHoistedHelperSet = /* @__PURE__ */ new Set([
12608
12765
  NORMALIZE_CLASS,
12609
12766
  NORMALIZE_STYLE,
12610
12767
  NORMALIZE_PROPS,
@@ -12775,7 +12932,7 @@ function transform(root, options) {
12775
12932
  traverseNode(root, context);
12776
12933
  if (options.hoistStatic) cacheStatic(root, context);
12777
12934
  if (!options.ssr) createRootCodegen(root, context);
12778
- root.helpers = new Set([...context.helpers.keys()]);
12935
+ root.helpers = /* @__PURE__ */ new Set([...context.helpers.keys()]);
12779
12936
  root.components = [...context.components];
12780
12937
  root.directives = [...context.directives];
12781
12938
  root.imports = context.imports;
@@ -12818,8 +12975,10 @@ function traverseNode(node, context) {
12818
12975
  const exitFns = [];
12819
12976
  for (let i = 0; i < nodeTransforms.length; i++) {
12820
12977
  const onExit = nodeTransforms[i](node, context);
12821
- if (onExit) if (isArray(onExit)) exitFns.push(...onExit);
12822
- else exitFns.push(onExit);
12978
+ if (onExit) {
12979
+ if (isArray(onExit)) exitFns.push(...onExit);
12980
+ else exitFns.push(onExit);
12981
+ }
12823
12982
  if (!context.currentNode) return;
12824
12983
  else node = context.currentNode;
12825
12984
  }
@@ -12836,9 +12995,7 @@ function traverseNode(node, context) {
12836
12995
  case 10:
12837
12996
  case 11:
12838
12997
  case 1:
12839
- case 0:
12840
- traverseChildren(node, context);
12841
- break;
12998
+ case 0: traverseChildren(node, context);
12842
12999
  }
12843
13000
  context.currentNode = node;
12844
13001
  let i = exitFns.length;
@@ -13024,16 +13181,18 @@ function genFunctionPreamble(ast, context) {
13024
13181
  const { ssr, prefixIdentifiers, push, newline, runtimeModuleName, runtimeGlobalName, ssrRuntimeModuleName } = context;
13025
13182
  const VueBinding = ssr ? `require(${JSON.stringify(runtimeModuleName)})` : runtimeGlobalName;
13026
13183
  const helpers = Array.from(ast.helpers);
13027
- if (helpers.length > 0) if (prefixIdentifiers) push(`const { ${helpers.map(aliasHelper).join(", ")} } = ${VueBinding}\n`, -1);
13028
- else {
13029
- push(`const _Vue = ${VueBinding}\n`, -1);
13030
- if (ast.hoists.length) push(`const { ${[
13031
- CREATE_VNODE,
13032
- CREATE_ELEMENT_VNODE,
13033
- CREATE_COMMENT,
13034
- CREATE_TEXT,
13035
- CREATE_STATIC
13036
- ].filter((helper) => helpers.includes(helper)).map(aliasHelper).join(", ")} } = _Vue\n`, -1);
13184
+ if (helpers.length > 0) {
13185
+ if (prefixIdentifiers) push(`const { ${helpers.map(aliasHelper).join(", ")} } = ${VueBinding}\n`, -1);
13186
+ else {
13187
+ push(`const _Vue = ${VueBinding}\n`, -1);
13188
+ if (ast.hoists.length) push(`const { ${[
13189
+ CREATE_VNODE,
13190
+ CREATE_ELEMENT_VNODE,
13191
+ CREATE_COMMENT,
13192
+ CREATE_TEXT,
13193
+ CREATE_STATIC
13194
+ ].filter((helper) => helpers.includes(helper)).map(aliasHelper).join(", ")} } = _Vue\n`, -1);
13195
+ }
13037
13196
  }
13038
13197
  if (ast.ssrHelpers && ast.ssrHelpers.length) push(`const { ${ast.ssrHelpers.map(aliasHelper).join(", ")} } = require("${ssrRuntimeModuleName}")\n`, -1);
13039
13198
  genHoists(ast.hoists, context);
@@ -13110,10 +13269,12 @@ function genNodeList(nodes, context, multilines = false, comma = true) {
13110
13269
  if (isString(node)) push(node, -3);
13111
13270
  else if (isArray(node)) genNodeListAsArray(node, context);
13112
13271
  else genNode(node, context);
13113
- if (i < nodes.length - 1) if (multilines) {
13114
- comma && push(",");
13115
- newline();
13116
- } else comma && push(", ");
13272
+ if (i < nodes.length - 1) {
13273
+ if (multilines) {
13274
+ comma && push(",");
13275
+ newline();
13276
+ } else comma && push(", ");
13277
+ }
13117
13278
  }
13118
13279
  }
13119
13280
  function genNode(node, context) {
@@ -13185,12 +13346,7 @@ function genNode(node, context) {
13185
13346
  case 25:
13186
13347
  genSequenceExpression(node, context);
13187
13348
  break;
13188
- case 26:
13189
- genReturnStatement(node, context);
13190
- break;
13191
- /* v8 ignore start */
13192
- case 10: break;
13193
- default:
13349
+ case 26: genReturnStatement(node, context);
13194
13350
  }
13195
13351
  }
13196
13352
  function genText(node, context) {
@@ -13428,7 +13584,7 @@ function genReturnStatement({ returns }, context) {
13428
13584
  }
13429
13585
  //#endregion
13430
13586
  //#region packages/compiler-core/src/transforms/transformExpression.ts
13431
- const isLiteralWhitelisted = /* @__PURE__ */ makeMap("true,false,null,this");
13587
+ const isLiteralWhitelisted = /*@__PURE__*/ makeMap("true,false,null,this");
13432
13588
  const transformExpression = (node, context) => {
13433
13589
  if (node.type === 5) node.content = processExpression(node.content, context);
13434
13590
  else if (node.type === 1) {
@@ -13461,20 +13617,21 @@ function processExpression(node, context, asParams = false, asRawStatements = fa
13461
13617
  if (isConst(type) || type === "setup-reactive-const" || localVars[raw]) return raw;
13462
13618
  else if (type === "setup-ref") return `${raw}.value`;
13463
13619
  else if (type === "setup-maybe-ref") return isAssignmentLVal || isUpdateArg || isDestructureAssignment ? `${raw}.value` : wrapWithUnref(raw);
13464
- else if (type === "setup-let") if (isAssignmentLVal) {
13465
- const { right: rVal, operator } = parent;
13466
- const rExpString = stringifyExpression(processExpression(createSimpleExpression(rawExp.slice(rVal.start - 1, rVal.end - 1), false), context, false, false, knownIds));
13467
- return `${context.helperString(IS_REF)}(${raw})${context.isTS ? ` //@ts-ignore\n` : ``} ? ${raw}.value ${operator} ${rExpString} : ${raw}`;
13468
- } else if (isUpdateArg) {
13469
- id.start = parent.start;
13470
- id.end = parent.end;
13471
- const { prefix: isPrefix, operator } = parent;
13472
- const prefix = isPrefix ? operator : ``;
13473
- const postfix = isPrefix ? `` : operator;
13474
- return `${context.helperString(IS_REF)}(${raw})${context.isTS ? ` //@ts-ignore\n` : ``} ? ${prefix}${raw}.value${postfix} : ${prefix}${raw}${postfix}`;
13475
- } else if (isDestructureAssignment) return raw;
13476
- else return wrapWithUnref(raw);
13477
- else if (type === "props") return genPropsAccessExp(raw);
13620
+ else if (type === "setup-let") {
13621
+ if (isAssignmentLVal) {
13622
+ const { right: rVal, operator } = parent;
13623
+ const rExpString = stringifyExpression(processExpression(createSimpleExpression(rawExp.slice(rVal.start - 1, rVal.end - 1), false), context, false, false, knownIds));
13624
+ return `${context.helperString(IS_REF)}(${raw})${context.isTS ? ` //@ts-ignore\n` : ``} ? ${raw}.value ${operator} ${rExpString} : ${raw}`;
13625
+ } else if (isUpdateArg) {
13626
+ id.start = parent.start;
13627
+ id.end = parent.end;
13628
+ const { prefix: isPrefix, operator } = parent;
13629
+ const prefix = isPrefix ? operator : ``;
13630
+ const postfix = isPrefix ? `` : operator;
13631
+ return `${context.helperString(IS_REF)}(${raw})${context.isTS ? ` //@ts-ignore\n` : ``} ? ${prefix}${raw}.value${postfix} : ${prefix}${raw}${postfix}`;
13632
+ } else if (isDestructureAssignment) return raw;
13633
+ else return wrapWithUnref(raw);
13634
+ } else if (type === "props") return genPropsAccessExp(raw);
13478
13635
  else if (type === "props-aliased") return genPropsAccessExp(bindingMetadata.__propsAliases[raw]);
13479
13636
  } else if (type && type.startsWith("setup") || type === "literal-const") return `$setup.${raw}`;
13480
13637
  else if (type === "props-aliased") return `$props['${bindingMetadata.__propsAliases[raw]}']`;
@@ -13491,8 +13648,10 @@ function processExpression(node, context, asParams = false, asRawStatements = fa
13491
13648
  if (!asParams && !isScopeVarReference && !isLiteral && (!isAllowedGlobal || bindingMetadata[rawExp])) {
13492
13649
  if (isConst(bindingMetadata[rawExp])) node.constType = 1;
13493
13650
  node.content = rewriteIdentifier(rawExp);
13494
- } else if (!isScopeVarReference) if (isLiteral) node.constType = 3;
13495
- else node.constType = 2;
13651
+ } else if (!isScopeVarReference) {
13652
+ if (isLiteral) node.constType = 3;
13653
+ else node.constType = 2;
13654
+ }
13496
13655
  return node;
13497
13656
  }
13498
13657
  if (!ast) {
@@ -13648,12 +13807,13 @@ function createChildrenCodegenNode(branch, keyIndex, context) {
13648
13807
  const keyProperty = createObjectProperty(`key`, createSimpleExpression(`${keyIndex}`, false, locStub, 2));
13649
13808
  const { children } = branch;
13650
13809
  const firstChild = children[0];
13651
- if (children.length !== 1 || firstChild.type !== 1) if (children.length === 1 && firstChild.type === 11) {
13652
- const vnodeCall = firstChild.codegenNode;
13653
- injectProp(vnodeCall, keyProperty, context);
13654
- return vnodeCall;
13655
- } else return createVNodeCall(context, helper(FRAGMENT), createObjectExpression([keyProperty]), children, 64, void 0, void 0, true, false, false, branch.loc);
13656
- else {
13810
+ if (children.length !== 1 || firstChild.type !== 1) {
13811
+ if (children.length === 1 && firstChild.type === 11) {
13812
+ const vnodeCall = firstChild.codegenNode;
13813
+ injectProp(vnodeCall, keyProperty, context);
13814
+ return vnodeCall;
13815
+ } else return createVNodeCall(context, helper(FRAGMENT), createObjectExpression([keyProperty]), children, 64, void 0, void 0, true, false, false, branch.loc);
13816
+ } else {
13657
13817
  const ret = firstChild.codegenNode;
13658
13818
  const vnodeCall = getMemoedVNodeCall(ret);
13659
13819
  if (vnodeCall.type === 13) convertToBlock(vnodeCall, context);
@@ -13674,9 +13834,10 @@ function isSameKey(a, b) {
13674
13834
  return true;
13675
13835
  }
13676
13836
  function getParentCondition(node) {
13677
- while (true) if (node.type === 19) if (node.alternate.type === 19) node = node.alternate;
13678
- else return node;
13679
- else if (node.type === 20) node = node.value;
13837
+ while (true) if (node.type === 19) {
13838
+ if (node.alternate.type === 19) node = node.alternate;
13839
+ else return node;
13840
+ } else if (node.type === 20) node = node.value;
13680
13841
  }
13681
13842
  //#endregion
13682
13843
  //#region packages/compiler-core/src/transforms/vFor.ts
@@ -13720,10 +13881,12 @@ const transformFor = createStructuralDirectiveTransform("for", (node, dir, conte
13720
13881
  childBlock = children[0].codegenNode;
13721
13882
  if (isTemplate && keyProperty) injectProp(childBlock, keyProperty, context);
13722
13883
  const shouldUseBlock = !isStableFragment || childBlock.isBlockRequired === true;
13723
- if (childBlock.isBlock !== shouldUseBlock) if (childBlock.isBlock) {
13724
- removeHelper(OPEN_BLOCK);
13725
- removeHelper(getVNodeBlockHelper(context.inSSR, childBlock.isComponent));
13726
- } else removeHelper(getVNodeHelper(context.inSSR, childBlock.isComponent));
13884
+ if (childBlock.isBlock !== shouldUseBlock) {
13885
+ if (childBlock.isBlock) {
13886
+ removeHelper(OPEN_BLOCK);
13887
+ removeHelper(getVNodeBlockHelper(context.inSSR, childBlock.isComponent));
13888
+ } else removeHelper(getVNodeHelper(context.inSSR, childBlock.isComponent));
13889
+ }
13727
13890
  childBlock.isBlock = shouldUseBlock;
13728
13891
  if (childBlock.isBlock) {
13729
13892
  helper(OPEN_BLOCK);
@@ -13940,8 +14103,10 @@ function buildSlots(node, context, buildSlotFn = buildClientSlotFn) {
13940
14103
  return createObjectProperty(`default`, fn);
13941
14104
  };
13942
14105
  if (!hasTemplateSlots) slotsProperties.push(buildDefaultSlotProperty(void 0, children));
13943
- else if (implicitDefaultChildren.length && !implicitDefaultChildren.every(isWhitespaceText)) if (hasNamedDefaultSlot) context.onError(createCompilerError(39, implicitDefaultChildren[0].loc));
13944
- else slotsProperties.push(buildDefaultSlotProperty(void 0, implicitDefaultChildren));
14106
+ else if (implicitDefaultChildren.length && !implicitDefaultChildren.every(isWhitespaceText)) {
14107
+ if (hasNamedDefaultSlot) context.onError(createCompilerError(39, implicitDefaultChildren[0].loc));
14108
+ else slotsProperties.push(buildDefaultSlotProperty(void 0, implicitDefaultChildren));
14109
+ }
13945
14110
  }
13946
14111
  const slotFlag = hasDynamicSlots ? 2 : hasForwardedSlots(node.children) ? 3 : 1;
13947
14112
  let slots = createObjectExpression(slotsProperties.concat(createObjectProperty(`_`, createSimpleExpression(slotFlag + ``, false))), loc);
@@ -13967,10 +14132,7 @@ function hasForwardedSlots(children) {
13967
14132
  if (hasForwardedSlots(child.branches)) return true;
13968
14133
  break;
13969
14134
  case 10:
13970
- case 11:
13971
- if (hasForwardedSlots(child.children)) return true;
13972
- break;
13973
- default: break;
14135
+ case 11: if (hasForwardedSlots(child.children)) return true;
13974
14136
  }
13975
14137
  }
13976
14138
  return false;
@@ -14184,22 +14346,23 @@ function buildProps(node, context, props = node.props, isComponent, isDynamicCom
14184
14346
  if (isVBind && isStaticArgOf(arg, "ref")) pushRefVForMarker();
14185
14347
  if (!arg && (isVBind || isVOn)) {
14186
14348
  hasDynamicKeys = true;
14187
- if (exp) if (isVBind) {
14188
- pushMergeArg();
14189
- if (isCompatEnabled("COMPILER_V_BIND_OBJECT_ORDER", context)) {
14190
- mergeArgs.unshift(exp);
14191
- continue;
14192
- }
14193
- pushRefVForMarker();
14194
- pushMergeArg();
14195
- mergeArgs.push(exp);
14196
- } else pushMergeArg({
14197
- type: 14,
14198
- loc,
14199
- callee: context.helper(TO_HANDLERS),
14200
- arguments: isComponent ? [exp] : [exp, `true`]
14201
- });
14202
- else context.onError(createCompilerError(isVBind ? 34 : 35, loc));
14349
+ if (exp) {
14350
+ if (isVBind) {
14351
+ pushMergeArg();
14352
+ if (isCompatEnabled("COMPILER_V_BIND_OBJECT_ORDER", context)) {
14353
+ mergeArgs.unshift(exp);
14354
+ continue;
14355
+ }
14356
+ pushRefVForMarker();
14357
+ pushMergeArg();
14358
+ mergeArgs.push(exp);
14359
+ } else pushMergeArg({
14360
+ type: 14,
14361
+ loc,
14362
+ callee: context.helper(TO_HANDLERS),
14363
+ arguments: isComponent ? [exp] : [exp, `true`]
14364
+ });
14365
+ } else context.onError(createCompilerError(isVBind ? 34 : 35, loc));
14203
14366
  continue;
14204
14367
  }
14205
14368
  if (isVBind && modifiers.some((mod) => mod.content === "prop")) patchFlag |= 32;
@@ -14257,9 +14420,7 @@ function buildProps(node, context, props = node.props, isComponent, isDynamicCom
14257
14420
  } else propsExpression = createCallExpression(context.helper(NORMALIZE_PROPS), [propsExpression]);
14258
14421
  break;
14259
14422
  case 14: break;
14260
- default:
14261
- propsExpression = createCallExpression(context.helper(NORMALIZE_PROPS), [createCallExpression(context.helper(GUARD_REACTIVE_PROPS), [propsExpression])]);
14262
- break;
14423
+ default: propsExpression = createCallExpression(context.helper(NORMALIZE_PROPS), [createCallExpression(context.helper(GUARD_REACTIVE_PROPS), [propsExpression])]);
14263
14424
  }
14264
14425
  return {
14265
14426
  props: propsExpression,
@@ -14369,10 +14530,12 @@ function processSlotOutlet(node, context) {
14369
14530
  for (let i = 0; i < node.props.length; i++) {
14370
14531
  const p = node.props[i];
14371
14532
  if (p.type === 6) {
14372
- if (p.value) if (p.name === "name") slotName = JSON.stringify(p.value.content);
14373
- else {
14374
- p.name = camelize(p.name);
14375
- nonNameProps.push(p);
14533
+ if (p.value) {
14534
+ if (p.name === "name") slotName = JSON.stringify(p.value.content);
14535
+ else {
14536
+ p.name = camelize(p.name);
14537
+ nonNameProps.push(p);
14538
+ }
14376
14539
  }
14377
14540
  } else if (p.name === "bind" && isStaticArgOf(p.arg, "name")) {
14378
14541
  if (p.exp) slotName = p.exp;
@@ -14401,16 +14564,17 @@ const transformOn$1 = (dir, node, context, augmentor) => {
14401
14564
  const { loc, modifiers, arg } = dir;
14402
14565
  if (!dir.exp && !modifiers.length) context.onError(createCompilerError(35, loc));
14403
14566
  let eventName;
14404
- if (arg.type === 4) if (arg.isStatic) {
14405
- let rawName = arg.content;
14406
- if (rawName.startsWith("vue:")) rawName = `vnode-${rawName.slice(4)}`;
14407
- eventName = createSimpleExpression(node.tagType !== 0 || rawName.startsWith("vnode") || !/[A-Z]/.test(rawName) ? toHandlerKey(camelize(rawName)) : `on:${rawName}`, true, arg.loc);
14408
- } else eventName = createCompoundExpression([
14409
- `${context.helperString(TO_HANDLER_KEY)}(`,
14410
- arg,
14411
- `)`
14412
- ]);
14413
- else {
14567
+ if (arg.type === 4) {
14568
+ if (arg.isStatic) {
14569
+ let rawName = arg.content;
14570
+ if (rawName.startsWith("vue:")) rawName = `vnode-${rawName.slice(4)}`;
14571
+ eventName = createSimpleExpression(node.tagType !== 0 || rawName.startsWith("vnode") || !/[A-Z]/.test(rawName) ? toHandlerKey(camelize(rawName)) : `on:${rawName}`, true, arg.loc);
14572
+ } else eventName = createCompoundExpression([
14573
+ `${context.helperString(TO_HANDLER_KEY)}(`,
14574
+ arg,
14575
+ `)`
14576
+ ]);
14577
+ } else {
14414
14578
  eventName = arg;
14415
14579
  eventName.children.unshift(`${context.helperString(TO_HANDLER_KEY)}(`);
14416
14580
  eventName.children.push(`)`);
@@ -14427,13 +14591,15 @@ const transformOn$1 = (dir, node, context, augmentor) => {
14427
14591
  exp = dir.exp = processExpression(exp, context, false, hasMultipleStatements);
14428
14592
  isInlineStatement && context.removeIdentifiers(`$event`);
14429
14593
  shouldCache = context.cacheHandlers && !context.inVOnce && !(exp.type === 4 && exp.constType > 0) && !(isMemberExp && node.tagType === 1) && !hasScopeRef(exp, context.identifiers);
14430
- if (shouldCache && isMemberExp) if (exp.type === 4) exp.content = `${exp.content} && ${exp.content}(...args)`;
14431
- else exp.children = [
14432
- ...exp.children,
14433
- ` && `,
14434
- ...exp.children,
14435
- `(...args)`
14436
- ];
14594
+ if (shouldCache && isMemberExp) {
14595
+ if (exp.type === 4) exp.content = `${exp.content} && ${exp.content}(...args)`;
14596
+ else exp.children = [
14597
+ ...exp.children,
14598
+ ` && `,
14599
+ ...exp.children,
14600
+ `(...args)`
14601
+ ];
14602
+ }
14437
14603
  }
14438
14604
  if (isInlineStatement || shouldCache && isMemberExp) exp = createCompoundExpression([
14439
14605
  `${isInlineStatement ? context.isTS ? `($event: any)` : `$event` : `${context.isTS ? `\n//@ts-ignore\n` : ``}(...args)`} => ${hasMultipleStatements ? `{` : `(`}`,
@@ -14461,11 +14627,14 @@ const transformBind = (dir, _node, context) => {
14461
14627
  arg.children.unshift(`(`);
14462
14628
  arg.children.push(`) || ""`);
14463
14629
  } else if (!arg.isStatic) arg.content = arg.content ? `${arg.content} || ""` : `""`;
14464
- if (modifiers.some((mod) => mod.content === "camel")) if (arg.type === 4) if (arg.isStatic) arg.content = camelize(arg.content);
14465
- else arg.content = `${context.helperString(CAMELIZE)}(${arg.content})`;
14466
- else {
14467
- arg.children.unshift(`${context.helperString(CAMELIZE)}(`);
14468
- arg.children.push(`)`);
14630
+ if (modifiers.some((mod) => mod.content === "camel")) {
14631
+ if (arg.type === 4) {
14632
+ if (arg.isStatic) arg.content = camelize(arg.content);
14633
+ else arg.content = `${context.helperString(CAMELIZE)}(${arg.content})`;
14634
+ } else {
14635
+ arg.children.unshift(`${context.helperString(CAMELIZE)}(`);
14636
+ arg.children.push(`)`);
14637
+ }
14469
14638
  }
14470
14639
  if (!context.inSSR) {
14471
14640
  if (modifiers.some((mod) => mod.content === "prop")) injectPrefix(arg, ".");
@@ -14474,9 +14643,10 @@ const transformBind = (dir, _node, context) => {
14474
14643
  return { props: [createObjectProperty(arg, exp)] };
14475
14644
  };
14476
14645
  const injectPrefix = (arg, prefix) => {
14477
- if (arg.type === 4) if (arg.isStatic) arg.content = prefix + arg.content;
14478
- else arg.content = `\`${prefix}\${${arg.content}}\``;
14479
- else {
14646
+ if (arg.type === 4) {
14647
+ if (arg.isStatic) arg.content = prefix + arg.content;
14648
+ else arg.content = `\`${prefix}\${${arg.content}}\``;
14649
+ } else {
14480
14650
  arg.children.unshift(`'${prefix}' + (`);
14481
14651
  arg.children.push(`)`);
14482
14652
  }
@@ -14571,20 +14741,21 @@ const transformModel$1 = (dir, node, context) => {
14571
14741
  const eventName = arg ? isStaticExp(arg) ? `onUpdate:${camelize(arg.content)}` : createCompoundExpression(["\"onUpdate:\" + ", arg]) : `onUpdate:modelValue`;
14572
14742
  let assignmentExp;
14573
14743
  const eventArg = context.isTS ? `($event: any)` : `$event`;
14574
- if (maybeRef) if (bindingType === "setup-ref") assignmentExp = createCompoundExpression([
14575
- `${eventArg} => ((`,
14576
- createSimpleExpression(rawExp, false, exp.loc),
14577
- `).value = $event)`
14578
- ]);
14579
- else {
14580
- const altAssignment = bindingType === "setup-let" ? `${rawExp} = $event` : `null`;
14581
- assignmentExp = createCompoundExpression([
14582
- `${eventArg} => (${context.helperString(IS_REF)}(${rawExp}) ? (`,
14744
+ if (maybeRef) {
14745
+ if (bindingType === "setup-ref") assignmentExp = createCompoundExpression([
14746
+ `${eventArg} => ((`,
14583
14747
  createSimpleExpression(rawExp, false, exp.loc),
14584
- `).value = $event : ${altAssignment})`
14748
+ `).value = $event)`
14585
14749
  ]);
14586
- }
14587
- else assignmentExp = createCompoundExpression([
14750
+ else {
14751
+ const altAssignment = bindingType === "setup-let" ? `${rawExp} = $event` : `null`;
14752
+ assignmentExp = createCompoundExpression([
14753
+ `${eventArg} => (${context.helperString(IS_REF)}(${rawExp}) ? (`,
14754
+ createSimpleExpression(rawExp, false, exp.loc),
14755
+ `).value = $event : ${altAssignment})`
14756
+ ]);
14757
+ }
14758
+ } else assignmentExp = createCompoundExpression([
14588
14759
  `${eventArg} => ((`,
14589
14760
  exp,
14590
14761
  `) = $event)`
@@ -14643,11 +14814,12 @@ function parseFilter(node, context) {
14643
14814
  if (c === 96 && prev !== 92) inTemplateString = false;
14644
14815
  } else if (inRegex) {
14645
14816
  if (c === 47 && prev !== 92) inRegex = false;
14646
- } else if (c === 124 && exp.charCodeAt(i + 1) !== 124 && exp.charCodeAt(i - 1) !== 124 && !curly && !square && !paren) if (expression === void 0) {
14647
- lastFilterIndex = i + 1;
14648
- expression = exp.slice(0, i).trim();
14649
- } else pushFilter();
14650
- else {
14817
+ } else if (c === 124 && exp.charCodeAt(i + 1) !== 124 && exp.charCodeAt(i - 1) !== 124 && !curly && !square && !paren) {
14818
+ if (expression === void 0) {
14819
+ lastFilterIndex = i + 1;
14820
+ expression = exp.slice(0, i).trim();
14821
+ } else pushFilter();
14822
+ } else {
14651
14823
  switch (c) {
14652
14824
  case 34:
14653
14825
  inDouble = true;
@@ -14673,9 +14845,7 @@ function parseFilter(node, context) {
14673
14845
  case 123:
14674
14846
  curly++;
14675
14847
  break;
14676
- case 125:
14677
- curly--;
14678
- break;
14848
+ case 125: curly--;
14679
14849
  }
14680
14850
  if (c === 47) {
14681
14851
  let j = i - 1;
@@ -14934,8 +15104,6 @@ const transformModel = (dir, node, context) => {
14934
15104
  case "file":
14935
15105
  isInvalidType = true;
14936
15106
  context.onError(createDOMCompilerError(60, dir.loc));
14937
- break;
14938
- default: break;
14939
15107
  }
14940
15108
  } else if (hasDynamicKeyVBind(node)) directiveToUse = V_MODEL_DYNAMIC;
14941
15109
  } else if (tag === "select") directiveToUse = V_MODEL_SELECT;
@@ -14946,10 +15114,10 @@ const transformModel = (dir, node, context) => {
14946
15114
  };
14947
15115
  //#endregion
14948
15116
  //#region packages/compiler-dom/src/transforms/vOn.ts
14949
- const isEventOptionModifier = /* @__PURE__ */ makeMap(`passive,once,capture`);
14950
- const isNonKeyModifier = /* @__PURE__ */ makeMap("stop,prevent,self,ctrl,shift,alt,meta,exact,middle");
14951
- const maybeKeyModifier = /* @__PURE__ */ makeMap("left,right");
14952
- const isKeyboardEvent = /* @__PURE__ */ makeMap(`onkeyup,onkeydown,onkeypress`);
15117
+ const isEventOptionModifier = /*@__PURE__*/ makeMap(`passive,once,capture`);
15118
+ const isNonKeyModifier = /*@__PURE__*/ makeMap("stop,prevent,self,ctrl,shift,alt,meta,exact,middle");
15119
+ const maybeKeyModifier = /*@__PURE__*/ makeMap("left,right");
15120
+ const isKeyboardEvent = /*@__PURE__*/ makeMap(`onkeyup,onkeydown,onkeypress`);
14953
15121
  const resolveModifiers = (key, modifiers, context, loc) => {
14954
15122
  const keyModifiers = [];
14955
15123
  const nonKeyModifiers = [];
@@ -14968,13 +15136,15 @@ const resolveModifiers = (key, modifiers, context, loc) => {
14968
15136
  else if (isEventOptionModifier(modifier)) eventOptionModifiers.push(modifier);
14969
15137
  else {
14970
15138
  const keyString = isString(key) ? key : isStaticExp(key) ? key.content : null;
14971
- if (maybeKeyModifier(modifier)) if (keyString) if (isKeyboardEvent(keyString.toLowerCase())) keyModifiers.push(modifier);
14972
- else nonKeyModifiers.push(modifier);
14973
- else {
14974
- keyModifiers.push(modifier);
14975
- nonKeyModifiers.push(modifier);
14976
- }
14977
- else if (isNonKeyModifier(modifier)) nonKeyModifiers.push(modifier);
15139
+ if (maybeKeyModifier(modifier)) {
15140
+ if (keyString) {
15141
+ if (isKeyboardEvent(keyString.toLowerCase())) keyModifiers.push(modifier);
15142
+ else nonKeyModifiers.push(modifier);
15143
+ } else {
15144
+ keyModifiers.push(modifier);
15145
+ nonKeyModifiers.push(modifier);
15146
+ }
15147
+ } else if (isNonKeyModifier(modifier)) nonKeyModifiers.push(modifier);
14978
15148
  else keyModifiers.push(modifier);
14979
15149
  }
14980
15150
  }
@@ -15112,7 +15282,7 @@ const dataAriaRE = /^(?:data|aria)-/;
15112
15282
  const isStringifiableAttr = (name, ns) => {
15113
15283
  return (ns === 0 ? isKnownHtmlAttr(name) : ns === 1 ? isKnownSvgAttr(name) : ns === 2 ? isKnownMathMLAttr(name) : false) || dataAriaRE.test(name);
15114
15284
  };
15115
- const isNonStringifiable = /* @__PURE__ */ makeMap(`caption,thead,tr,th,tbody,td,tfoot,colgroup,col`);
15285
+ const isNonStringifiable = /*@__PURE__*/ makeMap(`caption,thead,tr,th,tbody,td,tfoot,colgroup,col`);
15116
15286
  /**
15117
15287
  * for a cached node, analyze it and return:
15118
15288
  * - false: bailed (contains non-stringifiable props or runtime constant)
@@ -15247,8 +15417,10 @@ function compile(src, options = {}) {
15247
15417
  //#region packages/vue-compat/src/index.ts
15248
15418
  const compileCache = Object.create(null);
15249
15419
  function compileToFunction(template, options) {
15250
- if (!isString(template)) if (template.nodeType) template = template.innerHTML;
15251
- else return NOOP;
15420
+ if (!isString(template)) {
15421
+ if (template.nodeType) template = template.innerHTML;
15422
+ else return NOOP;
15423
+ }
15252
15424
  const key = genCacheKey(template, options);
15253
15425
  const cached = compileCache[key];
15254
15426
  if (cached) return cached;