@vue/compat 3.6.0-rc.4 → 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.4
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 `__DEV__` 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 `__DEV__` 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 `__DEV__` 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 `__DEV__` 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);
@@ -829,9 +850,7 @@ function trigger(target, type, key, newValue, oldValue, oldTarget) {
829
850
  if (isMap(target)) run(depsMap.get(MAP_KEY_ITERATE_KEY));
830
851
  }
831
852
  break;
832
- case "set":
833
- if (isMap(target)) run(depsMap.get(ITERATE_KEY));
834
- break;
853
+ case "set": if (isMap(target)) run(depsMap.get(ITERATE_KEY));
835
854
  }
836
855
  }
837
856
  }
@@ -1028,8 +1047,8 @@ function noTracking(self, method, args = []) {
1028
1047
  }
1029
1048
  //#endregion
1030
1049
  //#region packages/reactivity/src/baseHandlers.ts
1031
- const isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`);
1032
- const builtInSymbols = new Set(/* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== "arguments" && key !== "caller").map((key) => Symbol[key]).filter(isSymbol));
1050
+ const isNonTrackableKeys = /*@__PURE__*/ makeMap(`__proto__,__v_isRef,__isVue`);
1051
+ const builtInSymbols = new Set(/*@__PURE__*/ Object.getOwnPropertyNames(Symbol).filter((key) => key !== "arguments" && key !== "caller").map((key) => Symbol[key]).filter(isSymbol));
1033
1052
  function hasOwnProperty(key) {
1034
1053
  if (!isSymbol(key)) key = String(key);
1035
1054
  const obj = /* @__PURE__ */ toRaw(this);
@@ -1084,12 +1103,14 @@ var MutableReactiveHandler = class extends BaseReactiveHandler {
1084
1103
  oldValue = /* @__PURE__ */ toRaw(oldValue);
1085
1104
  value = /* @__PURE__ */ toRaw(value);
1086
1105
  }
1087
- if (!isArrayWithIntegerKey && /* @__PURE__ */ isRef(oldValue) && !/* @__PURE__ */ isRef(value)) if (isOldValueReadonly) {
1088
- warn$2(`Set operation on key "${String(key)}" failed: target is readonly.`, target[key]);
1089
- return true;
1090
- } else {
1091
- oldValue.value = value;
1092
- return true;
1106
+ if (!isArrayWithIntegerKey && /* @__PURE__ */ isRef(oldValue) && !/* @__PURE__ */ isRef(value)) {
1107
+ if (isOldValueReadonly) {
1108
+ warn$2(`Set operation on key "${String(key)}" failed: target is readonly.`, target[key]);
1109
+ return true;
1110
+ } else {
1111
+ oldValue.value = value;
1112
+ return true;
1113
+ }
1093
1114
  }
1094
1115
  }
1095
1116
  const hadKey = isArrayWithIntegerKey ? Number(key) < target.length : hasOwn(target, key);
@@ -1130,10 +1151,10 @@ var ReadonlyReactiveHandler = class extends BaseReactiveHandler {
1130
1151
  return true;
1131
1152
  }
1132
1153
  };
1133
- const mutableHandlers = /* @__PURE__ */ new MutableReactiveHandler();
1134
- const readonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler();
1135
- const shallowReactiveHandlers = /* @__PURE__ */ new MutableReactiveHandler(true);
1136
- const shallowReadonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(true);
1154
+ const mutableHandlers = /*@__PURE__*/ new MutableReactiveHandler();
1155
+ const readonlyHandlers = /*@__PURE__*/ new ReadonlyReactiveHandler();
1156
+ const shallowReactiveHandlers = /*@__PURE__*/ new MutableReactiveHandler(true);
1157
+ const shallowReadonlyHandlers = /*@__PURE__*/ new ReadonlyReactiveHandler(true);
1137
1158
  //#endregion
1138
1159
  //#region packages/reactivity/src/collectionHandlers.ts
1139
1160
  const toShallow = (value) => value;
@@ -1284,10 +1305,10 @@ function createInstrumentationGetter(isReadonly, shallow) {
1284
1305
  return Reflect.get(hasOwn(instrumentations, key) && key in target ? instrumentations : target, key, receiver);
1285
1306
  };
1286
1307
  }
1287
- const mutableCollectionHandlers = { get: /* @__PURE__ */ createInstrumentationGetter(false, false) };
1288
- const shallowCollectionHandlers = { get: /* @__PURE__ */ createInstrumentationGetter(false, true) };
1289
- const readonlyCollectionHandlers = { get: /* @__PURE__ */ createInstrumentationGetter(true, false) };
1290
- const shallowReadonlyCollectionHandlers = { get: /* @__PURE__ */ createInstrumentationGetter(true, true) };
1308
+ const mutableCollectionHandlers = { get: /*@__PURE__*/ createInstrumentationGetter(false, false) };
1309
+ const shallowCollectionHandlers = { get: /*@__PURE__*/ createInstrumentationGetter(false, true) };
1310
+ const readonlyCollectionHandlers = { get: /*@__PURE__*/ createInstrumentationGetter(true, false) };
1311
+ const shallowReadonlyCollectionHandlers = { get: /*@__PURE__*/ createInstrumentationGetter(true, true) };
1291
1312
  function checkIdentityKeys(target, has, key) {
1292
1313
  const rawKey = /* @__PURE__ */ toRaw(key);
1293
1314
  if (rawKey !== key && has.call(target, rawKey)) {
@@ -1312,7 +1333,7 @@ function targetTypeMap(rawType) {
1312
1333
  default: return 0;
1313
1334
  }
1314
1335
  }
1315
- /* @__NO_SIDE_EFFECTS__ */
1336
+ /*@__NO_SIDE_EFFECTS__*/
1316
1337
  function reactive(target) {
1317
1338
  if (/* @__PURE__ */ isReadonly(target)) return target;
1318
1339
  return createReactiveObject(target, false, mutableHandlers, mutableCollectionHandlers, reactiveMap);
@@ -1347,7 +1368,7 @@ function reactive(target) {
1347
1368
  * @param target - The source object.
1348
1369
  * @see {@link https://vuejs.org/api/reactivity-advanced.html#shallowreactive}
1349
1370
  */
1350
- /* @__NO_SIDE_EFFECTS__ */
1371
+ /*@__NO_SIDE_EFFECTS__*/
1351
1372
  function shallowReactive(target) {
1352
1373
  return createReactiveObject(target, false, shallowReactiveHandlers, shallowCollectionHandlers, shallowReactiveMap);
1353
1374
  }
@@ -1380,7 +1401,7 @@ function shallowReactive(target) {
1380
1401
  * @param target - The source object.
1381
1402
  * @see {@link https://vuejs.org/api/reactivity-core.html#readonly}
1382
1403
  */
1383
- /* @__NO_SIDE_EFFECTS__ */
1404
+ /*@__NO_SIDE_EFFECTS__*/
1384
1405
  function readonly(target) {
1385
1406
  return createReactiveObject(target, true, readonlyHandlers, readonlyCollectionHandlers, readonlyMap);
1386
1407
  }
@@ -1414,7 +1435,7 @@ function readonly(target) {
1414
1435
  * @param target - The source object.
1415
1436
  * @see {@link https://vuejs.org/api/reactivity-advanced.html#shallowreadonly}
1416
1437
  */
1417
- /* @__NO_SIDE_EFFECTS__ */
1438
+ /*@__NO_SIDE_EFFECTS__*/
1418
1439
  function shallowReadonly(target) {
1419
1440
  return createReactiveObject(target, true, shallowReadonlyHandlers, shallowReadonlyCollectionHandlers, shallowReadonlyMap);
1420
1441
  }
@@ -1451,7 +1472,7 @@ function createReactiveObject(target, isReadonly, baseHandlers, collectionHandle
1451
1472
  * @param value - The value to check.
1452
1473
  * @see {@link https://vuejs.org/api/reactivity-utilities.html#isreactive}
1453
1474
  */
1454
- /* @__NO_SIDE_EFFECTS__ */
1475
+ /*@__NO_SIDE_EFFECTS__*/
1455
1476
  function isReactive(value) {
1456
1477
  if (/* @__PURE__ */ isReadonly(value)) return /* @__PURE__ */ isReactive(value["__v_raw"]);
1457
1478
  return !!(value && value["__v_isReactive"]);
@@ -1467,11 +1488,11 @@ function isReactive(value) {
1467
1488
  * @param value - The value to check.
1468
1489
  * @see {@link https://vuejs.org/api/reactivity-utilities.html#isreadonly}
1469
1490
  */
1470
- /* @__NO_SIDE_EFFECTS__ */
1491
+ /*@__NO_SIDE_EFFECTS__*/
1471
1492
  function isReadonly(value) {
1472
1493
  return !!(value && value["__v_isReadonly"]);
1473
1494
  }
1474
- /* @__NO_SIDE_EFFECTS__ */
1495
+ /*@__NO_SIDE_EFFECTS__*/
1475
1496
  function isShallow(value) {
1476
1497
  return !!(value && value["__v_isShallow"]);
1477
1498
  }
@@ -1482,7 +1503,7 @@ function isShallow(value) {
1482
1503
  * @param value - The value to check.
1483
1504
  * @see {@link https://vuejs.org/api/reactivity-utilities.html#isproxy}
1484
1505
  */
1485
- /* @__NO_SIDE_EFFECTS__ */
1506
+ /*@__NO_SIDE_EFFECTS__*/
1486
1507
  function isProxy(value) {
1487
1508
  return value ? !!value["__v_raw"] : false;
1488
1509
  }
@@ -1509,7 +1530,7 @@ function isProxy(value) {
1509
1530
  * @param observed - The object for which the "raw" value is requested.
1510
1531
  * @see {@link https://vuejs.org/api/reactivity-advanced.html#toraw}
1511
1532
  */
1512
- /* @__NO_SIDE_EFFECTS__ */
1533
+ /*@__NO_SIDE_EFFECTS__*/
1513
1534
  function toRaw(observed) {
1514
1535
  const raw = observed && observed["__v_raw"];
1515
1536
  return raw ? /* @__PURE__ */ toRaw(raw) : observed;
@@ -1558,15 +1579,15 @@ const toReactive = (value) => isObject(value) ? /* @__PURE__ */ reactive(value)
1558
1579
  const toReadonly = (value) => isObject(value) ? /* @__PURE__ */ readonly(value) : value;
1559
1580
  //#endregion
1560
1581
  //#region packages/reactivity/src/ref.ts
1561
- /* @__NO_SIDE_EFFECTS__ */
1582
+ /*@__NO_SIDE_EFFECTS__*/
1562
1583
  function isRef(r) {
1563
1584
  return r ? r["__v_isRef"] === true : false;
1564
1585
  }
1565
- /* @__NO_SIDE_EFFECTS__ */
1586
+ /*@__NO_SIDE_EFFECTS__*/
1566
1587
  function ref(value) {
1567
1588
  return createRef(value, toReactive);
1568
1589
  }
1569
- /* @__NO_SIDE_EFFECTS__ */
1590
+ /*@__NO_SIDE_EFFECTS__*/
1570
1591
  function shallowRef(value) {
1571
1592
  return createRef(value);
1572
1593
  }
@@ -1769,7 +1790,7 @@ function customRef(factory) {
1769
1790
  * @param object - Reactive object to be made into an object of linked refs.
1770
1791
  * @see {@link https://vuejs.org/api/reactivity-utilities.html#torefs}
1771
1792
  */
1772
- /* @__NO_SIDE_EFFECTS__ */
1793
+ /*@__NO_SIDE_EFFECTS__*/
1773
1794
  function toRefs(object) {
1774
1795
  const ret = isArray(object) ? new Array(object.length) : {};
1775
1796
  for (const key in object) ret[key] = propertyToRef(object, key);
@@ -1820,7 +1841,7 @@ var GetterRefImpl = class {
1820
1841
  return this._value = this._getter();
1821
1842
  }
1822
1843
  };
1823
- /* @__NO_SIDE_EFFECTS__ */
1844
+ /*@__NO_SIDE_EFFECTS__*/
1824
1845
  function toRef(source, key, defaultValue) {
1825
1846
  if (/* @__PURE__ */ isRef(source)) return source;
1826
1847
  else if (isFunction(source)) return new GetterRefImpl(source);
@@ -1886,10 +1907,12 @@ var ReactiveEffect = class {
1886
1907
  get dirty() {
1887
1908
  const flags = this.flags;
1888
1909
  if (flags & 16) return true;
1889
- if (flags & 32) if (checkDirty(this.deps, this)) {
1890
- this.flags = flags | 16;
1891
- return true;
1892
- } else this.flags = flags & -33;
1910
+ if (flags & 32) {
1911
+ if (checkDirty(this.deps, this)) {
1912
+ this.flags = flags | 16;
1913
+ return true;
1914
+ } else this.flags = flags & -33;
1915
+ }
1893
1916
  return false;
1894
1917
  }
1895
1918
  };
@@ -2068,10 +2091,12 @@ var ComputedRefImpl = class {
2068
2091
  get _dirty() {
2069
2092
  const flags = this.flags;
2070
2093
  if (flags & 16) return true;
2071
- if (flags & 32) if (checkDirty(this.deps, this)) {
2072
- this.flags = flags | 16;
2073
- return true;
2074
- } else this.flags = flags & -33;
2094
+ if (flags & 32) {
2095
+ if (checkDirty(this.deps, this)) {
2096
+ this.flags = flags | 16;
2097
+ return true;
2098
+ } else this.flags = flags & -33;
2099
+ }
2075
2100
  return false;
2076
2101
  }
2077
2102
  /**
@@ -2132,7 +2157,7 @@ var ComputedRefImpl = class {
2132
2157
  }
2133
2158
  };
2134
2159
  setupOnTrigger(ComputedRefImpl);
2135
- /* @__NO_SIDE_EFFECTS__ */
2160
+ /*@__NO_SIDE_EFFECTS__*/
2136
2161
  function computed$1(getterOrOptions, debugOptions, isSSR = false) {
2137
2162
  let getter;
2138
2163
  let setter;
@@ -2210,25 +2235,26 @@ var WatcherEffect = class extends ReactiveEffect {
2210
2235
  else if (isFunction(s)) return call ? call(s, 2) : s();
2211
2236
  else warnInvalidSource(s, onWarn);
2212
2237
  });
2213
- } else if (isFunction(source)) if (cb) getter = call ? () => call(source, 2) : source;
2214
- else getter = () => {
2215
- if (this.cleanupsLength) {
2216
- const prevSub = setActiveSub();
2238
+ } else if (isFunction(source)) {
2239
+ if (cb) getter = call ? () => call(source, 2) : source;
2240
+ else getter = () => {
2241
+ if (this.cleanupsLength) {
2242
+ const prevSub = setActiveSub();
2243
+ try {
2244
+ cleanup(this);
2245
+ } finally {
2246
+ setActiveSub(prevSub);
2247
+ }
2248
+ }
2249
+ const currentEffect = activeWatcher;
2250
+ activeWatcher = this;
2217
2251
  try {
2218
- cleanup(this);
2252
+ return call ? call(source, 3, [this.boundCleanup]) : source(this.boundCleanup);
2219
2253
  } finally {
2220
- setActiveSub(prevSub);
2254
+ activeWatcher = currentEffect;
2221
2255
  }
2222
- }
2223
- const currentEffect = activeWatcher;
2224
- activeWatcher = this;
2225
- try {
2226
- return call ? call(source, 3, [this.boundCleanup]) : source(this.boundCleanup);
2227
- } finally {
2228
- activeWatcher = currentEffect;
2229
- }
2230
- };
2231
- else {
2256
+ };
2257
+ } else {
2232
2258
  getter = NOOP;
2233
2259
  warnInvalidSource(source, onWarn);
2234
2260
  }
@@ -2552,7 +2578,7 @@ let currentFlushPromise = null;
2552
2578
  let jobsLength = 0;
2553
2579
  let flushIndex = 0;
2554
2580
  let postFlushIndex = 0;
2555
- const resolvedPromise = /* @__PURE__ */ Promise.resolve();
2581
+ const resolvedPromise = /*@__PURE__*/ Promise.resolve();
2556
2582
  const RECURSION_LIMIT = 100;
2557
2583
  function nextTick(fn) {
2558
2584
  const p = currentFlushPromise || resolvedPromise;
@@ -2591,6 +2617,7 @@ const doFlushJobs = () => {
2591
2617
  flushJobs();
2592
2618
  } catch (e) {
2593
2619
  currentFlushPromise = null;
2620
+ if (jobsLength || postJobs.length) queueFlush();
2594
2621
  throw e;
2595
2622
  }
2596
2623
  };
@@ -2598,9 +2625,10 @@ function queueFlush() {
2598
2625
  if (!currentFlushPromise) currentFlushPromise = resolvedPromise.then(doFlushJobs);
2599
2626
  }
2600
2627
  function queuePostFlushCb(jobs, id = Infinity) {
2601
- if (!isArray(jobs)) if (activePostJobs && id === -1) activePostJobs.splice(postFlushIndex, 0, jobs);
2602
- else queueJobWorker(jobs, id, postJobs, postJobs.length, 0);
2603
- else for (let i = 0; i < jobs.length; i++) queueJobWorker(jobs[i], id, postJobs, postJobs.length, 0);
2628
+ if (!isArray(jobs)) {
2629
+ if (activePostJobs && id === -1) activePostJobs.splice(postFlushIndex, 0, jobs);
2630
+ else queueJobWorker(jobs, id, postJobs, postJobs.length, 0);
2631
+ } else for (let i = 0; i < jobs.length; i++) queueJobWorker(jobs[i], id, postJobs, postJobs.length, 0);
2604
2632
  queueFlush();
2605
2633
  }
2606
2634
  function flushPreFlushCbs(instance, seen) {
@@ -2614,8 +2642,11 @@ function flushPreFlushCbs(instance, seen) {
2614
2642
  i--;
2615
2643
  jobsLength--;
2616
2644
  if (cb.flags & 2) cb.flags &= -2;
2617
- cb();
2618
- if (!(cb.flags & 2)) cb.flags &= -2;
2645
+ try {
2646
+ cb();
2647
+ } finally {
2648
+ if (!(cb.flags & 2)) cb.flags &= -2;
2649
+ }
2619
2650
  }
2620
2651
  }
2621
2652
  function flushPostFlushCbs(seen) {
@@ -2628,18 +2659,22 @@ function flushPostFlushCbs(seen) {
2628
2659
  activePostJobs = postJobs;
2629
2660
  postJobs = [];
2630
2661
  seen = seen || /* @__PURE__ */ new Map();
2631
- while (postFlushIndex < activePostJobs.length) {
2632
- const cb = activePostJobs[postFlushIndex++];
2633
- if (checkRecursiveUpdates(seen, cb)) continue;
2634
- if (cb.flags & 2) cb.flags &= -2;
2635
- if (!(cb.flags & 4)) try {
2636
- cb();
2637
- } finally {
2638
- cb.flags &= -2;
2662
+ try {
2663
+ while (postFlushIndex < activePostJobs.length) {
2664
+ const cb = activePostJobs[postFlushIndex++];
2665
+ if (checkRecursiveUpdates(seen, cb)) continue;
2666
+ if (cb.flags & 2) cb.flags &= -2;
2667
+ if (!(cb.flags & 4)) try {
2668
+ cb();
2669
+ } finally {
2670
+ if (!(cb.flags & 2)) cb.flags &= -2;
2671
+ }
2639
2672
  }
2673
+ } finally {
2674
+ while (postFlushIndex < activePostJobs.length) activePostJobs[postFlushIndex++].flags &= -2;
2675
+ activePostJobs = null;
2676
+ postFlushIndex = 0;
2640
2677
  }
2641
- activePostJobs = null;
2642
- postFlushIndex = 0;
2643
2678
  }
2644
2679
  }
2645
2680
  let isFlushing = false;
@@ -2649,9 +2684,12 @@ let isFlushing = false;
2649
2684
  function flushOnAppMount(instance) {
2650
2685
  if (!isFlushing) {
2651
2686
  isFlushing = true;
2652
- flushPreFlushCbs(instance);
2653
- flushPostFlushCbs();
2654
- isFlushing = false;
2687
+ try {
2688
+ flushPreFlushCbs(instance);
2689
+ flushPostFlushCbs();
2690
+ } finally {
2691
+ isFlushing = false;
2692
+ }
2655
2693
  }
2656
2694
  }
2657
2695
  function flushJobs(seen) {
@@ -2681,8 +2719,8 @@ function flushJobs(seen) {
2681
2719
  jobsLength = 0;
2682
2720
  jobs.length = 0;
2683
2721
  flushPostFlushCbs(seen);
2684
- currentFlushPromise = null;
2685
2722
  if (jobsLength || postJobs.length) flushJobs(seen);
2723
+ else currentFlushPromise = null;
2686
2724
  }
2687
2725
  }
2688
2726
  function checkRecursiveUpdates(seen, fn) {
@@ -2713,6 +2751,19 @@ getGlobalThis().__VUE_HMR_RUNTIME__ = {
2713
2751
  rerender: tryWrap(rerender),
2714
2752
  reload: tryWrap(reload)
2715
2753
  };
2754
+ function runWithHmrUpdating(fn) {
2755
+ isHmrUpdating = true;
2756
+ let done = false;
2757
+ try {
2758
+ fn();
2759
+ done = true;
2760
+ } finally {
2761
+ if (done) nextTick(() => {
2762
+ isHmrUpdating = false;
2763
+ });
2764
+ else isHmrUpdating = false;
2765
+ }
2766
+ }
2716
2767
  const map = /* @__PURE__ */ new Map();
2717
2768
  function registerHMR(instance) {
2718
2769
  const id = instance.type.__hmrId;
@@ -2754,18 +2805,16 @@ function rerender(id, newRender) {
2754
2805
  instance.render = newRender;
2755
2806
  normalizeClassComponent(instance.type).render = newRender;
2756
2807
  }
2757
- isHmrUpdating = true;
2758
- if (instance.vapor) {
2759
- if (!instance.isUnmounted) instance.hmrRerender();
2760
- } else {
2761
- const i = instance;
2762
- if (!(i.effect.flags & 1024)) {
2763
- i.renderCache = [];
2764
- i.effect.run();
2808
+ runWithHmrUpdating(() => {
2809
+ if (instance.vapor) {
2810
+ if (!instance.isUnmounted) instance.hmrRerender();
2811
+ } else {
2812
+ const i = instance;
2813
+ if (!(i.effect.flags & 1024)) {
2814
+ i.renderCache = [];
2815
+ i.effect.run();
2816
+ }
2765
2817
  }
2766
- }
2767
- nextTick(() => {
2768
- isHmrUpdating = false;
2769
2818
  });
2770
2819
  });
2771
2820
  }
@@ -2780,15 +2829,17 @@ function reload(id, newComp) {
2780
2829
  for (const instance of instances) if (instance.root && instance.root.ce && instance !== instance.root) instance.root.ce._removeChildStyle(instance.type);
2781
2830
  const dirtyInstances = new Set(instances);
2782
2831
  const rerenderedParents = /* @__PURE__ */ new Set();
2783
- for (const instance of instances) {
2784
- const parent = instance.parent;
2785
- if (parent) {
2786
- if (!hasDirtyAncestor(instance, dirtyInstances) && !rerenderedParents.has(parent)) {
2787
- rerenderedParents.add(parent);
2788
- parent.hmrRerender();
2789
- }
2790
- } else instance.hmrReload(newComp);
2791
- }
2832
+ runWithHmrUpdating(() => {
2833
+ for (const instance of instances) {
2834
+ const parent = instance.parent;
2835
+ if (parent) {
2836
+ if (!hasDirtyAncestor(instance, dirtyInstances) && !rerenderedParents.has(parent)) {
2837
+ rerenderedParents.add(parent);
2838
+ parent.hmrRerender();
2839
+ }
2840
+ } else instance.hmrReload(newComp);
2841
+ }
2842
+ });
2792
2843
  } else {
2793
2844
  const parentUpdates = /* @__PURE__ */ new Map();
2794
2845
  const dirtyInstanceSet = new Set(instances);
@@ -2822,21 +2873,22 @@ function reload(id, newComp) {
2822
2873
  }
2823
2874
  parentUpdates.forEach((updates, parent) => {
2824
2875
  queueJob(() => {
2825
- isHmrUpdating = true;
2826
- if (parent.vapor) parent.hmrRerender();
2827
- else {
2828
- const i = parent;
2829
- if (!(i.effect.flags & 1024)) {
2830
- i.renderCache = [];
2831
- i.effect.run();
2832
- }
2876
+ try {
2877
+ runWithHmrUpdating(() => {
2878
+ if (parent.vapor) parent.hmrRerender();
2879
+ else {
2880
+ const i = parent;
2881
+ if (!(i.effect.flags & 1024)) {
2882
+ i.renderCache = [];
2883
+ i.effect.run();
2884
+ }
2885
+ }
2886
+ });
2887
+ } finally {
2888
+ updates.forEach(([instance, dirtyInstances]) => {
2889
+ dirtyInstances.delete(instance);
2890
+ });
2833
2891
  }
2834
- nextTick(() => {
2835
- isHmrUpdating = false;
2836
- });
2837
- updates.forEach(([instance, dirtyInstances]) => {
2838
- dirtyInstances.delete(instance);
2839
- });
2840
2892
  });
2841
2893
  });
2842
2894
  }
@@ -2905,20 +2957,20 @@ function devtoolsInitApp(app, version) {
2905
2957
  function devtoolsUnmountApp(app) {
2906
2958
  emit$2("app:unmount", app);
2907
2959
  }
2908
- const devtoolsComponentAdded = /* @__PURE__ */ createDevtoolsComponentHook("component:added");
2909
- const devtoolsComponentUpdated = /* @__PURE__ */ createDevtoolsComponentHook("component:updated");
2910
- const _devtoolsComponentRemoved = /* @__PURE__ */ createDevtoolsComponentHook("component:removed");
2960
+ const devtoolsComponentAdded = /*@__PURE__*/ createDevtoolsComponentHook("component:added");
2961
+ const devtoolsComponentUpdated = /*@__PURE__*/ createDevtoolsComponentHook("component:updated");
2962
+ const _devtoolsComponentRemoved = /*@__PURE__*/ createDevtoolsComponentHook("component:removed");
2911
2963
  const devtoolsComponentRemoved = (component) => {
2912
2964
  if (devtools$1 && typeof devtools$1.cleanupBuffer === "function" && !devtools$1.cleanupBuffer(component)) _devtoolsComponentRemoved(component);
2913
2965
  };
2914
- /* @__NO_SIDE_EFFECTS__ */
2966
+ /*@__NO_SIDE_EFFECTS__*/
2915
2967
  function createDevtoolsComponentHook(hook) {
2916
2968
  return (component) => {
2917
2969
  emit$2(hook, component.appContext.app, component.uid, component.parent ? component.parent.uid : void 0, component);
2918
2970
  };
2919
2971
  }
2920
- const devtoolsPerfStart = /* @__PURE__ */ createDevtoolsPerformanceHook("perf:start");
2921
- const devtoolsPerfEnd = /* @__PURE__ */ createDevtoolsPerformanceHook("perf:end");
2972
+ const devtoolsPerfStart = /*@__PURE__*/ createDevtoolsPerformanceHook("perf:start");
2973
+ const devtoolsPerfEnd = /*@__PURE__*/ createDevtoolsPerformanceHook("perf:end");
2922
2974
  function createDevtoolsPerformanceHook(hook) {
2923
2975
  return (component, type, time) => {
2924
2976
  emit$2(hook, component.appContext.app, component.uid, component, type, time);
@@ -3147,7 +3199,7 @@ function configureCompat$1(config) {
3147
3199
  validateCompatConfig(config);
3148
3200
  extend(globalCompatConfig, config);
3149
3201
  }
3150
- const seenConfigObjects = /* @__PURE__ */ new WeakSet();
3202
+ const seenConfigObjects = /*@__PURE__*/ new WeakSet();
3151
3203
  const warnedInvalidKeys = {};
3152
3204
  function validateCompatConfig(config, instance) {
3153
3205
  if (seenConfigObjects.has(config)) return;
@@ -3199,7 +3251,7 @@ function checkCompatEnabled$1(key, instance, ...args) {
3199
3251
  }
3200
3252
  //#endregion
3201
3253
  //#region packages/runtime-core/src/compat/instanceEventEmitter.ts
3202
- const eventRegistryMap = /* @__PURE__ */ new WeakMap();
3254
+ const eventRegistryMap = /*@__PURE__*/ new WeakMap();
3203
3255
  function getRegistry(instance) {
3204
3256
  let events = eventRegistryMap.get(instance);
3205
3257
  if (!events) eventRegistryMap.set(instance, events = Object.create(null));
@@ -3333,19 +3385,21 @@ const legacyDirectiveHookMap = {
3333
3385
  };
3334
3386
  function mapCompatDirectiveHook(name, dir, instance) {
3335
3387
  const mappedName = legacyDirectiveHookMap[name];
3336
- if (mappedName) if (isArray(mappedName)) {
3337
- const hook = [];
3338
- mappedName.forEach((mapped) => {
3339
- const mappedHook = dir[mapped];
3340
- if (mappedHook) {
3341
- softAssertCompatEnabled("CUSTOM_DIR", instance, mapped, name);
3342
- hook.push(mappedHook);
3343
- }
3344
- });
3345
- return hook.length ? hook : void 0;
3346
- } else {
3347
- if (dir[mappedName]) softAssertCompatEnabled("CUSTOM_DIR", instance, mappedName, name);
3348
- return dir[mappedName];
3388
+ if (mappedName) {
3389
+ if (isArray(mappedName)) {
3390
+ const hook = [];
3391
+ mappedName.forEach((mapped) => {
3392
+ const mappedHook = dir[mapped];
3393
+ if (mappedHook) {
3394
+ softAssertCompatEnabled("CUSTOM_DIR", instance, mapped, name);
3395
+ hook.push(mappedHook);
3396
+ }
3397
+ });
3398
+ return hook.length ? hook : void 0;
3399
+ } else {
3400
+ if (dir[mappedName]) softAssertCompatEnabled("CUSTOM_DIR", instance, mappedName, name);
3401
+ return dir[mappedName];
3402
+ }
3349
3403
  }
3350
3404
  }
3351
3405
  //#endregion
@@ -3534,15 +3588,16 @@ const isTargetSVG = (target) => typeof SVGElement !== "undefined" && target inst
3534
3588
  const isTargetMathML = (target) => typeof MathMLElement === "function" && target instanceof MathMLElement;
3535
3589
  const resolveTarget = (props, select) => {
3536
3590
  const targetSelector = props && props.to;
3537
- if (isString(targetSelector)) if (!select) {
3538
- warn$1("Current renderer does not support string target for Teleports. (missing querySelector renderer option)");
3539
- return null;
3591
+ if (isString(targetSelector)) {
3592
+ if (!select) {
3593
+ warn$1("Current renderer does not support string target for Teleports. (missing querySelector renderer option)");
3594
+ return null;
3595
+ } else {
3596
+ const target = select(targetSelector);
3597
+ if (!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.`);
3598
+ return target;
3599
+ }
3540
3600
  } else {
3541
- const target = select(targetSelector);
3542
- if (!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.`);
3543
- return target;
3544
- }
3545
- else {
3546
3601
  if (!targetSelector && !isTeleportDisabled(props)) warn$1(`Invalid Teleport target: ${targetSelector}`);
3547
3602
  return targetSelector;
3548
3603
  }
@@ -3580,7 +3635,8 @@ const TeleportImpl = {
3580
3635
  if (pendingMounts.get(vnode) !== mountJob) return;
3581
3636
  pendingMounts.delete(vnode);
3582
3637
  if (isTeleportDisabled(vnode.props)) {
3583
- mount(vnode, parentNode(vnode.el) || container, vnode.anchor);
3638
+ const mountContainer = parentNode(vnode.el) || container;
3639
+ mount(vnode, mountContainer, vnode.anchor);
3584
3640
  updateCssVars(vnode, true);
3585
3641
  }
3586
3642
  mountToTarget(vnode);
@@ -3689,15 +3745,17 @@ function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScope
3689
3745
  const disabled = isTeleportDisabled(vnode.props);
3690
3746
  if (target) {
3691
3747
  const targetNode = target._lpa || target.firstChild;
3692
- if (vnode.shapeFlag & 16) if (disabled) {
3693
- hydrateDisabledTeleport(node, vnode);
3694
- hydrateAnchor(target, targetNode);
3695
- if (!vnode.targetAnchor) prepareAnchor(target, vnode, createText, insert, parentNode(node) === target ? node : null);
3696
- } else {
3697
- vnode.anchor = nextSibling(node);
3698
- hydrateAnchor(target, targetNode);
3699
- if (!vnode.targetAnchor) prepareAnchor(target, vnode, createText, insert);
3700
- hydrateChildren(targetNode && nextSibling(targetNode), vnode, target, parentComponent, parentSuspense, slotScopeIds, optimized);
3748
+ if (vnode.shapeFlag & 16) {
3749
+ if (disabled) {
3750
+ hydrateDisabledTeleport(node, vnode);
3751
+ hydrateAnchor(target, targetNode);
3752
+ if (!vnode.targetAnchor) prepareAnchor(target, vnode, createText, insert, parentNode(node) === target ? node : null);
3753
+ } else {
3754
+ vnode.anchor = nextSibling(node);
3755
+ hydrateAnchor(target, targetNode);
3756
+ if (!vnode.targetAnchor) prepareAnchor(target, vnode, createText, insert);
3757
+ hydrateChildren(targetNode && nextSibling(targetNode), vnode, target, parentComponent, parentSuspense, slotScopeIds, optimized);
3758
+ }
3701
3759
  }
3702
3760
  updateCssVars(vnode, disabled);
3703
3761
  } else if (disabled) {
@@ -3864,8 +3922,10 @@ function baseResolveTransitionHooks(context, props, state, instance) {
3864
3922
  persisted,
3865
3923
  beforeEnter(el) {
3866
3924
  let hook = onBeforeEnter;
3867
- if (!state.isMounted) if (appear) hook = onBeforeAppear || onBeforeEnter;
3868
- else return;
3925
+ if (!state.isMounted) {
3926
+ if (appear) hook = onBeforeAppear || onBeforeEnter;
3927
+ else return;
3928
+ }
3869
3929
  if (el[leaveCbKey]) el[leaveCbKey](true);
3870
3930
  earlyRemove();
3871
3931
  callHook(hook, [el]);
@@ -3875,11 +3935,13 @@ function baseResolveTransitionHooks(context, props, state, instance) {
3875
3935
  let hook = onEnter;
3876
3936
  let afterHook = onAfterEnter;
3877
3937
  let cancelHook = onEnterCancelled;
3878
- if (!state.isMounted) if (appear) {
3879
- hook = onAppear || onEnter;
3880
- afterHook = onAfterAppear || onAfterEnter;
3881
- cancelHook = onAppearCancelled || onEnterCancelled;
3882
- } else return;
3938
+ if (!state.isMounted) {
3939
+ if (appear) {
3940
+ hook = onAppear || onEnter;
3941
+ afterHook = onAfterAppear || onAfterEnter;
3942
+ cancelHook = onAppearCancelled || onEnterCancelled;
3943
+ } else return;
3944
+ }
3883
3945
  let called = false;
3884
3946
  el[enterCbKey$1] = (cancelled) => {
3885
3947
  if (called) return;
@@ -4045,9 +4107,9 @@ function checkTransitionMode(mode) {
4045
4107
  }
4046
4108
  //#endregion
4047
4109
  //#region packages/runtime-core/src/apiDefineComponent.ts
4048
- /* @__NO_SIDE_EFFECTS__ */
4110
+ /*@__NO_SIDE_EFFECTS__*/
4049
4111
  function defineComponent(options, extraOptions) {
4050
- return isFunction(options) ? extend({ name: options.name }, extraOptions, { setup: options }) : options;
4112
+ return isFunction(options) ? /*@__PURE__*/ (() => extend({ name: options.name }, extraOptions, { setup: options }))() : options;
4051
4113
  }
4052
4114
  //#endregion
4053
4115
  //#region packages/runtime-core/src/helpers/useId.ts
@@ -4144,15 +4206,16 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
4144
4206
  if (rawRef.f) {
4145
4207
  const existing = _isString ? canSetSetupRef(ref) ? setupState[ref] : refs[ref] : canSetRef(ref) || !rawRef.k ? ref.value : refs[rawRef.k];
4146
4208
  if (isUnmount) isArray(existing) && remove(existing, refValue);
4147
- else if (!isArray(existing)) if (_isString) {
4148
- refs[ref] = [refValue];
4149
- if (canSetSetupRef(ref)) setupState[ref] = refs[ref];
4150
- } else {
4151
- const newVal = [refValue];
4152
- if (canSetRef(ref, rawRef.k)) ref.value = newVal;
4153
- if (rawRef.k) refs[rawRef.k] = newVal;
4154
- }
4155
- else if (!existing.includes(refValue)) existing.push(refValue);
4209
+ else if (!isArray(existing)) {
4210
+ if (_isString) {
4211
+ refs[ref] = [refValue];
4212
+ if (canSetSetupRef(ref)) setupState[ref] = refs[ref];
4213
+ } else {
4214
+ const newVal = [refValue];
4215
+ if (canSetRef(ref, rawRef.k)) ref.value = newVal;
4216
+ if (rawRef.k) refs[rawRef.k] = newVal;
4217
+ }
4218
+ } else if (!existing.includes(refValue)) existing.push(refValue);
4156
4219
  } else if (_isString) {
4157
4220
  refs[ref] = value;
4158
4221
  if (canSetSetupRef(ref)) setupState[ref] = value;
@@ -4204,7 +4267,18 @@ const logMismatchError = () => {
4204
4267
  hasLoggedMismatchError = true;
4205
4268
  };
4206
4269
  const isSVGContainer = (container) => container.namespaceURI.includes("svg") && container.tagName !== "foreignObject";
4207
- const isMathMLContainer = (container) => container.namespaceURI.includes("MathML");
4270
+ const isMathMLContainer = (container) => {
4271
+ if (!container.namespaceURI.includes("MathML")) return false;
4272
+ if (container.tagName !== "annotation-xml") return true;
4273
+ const encoding = container.getAttribute("encoding");
4274
+ return !encoding || !encoding.includes("html");
4275
+ };
4276
+ /**
4277
+ * Resolve the element namespace a container's children should be created in.
4278
+ * The live DOM is the source of truth, so this also covers containers that are
4279
+ * only known at runtime (interop boundaries, teleport targets).
4280
+ * @internal
4281
+ */
4208
4282
  const getContainerType = (container) => {
4209
4283
  if (container.nodeType !== 1) return void 0;
4210
4284
  if (isSVGContainer(container)) return "svg";
@@ -4242,11 +4316,12 @@ function createHydrationFunctions(rendererInternals) {
4242
4316
  let nextNode = null;
4243
4317
  switch (type) {
4244
4318
  case Text:
4245
- if (domType !== 3) if (vnode.children === "") {
4246
- insert(vnode.el = createText(""), parentNode(node), node);
4247
- nextNode = node;
4248
- } else nextNode = onMismatch();
4249
- else {
4319
+ if (domType !== 3) {
4320
+ if (vnode.children === "") {
4321
+ insert(vnode.el = createText(""), parentNode(node), node);
4322
+ nextNode = node;
4323
+ } else nextNode = onMismatch();
4324
+ } else {
4250
4325
  if (node.data !== vnode.children) {
4251
4326
  warn$1(`Hydration text mismatch in`, node.parentNode, `\n - rendered on server: ${JSON.stringify(node.data)}\n - expected on client: ${JSON.stringify(vnode.children)}`);
4252
4327
  logMismatchError();
@@ -4283,11 +4358,12 @@ function createHydrationFunctions(rendererInternals) {
4283
4358
  else nextNode = hydrateFragment(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized);
4284
4359
  break;
4285
4360
  case VaporSlot:
4286
- nextNode = getVaporInterface(parentComponent, vnode).hydrateSlot(vnode, node, parentComponent, parentSuspense);
4361
+ nextNode = getVaporInterface(parentComponent, vnode).hydrateSlot(vnode, node, parentComponent, parentSuspense, slotScopeIds);
4287
4362
  break;
4288
- default: if (shapeFlag & 1) if ((domType !== 1 || vnode.type.toLowerCase() !== node.tagName.toLowerCase()) && !isTemplateNode$1(node)) nextNode = onMismatch();
4289
- else nextNode = hydrateElement(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized);
4290
- else if (shapeFlag & 6) {
4363
+ default: if (shapeFlag & 1) {
4364
+ if ((domType !== 1 || vnode.type.toLowerCase() !== node.tagName.toLowerCase()) && !isTemplateNode$1(node)) nextNode = onMismatch();
4365
+ else nextNode = hydrateElement(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized);
4366
+ } else if (shapeFlag & 6) {
4291
4367
  vnode.slotScopeIds = slotScopeIds;
4292
4368
  const container = parentNode(node);
4293
4369
  if (isFragmentStart) nextNode = locateClosingAnchor(node);
@@ -4309,19 +4385,20 @@ function createHydrationFunctions(rendererInternals) {
4309
4385
  } else {
4310
4386
  mountComponent(vnode, container, null, parentComponent, parentSuspense, getContainerType(container), optimized);
4311
4387
  const component = vnode.component;
4312
- if (isAsyncWrapper(vnode) && !vnode.type.__asyncResolved || component.asyncDep && !component.asyncResolved) {
4388
+ if (!component.subTree && (isAsyncWrapper(vnode) || component.asyncDep && !component.asyncResolved)) {
4313
4389
  let subTree;
4314
4390
  if (isFragmentStart) {
4315
- subTree = createVNode(Fragment);
4391
+ subTree = createVNode(Static);
4316
4392
  subTree.anchor = nextNode ? nextNode.previousSibling : container.lastChild;
4317
4393
  } else subTree = node.nodeType === 3 ? createTextVNode("") : createVNode("div");
4318
4394
  subTree.el = node;
4319
4395
  component.subTree = subTree;
4320
4396
  }
4321
4397
  }
4322
- } else if (shapeFlag & 64) if (domType !== 8) nextNode = onMismatch();
4323
- else nextNode = vnode.type.hydrate(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, rendererInternals, hydrateChildren);
4324
- else if (shapeFlag & 128) nextNode = vnode.type.hydrate(node, vnode, parentComponent, parentSuspense, getContainerType(parentNode(node)), slotScopeIds, optimized, rendererInternals, hydrateNode);
4398
+ } else if (shapeFlag & 64) {
4399
+ if (domType !== 8) nextNode = onMismatch();
4400
+ else nextNode = vnode.type.hydrate(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, rendererInternals, hydrateChildren);
4401
+ } else if (shapeFlag & 128) nextNode = vnode.type.hydrate(node, vnode, parentComponent, parentSuspense, getContainerType(parentNode(node)), slotScopeIds, optimized, rendererInternals, hydrateNode);
4325
4402
  else warn$1("Invalid HostVNode type:", type, `(${typeof type})`);
4326
4403
  }
4327
4404
  if (ref != null) setRef(ref, null, parentSuspense, vnode);
@@ -4450,7 +4527,7 @@ function createHydrationFunctions(rendererInternals) {
4450
4527
  const container = parentNode(node);
4451
4528
  remove(node);
4452
4529
  patch(null, vnode, container, next, parentComponent, parentSuspense, getContainerType(container), slotScopeIds);
4453
- if (parentComponent) {
4530
+ if (parentComponent && parentComponent.vnode) {
4454
4531
  parentComponent.vnode.el = vnode.el;
4455
4532
  updateHOCHostEl(parentComponent, vnode.el);
4456
4533
  }
@@ -4462,8 +4539,10 @@ function createHydrationFunctions(rendererInternals) {
4462
4539
  node = nextSibling(node);
4463
4540
  if (node && isComment(node)) {
4464
4541
  if (node.data === open) match++;
4465
- if (node.data === close) if (match === 0) return nextSibling(node);
4466
- else match--;
4542
+ if (node.data === close) {
4543
+ if (match === 0) return nextSibling(node);
4544
+ else match--;
4545
+ }
4467
4546
  }
4468
4547
  }
4469
4548
  return node;
@@ -4473,7 +4552,7 @@ function createHydrationFunctions(rendererInternals) {
4473
4552
  if (parentNode) parentNode.replaceChild(newNode, oldNode);
4474
4553
  let parent = parentComponent;
4475
4554
  while (parent) {
4476
- if (parent.vnode.el === oldNode) parent.vnode.el = parent.subTree.el = newNode;
4555
+ if (parent.vnode && parent.vnode.el === oldNode) parent.vnode.el = parent.subTree.el = newNode;
4477
4556
  parent = parent.parent;
4478
4557
  }
4479
4558
  };
@@ -4485,7 +4564,7 @@ const isTemplateNode$1 = (node) => {
4485
4564
  /**
4486
4565
  * Dev only
4487
4566
  */
4488
- const resourceProps = /* @__PURE__ */ new Set([
4567
+ const resourceProps = /*@__PURE__*/ new Set([
4489
4568
  "src",
4490
4569
  "srcset",
4491
4570
  "href",
@@ -4727,7 +4806,7 @@ function forEachElement(node, cb) {
4727
4806
  //#endregion
4728
4807
  //#region packages/runtime-core/src/apiAsyncComponent.ts
4729
4808
  const isAsyncWrapper = (i) => !!i.type.__asyncLoader;
4730
- /* @__NO_SIDE_EFFECTS__ */
4809
+ /*@__NO_SIDE_EFFECTS__*/
4731
4810
  function defineAsyncComponent(source) {
4732
4811
  const { load, getResolvedComp, setPendingRequest, source: { loadingComponent, errorComponent, delay, hydrate: hydrateStrategy, timeout, suspensible = true } } = createAsyncComponentContext(source);
4733
4812
  return /* @__PURE__ */ defineComponent({
@@ -4942,10 +5021,13 @@ const KeepAliveImpl = {
4942
5021
  });
4943
5022
  let pendingCacheKey = null;
4944
5023
  const cacheSubtree = () => {
4945
- if (pendingCacheKey != null) if (isSuspense(keepAliveInstance.subTree.type)) queuePostRenderEffect(() => {
4946
- cache.set(pendingCacheKey, getInnerChild(keepAliveInstance.subTree));
4947
- }, void 0, keepAliveInstance.subTree.suspense);
4948
- else cache.set(pendingCacheKey, getInnerChild(keepAliveInstance.subTree));
5024
+ if (pendingCacheKey != null) {
5025
+ if (isSuspense(keepAliveInstance.subTree.type)) queuePostRenderEffect(() => {
5026
+ const vnode = getInnerChild(keepAliveInstance.subTree);
5027
+ if (vnode.component) cache.set(pendingCacheKey, vnode);
5028
+ }, void 0, keepAliveInstance.subTree.suspense);
5029
+ else cache.set(pendingCacheKey, getInnerChild(keepAliveInstance.subTree));
5030
+ }
4949
5031
  };
4950
5032
  onMounted(cacheSubtree);
4951
5033
  onUpdated(cacheSubtree);
@@ -5016,7 +5098,7 @@ const decorate$2 = (t) => {
5016
5098
  t.__isBuiltIn = true;
5017
5099
  return t;
5018
5100
  };
5019
- const KeepAlive = /* @__PURE__ */ decorate$2(KeepAliveImpl);
5101
+ const KeepAlive = /*@__PURE__*/ decorate$2(KeepAliveImpl);
5020
5102
  function matches(pattern, name) {
5021
5103
  if (isArray(pattern)) return pattern.some((p) => matches(p, name));
5022
5104
  else if (isString(pattern)) return pattern.split(",").includes(name);
@@ -5232,16 +5314,17 @@ function compatH(type, propsOrChildren, children) {
5232
5314
  }
5233
5315
  const l = arguments.length;
5234
5316
  const is2ndArgArrayChildren = isArray(propsOrChildren);
5235
- if (l === 2 || is2ndArgArrayChildren) if (isObject(propsOrChildren) && !is2ndArgArrayChildren) {
5236
- if (isVNode(propsOrChildren)) return convertLegacySlots(createVNode(type, null, [propsOrChildren]));
5237
- return convertLegacySlots(convertLegacyDirectives(createVNode(type, convertLegacyProps(propsOrChildren, type)), propsOrChildren));
5238
- } else return convertLegacySlots(createVNode(type, null, propsOrChildren));
5239
- else {
5317
+ if (l === 2 || is2ndArgArrayChildren) {
5318
+ if (isObject(propsOrChildren) && !is2ndArgArrayChildren) {
5319
+ if (isVNode(propsOrChildren)) return convertLegacySlots(createVNode(type, null, [propsOrChildren]));
5320
+ return convertLegacySlots(convertLegacyDirectives(createVNode(type, convertLegacyProps(propsOrChildren, type)), propsOrChildren));
5321
+ } else return convertLegacySlots(createVNode(type, null, propsOrChildren));
5322
+ } else {
5240
5323
  if (isVNode(children)) children = [children];
5241
5324
  return convertLegacySlots(convertLegacyDirectives(createVNode(type, convertLegacyProps(propsOrChildren, type), children), propsOrChildren));
5242
5325
  }
5243
5326
  }
5244
- const skipLegacyRootLevelProps = /* @__PURE__ */ makeMap("staticStyle,staticClass,directives,model,hook");
5327
+ const skipLegacyRootLevelProps = /*@__PURE__*/ makeMap("staticStyle,staticClass,directives,model,hook");
5245
5328
  function convertLegacyProps(legacyProps, type) {
5246
5329
  if (!legacyProps) return null;
5247
5330
  const converted = {};
@@ -5253,8 +5336,10 @@ function convertLegacyProps(legacyProps, type) {
5253
5336
  if (key === "nativeOn") handlerKey += `Native`;
5254
5337
  const existing = converted[handlerKey];
5255
5338
  const incoming = listeners[event];
5256
- if (existing !== incoming) if (existing) converted[handlerKey] = [].concat(existing, incoming);
5257
- else converted[handlerKey] = incoming;
5339
+ if (existing !== incoming) {
5340
+ if (existing) converted[handlerKey] = [].concat(existing, incoming);
5341
+ else converted[handlerKey] = incoming;
5342
+ }
5258
5343
  }
5259
5344
  } else if (!skipLegacyRootLevelProps(key)) converted[key] = legacyProps[key];
5260
5345
  if (legacyProps.staticClass) converted.class = normalizeClass([legacyProps.staticClass, converted.class]);
@@ -5353,7 +5438,7 @@ function convertLegacyFunctionalComponent(comp) {
5353
5438
  const legacyFn = comp.render;
5354
5439
  const Func = (props, ctx) => {
5355
5440
  const instance = getCurrentInstance();
5356
- return legacyFn(compatH, {
5441
+ const legacyCtx = {
5357
5442
  props,
5358
5443
  children: instance.vnode.children || [],
5359
5444
  data: instance.vnode.props || {},
@@ -5373,7 +5458,8 @@ function convertLegacyFunctionalComponent(comp) {
5373
5458
  }
5374
5459
  return {};
5375
5460
  }
5376
- });
5461
+ };
5462
+ return legacyFn(compatH, legacyCtx);
5377
5463
  };
5378
5464
  Func.props = comp.props;
5379
5465
  Func.displayName = comp.name;
@@ -5402,23 +5488,25 @@ function renderList(source, renderItem, cache, index) {
5402
5488
  }
5403
5489
  ret = new Array(source.length);
5404
5490
  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]);
5405
- } else if (typeof source === "number") if (!Number.isInteger(source) || source < 0) {
5406
- warn$1(`The v-for range expects a positive integer value but got ${source}.`);
5407
- ret = [];
5408
- } else {
5409
- ret = new Array(source);
5410
- for (let i = 0; i < source; i++) ret[i] = renderItem(i + 1, i, void 0, cached && cached[i]);
5411
- }
5412
- else if (isObject(source)) if (source[Symbol.iterator]) ret = Array.from(source, (item, i) => renderItem(item, i, void 0, cached && cached[i]));
5413
- else {
5414
- const keys = Object.keys(source);
5415
- ret = new Array(keys.length);
5416
- for (let i = 0, l = keys.length; i < l; i++) {
5417
- const key = keys[i];
5418
- ret[i] = renderItem(source[key], key, i, cached && cached[i]);
5491
+ } else if (typeof source === "number") {
5492
+ if (!Number.isInteger(source) || source < 0) {
5493
+ warn$1(`The v-for range expects a positive integer value but got ${source}.`);
5494
+ ret = [];
5495
+ } else {
5496
+ ret = new Array(source);
5497
+ for (let i = 0; i < source; i++) ret[i] = renderItem(i + 1, i, void 0, cached && cached[i]);
5419
5498
  }
5420
- }
5421
- else ret = [];
5499
+ } else if (isObject(source)) {
5500
+ if (source[Symbol.iterator]) ret = Array.from(source, (item, i) => renderItem(item, i, void 0, cached && cached[i]));
5501
+ else {
5502
+ const keys = Object.keys(source);
5503
+ ret = new Array(keys.length);
5504
+ for (let i = 0, l = keys.length; i < l; i++) {
5505
+ const key = keys[i];
5506
+ ret[i] = renderItem(source[key], key, i, cached && cached[i]);
5507
+ }
5508
+ }
5509
+ } else ret = [];
5422
5510
  if (cache) cache[index] = ret;
5423
5511
  return ret;
5424
5512
  }
@@ -5443,14 +5531,27 @@ function createSlots(slots, dynamicSlots) {
5443
5531
  //#endregion
5444
5532
  //#region packages/runtime-core/src/helpers/renderSlot.ts
5445
5533
  /**
5534
+ * Links a slot function to its raw vapor slot: a raw vapor slot carries
5535
+ * itself, and the wrapper the interop slots proxy hands out carries the raw
5536
+ * slot it wraps — one lookup answers both "is this a vapor slot" and
5537
+ * "which one". Internal to vapor interop.
5538
+ */
5539
+ const rawVaporSlotKey = Symbol(`rawVaporSlot`);
5540
+ /**
5541
+ * Marks a compiler-generated slot fallback as VDOM-rendered so the vapor
5542
+ * interop fallback chain renders it through the VDOM renderer. Internal to
5543
+ * vapor interop.
5544
+ */
5545
+ const vdomSlotFallbackKey = Symbol(`vdomSlotFallback`);
5546
+ /**
5446
5547
  * Compiler runtime helper for rendering `<slot/>`
5447
5548
  * @private
5448
5549
  */
5449
5550
  function renderSlot(slots, name, props, fallback, noSlotted, branchKey) {
5450
5551
  if (props == null) props = {};
5451
5552
  let slot = slots[name];
5452
- if (fallback) fallback.__vdom = true;
5453
- const vaporSlot = slot && (slot.__vs || (slot.__vapor ? slot : null));
5553
+ if (fallback) fallback[vdomSlotFallbackKey] = true;
5554
+ const vaporSlot = slot && slot[rawVaporSlotKey];
5454
5555
  if (vaporSlot) {
5455
5556
  const ret = (openBlock(), createBlock(VaporSlot, props));
5456
5557
  ret.vs = {
@@ -5558,12 +5659,14 @@ function legacyResolveScopedSlots(fns, raw, hasDynamicKeys) {
5558
5659
  function mapKeyToName(slots) {
5559
5660
  for (let i = 0; i < slots.length; i++) {
5560
5661
  const fn = slots[i];
5561
- if (fn) if (isArray(fn)) mapKeyToName(fn);
5562
- else fn.name = fn.key || "default";
5662
+ if (fn) {
5663
+ if (isArray(fn)) mapKeyToName(fn);
5664
+ else fn.name = fn.key || "default";
5665
+ }
5563
5666
  }
5564
5667
  return slots;
5565
5668
  }
5566
- const staticCacheMap = /* @__PURE__ */ new WeakMap();
5669
+ const staticCacheMap = /*@__PURE__*/ new WeakMap();
5567
5670
  function legacyRenderStatic(instance, index) {
5568
5671
  let cache = staticCacheMap.get(instance);
5569
5672
  if (!cache) staticCacheMap.set(instance, cache = []);
@@ -5696,11 +5799,38 @@ const getPublicInstance = (i) => {
5696
5799
  if (isStatefulComponent(i)) return getComponentPublicInstance(i);
5697
5800
  return getPublicInstance(i.parent);
5698
5801
  };
5802
+ const resolveDevRootEl = (vnode) => {
5803
+ let found = false;
5804
+ while (true) {
5805
+ if (vnode.patchFlag > 0 && vnode.patchFlag & 2048) {
5806
+ const root = filterSingleRoot(vnode.children);
5807
+ if (!root) return;
5808
+ vnode = root;
5809
+ found = true;
5810
+ continue;
5811
+ }
5812
+ const component = vnode.component;
5813
+ if (component && component.subTree) {
5814
+ vnode = component.subTree;
5815
+ continue;
5816
+ }
5817
+ const suspense = vnode.suspense;
5818
+ if (suspense && suspense.activeBranch) {
5819
+ vnode = suspense.activeBranch;
5820
+ continue;
5821
+ }
5822
+ return found ? vnode.el : void 0;
5823
+ }
5824
+ };
5825
+ const getDevRootFragmentEl = (i) => {
5826
+ const el = i.subTree && resolveDevRootEl(i.subTree);
5827
+ return el === void 0 ? i.vnode.el : el;
5828
+ };
5699
5829
  let publicPropertiesMap;
5700
5830
  const getPublicPropertiesMap = () => {
5701
5831
  if (!publicPropertiesMap) publicPropertiesMap = extend(Object.create(null), {
5702
5832
  $: (i) => i,
5703
- $el: (i) => i.vnode.el,
5833
+ $el: (i) => getDevRootFragmentEl(i),
5704
5834
  $data: (i) => i.data,
5705
5835
  $props: (i) => /* @__PURE__ */ shallowReadonly(i.props),
5706
5836
  $attrs: (i) => /* @__PURE__ */ shallowReadonly(i.attrs),
@@ -5813,7 +5943,7 @@ PublicInstanceProxyHandlers.ownKeys = (target) => {
5813
5943
  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.");
5814
5944
  return Reflect.ownKeys(target);
5815
5945
  };
5816
- const RuntimeCompiledPublicInstanceProxyHandlers = /* @__PURE__ */ extend({}, PublicInstanceProxyHandlers, {
5946
+ const RuntimeCompiledPublicInstanceProxyHandlers = /*@__PURE__*/ extend({}, PublicInstanceProxyHandlers, {
5817
5947
  get(target, key) {
5818
5948
  if (key === Symbol.unscopables) return;
5819
5949
  return PublicInstanceProxyHandlers.get(target, key, target);
@@ -5998,12 +6128,13 @@ function mergeDefaults(raw, defaults) {
5998
6128
  for (const key in defaults) {
5999
6129
  if (key.startsWith("__skip")) continue;
6000
6130
  let opt = props[key];
6001
- if (opt) if (isArray(opt) || isFunction(opt)) opt = props[key] = {
6002
- type: opt,
6003
- default: defaults[key]
6004
- };
6005
- else opt.default = defaults[key];
6006
- else if (opt === null) opt = props[key] = { default: defaults[key] };
6131
+ if (opt) {
6132
+ if (isArray(opt) || isFunction(opt)) opt = props[key] = {
6133
+ type: opt,
6134
+ default: defaults[key]
6135
+ };
6136
+ else opt.default = defaults[key];
6137
+ } else if (opt === null) opt = props[key] = { default: defaults[key] };
6007
6138
  else warn$1(`props default key "${key}" has no corresponding declaration.`);
6008
6139
  if (opt && defaults[`__skip_${key}`]) opt.skipFactory = true;
6009
6140
  }
@@ -6146,11 +6277,12 @@ function applyOptions(instance) {
6146
6277
  const opt = computedOptions[key];
6147
6278
  const get = isFunction(opt) ? opt.bind(publicThis, publicThis) : isFunction(opt.get) ? opt.get.bind(publicThis, publicThis) : NOOP;
6148
6279
  if (get === NOOP) warn$1(`Computed property "${key}" has no getter.`);
6280
+ const set = !isFunction(opt) && isFunction(opt.set) ? opt.set.bind(publicThis) : () => {
6281
+ warn$1(`Write operation failed: computed property "${key}" is readonly.`);
6282
+ };
6149
6283
  const c = computed({
6150
6284
  get,
6151
- set: !isFunction(opt) && isFunction(opt.set) ? opt.set.bind(publicThis) : () => {
6152
- warn$1(`Write operation failed: computed property "${key}" is readonly.`);
6153
- }
6285
+ set
6154
6286
  });
6155
6287
  Object.defineProperty(ctx, key, {
6156
6288
  enumerable: true,
@@ -6209,9 +6341,10 @@ function resolveInjections(injectOptions, ctx, checkDuplicateProperties = NOOP)
6209
6341
  for (const key in injectOptions) {
6210
6342
  const opt = injectOptions[key];
6211
6343
  let injected;
6212
- if (isObject(opt)) if ("default" in opt) injected = inject(opt.from || key, opt.default, true);
6213
- else injected = inject(opt.from || key);
6214
- else injected = inject(opt);
6344
+ if (isObject(opt)) {
6345
+ if ("default" in opt) injected = inject(opt.from || key, opt.default, true);
6346
+ else injected = inject(opt.from || key);
6347
+ } else injected = inject(opt);
6215
6348
  if (/* @__PURE__ */ isRef(injected)) Object.defineProperty(ctx, key, {
6216
6349
  enumerable: true,
6217
6350
  configurable: true,
@@ -6231,7 +6364,8 @@ function createWatcher(raw, ctx, publicThis, key) {
6231
6364
  {
6232
6365
  const cur = getCurrentInstance();
6233
6366
  const instance = cur && getCurrentScope() === cur.scope ? cur : null;
6234
- if (isArray(getter()) && isCompatEnabled$1("WATCH_ARRAY", instance)) options.deep = true;
6367
+ const newValue = getter();
6368
+ if (isArray(newValue) && isCompatEnabled$1("WATCH_ARRAY", instance)) options.deep = true;
6235
6369
  const baseGetter = getter;
6236
6370
  getter = () => {
6237
6371
  const val = baseGetter();
@@ -6244,13 +6378,14 @@ function createWatcher(raw, ctx, publicThis, key) {
6244
6378
  if (isFunction(handler)) watch(getter, handler, options);
6245
6379
  else warn$1(`Invalid watch handler specified by key "${raw}"`, handler);
6246
6380
  } else if (isFunction(raw)) watch(getter, raw.bind(publicThis), options);
6247
- else if (isObject(raw)) if (isArray(raw)) raw.forEach((r) => createWatcher(r, ctx, publicThis, key));
6248
- else {
6249
- const handler = isFunction(raw.handler) ? raw.handler.bind(publicThis) : ctx[raw.handler];
6250
- if (isFunction(handler)) watch(getter, handler, extend(raw, options));
6251
- else warn$1(`Invalid watch handler specified by key "${raw.handler}"`, handler);
6252
- }
6253
- else warn$1(`Invalid watch option: "${key}"`, raw);
6381
+ else if (isObject(raw)) {
6382
+ if (isArray(raw)) raw.forEach((r) => createWatcher(r, ctx, publicThis, key));
6383
+ else {
6384
+ const handler = isFunction(raw.handler) ? raw.handler.bind(publicThis) : ctx[raw.handler];
6385
+ if (isFunction(handler)) watch(getter, handler, extend(raw, options));
6386
+ else warn$1(`Invalid watch handler specified by key "${raw.handler}"`, handler);
6387
+ }
6388
+ } else warn$1(`Invalid watch option: "${key}"`, raw);
6254
6389
  }
6255
6390
  /**
6256
6391
  * Resolve merged options and cache it on the component.
@@ -6264,12 +6399,13 @@ function resolveMergedOptions(instance) {
6264
6399
  const cached = cache.get(base);
6265
6400
  let resolved;
6266
6401
  if (cached) resolved = cached;
6267
- else if (!globalMixins.length && !mixins && !extendsOptions) if (isCompatEnabled$1("PRIVATE_APIS", instance)) {
6268
- resolved = extend({}, base);
6269
- resolved.parent = instance.parent && instance.parent.proxy;
6270
- resolved.propsData = instance.vnode.props;
6271
- } else resolved = base;
6272
- else {
6402
+ else if (!globalMixins.length && !mixins && !extendsOptions) {
6403
+ if (isCompatEnabled$1("PRIVATE_APIS", instance)) {
6404
+ resolved = extend({}, base);
6405
+ resolved.parent = instance.parent && instance.parent.proxy;
6406
+ resolved.propsData = instance.vnode.props;
6407
+ } else resolved = base;
6408
+ } else {
6273
6409
  resolved = {};
6274
6410
  if (globalMixins.length) globalMixins.forEach((m) => mergeOptions(resolved, m, optionMergeStrategies, true));
6275
6411
  mergeOptions(resolved, base, optionMergeStrategies);
@@ -6342,7 +6478,7 @@ function mergeObjectOptions(to, from) {
6342
6478
  }
6343
6479
  function mergeEmitsOrPropsOptions(to, from) {
6344
6480
  if (to) {
6345
- if (isArray(to) && isArray(from)) return [...new Set([...to, ...from])];
6481
+ if (isArray(to) && isArray(from)) return [.../* @__PURE__ */ new Set([...to, ...from])];
6346
6482
  return extend(Object.create(null), normalizePropsOrEmits(to), normalizePropsOrEmits(from !== null && from !== void 0 ? from : {}));
6347
6483
  } else return from;
6348
6484
  }
@@ -6403,7 +6539,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
6403
6539
  if (options.el) return vm.$mount(options.el);
6404
6540
  else return vm;
6405
6541
  }
6406
- Vue.version = `2.6.14-compat:3.6.0-rc.4`;
6542
+ Vue.version = `2.6.14-compat:3.6.0-rc.6`;
6407
6543
  Vue.config = singletonApp.config;
6408
6544
  Vue.use = (plugin, ...options) => {
6409
6545
  if (plugin && isFunction(plugin.install)) plugin.install(Vue, ...options);
@@ -6793,8 +6929,10 @@ function createAppAPI(mount, unmount, getPublicInstance, render) {
6793
6929
  } else warn$1(`Cannot unmount an app that is not mounted.`);
6794
6930
  },
6795
6931
  provide(key, value) {
6796
- if (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.`);
6797
- else warn$1(`App already provides property with key "${String(key)}" inherited from its parent element. It will be overwritten with the new value.`);
6932
+ if (key in context.provides) {
6933
+ if (hasOwn(context.provides, key)) warn$1(`App already provides property with key "${String(key)}". It will be overwritten with the new value.`);
6934
+ else warn$1(`App already provides property with key "${String(key)}" inherited from its parent element. It will be overwritten with the new value.`);
6935
+ }
6798
6936
  context.provides[key] = value;
6799
6937
  return app;
6800
6938
  },
