@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
  **/
@@ -23,7 +23,7 @@ var __exportAll = (all, no_symbols) => {
23
23
  * \/\*#\_\_PURE\_\_\*\/
24
24
  * So that they can be tree-shaken if necessary.
25
25
  */
26
- /* @__NO_SIDE_EFFECTS__ */
26
+ /*@__NO_SIDE_EFFECTS__*/
27
27
  function makeMap(str) {
28
28
  const map = Object.create(null);
29
29
  for (const key of str.split(",")) map[key] = 1;
@@ -67,9 +67,9 @@ const toRawType = (value) => {
67
67
  };
68
68
  const isPlainObject = (val) => toTypeString(val) === "[object Object]";
69
69
  const isIntegerKey = (key) => isString(key) && key !== "NaN" && key[0] !== "-" && "" + parseInt(key, 10) === key;
70
- const isReservedProp = /* @__PURE__ */ makeMap(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted");
71
- const isBuiltInTag = /* @__PURE__ */ makeMap("slot,component");
72
- const isBuiltInDirective = /* @__PURE__ */ makeMap("bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo");
70
+ const isReservedProp = /*@__PURE__*/ makeMap(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted");
71
+ const isBuiltInTag = /*#__PURE__*/ makeMap("slot,component");
72
+ const isBuiltInDirective = /*@__PURE__*/ makeMap("bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo");
73
73
  const cacheStringFunction = (fn) => {
74
74
  const cache = Object.create(null);
75
75
  return ((str) => {
@@ -177,7 +177,7 @@ const slotFlagsText = {
177
177
  [2]: "DYNAMIC",
178
178
  [3]: "FORWARDED"
179
179
  };
180
- 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");
180
+ 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");
181
181
  //#endregion
182
182
  //#region packages/shared/src/codeframe.ts
183
183
  const range = 2;
@@ -284,22 +284,22 @@ const VOID_TAGS = "area,base,br,col,embed,hr,img,input,link,meta,param,source,tr
284
284
  * Compiler only.
285
285
  * Do NOT use in runtime code paths unless behind `!!(process.env.NODE_ENV !== 'production')` flag.
286
286
  */
287
- const isHTMLTag = /* @__PURE__ */ makeMap(HTML_TAGS);
287
+ const isHTMLTag = /*@__PURE__*/ makeMap(HTML_TAGS);
288
288
  /**
289
289
  * Compiler only.
290
290
  * Do NOT use in runtime code paths unless behind `!!(process.env.NODE_ENV !== 'production')` flag.
291
291
  */
292
- const isSVGTag = /* @__PURE__ */ makeMap(SVG_TAGS);
292
+ const isSVGTag = /*@__PURE__*/ makeMap(SVG_TAGS);
293
293
  /**
294
294
  * Compiler only.
295
295
  * Do NOT use in runtime code paths unless behind `!!(process.env.NODE_ENV !== 'production')` flag.
296
296
  */
297
- const isMathMLTag = /* @__PURE__ */ makeMap(MATH_TAGS);
297
+ const isMathMLTag = /*@__PURE__*/ makeMap(MATH_TAGS);
298
298
  /**
299
299
  * Compiler only.
300
300
  * Do NOT use in runtime code paths unless behind `!!(process.env.NODE_ENV !== 'production')` flag.
301
301
  */
302
- const isVoidTag = /* @__PURE__ */ makeMap(VOID_TAGS);
302
+ const isVoidTag = /*@__PURE__*/ makeMap(VOID_TAGS);
303
303
  //#endregion
304
304
  //#region packages/shared/src/domAttrConfig.ts
305
305
  /**
@@ -314,11 +314,11 @@ const isVoidTag = /* @__PURE__ */ makeMap(VOID_TAGS);
314
314
  * - readonly -> readOnly
315
315
  */
316
316
  const specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`;
317
- const isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs);
317
+ const isSpecialBooleanAttr = /*@__PURE__*/ makeMap(specialBooleanAttrs);
318
318
  /**
319
319
  * The full list is needed during SSR to produce the correct initial markup.
320
320
  */
321
- const isBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs + ",async,autofocus,autoplay,controls,default,defer,disabled,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected");
321
+ const isBooleanAttr = /*@__PURE__*/ makeMap(specialBooleanAttrs + ",async,autofocus,autoplay,controls,default,defer,disabled,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected");
322
322
  /**
323
323
  * Boolean attributes should be included if the value is truthy or ''.
324
324
  * e.g. `<select multiple>` compiles to `{ multiple: '' }`
@@ -332,11 +332,11 @@ function includeBooleanAttr(value) {
332
332
  * Don't also forget to allow `data-*` and `aria-*`!
333
333
  * Generated from https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes
334
334
  */
335
- 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");
335
+ 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");
336
336
  /**
337
337
  * Generated from https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute
338
338
  */
339
- 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");
339
+ 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");
340
340
  /**
341
341
  * Shared between server-renderer and runtime-core hydration logic
342
342
  */
@@ -368,6 +368,21 @@ function looseCompareArrays(a, b) {
368
368
  for (let i = 0; equal && i < a.length; i++) equal = looseEqual(a[i], b[i]);
369
369
  return equal;
370
370
  }
371
+ function looseCompareCollections(a, b) {
372
+ if (a.size !== b.size) return false;
373
+ const candidates = Array.from(b);
374
+ const matched = new Uint8Array(candidates.length);
375
+ for (const item of a) {
376
+ let index = -1;
377
+ for (let i = 0; i < candidates.length; i++) if (!matched[i] && looseEqual(item, candidates[i])) {
378
+ index = i;
379
+ break;
380
+ }
381
+ if (index < 0) return false;
382
+ matched[index] = 1;
383
+ }
384
+ return true;
385
+ }
371
386
  function looseEqual(a, b) {
372
387
  if (a === b) return true;
373
388
  let aValidType = isDate(a);
@@ -383,6 +398,12 @@ function looseEqual(a, b) {
383
398
  bValidType = isObject(b);
384
399
  if (aValidType || bValidType) {
385
400
  if (!aValidType || !bValidType) return false;
401
+ aValidType = isMap(a);
402
+ bValidType = isMap(b);
403
+ if (aValidType || bValidType) return aValidType && bValidType ? looseCompareCollections(a, b) : false;
404
+ aValidType = isSet(a);
405
+ bValidType = isSet(b);
406
+ if (aValidType || bValidType) return aValidType && bValidType ? looseCompareCollections(a, b) : false;
386
407
  if (Object.keys(a).length !== Object.keys(b).length) return false;
387
408
  for (const key in a) {
388
409
  const aHasKey = a.hasOwnProperty(key);
@@ -834,9 +855,7 @@ function trigger(target, type, key, newValue, oldValue, oldTarget) {
834
855
  if (isMap(target)) run(depsMap.get(MAP_KEY_ITERATE_KEY));
835
856
  }
836
857
  break;
837
- case "set":
838
- if (isMap(target)) run(depsMap.get(ITERATE_KEY));
839
- break;
858
+ case "set": if (isMap(target)) run(depsMap.get(ITERATE_KEY));
840
859
  }
841
860
  }
842
861
  }
@@ -1033,8 +1052,8 @@ function noTracking(self, method, args = []) {
1033
1052
  }
1034
1053
  //#endregion
1035
1054
  //#region packages/reactivity/src/baseHandlers.ts
1036
- const isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`);
1037
- const builtInSymbols = new Set(/* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== "arguments" && key !== "caller").map((key) => Symbol[key]).filter(isSymbol));
1055
+ const isNonTrackableKeys = /*@__PURE__*/ makeMap(`__proto__,__v_isRef,__isVue`);
1056
+ const builtInSymbols = new Set(/*@__PURE__*/ Object.getOwnPropertyNames(Symbol).filter((key) => key !== "arguments" && key !== "caller").map((key) => Symbol[key]).filter(isSymbol));
1038
1057
  function hasOwnProperty(key) {
1039
1058
  if (!isSymbol(key)) key = String(key);
1040
1059
  const obj = /* @__PURE__ */ toRaw(this);
@@ -1089,12 +1108,14 @@ var MutableReactiveHandler = class extends BaseReactiveHandler {
1089
1108
  oldValue = /* @__PURE__ */ toRaw(oldValue);
1090
1109
  value = /* @__PURE__ */ toRaw(value);
1091
1110
  }
1092
- if (!isArrayWithIntegerKey && /* @__PURE__ */ isRef(oldValue) && !/* @__PURE__ */ isRef(value)) if (isOldValueReadonly) {
1093
- if (!!(process.env.NODE_ENV !== "production")) warn$2(`Set operation on key "${String(key)}" failed: target is readonly.`, target[key]);
1094
- return true;
1095
- } else {
1096
- oldValue.value = value;
1097
- return true;
1111
+ if (!isArrayWithIntegerKey && /* @__PURE__ */ isRef(oldValue) && !/* @__PURE__ */ isRef(value)) {
1112
+ if (isOldValueReadonly) {
1113
+ if (!!(process.env.NODE_ENV !== "production")) warn$2(`Set operation on key "${String(key)}" failed: target is readonly.`, target[key]);
1114
+ return true;
1115
+ } else {
1116
+ oldValue.value = value;
1117
+ return true;
1118
+ }
1098
1119
  }
1099
1120
  }
1100
1121
  const hadKey = isArrayWithIntegerKey ? Number(key) < target.length : hasOwn(target, key);
@@ -1135,10 +1156,10 @@ var ReadonlyReactiveHandler = class extends BaseReactiveHandler {
1135
1156
  return true;
1136
1157
  }
1137
1158
  };
1138
- const mutableHandlers = /* @__PURE__ */ new MutableReactiveHandler();
1139
- const readonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler();
1140
- const shallowReactiveHandlers = /* @__PURE__ */ new MutableReactiveHandler(true);
1141
- const shallowReadonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(true);
1159
+ const mutableHandlers = /*@__PURE__*/ new MutableReactiveHandler();
1160
+ const readonlyHandlers = /*@__PURE__*/ new ReadonlyReactiveHandler();
1161
+ const shallowReactiveHandlers = /*@__PURE__*/ new MutableReactiveHandler(true);
1162
+ const shallowReadonlyHandlers = /*@__PURE__*/ new ReadonlyReactiveHandler(true);
1142
1163
  //#endregion
1143
1164
  //#region packages/reactivity/src/collectionHandlers.ts
1144
1165
  const toShallow = (value) => value;
@@ -1289,10 +1310,10 @@ function createInstrumentationGetter(isReadonly, shallow) {
1289
1310
  return Reflect.get(hasOwn(instrumentations, key) && key in target ? instrumentations : target, key, receiver);
1290
1311
  };
1291
1312
  }
1292
- const mutableCollectionHandlers = { get: /* @__PURE__ */ createInstrumentationGetter(false, false) };
1293
- const shallowCollectionHandlers = { get: /* @__PURE__ */ createInstrumentationGetter(false, true) };
1294
- const readonlyCollectionHandlers = { get: /* @__PURE__ */ createInstrumentationGetter(true, false) };
1295
- const shallowReadonlyCollectionHandlers = { get: /* @__PURE__ */ createInstrumentationGetter(true, true) };
1313
+ const mutableCollectionHandlers = { get: /*@__PURE__*/ createInstrumentationGetter(false, false) };
1314
+ const shallowCollectionHandlers = { get: /*@__PURE__*/ createInstrumentationGetter(false, true) };
1315
+ const readonlyCollectionHandlers = { get: /*@__PURE__*/ createInstrumentationGetter(true, false) };
1316
+ const shallowReadonlyCollectionHandlers = { get: /*@__PURE__*/ createInstrumentationGetter(true, true) };
1296
1317
  function checkIdentityKeys(target, has, key) {
1297
1318
  const rawKey = /* @__PURE__ */ toRaw(key);
1298
1319
  if (rawKey !== key && has.call(target, rawKey)) {
@@ -1317,7 +1338,7 @@ function targetTypeMap(rawType) {
1317
1338
  default: return 0;
1318
1339
  }
1319
1340
  }
1320
- /* @__NO_SIDE_EFFECTS__ */
1341
+ /*@__NO_SIDE_EFFECTS__*/
1321
1342
  function reactive(target) {
1322
1343
  if (/* @__PURE__ */ isReadonly(target)) return target;
1323
1344
  return createReactiveObject(target, false, mutableHandlers, mutableCollectionHandlers, reactiveMap);
@@ -1352,7 +1373,7 @@ function reactive(target) {
1352
1373
  * @param target - The source object.
1353
1374
  * @see {@link https://vuejs.org/api/reactivity-advanced.html#shallowreactive}
1354
1375
  */
1355
- /* @__NO_SIDE_EFFECTS__ */
1376
+ /*@__NO_SIDE_EFFECTS__*/
1356
1377
  function shallowReactive(target) {
1357
1378
  return createReactiveObject(target, false, shallowReactiveHandlers, shallowCollectionHandlers, shallowReactiveMap);
1358
1379
  }
@@ -1385,7 +1406,7 @@ function shallowReactive(target) {
1385
1406
  * @param target - The source object.
1386
1407
  * @see {@link https://vuejs.org/api/reactivity-core.html#readonly}
1387
1408
  */
1388
- /* @__NO_SIDE_EFFECTS__ */
1409
+ /*@__NO_SIDE_EFFECTS__*/
1389
1410
  function readonly(target) {
1390
1411
  return createReactiveObject(target, true, readonlyHandlers, readonlyCollectionHandlers, readonlyMap);
1391
1412
  }
@@ -1419,7 +1440,7 @@ function readonly(target) {
1419
1440
  * @param target - The source object.
1420
1441
  * @see {@link https://vuejs.org/api/reactivity-advanced.html#shallowreadonly}
1421
1442
  */
1422
- /* @__NO_SIDE_EFFECTS__ */
1443
+ /*@__NO_SIDE_EFFECTS__*/
1423
1444
  function shallowReadonly(target) {
1424
1445
  return createReactiveObject(target, true, shallowReadonlyHandlers, shallowReadonlyCollectionHandlers, shallowReadonlyMap);
1425
1446
  }
@@ -1456,7 +1477,7 @@ function createReactiveObject(target, isReadonly, baseHandlers, collectionHandle
1456
1477
  * @param value - The value to check.
1457
1478
  * @see {@link https://vuejs.org/api/reactivity-utilities.html#isreactive}
1458
1479
  */
1459
- /* @__NO_SIDE_EFFECTS__ */
1480
+ /*@__NO_SIDE_EFFECTS__*/
1460
1481
  function isReactive(value) {
1461
1482
  if (/* @__PURE__ */ isReadonly(value)) return /* @__PURE__ */ isReactive(value["__v_raw"]);
1462
1483
  return !!(value && value["__v_isReactive"]);
@@ -1472,11 +1493,11 @@ function isReactive(value) {
1472
1493
  * @param value - The value to check.
1473
1494
  * @see {@link https://vuejs.org/api/reactivity-utilities.html#isreadonly}
1474
1495
  */
1475
- /* @__NO_SIDE_EFFECTS__ */
1496
+ /*@__NO_SIDE_EFFECTS__*/
1476
1497
  function isReadonly(value) {
1477
1498
  return !!(value && value["__v_isReadonly"]);
1478
1499
  }
1479
- /* @__NO_SIDE_EFFECTS__ */
1500
+ /*@__NO_SIDE_EFFECTS__*/
1480
1501
  function isShallow(value) {
1481
1502
  return !!(value && value["__v_isShallow"]);
1482
1503
  }
@@ -1487,7 +1508,7 @@ function isShallow(value) {
1487
1508
  * @param value - The value to check.
1488
1509
  * @see {@link https://vuejs.org/api/reactivity-utilities.html#isproxy}
1489
1510
  */
1490
- /* @__NO_SIDE_EFFECTS__ */
1511
+ /*@__NO_SIDE_EFFECTS__*/
1491
1512
  function isProxy(value) {
1492
1513
  return value ? !!value["__v_raw"] : false;
1493
1514
  }
@@ -1514,7 +1535,7 @@ function isProxy(value) {
1514
1535
  * @param observed - The object for which the "raw" value is requested.
1515
1536
  * @see {@link https://vuejs.org/api/reactivity-advanced.html#toraw}
1516
1537
  */
1517
- /* @__NO_SIDE_EFFECTS__ */
1538
+ /*@__NO_SIDE_EFFECTS__*/
1518
1539
  function toRaw(observed) {
1519
1540
  const raw = observed && observed["__v_raw"];
1520
1541
  return raw ? /* @__PURE__ */ toRaw(raw) : observed;
@@ -1563,15 +1584,15 @@ const toReactive = (value) => isObject(value) ? /* @__PURE__ */ reactive(value)
1563
1584
  const toReadonly = (value) => isObject(value) ? /* @__PURE__ */ readonly(value) : value;
1564
1585
  //#endregion
1565
1586
  //#region packages/reactivity/src/ref.ts
1566
- /* @__NO_SIDE_EFFECTS__ */
1587
+ /*@__NO_SIDE_EFFECTS__*/
1567
1588
  function isRef(r) {
1568
1589
  return r ? r["__v_isRef"] === true : false;
1569
1590
  }
1570
- /* @__NO_SIDE_EFFECTS__ */
1591
+ /*@__NO_SIDE_EFFECTS__*/
1571
1592
  function ref(value) {
1572
1593
  return createRef(value, toReactive);
1573
1594
  }
1574
- /* @__NO_SIDE_EFFECTS__ */
1595
+ /*@__NO_SIDE_EFFECTS__*/
1575
1596
  function shallowRef(value) {
1576
1597
  return createRef(value);
1577
1598
  }
@@ -1774,7 +1795,7 @@ function customRef(factory) {
1774
1795
  * @param object - Reactive object to be made into an object of linked refs.
1775
1796
  * @see {@link https://vuejs.org/api/reactivity-utilities.html#torefs}
1776
1797
  */
1777
- /* @__NO_SIDE_EFFECTS__ */
1798
+ /*@__NO_SIDE_EFFECTS__*/
1778
1799
  function toRefs(object) {
1779
1800
  const ret = isArray(object) ? new Array(object.length) : {};
1780
1801
  for (const key in object) ret[key] = propertyToRef(object, key);
@@ -1825,7 +1846,7 @@ var GetterRefImpl = class {
1825
1846
  return this._value = this._getter();
1826
1847
  }
1827
1848
  };
1828
- /* @__NO_SIDE_EFFECTS__ */
1849
+ /*@__NO_SIDE_EFFECTS__*/
1829
1850
  function toRef(source, key, defaultValue) {
1830
1851
  if (/* @__PURE__ */ isRef(source)) return source;
1831
1852
  else if (isFunction(source)) return new GetterRefImpl(source);
@@ -1891,10 +1912,12 @@ var ReactiveEffect = class {
1891
1912
  get dirty() {
1892
1913
  const flags = this.flags;
1893
1914
  if (flags & 16) return true;
1894
- if (flags & 32) if (checkDirty(this.deps, this)) {
1895
- this.flags = flags | 16;
1896
- return true;
1897
- } else this.flags = flags & -33;
1915
+ if (flags & 32) {
1916
+ if (checkDirty(this.deps, this)) {
1917
+ this.flags = flags | 16;
1918
+ return true;
1919
+ } else this.flags = flags & -33;
1920
+ }
1898
1921
  return false;
1899
1922
  }
1900
1923
  };
@@ -2073,10 +2096,12 @@ var ComputedRefImpl = class {
2073
2096
  get _dirty() {
2074
2097
  const flags = this.flags;
2075
2098
  if (flags & 16) return true;
2076
- if (flags & 32) if (checkDirty(this.deps, this)) {
2077
- this.flags = flags | 16;
2078
- return true;
2079
- } else this.flags = flags & -33;
2099
+ if (flags & 32) {
2100
+ if (checkDirty(this.deps, this)) {
2101
+ this.flags = flags | 16;
2102
+ return true;
2103
+ } else this.flags = flags & -33;
2104
+ }
2080
2105
  return false;
2081
2106
  }
2082
2107
  /**
@@ -2137,7 +2162,7 @@ var ComputedRefImpl = class {
2137
2162
  }
2138
2163
  };
2139
2164
  if (!!(process.env.NODE_ENV !== "production")) setupOnTrigger(ComputedRefImpl);
2140
- /* @__NO_SIDE_EFFECTS__ */
2165
+ /*@__NO_SIDE_EFFECTS__*/
2141
2166
  function computed$1(getterOrOptions, debugOptions, isSSR = false) {
2142
2167
  let getter;
2143
2168
  let setter;
@@ -2215,25 +2240,26 @@ var WatcherEffect = class extends ReactiveEffect {
2215
2240
  else if (isFunction(s)) return call ? call(s, 2) : s();
2216
2241
  else process.env.NODE_ENV !== "production" && warnInvalidSource(s, onWarn);
2217
2242
  });
2218
- } else if (isFunction(source)) if (cb) getter = call ? () => call(source, 2) : source;
2219
- else getter = () => {
2220
- if (this.cleanupsLength) {
2221
- const prevSub = setActiveSub();
2243
+ } else if (isFunction(source)) {
2244
+ if (cb) getter = call ? () => call(source, 2) : source;
2245
+ else getter = () => {
2246
+ if (this.cleanupsLength) {
2247
+ const prevSub = setActiveSub();
2248
+ try {
2249
+ cleanup(this);
2250
+ } finally {
2251
+ setActiveSub(prevSub);
2252
+ }
2253
+ }
2254
+ const currentEffect = activeWatcher;
2255
+ activeWatcher = this;
2222
2256
  try {
2223
- cleanup(this);
2257
+ return call ? call(source, 3, [this.boundCleanup]) : source(this.boundCleanup);
2224
2258
  } finally {
2225
- setActiveSub(prevSub);
2259
+ activeWatcher = currentEffect;
2226
2260
  }
2227
- }
2228
- const currentEffect = activeWatcher;
2229
- activeWatcher = this;
2230
- try {
2231
- return call ? call(source, 3, [this.boundCleanup]) : source(this.boundCleanup);
2232
- } finally {
2233
- activeWatcher = currentEffect;
2234
- }
2235
- };
2236
- else {
2261
+ };
2262
+ } else {
2237
2263
  getter = NOOP;
2238
2264
  process.env.NODE_ENV !== "production" && warnInvalidSource(source, onWarn);
2239
2265
  }
@@ -2571,7 +2597,7 @@ let currentFlushPromise = null;
2571
2597
  let jobsLength = 0;
2572
2598
  let flushIndex = 0;
2573
2599
  let postFlushIndex = 0;
2574
- const resolvedPromise = /* @__PURE__ */ Promise.resolve();
2600
+ const resolvedPromise = /*@__PURE__*/ Promise.resolve();
2575
2601
  const RECURSION_LIMIT = 100;
2576
2602
  function nextTick(fn) {
2577
2603
  const p = currentFlushPromise || resolvedPromise;
@@ -2610,6 +2636,7 @@ const doFlushJobs = () => {
2610
2636
  flushJobs();
2611
2637
  } catch (e) {
2612
2638
  currentFlushPromise = null;
2639
+ if (jobsLength || postJobs.length) queueFlush();
2613
2640
  throw e;
2614
2641
  }
2615
2642
  };
@@ -2617,9 +2644,10 @@ function queueFlush() {
2617
2644
  if (!currentFlushPromise) currentFlushPromise = resolvedPromise.then(doFlushJobs);
2618
2645
  }
2619
2646
  function queuePostFlushCb(jobs, id = Infinity) {
2620
- if (!isArray(jobs)) if (activePostJobs && id === -1) activePostJobs.splice(postFlushIndex, 0, jobs);
2621
- else queueJobWorker(jobs, id, postJobs, postJobs.length, 0);
2622
- else for (let i = 0; i < jobs.length; i++) queueJobWorker(jobs[i], id, postJobs, postJobs.length, 0);
2647
+ if (!isArray(jobs)) {
2648
+ if (activePostJobs && id === -1) activePostJobs.splice(postFlushIndex, 0, jobs);
2649
+ else queueJobWorker(jobs, id, postJobs, postJobs.length, 0);
2650
+ } else for (let i = 0; i < jobs.length; i++) queueJobWorker(jobs[i], id, postJobs, postJobs.length, 0);
2623
2651
  queueFlush();
2624
2652
  }
2625
2653
  function flushPreFlushCbs(instance, seen) {
@@ -2633,8 +2661,11 @@ function flushPreFlushCbs(instance, seen) {
2633
2661
  i--;
2634
2662
  jobsLength--;
2635
2663
  if (cb.flags & 2) cb.flags &= -2;
2636
- cb();
2637
- if (!(cb.flags & 2)) cb.flags &= -2;
2664
+ try {
2665
+ cb();
2666
+ } finally {
2667
+ if (!(cb.flags & 2)) cb.flags &= -2;
2668
+ }
2638
2669
  }
2639
2670
  }
2640
2671
  function flushPostFlushCbs(seen) {
@@ -2647,18 +2678,22 @@ function flushPostFlushCbs(seen) {
2647
2678
  activePostJobs = postJobs;
2648
2679
  postJobs = [];
2649
2680
  if (!!(process.env.NODE_ENV !== "production")) seen = seen || /* @__PURE__ */ new Map();
2650
- while (postFlushIndex < activePostJobs.length) {
2651
- const cb = activePostJobs[postFlushIndex++];
2652
- if (!!(process.env.NODE_ENV !== "production") && checkRecursiveUpdates(seen, cb)) continue;
2653
- if (cb.flags & 2) cb.flags &= -2;
2654
- if (!(cb.flags & 4)) try {
2655
- cb();
2656
- } finally {
2657
- cb.flags &= -2;
2681
+ try {
2682
+ while (postFlushIndex < activePostJobs.length) {
2683
+ const cb = activePostJobs[postFlushIndex++];
2684
+ if (!!(process.env.NODE_ENV !== "production") && checkRecursiveUpdates(seen, cb)) continue;
2685
+ if (cb.flags & 2) cb.flags &= -2;
2686
+ if (!(cb.flags & 4)) try {
2687
+ cb();
2688
+ } finally {
2689
+ if (!(cb.flags & 2)) cb.flags &= -2;
2690
+ }
2658
2691
  }
2692
+ } finally {
2693
+ while (postFlushIndex < activePostJobs.length) activePostJobs[postFlushIndex++].flags &= -2;
2694
+ activePostJobs = null;
2695
+ postFlushIndex = 0;
2659
2696
  }
2660
- activePostJobs = null;
2661
- postFlushIndex = 0;
2662
2697
  }
2663
2698
  }
2664
2699
  let isFlushing = false;
@@ -2668,9 +2703,12 @@ let isFlushing = false;
2668
2703
  function flushOnAppMount(instance) {
2669
2704
  if (!isFlushing) {
2670
2705
  isFlushing = true;
2671
- flushPreFlushCbs(instance);
2672
- flushPostFlushCbs();
2673
- isFlushing = false;
2706
+ try {
2707
+ flushPreFlushCbs(instance);
2708
+ flushPostFlushCbs();
2709
+ } finally {
2710
+ isFlushing = false;
2711
+ }
2674
2712
  }
2675
2713
  }
2676
2714
  function flushJobs(seen) {
@@ -2700,8 +2738,8 @@ function flushJobs(seen) {
2700
2738
  jobsLength = 0;
2701
2739
  jobs.length = 0;
2702
2740
  flushPostFlushCbs(seen);
2703
- currentFlushPromise = null;
2704
2741
  if (jobsLength || postJobs.length) flushJobs(seen);
2742
+ else currentFlushPromise = null;
2705
2743
  }
2706
2744
  }
2707
2745
  function checkRecursiveUpdates(seen, fn) {
@@ -2732,6 +2770,19 @@ if (!!(process.env.NODE_ENV !== "production")) getGlobalThis().__VUE_HMR_RUNTIME
2732
2770
  rerender: tryWrap(rerender),
2733
2771
  reload: tryWrap(reload)
2734
2772
  };
2773
+ function runWithHmrUpdating(fn) {
2774
+ isHmrUpdating = true;
2775
+ let done = false;
2776
+ try {
2777
+ fn();
2778
+ done = true;
2779
+ } finally {
2780
+ if (done) nextTick(() => {
2781
+ isHmrUpdating = false;
2782
+ });
2783
+ else isHmrUpdating = false;
2784
+ }
2785
+ }
2735
2786
  const map = /* @__PURE__ */ new Map();
2736
2787
  function registerHMR(instance) {
2737
2788
  const id = instance.type.__hmrId;
@@ -2773,18 +2824,16 @@ function rerender(id, newRender) {
2773
2824
  instance.render = newRender;
2774
2825
  normalizeClassComponent(instance.type).render = newRender;
2775
2826
  }
2776
- isHmrUpdating = true;
2777
- if (instance.vapor) {
2778
- if (!instance.isUnmounted) instance.hmrRerender();
2779
- } else {
2780
- const i = instance;
2781
- if (!(i.effect.flags & 1024)) {
2782
- i.renderCache = [];
2783
- i.effect.run();
2827
+ runWithHmrUpdating(() => {
2828
+ if (instance.vapor) {
2829
+ if (!instance.isUnmounted) instance.hmrRerender();
2830
+ } else {
2831
+ const i = instance;
2832
+ if (!(i.effect.flags & 1024)) {
2833
+ i.renderCache = [];
2834
+ i.effect.run();
2835
+ }
2784
2836
  }
2785
- }
2786
- nextTick(() => {
2787
- isHmrUpdating = false;
2788
2837
  });
2789
2838
  });
2790
2839
  }
@@ -2799,15 +2848,17 @@ function reload(id, newComp) {
2799
2848
  for (const instance of instances) if (instance.root && instance.root.ce && instance !== instance.root) instance.root.ce._removeChildStyle(instance.type);
2800
2849
  const dirtyInstances = new Set(instances);
2801
2850
  const rerenderedParents = /* @__PURE__ */ new Set();
2802
- for (const instance of instances) {
2803
- const parent = instance.parent;
2804
- if (parent) {
2805
- if (!hasDirtyAncestor(instance, dirtyInstances) && !rerenderedParents.has(parent)) {
2806
- rerenderedParents.add(parent);
2807
- parent.hmrRerender();
2808
- }
2809
- } else instance.hmrReload(newComp);
2810
- }
2851
+ runWithHmrUpdating(() => {
2852
+ for (const instance of instances) {
2853
+ const parent = instance.parent;
2854
+ if (parent) {
2855
+ if (!hasDirtyAncestor(instance, dirtyInstances) && !rerenderedParents.has(parent)) {
2856
+ rerenderedParents.add(parent);
2857
+ parent.hmrRerender();
2858
+ }
2859
+ } else instance.hmrReload(newComp);
2860
+ }
2861
+ });
2811
2862
  } else {
2812
2863
  const parentUpdates = /* @__PURE__ */ new Map();
2813
2864
  const dirtyInstanceSet = new Set(instances);
@@ -2841,21 +2892,22 @@ function reload(id, newComp) {
2841
2892
  }
2842
2893
  parentUpdates.forEach((updates, parent) => {
2843
2894
  queueJob(() => {
2844
- isHmrUpdating = true;
2845
- if (parent.vapor) parent.hmrRerender();
2846
- else {
2847
- const i = parent;
2848
- if (!(i.effect.flags & 1024)) {
2849
- i.renderCache = [];
2850
- i.effect.run();
2851
- }
2895
+ try {
2896
+ runWithHmrUpdating(() => {
2897
+ if (parent.vapor) parent.hmrRerender();
2898
+ else {
2899
+ const i = parent;
2900
+ if (!(i.effect.flags & 1024)) {
2901
+ i.renderCache = [];
2902
+ i.effect.run();
2903
+ }
2904
+ }
2905
+ });
2906
+ } finally {
2907
+ updates.forEach(([instance, dirtyInstances]) => {
2908
+ dirtyInstances.delete(instance);
2909
+ });
2852
2910
  }
2853
- nextTick(() => {
2854
- isHmrUpdating = false;
2855
- });
2856
- updates.forEach(([instance, dirtyInstances]) => {
2857
- dirtyInstances.delete(instance);
2858
- });
2859
2911
  });
2860
2912
  });
2861
2913
  }
@@ -2924,20 +2976,20 @@ function devtoolsInitApp(app, version) {
2924
2976
  function devtoolsUnmountApp(app) {
2925
2977
  emit$2("app:unmount", app);
2926
2978
  }
2927
- const devtoolsComponentAdded = /* @__PURE__ */ createDevtoolsComponentHook("component:added");
2928
- const devtoolsComponentUpdated = /* @__PURE__ */ createDevtoolsComponentHook("component:updated");
2929
- const _devtoolsComponentRemoved = /* @__PURE__ */ createDevtoolsComponentHook("component:removed");
2979
+ const devtoolsComponentAdded = /*@__PURE__*/ createDevtoolsComponentHook("component:added");
2980
+ const devtoolsComponentUpdated = /*@__PURE__*/ createDevtoolsComponentHook("component:updated");
2981
+ const _devtoolsComponentRemoved = /*@__PURE__*/ createDevtoolsComponentHook("component:removed");
2930
2982
  const devtoolsComponentRemoved = (component) => {
2931
2983
  if (devtools$1 && typeof devtools$1.cleanupBuffer === "function" && !devtools$1.cleanupBuffer(component)) _devtoolsComponentRemoved(component);
2932
2984
  };
2933
- /* @__NO_SIDE_EFFECTS__ */
2985
+ /*@__NO_SIDE_EFFECTS__*/
2934
2986
  function createDevtoolsComponentHook(hook) {
2935
2987
  return (component) => {
2936
2988
  emit$2(hook, component.appContext.app, component.uid, component.parent ? component.parent.uid : void 0, component);
2937
2989
  };
2938
2990
  }
2939
- const devtoolsPerfStart = /* @__PURE__ */ createDevtoolsPerformanceHook("perf:start");
2940
- const devtoolsPerfEnd = /* @__PURE__ */ createDevtoolsPerformanceHook("perf:end");
2991
+ const devtoolsPerfStart = /*@__PURE__*/ createDevtoolsPerformanceHook("perf:start");
2992
+ const devtoolsPerfEnd = /*@__PURE__*/ createDevtoolsPerformanceHook("perf:end");
2941
2993
  function createDevtoolsPerformanceHook(hook) {
2942
2994
  return (component, type, time) => {
2943
2995
  emit$2(hook, component.appContext.app, component.uid, component, type, time);
@@ -3167,7 +3219,7 @@ function configureCompat$1(config) {
3167
3219
  if (!!(process.env.NODE_ENV !== "production")) validateCompatConfig(config);
3168
3220
  extend(globalCompatConfig, config);
3169
3221
  }
3170
- const seenConfigObjects = /* @__PURE__ */ new WeakSet();
3222
+ const seenConfigObjects = /*@__PURE__*/ new WeakSet();
3171
3223
  const warnedInvalidKeys = {};
3172
3224
  function validateCompatConfig(config, instance) {
3173
3225
  if (seenConfigObjects.has(config)) return;
@@ -3219,7 +3271,7 @@ function checkCompatEnabled$1(key, instance, ...args) {
3219
3271
  }
3220
3272
  //#endregion
3221
3273
  //#region packages/runtime-core/src/compat/instanceEventEmitter.ts
3222
- const eventRegistryMap = /* @__PURE__ */ new WeakMap();
3274
+ const eventRegistryMap = /*@__PURE__*/ new WeakMap();
3223
3275
  function getRegistry(instance) {
3224
3276
  let events = eventRegistryMap.get(instance);
3225
3277
  if (!events) eventRegistryMap.set(instance, events = Object.create(null));
@@ -3353,19 +3405,21 @@ const legacyDirectiveHookMap = {
3353
3405
  };
3354
3406
  function mapCompatDirectiveHook(name, dir, instance) {
3355
3407
  const mappedName = legacyDirectiveHookMap[name];
3356
- if (mappedName) if (isArray(mappedName)) {
3357
- const hook = [];
3358
- mappedName.forEach((mapped) => {
3359
- const mappedHook = dir[mapped];
3360
- if (mappedHook) {
3361
- softAssertCompatEnabled("CUSTOM_DIR", instance, mapped, name);
3362
- hook.push(mappedHook);
3363
- }
3364
- });
3365
- return hook.length ? hook : void 0;
3366
- } else {
3367
- if (dir[mappedName]) softAssertCompatEnabled("CUSTOM_DIR", instance, mappedName, name);
3368
- return dir[mappedName];
3408
+ if (mappedName) {
3409
+ if (isArray(mappedName)) {
3410
+ const hook = [];
3411
+ mappedName.forEach((mapped) => {
3412
+ const mappedHook = dir[mapped];
3413
+ if (mappedHook) {
3414
+ softAssertCompatEnabled("CUSTOM_DIR", instance, mapped, name);
3415
+ hook.push(mappedHook);
3416
+ }
3417
+ });
3418
+ return hook.length ? hook : void 0;
3419
+ } else {
3420
+ if (dir[mappedName]) softAssertCompatEnabled("CUSTOM_DIR", instance, mappedName, name);
3421
+ return dir[mappedName];
3422
+ }
3369
3423
  }
3370
3424
  }
3371
3425
  //#endregion
@@ -3574,15 +3628,16 @@ const isTargetSVG = (target) => typeof SVGElement !== "undefined" && target inst
3574
3628
  const isTargetMathML = (target) => typeof MathMLElement === "function" && target instanceof MathMLElement;
3575
3629
  const resolveTarget = (props, select) => {
3576
3630
  const targetSelector = props && props.to;
3577
- if (isString(targetSelector)) if (!select) {
3578
- process.env.NODE_ENV !== "production" && warn$1("Current renderer does not support string target for Teleports. (missing querySelector renderer option)");
3579
- return null;
3631
+ if (isString(targetSelector)) {
3632
+ if (!select) {
3633
+ process.env.NODE_ENV !== "production" && warn$1("Current renderer does not support string target for Teleports. (missing querySelector renderer option)");
3634
+ return null;
3635
+ } else {
3636
+ const target = select(targetSelector);
3637
+ if (!!(process.env.NODE_ENV !== "production") && !target && !isTeleportDisabled(props)) warn$1(`Failed to locate Teleport target with selector "${targetSelector}". Note the target element must exist before the component is mounted - i.e. the target cannot be rendered by the component itself, and ideally should be outside of the entire Vue component tree.`);
3638
+ return target;
3639
+ }
3580
3640
  } else {
3581
- const target = select(targetSelector);
3582
- if (!!(process.env.NODE_ENV !== "production") && !target && !isTeleportDisabled(props)) warn$1(`Failed to locate Teleport target with selector "${targetSelector}". Note the target element must exist before the component is mounted - i.e. the target cannot be rendered by the component itself, and ideally should be outside of the entire Vue component tree.`);
3583
- return target;
3584
- }
3585
- else {
3586
3641
  if (!!(process.env.NODE_ENV !== "production") && !targetSelector && !isTeleportDisabled(props)) warn$1(`Invalid Teleport target: ${targetSelector}`);
3587
3642
  return targetSelector;
3588
3643
  }
@@ -3620,7 +3675,8 @@ const TeleportImpl = {
3620
3675
  if (pendingMounts.get(vnode) !== mountJob) return;
3621
3676
  pendingMounts.delete(vnode);
3622
3677
  if (isTeleportDisabled(vnode.props)) {
3623
- mount(vnode, parentNode(vnode.el) || container, vnode.anchor);
3678
+ const mountContainer = parentNode(vnode.el) || container;
3679
+ mount(vnode, mountContainer, vnode.anchor);
3624
3680
  updateCssVars(vnode, true);
3625
3681
  }
3626
3682
  mountToTarget(vnode);
@@ -3729,15 +3785,17 @@ function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScope
3729
3785
  const disabled = isTeleportDisabled(vnode.props);
3730
3786
  if (target) {
3731
3787
  const targetNode = target._lpa || target.firstChild;
3732
- if (vnode.shapeFlag & 16) if (disabled) {
3733
- hydrateDisabledTeleport(node, vnode);
3734
- hydrateAnchor(target, targetNode);
3735
- if (!vnode.targetAnchor) prepareAnchor(target, vnode, createText, insert, parentNode(node) === target ? node : null);
3736
- } else {
3737
- vnode.anchor = nextSibling(node);
3738
- hydrateAnchor(target, targetNode);
3739
- if (!vnode.targetAnchor) prepareAnchor(target, vnode, createText, insert);
3740
- hydrateChildren(targetNode && nextSibling(targetNode), vnode, target, parentComponent, parentSuspense, slotScopeIds, optimized);
3788
+ if (vnode.shapeFlag & 16) {
3789
+ if (disabled) {
3790
+ hydrateDisabledTeleport(node, vnode);
3791
+ hydrateAnchor(target, targetNode);
3792
+ if (!vnode.targetAnchor) prepareAnchor(target, vnode, createText, insert, parentNode(node) === target ? node : null);
3793
+ } else {
3794
+ vnode.anchor = nextSibling(node);
3795
+ hydrateAnchor(target, targetNode);
3796
+ if (!vnode.targetAnchor) prepareAnchor(target, vnode, createText, insert);
3797
+ hydrateChildren(targetNode && nextSibling(targetNode), vnode, target, parentComponent, parentSuspense, slotScopeIds, optimized);
3798
+ }
3741
3799
  }
3742
3800
  updateCssVars(vnode, disabled);
3743
3801
  } else if (disabled) {
@@ -3905,8 +3963,10 @@ function baseResolveTransitionHooks(context, props, state, instance) {
3905
3963
  persisted,
3906
3964
  beforeEnter(el) {
3907
3965
  let hook = onBeforeEnter;
3908
- if (!state.isMounted) if (appear) hook = onBeforeAppear || onBeforeEnter;
3909
- else return;
3966
+ if (!state.isMounted) {
3967
+ if (appear) hook = onBeforeAppear || onBeforeEnter;
3968
+ else return;
3969
+ }
3910
3970
  if (el[leaveCbKey]) el[leaveCbKey](true);
3911
3971
  earlyRemove();
3912
3972
  callHook(hook, [el]);
@@ -3916,11 +3976,13 @@ function baseResolveTransitionHooks(context, props, state, instance) {
3916
3976
  let hook = onEnter;
3917
3977
  let afterHook = onAfterEnter;
3918
3978
  let cancelHook = onEnterCancelled;
3919
- if (!state.isMounted) if (appear) {
3920
- hook = onAppear || onEnter;
3921
- afterHook = onAfterAppear || onAfterEnter;
3922
- cancelHook = onAppearCancelled || onEnterCancelled;
3923
- } else return;
3979
+ if (!state.isMounted) {
3980
+ if (appear) {
3981
+ hook = onAppear || onEnter;
3982
+ afterHook = onAfterAppear || onAfterEnter;
3983
+ cancelHook = onAppearCancelled || onEnterCancelled;
3984
+ } else return;
3985
+ }
3924
3986
  let called = false;
3925
3987
  el[enterCbKey$1] = (cancelled) => {
3926
3988
  if (called) return;
@@ -4097,9 +4159,9 @@ function checkTransitionMode(mode) {
4097
4159
  }
4098
4160
  //#endregion
4099
4161
  //#region packages/runtime-core/src/apiDefineComponent.ts
4100
- /* @__NO_SIDE_EFFECTS__ */
4162
+ /*@__NO_SIDE_EFFECTS__*/
4101
4163
  function defineComponent(options, extraOptions) {
4102
- return isFunction(options) ? extend({ name: options.name }, extraOptions, { setup: options }) : options;
4164
+ return isFunction(options) ? /*@__PURE__*/ (() => extend({ name: options.name }, extraOptions, { setup: options }))() : options;
4103
4165
  }
4104
4166
  //#endregion
4105
4167
  //#region packages/runtime-core/src/helpers/useId.ts
@@ -4196,15 +4258,16 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
4196
4258
  if (rawRef.f) {
4197
4259
  const existing = _isString ? canSetSetupRef(ref) ? setupState[ref] : refs[ref] : canSetRef(ref) || !rawRef.k ? ref.value : refs[rawRef.k];
4198
4260
  if (isUnmount) isArray(existing) && remove(existing, refValue);
4199
- else if (!isArray(existing)) if (_isString) {
4200
- refs[ref] = [refValue];
4201
- if (canSetSetupRef(ref)) setupState[ref] = refs[ref];
4202
- } else {
4203
- const newVal = [refValue];
4204
- if (canSetRef(ref, rawRef.k)) ref.value = newVal;
4205
- if (rawRef.k) refs[rawRef.k] = newVal;
4206
- }
4207
- else if (!existing.includes(refValue)) existing.push(refValue);
4261
+ else if (!isArray(existing)) {
4262
+ if (_isString) {
4263
+ refs[ref] = [refValue];
4264
+ if (canSetSetupRef(ref)) setupState[ref] = refs[ref];
4265
+ } else {
4266
+ const newVal = [refValue];
4267
+ if (canSetRef(ref, rawRef.k)) ref.value = newVal;
4268
+ if (rawRef.k) refs[rawRef.k] = newVal;
4269
+ }
4270
+ } else if (!existing.includes(refValue)) existing.push(refValue);
4208
4271
  } else if (_isString) {
4209
4272
  refs[ref] = value;
4210
4273
  if (canSetSetupRef(ref)) setupState[ref] = value;
@@ -4318,11 +4381,12 @@ function createHydrationFunctions(rendererInternals) {
4318
4381
  let nextNode = null;
4319
4382
  switch (type) {
4320
4383
  case Text:
4321
- if (domType !== 3) if (vnode.children === "") {
4322
- insert(vnode.el = createText(""), parentNode(node), node);
4323
- nextNode = node;
4324
- } else nextNode = onMismatch();
4325
- else {
4384
+ if (domType !== 3) {
4385
+ if (vnode.children === "") {
4386
+ insert(vnode.el = createText(""), parentNode(node), node);
4387
+ nextNode = node;
4388
+ } else nextNode = onMismatch();
4389
+ } else {
4326
4390
  if (node.data !== vnode.children) {
4327
4391
  (process.env.NODE_ENV !== "production" || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(`Hydration text mismatch in`, node.parentNode, `\n - rendered on server: ${JSON.stringify(node.data)}\n - expected on client: ${JSON.stringify(vnode.children)}`);
4328
4392
  logMismatchError();
@@ -4361,9 +4425,10 @@ function createHydrationFunctions(rendererInternals) {
4361
4425
  case VaporSlot:
4362
4426
  nextNode = getVaporInterface(parentComponent, vnode).hydrateSlot(vnode, node, parentComponent, parentSuspense, slotScopeIds);
4363
4427
  break;
4364
- default: if (shapeFlag & 1) if ((domType !== 1 || vnode.type.toLowerCase() !== node.tagName.toLowerCase()) && !isTemplateNode(node)) nextNode = onMismatch();
4365
- else nextNode = hydrateElement(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized);
4366
- else if (shapeFlag & 6) {
4428
+ default: if (shapeFlag & 1) {
4429
+ if ((domType !== 1 || vnode.type.toLowerCase() !== node.tagName.toLowerCase()) && !isTemplateNode(node)) nextNode = onMismatch();
4430
+ else nextNode = hydrateElement(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized);
4431
+ } else if (shapeFlag & 6) {
4367
4432
  vnode.slotScopeIds = slotScopeIds;
4368
4433
  const container = parentNode(node);
4369
4434
  if (isFragmentStart) nextNode = locateClosingAnchor(node);
@@ -4385,19 +4450,20 @@ function createHydrationFunctions(rendererInternals) {
4385
4450
  } else {
4386
4451
  mountComponent(vnode, container, null, parentComponent, parentSuspense, getContainerType(container), optimized);
4387
4452
  const component = vnode.component;
4388
- if (isAsyncWrapper(vnode) && !vnode.type.__asyncResolved || component.asyncDep && !component.asyncResolved) {
4453
+ if (!component.subTree && (isAsyncWrapper(vnode) || component.asyncDep && !component.asyncResolved)) {
4389
4454
  let subTree;
4390
4455
  if (isFragmentStart) {
4391
- subTree = createVNode(Fragment);
4456
+ subTree = createVNode(Static);
4392
4457
  subTree.anchor = nextNode ? nextNode.previousSibling : container.lastChild;
4393
4458
  } else subTree = node.nodeType === 3 ? createTextVNode("") : createVNode("div");
4394
4459
  subTree.el = node;
4395
4460
  component.subTree = subTree;
4396
4461
  }
4397
4462
  }
4398
- } else if (shapeFlag & 64) if (domType !== 8) nextNode = onMismatch();
4399
- else nextNode = vnode.type.hydrate(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, rendererInternals, hydrateChildren);
4400
- else if (shapeFlag & 128) nextNode = vnode.type.hydrate(node, vnode, parentComponent, parentSuspense, getContainerType(parentNode(node)), slotScopeIds, optimized, rendererInternals, hydrateNode);
4463
+ } else if (shapeFlag & 64) {
4464
+ if (domType !== 8) nextNode = onMismatch();
4465
+ else nextNode = vnode.type.hydrate(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, rendererInternals, hydrateChildren);
4466
+ } else if (shapeFlag & 128) nextNode = vnode.type.hydrate(node, vnode, parentComponent, parentSuspense, getContainerType(parentNode(node)), slotScopeIds, optimized, rendererInternals, hydrateNode);
4401
4467
  else if (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) warn$1("Invalid HostVNode type:", type, `(${typeof type})`);
4402
4468
  }
4403
4469
  if (ref != null) setRef(ref, null, parentSuspense, vnode);
@@ -4542,8 +4608,10 @@ function createHydrationFunctions(rendererInternals) {
4542
4608
  node = nextSibling(node);
4543
4609
  if (node && isComment(node)) {
4544
4610
  if (node.data === open) match++;
4545
- if (node.data === close) if (match === 0) return nextSibling(node);
4546
- else match--;
4611
+ if (node.data === close) {
4612
+ if (match === 0) return nextSibling(node);
4613
+ else match--;
4614
+ }
4547
4615
  }
4548
4616
  }
4549
4617
  return node;
@@ -4565,7 +4633,7 @@ const isTemplateNode = (node) => {
4565
4633
  /**
4566
4634
  * Dev only
4567
4635
  */
4568
- const resourceProps = /* @__PURE__ */ new Set([
4636
+ const resourceProps = /*@__PURE__*/ new Set([
4569
4637
  "src",
4570
4638
  "srcset",
4571
4639
  "href",
@@ -4819,7 +4887,7 @@ function forEachElement(node, cb) {
4819
4887
  //#endregion
4820
4888
  //#region packages/runtime-core/src/apiAsyncComponent.ts
4821
4889
  const isAsyncWrapper = (i) => !!i.type.__asyncLoader;
4822
- /* @__NO_SIDE_EFFECTS__ */
4890
+ /*@__NO_SIDE_EFFECTS__*/
4823
4891
  function defineAsyncComponent(source) {
4824
4892
  const { load, getResolvedComp, setPendingRequest, source: { loadingComponent, errorComponent, delay, hydrate: hydrateStrategy, timeout, suspensible = true } } = createAsyncComponentContext(source);
4825
4893
  return /* @__PURE__ */ defineComponent({
@@ -5038,10 +5106,13 @@ const KeepAliveImpl = {
5038
5106
  });
5039
5107
  let pendingCacheKey = null;
5040
5108
  const cacheSubtree = () => {
5041
- if (pendingCacheKey != null) if (isSuspense(keepAliveInstance.subTree.type)) queuePostRenderEffect(() => {
5042
- cache.set(pendingCacheKey, getInnerChild(keepAliveInstance.subTree));
5043
- }, void 0, keepAliveInstance.subTree.suspense);
5044
- else cache.set(pendingCacheKey, getInnerChild(keepAliveInstance.subTree));
5109
+ if (pendingCacheKey != null) {
5110
+ if (isSuspense(keepAliveInstance.subTree.type)) queuePostRenderEffect(() => {
5111
+ const vnode = getInnerChild(keepAliveInstance.subTree);
5112
+ if (vnode.component) cache.set(pendingCacheKey, vnode);
5113
+ }, void 0, keepAliveInstance.subTree.suspense);
5114
+ else cache.set(pendingCacheKey, getInnerChild(keepAliveInstance.subTree));
5115
+ }
5045
5116
  };
5046
5117
  onMounted(cacheSubtree);
5047
5118
  onUpdated(cacheSubtree);
@@ -5112,7 +5183,7 @@ const decorate$2 = (t) => {
5112
5183
  t.__isBuiltIn = true;
5113
5184
  return t;
5114
5185
  };
5115
- const KeepAlive = /* @__PURE__ */ decorate$2(KeepAliveImpl);
5186
+ const KeepAlive = /*@__PURE__*/ decorate$2(KeepAliveImpl);
5116
5187
  function matches(pattern, name) {
5117
5188
  if (isArray(pattern)) return pattern.some((p) => matches(p, name));
5118
5189
  else if (isString(pattern)) return pattern.split(",").includes(name);
@@ -5328,16 +5399,17 @@ function compatH(type, propsOrChildren, children) {
5328
5399
  }
5329
5400
  const l = arguments.length;
5330
5401
  const is2ndArgArrayChildren = isArray(propsOrChildren);
5331
- if (l === 2 || is2ndArgArrayChildren) if (isObject(propsOrChildren) && !is2ndArgArrayChildren) {
5332
- if (isVNode(propsOrChildren)) return convertLegacySlots(createVNode(type, null, [propsOrChildren]));
5333
- return convertLegacySlots(convertLegacyDirectives(createVNode(type, convertLegacyProps(propsOrChildren, type)), propsOrChildren));
5334
- } else return convertLegacySlots(createVNode(type, null, propsOrChildren));
5335
- else {
5402
+ if (l === 2 || is2ndArgArrayChildren) {
5403
+ if (isObject(propsOrChildren) && !is2ndArgArrayChildren) {
5404
+ if (isVNode(propsOrChildren)) return convertLegacySlots(createVNode(type, null, [propsOrChildren]));
5405
+ return convertLegacySlots(convertLegacyDirectives(createVNode(type, convertLegacyProps(propsOrChildren, type)), propsOrChildren));
5406
+ } else return convertLegacySlots(createVNode(type, null, propsOrChildren));
5407
+ } else {
5336
5408
  if (isVNode(children)) children = [children];
5337
5409
  return convertLegacySlots(convertLegacyDirectives(createVNode(type, convertLegacyProps(propsOrChildren, type), children), propsOrChildren));
5338
5410
  }
5339
5411
  }
5340
- const skipLegacyRootLevelProps = /* @__PURE__ */ makeMap("staticStyle,staticClass,directives,model,hook");
5412
+ const skipLegacyRootLevelProps = /*@__PURE__*/ makeMap("staticStyle,staticClass,directives,model,hook");
5341
5413
  function convertLegacyProps(legacyProps, type) {
5342
5414
  if (!legacyProps) return null;
5343
5415
  const converted = {};
@@ -5349,8 +5421,10 @@ function convertLegacyProps(legacyProps, type) {
5349
5421
  if (key === "nativeOn") handlerKey += `Native`;
5350
5422
  const existing = converted[handlerKey];
5351
5423
  const incoming = listeners[event];
5352
- if (existing !== incoming) if (existing) converted[handlerKey] = [].concat(existing, incoming);
5353
- else converted[handlerKey] = incoming;
5424
+ if (existing !== incoming) {
5425
+ if (existing) converted[handlerKey] = [].concat(existing, incoming);
5426
+ else converted[handlerKey] = incoming;
5427
+ }
5354
5428
  }
5355
5429
  } else if (!skipLegacyRootLevelProps(key)) converted[key] = legacyProps[key];
5356
5430
  if (legacyProps.staticClass) converted.class = normalizeClass([legacyProps.staticClass, converted.class]);
@@ -5449,7 +5523,7 @@ function convertLegacyFunctionalComponent(comp) {
5449
5523
  const legacyFn = comp.render;
5450
5524
  const Func = (props, ctx) => {
5451
5525
  const instance = getCurrentInstance();
5452
- return legacyFn(compatH, {
5526
+ const legacyCtx = {
5453
5527
  props,
5454
5528
  children: instance.vnode.children || [],
5455
5529
  data: instance.vnode.props || {},
@@ -5469,7 +5543,8 @@ function convertLegacyFunctionalComponent(comp) {
5469
5543
  }
5470
5544
  return {};
5471
5545
  }
5472
- });
5546
+ };
5547
+ return legacyFn(compatH, legacyCtx);
5473
5548
  };
5474
5549
  Func.props = comp.props;
5475
5550
  Func.displayName = comp.name;
@@ -5498,23 +5573,25 @@ function renderList(source, renderItem, cache, index) {
5498
5573
  }
5499
5574
  ret = new Array(source.length);
5500
5575
  for (let i = 0, l = source.length; i < l; i++) ret[i] = renderItem(needsWrap ? isReadonlySource ? toReadonly(toReactive(source[i])) : toReactive(source[i]) : source[i], i, void 0, cached && cached[i]);
5501
- } else if (typeof source === "number") if (!!(process.env.NODE_ENV !== "production") && (!Number.isInteger(source) || source < 0)) {
5502
- warn$1(`The v-for range expects a positive integer value but got ${source}.`);
5503
- ret = [];
5504
- } else {
5505
- ret = new Array(source);
5506
- for (let i = 0; i < source; i++) ret[i] = renderItem(i + 1, i, void 0, cached && cached[i]);
5507
- }
5508
- else if (isObject(source)) if (source[Symbol.iterator]) ret = Array.from(source, (item, i) => renderItem(item, i, void 0, cached && cached[i]));
5509
- else {
5510
- const keys = Object.keys(source);
5511
- ret = new Array(keys.length);
5512
- for (let i = 0, l = keys.length; i < l; i++) {
5513
- const key = keys[i];
5514
- ret[i] = renderItem(source[key], key, i, cached && cached[i]);
5576
+ } else if (typeof source === "number") {
5577
+ if (!!(process.env.NODE_ENV !== "production") && (!Number.isInteger(source) || source < 0)) {
5578
+ warn$1(`The v-for range expects a positive integer value but got ${source}.`);
5579
+ ret = [];
5580
+ } else {
5581
+ ret = new Array(source);
5582
+ for (let i = 0; i < source; i++) ret[i] = renderItem(i + 1, i, void 0, cached && cached[i]);
5515
5583
  }
5516
- }
5517
- else ret = [];
5584
+ } else if (isObject(source)) {
5585
+ if (source[Symbol.iterator]) ret = Array.from(source, (item, i) => renderItem(item, i, void 0, cached && cached[i]));
5586
+ else {
5587
+ const keys = Object.keys(source);
5588
+ ret = new Array(keys.length);
5589
+ for (let i = 0, l = keys.length; i < l; i++) {
5590
+ const key = keys[i];
5591
+ ret[i] = renderItem(source[key], key, i, cached && cached[i]);
5592
+ }
5593
+ }
5594
+ } else ret = [];
5518
5595
  if (cache) cache[index] = ret;
5519
5596
  return ret;
5520
5597
  }
@@ -5539,14 +5616,27 @@ function createSlots(slots, dynamicSlots) {
5539
5616
  //#endregion
5540
5617
  //#region packages/runtime-core/src/helpers/renderSlot.ts
5541
5618
  /**
5619
+ * Links a slot function to its raw vapor slot: a raw vapor slot carries
5620
+ * itself, and the wrapper the interop slots proxy hands out carries the raw
5621
+ * slot it wraps — one lookup answers both "is this a vapor slot" and
5622
+ * "which one". Internal to vapor interop.
5623
+ */
5624
+ const rawVaporSlotKey = Symbol(`rawVaporSlot`);
5625
+ /**
5626
+ * Marks a compiler-generated slot fallback as VDOM-rendered so the vapor
5627
+ * interop fallback chain renders it through the VDOM renderer. Internal to
5628
+ * vapor interop.
5629
+ */
5630
+ const vdomSlotFallbackKey = Symbol(`vdomSlotFallback`);
5631
+ /**
5542
5632
  * Compiler runtime helper for rendering `<slot/>`
5543
5633
  * @private
5544
5634
  */
5545
5635
  function renderSlot(slots, name, props, fallback, noSlotted, branchKey) {
5546
5636
  if (props == null) props = {};
5547
5637
  let slot = slots[name];
5548
- if (fallback) fallback.__vdom = true;
5549
- const vaporSlot = slot && (slot.__vs || (slot.__vapor ? slot : null));
5638
+ if (fallback) fallback[vdomSlotFallbackKey] = true;
5639
+ const vaporSlot = slot && slot[rawVaporSlotKey];
5550
5640
  if (vaporSlot) {
5551
5641
  const ret = (openBlock(), createBlock(VaporSlot, props));
5552
5642
  ret.vs = {
@@ -5654,12 +5744,14 @@ function legacyResolveScopedSlots(fns, raw, hasDynamicKeys) {
5654
5744
  function mapKeyToName(slots) {
5655
5745
  for (let i = 0; i < slots.length; i++) {
5656
5746
  const fn = slots[i];
5657
- if (fn) if (isArray(fn)) mapKeyToName(fn);
5658
- else fn.name = fn.key || "default";
5747
+ if (fn) {
5748
+ if (isArray(fn)) mapKeyToName(fn);
5749
+ else fn.name = fn.key || "default";
5750
+ }
5659
5751
  }
5660
5752
  return slots;
5661
5753
  }
5662
- const staticCacheMap = /* @__PURE__ */ new WeakMap();
5754
+ const staticCacheMap = /*@__PURE__*/ new WeakMap();
5663
5755
  function legacyRenderStatic(instance, index) {
5664
5756
  let cache = staticCacheMap.get(instance);
5665
5757
  if (!cache) staticCacheMap.set(instance, cache = []);
@@ -5792,11 +5884,38 @@ const getPublicInstance = (i) => {
5792
5884
  if (isStatefulComponent(i)) return getComponentPublicInstance(i);
5793
5885
  return getPublicInstance(i.parent);
5794
5886
  };
5887
+ const resolveDevRootEl = (vnode) => {
5888
+ let found = false;
5889
+ while (true) {
5890
+ if (vnode.patchFlag > 0 && vnode.patchFlag & 2048) {
5891
+ const root = filterSingleRoot(vnode.children);
5892
+ if (!root) return;
5893
+ vnode = root;
5894
+ found = true;
5895
+ continue;
5896
+ }
5897
+ const component = vnode.component;
5898
+ if (component && component.subTree) {
5899
+ vnode = component.subTree;
5900
+ continue;
5901
+ }
5902
+ const suspense = vnode.suspense;
5903
+ if (suspense && suspense.activeBranch) {
5904
+ vnode = suspense.activeBranch;
5905
+ continue;
5906
+ }
5907
+ return found ? vnode.el : void 0;
5908
+ }
5909
+ };
5910
+ const getDevRootFragmentEl = (i) => {
5911
+ const el = i.subTree && resolveDevRootEl(i.subTree);
5912
+ return el === void 0 ? i.vnode.el : el;
5913
+ };
5795
5914
  let publicPropertiesMap;
5796
5915
  const getPublicPropertiesMap = () => {
5797
5916
  if (!publicPropertiesMap) publicPropertiesMap = extend(Object.create(null), {
5798
5917
  $: (i) => i,
5799
- $el: (i) => i.vnode.el,
5918
+ $el: (i) => !!(process.env.NODE_ENV !== "production") ? getDevRootFragmentEl(i) : i.vnode.el,
5800
5919
  $data: (i) => i.data,
5801
5920
  $props: (i) => !!(process.env.NODE_ENV !== "production") ? /* @__PURE__ */ shallowReadonly(i.props) : i.props,
5802
5921
  $attrs: (i) => !!(process.env.NODE_ENV !== "production") ? /* @__PURE__ */ shallowReadonly(i.attrs) : i.attrs,
@@ -5909,7 +6028,7 @@ if (!!(process.env.NODE_ENV !== "production") && true) PublicInstanceProxyHandle
5909
6028
  warn$1("Avoid app logic that relies on enumerating keys on a component instance. The keys will be empty in production mode to avoid performance overhead.");
5910
6029
  return Reflect.ownKeys(target);
5911
6030
  };
5912
- const RuntimeCompiledPublicInstanceProxyHandlers = /* @__PURE__ */ extend({}, PublicInstanceProxyHandlers, {
6031
+ const RuntimeCompiledPublicInstanceProxyHandlers = /*@__PURE__*/ extend({}, PublicInstanceProxyHandlers, {
5913
6032
  get(target, key) {
5914
6033
  if (key === Symbol.unscopables) return;
5915
6034
  return PublicInstanceProxyHandlers.get(target, key, target);
@@ -6094,12 +6213,13 @@ function mergeDefaults(raw, defaults) {
6094
6213
  for (const key in defaults) {
6095
6214
  if (key.startsWith("__skip")) continue;
6096
6215
  let opt = props[key];
6097
- if (opt) if (isArray(opt) || isFunction(opt)) opt = props[key] = {
6098
- type: opt,
6099
- default: defaults[key]
6100
- };
6101
- else opt.default = defaults[key];
6102
- else if (opt === null) opt = props[key] = { default: defaults[key] };
6216
+ if (opt) {
6217
+ if (isArray(opt) || isFunction(opt)) opt = props[key] = {
6218
+ type: opt,
6219
+ default: defaults[key]
6220
+ };
6221
+ else opt.default = defaults[key];
6222
+ } else if (opt === null) opt = props[key] = { default: defaults[key] };
6103
6223
  else if (!!(process.env.NODE_ENV !== "production")) warn$1(`props default key "${key}" has no corresponding declaration.`);
6104
6224
  if (opt && defaults[`__skip_${key}`]) opt.skipFactory = true;
6105
6225
  }
@@ -6243,11 +6363,12 @@ function applyOptions(instance) {
6243
6363
  const opt = computedOptions[key];
6244
6364
  const get = isFunction(opt) ? opt.bind(publicThis, publicThis) : isFunction(opt.get) ? opt.get.bind(publicThis, publicThis) : NOOP;
6245
6365
  if (!!(process.env.NODE_ENV !== "production") && get === NOOP) warn$1(`Computed property "${key}" has no getter.`);
6366
+ const set = !isFunction(opt) && isFunction(opt.set) ? opt.set.bind(publicThis) : !!(process.env.NODE_ENV !== "production") ? () => {
6367
+ warn$1(`Write operation failed: computed property "${key}" is readonly.`);
6368
+ } : NOOP;
6246
6369
  const c = computed({
6247
6370
  get,
6248
- set: !isFunction(opt) && isFunction(opt.set) ? opt.set.bind(publicThis) : !!(process.env.NODE_ENV !== "production") ? () => {
6249
- warn$1(`Write operation failed: computed property "${key}" is readonly.`);
6250
- } : NOOP
6371
+ set
6251
6372
  });
6252
6373
  Object.defineProperty(ctx, key, {
6253
6374
  enumerable: true,
@@ -6307,9 +6428,10 @@ function resolveInjections(injectOptions, ctx, checkDuplicateProperties = NOOP)
6307
6428
  for (const key in injectOptions) {
6308
6429
  const opt = injectOptions[key];
6309
6430
  let injected;
6310
- if (isObject(opt)) if ("default" in opt) injected = inject(opt.from || key, opt.default, true);
6311
- else injected = inject(opt.from || key);
6312
- else injected = inject(opt);
6431
+ if (isObject(opt)) {
6432
+ if ("default" in opt) injected = inject(opt.from || key, opt.default, true);
6433
+ else injected = inject(opt.from || key);
6434
+ } else injected = inject(opt);
6313
6435
  if (/* @__PURE__ */ isRef(injected)) Object.defineProperty(ctx, key, {
6314
6436
  enumerable: true,
6315
6437
  configurable: true,
@@ -6329,7 +6451,8 @@ function createWatcher(raw, ctx, publicThis, key) {
6329
6451
  {
6330
6452
  const cur = getCurrentInstance();
6331
6453
  const instance = cur && getCurrentScope() === cur.scope ? cur : null;
6332
- if (isArray(getter()) && isCompatEnabled$1("WATCH_ARRAY", instance)) options.deep = true;
6454
+ const newValue = getter();
6455
+ if (isArray(newValue) && isCompatEnabled$1("WATCH_ARRAY", instance)) options.deep = true;
6333
6456
  const baseGetter = getter;
6334
6457
  getter = () => {
6335
6458
  const val = baseGetter();
@@ -6342,13 +6465,14 @@ function createWatcher(raw, ctx, publicThis, key) {
6342
6465
  if (isFunction(handler)) watch(getter, handler, options);
6343
6466
  else if (!!(process.env.NODE_ENV !== "production")) warn$1(`Invalid watch handler specified by key "${raw}"`, handler);
6344
6467
  } else if (isFunction(raw)) watch(getter, raw.bind(publicThis), options);
6345
- else if (isObject(raw)) if (isArray(raw)) raw.forEach((r) => createWatcher(r, ctx, publicThis, key));
6346
- else {
6347
- const handler = isFunction(raw.handler) ? raw.handler.bind(publicThis) : ctx[raw.handler];
6348
- if (isFunction(handler)) watch(getter, handler, extend(raw, options));
6349
- else if (!!(process.env.NODE_ENV !== "production")) warn$1(`Invalid watch handler specified by key "${raw.handler}"`, handler);
6350
- }
6351
- else if (!!(process.env.NODE_ENV !== "production")) warn$1(`Invalid watch option: "${key}"`, raw);
6468
+ else if (isObject(raw)) {
6469
+ if (isArray(raw)) raw.forEach((r) => createWatcher(r, ctx, publicThis, key));
6470
+ else {
6471
+ const handler = isFunction(raw.handler) ? raw.handler.bind(publicThis) : ctx[raw.handler];
6472
+ if (isFunction(handler)) watch(getter, handler, extend(raw, options));
6473
+ else if (!!(process.env.NODE_ENV !== "production")) warn$1(`Invalid watch handler specified by key "${raw.handler}"`, handler);
6474
+ }
6475
+ } else if (!!(process.env.NODE_ENV !== "production")) warn$1(`Invalid watch option: "${key}"`, raw);
6352
6476
  }
6353
6477
  /**
6354
6478
  * Resolve merged options and cache it on the component.
@@ -6362,12 +6486,13 @@ function resolveMergedOptions(instance) {
6362
6486
  const cached = cache.get(base);
6363
6487
  let resolved;
6364
6488
  if (cached) resolved = cached;
6365
- else if (!globalMixins.length && !mixins && !extendsOptions) if (isCompatEnabled$1("PRIVATE_APIS", instance)) {
6366
- resolved = extend({}, base);
6367
- resolved.parent = instance.parent && instance.parent.proxy;
6368
- resolved.propsData = instance.vnode.props;
6369
- } else resolved = base;
6370
- else {
6489
+ else if (!globalMixins.length && !mixins && !extendsOptions) {
6490
+ if (isCompatEnabled$1("PRIVATE_APIS", instance)) {
6491
+ resolved = extend({}, base);
6492
+ resolved.parent = instance.parent && instance.parent.proxy;
6493
+ resolved.propsData = instance.vnode.props;
6494
+ } else resolved = base;
6495
+ } else {
6371
6496
  resolved = {};
6372
6497
  if (globalMixins.length) globalMixins.forEach((m) => mergeOptions(resolved, m, optionMergeStrategies, true));
6373
6498
  mergeOptions(resolved, base, optionMergeStrategies);
@@ -6440,7 +6565,7 @@ function mergeObjectOptions(to, from) {
6440
6565
  }
6441
6566
  function mergeEmitsOrPropsOptions(to, from) {
6442
6567
  if (to) {
6443
- if (isArray(to) && isArray(from)) return [...new Set([...to, ...from])];
6568
+ if (isArray(to) && isArray(from)) return [.../* @__PURE__ */ new Set([...to, ...from])];
6444
6569
  return extend(Object.create(null), normalizePropsOrEmits(to), normalizePropsOrEmits(from !== null && from !== void 0 ? from : {}));
6445
6570
  } else return from;
6446
6571
  }
@@ -6501,7 +6626,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
6501
6626
  if (options.el) return vm.$mount(options.el);
6502
6627
  else return vm;
6503
6628
  }
6504
- Vue.version = `2.6.14-compat:3.6.0-rc.5`;
6629
+ Vue.version = `2.6.14-compat:3.6.0-rc.6`;
6505
6630
  Vue.config = singletonApp.config;
6506
6631
  Vue.use = (plugin, ...options) => {
6507
6632
  if (plugin && isFunction(plugin.install)) plugin.install(Vue, ...options);
@@ -6897,8 +7022,10 @@ function createAppAPI(mount, unmount, getPublicInstance, render) {
6897
7022
  } else if (!!(process.env.NODE_ENV !== "production")) warn$1(`Cannot unmount an app that is not mounted.`);
6898
7023
  },
6899
7024
  provide(key, value) {
6900
- if (!!(process.env.NODE_ENV !== "production") && key in context.provides) if (hasOwn(context.provides, key)) warn$1(`App already provides property with key "${String(key)}". It will be overwritten with the new value.`);
6901
- else warn$1(`App already provides property with key "${String(key)}" inherited from its parent element. It will be overwritten with the new value.`);
7025
+ if (!!(process.env.NODE_ENV !== "production") && key in context.provides) {
7026
+ if (hasOwn(context.provides, key)) warn$1(`App already provides property with key "${String(key)}". It will be overwritten with the new value.`);
7027
+ else warn$1(`App already provides property with key "${String(key)}" inherited from its parent element. It will be overwritten with the new value.`);
7028
+ }
6902
7029
  context.provides[key] = value;
6903
7030
  return app;
6904
7031
  },
@@ -7048,12 +7175,14 @@ function baseEmit(instance, props, getter, event, ...rawArgs) {
7048
7175
  if (instance.isUnmounted) return;
7049
7176
  if (!!(process.env.NODE_ENV !== "production")) {
7050
7177
  const { emitsOptions, propsOptions } = instance;
7051
- if (emitsOptions) if (!(event in emitsOptions) && !(event.startsWith("hook:") || event.startsWith(compatModelEventPrefix))) {
7052
- if (!propsOptions || !propsOptions[0] || !(toHandlerKey(camelize(event)) in propsOptions[0])) warn$1(`Component emitted event "${event}" but it is neither declared in the emits option nor as an "${toHandlerKey(camelize(event))}" prop.`);
7053
- } else {
7054
- const validator = emitsOptions[event];
7055
- if (isFunction(validator)) {
7056
- if (!validator(...rawArgs)) warn$1(`Invalid event arguments: event validation failed for event "${event}".`);
7178
+ if (emitsOptions) {
7179
+ if (!(event in emitsOptions) && !(event.startsWith("hook:") || event.startsWith(compatModelEventPrefix))) {
7180
+ if (!propsOptions || !propsOptions[0] || !(toHandlerKey(camelize(event)) in propsOptions[0])) warn$1(`Component emitted event "${event}" but it is neither declared in the emits option nor as an "${toHandlerKey(camelize(event))}" prop.`);
7181
+ } else {
7182
+ const validator = emitsOptions[event];
7183
+ if (isFunction(validator)) {
7184
+ if (!validator(...rawArgs)) warn$1(`Invalid event arguments: event validation failed for event "${event}".`);
7185
+ }
7057
7186
  }
7058
7187
  }
7059
7188
  }
@@ -7063,7 +7192,7 @@ function baseEmit(instance, props, getter, event, ...rawArgs) {
7063
7192
  const modifiers = isCompatModelListener ? props.modelModifiers : isModelListener && getModelModifiers(props, event.slice(7), getter);
7064
7193
  if (modifiers) {
7065
7194
  if (modifiers.trim) args = rawArgs.map((a) => isString(a) ? a.trim() : a);
7066
- if (modifiers.number) args = rawArgs.map(looseToNumber);
7195
+ if (modifiers.number) args = args.map(looseToNumber);
7067
7196
  }
7068
7197
  if (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_DEVTOOLS__) devtoolsComponentEmit(instance, event, args);
7069
7198
  if (!!(process.env.NODE_ENV !== "production")) {
@@ -7262,10 +7391,12 @@ function filterSingleRoot(children, recurse = true) {
7262
7391
  for (let i = 0; i < children.length; i++) {
7263
7392
  const child = children[i];
7264
7393
  if (isVNode(child)) {
7265
- if (child.type !== Comment || child.children === "v-if") if (singleRoot) return;
7266
- else {
7267
- singleRoot = child;
7268
- if (!!(process.env.NODE_ENV !== "production") && recurse && singleRoot.patchFlag > 0 && singleRoot.patchFlag & 2048) return filterSingleRoot(singleRoot.children);
7394
+ if (child.type !== Comment || child.children === "v-if") {
7395
+ if (singleRoot) return;
7396
+ else {
7397
+ singleRoot = child;
7398
+ if (!!(process.env.NODE_ENV !== "production") && recurse && singleRoot.patchFlag > 0 && singleRoot.patchFlag & 2048) return filterSingleRoot(singleRoot.children);
7399
+ }
7269
7400
  }
7270
7401
  } else return;
7271
7402
  }
@@ -7410,16 +7541,17 @@ function updateProps(instance, rawProps, rawPrevProps, optimized) {
7410
7541
  let key = propsToUpdate[i];
7411
7542
  if (isEmitListener(instance.emitsOptions, key)) continue;
7412
7543
  const value = rawProps[key];
7413
- if (options) if (hasOwn(attrs, key)) {
7414
- if (value !== attrs[key]) {
7415
- attrs[key] = value;
7416
- hasAttrsChanged = true;
7544
+ if (options) {
7545
+ if (hasOwn(attrs, key)) {
7546
+ if (value !== attrs[key]) {
7547
+ attrs[key] = value;
7548
+ hasAttrsChanged = true;
7549
+ }
7550
+ } else {
7551
+ const camelizedKey = camelize(key);
7552
+ props[camelizedKey] = resolvePropValue(options, camelizedKey, value, instance, baseResolveDefault);
7417
7553
  }
7418
7554
  } else {
7419
- const camelizedKey = camelize(key);
7420
- props[camelizedKey] = resolvePropValue(options, camelizedKey, value, instance, baseResolveDefault);
7421
- }
7422
- else {
7423
7555
  if (isOn(key) && key.endsWith("Native")) key = key.slice(0, -6);
7424
7556
  else if (shouldSkipAttr(key, instance)) continue;
7425
7557
  if (value !== attrs[key]) {
@@ -7432,9 +7564,11 @@ function updateProps(instance, rawProps, rawPrevProps, optimized) {
7432
7564
  } else {
7433
7565
  if (setFullProps(instance, rawProps, props, attrs)) hasAttrsChanged = true;
7434
7566
  let kebabKey;
7435
- for (const key in rawCurrentProps) if (!rawProps || !hasOwn(rawProps, key) && ((kebabKey = hyphenate(key)) === key || !hasOwn(rawProps, kebabKey))) if (options) {
7436
- if (rawPrevProps && (rawPrevProps[key] !== void 0 || rawPrevProps[kebabKey] !== void 0)) props[key] = resolvePropValue(options, key, void 0, instance, baseResolveDefault, true);
7437
- } else delete props[key];
7567
+ for (const key in rawCurrentProps) if (!rawProps || !hasOwn(rawProps, key) && ((kebabKey = hyphenate(key)) === key || !hasOwn(rawProps, kebabKey))) {
7568
+ if (options) {
7569
+ if (rawPrevProps && (rawPrevProps[key] !== void 0 || rawPrevProps[kebabKey] !== void 0)) props[key] = resolvePropValue(options, key, void 0, instance, baseResolveDefault, true);
7570
+ } else delete props[key];
7571
+ }
7438
7572
  if (attrs !== rawCurrentProps) {
7439
7573
  for (const key in attrs) if (!rawProps || !hasOwn(rawProps, key) && !hasOwn(rawProps, key + "Native")) {
7440
7574
  delete attrs[key];
@@ -7455,9 +7589,10 @@ function setFullProps(instance, rawProps, props, attrs) {
7455
7589
  if (key === "inline-template") continue;
7456
7590
  const value = rawProps[key];
7457
7591
  let camelKey;
7458
- if (options && hasOwn(options, camelKey = camelize(key))) if (!needCastKeys || !needCastKeys.includes(camelKey)) props[camelKey] = value;
7459
- else (rawCastValues || (rawCastValues = {}))[camelKey] = value;
7460
- else if (!isEmitListener(instance.emitsOptions, key)) {
7592
+ if (options && hasOwn(options, camelKey = camelize(key))) {
7593
+ if (!needCastKeys || !needCastKeys.includes(camelKey)) props[camelKey] = value;
7594
+ else (rawCastValues || (rawCastValues = {}))[camelKey] = value;
7595
+ } else if (!isEmitListener(instance.emitsOptions, key)) {
7461
7596
  if (isOn(key) && key.endsWith("Native")) key = key.slice(0, -6);
7462
7597
  else if (shouldSkipAttr(key, instance)) continue;
7463
7598
  if (!(key in attrs) || value !== attrs[key]) {
@@ -7623,7 +7758,7 @@ function validateProp(key, value, propOptions, resolvedProps, isAbsent) {
7623
7758
  }
7624
7759
  if (validator && !validator(value, !!(process.env.NODE_ENV !== "production") ? /* @__PURE__ */ shallowReadonly(resolvedProps) : resolvedProps)) warn$1("Invalid prop: custom validator check failed for prop \"" + key + "\".");
7625
7760
  }
7626
- const isSimpleType = /* @__PURE__ */ makeMap("String,Number,Boolean,Function,Symbol,BigInt");
7761
+ const isSimpleType = /*@__PURE__*/ makeMap("String,Number,Boolean,Function,Symbol,BigInt");
7627
7762
  /**
7628
7763
  * dev only
7629
7764
  */
@@ -7736,12 +7871,13 @@ const updateSlots = (instance, children, optimized) => {
7736
7871
  let deletionComparisonTarget = EMPTY_OBJ;
7737
7872
  if (vnode.shapeFlag & 32) {
7738
7873
  const type = children._;
7739
- if (type) if (!!(process.env.NODE_ENV !== "production") && isHmrUpdating) {
7740
- assignSlots(slots, children, optimized);
7741
- trigger(instance, "set", "$slots");
7742
- } else if (optimized && type === 1) needDeletionCheck = false;
7743
- else assignSlots(slots, children, optimized);
7744
- else {
7874
+ if (type) {
7875
+ if (!!(process.env.NODE_ENV !== "production") && isHmrUpdating) {
7876
+ assignSlots(slots, children, optimized);
7877
+ trigger(instance, "set", "$slots");
7878
+ } else if (optimized && type === 1) needDeletionCheck = false;
7879
+ else assignSlots(slots, children, optimized);
7880
+ } else {
7745
7881
  needDeletionCheck = !children.$stable;
7746
7882
  normalizeObjectSlots(children, slots, instance);
7747
7883
  }
@@ -7759,7 +7895,7 @@ const updateSlots = (instance, children, optimized) => {
7759
7895
  let supported;
7760
7896
  let perf;
7761
7897
  let cachedNow$1 = 0;
7762
- const p$1 = /* @__PURE__ */ Promise.resolve();
7898
+ const p$1 = /*@__PURE__*/ Promise.resolve();
7763
7899
  const getNow$1 = () => cachedNow$1 || (p$1.then(() => cachedNow$1 = 0), cachedNow$1 = isSupported() ? perf.now() : Date.now());
7764
7900
  /**
7765
7901
  * @internal
@@ -8007,7 +8143,10 @@ function baseCreateRenderer(options, createHydrationFns) {
8007
8143
  for (let i = 0; i < inheritedScopeIds.length; i++) hostSetScopeId(el, inheritedScopeIds[i]);
8008
8144
  };
8009
8145
  const mountChildren = (children, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, start = 0) => {
8010
- 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);
8146
+ for (let i = start; i < children.length; i++) {
8147
+ const child = children[i] = optimized ? cloneIfMounted(children[i]) : normalizeVNode(children[i]);
8148
+ patch(null, child, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
8149
+ }
8011
8150
  };
8012
8151
  const patchElement = (n1, n2, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {
8013
8152
  const el = n2.el = n1.el;
@@ -8019,6 +8158,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8019
8158
  let vnodeHook;
8020
8159
  parentComponent && toggleRecurse(parentComponent, false);
8021
8160
  if (vnodeHook = newProps.onVnodeBeforeUpdate) invokeVNodeHook(vnodeHook, parentComponent, n2, n1);
8161
+ if (n2.ibu) n2.ibu();
8022
8162
  if (dirs) invokeDirectiveHook(n2, n1, parentComponent, "beforeUpdate");
8023
8163
  parentComponent && toggleRecurse(parentComponent, true);
8024
8164
  if (!!(process.env.NODE_ENV !== "production") && isHmrUpdating || dynamicChildren && (!n1.dynamicChildren || n1.dynamicChildren.length !== dynamicChildren.length)) {
@@ -8052,8 +8192,9 @@ function baseCreateRenderer(options, createHydrationFns) {
8052
8192
  if (n1.children !== n2.children) hostSetElementText(el, n2.children);
8053
8193
  }
8054
8194
  } else if (!optimized && dynamicChildren == null) patchProps(el, oldProps, newProps, parentComponent, namespace);
8055
- if ((vnodeHook = newProps.onVnodeUpdated) || dirs) queuePostRenderEffect(() => {
8195
+ if ((vnodeHook = newProps.onVnodeUpdated) || dirs || n2.iu) queuePostRenderEffect(() => {
8056
8196
  vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, n2, n1);
8197
+ n2.iu && n2.iu();
8057
8198
  dirs && invokeDirectiveHook(n2, n1, parentComponent, "updated");
8058
8199
  }, void 0, parentSuspense);
8059
8200
  };
@@ -8061,7 +8202,8 @@ function baseCreateRenderer(options, createHydrationFns) {
8061
8202
  for (let i = 0; i < newChildren.length; i++) {
8062
8203
  const oldVNode = oldChildren[i];
8063
8204
  const newVNode = newChildren[i];
8064
- patch(oldVNode, newVNode, oldVNode.el && (oldVNode.type === Fragment || !isSameVNodeType(oldVNode, newVNode) || oldVNode.shapeFlag & 198) ? hostParentNode(oldVNode.el) : fallbackContainer, null, parentComponent, parentSuspense, namespace, slotScopeIds, true);
8205
+ const container = oldVNode.el && (oldVNode.type === Fragment || !isSameVNodeType(oldVNode, newVNode) || oldVNode.shapeFlag & 198) ? hostParentNode(oldVNode.el) : fallbackContainer;
8206
+ patch(oldVNode, newVNode, container, null, parentComponent, parentSuspense, namespace, slotScopeIds, true);
8065
8207
  }
8066
8208
  };
8067
8209
  const patchProps = (el, oldProps, newProps, parentComponent, namespace) => {
@@ -8100,41 +8242,46 @@ function baseCreateRenderer(options, createHydrationFns) {
8100
8242
  };
8101
8243
  const processComponent = (n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {
8102
8244
  n2.slotScopeIds = slotScopeIds;
8103
- if (n2.type.__vapor) if (n1 == null) if (n2.shapeFlag & 512) getVaporInterface(parentComponent, n2).activate(n2, container, anchor, parentComponent, parentSuspense);
8104
- else {
8105
- const vnodeBeforeMountHook = !isAsyncWrapper(n2) && n2.props && n2.props.onVnodeBeforeMount;
8106
- getVaporInterface(parentComponent, n2).mount(n2, container, anchor, parentComponent, parentSuspense, () => {
8107
- if (n2.dirs) {
8108
- invokeDirectiveHook(n2, null, parentComponent, "created");
8109
- invokeDirectiveHook(n2, null, parentComponent, "beforeMount");
8245
+ if (n2.type.__vapor) {
8246
+ if (n1 == null) {
8247
+ if (n2.shapeFlag & 512) getVaporInterface(parentComponent, n2).activate(n2, container, anchor, parentComponent, parentSuspense);
8248
+ else {
8249
+ const vnodeBeforeMountHook = !isAsyncWrapper(n2) && n2.props && n2.props.onVnodeBeforeMount;
8250
+ getVaporInterface(parentComponent, n2).mount(n2, container, anchor, parentComponent, parentSuspense, () => {
8251
+ if (n2.dirs) {
8252
+ invokeDirectiveHook(n2, null, parentComponent, "created");
8253
+ invokeDirectiveHook(n2, null, parentComponent, "beforeMount");
8254
+ }
8255
+ }, () => {
8256
+ if (vnodeBeforeMountHook) invokeVNodeHook(vnodeBeforeMountHook, parentComponent, n2);
8257
+ });
8258
+ if (n2.dirs) queuePostRenderEffect(() => invokeDirectiveHook(n2, null, parentComponent, "mounted"), void 0, parentSuspense);
8259
+ const vnodeMountedHook = !isAsyncWrapper(n2) && n2.props && n2.props.onVnodeMounted;
8260
+ if (vnodeMountedHook) {
8261
+ const scopedVNode = n2;
8262
+ queuePostRenderEffect(() => invokeVNodeHook(vnodeMountedHook, parentComponent, scopedVNode), void 0, parentSuspense);
8263
+ }
8110
8264
  }
8111
- }, () => {
8112
- if (vnodeBeforeMountHook) invokeVNodeHook(vnodeBeforeMountHook, parentComponent, n2);
8113
- });
8114
- if (n2.dirs) queuePostRenderEffect(() => invokeDirectiveHook(n2, null, parentComponent, "mounted"), void 0, parentSuspense);
8115
- const vnodeMountedHook = !isAsyncWrapper(n2) && n2.props && n2.props.onVnodeMounted;
8116
- if (vnodeMountedHook) {
8117
- const scopedVNode = n2;
8118
- queuePostRenderEffect(() => invokeVNodeHook(vnodeMountedHook, parentComponent, scopedVNode), void 0, parentSuspense);
8265
+ } else {
8266
+ const shouldUpdate = shouldUpdateComponent(n1, n2, optimized);
8267
+ getVaporInterface(parentComponent, n2).update(n1, n2, shouldUpdate, () => {
8268
+ if (n2.dirs) invokeDirectiveHook(n2, n1, parentComponent, "beforeUpdate");
8269
+ }, () => {
8270
+ const vnodeBeforeUpdateHook = n2.props && n2.props.onVnodeBeforeUpdate;
8271
+ if (vnodeBeforeUpdateHook) invokeVNodeHook(vnodeBeforeUpdateHook, parentComponent, n2, n1);
8272
+ if (n2.ibu) n2.ibu();
8273
+ });
8274
+ const vnodeUpdatedHook = n2.props && n2.props.onVnodeUpdated;
8275
+ if (shouldUpdate && (vnodeUpdatedHook || n2.dirs || n2.iu)) queuePostRenderEffect(() => {
8276
+ n2.dirs && invokeDirectiveHook(n2, n1, parentComponent, "updated");
8277
+ vnodeUpdatedHook && invokeVNodeHook(vnodeUpdatedHook, parentComponent, n2, n1);
8278
+ n2.iu && n2.iu();
8279
+ }, void 0, parentSuspense);
8119
8280
  }
8120
- }
8121
- else {
8122
- const shouldUpdate = shouldUpdateComponent(n1, n2, optimized);
8123
- getVaporInterface(parentComponent, n2).update(n1, n2, shouldUpdate, () => {
8124
- if (n2.dirs) invokeDirectiveHook(n2, n1, parentComponent, "beforeUpdate");
8125
- }, () => {
8126
- const vnodeBeforeUpdateHook = n2.props && n2.props.onVnodeBeforeUpdate;
8127
- if (vnodeBeforeUpdateHook) invokeVNodeHook(vnodeBeforeUpdateHook, parentComponent, n2, n1);
8128
- });
8129
- const vnodeUpdatedHook = n2.props && n2.props.onVnodeUpdated;
8130
- if (shouldUpdate && (vnodeUpdatedHook || n2.dirs)) queuePostRenderEffect(() => {
8131
- n2.dirs && invokeDirectiveHook(n2, n1, parentComponent, "updated");
8132
- vnodeUpdatedHook && invokeVNodeHook(vnodeUpdatedHook, parentComponent, n2, n1);
8133
- }, void 0, parentSuspense);
8134
- }
8135
- else if (n1 == null) if (n2.shapeFlag & 512) parentComponent.ctx.activate(n2, container, anchor, namespace, optimized);
8136
- else mountComponent(n2, container, anchor, parentComponent, parentSuspense, namespace, optimized);
8137
- else updateComponent(n1, n2, optimized);
8281
+ } else if (n1 == null) {
8282
+ if (n2.shapeFlag & 512) parentComponent.ctx.activate(n2, container, anchor, namespace, optimized);
8283
+ else mountComponent(n2, container, anchor, parentComponent, parentSuspense, namespace, optimized);
8284
+ } else updateComponent(n1, n2, optimized);
8138
8285
  };
8139
8286
  const mountComponent = (initialVNode, container, anchor, parentComponent, parentSuspense, namespace, optimized) => {
8140
8287
  const compatMountInstance = initialVNode.isCompatRoot && initialVNode.component;
@@ -8182,16 +8329,17 @@ function baseCreateRenderer(options, createHydrationFns) {
8182
8329
  };
8183
8330
  const updateComponent = (n1, n2, optimized) => {
8184
8331
  const instance = n2.component = n1.component;
8185
- if (shouldUpdateComponent(n1, n2, optimized)) if (instance.asyncDep && !instance.asyncResolved) {
8186
- if (!!(process.env.NODE_ENV !== "production")) pushWarningContext(n2);
8187
- updateComponentPreRender(instance, n2, optimized);
8188
- if (!!(process.env.NODE_ENV !== "production")) popWarningContext();
8189
- return;
8332
+ if (shouldUpdateComponent(n1, n2, optimized)) {
8333
+ if (instance.asyncDep && !instance.asyncResolved) {
8334
+ if (!!(process.env.NODE_ENV !== "production")) pushWarningContext(n2);
8335
+ updateComponentPreRender(instance, n2, optimized);
8336
+ if (!!(process.env.NODE_ENV !== "production")) popWarningContext();
8337
+ return;
8338
+ } else {
8339
+ instance.next = n2;
8340
+ instance.effect.run();
8341
+ }
8190
8342
  } else {
8191
- instance.next = n2;
8192
- instance.effect.run();
8193
- }
8194
- else {
8195
8343
  n2.el = n1.el;
8196
8344
  instance.vnode = n2;
8197
8345
  }
@@ -8296,6 +8444,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8296
8444
  } else next = vnode;
8297
8445
  if (bu) invokeArrayFns(bu);
8298
8446
  if (vnodeHook = next.props && next.props.onVnodeBeforeUpdate) invokeVNodeHook(vnodeHook, parent, next, vnode);
8447
+ if (next.ibu) next.ibu();
8299
8448
  if (isCompatEnabled$1("INSTANCE_EVENT_HOOKS", instance)) instance.emit("hook:beforeUpdate");
8300
8449
  toggleRecurse(instance, true);
8301
8450
  if (!!(process.env.NODE_ENV !== "production")) startMeasure(instance, `render`);
@@ -8309,7 +8458,10 @@ function baseCreateRenderer(options, createHydrationFns) {
8309
8458
  next.el = nextTree.el;
8310
8459
  if (originNext === null) updateHOCHostEl(instance, nextTree.el);
8311
8460
  if (u) queuePostRenderEffect(u, void 0, parentSuspense);
8312
- if (vnodeHook = next.props && next.props.onVnodeUpdated) queuePostRenderEffect(() => invokeVNodeHook(vnodeHook, parent, next, vnode), void 0, parentSuspense);
8461
+ if ((vnodeHook = next.props && next.props.onVnodeUpdated) || next.iu) queuePostRenderEffect(() => {
8462
+ vnodeHook && invokeVNodeHook(vnodeHook, parent, next, vnode);
8463
+ next.iu && next.iu();
8464
+ }, void 0, parentSuspense);
8313
8465
  if (isCompatEnabled$1("INSTANCE_EVENT_HOOKS", instance)) queuePostRenderEffect(() => instance.emit("hook:updated"), void 0, parentSuspense);
8314
8466
  if (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_DEVTOOLS__) devtoolsComponentUpdated(instance);
8315
8467
  if (!!(process.env.NODE_ENV !== "production")) popWarningContext();
@@ -8350,9 +8502,10 @@ function baseCreateRenderer(options, createHydrationFns) {
8350
8502
  if (shapeFlag & 8) {
8351
8503
  if (prevShapeFlag & 16) unmountChildren(c1, parentComponent, parentSuspense);
8352
8504
  if (c2 !== c1) hostSetElementText(container, c2);
8353
- } else if (prevShapeFlag & 16) if (shapeFlag & 16) patchKeyedChildren(c1, c2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
8354
- else unmountChildren(c1, parentComponent, parentSuspense, true);
8355
- else {
8505
+ } else if (prevShapeFlag & 16) {
8506
+ if (shapeFlag & 16) patchKeyedChildren(c1, c2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
8507
+ else unmountChildren(c1, parentComponent, parentSuspense, true);
8508
+ } else {
8356
8509
  if (prevShapeFlag & 8) hostSetElementText(container, "");
8357
8510
  if (shapeFlag & 16) mountChildren(c2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
8358
8511
  }
@@ -8451,8 +8604,10 @@ function baseCreateRenderer(options, createHydrationFns) {
8451
8604
  const anchorVNode = c2[nextIndex + 1];
8452
8605
  const anchor = nextIndex + 1 < l2 ? anchorVNode.el || resolveAsyncComponentPlaceholder(anchorVNode) : parentAnchor;
8453
8606
  if (newIndexToOldIndexMap[i] === 0) patch(null, nextChild, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
8454
- else if (moved) if (j < 0 || i !== increasingNewIndexSequence[j]) move(nextChild, container, anchor, 2, parentComponent);
8455
- else j--;
8607
+ else if (moved) {
8608
+ if (j < 0 || i !== increasingNewIndexSequence[j]) move(nextChild, container, anchor, 2, parentComponent);
8609
+ else j--;
8610
+ }
8456
8611
  }
8457
8612
  }
8458
8613
  };
@@ -8484,26 +8639,27 @@ function baseCreateRenderer(options, createHydrationFns) {
8484
8639
  moveStaticNode(vnode, container, anchor);
8485
8640
  return;
8486
8641
  }
8487
- if (moveType !== 2 && shapeFlag & 1 && transition) if (moveType === 0) performTransitionEnter(el, transition, () => hostInsert(el, container, anchor), parentSuspense, true);
8488
- else {
8489
- const { leave, delayLeave, afterLeave } = transition;
8490
- const remove = () => {
8491
- if (vnode.ctx.isUnmounted) hostRemove(el);
8492
- else hostInsert(el, container, anchor);
8493
- };
8494
- const performLeave = () => {
8495
- const wasLeaving = el._isLeaving || !!el[leaveCbKey];
8496
- if (el._isLeaving) el[leaveCbKey](true);
8497
- if (transition.persisted && !wasLeaving) remove();
8498
- else leave(el, () => {
8499
- remove();
8500
- afterLeave && afterLeave();
8501
- });
8502
- };
8503
- if (delayLeave) delayLeave(el, remove, performLeave);
8504
- else performLeave();
8505
- }
8506
- else hostInsert(el, container, anchor);
8642
+ if (moveType !== 2 && shapeFlag & 1 && transition) {
8643
+ if (moveType === 0) performTransitionEnter(el, transition, () => hostInsert(el, container, anchor), parentSuspense, true);
8644
+ else {
8645
+ const { leave, delayLeave, afterLeave } = transition;
8646
+ const remove = () => {
8647
+ if (vnode.ctx.isUnmounted) hostRemove(el);
8648
+ else hostInsert(el, container, anchor);
8649
+ };
8650
+ const performLeave = () => {
8651
+ const wasLeaving = el._isLeaving || !!el[leaveCbKey];
8652
+ if (el._isLeaving) el[leaveCbKey](true);
8653
+ if (transition.persisted && !wasLeaving) remove();
8654
+ else leave(el, () => {
8655
+ remove();
8656
+ afterLeave && afterLeave();
8657
+ });
8658
+ };
8659
+ if (delayLeave) delayLeave(el, remove, performLeave);
8660
+ else performLeave();
8661
+ }
8662
+ } else hostInsert(el, container, anchor);
8507
8663
  };
8508
8664
  const unmount = (vnode, parentComponent, parentSuspense, doRemove = false, optimized = false) => {
8509
8665
  const { type, props, ref, children, dynamicChildren, shapeFlag, patchFlag, dirs, cacheIndex, memo } = vnode;
@@ -8523,16 +8679,17 @@ function baseCreateRenderer(options, createHydrationFns) {
8523
8679
  const shouldInvokeVnodeHook = !isAsyncWrapper(vnode);
8524
8680
  let vnodeHook;
8525
8681
  if (shouldInvokeVnodeHook && (vnodeHook = props && props.onVnodeBeforeUnmount)) invokeVNodeHook(vnodeHook, parentComponent, vnode);
8526
- if (shapeFlag & 6) if (isVaporComponent(type)) {
8527
- if (dirs) invokeDirectiveHook(vnode, null, parentComponent, "beforeUnmount");
8528
- getVaporInterface(parentComponent, vnode).unmount(vnode, doRemove, parentSuspense);
8529
- if (shouldInvokeVnodeHook && (vnodeHook = props && props.onVnodeUnmounted) || dirs) queuePostRenderEffect(() => {
8530
- dirs && invokeDirectiveHook(vnode, null, parentComponent, "unmounted");
8531
- vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode);
8532
- }, void 0, parentSuspense);
8533
- return;
8534
- } else unmountComponent(vnode.component, parentSuspense, doRemove);
8535
- else {
8682
+ if (shapeFlag & 6) {
8683
+ if (isVaporComponent(type)) {
8684
+ if (dirs) invokeDirectiveHook(vnode, null, parentComponent, "beforeUnmount");
8685
+ getVaporInterface(parentComponent, vnode).unmount(vnode, doRemove, parentSuspense);
8686
+ if (shouldInvokeVnodeHook && (vnodeHook = props && props.onVnodeUnmounted) || dirs) queuePostRenderEffect(() => {
8687
+ dirs && invokeDirectiveHook(vnode, null, parentComponent, "unmounted");
8688
+ vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode);
8689
+ }, void 0, parentSuspense);
8690
+ return;
8691
+ } else unmountComponent(vnode.component, parentSuspense, doRemove);
8692
+ } else {
8536
8693
  if (shapeFlag & 128) {
8537
8694
  vnode.suspense.unmount(parentSuspense, doRemove);
8538
8695
  return;
@@ -8666,12 +8823,14 @@ function resolveChildrenNamespace({ type, props }, currentNamespace) {
8666
8823
  return currentNamespace === "svg" && type === "foreignObject" || currentNamespace === "mathml" && type === "annotation-xml" && props && props.encoding && props.encoding.includes("html") ? void 0 : currentNamespace;
8667
8824
  }
8668
8825
  function toggleRecurse({ effect, job, vapor }, allowed) {
8669
- if (!vapor) if (allowed) {
8670
- effect.flags |= 128;
8671
- job.flags |= 2;
8672
- } else {
8673
- effect.flags &= -129;
8674
- job.flags &= -3;
8826
+ if (!vapor) {
8827
+ if (allowed) {
8828
+ effect.flags |= 128;
8829
+ job.flags |= 2;
8830
+ } else {
8831
+ effect.flags &= -129;
8832
+ job.flags &= -3;
8833
+ }
8675
8834
  }
8676
8835
  }
8677
8836
  function needTransition(parentSuspense, transition) {
@@ -8711,8 +8870,10 @@ function traverseStaticChildren(n1, n2, shallow = false) {
8711
8870
  }
8712
8871
  function locateNonHydratedAsyncRoot(instance) {
8713
8872
  const subComponent = instance.subTree && instance.subTree.component;
8714
- if (subComponent) if (subComponent.asyncDep && !subComponent.asyncResolved) return subComponent;
8715
- else return locateNonHydratedAsyncRoot(subComponent);
8873
+ if (subComponent) {
8874
+ if (subComponent.asyncDep && !subComponent.asyncResolved) return subComponent;
8875
+ else return locateNonHydratedAsyncRoot(subComponent);
8876
+ }
8716
8877
  }
8717
8878
  function invalidateMount(hooks) {
8718
8879
  if (hooks) for (let i = 0; i < hooks.length; i++) hooks[i].flags |= 4;
@@ -8833,7 +8994,7 @@ function patchSuspense(n1, n2, container, anchor, parentComponent, namespace, sl
8833
8994
  patch(pendingBranch, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, namespace, slotScopeIds, optimized);
8834
8995
  if (suspense.deps <= 0) suspense.resolve();
8835
8996
  else if (isInFallback) {
8836
- if (!isHydrating) {
8997
+ if (!isHydrating && !suspense.isFallbackMountPending) {
8837
8998
  patch(activeBranch, newFallback, container, anchor, parentComponent, null, namespace, slotScopeIds, optimized);
8838
8999
  setActiveBranch(suspense, newFallback);
8839
9000
  }
@@ -8854,7 +9015,7 @@ function patchSuspense(n1, n2, container, anchor, parentComponent, namespace, sl
8854
9015
  if (isInFallback) {
8855
9016
  patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, namespace, slotScopeIds, optimized);
8856
9017
  if (suspense.deps <= 0) suspense.resolve();
8857
- else {
9018
+ else if (!suspense.isFallbackMountPending) {
8858
9019
  patch(activeBranch, newFallback, container, anchor, parentComponent, null, namespace, slotScopeIds, optimized);
8859
9020
  setActiveBranch(suspense, newFallback);
8860
9021
  }
@@ -8982,8 +9143,9 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
8982
9143
  const mountFallback = () => {
8983
9144
  suspense.isFallbackMountPending = false;
8984
9145
  if (!suspense.isInFallback) return;
8985
- patch(null, fallbackVNode, container, anchor, parentComponent, null, namespace, slotScopeIds, optimized);
8986
- setActiveBranch(suspense, fallbackVNode);
9146
+ const latestFallback = suspense.vnode.ssFallback;
9147
+ patch(null, latestFallback, container, anchor, parentComponent, null, namespace, slotScopeIds, optimized);
9148
+ setActiveBranch(suspense, latestFallback);
8987
9149
  };
8988
9150
  const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === "out-in";
8989
9151
  if (delayEnter) {
@@ -9059,9 +9221,10 @@ function normalizeSuspenseSlot(s) {
9059
9221
  return s;
9060
9222
  }
9061
9223
  function queueEffectWithSuspense(fn, id, suspense) {
9062
- if (suspense && suspense.pendingBranch) if (isArray(fn)) suspense.effects.push(...fn);
9063
- else suspense.effects.push(fn);
9064
- else queuePostFlushCb(fn, id);
9224
+ if (suspense && suspense.pendingBranch) {
9225
+ if (isArray(fn)) suspense.effects.push(...fn);
9226
+ else suspense.effects.push(fn);
9227
+ } else queuePostFlushCb(fn, id);
9065
9228
  }
9066
9229
  function setActiveBranch(suspense, branch) {
9067
9230
  suspense.activeBranch = branch;
@@ -9297,8 +9460,10 @@ function _createVNode(type, props = null, children = null, patchFlag = 0, dynami
9297
9460
  if (isVNode(type)) {
9298
9461
  const cloned = cloneVNode(type, props, true);
9299
9462
  if (children) normalizeChildren(cloned, children);
9300
- if (isBlockTreeEnabled > 0 && !isBlockNode && currentBlock) if (cloned.shapeFlag & 6) currentBlock[currentBlock.indexOf(type)] = cloned;
9301
- else currentBlock.push(cloned);
9463
+ if (isBlockTreeEnabled > 0 && !isBlockNode && currentBlock) {
9464
+ if (cloned.shapeFlag & 6) currentBlock[currentBlock.indexOf(type)] = cloned;
9465
+ else currentBlock.push(cloned);
9466
+ }
9302
9467
  cloned.patchFlag = -2;
9303
9468
  return cloned;
9304
9469
  }
@@ -9359,7 +9524,9 @@ function cloneVNode(vnode, extraProps, mergeRef = false, cloneTransition = false
9359
9524
  ce: vnode.ce,
9360
9525
  vi: vnode.vi,
9361
9526
  vs: cloneVaporSlotMeta(vnode),
9362
- vb: vnode.vb
9527
+ vb: vnode.vb,
9528
+ ibu: vnode.ibu,
9529
+ iu: vnode.iu
9363
9530
  };
9364
9531
  if (transition && cloneTransition) setTransitionHooks(cloned, transition.clone(cloned));
9365
9532
  defineLegacyVNodeProperties(cloned);
@@ -9423,25 +9590,28 @@ function normalizeChildren(vnode, children) {
9423
9590
  const { shapeFlag } = vnode;
9424
9591
  if (children == null) children = null;
9425
9592
  else if (isArray(children)) type = 16;
9426
- else if (typeof children === "object") if (shapeFlag & 65) {
9427
- const slot = children.default;
9428
- if (slot) {
9429
- slot._c && (slot._d = false);
9430
- normalizeChildren(vnode, slot());
9431
- slot._c && (slot._d = true);
9432
- }
9433
- return;
9434
- } else {
9435
- type = 32;
9436
- const slotFlag = children._;
9437
- if (!slotFlag && !isInternalObject(children)) children._ctx = currentRenderingInstance;
9438
- else if (slotFlag === 3 && currentRenderingInstance) if (currentRenderingInstance.slots._ === 1) children._ = 1;
9439
- else {
9440
- children._ = 2;
9441
- vnode.patchFlag |= 1024;
9593
+ else if (typeof children === "object") {
9594
+ if (shapeFlag & 65) {
9595
+ const slot = children.default;
9596
+ if (slot) {
9597
+ slot._c && (slot._d = false);
9598
+ normalizeChildren(vnode, slot());
9599
+ slot._c && (slot._d = true);
9600
+ }
9601
+ return;
9602
+ } else {
9603
+ type = 32;
9604
+ const slotFlag = children._;
9605
+ if (!slotFlag && !isInternalObject(children)) children._ctx = currentRenderingInstance;
9606
+ else if (slotFlag === 3 && currentRenderingInstance) {
9607
+ if (currentRenderingInstance.slots._ === 1) children._ = 1;
9608
+ else {
9609
+ children._ = 2;
9610
+ vnode.patchFlag |= 1024;
9611
+ }
9612
+ }
9442
9613
  }
9443
- }
9444
- else if (isFunction(children)) {
9614
+ } else if (isFunction(children)) {
9445
9615
  if (shapeFlag & 65) {
9446
9616
  normalizeChildren(vnode, { default: children });
9447
9617
  return;
@@ -9559,7 +9729,7 @@ const useInstanceOption = (key, silent = false) => {
9559
9729
  };
9560
9730
  //#endregion
9561
9731
  //#region packages/runtime-core/src/component.ts
9562
- const emptyAppContext = /* @__PURE__ */ createAppContext();
9732
+ const emptyAppContext = /*@__PURE__*/ createAppContext();
9563
9733
  let uid = 0;
9564
9734
  /**
9565
9735
  * @internal for vapor
@@ -9713,9 +9883,10 @@ function setupStatefulComponent(instance, isSSR) {
9713
9883
  } else finishComponentSetup(instance, isSSR);
9714
9884
  }
9715
9885
  function handleSetupResult(instance, setupResult, isSSR) {
9716
- if (isFunction(setupResult)) if (instance.type.__ssrInlineRender) instance.ssrRender = setupResult;
9717
- else instance.render = setupResult;
9718
- else if (isObject(setupResult)) {
9886
+ if (isFunction(setupResult)) {
9887
+ if (instance.type.__ssrInlineRender) instance.ssrRender = setupResult;
9888
+ else instance.render = setupResult;
9889
+ } else if (isObject(setupResult)) {
9719
9890
  if (!!(process.env.NODE_ENV !== "production") && isVNode(setupResult)) warn$1("setup() should not return VNodes directly - return a render function instead.");
9720
9891
  if (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_DEVTOOLS__) instance.devtoolsRawSetupState = setupResult;
9721
9892
  instance.setupState = proxyRefs(setupResult);
@@ -9770,10 +9941,12 @@ function finishComponentSetup(instance, isSSR, skipOptions) {
9770
9941
  restoreCurrentInstance(prevInstance);
9771
9942
  }
9772
9943
  }
9773
- if (!!(process.env.NODE_ENV !== "production") && !Component.render && instance.render === NOOP && !isSSR) if (!compile$1 && Component.template)
9944
+ if (!!(process.env.NODE_ENV !== "production") && !Component.render && instance.render === NOOP && !isSSR) {
9945
+ if (!compile$1 && Component.template)
9774
9946
  /* v8 ignore start */
9775
- warn$1("Component provided template option but runtime compilation is not supported in this build of Vue. Configure your bundler to alias \"vue\" to \"vue/dist/vue.esm-bundler.js\".");
9776
- else warn$1(`Component is missing template or render function: `, Component);
9947
+ warn$1("Component provided template option but runtime compilation is not supported in this build of Vue. Configure your bundler to alias \"vue\" to \"vue/dist/vue.esm-bundler.js\".");
9948
+ else warn$1(`Component is missing template or render function: `, Component);
9949
+ }
9777
9950
  }
9778
9951
  const attrsProxyHandlers = !!(process.env.NODE_ENV !== "production") ? {
9779
9952
  get(target, key) {
@@ -9891,11 +10064,12 @@ function h(type, propsOrChildren, children) {
9891
10064
  try {
9892
10065
  setBlockTracking(-1);
9893
10066
  const l = arguments.length;
9894
- if (l === 2) if (isObject(propsOrChildren) && !isArray(propsOrChildren)) {
9895
- if (isVNode(propsOrChildren)) return createVNode(type, null, [propsOrChildren]);
9896
- return createVNode(type, propsOrChildren);
9897
- } else return createVNode(type, null, propsOrChildren);
9898
- else {
10067
+ if (l === 2) {
10068
+ if (isObject(propsOrChildren) && !isArray(propsOrChildren)) {
10069
+ if (isVNode(propsOrChildren)) return createVNode(type, null, [propsOrChildren]);
10070
+ return createVNode(type, propsOrChildren);
10071
+ } else return createVNode(type, null, propsOrChildren);
10072
+ } else {
9899
10073
  if (l > 3) children = Array.prototype.slice.call(arguments, 2);
9900
10074
  else if (l === 3 && isVNode(children)) children = [children];
9901
10075
  return createVNode(type, propsOrChildren, children);
@@ -10087,7 +10261,7 @@ function isMemoSame(cached, memo) {
10087
10261
  }
10088
10262
  //#endregion
10089
10263
  //#region packages/runtime-core/src/index.ts
10090
- const version = "3.6.0-rc.5";
10264
+ const version = "3.6.0-rc.6";
10091
10265
  const warn = !!(process.env.NODE_ENV !== "production") ? warn$1 : NOOP;
10092
10266
  /**
10093
10267
  * Runtime error messages. Only exposed in dev or esm builds.
@@ -10132,7 +10306,7 @@ const DeprecationTypes = DeprecationTypes$1;
10132
10306
  let policy = void 0;
10133
10307
  const tt = typeof window !== "undefined" && window.trustedTypes;
10134
10308
  if (tt) try {
10135
- policy = /* @__PURE__ */ tt.createPolicy("vue", { createHTML: (val) => val });
10309
+ policy = /*@__PURE__*/ tt.createPolicy("vue", { createHTML: (val) => val });
10136
10310
  } catch (e) {
10137
10311
  process.env.NODE_ENV !== "production" && warn(`Error creating trusted types policy: ${e}`);
10138
10312
  }
@@ -10140,7 +10314,7 @@ const unsafeToTrustedHTML = policy ? (val) => policy.createHTML(val) : (val) =>
10140
10314
  const svgNS = "http://www.w3.org/2000/svg";
10141
10315
  const mathmlNS = "http://www.w3.org/1998/Math/MathML";
10142
10316
  const doc = typeof document !== "undefined" ? document : null;
10143
- const templateContainer = doc && /* @__PURE__ */ doc.createElement("template");
10317
+ const templateContainer = doc && /*@__PURE__*/ doc.createElement("template");
10144
10318
  const nodeOps = {
10145
10319
  insert: (child, parent, anchor) => {
10146
10320
  parent.insertBefore(child, anchor || null);
@@ -10214,7 +10388,7 @@ const DOMTransitionPropsValidators = {
10214
10388
  leaveActiveClass: String,
10215
10389
  leaveToClass: String
10216
10390
  };
10217
- const TransitionPropsValidators = /* @__PURE__ */ extend({}, BaseTransitionPropsValidators, DOMTransitionPropsValidators);
10391
+ const TransitionPropsValidators = /*@__PURE__*/ extend({}, BaseTransitionPropsValidators, DOMTransitionPropsValidators);
10218
10392
  /**
10219
10393
  * Wrap logic that attaches extra properties to Transition in a function
10220
10394
  * so that it can be annotated as pure
@@ -10229,7 +10403,7 @@ const decorate$1 = (t) => {
10229
10403
  * DOM Transition is a higher-order-component based on the platform-agnostic
10230
10404
  * base Transition component, with DOM-specific logic.
10231
10405
  */
10232
- const Transition = /* @__PURE__ */ decorate$1((props, { slots }) => h(BaseTransition, resolveTransitionProps(props), slots));
10406
+ const Transition = /*@__PURE__*/ decorate$1((props, { slots }) => h(BaseTransition, resolveTransitionProps(props), slots));
10233
10407
  /**
10234
10408
  * #3227 Incoming hooks may be merged into arrays when wrapping Transition
10235
10409
  * with custom HOCs.
@@ -10469,14 +10643,15 @@ const vShow = {
10469
10643
  },
10470
10644
  updated(el, { value, oldValue }, { transition }) {
10471
10645
  if (!value === !oldValue) return;
10472
- if (transition) if (value) {
10473
- transition.beforeEnter(el);
10474
- setDisplay(el, true);
10475
- transition.enter(el);
10476
- } else transition.leave(el, () => {
10477
- setDisplay(el, false);
10478
- });
10479
- else setDisplay(el, value);
10646
+ if (transition) {
10647
+ if (value) {
10648
+ transition.beforeEnter(el);
10649
+ setDisplay(el, true);
10650
+ transition.enter(el);
10651
+ } else transition.leave(el, () => {
10652
+ setDisplay(el, false);
10653
+ });
10654
+ } else setDisplay(el, value);
10480
10655
  },
10481
10656
  beforeUnmount(el, { value }) {
10482
10657
  setDisplay(el, value);
@@ -10584,11 +10759,13 @@ function patchStyle(el, prev, next) {
10584
10759
  const isCssString = isString(next);
10585
10760
  let hasControlledDisplay = false;
10586
10761
  if (next && !isCssString) {
10587
- if (prev) if (!isString(prev)) {
10588
- for (const key in prev) if (next[key] == null) setStyle(style, key, "");
10589
- } else for (const prevStyle of prev.split(";")) {
10590
- const key = prevStyle.slice(0, prevStyle.indexOf(":")).trim();
10591
- if (next[key] == null) setStyle(style, key, "");
10762
+ if (prev) {
10763
+ if (!isString(prev)) {
10764
+ for (const key in prev) if (next[key] == null) setStyle(style, key, "");
10765
+ } else for (const prevStyle of prev.split(";")) {
10766
+ const key = prevStyle.slice(0, prevStyle.indexOf(":")).trim();
10767
+ if (next[key] == null) setStyle(style, key, "");
10768
+ }
10592
10769
  }
10593
10770
  for (const key in next) {
10594
10771
  if (key === "display") hasControlledDisplay = true;
@@ -10619,8 +10796,10 @@ function setStyle(style, name, rawVal) {
10619
10796
  if (!!(process.env.NODE_ENV !== "production")) {
10620
10797
  if (semicolonRE.test(val)) warn(`Unexpected semicolon at the end of '${name}' style value: '${val}'`);
10621
10798
  }
10622
- if (name.startsWith("--")) style.setProperty(name, val);
10623
- else {
10799
+ if (name.startsWith("--")) {
10800
+ if (importantRE.test(val)) style.setProperty(name, val.replace(importantRE, ""), "important");
10801
+ else style.setProperty(name, val);
10802
+ } else {
10624
10803
  const prefixed = autoPrefix(style, name);
10625
10804
  if (importantRE.test(val)) style.setProperty(hyphenate(prefixed), val.replace(importantRE, ""), "important");
10626
10805
  else style[prefixed] = val;
@@ -10657,15 +10836,16 @@ function shouldPreserveTextareaResizeStyle(el, key, prev, next) {
10657
10836
  //#region packages/runtime-dom/src/modules/attrs.ts
10658
10837
  const xlinkNS = "http://www.w3.org/1999/xlink";
10659
10838
  function patchAttr(el, key, value, isSVG, instance, isBoolean = isSpecialBooleanAttr(key)) {
10660
- if (isSVG && key.startsWith("xlink:")) if (value == null) el.removeAttributeNS(xlinkNS, key.slice(6, key.length));
10661
- else el.setAttributeNS(xlinkNS, key, value);
10662
- else {
10839
+ if (isSVG && key.startsWith("xlink:")) {
10840
+ if (value == null) el.removeAttributeNS(xlinkNS, key.slice(6, key.length));
10841
+ else el.setAttributeNS(xlinkNS, key, value);
10842
+ } else {
10663
10843
  if (compatCoerceAttr(el, key, value, instance)) return;
10664
10844
  if (value == null || isBoolean && !includeBooleanAttr(value)) el.removeAttribute(key);
10665
10845
  else el.setAttribute(key, isBoolean ? "" : isSymbol(value) ? String(value) : value);
10666
10846
  }
10667
10847
  }
10668
- const isEnumeratedAttr = /* @__PURE__ */ makeMap("contenteditable,draggable,spellcheck");
10848
+ const isEnumeratedAttr = /*@__PURE__*/ makeMap("contenteditable,draggable,spellcheck");
10669
10849
  function compatCoerceAttr(el, key, value, instance = null) {
10670
10850
  if (isEnumeratedAttr(key)) {
10671
10851
  const v2CoercedValue = value === void 0 ? null : value === null || value === false || value === "false" ? "false" : "true";
@@ -10757,7 +10937,7 @@ function parseEventName(name) {
10757
10937
  return [name[2] === ":" ? name.slice(3) : hyphenate(name.slice(2)), options];
10758
10938
  }
10759
10939
  let cachedNow = 0;
10760
- const p = /* @__PURE__ */ Promise.resolve();
10940
+ const p = /*@__PURE__*/ Promise.resolve();
10761
10941
  const getNow = () => cachedNow || (p.then(() => cachedNow = 0), cachedNow = Date.now());
10762
10942
  function createInvoker(initialValue, instance) {
10763
10943
  const invoker = (e) => {
@@ -10825,7 +11005,7 @@ function shouldSetAsPropForVueCE(el, key) {
10825
11005
  //#endregion
10826
11006
  //#region packages/runtime-dom/src/apiCustomElement.ts
10827
11007
  const REMOVAL = {};
10828
- /* @__NO_SIDE_EFFECTS__ */
11008
+ /*@__NO_SIDE_EFFECTS__*/
10829
11009
  function defineCustomElement(options, extraOptions, _createApp) {
10830
11010
  let Comp = /* @__PURE__ */ defineComponent(options, extraOptions);
10831
11011
  if (isPlainObject(Comp)) Comp = extend({}, Comp, extraOptions);
@@ -10874,12 +11054,14 @@ var VueElementBase = class VueElementBase extends BaseClass {
10874
11054
  this._parent = parent;
10875
11055
  break;
10876
11056
  }
10877
- if (!this._instance) if (this._resolved) this._mountComponent(this._def);
10878
- else if (parent && parent._pendingResolve) this._pendingResolve = parent._pendingResolve.then(() => {
10879
- this._pendingResolve = void 0;
10880
- if (this.isConnected) return this._resolveDef();
10881
- });
10882
- else this._resolveDef();
11057
+ if (!this._instance) {
11058
+ if (this._resolved) this._mountComponent(this._def);
11059
+ else if (parent && parent._pendingResolve) this._pendingResolve = parent._pendingResolve.then(() => {
11060
+ this._pendingResolve = void 0;
11061
+ if (this.isConnected) return this._resolveDef();
11062
+ });
11063
+ else this._resolveDef();
11064
+ }
10883
11065
  }
10884
11066
  disconnectedCallback() {
10885
11067
  this._connected = false;
@@ -11053,14 +11235,16 @@ var VueElementBase = class VueElementBase extends BaseClass {
11053
11235
  if (!parentComp) this._styleAnchors.set(this._def, s);
11054
11236
  if (owner) this._styleAnchors.set(owner, s);
11055
11237
  }
11056
- if (!!(process.env.NODE_ENV !== "production")) if (owner) {
11057
- if (owner.__hmrId) {
11058
- if (!this._childStyles) this._childStyles = /* @__PURE__ */ new Map();
11059
- let entry = this._childStyles.get(owner.__hmrId);
11060
- if (!entry) this._childStyles.set(owner.__hmrId, entry = []);
11061
- entry.push(s);
11062
- }
11063
- } else (this._styles || (this._styles = [])).push(s);
11238
+ if (!!(process.env.NODE_ENV !== "production")) {
11239
+ if (owner) {
11240
+ if (owner.__hmrId) {
11241
+ if (!this._childStyles) this._childStyles = /* @__PURE__ */ new Map();
11242
+ let entry = this._childStyles.get(owner.__hmrId);
11243
+ if (!entry) this._childStyles.set(owner.__hmrId, entry = []);
11244
+ entry.push(s);
11245
+ }
11246
+ } else (this._styles || (this._styles = [])).push(s);
11247
+ }
11064
11248
  }
11065
11249
  }
11066
11250
  _getStyleAnchor(comp) {
@@ -11229,8 +11413,10 @@ function useHost(caller) {
11229
11413
  const { hasInstance, value } = useInstanceOption("ce", true);
11230
11414
  const el = value;
11231
11415
  if (el) return el;
11232
- else if (!!(process.env.NODE_ENV !== "production")) if (!hasInstance) warn(`${caller || "useHost"} called without an active component instance.`);
11233
- else warn(`${caller || "useHost"} can only be used in components defined via defineCustomElement.`);
11416
+ else if (!!(process.env.NODE_ENV !== "production")) {
11417
+ if (!hasInstance) warn(`${caller || "useHost"} called without an active component instance.`);
11418
+ else warn(`${caller || "useHost"} can only be used in components defined via defineCustomElement.`);
11419
+ }
11234
11420
  return null;
11235
11421
  }
11236
11422
  /**
@@ -11280,7 +11466,7 @@ const decorate = (t) => {
11280
11466
  };
11281
11467
  const TransitionGroup = /* @__PURE__ */ decorate({
11282
11468
  name: "TransitionGroup",
11283
- props: /* @__PURE__ */ extend({}, TransitionPropsValidators, {
11469
+ props: /*@__PURE__*/ extend({}, TransitionPropsValidators, {
11284
11470
  tag: String,
11285
11471
  moveClass: String
11286
11472
  }),
@@ -11562,19 +11748,39 @@ const vModelSelectInit = (el, value, number, set) => {
11562
11748
  el._modelValue = value;
11563
11749
  addEventListener(el, "change", () => {
11564
11750
  const selectedVal = Array.prototype.filter.call(el.options, (o) => o.selected).map((o) => number ? looseToNumber(getValue(o)) : getValue(o));
11565
- (set || el[assignKey])(el.multiple ? isSet(el._modelValue) ? new Set(selectedVal) : selectedVal : selectedVal[0]);
11566
- el._assigning = true;
11567
- nextTick(() => {
11568
- el._assigning = false;
11569
- });
11751
+ const multiple = el.multiple;
11752
+ const assignedValue = multiple ? isSet(el._modelValue) ? new Set(selectedVal) : selectedVal : selectedVal[0];
11753
+ const pending = el._pendingValue = [multiple, multiple ? isArray(assignedValue) ? selectedVal.slice() : selectedVal : assignedValue];
11754
+ try {
11755
+ (set || el[assignKey])(assignedValue);
11756
+ } finally {
11757
+ nextTick(() => {
11758
+ if (el._pendingValue === pending) el._pendingValue = void 0;
11759
+ });
11760
+ }
11570
11761
  });
11571
11762
  };
11763
+ function isSameSelectValue(value, assignedValue, multiple) {
11764
+ if (!multiple) return looseEqual(value, assignedValue);
11765
+ if (isArray(value)) return looseEqual(value, assignedValue);
11766
+ if (isSet(value)) {
11767
+ if (value.size !== assignedValue.length) return false;
11768
+ for (const item of assignedValue) if (!value.has(item)) return false;
11769
+ return true;
11770
+ }
11771
+ return false;
11772
+ }
11572
11773
  /**
11573
11774
  * @internal
11574
11775
  */
11575
11776
  const vModelSetSelected = (el, value) => {
11576
11777
  el._modelValue = value;
11577
- if (el._assigning) return;
11778
+ const pending = el._pendingValue;
11779
+ el._pendingValue = void 0;
11780
+ if (pending && pending[0] === el.multiple && isSameSelectValue(value, pending[1], pending[0])) return;
11781
+ setSelected(el, value);
11782
+ };
11783
+ function setSelected(el, value) {
11578
11784
  const isMultiple = el.multiple;
11579
11785
  const isArrayValue = isArray(value);
11580
11786
  if (isMultiple && !isArrayValue && !isSet(value)) {
@@ -11584,18 +11790,19 @@ const vModelSetSelected = (el, value) => {
11584
11790
  for (let i = 0, l = el.options.length; i < l; i++) {
11585
11791
  const option = el.options[i];
11586
11792
  const optionValue = getValue(option);
11587
- if (isMultiple) if (isArrayValue) {
11588
- const optionType = typeof optionValue;
11589
- if (optionType === "string" || optionType === "number") option.selected = value.some((v) => String(v) === String(optionValue));
11590
- else option.selected = looseIndexOf(value, optionValue) > -1;
11591
- } else option.selected = value.has(optionValue);
11592
- else if (looseEqual(getValue(option), value)) {
11793
+ if (isMultiple) {
11794
+ if (isArrayValue) {
11795
+ const optionType = typeof optionValue;
11796
+ if (optionType === "string" || optionType === "number") option.selected = value.some((v) => String(v) === String(optionValue));
11797
+ else option.selected = looseIndexOf(value, optionValue) > -1;
11798
+ } else option.selected = value.has(optionValue);
11799
+ } else if (looseEqual(getValue(option), value)) {
11593
11800
  if (el.selectedIndex !== i) el.selectedIndex = i;
11594
11801
  return;
11595
11802
  }
11596
11803
  }
11597
11804
  if (!isMultiple && el.selectedIndex !== -1) el.selectedIndex = -1;
11598
- };
11805
+ }
11599
11806
  /**
11600
11807
  * @internal retrieve raw value set via :value bindings
11601
11808
  */
@@ -11916,6 +12123,7 @@ var src_exports = /* @__PURE__ */ __exportAll({
11916
12123
  queueJob: () => queueJob,
11917
12124
  queuePostFlushCb: () => queuePostFlushCb,
11918
12125
  queuePostRenderEffect: () => queuePostRenderEffect,
12126
+ rawVaporSlotKey: () => rawVaporSlotKey,
11919
12127
  reactive: () => reactive,
11920
12128
  readonly: () => readonly,
11921
12129
  ref: () => ref,
@@ -11999,6 +12207,7 @@ var src_exports = /* @__PURE__ */ __exportAll({
11999
12207
  vShowOriginalDisplay: () => vShowOriginalDisplay,
12000
12208
  validateComponentName: () => validateComponentName,
12001
12209
  validateProps: () => validateProps,
12210
+ vdomSlotFallbackKey: () => vdomSlotFallbackKey,
12002
12211
  version: () => version,
12003
12212
  warn: () => warn,
12004
12213
  warnExtraneousAttributes: () => warnExtraneousAttributes,
@@ -12017,7 +12226,7 @@ var src_exports = /* @__PURE__ */ __exportAll({
12017
12226
  withScopeId: () => withScopeId,
12018
12227
  xlinkNS: () => xlinkNS
12019
12228
  });
12020
- const rendererOptions = /* @__PURE__ */ extend({ patchProp }, nodeOps);
12229
+ const rendererOptions = /*@__PURE__*/ extend({ patchProp }, nodeOps);
12021
12230
  let renderer;
12022
12231
  let enabledHydration = false;
12023
12232
  function ensureRenderer() {
@@ -12578,13 +12787,14 @@ var Tokenizer = class {
12578
12787
  }
12579
12788
  }
12580
12789
  stateInterpolationOpen(c) {
12581
- if (c === this.delimiterOpen[this.delimiterIndex]) if (this.delimiterIndex === this.delimiterOpen.length - 1) {
12582
- const start = this.index + 1 - this.delimiterOpen.length;
12583
- if (start > this.sectionStart) this.cbs.ontext(this.sectionStart, start);
12584
- this.state = 3;
12585
- this.sectionStart = start;
12586
- } else this.delimiterIndex++;
12587
- else if (this.inRCDATA) {
12790
+ if (c === this.delimiterOpen[this.delimiterIndex]) {
12791
+ if (this.delimiterIndex === this.delimiterOpen.length - 1) {
12792
+ const start = this.index + 1 - this.delimiterOpen.length;
12793
+ if (start > this.sectionStart) this.cbs.ontext(this.sectionStart, start);
12794
+ this.state = 3;
12795
+ this.sectionStart = start;
12796
+ } else this.delimiterIndex++;
12797
+ } else if (this.inRCDATA) {
12588
12798
  this.state = 32;
12589
12799
  this.stateInRCDATA(c);
12590
12800
  } else {
@@ -12600,13 +12810,14 @@ var Tokenizer = class {
12600
12810
  }
12601
12811
  }
12602
12812
  stateInterpolationClose(c) {
12603
- if (c === this.delimiterClose[this.delimiterIndex]) if (this.delimiterIndex === this.delimiterClose.length - 1) {
12604
- this.cbs.oninterpolation(this.sectionStart, this.index + 1);
12605
- if (this.inRCDATA) this.state = 32;
12606
- else this.state = 1;
12607
- this.sectionStart = this.index + 1;
12608
- } else this.delimiterIndex++;
12609
- else {
12813
+ if (c === this.delimiterClose[this.delimiterIndex]) {
12814
+ if (this.delimiterIndex === this.delimiterClose.length - 1) {
12815
+ this.cbs.oninterpolation(this.sectionStart, this.index + 1);
12816
+ if (this.inRCDATA) this.state = 32;
12817
+ else this.state = 1;
12818
+ this.sectionStart = this.index + 1;
12819
+ } else this.delimiterIndex++;
12820
+ } else {
12610
12821
  this.state = 3;
12611
12822
  this.stateInterpolation(c);
12612
12823
  }
@@ -12721,9 +12932,10 @@ var Tokenizer = class {
12721
12932
  this.sectionStart = this.index;
12722
12933
  if (this.mode === 0) this.state = 6;
12723
12934
  else if (this.inSFCRoot) this.state = 34;
12724
- else if (!this.inXML) if (c === 116) this.state = 30;
12725
- else this.state = c === 115 ? 29 : 6;
12726
- else this.state = 6;
12935
+ else if (!this.inXML) {
12936
+ if (c === 116) this.state = 30;
12937
+ else this.state = c === 115 ? 29 : 6;
12938
+ } else this.state = 6;
12727
12939
  } else if (c === 47) this.state = 8;
12728
12940
  else {
12729
12941
  this.state = 1;
@@ -13076,9 +13288,7 @@ var Tokenizer = class {
13076
13288
  case 24:
13077
13289
  this.stateInProcessingInstruction(c);
13078
13290
  break;
13079
- case 33:
13080
- this.stateInEntity();
13081
- break;
13291
+ case 33: this.stateInEntity();
13082
13292
  }
13083
13293
  this.index++;
13084
13294
  }
@@ -13107,9 +13317,10 @@ var Tokenizer = class {
13107
13317
  handleTrailingData() {
13108
13318
  const endIndex = this.buffer.length;
13109
13319
  if (this.sectionStart >= endIndex) return;
13110
- if (this.state === 28) if (this.currentSequence === Sequences.CdataEnd) this.cbs.oncdata(this.sectionStart, endIndex);
13111
- else this.cbs.oncomment(this.sectionStart, endIndex);
13112
- 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);
13320
+ if (this.state === 28) {
13321
+ if (this.currentSequence === Sequences.CdataEnd) this.cbs.oncdata(this.sectionStart, endIndex);
13322
+ else this.cbs.oncomment(this.sectionStart, endIndex);
13323
+ } 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);
13113
13324
  }
13114
13325
  emitCodePoint(cp, consumed) {}
13115
13326
  };
@@ -13311,12 +13522,10 @@ const isMemberExpressionBrowser = (exp) => {
13311
13522
  if (!--currentOpenParensCount) state = stateStack.pop();
13312
13523
  }
13313
13524
  break;
13314
- case 3:
13315
- if (char === currentStringType) {
13316
- state = stateStack.pop();
13317
- currentStringType = null;
13318
- }
13319
- break;
13525
+ case 3: if (char === currentStringType) {
13526
+ state = stateStack.pop();
13527
+ currentStringType = null;
13528
+ }
13320
13529
  }
13321
13530
  }
13322
13531
  return !currentOpenBracketCount && !currentOpenParensCount;
@@ -13366,7 +13575,7 @@ function isTemplateNode$1(node) {
13366
13575
  function isSlotOutlet(node) {
13367
13576
  return node.type === 1 && node.tagType === 2;
13368
13577
  }
13369
- const propsHelperSet = new Set([NORMALIZE_PROPS, GUARD_REACTIVE_PROPS]);
13578
+ const propsHelperSet = /* @__PURE__ */ new Set([NORMALIZE_PROPS, GUARD_REACTIVE_PROPS]);
13370
13579
  function getUnnormalizedProps(props, callPath = []) {
13371
13580
  if (props && !isString(props) && props.type === 14) {
13372
13581
  const callee = props.callee;
@@ -13409,9 +13618,10 @@ function injectProp(node, prop, context) {
13409
13618
  propsWithInjection = createCallExpression(context.helper(MERGE_PROPS), [createObjectExpression([prop]), props]);
13410
13619
  if (parentCall && parentCall.callee === GUARD_REACTIVE_PROPS) parentCall = callPath[callPath.length - 2];
13411
13620
  }
13412
- if (node.type === 13) if (parentCall) parentCall.arguments[0] = propsWithInjection;
13413
- else node.props = propsWithInjection;
13414
- else if (parentCall) parentCall.arguments[0] = propsWithInjection;
13621
+ if (node.type === 13) {
13622
+ if (parentCall) parentCall.arguments[0] = propsWithInjection;
13623
+ else node.props = propsWithInjection;
13624
+ } else if (parentCall) parentCall.arguments[0] = propsWithInjection;
13415
13625
  else node.arguments[2] = propsWithInjection;
13416
13626
  }
13417
13627
  function injectSlotKey(node, prop) {
@@ -13686,10 +13896,7 @@ const tokenizer = new Tokenizer(stack, {
13686
13896
  case 18:
13687
13897
  case 19:
13688
13898
  case 20:
13689
- case 21:
13690
- emitError(9, end);
13691
- break;
13692
- default: break;
13899
+ case 21: emitError(9, end);
13693
13900
  }
13694
13901
  for (let index = 0; index < stack.length; index++) {
13695
13902
  onCloseTag(stack[index], end - 1);
@@ -13839,7 +14046,7 @@ function backTrack(index, c) {
13839
14046
  while (currentInput.charCodeAt(i) !== c && i >= 0) i--;
13840
14047
  return i;
13841
14048
  }
13842
- const specialTemplateDir = new Set([
14049
+ const specialTemplateDir = /* @__PURE__ */ new Set([
13843
14050
  "if",
13844
14051
  "else",
13845
14052
  "else-if",
@@ -13875,16 +14082,18 @@ function condenseWhitespace(nodes) {
13875
14082
  let removedWhitespace = false;
13876
14083
  for (let i = 0; i < nodes.length; i++) {
13877
14084
  const node = nodes[i];
13878
- if (node.type === 2) if (!inPre) {
13879
- if (isAllWhitespace(node.content)) {
13880
- const prev = nodes[i - 1] && nodes[i - 1].type;
13881
- const next = nodes[i + 1] && nodes[i + 1].type;
13882
- if (!prev || !next || shouldCondense && (prev === 3 && (next === 3 || next === 1) || prev === 1 && (next === 3 || next === 1 && hasNewlineChar(node.content)))) {
13883
- removedWhitespace = true;
13884
- nodes[i] = null;
13885
- } else node.content = " ";
13886
- } else if (shouldCondense) node.content = condense(node.content);
13887
- } else node.content = node.content.replace(windowsNewlineRE, "\n");
14085
+ if (node.type === 2) {
14086
+ if (!inPre) {
14087
+ if (isAllWhitespace(node.content)) {
14088
+ const prev = nodes[i - 1] && nodes[i - 1].type;
14089
+ const next = nodes[i + 1] && nodes[i + 1].type;
14090
+ if (!prev || !next || shouldCondense && (prev === 3 && (next === 3 || next === 1) || prev === 1 && (next === 3 || next === 1 && hasNewlineChar(node.content)))) {
14091
+ removedWhitespace = true;
14092
+ nodes[i] = null;
14093
+ } else node.content = " ";
14094
+ } else if (shouldCondense) node.content = condense(node.content);
14095
+ } else node.content = node.content.replace(windowsNewlineRE, "\n");
14096
+ }
13888
14097
  }
13889
14098
  return removedWhitespace ? nodes.filter(Boolean) : nodes;
13890
14099
  }
@@ -14149,7 +14358,7 @@ function getConstantType(node, context) {
14149
14358
  return 0;
14150
14359
  }
14151
14360
  }
14152
- const allowHoistedHelperSet = new Set([
14361
+ const allowHoistedHelperSet = /* @__PURE__ */ new Set([
14153
14362
  NORMALIZE_CLASS,
14154
14363
  NORMALIZE_STYLE,
14155
14364
  NORMALIZE_PROPS,
@@ -14310,7 +14519,7 @@ function transform(root, options) {
14310
14519
  traverseNode(root, context);
14311
14520
  if (options.hoistStatic) cacheStatic(root, context);
14312
14521
  if (!options.ssr) createRootCodegen(root, context);
14313
- root.helpers = new Set([...context.helpers.keys()]);
14522
+ root.helpers = /* @__PURE__ */ new Set([...context.helpers.keys()]);
14314
14523
  root.components = [...context.components];
14315
14524
  root.directives = [...context.directives];
14316
14525
  root.imports = context.imports;
@@ -14357,8 +14566,10 @@ function traverseNode(node, context) {
14357
14566
  const exitFns = [];
14358
14567
  for (let i = 0; i < nodeTransforms.length; i++) {
14359
14568
  const onExit = nodeTransforms[i](node, context);
14360
- if (onExit) if (isArray(onExit)) exitFns.push(...onExit);
14361
- else exitFns.push(onExit);
14569
+ if (onExit) {
14570
+ if (isArray(onExit)) exitFns.push(...onExit);
14571
+ else exitFns.push(onExit);
14572
+ }
14362
14573
  if (!context.currentNode) return;
14363
14574
  else node = context.currentNode;
14364
14575
  }
@@ -14375,9 +14586,7 @@ function traverseNode(node, context) {
14375
14586
  case 10:
14376
14587
  case 11:
14377
14588
  case 1:
14378
- case 0:
14379
- traverseChildren(node, context);
14380
- break;
14589
+ case 0: traverseChildren(node, context);
14381
14590
  }
14382
14591
  context.currentNode = node;
14383
14592
  let i = exitFns.length;
@@ -14573,10 +14782,12 @@ function genNodeList(nodes, context, multilines = false, comma = true) {
14573
14782
  if (isString(node)) push(node, -3);
14574
14783
  else if (isArray(node)) genNodeListAsArray(node, context);
14575
14784
  else genNode(node, context);
14576
- if (i < nodes.length - 1) if (multilines) {
14577
- comma && push(",");
14578
- newline();
14579
- } else comma && push(", ");
14785
+ if (i < nodes.length - 1) {
14786
+ if (multilines) {
14787
+ comma && push(",");
14788
+ newline();
14789
+ } else comma && push(", ");
14790
+ }
14580
14791
  }
14581
14792
  }
14582
14793
  function genNode(node, context) {
@@ -14689,9 +14900,12 @@ function genVNodeCall(node, context) {
14689
14900
  const { push, helper, pure } = context;
14690
14901
  const { tag, props, children, patchFlag, dynamicProps, directives, isBlock, disableTracking, isComponent } = node;
14691
14902
  let patchFlagString;
14692
- if (patchFlag) if (!!(process.env.NODE_ENV !== "production")) if (patchFlag < 0) patchFlagString = patchFlag + ` /* ${PatchFlagNames[patchFlag]} */`;
14693
- else patchFlagString = patchFlag + ` /* ${Object.keys(PatchFlagNames).map(Number).filter((n) => n > 0 && patchFlag & n).map((n) => PatchFlagNames[n]).join(`, `)} */`;
14694
- else patchFlagString = String(patchFlag);
14903
+ if (patchFlag) {
14904
+ if (!!(process.env.NODE_ENV !== "production")) {
14905
+ if (patchFlag < 0) patchFlagString = patchFlag + ` /* ${PatchFlagNames[patchFlag]} */`;
14906
+ else patchFlagString = patchFlag + ` /* ${Object.keys(PatchFlagNames).map(Number).filter((n) => n > 0 && patchFlag & n).map((n) => PatchFlagNames[n]).join(`, `)} */`;
14907
+ } else patchFlagString = String(patchFlag);
14908
+ }
14695
14909
  if (directives) push(helper(WITH_DIRECTIVES) + `(`);
14696
14910
  if (isBlock) push(`(${helper(OPEN_BLOCK)}(${disableTracking ? `true` : ``}), `);
14697
14911
  if (pure) push(PURE_ANNOTATION);
@@ -14960,16 +15174,17 @@ function createChildrenCodegenNode(branch, keyIndex, context) {
14960
15174
  const keyProperty = createObjectProperty(`key`, createSimpleExpression(`${keyIndex}`, false, locStub, 2));
14961
15175
  const { children } = branch;
14962
15176
  const firstChild = children[0];
14963
- if (children.length !== 1 || firstChild.type !== 1) if (children.length === 1 && firstChild.type === 11) {
14964
- const vnodeCall = firstChild.codegenNode;
14965
- injectProp(vnodeCall, keyProperty, context);
14966
- return vnodeCall;
15177
+ if (children.length !== 1 || firstChild.type !== 1) {
15178
+ if (children.length === 1 && firstChild.type === 11) {
15179
+ const vnodeCall = firstChild.codegenNode;
15180
+ injectProp(vnodeCall, keyProperty, context);
15181
+ return vnodeCall;
15182
+ } else {
15183
+ let patchFlag = 64;
15184
+ if (!!(process.env.NODE_ENV !== "production") && !branch.isTemplateIf && children.filter((c) => c.type !== 3).length === 1) patchFlag |= 2048;
15185
+ return createVNodeCall(context, helper(FRAGMENT), createObjectExpression([keyProperty]), children, patchFlag, void 0, void 0, true, false, false, branch.loc);
15186
+ }
14967
15187
  } else {
14968
- let patchFlag = 64;
14969
- if (!!(process.env.NODE_ENV !== "production") && !branch.isTemplateIf && children.filter((c) => c.type !== 3).length === 1) patchFlag |= 2048;
14970
- return createVNodeCall(context, helper(FRAGMENT), createObjectExpression([keyProperty]), children, patchFlag, void 0, void 0, true, false, false, branch.loc);
14971
- }
14972
- else {
14973
15188
  const ret = firstChild.codegenNode;
14974
15189
  const vnodeCall = getMemoedVNodeCall(ret);
14975
15190
  if (vnodeCall.type === 13) convertToBlock(vnodeCall, context);
@@ -14990,9 +15205,10 @@ function isSameKey(a, b) {
14990
15205
  return true;
14991
15206
  }
14992
15207
  function getParentCondition(node) {
14993
- while (true) if (node.type === 19) if (node.alternate.type === 19) node = node.alternate;
14994
- else return node;
14995
- else if (node.type === 20) node = node.value;
15208
+ while (true) if (node.type === 19) {
15209
+ if (node.alternate.type === 19) node = node.alternate;
15210
+ else return node;
15211
+ } else if (node.type === 20) node = node.value;
14996
15212
  }
14997
15213
  //#endregion
14998
15214
  //#region packages/compiler-core/src/transforms/vFor.ts
@@ -15031,10 +15247,12 @@ const transformFor = createStructuralDirectiveTransform("for", (node, dir, conte
15031
15247
  childBlock = children[0].codegenNode;
15032
15248
  if (isTemplate && keyProperty) injectProp(childBlock, keyProperty, context);
15033
15249
  const shouldUseBlock = !isStableFragment || childBlock.isBlockRequired === true;
15034
- if (childBlock.isBlock !== shouldUseBlock) if (childBlock.isBlock) {
15035
- removeHelper(OPEN_BLOCK);
15036
- removeHelper(getVNodeBlockHelper(context.inSSR, childBlock.isComponent));
15037
- } else removeHelper(getVNodeHelper(context.inSSR, childBlock.isComponent));
15250
+ if (childBlock.isBlock !== shouldUseBlock) {
15251
+ if (childBlock.isBlock) {
15252
+ removeHelper(OPEN_BLOCK);
15253
+ removeHelper(getVNodeBlockHelper(context.inSSR, childBlock.isComponent));
15254
+ } else removeHelper(getVNodeHelper(context.inSSR, childBlock.isComponent));
15255
+ }
15038
15256
  childBlock.isBlock = shouldUseBlock;
15039
15257
  if (childBlock.isBlock) {
15040
15258
  helper(OPEN_BLOCK);
@@ -15219,8 +15437,10 @@ function buildSlots(node, context, buildSlotFn = buildClientSlotFn) {
15219
15437
  return createObjectProperty(`default`, fn);
15220
15438
  };
15221
15439
  if (!hasTemplateSlots) slotsProperties.push(buildDefaultSlotProperty(void 0, children));
15222
- else if (implicitDefaultChildren.length && !implicitDefaultChildren.every(isWhitespaceText)) if (hasNamedDefaultSlot) context.onError(createCompilerError(39, implicitDefaultChildren[0].loc));
15223
- else slotsProperties.push(buildDefaultSlotProperty(void 0, implicitDefaultChildren));
15440
+ else if (implicitDefaultChildren.length && !implicitDefaultChildren.every(isWhitespaceText)) {
15441
+ if (hasNamedDefaultSlot) context.onError(createCompilerError(39, implicitDefaultChildren[0].loc));
15442
+ else slotsProperties.push(buildDefaultSlotProperty(void 0, implicitDefaultChildren));
15443
+ }
15224
15444
  }
15225
15445
  const slotFlag = hasDynamicSlots ? 2 : hasForwardedSlots(node.children) ? 3 : 1;
15226
15446
  let slots = createObjectExpression(slotsProperties.concat(createObjectProperty(`_`, createSimpleExpression(slotFlag + (!!(process.env.NODE_ENV !== "production") ? ` /* ${slotFlagsText[slotFlag]} */` : ``), false))), loc);
@@ -15246,10 +15466,7 @@ function hasForwardedSlots(children) {
15246
15466
  if (hasForwardedSlots(child.branches)) return true;
15247
15467
  break;
15248
15468
  case 10:
15249
- case 11:
15250
- if (hasForwardedSlots(child.children)) return true;
15251
- break;
15252
- default: break;
15469
+ case 11: if (hasForwardedSlots(child.children)) return true;
15253
15470
  }
15254
15471
  }
15255
15472
  return false;
@@ -15410,31 +15627,32 @@ function buildProps(node, context, props = node.props, isComponent, isDynamicCom
15410
15627
  if (isVBind && isStaticArgOf(arg, "ref")) pushRefVForMarker();
15411
15628
  if (!arg && (isVBind || isVOn)) {
15412
15629
  hasDynamicKeys = true;
15413
- if (exp) if (isVBind) {
15414
- pushMergeArg();
15415
- if (!!(process.env.NODE_ENV !== "production")) {
15416
- if (mergeArgs.some((arg) => {
15417
- if (arg.type === 15) return arg.properties.some(({ key }) => {
15418
- if (key.type !== 4 || !key.isStatic) return true;
15419
- return key.content !== "class" && key.content !== "style" && !isOn(key.content);
15420
- });
15421
- else return true;
15422
- })) checkCompatEnabled("COMPILER_V_BIND_OBJECT_ORDER", context, loc);
15423
- }
15424
- if (isCompatEnabled("COMPILER_V_BIND_OBJECT_ORDER", context)) {
15425
- mergeArgs.unshift(exp);
15426
- continue;
15427
- }
15428
- pushRefVForMarker();
15429
- pushMergeArg();
15430
- mergeArgs.push(exp);
15431
- } else pushMergeArg({
15432
- type: 14,
15433
- loc,
15434
- callee: context.helper(TO_HANDLERS),
15435
- arguments: isComponent ? [exp] : [exp, `true`]
15436
- });
15437
- else context.onError(createCompilerError(isVBind ? 34 : 35, loc));
15630
+ if (exp) {
15631
+ if (isVBind) {
15632
+ pushMergeArg();
15633
+ if (!!(process.env.NODE_ENV !== "production")) {
15634
+ if (mergeArgs.some((arg) => {
15635
+ if (arg.type === 15) return arg.properties.some(({ key }) => {
15636
+ if (key.type !== 4 || !key.isStatic) return true;
15637
+ return key.content !== "class" && key.content !== "style" && !isOn(key.content);
15638
+ });
15639
+ else return true;
15640
+ })) checkCompatEnabled("COMPILER_V_BIND_OBJECT_ORDER", context, loc);
15641
+ }
15642
+ if (isCompatEnabled("COMPILER_V_BIND_OBJECT_ORDER", context)) {
15643
+ mergeArgs.unshift(exp);
15644
+ continue;
15645
+ }
15646
+ pushRefVForMarker();
15647
+ pushMergeArg();
15648
+ mergeArgs.push(exp);
15649
+ } else pushMergeArg({
15650
+ type: 14,
15651
+ loc,
15652
+ callee: context.helper(TO_HANDLERS),
15653
+ arguments: isComponent ? [exp] : [exp, `true`]
15654
+ });
15655
+ } else context.onError(createCompilerError(isVBind ? 34 : 35, loc));
15438
15656
  continue;
15439
15657
  }
15440
15658
  if (isVBind && modifiers.some((mod) => mod.content === "prop")) patchFlag |= 32;
@@ -15492,9 +15710,7 @@ function buildProps(node, context, props = node.props, isComponent, isDynamicCom
15492
15710
  } else propsExpression = createCallExpression(context.helper(NORMALIZE_PROPS), [propsExpression]);
15493
15711
  break;
15494
15712
  case 14: break;
15495
- default:
15496
- propsExpression = createCallExpression(context.helper(NORMALIZE_PROPS), [createCallExpression(context.helper(GUARD_REACTIVE_PROPS), [propsExpression])]);
15497
- break;
15713
+ default: propsExpression = createCallExpression(context.helper(NORMALIZE_PROPS), [createCallExpression(context.helper(GUARD_REACTIVE_PROPS), [propsExpression])]);
15498
15714
  }
15499
15715
  return {
15500
15716
  props: propsExpression,
@@ -15600,10 +15816,12 @@ function processSlotOutlet(node, context) {
15600
15816
  for (let i = 0; i < node.props.length; i++) {
15601
15817
  const p = node.props[i];
15602
15818
  if (p.type === 6) {
15603
- if (p.value) if (p.name === "name") slotName = JSON.stringify(p.value.content);
15604
- else {
15605
- p.name = camelize(p.name);
15606
- nonNameProps.push(p);
15819
+ if (p.value) {
15820
+ if (p.name === "name") slotName = JSON.stringify(p.value.content);
15821
+ else {
15822
+ p.name = camelize(p.name);
15823
+ nonNameProps.push(p);
15824
+ }
15607
15825
  }
15608
15826
  } else if (p.name === "bind" && isStaticArgOf(p.arg, "name")) {
15609
15827
  if (p.exp) slotName = p.exp;
@@ -15629,17 +15847,18 @@ const transformOn$1 = (dir, node, context, augmentor) => {
15629
15847
  const { loc, modifiers, arg } = dir;
15630
15848
  if (!dir.exp && !modifiers.length) context.onError(createCompilerError(35, loc));
15631
15849
  let eventName;
15632
- if (arg.type === 4) if (arg.isStatic) {
15633
- let rawName = arg.content;
15634
- if (!!(process.env.NODE_ENV !== "production") && rawName.startsWith("vnode")) context.onError(createCompilerError(52, arg.loc));
15635
- if (rawName.startsWith("vue:")) rawName = `vnode-${rawName.slice(4)}`;
15636
- eventName = createSimpleExpression(node.tagType !== 0 || rawName.startsWith("vnode") || !/[A-Z]/.test(rawName) ? toHandlerKey(camelize(rawName)) : `on:${rawName}`, true, arg.loc);
15637
- } else eventName = createCompoundExpression([
15638
- `${context.helperString(TO_HANDLER_KEY)}(`,
15639
- arg,
15640
- `)`
15641
- ]);
15642
- else {
15850
+ if (arg.type === 4) {
15851
+ if (arg.isStatic) {
15852
+ let rawName = arg.content;
15853
+ if (!!(process.env.NODE_ENV !== "production") && rawName.startsWith("vnode")) context.onError(createCompilerError(52, arg.loc));
15854
+ if (rawName.startsWith("vue:")) rawName = `vnode-${rawName.slice(4)}`;
15855
+ eventName = createSimpleExpression(node.tagType !== 0 || rawName.startsWith("vnode") || !/[A-Z]/.test(rawName) ? toHandlerKey(camelize(rawName)) : `on:${rawName}`, true, arg.loc);
15856
+ } else eventName = createCompoundExpression([
15857
+ `${context.helperString(TO_HANDLER_KEY)}(`,
15858
+ arg,
15859
+ `)`
15860
+ ]);
15861
+ } else {
15643
15862
  eventName = arg;
15644
15863
  eventName.children.unshift(`${context.helperString(TO_HANDLER_KEY)}(`);
15645
15864
  eventName.children.push(`)`);
@@ -15675,11 +15894,14 @@ const transformBind = (dir, _node, context) => {
15675
15894
  arg.children.unshift(`(`);
15676
15895
  arg.children.push(`) || ""`);
15677
15896
  } else if (!arg.isStatic) arg.content = arg.content ? `${arg.content} || ""` : `""`;
15678
- if (modifiers.some((mod) => mod.content === "camel")) if (arg.type === 4) if (arg.isStatic) arg.content = camelize(arg.content);
15679
- else arg.content = `${context.helperString(CAMELIZE)}(${arg.content})`;
15680
- else {
15681
- arg.children.unshift(`${context.helperString(CAMELIZE)}(`);
15682
- arg.children.push(`)`);
15897
+ if (modifiers.some((mod) => mod.content === "camel")) {
15898
+ if (arg.type === 4) {
15899
+ if (arg.isStatic) arg.content = camelize(arg.content);
15900
+ else arg.content = `${context.helperString(CAMELIZE)}(${arg.content})`;
15901
+ } else {
15902
+ arg.children.unshift(`${context.helperString(CAMELIZE)}(`);
15903
+ arg.children.push(`)`);
15904
+ }
15683
15905
  }
15684
15906
  if (!context.inSSR) {
15685
15907
  if (modifiers.some((mod) => mod.content === "prop")) injectPrefix(arg, ".");
@@ -15688,9 +15910,10 @@ const transformBind = (dir, _node, context) => {
15688
15910
  return { props: [createObjectProperty(arg, exp)] };
15689
15911
  };
15690
15912
  const injectPrefix = (arg, prefix) => {
15691
- if (arg.type === 4) if (arg.isStatic) arg.content = prefix + arg.content;
15692
- else arg.content = `\`${prefix}\${${arg.content}}\``;
15693
- else {
15913
+ if (arg.type === 4) {
15914
+ if (arg.isStatic) arg.content = prefix + arg.content;
15915
+ else arg.content = `\`${prefix}\${${arg.content}}\``;
15916
+ } else {
15694
15917
  arg.children.unshift(`'${prefix}' + (`);
15695
15918
  arg.children.push(`)`);
15696
15919
  }
@@ -15837,11 +16060,12 @@ function parseFilter(node, context) {
15837
16060
  if (c === 96 && prev !== 92) inTemplateString = false;
15838
16061
  } else if (inRegex) {
15839
16062
  if (c === 47 && prev !== 92) inRegex = false;
15840
- } else if (c === 124 && exp.charCodeAt(i + 1) !== 124 && exp.charCodeAt(i - 1) !== 124 && !curly && !square && !paren) if (expression === void 0) {
15841
- lastFilterIndex = i + 1;
15842
- expression = exp.slice(0, i).trim();
15843
- } else pushFilter();
15844
- else {
16063
+ } else if (c === 124 && exp.charCodeAt(i + 1) !== 124 && exp.charCodeAt(i - 1) !== 124 && !curly && !square && !paren) {
16064
+ if (expression === void 0) {
16065
+ lastFilterIndex = i + 1;
16066
+ expression = exp.slice(0, i).trim();
16067
+ } else pushFilter();
16068
+ } else {
15845
16069
  switch (c) {
15846
16070
  case 34:
15847
16071
  inDouble = true;
@@ -15867,9 +16091,7 @@ function parseFilter(node, context) {
15867
16091
  case 123:
15868
16092
  curly++;
15869
16093
  break;
15870
- case 125:
15871
- curly--;
15872
- break;
16094
+ case 125: curly--;
15873
16095
  }
15874
16096
  if (c === 47) {
15875
16097
  let j = i - 1;
@@ -16145,9 +16367,7 @@ const transformModel = (dir, node, context) => {
16145
16367
  isInvalidType = true;
16146
16368
  context.onError(createDOMCompilerError(60, dir.loc));
16147
16369
  break;
16148
- default:
16149
- process.env.NODE_ENV !== "production" && checkDuplicatedValue();
16150
- break;
16370
+ default: process.env.NODE_ENV !== "production" && checkDuplicatedValue();
16151
16371
  }
16152
16372
  } else if (hasDynamicKeyVBind(node)) directiveToUse = V_MODEL_DYNAMIC;
16153
16373
  else process.env.NODE_ENV !== "production" && checkDuplicatedValue();
@@ -16160,10 +16380,10 @@ const transformModel = (dir, node, context) => {
16160
16380
  };
16161
16381
  //#endregion
16162
16382
  //#region packages/compiler-dom/src/transforms/vOn.ts
16163
- const isEventOptionModifier = /* @__PURE__ */ makeMap(`passive,once,capture`);
16164
- const isNonKeyModifier = /* @__PURE__ */ makeMap("stop,prevent,self,ctrl,shift,alt,meta,exact,middle");
16165
- const maybeKeyModifier = /* @__PURE__ */ makeMap("left,right");
16166
- const isKeyboardEvent = /* @__PURE__ */ makeMap(`onkeyup,onkeydown,onkeypress`);
16383
+ const isEventOptionModifier = /*@__PURE__*/ makeMap(`passive,once,capture`);
16384
+ const isNonKeyModifier = /*@__PURE__*/ makeMap("stop,prevent,self,ctrl,shift,alt,meta,exact,middle");
16385
+ const maybeKeyModifier = /*@__PURE__*/ makeMap("left,right");
16386
+ const isKeyboardEvent = /*@__PURE__*/ makeMap(`onkeyup,onkeydown,onkeypress`);
16167
16387
  const resolveModifiers = (key, modifiers, context, loc) => {
16168
16388
  const keyModifiers = [];
16169
16389
  const nonKeyModifiers = [];
@@ -16182,13 +16402,15 @@ const resolveModifiers = (key, modifiers, context, loc) => {
16182
16402
  else if (isEventOptionModifier(modifier)) eventOptionModifiers.push(modifier);
16183
16403
  else {
16184
16404
  const keyString = isString(key) ? key : isStaticExp(key) ? key.content : null;
16185
- if (maybeKeyModifier(modifier)) if (keyString) if (isKeyboardEvent(keyString.toLowerCase())) keyModifiers.push(modifier);
16186
- else nonKeyModifiers.push(modifier);
16187
- else {
16188
- keyModifiers.push(modifier);
16189
- nonKeyModifiers.push(modifier);
16190
- }
16191
- else if (isNonKeyModifier(modifier)) nonKeyModifiers.push(modifier);
16405
+ if (maybeKeyModifier(modifier)) {
16406
+ if (keyString) {
16407
+ if (isKeyboardEvent(keyString.toLowerCase())) keyModifiers.push(modifier);
16408
+ else nonKeyModifiers.push(modifier);
16409
+ } else {
16410
+ keyModifiers.push(modifier);
16411
+ nonKeyModifiers.push(modifier);
16412
+ }
16413
+ } else if (isNonKeyModifier(modifier)) nonKeyModifiers.push(modifier);
16192
16414
  else keyModifiers.push(modifier);
16193
16415
  }
16194
16416
  }
@@ -16303,7 +16525,7 @@ function isValidHTMLNesting(parent, child) {
16303
16525
  }
16304
16526
  return true;
16305
16527
  }
16306
- const headings = new Set([
16528
+ const headings = /* @__PURE__ */ new Set([
16307
16529
  "h1",
16308
16530
  "h2",
16309
16531
  "h3",
@@ -16315,7 +16537,7 @@ const emptySet = /* @__PURE__ */ new Set([]);
16315
16537
  /**
16316
16538
  * maps element to set of elements that can be it's children, no other */
16317
16539
  const onlyValidChildren = {
16318
- head: new Set([
16540
+ head: /* @__PURE__ */ new Set([
16319
16541
  "base",
16320
16542
  "basefront",
16321
16543
  "bgsound",
@@ -16328,24 +16550,24 @@ const onlyValidChildren = {
16328
16550
  "script",
16329
16551
  "template"
16330
16552
  ]),
16331
- optgroup: new Set(["option"]),
16332
- select: new Set([
16553
+ optgroup: /* @__PURE__ */ new Set(["option"]),
16554
+ select: /* @__PURE__ */ new Set([
16333
16555
  "optgroup",
16334
16556
  "option",
16335
16557
  "hr"
16336
16558
  ]),
16337
- table: new Set([
16559
+ table: /* @__PURE__ */ new Set([
16338
16560
  "caption",
16339
16561
  "colgroup",
16340
16562
  "tbody",
16341
16563
  "tfoot",
16342
16564
  "thead"
16343
16565
  ]),
16344
- tr: new Set(["td", "th"]),
16345
- colgroup: new Set(["col"]),
16346
- tbody: new Set(["tr"]),
16347
- thead: new Set(["tr"]),
16348
- tfoot: new Set(["tr"]),
16566
+ tr: /* @__PURE__ */ new Set(["td", "th"]),
16567
+ colgroup: /* @__PURE__ */ new Set(["col"]),
16568
+ tbody: /* @__PURE__ */ new Set(["tr"]),
16569
+ thead: /* @__PURE__ */ new Set(["tr"]),
16570
+ tfoot: /* @__PURE__ */ new Set(["tr"]),
16349
16571
  script: emptySet,
16350
16572
  iframe: emptySet,
16351
16573
  option: emptySet,
@@ -16356,30 +16578,30 @@ const onlyValidChildren = {
16356
16578
  /** maps elements to set of elements which can be it's parent, no other */
16357
16579
  const onlyValidParents = {
16358
16580
  html: emptySet,
16359
- body: new Set(["html"]),
16360
- head: new Set(["html"]),
16361
- td: new Set(["tr"]),
16362
- colgroup: new Set(["table"]),
16363
- caption: new Set(["table"]),
16364
- tbody: new Set(["table"]),
16365
- tfoot: new Set(["table"]),
16366
- col: new Set(["colgroup"]),
16367
- th: new Set(["tr"]),
16368
- thead: new Set(["table"]),
16369
- tr: new Set([
16581
+ body: /* @__PURE__ */ new Set(["html"]),
16582
+ head: /* @__PURE__ */ new Set(["html"]),
16583
+ td: /* @__PURE__ */ new Set(["tr"]),
16584
+ colgroup: /* @__PURE__ */ new Set(["table"]),
16585
+ caption: /* @__PURE__ */ new Set(["table"]),
16586
+ tbody: /* @__PURE__ */ new Set(["table"]),
16587
+ tfoot: /* @__PURE__ */ new Set(["table"]),
16588
+ col: /* @__PURE__ */ new Set(["colgroup"]),
16589
+ th: /* @__PURE__ */ new Set(["tr"]),
16590
+ thead: /* @__PURE__ */ new Set(["table"]),
16591
+ tr: /* @__PURE__ */ new Set([
16370
16592
  "tbody",
16371
16593
  "thead",
16372
16594
  "tfoot"
16373
16595
  ]),
16374
- dd: new Set(["dl", "div"]),
16375
- dt: new Set(["dl", "div"]),
16376
- figcaption: new Set(["figure"]),
16377
- summary: new Set(["details"]),
16378
- area: new Set(["map"])
16596
+ dd: /* @__PURE__ */ new Set(["dl", "div"]),
16597
+ dt: /* @__PURE__ */ new Set(["dl", "div"]),
16598
+ figcaption: /* @__PURE__ */ new Set(["figure"]),
16599
+ summary: /* @__PURE__ */ new Set(["details"]),
16600
+ area: /* @__PURE__ */ new Set(["map"])
16379
16601
  };
16380
16602
  /** maps element to set of elements that can not be it's children, others can */
16381
16603
  const knownInvalidChildren = {
16382
- p: new Set([
16604
+ p: /* @__PURE__ */ new Set([
16383
16605
  "address",
16384
16606
  "article",
16385
16607
  "aside",
@@ -16414,7 +16636,7 @@ const knownInvalidChildren = {
16414
16636
  "table",
16415
16637
  "ul"
16416
16638
  ]),
16417
- svg: new Set([
16639
+ svg: /* @__PURE__ */ new Set([
16418
16640
  "b",
16419
16641
  "blockquote",
16420
16642
  "br",
@@ -16455,12 +16677,12 @@ const knownInvalidChildren = {
16455
16677
  };
16456
16678
  /** maps element to set of elements that can not be it's parent, others can */
16457
16679
  const knownInvalidParents = {
16458
- a: new Set(["a"]),
16459
- button: new Set(["button"]),
16460
- dd: new Set(["dd", "dt"]),
16461
- dt: new Set(["dd", "dt"]),
16462
- form: new Set(["form"]),
16463
- li: new Set(["li"]),
16680
+ a: /* @__PURE__ */ new Set(["a"]),
16681
+ button: /* @__PURE__ */ new Set(["button"]),
16682
+ dd: /* @__PURE__ */ new Set(["dd", "dt"]),
16683
+ dt: /* @__PURE__ */ new Set(["dd", "dt"]),
16684
+ form: /* @__PURE__ */ new Set(["form"]),
16685
+ li: /* @__PURE__ */ new Set(["li"]),
16464
16686
  h1: headings,
16465
16687
  h2: headings,
16466
16688
  h3: headings,
@@ -16503,10 +16725,12 @@ function compile(src, options = {}) {
16503
16725
  //#region packages/vue-compat/src/index.ts
16504
16726
  const compileCache = Object.create(null);
16505
16727
  function compileToFunction(template, options) {
16506
- if (!isString(template)) if (template.nodeType) template = template.innerHTML;
16507
- else {
16508
- process.env.NODE_ENV !== "production" && warn(`invalid template option: `, template);
16509
- return NOOP;
16728
+ if (!isString(template)) {
16729
+ if (template.nodeType) template = template.innerHTML;
16730
+ else {
16731
+ process.env.NODE_ENV !== "production" && warn(`invalid template option: `, template);
16732
+ return NOOP;
16733
+ }
16510
16734
  }
16511
16735
  const key = genCacheKey(template, options);
16512
16736
  const cached = compileCache[key];
@@ -16540,4 +16764,4 @@ Vue.compile = compileToFunction;
16540
16764
  var esm_index_default = Vue;
16541
16765
  const configureCompat = Vue.configureCompat;
16542
16766
  //#endregion
16543
- export { BaseTransition, BaseTransitionPropsValidators, Comment, DeprecationTypes, EffectScope, ErrorCodes, ErrorTypeStrings, Fragment, KeepAlive, MismatchTypes, MoveType, NULL_DYNAMIC_COMPONENT, ReactiveEffect, SchedulerJobFlags, Static, Suspense, Teleport, Text, TrackOpTypes, Transition, TransitionGroup, TransitionPropsValidators, TriggerOpTypes, VaporSlot, VueElement, VueElementBase, activate, assertNumber, baseApplyTranslation, baseEmit, baseNormalizePropsOptions, baseResolveTransitionHooks, baseUseCssVars, callPendingCbs, callWithAsyncErrorHandling, callWithErrorHandling, camelize, capitalize, checkTransitionMode, cloneVNode, compatUtils, computed, configureCompat, createApp, createAppAPI, createAsyncComponentContext, createBlock, createCanSetSetupRefChecker, createCommentVNode, createElementBlock, createBaseVNode as createElementVNode, createHydrationRenderer, createInternalObject, createPropsRestProxy, createRenderer, createSSRApp, createSlots, createStaticVNode, createTextVNode, createVNode, currentInstance, customRef, deactivate, esm_index_default as default, defineAsyncComponent, defineComponent, defineCustomElement, defineEmits, defineExpose, defineModel, defineOptions, defineProps, defineSSRCustomElement, defineSlots, devtools, devtoolsComponentAdded, effect, effectScope, endMeasure, ensureHydrationRenderer, ensureRenderer, ensureValidVNode, ensureVaporSlotFallback, expose, filterModelListeners, flushOnAppMount, forceReflow, getAttributeMismatch, getComponentName, getContainerType, getCurrentInstance, getCurrentScope, getCurrentWatcher, getFunctionalFallthrough, getInheritedScopeIds, getTransitionRawChildren, guardReactiveProps, h, handleError, handleMovedChildren, hasCSSTransform, hasInjectionContext, hydrate, hydrateOnIdle, hydrateOnInteraction, hydrateOnMediaQuery, hydrateOnVisible, initCustomFormatter, initDirectivesForSSR, initFeatureFlags, inject, invalidateMount, invokeDirectiveHook, isAsyncWrapper, isEmitListener, isFunctionalFallthroughKey, isHydrating, isHydratingEnabled, isKeepAlive, isMapEqual, isMemoSame, isMismatchAllowed, isProxy, isReactive, isReadonly, isRef, isRuntimeOnly, isSetEqual, isShallow, isTeleportDeferred, isTeleportDisabled, isTemplateNode, isTemplateRefKey, isVNode, isValidHtmlOrSvgAttribute, knownTemplateRefs, leaveCbKey, logMismatchError, markAsyncBoundary, markRaw, matches, mergeDefaults, mergeModels, mergeProps, nextTick, nextUid, nodeOps, normalizeClass, normalizeContainer, normalizeProps, normalizeRef, normalizeStyle, normalizeVNode, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onScopeDispose, onServerPrefetch, onUnmounted, onUpdated, onWatcherCleanup, openBlock, parseEventName, patchProp, patchStyle, performAsyncHydrate, performTransitionEnter, performTransitionLeave, popScopeId, popWarningContext, prepareTransitionLeave, prepareTransitionSwitch, provide, proxyRefs, pushScopeId, pushWarningContext, queueJob, queuePostFlushCb, queuePostRenderEffect, reactive, readonly, ref, registerHMR, registerRuntimeCompiler, render, renderList, renderSlot, resetShapeFlag, resolveComponent, resolveDirective, resolveDynamicComponent, resolveFilter, resolvePropValue, resolveTarget as resolveTeleportTarget, resolveTransitionChild, resolveTransitionHooks, resolveTransitionProps, restoreCurrentInstance, setBlockTracking, setCurrentInstance, setCurrentRenderingInstance, setDevtoolsHook, setIsHydratingEnabled, setRef, setTransitionHooks, setVarsOnNode, shallowReactive, shallowReadonly, shallowRef, shouldSetAsProp, shouldSetAsPropForVueCE, shouldUpdateComponent, simpleSetCurrentInstance, ssrContextKey, ssrUtils, startMeasure, stop, svgNS, toClassSet, toDisplayString, toHandlerKey, toHandlers, toRaw, toRef, toRefs, toStyleMap, toValue, transformVNodeArgs, triggerRef, unref, unregisterHMR, unsafeToTrustedHTML, useAsyncComponentState, useAttrs, useCssModule, useCssVars, useHost, useId, useInstanceOption, useModel, useSSRContext, useShadowRoot, useSlots, useTemplateRef, useTransitionState, vModelCheckbox, vModelCheckboxInit, vModelCheckboxUpdate, vModelDynamic, getValue as vModelGetValue, vModelRadio, vModelSelect, vModelSelectInit, vModelSetSelected, vModelText, vModelTextInit, vModelTextUpdate, vShow, vShowHidden, vShowOriginalDisplay, validateComponentName, validateProps, version, warn, warnExtraneousAttributes, warnPropMismatch, watch, watchEffect, watchPostEffect, watchSyncEffect, withAsyncContext, withCtx, withDefaults, withDirectives, withKeys, withMemo, withModifiers, withScopeId, xlinkNS };
16767
+ export { BaseTransition, BaseTransitionPropsValidators, Comment, DeprecationTypes, EffectScope, ErrorCodes, ErrorTypeStrings, Fragment, KeepAlive, MismatchTypes, MoveType, NULL_DYNAMIC_COMPONENT, ReactiveEffect, SchedulerJobFlags, Static, Suspense, Teleport, Text, TrackOpTypes, Transition, TransitionGroup, TransitionPropsValidators, TriggerOpTypes, VaporSlot, VueElement, VueElementBase, activate, assertNumber, baseApplyTranslation, baseEmit, baseNormalizePropsOptions, baseResolveTransitionHooks, baseUseCssVars, callPendingCbs, callWithAsyncErrorHandling, callWithErrorHandling, camelize, capitalize, checkTransitionMode, cloneVNode, compatUtils, computed, configureCompat, createApp, createAppAPI, createAsyncComponentContext, createBlock, createCanSetSetupRefChecker, createCommentVNode, createElementBlock, createBaseVNode as createElementVNode, createHydrationRenderer, createInternalObject, createPropsRestProxy, createRenderer, createSSRApp, createSlots, createStaticVNode, createTextVNode, createVNode, currentInstance, customRef, deactivate, esm_index_default as default, defineAsyncComponent, defineComponent, defineCustomElement, defineEmits, defineExpose, defineModel, defineOptions, defineProps, defineSSRCustomElement, defineSlots, devtools, devtoolsComponentAdded, effect, effectScope, endMeasure, ensureHydrationRenderer, ensureRenderer, ensureValidVNode, ensureVaporSlotFallback, expose, filterModelListeners, flushOnAppMount, forceReflow, getAttributeMismatch, getComponentName, getContainerType, getCurrentInstance, getCurrentScope, getCurrentWatcher, getFunctionalFallthrough, getInheritedScopeIds, getTransitionRawChildren, guardReactiveProps, h, handleError, handleMovedChildren, hasCSSTransform, hasInjectionContext, hydrate, hydrateOnIdle, hydrateOnInteraction, hydrateOnMediaQuery, hydrateOnVisible, initCustomFormatter, initDirectivesForSSR, initFeatureFlags, inject, invalidateMount, invokeDirectiveHook, isAsyncWrapper, isEmitListener, isFunctionalFallthroughKey, isHydrating, isHydratingEnabled, isKeepAlive, isMapEqual, isMemoSame, isMismatchAllowed, isProxy, isReactive, isReadonly, isRef, isRuntimeOnly, isSetEqual, isShallow, isTeleportDeferred, isTeleportDisabled, isTemplateNode, isTemplateRefKey, isVNode, isValidHtmlOrSvgAttribute, knownTemplateRefs, leaveCbKey, logMismatchError, markAsyncBoundary, markRaw, matches, mergeDefaults, mergeModels, mergeProps, nextTick, nextUid, nodeOps, normalizeClass, normalizeContainer, normalizeProps, normalizeRef, normalizeStyle, normalizeVNode, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onScopeDispose, onServerPrefetch, onUnmounted, onUpdated, onWatcherCleanup, openBlock, parseEventName, patchProp, patchStyle, performAsyncHydrate, performTransitionEnter, performTransitionLeave, popScopeId, popWarningContext, prepareTransitionLeave, prepareTransitionSwitch, provide, proxyRefs, pushScopeId, pushWarningContext, queueJob, queuePostFlushCb, queuePostRenderEffect, rawVaporSlotKey, reactive, readonly, ref, registerHMR, registerRuntimeCompiler, render, renderList, renderSlot, resetShapeFlag, resolveComponent, resolveDirective, resolveDynamicComponent, resolveFilter, resolvePropValue, resolveTarget as resolveTeleportTarget, resolveTransitionChild, resolveTransitionHooks, resolveTransitionProps, restoreCurrentInstance, setBlockTracking, setCurrentInstance, setCurrentRenderingInstance, setDevtoolsHook, setIsHydratingEnabled, setRef, setTransitionHooks, setVarsOnNode, shallowReactive, shallowReadonly, shallowRef, shouldSetAsProp, shouldSetAsPropForVueCE, shouldUpdateComponent, simpleSetCurrentInstance, ssrContextKey, ssrUtils, startMeasure, stop, svgNS, toClassSet, toDisplayString, toHandlerKey, toHandlers, toRaw, toRef, toRefs, toStyleMap, toValue, transformVNodeArgs, triggerRef, unref, unregisterHMR, unsafeToTrustedHTML, useAsyncComponentState, useAttrs, useCssModule, useCssVars, useHost, useId, useInstanceOption, useModel, useSSRContext, useShadowRoot, useSlots, useTemplateRef, useTransitionState, vModelCheckbox, vModelCheckboxInit, vModelCheckboxUpdate, vModelDynamic, getValue as vModelGetValue, vModelRadio, vModelSelect, vModelSelectInit, vModelSetSelected, vModelText, vModelTextInit, vModelTextUpdate, vShow, vShowHidden, vShowOriginalDisplay, validateComponentName, validateProps, vdomSlotFallbackKey, version, warn, warnExtraneousAttributes, warnPropMismatch, watch, watchEffect, watchPostEffect, watchSyncEffect, withAsyncContext, withCtx, withDefaults, withDirectives, withKeys, withMemo, withModifiers, withScopeId, xlinkNS };