@@ -6944,12 +7082,14 @@ function baseEmit(instance, props, getter, event, ...rawArgs) {
6944
7082
  if (instance.isUnmounted) return;
6945
7083
  {
6946
7084
  const { emitsOptions, propsOptions } = instance;
6947
- if (emitsOptions) if (!(event in emitsOptions) && !(event.startsWith("hook:") || event.startsWith(compatModelEventPrefix))) {
6948
- 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.`);
6949
- } else {
6950
- const validator = emitsOptions[event];
6951
- if (isFunction(validator)) {
6952
- if (!validator(...rawArgs)) warn$1(`Invalid event arguments: event validation failed for event "${event}".`);
7085
+ if (emitsOptions) {
7086
+ if (!(event in emitsOptions) && !(event.startsWith("hook:") || event.startsWith(compatModelEventPrefix))) {
7087
+ 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.`);
7088
+ } else {
7089
+ const validator = emitsOptions[event];
7090
+ if (isFunction(validator)) {
7091
+ if (!validator(...rawArgs)) warn$1(`Invalid event arguments: event validation failed for event "${event}".`);
7092
+ }
6953
7093
  }
6954
7094
  }
6955
7095
  }
@@ -6959,7 +7099,7 @@ function baseEmit(instance, props, getter, event, ...rawArgs) {
6959
7099
  const modifiers = isCompatModelListener ? props.modelModifiers : isModelListener && getModelModifiers(props, event.slice(7), getter);
6960
7100
  if (modifiers) {
6961
7101
  if (modifiers.trim) args = rawArgs.map((a) => isString(a) ? a.trim() : a);
6962
- if (modifiers.number) args = rawArgs.map(looseToNumber);
7102
+ if (modifiers.number) args = args.map(looseToNumber);
6963
7103
  }
6964
7104
  devtoolsComponentEmit(instance, event, args);
6965
7105
  {
@@ -7154,10 +7294,12 @@ function filterSingleRoot(children, recurse = true) {
7154
7294
  for (let i = 0; i < children.length; i++) {
7155
7295
  const child = children[i];
7156
7296
  if (isVNode(child)) {
7157
- if (child.type !== Comment || child.children === "v-if") if (singleRoot) return;
7158
- else {
7159
- singleRoot = child;
7160
- if (recurse && singleRoot.patchFlag > 0 && singleRoot.patchFlag & 2048) return filterSingleRoot(singleRoot.children);
7297
+ if (child.type !== Comment || child.children === "v-if") {
7298
+ if (singleRoot) return;
7299
+ else {
7300
+ singleRoot = child;
7301
+ if (recurse && singleRoot.patchFlag > 0 && singleRoot.patchFlag & 2048) return filterSingleRoot(singleRoot.children);
7302
+ }
7161
7303
  }
7162
7304
  } else return;
7163
7305
  }
@@ -7302,16 +7444,17 @@ function updateProps(instance, rawProps, rawPrevProps, optimized) {
7302
7444
  let key = propsToUpdate[i];
7303
7445
  if (isEmitListener(instance.emitsOptions, key)) continue;
7304
7446
  const value = rawProps[key];
7305
- if (options) if (hasOwn(attrs, key)) {
7306
- if (value !== attrs[key]) {
7307
- attrs[key] = value;
7308
- hasAttrsChanged = true;
7447
+ if (options) {
7448
+ if (hasOwn(attrs, key)) {
7449
+ if (value !== attrs[key]) {
7450
+ attrs[key] = value;
7451
+ hasAttrsChanged = true;
7452
+ }
7453
+ } else {
7454
+ const camelizedKey = camelize(key);
7455
+ props[camelizedKey] = resolvePropValue(options, camelizedKey, value, instance, baseResolveDefault);
7309
7456
  }
7310
7457
  } else {
7311
- const camelizedKey = camelize(key);
7312
- props[camelizedKey] = resolvePropValue(options, camelizedKey, value, instance, baseResolveDefault);
7313
- }
7314
- else {
7315
7458
  if (isOn(key) && key.endsWith("Native")) key = key.slice(0, -6);
7316
7459
  else if (shouldSkipAttr(key, instance)) continue;
7317
7460
  if (value !== attrs[key]) {
@@ -7324,9 +7467,11 @@ function updateProps(instance, rawProps, rawPrevProps, optimized) {
7324
7467
  } else {
7325
7468
  if (setFullProps(instance, rawProps, props, attrs)) hasAttrsChanged = true;
7326
7469
  let kebabKey;
7327
- for (const key in rawCurrentProps) if (!rawProps || !hasOwn(rawProps, key) && ((kebabKey = hyphenate(key)) === key || !hasOwn(rawProps, kebabKey))) if (options) {
7328
- if (rawPrevProps && (rawPrevProps[key] !== void 0 || rawPrevProps[kebabKey] !== void 0)) props[key] = resolvePropValue(options, key, void 0, instance, baseResolveDefault, true);
7329
- } else delete props[key];
7470
+ for (const key in rawCurrentProps) if (!rawProps || !hasOwn(rawProps, key) && ((kebabKey = hyphenate(key)) === key || !hasOwn(rawProps, kebabKey))) {
7471
+ if (options) {
7472
+ if (rawPrevProps && (rawPrevProps[key] !== void 0 || rawPrevProps[kebabKey] !== void 0)) props[key] = resolvePropValue(options, key, void 0, instance, baseResolveDefault, true);
7473
+ } else delete props[key];
7474
+ }
7330
7475
  if (attrs !== rawCurrentProps) {
7331
7476
  for (const key in attrs) if (!rawProps || !hasOwn(rawProps, key) && !hasOwn(rawProps, key + "Native")) {
7332
7477
  delete attrs[key];
@@ -7347,9 +7492,10 @@ function setFullProps(instance, rawProps, props, attrs) {
7347
7492
  if (key === "inline-template") continue;
7348
7493
  const value = rawProps[key];
7349
7494
  let camelKey;
7350
- if (options && hasOwn(options, camelKey = camelize(key))) if (!needCastKeys || !needCastKeys.includes(camelKey)) props[camelKey] = value;
7351
- else (rawCastValues || (rawCastValues = {}))[camelKey] = value;
7352
- else if (!isEmitListener(instance.emitsOptions, key)) {
7495
+ if (options && hasOwn(options, camelKey = camelize(key))) {
7496
+ if (!needCastKeys || !needCastKeys.includes(camelKey)) props[camelKey] = value;
7497
+ else (rawCastValues || (rawCastValues = {}))[camelKey] = value;
7498
+ } else if (!isEmitListener(instance.emitsOptions, key)) {
7353
7499
  if (isOn(key) && key.endsWith("Native")) key = key.slice(0, -6);
7354
7500
  else if (shouldSkipAttr(key, instance)) continue;
7355
7501
  if (!(key in attrs) || value !== attrs[key]) {
@@ -7515,7 +7661,7 @@ function validateProp(key, value, propOptions, resolvedProps, isAbsent) {
7515
7661
  }
7516
7662
  if (validator && !validator(value, /* @__PURE__ */ shallowReadonly(resolvedProps))) warn$1("Invalid prop: custom validator check failed for prop \"" + key + "\".");
7517
7663
  }
7518
- const isSimpleType = /* @__PURE__ */ makeMap("String,Number,Boolean,Function,Symbol,BigInt");
7664
+ const isSimpleType = /*@__PURE__*/ makeMap("String,Number,Boolean,Function,Symbol,BigInt");
7519
7665
  /**
7520
7666
  * dev only
7521
7667
  */
@@ -7628,12 +7774,13 @@ const updateSlots = (instance, children, optimized) => {
7628
7774
  let deletionComparisonTarget = EMPTY_OBJ;
7629
7775
  if (vnode.shapeFlag & 32) {
7630
7776
  const type = children._;
7631
- if (type) if (isHmrUpdating) {
7632
- assignSlots(slots, children, optimized);
7633
- trigger(instance, "set", "$slots");
7634
- } else if (optimized && type === 1) needDeletionCheck = false;
7635
- else assignSlots(slots, children, optimized);
7636
- else {
7777
+ if (type) {
7778
+ if (isHmrUpdating) {
7779
+ assignSlots(slots, children, optimized);
7780
+ trigger(instance, "set", "$slots");
7781
+ } else if (optimized && type === 1) needDeletionCheck = false;
7782
+ else assignSlots(slots, children, optimized);
7783
+ } else {
7637
7784
  needDeletionCheck = !children.$stable;
7638
7785
  normalizeObjectSlots(children, slots, instance);
7639
7786
  }
@@ -7651,7 +7798,7 @@ const updateSlots = (instance, children, optimized) => {
7651
7798
  let supported;
7652
7799
  let perf;
7653
7800
  let cachedNow$1 = 0;
7654
- const p$1 = /* @__PURE__ */ Promise.resolve();
7801
+ const p$1 = /*@__PURE__*/ Promise.resolve();
7655
7802
  const getNow$1 = () => cachedNow$1 || (p$1.then(() => cachedNow$1 = 0), cachedNow$1 = isSupported() ? perf.now() : Date.now());
7656
7803
  /**
7657
7804
  * @internal
@@ -7748,7 +7895,7 @@ function baseCreateRenderer(options, createHydrationFns) {
7748
7895
  processFragment(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
7749
7896
  break;
7750
7897
  case VaporSlot:
7751
- getVaporInterface(parentComponent, n2).slot(n1, n2, container, anchor, parentComponent, parentSuspense);
7898
+ getVaporInterface(parentComponent, n2).slot(n1, n2, container, anchor, parentComponent, parentSuspense, slotScopeIds);
7752
7899
  break;
7753
7900
  default: if (shapeFlag & 1) processElement(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
7754
7901
  else if (shapeFlag & 6) processComponent(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
@@ -7867,7 +8014,10 @@ function baseCreateRenderer(options, createHydrationFns) {
7867
8014
  for (let i = 0; i < inheritedScopeIds.length; i++) hostSetScopeId(el, inheritedScopeIds[i]);
7868
8015
  };
7869
8016
  const mountChildren = (children, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, start = 0) => {
7870
- 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);
8017
+ for (let i = start; i < children.length; i++) {
8018
+ const child = children[i] = optimized ? cloneIfMounted(children[i]) : normalizeVNode(children[i]);
8019
+ patch(null, child, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
8020
+ }
7871
8021
  };
7872
8022
  const patchElement = (n1, n2, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {
7873
8023
  const el = n2.el = n1.el;
@@ -7879,6 +8029,7 @@ function baseCreateRenderer(options, createHydrationFns) {
7879
8029
  let vnodeHook;
7880
8030
  parentComponent && toggleRecurse(parentComponent, false);
7881
8031
  if (vnodeHook = newProps.onVnodeBeforeUpdate) invokeVNodeHook(vnodeHook, parentComponent, n2, n1);
8032
+ if (n2.ibu) n2.ibu();
7882
8033
  if (dirs) invokeDirectiveHook(n2, n1, parentComponent, "beforeUpdate");
7883
8034
  parentComponent && toggleRecurse(parentComponent, true);
7884
8035
  if (isHmrUpdating || dynamicChildren && (!n1.dynamicChildren || n1.dynamicChildren.length !== dynamicChildren.length)) {
@@ -7912,8 +8063,9 @@ function baseCreateRenderer(options, createHydrationFns) {
7912
8063
  if (n1.children !== n2.children) hostSetElementText(el, n2.children);
7913
8064
  }
7914
8065
  } else if (!optimized && dynamicChildren == null) patchProps(el, oldProps, newProps, parentComponent, namespace);
7915
- if ((vnodeHook = newProps.onVnodeUpdated) || dirs) queuePostRenderEffect(() => {
8066
+ if ((vnodeHook = newProps.onVnodeUpdated) || dirs || n2.iu) queuePostRenderEffect(() => {
7916
8067
  vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, n2, n1);
8068
+ n2.iu && n2.iu();
7917
8069
  dirs && invokeDirectiveHook(n2, n1, parentComponent, "updated");
7918
8070
  }, void 0, parentSuspense);
7919
8071
  };
@@ -7921,7 +8073,8 @@ function baseCreateRenderer(options, createHydrationFns) {
7921
8073
  for (let i = 0; i < newChildren.length; i++) {
7922
8074
  const oldVNode = oldChildren[i];
7923
8075
  const newVNode = newChildren[i];
7924
- patch(oldVNode, newVNode, oldVNode.el && (oldVNode.type === Fragment || !isSameVNodeType(oldVNode, newVNode) || oldVNode.shapeFlag & 198) ? hostParentNode(oldVNode.el) : fallbackContainer, null, parentComponent, parentSuspense, namespace, slotScopeIds, true);
8076
+ const container = oldVNode.el && (oldVNode.type === Fragment || !isSameVNodeType(oldVNode, newVNode) || oldVNode.shapeFlag & 198) ? hostParentNode(oldVNode.el) : fallbackContainer;
8077
+ patch(oldVNode, newVNode, container, null, parentComponent, parentSuspense, namespace, slotScopeIds, true);
7925
8078
  }
7926
8079
  };
7927
8080
  const patchProps = (el, oldProps, newProps, parentComponent, namespace) => {
@@ -7959,41 +8112,46 @@ function baseCreateRenderer(options, createHydrationFns) {
7959
8112
  };
7960
8113
  const processComponent = (n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {
7961
8114
  n2.slotScopeIds = slotScopeIds;
7962
- if (n2.type.__vapor) if (n1 == null) if (n2.shapeFlag & 512) getVaporInterface(parentComponent, n2).activate(n2, container, anchor, parentComponent, parentSuspense);
7963
- else {
7964
- const vnodeBeforeMountHook = !isAsyncWrapper(n2) && n2.props && n2.props.onVnodeBeforeMount;
7965
- getVaporInterface(parentComponent, n2).mount(n2, container, anchor, parentComponent, parentSuspense, () => {
7966
- if (n2.dirs) {
7967
- invokeDirectiveHook(n2, null, parentComponent, "created");
7968
- invokeDirectiveHook(n2, null, parentComponent, "beforeMount");
8115
+ if (n2.type.__vapor) {
8116
+ if (n1 == null) {
8117
+ if (n2.shapeFlag & 512) getVaporInterface(parentComponent, n2).activate(n2, container, anchor, parentComponent, parentSuspense);
8118
+ else {
8119
+ const vnodeBeforeMountHook = !isAsyncWrapper(n2) && n2.props && n2.props.onVnodeBeforeMount;
8120
+ getVaporInterface(parentComponent, n2).mount(n2, container, anchor, parentComponent, parentSuspense, () => {
8121
+ if (n2.dirs) {
8122
+ invokeDirectiveHook(n2, null, parentComponent, "created");
8123
+ invokeDirectiveHook(n2, null, parentComponent, "beforeMount");
8124
+ }
8125
+ }, () => {
8126
+ if (vnodeBeforeMountHook) invokeVNodeHook(vnodeBeforeMountHook, parentComponent, n2);
8127
+ });
8128
+ if (n2.dirs) queuePostRenderEffect(() => invokeDirectiveHook(n2, null, parentComponent, "mounted"), void 0, parentSuspense);
8129
+ const vnodeMountedHook = !isAsyncWrapper(n2) && n2.props && n2.props.onVnodeMounted;
8130
+ if (vnodeMountedHook) {
8131
+ const scopedVNode = n2;
8132
+ queuePostRenderEffect(() => invokeVNodeHook(vnodeMountedHook, parentComponent, scopedVNode), void 0, parentSuspense);
8133
+ }
7969
8134
  }
7970
- }, () => {
7971
- if (vnodeBeforeMountHook) invokeVNodeHook(vnodeBeforeMountHook, parentComponent, n2);
7972
- });
7973
- if (n2.dirs) queuePostRenderEffect(() => invokeDirectiveHook(n2, null, parentComponent, "mounted"), void 0, parentSuspense);
7974
- const vnodeMountedHook = !isAsyncWrapper(n2) && n2.props && n2.props.onVnodeMounted;
7975
- if (vnodeMountedHook) {
7976
- const scopedVNode = n2;
7977
- queuePostRenderEffect(() => invokeVNodeHook(vnodeMountedHook, parentComponent, scopedVNode), void 0, parentSuspense);
8135
+ } else {
8136
+ const shouldUpdate = shouldUpdateComponent(n1, n2, optimized);
8137
+ getVaporInterface(parentComponent, n2).update(n1, n2, shouldUpdate, () => {
8138
+ if (n2.dirs) invokeDirectiveHook(n2, n1, parentComponent, "beforeUpdate");
8139
+ }, () => {
8140
+ const vnodeBeforeUpdateHook = n2.props && n2.props.onVnodeBeforeUpdate;
8141
+ if (vnodeBeforeUpdateHook) invokeVNodeHook(vnodeBeforeUpdateHook, parentComponent, n2, n1);
8142
+ if (n2.ibu) n2.ibu();
8143
+ });
8144
+ const vnodeUpdatedHook = n2.props && n2.props.onVnodeUpdated;
8145
+ if (shouldUpdate && (vnodeUpdatedHook || n2.dirs || n2.iu)) queuePostRenderEffect(() => {
8146
+ n2.dirs && invokeDirectiveHook(n2, n1, parentComponent, "updated");
8147
+ vnodeUpdatedHook && invokeVNodeHook(vnodeUpdatedHook, parentComponent, n2, n1);
8148
+ n2.iu && n2.iu();
8149
+ }, void 0, parentSuspense);
7978
8150
  }
7979
- }
7980
- else {
7981
- const shouldUpdate = shouldUpdateComponent(n1, n2, optimized);
7982
- getVaporInterface(parentComponent, n2).update(n1, n2, shouldUpdate, () => {
7983
- if (n2.dirs) invokeDirectiveHook(n2, n1, parentComponent, "beforeUpdate");
7984
- }, () => {
7985
- const vnodeBeforeUpdateHook = n2.props && n2.props.onVnodeBeforeUpdate;
7986
- if (vnodeBeforeUpdateHook) invokeVNodeHook(vnodeBeforeUpdateHook, parentComponent, n2, n1);
7987
- });
7988
- const vnodeUpdatedHook = n2.props && n2.props.onVnodeUpdated;
7989
- if (shouldUpdate && (vnodeUpdatedHook || n2.dirs)) queuePostRenderEffect(() => {
7990
- n2.dirs && invokeDirectiveHook(n2, n1, parentComponent, "updated");
7991
- vnodeUpdatedHook && invokeVNodeHook(vnodeUpdatedHook, parentComponent, n2, n1);
7992
- }, void 0, parentSuspense);
7993
- }
7994
- else if (n1 == null) if (n2.shapeFlag & 512) parentComponent.ctx.activate(n2, container, anchor, namespace, optimized);
7995
- else mountComponent(n2, container, anchor, parentComponent, parentSuspense, namespace, optimized);
7996
- else updateComponent(n1, n2, optimized);
8151
+ } else if (n1 == null) {
8152
+ if (n2.shapeFlag & 512) parentComponent.ctx.activate(n2, container, anchor, namespace, optimized);
8153
+ else mountComponent(n2, container, anchor, parentComponent, parentSuspense, namespace, optimized);
8154
+ } else updateComponent(n1, n2, optimized);
7997
8155
  };
7998
8156
  const mountComponent = (initialVNode, container, anchor, parentComponent, parentSuspense, namespace, optimized) => {
7999
8157
  const compatMountInstance = initialVNode.isCompatRoot && initialVNode.component;
@@ -8037,16 +8195,17 @@ function baseCreateRenderer(options, createHydrationFns) {
8037
8195
  };
8038
8196
  const updateComponent = (n1, n2, optimized) => {
8039
8197
  const instance = n2.component = n1.component;
8040
- if (shouldUpdateComponent(n1, n2, optimized)) if (instance.asyncDep && !instance.asyncResolved) {
8041
- pushWarningContext(n2);
8042
- updateComponentPreRender(instance, n2, optimized);
8043
- popWarningContext();
8044
- return;
8198
+ if (shouldUpdateComponent(n1, n2, optimized)) {
8199
+ if (instance.asyncDep && !instance.asyncResolved) {
8200
+ pushWarningContext(n2);
8201
+ updateComponentPreRender(instance, n2, optimized);
8202
+ popWarningContext();
8203
+ return;
8204
+ } else {
8205
+ instance.next = n2;
8206
+ instance.effect.run();
8207
+ }
8045
8208
  } else {
8046
- instance.next = n2;
8047
- instance.effect.run();
8048
- }
8049
- else {
8050
8209
  n2.el = n1.el;
8051
8210
  instance.vnode = n2;
8052
8211
  }
@@ -8149,6 +8308,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8149
8308
  } else next = vnode;
8150
8309
  if (bu) invokeArrayFns(bu);
8151
8310
  if (vnodeHook = next.props && next.props.onVnodeBeforeUpdate) invokeVNodeHook(vnodeHook, parent, next, vnode);
8311
+ if (next.ibu) next.ibu();
8152
8312
  if (isCompatEnabled$1("INSTANCE_EVENT_HOOKS", instance)) instance.emit("hook:beforeUpdate");
8153
8313
  toggleRecurse(instance, true);
8154
8314
  startMeasure(instance, `render`);
@@ -8162,7 +8322,10 @@ function baseCreateRenderer(options, createHydrationFns) {
8162
8322
  next.el = nextTree.el;
8163
8323
  if (originNext === null) updateHOCHostEl(instance, nextTree.el);
8164
8324
  if (u) queuePostRenderEffect(u, void 0, parentSuspense);
8165
- if (vnodeHook = next.props && next.props.onVnodeUpdated) queuePostRenderEffect(() => invokeVNodeHook(vnodeHook, parent, next, vnode), void 0, parentSuspense);
8325
+ if ((vnodeHook = next.props && next.props.onVnodeUpdated) || next.iu) queuePostRenderEffect(() => {
8326
+ vnodeHook && invokeVNodeHook(vnodeHook, parent, next, vnode);
8327
+ next.iu && next.iu();
8328
+ }, void 0, parentSuspense);
8166
8329
  if (isCompatEnabled$1("INSTANCE_EVENT_HOOKS", instance)) queuePostRenderEffect(() => instance.emit("hook:updated"), void 0, parentSuspense);
8167
8330
  devtoolsComponentUpdated(instance);
8168
8331
  popWarningContext();
@@ -8203,9 +8366,10 @@ function baseCreateRenderer(options, createHydrationFns) {
8203
8366
  if (shapeFlag & 8) {
8204
8367
  if (prevShapeFlag & 16) unmountChildren(c1, parentComponent, parentSuspense);
8205
8368
  if (c2 !== c1) hostSetElementText(container, c2);
8206
- } else if (prevShapeFlag & 16) if (shapeFlag & 16) patchKeyedChildren(c1, c2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
8207
- else unmountChildren(c1, parentComponent, parentSuspense, true);
8208
- else {
8369
+ } else if (prevShapeFlag & 16) {
8370
+ if (shapeFlag & 16) patchKeyedChildren(c1, c2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
8371
+ else unmountChildren(c1, parentComponent, parentSuspense, true);
8372
+ } else {
8209
8373
  if (prevShapeFlag & 8) hostSetElementText(container, "");
8210
8374
  if (shapeFlag & 16) mountChildren(c2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
8211
8375
  }
@@ -8304,8 +8468,10 @@ function baseCreateRenderer(options, createHydrationFns) {
8304
8468
  const anchorVNode = c2[nextIndex + 1];
8305
8469
  const anchor = nextIndex + 1 < l2 ? anchorVNode.el || resolveAsyncComponentPlaceholder(anchorVNode) : parentAnchor;
8306
8470
  if (newIndexToOldIndexMap[i] === 0) patch(null, nextChild, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
8307
- else if (moved) if (j < 0 || i !== increasingNewIndexSequence[j]) move(nextChild, container, anchor, 2, parentComponent);
8308
- else j--;
8471
+ else if (moved) {
8472
+ if (j < 0 || i !== increasingNewIndexSequence[j]) move(nextChild, container, anchor, 2, parentComponent);
8473
+ else j--;
8474
+ }
8309
8475
  }
8310
8476
  }
8311
8477
  };
@@ -8337,26 +8503,27 @@ function baseCreateRenderer(options, createHydrationFns) {
8337
8503
  moveStaticNode(vnode, container, anchor);
8338
8504
  return;
8339
8505
  }
8340
- if (moveType !== 2 && shapeFlag & 1 && transition) if (moveType === 0) performTransitionEnter(el, transition, () => hostInsert(el, container, anchor), parentSuspense, true);
8341
- else {
8342
- const { leave, delayLeave, afterLeave } = transition;
8343
- const remove = () => {
8344
- if (vnode.ctx.isUnmounted) hostRemove(el);
8345
- else hostInsert(el, container, anchor);
8346
- };
8347
- const performLeave = () => {
8348
- const wasLeaving = el._isLeaving || !!el[leaveCbKey];
8349
- if (el._isLeaving) el[leaveCbKey](true);
8350
- if (transition.persisted && !wasLeaving) remove();
8351
- else leave(el, () => {
8352
- remove();
8353
- afterLeave && afterLeave();
8354
- });
8355
- };
8356
- if (delayLeave) delayLeave(el, remove, performLeave);
8357
- else performLeave();
8358
- }
8359
- else hostInsert(el, container, anchor);
8506
+ if (moveType !== 2 && shapeFlag & 1 && transition) {
8507
+ if (moveType === 0) performTransitionEnter(el, transition, () => hostInsert(el, container, anchor), parentSuspense, true);
8508
+ else {
8509
+ const { leave, delayLeave, afterLeave } = transition;
8510
+ const remove = () => {
8511
+ if (vnode.ctx.isUnmounted) hostRemove(el);
8512
+ else hostInsert(el, container, anchor);
8513
+ };
8514
+ const performLeave = () => {
8515
+ const wasLeaving = el._isLeaving || !!el[leaveCbKey];
8516
+ if (el._isLeaving) el[leaveCbKey](true);
8517
+ if (transition.persisted && !wasLeaving) remove();
8518
+ else leave(el, () => {
8519
+ remove();
8520
+ afterLeave && afterLeave();
8521
+ });
8522
+ };
8523
+ if (delayLeave) delayLeave(el, remove, performLeave);
8524
+ else performLeave();
8525
+ }
8526
+ } else hostInsert(el, container, anchor);
8360
8527
  };
8361
8528
  const unmount = (vnode, parentComponent, parentSuspense, doRemove = false, optimized = false) => {
8362
8529
  const { type, props, ref, children, dynamicChildren, shapeFlag, patchFlag, dirs, cacheIndex, memo } = vnode;
@@ -8376,16 +8543,17 @@ function baseCreateRenderer(options, createHydrationFns) {
8376
8543
  const shouldInvokeVnodeHook = !isAsyncWrapper(vnode);
8377
8544
  let vnodeHook;
8378
8545
  if (shouldInvokeVnodeHook && (vnodeHook = props && props.onVnodeBeforeUnmount)) invokeVNodeHook(vnodeHook, parentComponent, vnode);
8379
- if (shapeFlag & 6) if (isVaporComponent(type)) {
8380
- if (dirs) invokeDirectiveHook(vnode, null, parentComponent, "beforeUnmount");
8381
- getVaporInterface(parentComponent, vnode).unmount(vnode, doRemove, parentSuspense);
8382
- if (shouldInvokeVnodeHook && (vnodeHook = props && props.onVnodeUnmounted) || dirs) queuePostRenderEffect(() => {
8383
- dirs && invokeDirectiveHook(vnode, null, parentComponent, "unmounted");
8384
- vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode);
8385
- }, void 0, parentSuspense);
8386
- return;
8387
- } else unmountComponent(vnode.component, parentSuspense, doRemove);
8388
- else {
8546
+ if (shapeFlag & 6) {
8547
+ if (isVaporComponent(type)) {
8548
+ if (dirs) invokeDirectiveHook(vnode, null, parentComponent, "beforeUnmount");
8549
+ getVaporInterface(parentComponent, vnode).unmount(vnode, doRemove, parentSuspense);
8550
+ if (shouldInvokeVnodeHook && (vnodeHook = props && props.onVnodeUnmounted) || dirs) queuePostRenderEffect(() => {
8551
+ dirs && invokeDirectiveHook(vnode, null, parentComponent, "unmounted");
8552
+ vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode);
8553
+ }, void 0, parentSuspense);
8554
+ return;
8555
+ } else unmountComponent(vnode.component, parentSuspense, doRemove);
8556
+ } else {
8389
8557
  if (shapeFlag & 128) {
8390
8558
  vnode.suspense.unmount(parentSuspense, doRemove);
8391
8559
  return;
@@ -8519,12 +8687,14 @@ function resolveChildrenNamespace({ type, props }, currentNamespace) {
8519
8687
  return currentNamespace === "svg" && type === "foreignObject" || currentNamespace === "mathml" && type === "annotation-xml" && props && props.encoding && props.encoding.includes("html") ? void 0 : currentNamespace;
8520
8688
  }
8521
8689
  function toggleRecurse({ effect, job, vapor }, allowed) {
8522
- if (!vapor) if (allowed) {
8523
- effect.flags |= 128;
8524
- job.flags |= 2;
8525
- } else {
8526
- effect.flags &= -129;
8527
- job.flags &= -3;
8690
+ if (!vapor) {
8691
+ if (allowed) {
8692
+ effect.flags |= 128;
8693
+ job.flags |= 2;
8694
+ } else {
8695
+ effect.flags &= -129;
8696
+ job.flags &= -3;
8697
+ }
8528
8698
  }
8529
8699
  }
8530
8700
  function needTransition(parentSuspense, transition) {
@@ -8564,8 +8734,10 @@ function traverseStaticChildren(n1, n2, shallow = false) {
8564
8734
  }
8565
8735
  function locateNonHydratedAsyncRoot(instance) {
8566
8736
  const subComponent = instance.subTree && instance.subTree.component;
8567
- if (subComponent) if (subComponent.asyncDep && !subComponent.asyncResolved) return subComponent;
8568
- else return locateNonHydratedAsyncRoot(subComponent);
8737
+ if (subComponent) {
8738
+ if (subComponent.asyncDep && !subComponent.asyncResolved) return subComponent;
8739
+ else return locateNonHydratedAsyncRoot(subComponent);
8740
+ }
8569
8741
  }
8570
8742
  function invalidateMount(hooks) {
8571
8743
  if (hooks) for (let i = 0; i < hooks.length; i++) hooks[i].flags |= 4;
@@ -8609,7 +8781,7 @@ function isVaporComponent(type) {
8609
8781
  /**
8610
8782
  * shared between vdom and vapor
8611
8783
  */
8612
- function getInheritedScopeIds(vnode, parentComponent) {
8784
+ function getInheritedScopeIds(vnode, parentComponent, includeVaporRootIds = true) {
8613
8785
  const inheritedScopeIds = [];
8614
8786
  let currentParent = parentComponent;
8615
8787
  let currentVNode = vnode;
@@ -8625,6 +8797,8 @@ function getInheritedScopeIds(vnode, parentComponent) {
8625
8797
  currentParent = currentParent.parent;
8626
8798
  } else break;
8627
8799
  }
8800
+ const vaporScopeIds = includeVaporRootIds && currentVNode.vaporScopeIds;
8801
+ if (vaporScopeIds) inheritedScopeIds.push(...vaporScopeIds);
8628
8802
  return inheritedScopeIds;
8629
8803
  }
8630
8804
  function resolveAsyncComponentPlaceholder(anchorVnode) {
@@ -8684,7 +8858,7 @@ function patchSuspense(n1, n2, container, anchor, parentComponent, namespace, sl
8684
8858
  patch(pendingBranch, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, namespace, slotScopeIds, optimized);
8685
8859
  if (suspense.deps <= 0) suspense.resolve();
8686
8860
  else if (isInFallback) {
8687
- if (!isHydrating) {
8861
+ if (!isHydrating && !suspense.isFallbackMountPending) {
8688
8862
  patch(activeBranch, newFallback, container, anchor, parentComponent, null, namespace, slotScopeIds, optimized);
8689
8863
  setActiveBranch(suspense, newFallback);
8690
8864
  }
@@ -8705,7 +8879,7 @@ function patchSuspense(n1, n2, container, anchor, parentComponent, namespace, sl
8705
8879
  if (isInFallback) {
8706
8880
  patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, namespace, slotScopeIds, optimized);
8707
8881
  if (suspense.deps <= 0) suspense.resolve();
8708
- else {
8882
+ else if (!suspense.isFallbackMountPending) {
8709
8883
  patch(activeBranch, newFallback, container, anchor, parentComponent, null, namespace, slotScopeIds, optimized);
8710
8884
  setActiveBranch(suspense, newFallback);
8711
8885
  }
@@ -8831,8 +9005,9 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
8831
9005
  const mountFallback = () => {
8832
9006
  suspense.isFallbackMountPending = false;
8833
9007
  if (!suspense.isInFallback) return;
8834
- patch(null, fallbackVNode, container, anchor, parentComponent, null, namespace, slotScopeIds, optimized);
8835
- setActiveBranch(suspense, fallbackVNode);
9008
+ const latestFallback = suspense.vnode.ssFallback;
9009
+ patch(null, latestFallback, container, anchor, parentComponent, null, namespace, slotScopeIds, optimized);
9010
+ setActiveBranch(suspense, latestFallback);
8836
9011
  };
8837
9012
  const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === "out-in";
8838
9013
  if (delayEnter) {
@@ -8908,9 +9083,10 @@ function normalizeSuspenseSlot(s) {
8908
9083
  return s;
8909
9084
  }
8910
9085
  function queueEffectWithSuspense(fn, id, suspense) {
8911
- if (suspense && suspense.pendingBranch) if (isArray(fn)) suspense.effects.push(...fn);
8912
- else suspense.effects.push(fn);
8913
- else queuePostFlushCb(fn, id);
9086
+ if (suspense && suspense.pendingBranch) {
9087
+ if (isArray(fn)) suspense.effects.push(...fn);
9088
+ else suspense.effects.push(fn);
9089
+ } else queuePostFlushCb(fn, id);
8914
9090
  }
8915
9091
  function setActiveBranch(suspense, branch) {
8916
9092
  suspense.activeBranch = branch;
@@ -9146,8 +9322,10 @@ function _createVNode(type, props = null, children = null, patchFlag = 0, dynami
9146
9322
  if (isVNode(type)) {
9147
9323
  const cloned = cloneVNode(type, props, true);
9148
9324
  if (children) normalizeChildren(cloned, children);
9149
- if (isBlockTreeEnabled > 0 && !isBlockNode && currentBlock) if (cloned.shapeFlag & 6) currentBlock[currentBlock.indexOf(type)] = cloned;
9150
- else currentBlock.push(cloned);
9325
+ if (isBlockTreeEnabled > 0 && !isBlockNode && currentBlock) {
9326
+ if (cloned.shapeFlag & 6) currentBlock[currentBlock.indexOf(type)] = cloned;
9327
+ else currentBlock.push(cloned);
9328
+ }
9151
9329
  cloned.patchFlag = -2;
9152
9330
  return cloned;
9153
9331
  }
@@ -9208,7 +9386,9 @@ function cloneVNode(vnode, extraProps, mergeRef = false, cloneTransition = false
9208
9386
  ce: vnode.ce,
9209
9387
  vi: vnode.vi,
9210
9388
  vs: cloneVaporSlotMeta(vnode),
9211
- vb: vnode.vb
9389
+ vb: vnode.vb,
9390
+ ibu: vnode.ibu,
9391
+ iu: vnode.iu
9212
9392
  };
9213
9393
  if (transition && cloneTransition) setTransitionHooks(cloned, transition.clone(cloned));
9214
9394
  defineLegacyVNodeProperties(cloned);
@@ -9272,25 +9452,28 @@ function normalizeChildren(vnode, children) {
9272
9452
  const { shapeFlag } = vnode;
9273
9453
  if (children == null) children = null;
9274
9454
  else if (isArray(children)) type = 16;
9275
- else if (typeof children === "object") if (shapeFlag & 65) {
9276
- const slot = children.default;
9277
- if (slot) {
9278
- slot._c && (slot._d = false);
9279
- normalizeChildren(vnode, slot());
9280
- slot._c && (slot._d = true);
9281
- }
9282
- return;
9283
- } else {
9284
- type = 32;
9285
- const slotFlag = children._;
9286
- if (!slotFlag && !isInternalObject(children)) children._ctx = currentRenderingInstance;
9287
- else if (slotFlag === 3 && currentRenderingInstance) if (currentRenderingInstance.slots._ === 1) children._ = 1;
9288
- else {
9289
- children._ = 2;
9290
- vnode.patchFlag |= 1024;
9455
+ else if (typeof children === "object") {
9456
+ if (shapeFlag & 65) {
9457
+ const slot = children.default;
9458
+ if (slot) {
9459
+ slot._c && (slot._d = false);
9460
+ normalizeChildren(vnode, slot());
9461
+ slot._c && (slot._d = true);
9462
+ }
9463
+ return;
9464
+ } else {
9465
+ type = 32;
9466
+ const slotFlag = children._;
9467
+ if (!slotFlag && !isInternalObject(children)) children._ctx = currentRenderingInstance;
9468
+ else if (slotFlag === 3 && currentRenderingInstance) {
9469
+ if (currentRenderingInstance.slots._ === 1) children._ = 1;
9470
+ else {
9471
+ children._ = 2;
9472
+ vnode.patchFlag |= 1024;
9473
+ }
9474
+ }
9291
9475
  }
9292
- }
9293
- else if (isFunction(children)) {
9476
+ } else if (isFunction(children)) {
9294
9477
  if (shapeFlag & 65) {
9295
9478
  normalizeChildren(vnode, { default: children });
9296
9479
  return;
@@ -9399,7 +9582,7 @@ const useInstanceOption = (key, silent = false) => {
9399
9582
  };
9400
9583
  //#endregion
9401
9584
  //#region packages/runtime-core/src/component.ts
9402
- const emptyAppContext = /* @__PURE__ */ createAppContext();
9585
+ const emptyAppContext = /*@__PURE__*/ createAppContext();
9403
9586
  let uid = 0;
9404
9587
  function createComponentInstance(vnode, parent, suspense) {
9405
9588
  const type = vnode.type;
@@ -9600,10 +9783,12 @@ function finishComponentSetup(instance, isSSR, skipOptions) {
9600
9783
  restoreCurrentInstance(prevInstance);
9601
9784
  }
9602
9785
  }
9603
- if (!Component.render && instance.render === NOOP && !isSSR) if (!compile$1 && Component.template)
9786
+ if (!Component.render && instance.render === NOOP && !isSSR) {
9787
+ if (!compile$1 && Component.template)
9604
9788
  /* v8 ignore start */
9605
- warn$1("Component provided template option but runtime compilation is not supported in this build of Vue. Use \"vue.esm-browser.js\" instead.");
9606
- else warn$1(`Component is missing template or render function: `, Component);
9789
+ warn$1("Component provided template option but runtime compilation is not supported in this build of Vue. Use \"vue.esm-browser.js\" instead.");
9790
+ else warn$1(`Component is missing template or render function: `, Component);
9791
+ }
9607
9792
  }
9608
9793
  const attrsProxyHandlers = {
9609
9794
  get(target, key) {
@@ -9711,11 +9896,12 @@ function h(type, propsOrChildren, children) {
9711
9896
  try {
9712
9897
  setBlockTracking(-1);
9713
9898
  const l = arguments.length;
9714
- if (l === 2) if (isObject(propsOrChildren) && !isArray(propsOrChildren)) {
9715
- if (isVNode(propsOrChildren)) return createVNode(type, null, [propsOrChildren]);
9716
- return createVNode(type, propsOrChildren);
9717
- } else return createVNode(type, null, propsOrChildren);
9718
- else {
9899
+ if (l === 2) {
9900
+ if (isObject(propsOrChildren) && !isArray(propsOrChildren)) {
9901
+ if (isVNode(propsOrChildren)) return createVNode(type, null, [propsOrChildren]);
9902
+ return createVNode(type, propsOrChildren);
9903
+ } else return createVNode(type, null, propsOrChildren);
9904
+ } else {
9719
9905
  if (l > 3) children = Array.prototype.slice.call(arguments, 2);
9720
9906
  else if (l === 3 && isVNode(children)) children = [children];
9721
9907
  return createVNode(type, propsOrChildren, children);
@@ -9907,7 +10093,7 @@ function isMemoSame(cached, memo) {
9907
10093
  }
9908
10094
  //#endregion
9909
10095
  //#region packages/runtime-core/src/index.ts
9910
- const version = "3.6.0-rc.4";
10096
+ const version = "3.6.0-rc.6";
9911
10097
  const warn = warn$1;
9912
10098
  /**
9913
10099
  * Runtime error messages. Only exposed in dev or esm builds.
@@ -9941,7 +10127,7 @@ const DeprecationTypes = DeprecationTypes$1;
9941
10127
  let policy = void 0;
9942
10128
  const tt = typeof window !== "undefined" && window.trustedTypes;
9943
10129
  if (tt) try {
9944
- policy = /* @__PURE__ */ tt.createPolicy("vue", { createHTML: (val) => val });
10130
+ policy = /*@__PURE__*/ tt.createPolicy("vue", { createHTML: (val) => val });
9945
10131
  } catch (e) {
9946
10132
  warn(`Error creating trusted types policy: ${e}`);
9947
10133
  }
@@ -9949,7 +10135,7 @@ const unsafeToTrustedHTML = policy ? (val) => policy.createHTML(val) : (val) =>
9949
10135
  const svgNS = "http://www.w3.org/2000/svg";
9950
10136
  const mathmlNS = "http://www.w3.org/1998/Math/MathML";
9951
10137
  const doc = typeof document !== "undefined" ? document : null;
9952
- const templateContainer = doc && /* @__PURE__ */ doc.createElement("template");
10138
+ const templateContainer = doc && /*@__PURE__*/ doc.createElement("template");
9953
10139
  const nodeOps = {
9954
10140
  insert: (child, parent, anchor) => {
9955
10141
  parent.insertBefore(child, anchor || null);
@@ -10023,7 +10209,7 @@ const DOMTransitionPropsValidators = {
10023
10209
  leaveActiveClass: String,
10024
10210
  leaveToClass: String
10025
10211
  };
10026
- const TransitionPropsValidators = /* @__PURE__ */ extend({}, BaseTransitionPropsValidators, DOMTransitionPropsValidators);
10212
+ const TransitionPropsValidators = /*@__PURE__*/ extend({}, BaseTransitionPropsValidators, DOMTransitionPropsValidators);
10027
10213
  /**
10028
10214
  * Wrap logic that attaches extra properties to Transition in a function
10029
10215
  * so that it can be annotated as pure
@@ -10038,7 +10224,7 @@ const decorate$1 = (t) => {
10038
10224
  * DOM Transition is a higher-order-component based on the platform-agnostic
10039
10225
  * base Transition component, with DOM-specific logic.
10040
10226
  */
10041
- const Transition = /* @__PURE__ */ decorate$1((props, { slots }) => h(BaseTransition, resolveTransitionProps(props), slots));
10227
+ const Transition = /*@__PURE__*/ decorate$1((props, { slots }) => h(BaseTransition, resolveTransitionProps(props), slots));
10042
10228
  /**
10043
10229
  * #3227 Incoming hooks may be merged into arrays when wrapping Transition
10044
10230
  * with custom HOCs.
@@ -10278,14 +10464,15 @@ const vShow = {
10278
10464
  },
10279
10465
  updated(el, { value, oldValue }, { transition }) {
10280
10466
  if (!value === !oldValue) return;
10281
- if (transition) if (value) {
10282
- transition.beforeEnter(el);
10283
- setDisplay(el, true);
10284
- transition.enter(el);
10285
- } else transition.leave(el, () => {
10286
- setDisplay(el, false);
10287
- });
10288
- else setDisplay(el, value);
10467
+ if (transition) {
10468
+ if (value) {
10469
+ transition.beforeEnter(el);
10470
+ setDisplay(el, true);
10471
+ transition.enter(el);
10472
+ } else transition.leave(el, () => {
10473
+ setDisplay(el, false);
10474
+ });
10475
+ } else setDisplay(el, value);
10289
10476
  },
10290
10477
  beforeUnmount(el, { value }) {
10291
10478
  setDisplay(el, value);
@@ -10387,11 +10574,13 @@ function patchStyle(el, prev, next) {
10387
10574
  const isCssString = isString(next);
10388
10575
  let hasControlledDisplay = false;
10389
10576
  if (next && !isCssString) {
10390
- if (prev) if (!isString(prev)) {
10391
- for (const key in prev) if (next[key] == null) setStyle(style, key, "");
10392
- } else for (const prevStyle of prev.split(";")) {
10393
- const key = prevStyle.slice(0, prevStyle.indexOf(":")).trim();
10394
- if (next[key] == null) setStyle(style, key, "");
10577
+ if (prev) {
10578
+ if (!isString(prev)) {
10579
+ for (const key in prev) if (next[key] == null) setStyle(style, key, "");
10580
+ } else for (const prevStyle of prev.split(";")) {
10581
+ const key = prevStyle.slice(0, prevStyle.indexOf(":")).trim();
10582
+ if (next[key] == null) setStyle(style, key, "");
10583
+ }
10395
10584
  }
10396
10585
  for (const key in next) {
10397
10586
  if (key === "display") hasControlledDisplay = true;
@@ -10420,8 +10609,10 @@ function setStyle(style, name, rawVal) {
10420
10609
  else {
10421
10610
  const val = rawVal == null ? "" : String(rawVal);
10422
10611
  if (semicolonRE.test(val)) warn(`Unexpected semicolon at the end of '${name}' style value: '${val}'`);
10423
- if (name.startsWith("--")) style.setProperty(name, val);
10424
- else {
10612
+ if (name.startsWith("--")) {
10613
+ if (importantRE.test(val)) style.setProperty(name, val.replace(importantRE, ""), "important");
10614
+ else style.setProperty(name, val);
10615
+ } else {
10425
10616
  const prefixed = autoPrefix(style, name);
10426
10617
  if (importantRE.test(val)) style.setProperty(hyphenate(prefixed), val.replace(importantRE, ""), "important");
10427
10618
  else style[prefixed] = val;
@@ -10458,15 +10649,16 @@ function shouldPreserveTextareaResizeStyle(el, key, prev, next) {
10458
10649
  //#region packages/runtime-dom/src/modules/attrs.ts
10459
10650
  const xlinkNS = "http://www.w3.org/1999/xlink";
10460
10651
  function patchAttr(el, key, value, isSVG, instance, isBoolean = isSpecialBooleanAttr(key)) {
10461
- if (isSVG && key.startsWith("xlink:")) if (value == null) el.removeAttributeNS(xlinkNS, key.slice(6, key.length));
10462
- else el.setAttributeNS(xlinkNS, key, value);
10463
- else {
10652
+ if (isSVG && key.startsWith("xlink:")) {
10653
+ if (value == null) el.removeAttributeNS(xlinkNS, key.slice(6, key.length));
10654
+ else el.setAttributeNS(xlinkNS, key, value);
10655
+ } else {
10464
10656
  if (compatCoerceAttr(el, key, value, instance)) return;
10465
10657
  if (value == null || isBoolean && !includeBooleanAttr(value)) el.removeAttribute(key);
10466
10658
  else el.setAttribute(key, isBoolean ? "" : isSymbol(value) ? String(value) : value);
10467
10659
  }
10468
10660
  }
10469
- const isEnumeratedAttr = /* @__PURE__ */ makeMap("contenteditable,draggable,spellcheck");
10661
+ const isEnumeratedAttr = /*@__PURE__*/ makeMap("contenteditable,draggable,spellcheck");
10470
10662
  function compatCoerceAttr(el, key, value, instance = null) {
10471
10663
  if (isEnumeratedAttr(key)) {
10472
10664
  const v2CoercedValue = value === void 0 ? null : value === null || value === false || value === "false" ? "false" : "true";
@@ -10558,7 +10750,7 @@ function parseEventName(name) {
10558
10750
  return [name[2] === ":" ? name.slice(3) : hyphenate(name.slice(2)), options];
10559
10751
  }
10560
10752
  let cachedNow = 0;
10561
- const p = /* @__PURE__ */ Promise.resolve();
10753
+ const p = /*@__PURE__*/ Promise.resolve();
10562
10754
  const getNow = () => cachedNow || (p.then(() => cachedNow = 0), cachedNow = Date.now());
10563
10755
  function createInvoker(initialValue, instance) {
10564
10756
  const invoker = (e) => {
@@ -10626,7 +10818,7 @@ function shouldSetAsPropForVueCE(el, key) {
10626
10818
  //#endregion
10627
10819
  //#region packages/runtime-dom/src/apiCustomElement.ts
10628
10820
  const REMOVAL = {};
10629
- /* @__NO_SIDE_EFFECTS__ */
10821
+ /*@__NO_SIDE_EFFECTS__*/
10630
10822
  function defineCustomElement(options, extraOptions, _createApp) {
10631
10823
  let Comp = /* @__PURE__ */ defineComponent(options, extraOptions);
10632
10824
  if (isPlainObject(Comp)) Comp = extend({}, Comp, extraOptions);
@@ -10675,12 +10867,14 @@ var VueElementBase = class VueElementBase extends BaseClass {
10675
10867
  this._parent = parent;
10676
10868
  break;
10677
10869
  }
10678
- if (!this._instance) if (this._resolved) this._mountComponent(this._def);
10679
- else if (parent && parent._pendingResolve) this._pendingResolve = parent._pendingResolve.then(() => {
10680
- this._pendingResolve = void 0;
10681
- if (this.isConnected) return this._resolveDef();
10682
- });
10683
- else this._resolveDef();
10870
+ if (!this._instance) {
10871
+ if (this._resolved) this._mountComponent(this._def);
10872
+ else if (parent && parent._pendingResolve) this._pendingResolve = parent._pendingResolve.then(() => {
10873
+ this._pendingResolve = void 0;
10874
+ if (this.isConnected) return this._resolveDef();
10875
+ });
10876
+ else this._resolveDef();
10877
+ }
10684
10878
  }
10685
10879
  disconnectedCallback() {
10686
10880
  this._connected = false;
@@ -11079,7 +11273,7 @@ const decorate = (t) => {
11079
11273
  };
11080
11274
  const TransitionGroup = /* @__PURE__ */ decorate({
11081
11275
  name: "TransitionGroup",
11082
- props: /* @__PURE__ */ extend({}, TransitionPropsValidators, {
11276
+ props: /*@__PURE__*/ extend({}, TransitionPropsValidators, {
11083
11277
  tag: String,
11084
11278
  moveClass: String
11085
11279
  }),
@@ -11361,19 +11555,39 @@ const vModelSelectInit = (el, value, number, set) => {
11361
11555
  el._modelValue = value;
11362
11556
  addEventListener(el, "change", () => {
11363
11557
  const selectedVal = Array.prototype.filter.call(el.options, (o) => o.selected).map((o) => number ? looseToNumber(getValue(o)) : getValue(o));
11364
- (set || el[assignKey])(el.multiple ? isSet(el._modelValue) ? new Set(selectedVal) : selectedVal : selectedVal[0]);
11365
- el._assigning = true;
11366
- nextTick(() => {
11367
- el._assigning = false;
11368
- });
11558
+ const multiple = el.multiple;
11559
+ const assignedValue = multiple ? isSet(el._modelValue) ? new Set(selectedVal) : selectedVal : selectedVal[0];
11560
+ const pending = el._pendingValue = [multiple, multiple ? isArray(assignedValue) ? selectedVal.slice() : selectedVal : assignedValue];
11561
+ try {
11562
+ (set || el[assignKey])(assignedValue);
11563
+ } finally {
11564
+ nextTick(() => {
11565
+ if (el._pendingValue === pending) el._pendingValue = void 0;
11566
+ });
11567
+ }
11369
11568
  });
11370
11569
  };
11570
+ function isSameSelectValue(value, assignedValue, multiple) {
11571
+ if (!multiple) return looseEqual(value, assignedValue);
11572
+ if (isArray(value)) return looseEqual(value, assignedValue);
11573
+ if (isSet(value)) {
11574
+ if (value.size !== assignedValue.length) return false;
11575
+ for (const item of assignedValue) if (!value.has(item)) return false;
11576
+ return true;
11577
+ }
11578
+ return false;
11579
+ }
11371
11580
  /**
11372
11581
  * @internal
11373
11582
  */
11374
11583
  const vModelSetSelected = (el, value) => {
11375
11584
  el._modelValue = value;
11376
- if (el._assigning) return;
11585
+ const pending = el._pendingValue;
11586
+ el._pendingValue = void 0;
11587
+ if (pending && pending[0] === el.multiple && isSameSelectValue(value, pending[1], pending[0])) return;
11588
+ setSelected(el, value);
11589
+ };
11590
+ function setSelected(el, value) {
11377
11591
  const isMultiple = el.multiple;
11378
11592
  const isArrayValue = isArray(value);
11379
11593
  if (isMultiple && !isArrayValue && !isSet(value)) {
@@ -11383,18 +11597,19 @@ const vModelSetSelected = (el, value) => {
11383
11597
  for (let i = 0, l = el.options.length; i < l; i++) {
11384
11598
  const option = el.options[i];
11385
11599
  const optionValue = getValue(option);
11386
- if (isMultiple) if (isArrayValue) {
11387
- const optionType = typeof optionValue;
11388
- if (optionType === "string" || optionType === "number") option.selected = value.some((v) => String(v) === String(optionValue));
11389
- else option.selected = looseIndexOf(value, optionValue) > -1;
11390
- } else option.selected = value.has(optionValue);
11391
- else if (looseEqual(getValue(option), value)) {
11600
+ if (isMultiple) {
11601
+ if (isArrayValue) {
11602
+ const optionType = typeof optionValue;
11603
+ if (optionType === "string" || optionType === "number") option.selected = value.some((v) => String(v) === String(optionValue));
11604
+ else option.selected = looseIndexOf(value, optionValue) > -1;
11605
+ } else option.selected = value.has(optionValue);
11606
+ } else if (looseEqual(getValue(option), value)) {
11392
11607
  if (el.selectedIndex !== i) el.selectedIndex = i;
11393
11608
  return;
11394
11609
  }
11395
11610
  }
11396
11611
  if (!isMultiple && el.selectedIndex !== -1) el.selectedIndex = -1;
11397
- };
11612
+ }
11398
11613
  /**
11399
11614
  * @internal retrieve raw value set via :value bindings
11400
11615
  */
@@ -11690,7 +11905,7 @@ var src_exports = /* @__PURE__ */ __exportAll({
11690
11905
  withModifiers: () => withModifiers,
11691
11906
  withScopeId: () => withScopeId
11692
11907
  });
11693
- const rendererOptions = /* @__PURE__ */ extend({ patchProp }, nodeOps);
11908
+ const rendererOptions = /*@__PURE__*/ extend({ patchProp }, nodeOps);
11694
11909
  let renderer;
11695
11910
  let enabledHydration = false;
11696
11911
  function ensureRenderer() {
@@ -12241,13 +12456,14 @@ var Tokenizer = class {
12241
12456
  }
12242
12457
  }
12243
12458
  stateInterpolationOpen(c) {
12244
- if (c === this.delimiterOpen[this.delimiterIndex]) if (this.delimiterIndex === this.delimiterOpen.length - 1) {
12245
- const start = this.index + 1 - this.delimiterOpen.length;
12246
- if (start > this.sectionStart) this.cbs.ontext(this.sectionStart, start);
12247
- this.state = 3;
12248
- this.sectionStart = start;
12249
- } else this.delimiterIndex++;
12250
- else if (this.inRCDATA) {
12459
+ if (c === this.delimiterOpen[this.delimiterIndex]) {
12460
+ if (this.delimiterIndex === this.delimiterOpen.length - 1) {
12461
+ const start = this.index + 1 - this.delimiterOpen.length;
12462
+ if (start > this.sectionStart) this.cbs.ontext(this.sectionStart, start);
12463
+ this.state = 3;
12464
+ this.sectionStart = start;
12465
+ } else this.delimiterIndex++;
12466
+ } else if (this.inRCDATA) {
12251
12467
  this.state = 32;
12252
12468
  this.stateInRCDATA(c);
12253
12469
  } else {
@@ -12263,13 +12479,14 @@ var Tokenizer = class {
12263
12479
  }
12264
12480
  }
12265
12481
  stateInterpolationClose(c) {
12266
- if (c === this.delimiterClose[this.delimiterIndex]) if (this.delimiterIndex === this.delimiterClose.length - 1) {
12267
- this.cbs.oninterpolation(this.sectionStart, this.index + 1);
12268
- if (this.inRCDATA) this.state = 32;
12269
- else this.state = 1;
12270
- this.sectionStart = this.index + 1;
12271
- } else this.delimiterIndex++;
12272
- else {
12482
+ if (c === this.delimiterClose[this.delimiterIndex]) {
12483
+ if (this.delimiterIndex === this.delimiterClose.length - 1) {
12484
+ this.cbs.oninterpolation(this.sectionStart, this.index + 1);
12485
+ if (this.inRCDATA) this.state = 32;
12486
+ else this.state = 1;
12487
+ this.sectionStart = this.index + 1;
12488
+ } else this.delimiterIndex++;
12489
+ } else {
12273
12490
  this.state = 3;
12274
12491
  this.stateInterpolation(c);
12275
12492
  }
@@ -12384,9 +12601,10 @@ var Tokenizer = class {
12384
12601
  this.sectionStart = this.index;
12385
12602
  if (this.mode === 0) this.state = 6;
12386
12603
  else if (this.inSFCRoot) this.state = 34;
12387
- else if (!this.inXML) if (c === 116) this.state = 30;
12388
- else this.state = c === 115 ? 29 : 6;
12389
- else this.state = 6;
12604
+ else if (!this.inXML) {
12605
+ if (c === 116) this.state = 30;
12606
+ else this.state = c === 115 ? 29 : 6;
12607
+ } else this.state = 6;
12390
12608
  } else if (c === 47) this.state = 8;
12391
12609
  else {
12392
12610
  this.state = 1;
@@ -12739,9 +12957,7 @@ var Tokenizer = class {
12739
12957
  case 24:
12740
12958
  this.stateInProcessingInstruction(c);
12741
12959
  break;
12742
- case 33:
12743
- this.stateInEntity();
12744
- break;
12960
+ case 33: this.stateInEntity();
12745
12961
  }
12746
12962
  this.index++;
12747
12963
  }
@@ -12770,9 +12986,10 @@ var Tokenizer = class {
12770
12986
  handleTrailingData() {
12771
12987
  const endIndex = this.buffer.length;
12772
12988
  if (this.sectionStart >= endIndex) return;
12773
- if (this.state === 28) if (this.currentSequence === Sequences.CdataEnd) this.cbs.oncdata(this.sectionStart, endIndex);
12774
- else this.cbs.oncomment(this.sectionStart, endIndex);
12775
- 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);
12989
+ if (this.state === 28) {
12990
+ if (this.currentSequence === Sequences.CdataEnd) this.cbs.oncdata(this.sectionStart, endIndex);
12991
+ else this.cbs.oncomment(this.sectionStart, endIndex);
12992
+ } 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);
12776
12993
  }
12777
12994
  emitCodePoint(cp, consumed) {}
12778
12995
  };
@@ -12974,12 +13191,10 @@ const isMemberExpressionBrowser = (exp) => {
12974
13191
  if (!--currentOpenParensCount) state = stateStack.pop();
12975
13192
  }
12976
13193
  break;
12977
- case 3:
12978
- if (char === currentStringType) {
12979
- state = stateStack.pop();
12980
- currentStringType = null;
12981
- }
12982
- break;
13194
+ case 3: if (char === currentStringType) {
13195
+ state = stateStack.pop();
13196
+ currentStringType = null;
13197
+ }
12983
13198
  }
12984
13199
  }
12985
13200
  return !currentOpenBracketCount && !currentOpenParensCount;
@@ -13029,7 +13244,7 @@ function isTemplateNode(node) {
13029
13244
  function isSlotOutlet(node) {
13030
13245
  return node.type === 1 && node.tagType === 2;
13031
13246
  }
13032
- const propsHelperSet = new Set([NORMALIZE_PROPS, GUARD_REACTIVE_PROPS]);
13247
+ const propsHelperSet = /* @__PURE__ */ new Set([NORMALIZE_PROPS, GUARD_REACTIVE_PROPS]);
13033
13248
  function getUnnormalizedProps(props, callPath = []) {
13034
13249
  if (props && !isString(props) && props.type === 14) {
13035
13250
  const callee = props.callee;
@@ -13072,9 +13287,10 @@ function injectProp(node, prop, context) {
13072
13287
  propsWithInjection = createCallExpression(context.helper(MERGE_PROPS), [createObjectExpression([prop]), props]);
13073
13288
  if (parentCall && parentCall.callee === GUARD_REACTIVE_PROPS) parentCall = callPath[callPath.length - 2];
13074
13289
  }
13075
- if (node.type === 13) if (parentCall) parentCall.arguments[0] = propsWithInjection;
13076
- else node.props = propsWithInjection;
13077
- else if (parentCall) parentCall.arguments[0] = propsWithInjection;
13290
+ if (node.type === 13) {
13291
+ if (parentCall) parentCall.arguments[0] = propsWithInjection;
13292
+ else node.props = propsWithInjection;
13293
+ } else if (parentCall) parentCall.arguments[0] = propsWithInjection;
13078
13294
  else node.arguments[2] = propsWithInjection;
13079
13295
  }
13080
13296
  function injectSlotKey(node, prop) {
@@ -13349,10 +13565,7 @@ const tokenizer = new Tokenizer(stack, {
13349
13565
  case 18:
13350
13566
  case 19:
13351
13567
  case 20:
13352
- case 21:
13353
- emitError(9, end);
13354
- break;
13355
- default: break;
13568
+ case 21: emitError(9, end);
13356
13569
  }
13357
13570
  for (let index = 0; index < stack.length; index++) {
13358
13571
  onCloseTag(stack[index], end - 1);
@@ -13502,7 +13715,7 @@ function backTrack(index, c) {
13502
13715
  while (currentInput.charCodeAt(i) !== c && i >= 0) i--;
13503
13716
  return i;
13504
13717
  }
13505
- const specialTemplateDir = new Set([
13718
+ const specialTemplateDir = /* @__PURE__ */ new Set([
13506
13719
  "if",
13507
13720
  "else",
13508
13721
  "else-if",
@@ -13538,16 +13751,18 @@ function condenseWhitespace(nodes) {
13538
13751
  let removedWhitespace = false;
13539
13752
  for (let i = 0; i < nodes.length; i++) {
13540
13753
  const node = nodes[i];
13541
- if (node.type === 2) if (!inPre) {
13542
- if (isAllWhitespace(node.content)) {
13543
- const prev = nodes[i - 1] && nodes[i - 1].type;
13544
- const next = nodes[i + 1] && nodes[i + 1].type;
13545
- if (!prev || !next || shouldCondense && (prev === 3 && (next === 3 || next === 1) || prev === 1 && (next === 3 || next === 1 && hasNewlineChar(node.content)))) {
13546
- removedWhitespace = true;
13547
- nodes[i] = null;
13548
- } else node.content = " ";
13549
- } else if (shouldCondense) node.content = condense(node.content);
13550
- } else node.content = node.content.replace(windowsNewlineRE, "\n");
13754
+ if (node.type === 2) {
13755
+ if (!inPre) {
13756
+ if (isAllWhitespace(node.content)) {
13757
+ const prev = nodes[i - 1] && nodes[i - 1].type;
13758
+ const next = nodes[i + 1] && nodes[i + 1].type;
13759
+ if (!prev || !next || shouldCondense && (prev === 3 && (next === 3 || next === 1) || prev === 1 && (next === 3 || next === 1 && hasNewlineChar(node.content)))) {
13760
+ removedWhitespace = true;
13761
+ nodes[i] = null;
13762
+ } else node.content = " ";
13763
+ } else if (shouldCondense) node.content = condense(node.content);
13764
+ } else node.content = node.content.replace(windowsNewlineRE, "\n");
13765
+ }
13551
13766
  }
13552
13767
  return removedWhitespace ? nodes.filter(Boolean) : nodes;
13553
13768
  }
@@ -13808,7 +14023,7 @@ function getConstantType(node, context) {
13808
14023
  default: return 0;
13809
14024
  }
13810
14025
  }
13811
- const allowHoistedHelperSet = new Set([
14026
+ const allowHoistedHelperSet = /* @__PURE__ */ new Set([
13812
14027
  NORMALIZE_CLASS,
13813
14028
  NORMALIZE_STYLE,
13814
14029
  NORMALIZE_PROPS,
@@ -13966,7 +14181,7 @@ function transform(root, options) {
13966
14181
  traverseNode(root, context);
13967
14182
  if (options.hoistStatic) cacheStatic(root, context);
13968
14183
  if (!options.ssr) createRootCodegen(root, context);
13969
- root.helpers = new Set([...context.helpers.keys()]);
14184
+ root.helpers = /* @__PURE__ */ new Set([...context.helpers.keys()]);
13970
14185
  root.components = [...context.components];
13971
14186
  root.directives = [...context.directives];
13972
14187
  root.imports = context.imports;
@@ -14013,8 +14228,10 @@ function traverseNode(node, context) {
14013
14228
  const exitFns = [];
14014
14229
  for (let i = 0; i < nodeTransforms.length; i++) {
14015
14230
  const onExit = nodeTransforms[i](node, context);
14016
- if (onExit) if (isArray(onExit)) exitFns.push(...onExit);
14017
- else exitFns.push(onExit);
14231
+ if (onExit) {
14232
+ if (isArray(onExit)) exitFns.push(...onExit);
14233
+ else exitFns.push(onExit);
14234
+ }
14018
14235
  if (!context.currentNode) return;
14019
14236
  else node = context.currentNode;
14020
14237
  }
@@ -14031,9 +14248,7 @@ function traverseNode(node, context) {
14031
14248
  case 10:
14032
14249
  case 11:
14033
14250
  case 1:
14034
- case 0:
14035
- traverseChildren(node, context);
14036
- break;
14251
+ case 0: traverseChildren(node, context);
14037
14252
  }
14038
14253
  context.currentNode = node;
14039
14254
  let i = exitFns.length;
@@ -14229,10 +14444,12 @@ function genNodeList(nodes, context, multilines = false, comma = true) {
14229
14444
  if (isString(node)) push(node, -3);
14230
14445
  else if (isArray(node)) genNodeListAsArray(node, context);
14231
14446
  else genNode(node, context);
14232
- if (i < nodes.length - 1) if (multilines) {
14233
- comma && push(",");
14234
- newline();
14235
- } else comma && push(", ");
14447
+ if (i < nodes.length - 1) {
14448
+ if (multilines) {
14449
+ comma && push(",");
14450
+ newline();
14451
+ } else comma && push(", ");
14452
+ }
14236
14453
  }
14237
14454
  }
14238
14455
  function genNode(node, context) {
@@ -14344,8 +14561,10 @@ function genVNodeCall(node, context) {
14344
14561
  const { push, helper, pure } = context;
14345
14562
  const { tag, props, children, patchFlag, dynamicProps, directives, isBlock, disableTracking, isComponent } = node;
14346
14563
  let patchFlagString;
14347
- if (patchFlag) if (patchFlag < 0) patchFlagString = patchFlag + ` /* ${PatchFlagNames[patchFlag]} */`;
14348
- else patchFlagString = patchFlag + ` /* ${Object.keys(PatchFlagNames).map(Number).filter((n) => n > 0 && patchFlag & n).map((n) => PatchFlagNames[n]).join(`, `)} */`;
14564
+ if (patchFlag) {
14565
+ if (patchFlag < 0) patchFlagString = patchFlag + ` /* ${PatchFlagNames[patchFlag]} */`;
14566
+ else patchFlagString = patchFlag + ` /* ${Object.keys(PatchFlagNames).map(Number).filter((n) => n > 0 && patchFlag & n).map((n) => PatchFlagNames[n]).join(`, `)} */`;
14567
+ }
14349
14568
  if (directives) push(helper(WITH_DIRECTIVES) + `(`);
14350
14569
  if (isBlock) push(`(${helper(OPEN_BLOCK)}(${disableTracking ? `true` : ``}), `);
14351
14570
  if (pure) push(PURE_ANNOTATION);
@@ -14614,16 +14833,17 @@ function createChildrenCodegenNode(branch, keyIndex, context) {
14614
14833
  const keyProperty = createObjectProperty(`key`, createSimpleExpression(`${keyIndex}`, false, locStub, 2));
14615
14834
  const { children } = branch;
14616
14835
  const firstChild = children[0];
14617
- if (children.length !== 1 || firstChild.type !== 1) if (children.length === 1 && firstChild.type === 11) {
14618
- const vnodeCall = firstChild.codegenNode;
14619
- injectProp(vnodeCall, keyProperty, context);
14620
- return vnodeCall;
14836
+ if (children.length !== 1 || firstChild.type !== 1) {
14837
+ if (children.length === 1 && firstChild.type === 11) {
14838
+ const vnodeCall = firstChild.codegenNode;
14839
+ injectProp(vnodeCall, keyProperty, context);
14840
+ return vnodeCall;
14841
+ } else {
14842
+ let patchFlag = 64;
14843
+ if (!branch.isTemplateIf && children.filter((c) => c.type !== 3).length === 1) patchFlag |= 2048;
14844
+ return createVNodeCall(context, helper(FRAGMENT), createObjectExpression([keyProperty]), children, patchFlag, void 0, void 0, true, false, false, branch.loc);
14845
+ }
14621
14846
  } else {
14622
- let patchFlag = 64;
14623
- if (!branch.isTemplateIf && children.filter((c) => c.type !== 3).length === 1) patchFlag |= 2048;
14624
- return createVNodeCall(context, helper(FRAGMENT), createObjectExpression([keyProperty]), children, patchFlag, void 0, void 0, true, false, false, branch.loc);
14625
- }
14626
- else {
14627
14847
  const ret = firstChild.codegenNode;
14628
14848
  const vnodeCall = getMemoedVNodeCall(ret);
14629
14849
  if (vnodeCall.type === 13) convertToBlock(vnodeCall, context);
@@ -14644,9 +14864,10 @@ function isSameKey(a, b) {
14644
14864
  return true;
14645
14865
  }
14646
14866
  function getParentCondition(node) {
14647
- while (true) if (node.type === 19) if (node.alternate.type === 19) node = node.alternate;
14648
- else return node;
14649
- else if (node.type === 20) node = node.value;
14867
+ while (true) if (node.type === 19) {
14868
+ if (node.alternate.type === 19) node = node.alternate;
14869
+ else return node;
14870
+ } else if (node.type === 20) node = node.value;
14650
14871
  }
14651
14872
  //#endregion
14652
14873
  //#region packages/compiler-core/src/transforms/vFor.ts
@@ -14685,10 +14906,12 @@ const transformFor = createStructuralDirectiveTransform("for", (node, dir, conte
14685
14906
  childBlock = children[0].codegenNode;
14686
14907
  if (isTemplate && keyProperty) injectProp(childBlock, keyProperty, context);
14687
14908
  const shouldUseBlock = !isStableFragment || childBlock.isBlockRequired === true;
14688
- if (childBlock.isBlock !== shouldUseBlock) if (childBlock.isBlock) {
14689
- removeHelper(OPEN_BLOCK);
14690
- removeHelper(getVNodeBlockHelper(context.inSSR, childBlock.isComponent));
14691
- } else removeHelper(getVNodeHelper(context.inSSR, childBlock.isComponent));
14909
+ if (childBlock.isBlock !== shouldUseBlock) {
14910
+ if (childBlock.isBlock) {
14911
+ removeHelper(OPEN_BLOCK);
14912
+ removeHelper(getVNodeBlockHelper(context.inSSR, childBlock.isComponent));
14913
+ } else removeHelper(getVNodeHelper(context.inSSR, childBlock.isComponent));
14914
+ }
14692
14915
  childBlock.isBlock = shouldUseBlock;
14693
14916
  if (childBlock.isBlock) {
14694
14917
  helper(OPEN_BLOCK);
@@ -14871,8 +15094,10 @@ function buildSlots(node, context, buildSlotFn = buildClientSlotFn) {
14871
15094
  return createObjectProperty(`default`, fn);
14872
15095
  };
14873
15096
  if (!hasTemplateSlots) slotsProperties.push(buildDefaultSlotProperty(void 0, children));
14874
- else if (implicitDefaultChildren.length && !implicitDefaultChildren.every(isWhitespaceText)) if (hasNamedDefaultSlot) context.onError(createCompilerError(39, implicitDefaultChildren[0].loc));
14875
- else slotsProperties.push(buildDefaultSlotProperty(void 0, implicitDefaultChildren));
15097
+ else if (implicitDefaultChildren.length && !implicitDefaultChildren.every(isWhitespaceText)) {
15098
+ if (hasNamedDefaultSlot) context.onError(createCompilerError(39, implicitDefaultChildren[0].loc));
15099
+ else slotsProperties.push(buildDefaultSlotProperty(void 0, implicitDefaultChildren));
15100
+ }
14876
15101
  }
14877
15102
  const slotFlag = hasDynamicSlots ? 2 : hasForwardedSlots(node.children) ? 3 : 1;
14878
15103
  let slots = createObjectExpression(slotsProperties.concat(createObjectProperty(`_`, createSimpleExpression(slotFlag + ` /* ${slotFlagsText[slotFlag]} */`, false))), loc);
@@ -14898,10 +15123,7 @@ function hasForwardedSlots(children) {
14898
15123
  if (hasForwardedSlots(child.branches)) return true;
14899
15124
  break;
14900
15125
  case 10:
14901
- case 11:
14902
- if (hasForwardedSlots(child.children)) return true;
14903
- break;
14904
- default: break;
15126
+ case 11: if (hasForwardedSlots(child.children)) return true;
14905
15127
  }
14906
15128
  }
14907
15129
  return false;
@@ -15062,29 +15284,30 @@ function buildProps(node, context, props = node.props, isComponent, isDynamicCom
15062
15284
  if (isVBind && isStaticArgOf(arg, "ref")) pushRefVForMarker();
15063
15285
  if (!arg && (isVBind || isVOn)) {
15064
15286
  hasDynamicKeys = true;
15065
- if (exp) if (isVBind) {
15066
- pushMergeArg();
15067
- if (mergeArgs.some((arg) => {
15068
- if (arg.type === 15) return arg.properties.some(({ key }) => {
15069
- if (key.type !== 4 || !key.isStatic) return true;
15070
- return key.content !== "class" && key.content !== "style" && !isOn(key.content);
15071
- });
15072
- else return true;
15073
- })) checkCompatEnabled("COMPILER_V_BIND_OBJECT_ORDER", context, loc);
15074
- if (isCompatEnabled("COMPILER_V_BIND_OBJECT_ORDER", context)) {
15075
- mergeArgs.unshift(exp);
15076
- continue;
15077
- }
15078
- pushRefVForMarker();
15079
- pushMergeArg();
15080
- mergeArgs.push(exp);
15081
- } else pushMergeArg({
15082
- type: 14,
15083
- loc,
15084
- callee: context.helper(TO_HANDLERS),
15085
- arguments: isComponent ? [exp] : [exp, `true`]
15086
- });
15087
- else context.onError(createCompilerError(isVBind ? 34 : 35, loc));
15287
+ if (exp) {
15288
+ if (isVBind) {
15289
+ pushMergeArg();
15290
+ if (mergeArgs.some((arg) => {
15291
+ if (arg.type === 15) return arg.properties.some(({ key }) => {
15292
+ if (key.type !== 4 || !key.isStatic) return true;
15293
+ return key.content !== "class" && key.content !== "style" && !isOn(key.content);
15294
+ });
15295
+ else return true;
15296
+ })) checkCompatEnabled("COMPILER_V_BIND_OBJECT_ORDER", context, loc);
15297
+ if (isCompatEnabled("COMPILER_V_BIND_OBJECT_ORDER", context)) {
15298
+ mergeArgs.unshift(exp);
15299
+ continue;
15300
+ }
15301
+ pushRefVForMarker();
15302
+ pushMergeArg();
15303
+ mergeArgs.push(exp);
15304
+ } else pushMergeArg({
15305
+ type: 14,
15306
+ loc,
15307
+ callee: context.helper(TO_HANDLERS),
15308
+ arguments: isComponent ? [exp] : [exp, `true`]
15309
+ });
15310
+ } else context.onError(createCompilerError(isVBind ? 34 : 35, loc));
15088
15311
  continue;
15089
15312
  }
15090
15313
  if (isVBind && modifiers.some((mod) => mod.content === "prop")) patchFlag |= 32;
@@ -15142,9 +15365,7 @@ function buildProps(node, context, props = node.props, isComponent, isDynamicCom
15142
15365
  } else propsExpression = createCallExpression(context.helper(NORMALIZE_PROPS), [propsExpression]);
15143
15366
  break;
15144
15367
  case 14: break;
15145
- default:
15146
- propsExpression = createCallExpression(context.helper(NORMALIZE_PROPS), [createCallExpression(context.helper(GUARD_REACTIVE_PROPS), [propsExpression])]);
15147
- break;
15368
+ default: propsExpression = createCallExpression(context.helper(NORMALIZE_PROPS), [createCallExpression(context.helper(GUARD_REACTIVE_PROPS), [propsExpression])]);
15148
15369
  }
15149
15370
  return {
15150
15371
  props: propsExpression,
@@ -15250,10 +15471,12 @@ function processSlotOutlet(node, context) {
15250
15471
  for (let i = 0; i < node.props.length; i++) {
15251
15472
  const p = node.props[i];
15252
15473
  if (p.type === 6) {
15253
- if (p.value) if (p.name === "name") slotName = JSON.stringify(p.value.content);
15254
- else {
15255
- p.name = camelize(p.name);
15256
- nonNameProps.push(p);
15474
+ if (p.value) {
15475
+ if (p.name === "name") slotName = JSON.stringify(p.value.content);
15476
+ else {
15477
+ p.name = camelize(p.name);
15478
+ nonNameProps.push(p);
15479
+ }
15257
15480
  }
15258
15481
  } else if (p.name === "bind" && isStaticArgOf(p.arg, "name")) {
15259
15482
  if (p.exp) slotName = p.exp;
@@ -15279,17 +15502,18 @@ const transformOn$1 = (dir, node, context, augmentor) => {
15279
15502
  const { loc, modifiers, arg } = dir;
15280
15503
  if (!dir.exp && !modifiers.length) context.onError(createCompilerError(35, loc));
15281
15504
  let eventName;
15282
- if (arg.type === 4) if (arg.isStatic) {
15283
- let rawName = arg.content;
15284
- if (rawName.startsWith("vnode")) context.onError(createCompilerError(52, arg.loc));
15285
- if (rawName.startsWith("vue:")) rawName = `vnode-${rawName.slice(4)}`;
15286
- eventName = createSimpleExpression(node.tagType !== 0 || rawName.startsWith("vnode") || !/[A-Z]/.test(rawName) ? toHandlerKey(camelize(rawName)) : `on:${rawName}`, true, arg.loc);
15287
- } else eventName = createCompoundExpression([
15288
- `${context.helperString(TO_HANDLER_KEY)}(`,
15289
- arg,
15290
- `)`
15291
- ]);
15292
- else {
15505
+ if (arg.type === 4) {
15506
+ if (arg.isStatic) {
15507
+ let rawName = arg.content;
15508
+ if (rawName.startsWith("vnode")) context.onError(createCompilerError(52, arg.loc));
15509
+ if (rawName.startsWith("vue:")) rawName = `vnode-${rawName.slice(4)}`;
15510
+ eventName = createSimpleExpression(node.tagType !== 0 || rawName.startsWith("vnode") || !/[A-Z]/.test(rawName) ? toHandlerKey(camelize(rawName)) : `on:${rawName}`, true, arg.loc);
15511
+ } else eventName = createCompoundExpression([
15512
+ `${context.helperString(TO_HANDLER_KEY)}(`,
15513
+ arg,
15514
+ `)`
15515
+ ]);
15516
+ } else {
15293
15517
  eventName = arg;
15294
15518
  eventName.children.unshift(`${context.helperString(TO_HANDLER_KEY)}(`);
15295
15519
  eventName.children.push(`)`);
@@ -15325,11 +15549,14 @@ const transformBind = (dir, _node, context) => {
15325
15549
  arg.children.unshift(`(`);
15326
15550
  arg.children.push(`) || ""`);
15327
15551
  } else if (!arg.isStatic) arg.content = arg.content ? `${arg.content} || ""` : `""`;
15328
- if (modifiers.some((mod) => mod.content === "camel")) if (arg.type === 4) if (arg.isStatic) arg.content = camelize(arg.content);
15329
- else arg.content = `${context.helperString(CAMELIZE)}(${arg.content})`;
15330
- else {
15331
- arg.children.unshift(`${context.helperString(CAMELIZE)}(`);
15332
- arg.children.push(`)`);
15552
+ if (modifiers.some((mod) => mod.content === "camel")) {
15553
+ if (arg.type === 4) {
15554
+ if (arg.isStatic) arg.content = camelize(arg.content);
15555
+ else arg.content = `${context.helperString(CAMELIZE)}(${arg.content})`;
15556
+ } else {
15557
+ arg.children.unshift(`${context.helperString(CAMELIZE)}(`);
15558
+ arg.children.push(`)`);
15559
+ }
15333
15560
  }
15334
15561
  if (!context.inSSR) {
15335
15562
  if (modifiers.some((mod) => mod.content === "prop")) injectPrefix(arg, ".");
@@ -15338,9 +15565,10 @@ const transformBind = (dir, _node, context) => {
15338
15565
  return { props: [createObjectProperty(arg, exp)] };
15339
15566
  };
15340
15567
  const injectPrefix = (arg, prefix) => {
15341
- if (arg.type === 4) if (arg.isStatic) arg.content = prefix + arg.content;
15342
- else arg.content = `\`${prefix}\${${arg.content}}\``;
15343
- else {
15568
+ if (arg.type === 4) {
15569
+ if (arg.isStatic) arg.content = prefix + arg.content;
15570
+ else arg.content = `\`${prefix}\${${arg.content}}\``;
15571
+ } else {
15344
15572
  arg.children.unshift(`'${prefix}' + (`);
15345
15573
  arg.children.push(`)`);
15346
15574
  }
@@ -15487,11 +15715,12 @@ function parseFilter(node, context) {
15487
15715
  if (c === 96 && prev !== 92) inTemplateString = false;
15488
15716
  } else if (inRegex) {
15489
15717
  if (c === 47 && prev !== 92) inRegex = false;
15490
- } else if (c === 124 && exp.charCodeAt(i + 1) !== 124 && exp.charCodeAt(i - 1) !== 124 && !curly && !square && !paren) if (expression === void 0) {
15491
- lastFilterIndex = i + 1;
15492
- expression = exp.slice(0, i).trim();
15493
- } else pushFilter();
15494
- else {
15718
+ } else if (c === 124 && exp.charCodeAt(i + 1) !== 124 && exp.charCodeAt(i - 1) !== 124 && !curly && !square && !paren) {
15719
+ if (expression === void 0) {
15720
+ lastFilterIndex = i + 1;
15721
+ expression = exp.slice(0, i).trim();
15722
+ } else pushFilter();
15723
+ } else {
15495
15724
  switch (c) {
15496
15725
  case 34:
15497
15726
  inDouble = true;
@@ -15517,9 +15746,7 @@ function parseFilter(node, context) {
15517
15746
  case 123:
15518
15747
  curly++;
15519
15748
  break;
15520
- case 125:
15521
- curly--;
15522
- break;
15749
+ case 125: curly--;
15523
15750
  }
15524
15751
  if (c === 47) {
15525
15752
  let j = i - 1;
@@ -15795,9 +16022,7 @@ const transformModel = (dir, node, context) => {
15795
16022
  isInvalidType = true;
15796
16023
  context.onError(createDOMCompilerError(60, dir.loc));
15797
16024
  break;
15798
- default:
15799
- checkDuplicatedValue();
15800
- break;
16025
+ default: checkDuplicatedValue();
15801
16026
  }
15802
16027
  } else if (hasDynamicKeyVBind(node)) directiveToUse = V_MODEL_DYNAMIC;
15803
16028
  else checkDuplicatedValue();
@@ -15810,10 +16035,10 @@ const transformModel = (dir, node, context) => {
15810
16035
  };
15811
16036
  //#endregion
15812
16037
  //#region packages/compiler-dom/src/transforms/vOn.ts
15813
- const isEventOptionModifier = /* @__PURE__ */ makeMap(`passive,once,capture`);
15814
- const isNonKeyModifier = /* @__PURE__ */ makeMap("stop,prevent,self,ctrl,shift,alt,meta,exact,middle");
15815
- const maybeKeyModifier = /* @__PURE__ */ makeMap("left,right");
15816
- const isKeyboardEvent = /* @__PURE__ */ makeMap(`onkeyup,onkeydown,onkeypress`);
16038
+ const isEventOptionModifier = /*@__PURE__*/ makeMap(`passive,once,capture`);
16039
+ const isNonKeyModifier = /*@__PURE__*/ makeMap("stop,prevent,self,ctrl,shift,alt,meta,exact,middle");
16040
+ const maybeKeyModifier = /*@__PURE__*/ makeMap("left,right");
16041
+ const isKeyboardEvent = /*@__PURE__*/ makeMap(`onkeyup,onkeydown,onkeypress`);
15817
16042
  const resolveModifiers = (key, modifiers, context, loc) => {
15818
16043
  const keyModifiers = [];
15819
16044
  const nonKeyModifiers = [];
@@ -15832,13 +16057,15 @@ const resolveModifiers = (key, modifiers, context, loc) => {
15832
16057
  else if (isEventOptionModifier(modifier)) eventOptionModifiers.push(modifier);
15833
16058
  else {
15834
16059
  const keyString = isString(key) ? key : isStaticExp(key) ? key.content : null;
15835
- if (maybeKeyModifier(modifier)) if (keyString) if (isKeyboardEvent(keyString.toLowerCase())) keyModifiers.push(modifier);
15836
- else nonKeyModifiers.push(modifier);
15837
- else {
15838
- keyModifiers.push(modifier);
15839
- nonKeyModifiers.push(modifier);
15840
- }
15841
- else if (isNonKeyModifier(modifier)) nonKeyModifiers.push(modifier);
16060
+ if (maybeKeyModifier(modifier)) {
16061
+ if (keyString) {
16062
+ if (isKeyboardEvent(keyString.toLowerCase())) keyModifiers.push(modifier);
16063
+ else nonKeyModifiers.push(modifier);
16064
+ } else {
16065
+ keyModifiers.push(modifier);
16066
+ nonKeyModifiers.push(modifier);
16067
+ }
16068
+ } else if (isNonKeyModifier(modifier)) nonKeyModifiers.push(modifier);
15842
16069
  else keyModifiers.push(modifier);
15843
16070
  }
15844
16071
  }
@@ -15953,7 +16180,7 @@ function isValidHTMLNesting(parent, child) {
15953
16180
  }
15954
16181
  return true;
15955
16182
  }
15956
- const headings = new Set([
16183
+ const headings = /* @__PURE__ */ new Set([
15957
16184
  "h1",
15958
16185
  "h2",
15959
16186
  "h3",
@@ -15965,7 +16192,7 @@ const emptySet = /* @__PURE__ */ new Set([]);
15965
16192
  /**
15966
16193
  * maps element to set of elements that can be it's children, no other */
15967
16194
  const onlyValidChildren = {
15968
- head: new Set([
16195
+ head: /* @__PURE__ */ new Set([
15969
16196
  "base",
15970
16197
  "basefront",
15971
16198
  "bgsound",
@@ -15978,24 +16205,24 @@ const onlyValidChildren = {
15978
16205
  "script",
15979
16206
  "template"
15980
16207
  ]),
15981
- optgroup: new Set(["option"]),
15982
- select: new Set([
16208
+ optgroup: /* @__PURE__ */ new Set(["option"]),
16209
+ select: /* @__PURE__ */ new Set([
15983
16210
  "optgroup",
15984
16211
  "option",
15985
16212
  "hr"
15986
16213
  ]),
15987
- table: new Set([
16214
+ table: /* @__PURE__ */ new Set([
15988
16215
  "caption",
15989
16216
  "colgroup",
15990
16217
  "tbody",
15991
16218
  "tfoot",
15992
16219
  "thead"
15993
16220
  ]),
15994
- tr: new Set(["td", "th"]),
15995
- colgroup: new Set(["col"]),
15996
- tbody: new Set(["tr"]),
15997
- thead: new Set(["tr"]),
15998
- tfoot: new Set(["tr"]),
16221
+ tr: /* @__PURE__ */ new Set(["td", "th"]),
16222
+ colgroup: /* @__PURE__ */ new Set(["col"]),
16223
+ tbody: /* @__PURE__ */ new Set(["tr"]),
16224
+ thead: /* @__PURE__ */ new Set(["tr"]),
16225
+ tfoot: /* @__PURE__ */ new Set(["tr"]),
15999
16226
  script: emptySet,
16000
16227
  iframe: emptySet,
16001
16228
  option: emptySet,
@@ -16006,30 +16233,30 @@ const onlyValidChildren = {
16006
16233
  /** maps elements to set of elements which can be it's parent, no other */
16007
16234
  const onlyValidParents = {
16008
16235
  html: emptySet,
16009
- body: new Set(["html"]),
16010
- head: new Set(["html"]),
16011
- td: new Set(["tr"]),
16012
- colgroup: new Set(["table"]),
16013
- caption: new Set(["table"]),
16014
- tbody: new Set(["table"]),
16015
- tfoot: new Set(["table"]),
16016
- col: new Set(["colgroup"]),
16017
- th: new Set(["tr"]),
16018
- thead: new Set(["table"]),
16019
- tr: new Set([
16236
+ body: /* @__PURE__ */ new Set(["html"]),
16237
+ head: /* @__PURE__ */ new Set(["html"]),
16238
+ td: /* @__PURE__ */ new Set(["tr"]),
16239
+ colgroup: /* @__PURE__ */ new Set(["table"]),
16240
+ caption: /* @__PURE__ */ new Set(["table"]),
16241
+ tbody: /* @__PURE__ */ new Set(["table"]),
16242
+ tfoot: /* @__PURE__ */ new Set(["table"]),
16243
+ col: /* @__PURE__ */ new Set(["colgroup"]),
16244
+ th: /* @__PURE__ */ new Set(["tr"]),
16245
+ thead: /* @__PURE__ */ new Set(["table"]),
16246
+ tr: /* @__PURE__ */ new Set([
16020
16247
  "tbody",
16021
16248
  "thead",
16022
16249
  "tfoot"
16023
16250
  ]),
16024
- dd: new Set(["dl", "div"]),
16025
- dt: new Set(["dl", "div"]),
16026
- figcaption: new Set(["figure"]),
16027
- summary: new Set(["details"]),
16028
- area: new Set(["map"])
16251
+ dd: /* @__PURE__ */ new Set(["dl", "div"]),
16252
+ dt: /* @__PURE__ */ new Set(["dl", "div"]),
16253
+ figcaption: /* @__PURE__ */ new Set(["figure"]),
16254
+ summary: /* @__PURE__ */ new Set(["details"]),
16255
+ area: /* @__PURE__ */ new Set(["map"])
16029
16256
  };
16030
16257
  /** maps element to set of elements that can not be it's children, others can */
16031
16258
  const knownInvalidChildren = {
16032
- p: new Set([
16259
+ p: /* @__PURE__ */ new Set([
16033
16260
  "address",
16034
16261
  "article",
16035
16262
  "aside",
@@ -16064,7 +16291,7 @@ const knownInvalidChildren = {
16064
16291
  "table",
16065
16292
  "ul"
16066
16293
  ]),
16067
- svg: new Set([
16294
+ svg: /* @__PURE__ */ new Set([
16068
16295
  "b",
16069
16296
  "blockquote",
16070
16297
  "br",
@@ -16105,12 +16332,12 @@ const knownInvalidChildren = {
16105
16332
  };
16106
16333
  /** maps element to set of elements that can not be it's parent, others can */
16107
16334
  const knownInvalidParents = {
16108
- a: new Set(["a"]),
16109
- button: new Set(["button"]),
16110
- dd: new Set(["dd", "dt"]),
16111
- dt: new Set(["dd", "dt"]),
16112
- form: new Set(["form"]),
16113
- li: new Set(["li"]),
16335
+ a: /* @__PURE__ */ new Set(["a"]),
16336
+ button: /* @__PURE__ */ new Set(["button"]),
16337
+ dd: /* @__PURE__ */ new Set(["dd", "dt"]),
16338
+ dt: /* @__PURE__ */ new Set(["dd", "dt"]),
16339
+ form: /* @__PURE__ */ new Set(["form"]),
16340
+ li: /* @__PURE__ */ new Set(["li"]),
16114
16341
  h1: headings,
16115
16342
  h2: headings,
16116
16343
  h3: headings,
@@ -16153,10 +16380,12 @@ function compile(src, options = {}) {
16153
16380
  //#region packages/vue-compat/src/index.ts
16154
16381
  const compileCache = Object.create(null);
16155
16382
  function compileToFunction(template, options) {
16156
- if (!isString(template)) if (template.nodeType) template = template.innerHTML;
16157
- else {
16158
- warn(`invalid template option: `, template);
16159
- return NOOP;
16383
+ if (!isString(template)) {
16384
+ if (template.nodeType) template = template.innerHTML;
16385
+ else {
16386
+ warn(`invalid template option: `, template);
16387
+ return NOOP;
16388
+ }
16160
16389
  }
16161
16390
  const key = genCacheKey(template, options);
16162
16391
  const cached = compileCache[key];