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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/compat v3.6.0-rc.5
2
+ * @vue/compat v3.6.0-rc.6
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -23,7 +23,7 @@ var __exportAll = (all, no_symbols) => {
23
23
  * \/\*#\_\_PURE\_\_\*\/
24
24
  * So that they can be tree-shaken if necessary.
25
25
  */
26
- /* @__NO_SIDE_EFFECTS__ */
26
+ /*@__NO_SIDE_EFFECTS__*/
27
27
  function makeMap(str) {
28
28
  const map = Object.create(null);
29
29
  for (const key of str.split(",")) map[key] = 1;
@@ -67,9 +67,9 @@ const toRawType = (value) => {
67
67
  };
68
68
  const isPlainObject = (val) => toTypeString(val) === "[object Object]";
69
69
  const isIntegerKey = (key) => isString(key) && key !== "NaN" && key[0] !== "-" && "" + parseInt(key, 10) === key;
70
- const isReservedProp = /* @__PURE__ */ makeMap(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted");
71
- const isBuiltInTag = /* @__PURE__ */ makeMap("slot,component");
72
- const isBuiltInDirective = /* @__PURE__ */ makeMap("bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo");
70
+ const isReservedProp = /*@__PURE__*/ makeMap(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted");
71
+ const isBuiltInTag = /*#__PURE__*/ makeMap("slot,component");
72
+ const isBuiltInDirective = /*@__PURE__*/ makeMap("bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo");
73
73
  const cacheStringFunction = (fn) => {
74
74
  const cache = Object.create(null);
75
75
  return ((str) => {
@@ -177,7 +177,7 @@ const slotFlagsText = {
177
177
  [2]: "DYNAMIC",
178
178
  [3]: "FORWARDED"
179
179
  };
180
- const isGloballyAllowed = /* @__PURE__ */ makeMap("Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error,Symbol");
180
+ const isGloballyAllowed = /*@__PURE__*/ makeMap("Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error,Symbol");
181
181
  //#endregion
182
182
  //#region packages/shared/src/codeframe.ts
183
183
  const range = 2;
@@ -284,22 +284,22 @@ const VOID_TAGS = "area,base,br,col,embed,hr,img,input,link,meta,param,source,tr
284
284
  * Compiler only.
285
285
  * Do NOT use in runtime code paths unless behind `__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;
@@ -4253,11 +4316,12 @@ function createHydrationFunctions(rendererInternals) {
4253
4316
  let nextNode = null;
4254
4317
  switch (type) {
4255
4318
  case Text:
4256
- if (domType !== 3) if (vnode.children === "") {
4257
- insert(vnode.el = createText(""), parentNode(node), node);
4258
- nextNode = node;
4259
- } else nextNode = onMismatch();
4260
- 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 {
4261
4325
  if (node.data !== vnode.children) {
4262
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)}`);
4263
4327
  logMismatchError();
@@ -4296,9 +4360,10 @@ function createHydrationFunctions(rendererInternals) {
4296
4360
  case VaporSlot:
4297
4361
  nextNode = getVaporInterface(parentComponent, vnode).hydrateSlot(vnode, node, parentComponent, parentSuspense, slotScopeIds);
4298
4362
  break;
4299
- default: if (shapeFlag & 1) if ((domType !== 1 || vnode.type.toLowerCase() !== node.tagName.toLowerCase()) && !isTemplateNode$1(node)) nextNode = onMismatch();
4300
- else nextNode = hydrateElement(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized);
4301
- 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) {
4302
4367
  vnode.slotScopeIds = slotScopeIds;
4303
4368
  const container = parentNode(node);
4304
4369
  if (isFragmentStart) nextNode = locateClosingAnchor(node);
@@ -4320,19 +4385,20 @@ function createHydrationFunctions(rendererInternals) {
4320
4385
  } else {
4321
4386
  mountComponent(vnode, container, null, parentComponent, parentSuspense, getContainerType(container), optimized);
4322
4387
  const component = vnode.component;
4323
- if (isAsyncWrapper(vnode) && !vnode.type.__asyncResolved || component.asyncDep && !component.asyncResolved) {
4388
+ if (!component.subTree && (isAsyncWrapper(vnode) || component.asyncDep && !component.asyncResolved)) {
4324
4389
  let subTree;
4325
4390
  if (isFragmentStart) {
4326
- subTree = createVNode(Fragment);
4391
+ subTree = createVNode(Static);
4327
4392
  subTree.anchor = nextNode ? nextNode.previousSibling : container.lastChild;
4328
4393
  } else subTree = node.nodeType === 3 ? createTextVNode("") : createVNode("div");
4329
4394
  subTree.el = node;
4330
4395
  component.subTree = subTree;
4331
4396
  }
4332
4397
  }
4333
- } else if (shapeFlag & 64) if (domType !== 8) nextNode = onMismatch();
4334
- else nextNode = vnode.type.hydrate(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, rendererInternals, hydrateChildren);
4335
- 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);
4336
4402
  else warn$1("Invalid HostVNode type:", type, `(${typeof type})`);
4337
4403
  }
4338
4404
  if (ref != null) setRef(ref, null, parentSuspense, vnode);
@@ -4473,8 +4539,10 @@ function createHydrationFunctions(rendererInternals) {
4473
4539
  node = nextSibling(node);
4474
4540
  if (node && isComment(node)) {
4475
4541
  if (node.data === open) match++;
4476
- if (node.data === close) if (match === 0) return nextSibling(node);
4477
- else match--;
4542
+ if (node.data === close) {
4543
+ if (match === 0) return nextSibling(node);
4544
+ else match--;
4545
+ }
4478
4546
  }
4479
4547
  }
4480
4548
  return node;
@@ -4496,7 +4564,7 @@ const isTemplateNode$1 = (node) => {
4496
4564
  /**
4497
4565
  * Dev only
4498
4566
  */
4499
- const resourceProps = /* @__PURE__ */ new Set([
4567
+ const resourceProps = /*@__PURE__*/ new Set([
4500
4568
  "src",
4501
4569
  "srcset",
4502
4570
  "href",
@@ -4738,7 +4806,7 @@ function forEachElement(node, cb) {
4738
4806
  //#endregion
4739
4807
  //#region packages/runtime-core/src/apiAsyncComponent.ts
4740
4808
  const isAsyncWrapper = (i) => !!i.type.__asyncLoader;
4741
- /* @__NO_SIDE_EFFECTS__ */
4809
+ /*@__NO_SIDE_EFFECTS__*/
4742
4810
  function defineAsyncComponent(source) {
4743
4811
  const { load, getResolvedComp, setPendingRequest, source: { loadingComponent, errorComponent, delay, hydrate: hydrateStrategy, timeout, suspensible = true } } = createAsyncComponentContext(source);
4744
4812
  return /* @__PURE__ */ defineComponent({
@@ -4953,10 +5021,13 @@ const KeepAliveImpl = {
4953
5021
  });
4954
5022
  let pendingCacheKey = null;
4955
5023
  const cacheSubtree = () => {
4956
- if (pendingCacheKey != null) if (isSuspense(keepAliveInstance.subTree.type)) queuePostRenderEffect(() => {
4957
- cache.set(pendingCacheKey, getInnerChild(keepAliveInstance.subTree));
4958
- }, void 0, keepAliveInstance.subTree.suspense);
4959
- 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
+ }
4960
5031
  };
4961
5032
  onMounted(cacheSubtree);
4962
5033
  onUpdated(cacheSubtree);
@@ -5027,7 +5098,7 @@ const decorate$2 = (t) => {
5027
5098
  t.__isBuiltIn = true;
5028
5099
  return t;
5029
5100
  };
5030
- const KeepAlive = /* @__PURE__ */ decorate$2(KeepAliveImpl);
5101
+ const KeepAlive = /*@__PURE__*/ decorate$2(KeepAliveImpl);
5031
5102
  function matches(pattern, name) {
5032
5103
  if (isArray(pattern)) return pattern.some((p) => matches(p, name));
5033
5104
  else if (isString(pattern)) return pattern.split(",").includes(name);
@@ -5243,16 +5314,17 @@ function compatH(type, propsOrChildren, children) {
5243
5314
  }
5244
5315
  const l = arguments.length;
5245
5316
  const is2ndArgArrayChildren = isArray(propsOrChildren);
5246
- if (l === 2 || is2ndArgArrayChildren) if (isObject(propsOrChildren) && !is2ndArgArrayChildren) {
5247
- if (isVNode(propsOrChildren)) return convertLegacySlots(createVNode(type, null, [propsOrChildren]));
5248
- return convertLegacySlots(convertLegacyDirectives(createVNode(type, convertLegacyProps(propsOrChildren, type)), propsOrChildren));
5249
- } else return convertLegacySlots(createVNode(type, null, propsOrChildren));
5250
- 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 {
5251
5323
  if (isVNode(children)) children = [children];
5252
5324
  return convertLegacySlots(convertLegacyDirectives(createVNode(type, convertLegacyProps(propsOrChildren, type), children), propsOrChildren));
5253
5325
  }
5254
5326
  }
5255
- const skipLegacyRootLevelProps = /* @__PURE__ */ makeMap("staticStyle,staticClass,directives,model,hook");
5327
+ const skipLegacyRootLevelProps = /*@__PURE__*/ makeMap("staticStyle,staticClass,directives,model,hook");
5256
5328
  function convertLegacyProps(legacyProps, type) {
5257
5329
  if (!legacyProps) return null;
5258
5330
  const converted = {};
@@ -5264,8 +5336,10 @@ function convertLegacyProps(legacyProps, type) {
5264
5336
  if (key === "nativeOn") handlerKey += `Native`;
5265
5337
  const existing = converted[handlerKey];
5266
5338
  const incoming = listeners[event];
5267
- if (existing !== incoming) if (existing) converted[handlerKey] = [].concat(existing, incoming);
5268
- else converted[handlerKey] = incoming;
5339
+ if (existing !== incoming) {
5340
+ if (existing) converted[handlerKey] = [].concat(existing, incoming);
5341
+ else converted[handlerKey] = incoming;
5342
+ }
5269
5343
  }
5270
5344
  } else if (!skipLegacyRootLevelProps(key)) converted[key] = legacyProps[key];
5271
5345
  if (legacyProps.staticClass) converted.class = normalizeClass([legacyProps.staticClass, converted.class]);
@@ -5364,7 +5438,7 @@ function convertLegacyFunctionalComponent(comp) {
5364
5438
  const legacyFn = comp.render;
5365
5439
  const Func = (props, ctx) => {
5366
5440
  const instance = getCurrentInstance();
5367
- return legacyFn(compatH, {
5441
+ const legacyCtx = {
5368
5442
  props,
5369
5443
  children: instance.vnode.children || [],
5370
5444
  data: instance.vnode.props || {},
@@ -5384,7 +5458,8 @@ function convertLegacyFunctionalComponent(comp) {
5384
5458
  }
5385
5459
  return {};
5386
5460
  }
5387
- });
5461
+ };
5462
+ return legacyFn(compatH, legacyCtx);
5388
5463
  };
5389
5464
  Func.props = comp.props;
5390
5465
  Func.displayName = comp.name;
@@ -5413,23 +5488,25 @@ function renderList(source, renderItem, cache, index) {
5413
5488
  }
5414
5489
  ret = new Array(source.length);
5415
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]);
5416
- } else if (typeof source === "number") if (!Number.isInteger(source) || source < 0) {
5417
- warn$1(`The v-for range expects a positive integer value but got ${source}.`);
5418
- ret = [];
5419
- } else {
5420
- ret = new Array(source);
5421
- for (let i = 0; i < source; i++) ret[i] = renderItem(i + 1, i, void 0, cached && cached[i]);
5422
- }
5423
- else if (isObject(source)) if (source[Symbol.iterator]) ret = Array.from(source, (item, i) => renderItem(item, i, void 0, cached && cached[i]));
5424
- else {
5425
- const keys = Object.keys(source);
5426
- ret = new Array(keys.length);
5427
- for (let i = 0, l = keys.length; i < l; i++) {
5428
- const key = keys[i];
5429
- 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]);
5430
5498
  }
5431
- }
5432
- 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 = [];
5433
5510
  if (cache) cache[index] = ret;
5434
5511
  return ret;
5435
5512
  }
@@ -5454,14 +5531,27 @@ function createSlots(slots, dynamicSlots) {
5454
5531
  //#endregion
5455
5532
  //#region packages/runtime-core/src/helpers/renderSlot.ts
5456
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
+ /**
5457
5547
  * Compiler runtime helper for rendering `<slot/>`
5458
5548
  * @private
5459
5549
  */
5460
5550
  function renderSlot(slots, name, props, fallback, noSlotted, branchKey) {
5461
5551
  if (props == null) props = {};
5462
5552
  let slot = slots[name];
5463
- if (fallback) fallback.__vdom = true;
5464
- const vaporSlot = slot && (slot.__vs || (slot.__vapor ? slot : null));
5553
+ if (fallback) fallback[vdomSlotFallbackKey] = true;
5554
+ const vaporSlot = slot && slot[rawVaporSlotKey];
5465
5555
  if (vaporSlot) {
5466
5556
  const ret = (openBlock(), createBlock(VaporSlot, props));
5467
5557
  ret.vs = {
@@ -5569,12 +5659,14 @@ function legacyResolveScopedSlots(fns, raw, hasDynamicKeys) {
5569
5659
  function mapKeyToName(slots) {
5570
5660
  for (let i = 0; i < slots.length; i++) {
5571
5661
  const fn = slots[i];
5572
- if (fn) if (isArray(fn)) mapKeyToName(fn);
5573
- else fn.name = fn.key || "default";
5662
+ if (fn) {
5663
+ if (isArray(fn)) mapKeyToName(fn);
5664
+ else fn.name = fn.key || "default";
5665
+ }
5574
5666
  }
5575
5667
  return slots;
5576
5668
  }
5577
- const staticCacheMap = /* @__PURE__ */ new WeakMap();
5669
+ const staticCacheMap = /*@__PURE__*/ new WeakMap();
5578
5670
  function legacyRenderStatic(instance, index) {
5579
5671
  let cache = staticCacheMap.get(instance);
5580
5672
  if (!cache) staticCacheMap.set(instance, cache = []);
@@ -5707,11 +5799,38 @@ const getPublicInstance = (i) => {
5707
5799
  if (isStatefulComponent(i)) return getComponentPublicInstance(i);
5708
5800
  return getPublicInstance(i.parent);
5709
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
+ };
5710
5829
  let publicPropertiesMap;
5711
5830
  const getPublicPropertiesMap = () => {
5712
5831
  if (!publicPropertiesMap) publicPropertiesMap = extend(Object.create(null), {
5713
5832
  $: (i) => i,
5714
- $el: (i) => i.vnode.el,
5833
+ $el: (i) => getDevRootFragmentEl(i),
5715
5834
  $data: (i) => i.data,
5716
5835
  $props: (i) => /* @__PURE__ */ shallowReadonly(i.props),
5717
5836
  $attrs: (i) => /* @__PURE__ */ shallowReadonly(i.attrs),
@@ -5824,7 +5943,7 @@ PublicInstanceProxyHandlers.ownKeys = (target) => {
5824
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.");
5825
5944
  return Reflect.ownKeys(target);
5826
5945
  };
5827
- const RuntimeCompiledPublicInstanceProxyHandlers = /* @__PURE__ */ extend({}, PublicInstanceProxyHandlers, {
5946
+ const RuntimeCompiledPublicInstanceProxyHandlers = /*@__PURE__*/ extend({}, PublicInstanceProxyHandlers, {
5828
5947
  get(target, key) {
5829
5948
  if (key === Symbol.unscopables) return;
5830
5949
  return PublicInstanceProxyHandlers.get(target, key, target);
@@ -6009,12 +6128,13 @@ function mergeDefaults(raw, defaults) {
6009
6128
  for (const key in defaults) {
6010
6129
  if (key.startsWith("__skip")) continue;
6011
6130
  let opt = props[key];
6012
- if (opt) if (isArray(opt) || isFunction(opt)) opt = props[key] = {
6013
- type: opt,
6014
- default: defaults[key]
6015
- };
6016
- else opt.default = defaults[key];
6017
- 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] };
6018
6138
  else warn$1(`props default key "${key}" has no corresponding declaration.`);
6019
6139
  if (opt && defaults[`__skip_${key}`]) opt.skipFactory = true;
6020
6140
  }
@@ -6157,11 +6277,12 @@ function applyOptions(instance) {
6157
6277
  const opt = computedOptions[key];
6158
6278
  const get = isFunction(opt) ? opt.bind(publicThis, publicThis) : isFunction(opt.get) ? opt.get.bind(publicThis, publicThis) : NOOP;
6159
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
+ };
6160
6283
  const c = computed({
6161
6284
  get,
6162
- set: !isFunction(opt) && isFunction(opt.set) ? opt.set.bind(publicThis) : () => {
6163
- warn$1(`Write operation failed: computed property "${key}" is readonly.`);
6164
- }
6285
+ set
6165
6286
  });
6166
6287
  Object.defineProperty(ctx, key, {
6167
6288
  enumerable: true,
@@ -6220,9 +6341,10 @@ function resolveInjections(injectOptions, ctx, checkDuplicateProperties = NOOP)
6220
6341
  for (const key in injectOptions) {
6221
6342
  const opt = injectOptions[key];
6222
6343
  let injected;
6223
- if (isObject(opt)) if ("default" in opt) injected = inject(opt.from || key, opt.default, true);
6224
- else injected = inject(opt.from || key);
6225
- 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);
6226
6348
  if (/* @__PURE__ */ isRef(injected)) Object.defineProperty(ctx, key, {
6227
6349
  enumerable: true,
6228
6350
  configurable: true,
@@ -6242,7 +6364,8 @@ function createWatcher(raw, ctx, publicThis, key) {
6242
6364
  {
6243
6365
  const cur = getCurrentInstance();
6244
6366
  const instance = cur && getCurrentScope() === cur.scope ? cur : null;
6245
- 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;
6246
6369
  const baseGetter = getter;
6247
6370
  getter = () => {
6248
6371
  const val = baseGetter();
@@ -6255,13 +6378,14 @@ function createWatcher(raw, ctx, publicThis, key) {
6255
6378
  if (isFunction(handler)) watch(getter, handler, options);
6256
6379
  else warn$1(`Invalid watch handler specified by key "${raw}"`, handler);
6257
6380
  } else if (isFunction(raw)) watch(getter, raw.bind(publicThis), options);
6258
- else if (isObject(raw)) if (isArray(raw)) raw.forEach((r) => createWatcher(r, ctx, publicThis, key));
6259
- else {
6260
- const handler = isFunction(raw.handler) ? raw.handler.bind(publicThis) : ctx[raw.handler];
6261
- if (isFunction(handler)) watch(getter, handler, extend(raw, options));
6262
- else warn$1(`Invalid watch handler specified by key "${raw.handler}"`, handler);
6263
- }
6264
- 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);
6265
6389
  }
6266
6390
  /**
6267
6391
  * Resolve merged options and cache it on the component.
@@ -6275,12 +6399,13 @@ function resolveMergedOptions(instance) {
6275
6399
  const cached = cache.get(base);
6276
6400
  let resolved;
6277
6401
  if (cached) resolved = cached;
6278
- else if (!globalMixins.length && !mixins && !extendsOptions) if (isCompatEnabled$1("PRIVATE_APIS", instance)) {
6279
- resolved = extend({}, base);
6280
- resolved.parent = instance.parent && instance.parent.proxy;
6281
- resolved.propsData = instance.vnode.props;
6282
- } else resolved = base;
6283
- 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 {
6284
6409
  resolved = {};
6285
6410
  if (globalMixins.length) globalMixins.forEach((m) => mergeOptions(resolved, m, optionMergeStrategies, true));
6286
6411
  mergeOptions(resolved, base, optionMergeStrategies);
@@ -6353,7 +6478,7 @@ function mergeObjectOptions(to, from) {
6353
6478
  }
6354
6479
  function mergeEmitsOrPropsOptions(to, from) {
6355
6480
  if (to) {
6356
- if (isArray(to) && isArray(from)) return [...new Set([...to, ...from])];
6481
+ if (isArray(to) && isArray(from)) return [.../* @__PURE__ */ new Set([...to, ...from])];
6357
6482
  return extend(Object.create(null), normalizePropsOrEmits(to), normalizePropsOrEmits(from !== null && from !== void 0 ? from : {}));
6358
6483
  } else return from;
6359
6484
  }
@@ -6414,7 +6539,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
6414
6539
  if (options.el) return vm.$mount(options.el);
6415
6540
  else return vm;
6416
6541
  }
6417
- Vue.version = `2.6.14-compat:3.6.0-rc.5`;
6542
+ Vue.version = `2.6.14-compat:3.6.0-rc.6`;
6418
6543
  Vue.config = singletonApp.config;
6419
6544
  Vue.use = (plugin, ...options) => {
6420
6545
  if (plugin && isFunction(plugin.install)) plugin.install(Vue, ...options);
@@ -6804,8 +6929,10 @@ function createAppAPI(mount, unmount, getPublicInstance, render) {
6804
6929
  } else warn$1(`Cannot unmount an app that is not mounted.`);
6805
6930
  },
6806
6931
  provide(key, value) {
6807
- 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.`);
6808
- 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
+ }
6809
6936
  context.provides[key] = value;
6810
6937
  return app;
6811
6938
  },
@@ -6955,12 +7082,14 @@ function baseEmit(instance, props, getter, event, ...rawArgs) {
6955
7082
  if (instance.isUnmounted) return;
6956
7083
  {
6957
7084
  const { emitsOptions, propsOptions } = instance;
6958
- if (emitsOptions) if (!(event in emitsOptions) && !(event.startsWith("hook:") || event.startsWith(compatModelEventPrefix))) {
6959
- 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.`);
6960
- } else {
6961
- const validator = emitsOptions[event];
6962
- if (isFunction(validator)) {
6963
- 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
+ }
6964
7093
  }
6965
7094
  }
6966
7095
  }
@@ -6970,7 +7099,7 @@ function baseEmit(instance, props, getter, event, ...rawArgs) {
6970
7099
  const modifiers = isCompatModelListener ? props.modelModifiers : isModelListener && getModelModifiers(props, event.slice(7), getter);
6971
7100
  if (modifiers) {
6972
7101
  if (modifiers.trim) args = rawArgs.map((a) => isString(a) ? a.trim() : a);
6973
- if (modifiers.number) args = rawArgs.map(looseToNumber);
7102
+ if (modifiers.number) args = args.map(looseToNumber);
6974
7103
  }
6975
7104
  devtoolsComponentEmit(instance, event, args);
6976
7105
  {
@@ -7165,10 +7294,12 @@ function filterSingleRoot(children, recurse = true) {
7165
7294
  for (let i = 0; i < children.length; i++) {
7166
7295
  const child = children[i];
7167
7296
  if (isVNode(child)) {
7168
- if (child.type !== Comment || child.children === "v-if") if (singleRoot) return;
7169
- else {
7170
- singleRoot = child;
7171
- 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
+ }
7172
7303
  }
7173
7304
  } else return;
7174
7305
  }
@@ -7313,16 +7444,17 @@ function updateProps(instance, rawProps, rawPrevProps, optimized) {
7313
7444
  let key = propsToUpdate[i];
7314
7445
  if (isEmitListener(instance.emitsOptions, key)) continue;
7315
7446
  const value = rawProps[key];
7316
- if (options) if (hasOwn(attrs, key)) {
7317
- if (value !== attrs[key]) {
7318
- attrs[key] = value;
7319
- 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);
7320
7456
  }
7321
7457
  } else {
7322
- const camelizedKey = camelize(key);
7323
- props[camelizedKey] = resolvePropValue(options, camelizedKey, value, instance, baseResolveDefault);
7324
- }
7325
- else {
7326
7458
  if (isOn(key) && key.endsWith("Native")) key = key.slice(0, -6);
7327
7459
  else if (shouldSkipAttr(key, instance)) continue;
7328
7460
  if (value !== attrs[key]) {
@@ -7335,9 +7467,11 @@ function updateProps(instance, rawProps, rawPrevProps, optimized) {
7335
7467
  } else {
7336
7468
  if (setFullProps(instance, rawProps, props, attrs)) hasAttrsChanged = true;
7337
7469
  let kebabKey;
7338
- for (const key in rawCurrentProps) if (!rawProps || !hasOwn(rawProps, key) && ((kebabKey = hyphenate(key)) === key || !hasOwn(rawProps, kebabKey))) if (options) {
7339
- if (rawPrevProps && (rawPrevProps[key] !== void 0 || rawPrevProps[kebabKey] !== void 0)) props[key] = resolvePropValue(options, key, void 0, instance, baseResolveDefault, true);
7340
- } 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
+ }
7341
7475
  if (attrs !== rawCurrentProps) {
7342
7476
  for (const key in attrs) if (!rawProps || !hasOwn(rawProps, key) && !hasOwn(rawProps, key + "Native")) {
7343
7477
  delete attrs[key];
@@ -7358,9 +7492,10 @@ function setFullProps(instance, rawProps, props, attrs) {
7358
7492
  if (key === "inline-template") continue;
7359
7493
  const value = rawProps[key];
7360
7494
  let camelKey;
7361
- if (options && hasOwn(options, camelKey = camelize(key))) if (!needCastKeys || !needCastKeys.includes(camelKey)) props[camelKey] = value;
7362
- else (rawCastValues || (rawCastValues = {}))[camelKey] = value;
7363
- 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)) {
7364
7499
  if (isOn(key) && key.endsWith("Native")) key = key.slice(0, -6);
7365
7500
  else if (shouldSkipAttr(key, instance)) continue;
7366
7501
  if (!(key in attrs) || value !== attrs[key]) {
@@ -7526,7 +7661,7 @@ function validateProp(key, value, propOptions, resolvedProps, isAbsent) {
7526
7661
  }
7527
7662
  if (validator && !validator(value, /* @__PURE__ */ shallowReadonly(resolvedProps))) warn$1("Invalid prop: custom validator check failed for prop \"" + key + "\".");
7528
7663
  }
7529
- const isSimpleType = /* @__PURE__ */ makeMap("String,Number,Boolean,Function,Symbol,BigInt");
7664
+ const isSimpleType = /*@__PURE__*/ makeMap("String,Number,Boolean,Function,Symbol,BigInt");
7530
7665
  /**
7531
7666
  * dev only
7532
7667
  */
@@ -7639,12 +7774,13 @@ const updateSlots = (instance, children, optimized) => {
7639
7774
  let deletionComparisonTarget = EMPTY_OBJ;
7640
7775
  if (vnode.shapeFlag & 32) {
7641
7776
  const type = children._;
7642
- if (type) if (isHmrUpdating) {
7643
- assignSlots(slots, children, optimized);
7644
- trigger(instance, "set", "$slots");
7645
- } else if (optimized && type === 1) needDeletionCheck = false;
7646
- else assignSlots(slots, children, optimized);
7647
- 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 {
7648
7784
  needDeletionCheck = !children.$stable;
7649
7785
  normalizeObjectSlots(children, slots, instance);
7650
7786
  }
@@ -7662,7 +7798,7 @@ const updateSlots = (instance, children, optimized) => {
7662
7798
  let supported;
7663
7799
  let perf;
7664
7800
  let cachedNow$1 = 0;
7665
- const p$1 = /* @__PURE__ */ Promise.resolve();
7801
+ const p$1 = /*@__PURE__*/ Promise.resolve();
7666
7802
  const getNow$1 = () => cachedNow$1 || (p$1.then(() => cachedNow$1 = 0), cachedNow$1 = isSupported() ? perf.now() : Date.now());
7667
7803
  /**
7668
7804
  * @internal
@@ -7878,7 +8014,10 @@ function baseCreateRenderer(options, createHydrationFns) {
7878
8014
  for (let i = 0; i < inheritedScopeIds.length; i++) hostSetScopeId(el, inheritedScopeIds[i]);
7879
8015
  };
7880
8016
  const mountChildren = (children, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, start = 0) => {
7881
- 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
+ }
7882
8021
  };
7883
8022
  const patchElement = (n1, n2, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {
7884
8023
  const el = n2.el = n1.el;
@@ -7890,6 +8029,7 @@ function baseCreateRenderer(options, createHydrationFns) {
7890
8029
  let vnodeHook;
7891
8030
  parentComponent && toggleRecurse(parentComponent, false);
7892
8031
  if (vnodeHook = newProps.onVnodeBeforeUpdate) invokeVNodeHook(vnodeHook, parentComponent, n2, n1);
8032
+ if (n2.ibu) n2.ibu();
7893
8033
  if (dirs) invokeDirectiveHook(n2, n1, parentComponent, "beforeUpdate");
7894
8034
  parentComponent && toggleRecurse(parentComponent, true);
7895
8035
  if (isHmrUpdating || dynamicChildren && (!n1.dynamicChildren || n1.dynamicChildren.length !== dynamicChildren.length)) {
@@ -7923,8 +8063,9 @@ function baseCreateRenderer(options, createHydrationFns) {
7923
8063
  if (n1.children !== n2.children) hostSetElementText(el, n2.children);
7924
8064
  }
7925
8065
  } else if (!optimized && dynamicChildren == null) patchProps(el, oldProps, newProps, parentComponent, namespace);
7926
- if ((vnodeHook = newProps.onVnodeUpdated) || dirs) queuePostRenderEffect(() => {
8066
+ if ((vnodeHook = newProps.onVnodeUpdated) || dirs || n2.iu) queuePostRenderEffect(() => {
7927
8067
  vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, n2, n1);
8068
+ n2.iu && n2.iu();
7928
8069
  dirs && invokeDirectiveHook(n2, n1, parentComponent, "updated");
7929
8070
  }, void 0, parentSuspense);
7930
8071
  };
@@ -7932,7 +8073,8 @@ function baseCreateRenderer(options, createHydrationFns) {
7932
8073
  for (let i = 0; i < newChildren.length; i++) {
7933
8074
  const oldVNode = oldChildren[i];
7934
8075
  const newVNode = newChildren[i];
7935
- 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);
7936
8078
  }
7937
8079
  };
7938
8080
  const patchProps = (el, oldProps, newProps, parentComponent, namespace) => {
@@ -7970,41 +8112,46 @@ function baseCreateRenderer(options, createHydrationFns) {
7970
8112
  };
7971
8113
  const processComponent = (n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {
7972
8114
  n2.slotScopeIds = slotScopeIds;
7973
- if (n2.type.__vapor) if (n1 == null) if (n2.shapeFlag & 512) getVaporInterface(parentComponent, n2).activate(n2, container, anchor, parentComponent, parentSuspense);
7974
- else {
7975
- const vnodeBeforeMountHook = !isAsyncWrapper(n2) && n2.props && n2.props.onVnodeBeforeMount;
7976
- getVaporInterface(parentComponent, n2).mount(n2, container, anchor, parentComponent, parentSuspense, () => {
7977
- if (n2.dirs) {
7978
- invokeDirectiveHook(n2, null, parentComponent, "created");
7979
- 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
+ }
7980
8134
  }
7981
- }, () => {
7982
- if (vnodeBeforeMountHook) invokeVNodeHook(vnodeBeforeMountHook, parentComponent, n2);
7983
- });
7984
- if (n2.dirs) queuePostRenderEffect(() => invokeDirectiveHook(n2, null, parentComponent, "mounted"), void 0, parentSuspense);
7985
- const vnodeMountedHook = !isAsyncWrapper(n2) && n2.props && n2.props.onVnodeMounted;
7986
- if (vnodeMountedHook) {
7987
- const scopedVNode = n2;
7988
- 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);
7989
8150
  }
7990
- }
7991
- else {
7992
- const shouldUpdate = shouldUpdateComponent(n1, n2, optimized);
7993
- getVaporInterface(parentComponent, n2).update(n1, n2, shouldUpdate, () => {
7994
- if (n2.dirs) invokeDirectiveHook(n2, n1, parentComponent, "beforeUpdate");
7995
- }, () => {
7996
- const vnodeBeforeUpdateHook = n2.props && n2.props.onVnodeBeforeUpdate;
7997
- if (vnodeBeforeUpdateHook) invokeVNodeHook(vnodeBeforeUpdateHook, parentComponent, n2, n1);
7998
- });
7999
- const vnodeUpdatedHook = n2.props && n2.props.onVnodeUpdated;
8000
- if (shouldUpdate && (vnodeUpdatedHook || n2.dirs)) queuePostRenderEffect(() => {
8001
- n2.dirs && invokeDirectiveHook(n2, n1, parentComponent, "updated");
8002
- vnodeUpdatedHook && invokeVNodeHook(vnodeUpdatedHook, parentComponent, n2, n1);
8003
- }, void 0, parentSuspense);
8004
- }
8005
- else if (n1 == null) if (n2.shapeFlag & 512) parentComponent.ctx.activate(n2, container, anchor, namespace, optimized);
8006
- else mountComponent(n2, container, anchor, parentComponent, parentSuspense, namespace, optimized);
8007
- 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);
8008
8155
  };
8009
8156
  const mountComponent = (initialVNode, container, anchor, parentComponent, parentSuspense, namespace, optimized) => {
8010
8157
  const compatMountInstance = initialVNode.isCompatRoot && initialVNode.component;
@@ -8048,16 +8195,17 @@ function baseCreateRenderer(options, createHydrationFns) {
8048
8195
  };
8049
8196
  const updateComponent = (n1, n2, optimized) => {
8050
8197
  const instance = n2.component = n1.component;
8051
- if (shouldUpdateComponent(n1, n2, optimized)) if (instance.asyncDep && !instance.asyncResolved) {
8052
- pushWarningContext(n2);
8053
- updateComponentPreRender(instance, n2, optimized);
8054
- popWarningContext();
8055
- 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
+ }
8056
8208
  } else {
8057
- instance.next = n2;
8058
- instance.effect.run();
8059
- }
8060
- else {
8061
8209
  n2.el = n1.el;
8062
8210
  instance.vnode = n2;
8063
8211
  }
@@ -8160,6 +8308,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8160
8308
  } else next = vnode;
8161
8309
  if (bu) invokeArrayFns(bu);
8162
8310
  if (vnodeHook = next.props && next.props.onVnodeBeforeUpdate) invokeVNodeHook(vnodeHook, parent, next, vnode);
8311
+ if (next.ibu) next.ibu();
8163
8312
  if (isCompatEnabled$1("INSTANCE_EVENT_HOOKS", instance)) instance.emit("hook:beforeUpdate");
8164
8313
  toggleRecurse(instance, true);
8165
8314
  startMeasure(instance, `render`);
@@ -8173,7 +8322,10 @@ function baseCreateRenderer(options, createHydrationFns) {
8173
8322
  next.el = nextTree.el;
8174
8323
  if (originNext === null) updateHOCHostEl(instance, nextTree.el);
8175
8324
  if (u) queuePostRenderEffect(u, void 0, parentSuspense);
8176
- 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);
8177
8329
  if (isCompatEnabled$1("INSTANCE_EVENT_HOOKS", instance)) queuePostRenderEffect(() => instance.emit("hook:updated"), void 0, parentSuspense);
8178
8330
  devtoolsComponentUpdated(instance);
8179
8331
  popWarningContext();
@@ -8214,9 +8366,10 @@ function baseCreateRenderer(options, createHydrationFns) {
8214
8366
  if (shapeFlag & 8) {
8215
8367
  if (prevShapeFlag & 16) unmountChildren(c1, parentComponent, parentSuspense);
8216
8368
  if (c2 !== c1) hostSetElementText(container, c2);
8217
- } else if (prevShapeFlag & 16) if (shapeFlag & 16) patchKeyedChildren(c1, c2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
8218
- else unmountChildren(c1, parentComponent, parentSuspense, true);
8219
- 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 {
8220
8373
  if (prevShapeFlag & 8) hostSetElementText(container, "");
8221
8374
  if (shapeFlag & 16) mountChildren(c2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
8222
8375
  }
@@ -8315,8 +8468,10 @@ function baseCreateRenderer(options, createHydrationFns) {
8315
8468
  const anchorVNode = c2[nextIndex + 1];
8316
8469
  const anchor = nextIndex + 1 < l2 ? anchorVNode.el || resolveAsyncComponentPlaceholder(anchorVNode) : parentAnchor;
8317
8470
  if (newIndexToOldIndexMap[i] === 0) patch(null, nextChild, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
8318
- else if (moved) if (j < 0 || i !== increasingNewIndexSequence[j]) move(nextChild, container, anchor, 2, parentComponent);
8319
- else j--;
8471
+ else if (moved) {
8472
+ if (j < 0 || i !== increasingNewIndexSequence[j]) move(nextChild, container, anchor, 2, parentComponent);
8473
+ else j--;
8474
+ }
8320
8475
  }
8321
8476
  }
8322
8477
  };
@@ -8348,26 +8503,27 @@ function baseCreateRenderer(options, createHydrationFns) {
8348
8503
  moveStaticNode(vnode, container, anchor);
8349
8504
  return;
8350
8505
  }
8351
- if (moveType !== 2 && shapeFlag & 1 && transition) if (moveType === 0) performTransitionEnter(el, transition, () => hostInsert(el, container, anchor), parentSuspense, true);
8352
- else {
8353
- const { leave, delayLeave, afterLeave } = transition;
8354
- const remove = () => {
8355
- if (vnode.ctx.isUnmounted) hostRemove(el);
8356
- else hostInsert(el, container, anchor);
8357
- };
8358
- const performLeave = () => {
8359
- const wasLeaving = el._isLeaving || !!el[leaveCbKey];
8360
- if (el._isLeaving) el[leaveCbKey](true);
8361
- if (transition.persisted && !wasLeaving) remove();
8362
- else leave(el, () => {
8363
- remove();
8364
- afterLeave && afterLeave();
8365
- });
8366
- };
8367
- if (delayLeave) delayLeave(el, remove, performLeave);
8368
- else performLeave();
8369
- }
8370
- 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);
8371
8527
  };
8372
8528
  const unmount = (vnode, parentComponent, parentSuspense, doRemove = false, optimized = false) => {
8373
8529
  const { type, props, ref, children, dynamicChildren, shapeFlag, patchFlag, dirs, cacheIndex, memo } = vnode;
@@ -8387,16 +8543,17 @@ function baseCreateRenderer(options, createHydrationFns) {
8387
8543
  const shouldInvokeVnodeHook = !isAsyncWrapper(vnode);
8388
8544
  let vnodeHook;
8389
8545
  if (shouldInvokeVnodeHook && (vnodeHook = props && props.onVnodeBeforeUnmount)) invokeVNodeHook(vnodeHook, parentComponent, vnode);
8390
- if (shapeFlag & 6) if (isVaporComponent(type)) {
8391
- if (dirs) invokeDirectiveHook(vnode, null, parentComponent, "beforeUnmount");
8392
- getVaporInterface(parentComponent, vnode).unmount(vnode, doRemove, parentSuspense);
8393
- if (shouldInvokeVnodeHook && (vnodeHook = props && props.onVnodeUnmounted) || dirs) queuePostRenderEffect(() => {
8394
- dirs && invokeDirectiveHook(vnode, null, parentComponent, "unmounted");
8395
- vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode);
8396
- }, void 0, parentSuspense);
8397
- return;
8398
- } else unmountComponent(vnode.component, parentSuspense, doRemove);
8399
- 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 {
8400
8557
  if (shapeFlag & 128) {
8401
8558
  vnode.suspense.unmount(parentSuspense, doRemove);
8402
8559
  return;
@@ -8530,12 +8687,14 @@ function resolveChildrenNamespace({ type, props }, currentNamespace) {
8530
8687
  return currentNamespace === "svg" && type === "foreignObject" || currentNamespace === "mathml" && type === "annotation-xml" && props && props.encoding && props.encoding.includes("html") ? void 0 : currentNamespace;
8531
8688
  }
8532
8689
  function toggleRecurse({ effect, job, vapor }, allowed) {
8533
- if (!vapor) if (allowed) {
8534
- effect.flags |= 128;
8535
- job.flags |= 2;
8536
- } else {
8537
- effect.flags &= -129;
8538
- 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
+ }
8539
8698
  }
8540
8699
  }
8541
8700
  function needTransition(parentSuspense, transition) {
@@ -8575,8 +8734,10 @@ function traverseStaticChildren(n1, n2, shallow = false) {
8575
8734
  }
8576
8735
  function locateNonHydratedAsyncRoot(instance) {
8577
8736
  const subComponent = instance.subTree && instance.subTree.component;
8578
- if (subComponent) if (subComponent.asyncDep && !subComponent.asyncResolved) return subComponent;
8579
- else return locateNonHydratedAsyncRoot(subComponent);
8737
+ if (subComponent) {
8738
+ if (subComponent.asyncDep && !subComponent.asyncResolved) return subComponent;
8739
+ else return locateNonHydratedAsyncRoot(subComponent);
8740
+ }
8580
8741
  }
8581
8742
  function invalidateMount(hooks) {
8582
8743
  if (hooks) for (let i = 0; i < hooks.length; i++) hooks[i].flags |= 4;
@@ -8697,7 +8858,7 @@ function patchSuspense(n1, n2, container, anchor, parentComponent, namespace, sl
8697
8858
  patch(pendingBranch, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, namespace, slotScopeIds, optimized);
8698
8859
  if (suspense.deps <= 0) suspense.resolve();
8699
8860
  else if (isInFallback) {
8700
- if (!isHydrating) {
8861
+ if (!isHydrating && !suspense.isFallbackMountPending) {
8701
8862
  patch(activeBranch, newFallback, container, anchor, parentComponent, null, namespace, slotScopeIds, optimized);
8702
8863
  setActiveBranch(suspense, newFallback);
8703
8864
  }
@@ -8718,7 +8879,7 @@ function patchSuspense(n1, n2, container, anchor, parentComponent, namespace, sl
8718
8879
  if (isInFallback) {
8719
8880
  patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, namespace, slotScopeIds, optimized);
8720
8881
  if (suspense.deps <= 0) suspense.resolve();
8721
- else {
8882
+ else if (!suspense.isFallbackMountPending) {
8722
8883
  patch(activeBranch, newFallback, container, anchor, parentComponent, null, namespace, slotScopeIds, optimized);
8723
8884
  setActiveBranch(suspense, newFallback);
8724
8885
  }
@@ -8844,8 +9005,9 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
8844
9005
  const mountFallback = () => {
8845
9006
  suspense.isFallbackMountPending = false;
8846
9007
  if (!suspense.isInFallback) return;
8847
- patch(null, fallbackVNode, container, anchor, parentComponent, null, namespace, slotScopeIds, optimized);
8848
- setActiveBranch(suspense, fallbackVNode);
9008
+ const latestFallback = suspense.vnode.ssFallback;
9009
+ patch(null, latestFallback, container, anchor, parentComponent, null, namespace, slotScopeIds, optimized);
9010
+ setActiveBranch(suspense, latestFallback);
8849
9011
  };
8850
9012
  const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === "out-in";
8851
9013
  if (delayEnter) {
@@ -8921,9 +9083,10 @@ function normalizeSuspenseSlot(s) {
8921
9083
  return s;
8922
9084
  }
8923
9085
  function queueEffectWithSuspense(fn, id, suspense) {
8924
- if (suspense && suspense.pendingBranch) if (isArray(fn)) suspense.effects.push(...fn);
8925
- else suspense.effects.push(fn);
8926
- 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);
8927
9090
  }
8928
9091
  function setActiveBranch(suspense, branch) {
8929
9092
  suspense.activeBranch = branch;
@@ -9159,8 +9322,10 @@ function _createVNode(type, props = null, children = null, patchFlag = 0, dynami
9159
9322
  if (isVNode(type)) {
9160
9323
  const cloned = cloneVNode(type, props, true);
9161
9324
  if (children) normalizeChildren(cloned, children);
9162
- if (isBlockTreeEnabled > 0 && !isBlockNode && currentBlock) if (cloned.shapeFlag & 6) currentBlock[currentBlock.indexOf(type)] = cloned;
9163
- 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
+ }
9164
9329
  cloned.patchFlag = -2;
9165
9330
  return cloned;
9166
9331
  }
@@ -9221,7 +9386,9 @@ function cloneVNode(vnode, extraProps, mergeRef = false, cloneTransition = false
9221
9386
  ce: vnode.ce,
9222
9387
  vi: vnode.vi,
9223
9388
  vs: cloneVaporSlotMeta(vnode),
9224
- vb: vnode.vb
9389
+ vb: vnode.vb,
9390
+ ibu: vnode.ibu,
9391
+ iu: vnode.iu
9225
9392
  };
9226
9393
  if (transition && cloneTransition) setTransitionHooks(cloned, transition.clone(cloned));
9227
9394
  defineLegacyVNodeProperties(cloned);
@@ -9285,25 +9452,28 @@ function normalizeChildren(vnode, children) {
9285
9452
  const { shapeFlag } = vnode;
9286
9453
  if (children == null) children = null;
9287
9454
  else if (isArray(children)) type = 16;
9288
- else if (typeof children === "object") if (shapeFlag & 65) {
9289
- const slot = children.default;
9290
- if (slot) {
9291
- slot._c && (slot._d = false);
9292
- normalizeChildren(vnode, slot());
9293
- slot._c && (slot._d = true);
9294
- }
9295
- return;
9296
- } else {
9297
- type = 32;
9298
- const slotFlag = children._;
9299
- if (!slotFlag && !isInternalObject(children)) children._ctx = currentRenderingInstance;
9300
- else if (slotFlag === 3 && currentRenderingInstance) if (currentRenderingInstance.slots._ === 1) children._ = 1;
9301
- else {
9302
- children._ = 2;
9303
- 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
+ }
9304
9475
  }
9305
- }
9306
- else if (isFunction(children)) {
9476
+ } else if (isFunction(children)) {
9307
9477
  if (shapeFlag & 65) {
9308
9478
  normalizeChildren(vnode, { default: children });
9309
9479
  return;
@@ -9412,7 +9582,7 @@ const useInstanceOption = (key, silent = false) => {
9412
9582
  };
9413
9583
  //#endregion
9414
9584
  //#region packages/runtime-core/src/component.ts
9415
- const emptyAppContext = /* @__PURE__ */ createAppContext();
9585
+ const emptyAppContext = /*@__PURE__*/ createAppContext();
9416
9586
  let uid = 0;
9417
9587
  function createComponentInstance(vnode, parent, suspense) {
9418
9588
  const type = vnode.type;
@@ -9613,10 +9783,12 @@ function finishComponentSetup(instance, isSSR, skipOptions) {
9613
9783
  restoreCurrentInstance(prevInstance);
9614
9784
  }
9615
9785
  }
9616
- 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)
9617
9788
  /* v8 ignore start */
9618
- warn$1("Component provided template option but runtime compilation is not supported in this build of Vue. Use \"vue.esm-browser.js\" instead.");
9619
- 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
+ }
9620
9792
  }
9621
9793
  const attrsProxyHandlers = {
9622
9794
  get(target, key) {
@@ -9724,11 +9896,12 @@ function h(type, propsOrChildren, children) {
9724
9896
  try {
9725
9897
  setBlockTracking(-1);
9726
9898
  const l = arguments.length;
9727
- if (l === 2) if (isObject(propsOrChildren) && !isArray(propsOrChildren)) {
9728
- if (isVNode(propsOrChildren)) return createVNode(type, null, [propsOrChildren]);
9729
- return createVNode(type, propsOrChildren);
9730
- } else return createVNode(type, null, propsOrChildren);
9731
- 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 {
9732
9905
  if (l > 3) children = Array.prototype.slice.call(arguments, 2);
9733
9906
  else if (l === 3 && isVNode(children)) children = [children];
9734
9907
  return createVNode(type, propsOrChildren, children);
@@ -9920,7 +10093,7 @@ function isMemoSame(cached, memo) {
9920
10093
  }
9921
10094
  //#endregion
9922
10095
  //#region packages/runtime-core/src/index.ts
9923
- const version = "3.6.0-rc.5";
10096
+ const version = "3.6.0-rc.6";
9924
10097
  const warn = warn$1;
9925
10098
  /**
9926
10099
  * Runtime error messages. Only exposed in dev or esm builds.
@@ -9954,7 +10127,7 @@ const DeprecationTypes = DeprecationTypes$1;
9954
10127
  let policy = void 0;
9955
10128
  const tt = typeof window !== "undefined" && window.trustedTypes;
9956
10129
  if (tt) try {
9957
- policy = /* @__PURE__ */ tt.createPolicy("vue", { createHTML: (val) => val });
10130
+ policy = /*@__PURE__*/ tt.createPolicy("vue", { createHTML: (val) => val });
9958
10131
  } catch (e) {
9959
10132
  warn(`Error creating trusted types policy: ${e}`);
9960
10133
  }
@@ -9962,7 +10135,7 @@ const unsafeToTrustedHTML = policy ? (val) => policy.createHTML(val) : (val) =>
9962
10135
  const svgNS = "http://www.w3.org/2000/svg";
9963
10136
  const mathmlNS = "http://www.w3.org/1998/Math/MathML";
9964
10137
  const doc = typeof document !== "undefined" ? document : null;
9965
- const templateContainer = doc && /* @__PURE__ */ doc.createElement("template");
10138
+ const templateContainer = doc && /*@__PURE__*/ doc.createElement("template");
9966
10139
  const nodeOps = {
9967
10140
  insert: (child, parent, anchor) => {
9968
10141
  parent.insertBefore(child, anchor || null);
@@ -10036,7 +10209,7 @@ const DOMTransitionPropsValidators = {
10036
10209
  leaveActiveClass: String,
10037
10210
  leaveToClass: String
10038
10211
  };
10039
- const TransitionPropsValidators = /* @__PURE__ */ extend({}, BaseTransitionPropsValidators, DOMTransitionPropsValidators);
10212
+ const TransitionPropsValidators = /*@__PURE__*/ extend({}, BaseTransitionPropsValidators, DOMTransitionPropsValidators);
10040
10213
  /**
10041
10214
  * Wrap logic that attaches extra properties to Transition in a function
10042
10215
  * so that it can be annotated as pure
@@ -10051,7 +10224,7 @@ const decorate$1 = (t) => {
10051
10224
  * DOM Transition is a higher-order-component based on the platform-agnostic
10052
10225
  * base Transition component, with DOM-specific logic.
10053
10226
  */
10054
- 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));
10055
10228
  /**
10056
10229
  * #3227 Incoming hooks may be merged into arrays when wrapping Transition
10057
10230
  * with custom HOCs.
@@ -10291,14 +10464,15 @@ const vShow = {
10291
10464
  },
10292
10465
  updated(el, { value, oldValue }, { transition }) {
10293
10466
  if (!value === !oldValue) return;
10294
- if (transition) if (value) {
10295
- transition.beforeEnter(el);
10296
- setDisplay(el, true);
10297
- transition.enter(el);
10298
- } else transition.leave(el, () => {
10299
- setDisplay(el, false);
10300
- });
10301
- 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);
10302
10476
  },
10303
10477
  beforeUnmount(el, { value }) {
10304
10478
  setDisplay(el, value);
@@ -10400,11 +10574,13 @@ function patchStyle(el, prev, next) {
10400
10574
  const isCssString = isString(next);
10401
10575
  let hasControlledDisplay = false;
10402
10576
  if (next && !isCssString) {
10403
- if (prev) if (!isString(prev)) {
10404
- for (const key in prev) if (next[key] == null) setStyle(style, key, "");
10405
- } else for (const prevStyle of prev.split(";")) {
10406
- const key = prevStyle.slice(0, prevStyle.indexOf(":")).trim();
10407
- 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
+ }
10408
10584
  }
10409
10585
  for (const key in next) {
10410
10586
  if (key === "display") hasControlledDisplay = true;
@@ -10433,8 +10609,10 @@ function setStyle(style, name, rawVal) {
10433
10609
  else {
10434
10610
  const val = rawVal == null ? "" : String(rawVal);
10435
10611
  if (semicolonRE.test(val)) warn(`Unexpected semicolon at the end of '${name}' style value: '${val}'`);
10436
- if (name.startsWith("--")) style.setProperty(name, val);
10437
- 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 {
10438
10616
  const prefixed = autoPrefix(style, name);
10439
10617
  if (importantRE.test(val)) style.setProperty(hyphenate(prefixed), val.replace(importantRE, ""), "important");
10440
10618
  else style[prefixed] = val;
@@ -10471,15 +10649,16 @@ function shouldPreserveTextareaResizeStyle(el, key, prev, next) {
10471
10649
  //#region packages/runtime-dom/src/modules/attrs.ts
10472
10650
  const xlinkNS = "http://www.w3.org/1999/xlink";
10473
10651
  function patchAttr(el, key, value, isSVG, instance, isBoolean = isSpecialBooleanAttr(key)) {
10474
- if (isSVG && key.startsWith("xlink:")) if (value == null) el.removeAttributeNS(xlinkNS, key.slice(6, key.length));
10475
- else el.setAttributeNS(xlinkNS, key, value);
10476
- 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 {
10477
10656
  if (compatCoerceAttr(el, key, value, instance)) return;
10478
10657
  if (value == null || isBoolean && !includeBooleanAttr(value)) el.removeAttribute(key);
10479
10658
  else el.setAttribute(key, isBoolean ? "" : isSymbol(value) ? String(value) : value);
10480
10659
  }
10481
10660
  }
10482
- const isEnumeratedAttr = /* @__PURE__ */ makeMap("contenteditable,draggable,spellcheck");
10661
+ const isEnumeratedAttr = /*@__PURE__*/ makeMap("contenteditable,draggable,spellcheck");
10483
10662
  function compatCoerceAttr(el, key, value, instance = null) {
10484
10663
  if (isEnumeratedAttr(key)) {
10485
10664
  const v2CoercedValue = value === void 0 ? null : value === null || value === false || value === "false" ? "false" : "true";
@@ -10571,7 +10750,7 @@ function parseEventName(name) {
10571
10750
  return [name[2] === ":" ? name.slice(3) : hyphenate(name.slice(2)), options];
10572
10751
  }
10573
10752
  let cachedNow = 0;
10574
- const p = /* @__PURE__ */ Promise.resolve();
10753
+ const p = /*@__PURE__*/ Promise.resolve();
10575
10754
  const getNow = () => cachedNow || (p.then(() => cachedNow = 0), cachedNow = Date.now());
10576
10755
  function createInvoker(initialValue, instance) {
10577
10756
  const invoker = (e) => {
@@ -10639,7 +10818,7 @@ function shouldSetAsPropForVueCE(el, key) {
10639
10818
  //#endregion
10640
10819
  //#region packages/runtime-dom/src/apiCustomElement.ts
10641
10820
  const REMOVAL = {};
10642
- /* @__NO_SIDE_EFFECTS__ */
10821
+ /*@__NO_SIDE_EFFECTS__*/
10643
10822
  function defineCustomElement(options, extraOptions, _createApp) {
10644
10823
  let Comp = /* @__PURE__ */ defineComponent(options, extraOptions);
10645
10824
  if (isPlainObject(Comp)) Comp = extend({}, Comp, extraOptions);
@@ -10688,12 +10867,14 @@ var VueElementBase = class VueElementBase extends BaseClass {
10688
10867
  this._parent = parent;
10689
10868
  break;
10690
10869
  }
10691
- if (!this._instance) if (this._resolved) this._mountComponent(this._def);
10692
- else if (parent && parent._pendingResolve) this._pendingResolve = parent._pendingResolve.then(() => {
10693
- this._pendingResolve = void 0;
10694
- if (this.isConnected) return this._resolveDef();
10695
- });
10696
- 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
+ }
10697
10878
  }
10698
10879
  disconnectedCallback() {
10699
10880
  this._connected = false;
@@ -11092,7 +11273,7 @@ const decorate = (t) => {
11092
11273
  };
11093
11274
  const TransitionGroup = /* @__PURE__ */ decorate({
11094
11275
  name: "TransitionGroup",
11095
- props: /* @__PURE__ */ extend({}, TransitionPropsValidators, {
11276
+ props: /*@__PURE__*/ extend({}, TransitionPropsValidators, {
11096
11277
  tag: String,
11097
11278
  moveClass: String
11098
11279
  }),
@@ -11374,19 +11555,39 @@ const vModelSelectInit = (el, value, number, set) => {
11374
11555
  el._modelValue = value;
11375
11556
  addEventListener(el, "change", () => {
11376
11557
  const selectedVal = Array.prototype.filter.call(el.options, (o) => o.selected).map((o) => number ? looseToNumber(getValue(o)) : getValue(o));
11377
- (set || el[assignKey])(el.multiple ? isSet(el._modelValue) ? new Set(selectedVal) : selectedVal : selectedVal[0]);
11378
- el._assigning = true;
11379
- nextTick(() => {
11380
- el._assigning = false;
11381
- });
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
+ }
11382
11568
  });
11383
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
+ }
11384
11580
  /**
11385
11581
  * @internal
11386
11582
  */
11387
11583
  const vModelSetSelected = (el, value) => {
11388
11584
  el._modelValue = value;
11389
- 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) {
11390
11591
  const isMultiple = el.multiple;
11391
11592
  const isArrayValue = isArray(value);
11392
11593
  if (isMultiple && !isArrayValue && !isSet(value)) {
@@ -11396,18 +11597,19 @@ const vModelSetSelected = (el, value) => {
11396
11597
  for (let i = 0, l = el.options.length; i < l; i++) {
11397
11598
  const option = el.options[i];
11398
11599
  const optionValue = getValue(option);
11399
- if (isMultiple) if (isArrayValue) {
11400
- const optionType = typeof optionValue;
11401
- if (optionType === "string" || optionType === "number") option.selected = value.some((v) => String(v) === String(optionValue));
11402
- else option.selected = looseIndexOf(value, optionValue) > -1;
11403
- } else option.selected = value.has(optionValue);
11404
- 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)) {
11405
11607
  if (el.selectedIndex !== i) el.selectedIndex = i;
11406
11608
  return;
11407
11609
  }
11408
11610
  }
11409
11611
  if (!isMultiple && el.selectedIndex !== -1) el.selectedIndex = -1;
11410
- };
11612
+ }
11411
11613
  /**
11412
11614
  * @internal retrieve raw value set via :value bindings
11413
11615
  */
@@ -11703,7 +11905,7 @@ var src_exports = /* @__PURE__ */ __exportAll({
11703
11905
  withModifiers: () => withModifiers,
11704
11906
  withScopeId: () => withScopeId
11705
11907
  });
11706
- const rendererOptions = /* @__PURE__ */ extend({ patchProp }, nodeOps);
11908
+ const rendererOptions = /*@__PURE__*/ extend({ patchProp }, nodeOps);
11707
11909
  let renderer;
11708
11910
  let enabledHydration = false;
11709
11911
  function ensureRenderer() {
@@ -12254,13 +12456,14 @@ var Tokenizer = class {
12254
12456
  }
12255
12457
  }
12256
12458
  stateInterpolationOpen(c) {
12257
- if (c === this.delimiterOpen[this.delimiterIndex]) if (this.delimiterIndex === this.delimiterOpen.length - 1) {
12258
- const start = this.index + 1 - this.delimiterOpen.length;
12259
- if (start > this.sectionStart) this.cbs.ontext(this.sectionStart, start);
12260
- this.state = 3;
12261
- this.sectionStart = start;
12262
- } else this.delimiterIndex++;
12263
- 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) {
12264
12467
  this.state = 32;
12265
12468
  this.stateInRCDATA(c);
12266
12469
  } else {
@@ -12276,13 +12479,14 @@ var Tokenizer = class {
12276
12479
  }
12277
12480
  }
12278
12481
  stateInterpolationClose(c) {
12279
- if (c === this.delimiterClose[this.delimiterIndex]) if (this.delimiterIndex === this.delimiterClose.length - 1) {
12280
- this.cbs.oninterpolation(this.sectionStart, this.index + 1);
12281
- if (this.inRCDATA) this.state = 32;
12282
- else this.state = 1;
12283
- this.sectionStart = this.index + 1;
12284
- } else this.delimiterIndex++;
12285
- 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 {
12286
12490
  this.state = 3;
12287
12491
  this.stateInterpolation(c);
12288
12492
  }
@@ -12397,9 +12601,10 @@ var Tokenizer = class {
12397
12601
  this.sectionStart = this.index;
12398
12602
  if (this.mode === 0) this.state = 6;
12399
12603
  else if (this.inSFCRoot) this.state = 34;
12400
- else if (!this.inXML) if (c === 116) this.state = 30;
12401
- else this.state = c === 115 ? 29 : 6;
12402
- 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;
12403
12608
  } else if (c === 47) this.state = 8;
12404
12609
  else {
12405
12610
  this.state = 1;
@@ -12752,9 +12957,7 @@ var Tokenizer = class {
12752
12957
  case 24:
12753
12958
  this.stateInProcessingInstruction(c);
12754
12959
  break;
12755
- case 33:
12756
- this.stateInEntity();
12757
- break;
12960
+ case 33: this.stateInEntity();
12758
12961
  }
12759
12962
  this.index++;
12760
12963
  }
@@ -12783,9 +12986,10 @@ var Tokenizer = class {
12783
12986
  handleTrailingData() {
12784
12987
  const endIndex = this.buffer.length;
12785
12988
  if (this.sectionStart >= endIndex) return;
12786
- if (this.state === 28) if (this.currentSequence === Sequences.CdataEnd) this.cbs.oncdata(this.sectionStart, endIndex);
12787
- else this.cbs.oncomment(this.sectionStart, endIndex);
12788
- 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);
12789
12993
  }
12790
12994
  emitCodePoint(cp, consumed) {}
12791
12995
  };
@@ -12987,12 +13191,10 @@ const isMemberExpressionBrowser = (exp) => {
12987
13191
  if (!--currentOpenParensCount) state = stateStack.pop();
12988
13192
  }
12989
13193
  break;
12990
- case 3:
12991
- if (char === currentStringType) {
12992
- state = stateStack.pop();
12993
- currentStringType = null;
12994
- }
12995
- break;
13194
+ case 3: if (char === currentStringType) {
13195
+ state = stateStack.pop();
13196
+ currentStringType = null;
13197
+ }
12996
13198
  }
12997
13199
  }
12998
13200
  return !currentOpenBracketCount && !currentOpenParensCount;
@@ -13042,7 +13244,7 @@ function isTemplateNode(node) {
13042
13244
  function isSlotOutlet(node) {
13043
13245
  return node.type === 1 && node.tagType === 2;
13044
13246
  }
13045
- const propsHelperSet = new Set([NORMALIZE_PROPS, GUARD_REACTIVE_PROPS]);
13247
+ const propsHelperSet = /* @__PURE__ */ new Set([NORMALIZE_PROPS, GUARD_REACTIVE_PROPS]);
13046
13248
  function getUnnormalizedProps(props, callPath = []) {
13047
13249
  if (props && !isString(props) && props.type === 14) {
13048
13250
  const callee = props.callee;
@@ -13085,9 +13287,10 @@ function injectProp(node, prop, context) {
13085
13287
  propsWithInjection = createCallExpression(context.helper(MERGE_PROPS), [createObjectExpression([prop]), props]);
13086
13288
  if (parentCall && parentCall.callee === GUARD_REACTIVE_PROPS) parentCall = callPath[callPath.length - 2];
13087
13289
  }
13088
- if (node.type === 13) if (parentCall) parentCall.arguments[0] = propsWithInjection;
13089
- else node.props = propsWithInjection;
13090
- 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;
13091
13294
  else node.arguments[2] = propsWithInjection;
13092
13295
  }
13093
13296
  function injectSlotKey(node, prop) {
@@ -13362,10 +13565,7 @@ const tokenizer = new Tokenizer(stack, {
13362
13565
  case 18:
13363
13566
  case 19:
13364
13567
  case 20:
13365
- case 21:
13366
- emitError(9, end);
13367
- break;
13368
- default: break;
13568
+ case 21: emitError(9, end);
13369
13569
  }
13370
13570
  for (let index = 0; index < stack.length; index++) {
13371
13571
  onCloseTag(stack[index], end - 1);
@@ -13515,7 +13715,7 @@ function backTrack(index, c) {
13515
13715
  while (currentInput.charCodeAt(i) !== c && i >= 0) i--;
13516
13716
  return i;
13517
13717
  }
13518
- const specialTemplateDir = new Set([
13718
+ const specialTemplateDir = /* @__PURE__ */ new Set([
13519
13719
  "if",
13520
13720
  "else",
13521
13721
  "else-if",
@@ -13551,16 +13751,18 @@ function condenseWhitespace(nodes) {
13551
13751
  let removedWhitespace = false;
13552
13752
  for (let i = 0; i < nodes.length; i++) {
13553
13753
  const node = nodes[i];
13554
- if (node.type === 2) if (!inPre) {
13555
- if (isAllWhitespace(node.content)) {
13556
- const prev = nodes[i - 1] && nodes[i - 1].type;
13557
- const next = nodes[i + 1] && nodes[i + 1].type;
13558
- if (!prev || !next || shouldCondense && (prev === 3 && (next === 3 || next === 1) || prev === 1 && (next === 3 || next === 1 && hasNewlineChar(node.content)))) {
13559
- removedWhitespace = true;
13560
- nodes[i] = null;
13561
- } else node.content = " ";
13562
- } else if (shouldCondense) node.content = condense(node.content);
13563
- } 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
+ }
13564
13766
  }
13565
13767
  return removedWhitespace ? nodes.filter(Boolean) : nodes;
13566
13768
  }
@@ -13821,7 +14023,7 @@ function getConstantType(node, context) {
13821
14023
  default: return 0;
13822
14024
  }
13823
14025
  }
13824
- const allowHoistedHelperSet = new Set([
14026
+ const allowHoistedHelperSet = /* @__PURE__ */ new Set([
13825
14027
  NORMALIZE_CLASS,
13826
14028
  NORMALIZE_STYLE,
13827
14029
  NORMALIZE_PROPS,
@@ -13979,7 +14181,7 @@ function transform(root, options) {
13979
14181
  traverseNode(root, context);
13980
14182
  if (options.hoistStatic) cacheStatic(root, context);
13981
14183
  if (!options.ssr) createRootCodegen(root, context);
13982
- root.helpers = new Set([...context.helpers.keys()]);
14184
+ root.helpers = /* @__PURE__ */ new Set([...context.helpers.keys()]);
13983
14185
  root.components = [...context.components];
13984
14186
  root.directives = [...context.directives];
13985
14187
  root.imports = context.imports;
@@ -14026,8 +14228,10 @@ function traverseNode(node, context) {
14026
14228
  const exitFns = [];
14027
14229
  for (let i = 0; i < nodeTransforms.length; i++) {
14028
14230
  const onExit = nodeTransforms[i](node, context);
14029
- if (onExit) if (isArray(onExit)) exitFns.push(...onExit);
14030
- else exitFns.push(onExit);
14231
+ if (onExit) {
14232
+ if (isArray(onExit)) exitFns.push(...onExit);
14233
+ else exitFns.push(onExit);
14234
+ }
14031
14235
  if (!context.currentNode) return;
14032
14236
  else node = context.currentNode;
14033
14237
  }
@@ -14044,9 +14248,7 @@ function traverseNode(node, context) {
14044
14248
  case 10:
14045
14249
  case 11:
14046
14250
  case 1:
14047
- case 0:
14048
- traverseChildren(node, context);
14049
- break;
14251
+ case 0: traverseChildren(node, context);
14050
14252
  }
14051
14253
  context.currentNode = node;
14052
14254
  let i = exitFns.length;
@@ -14242,10 +14444,12 @@ function genNodeList(nodes, context, multilines = false, comma = true) {
14242
14444
  if (isString(node)) push(node, -3);
14243
14445
  else if (isArray(node)) genNodeListAsArray(node, context);
14244
14446
  else genNode(node, context);
14245
- if (i < nodes.length - 1) if (multilines) {
14246
- comma && push(",");
14247
- newline();
14248
- } else comma && push(", ");
14447
+ if (i < nodes.length - 1) {
14448
+ if (multilines) {
14449
+ comma && push(",");
14450
+ newline();
14451
+ } else comma && push(", ");
14452
+ }
14249
14453
  }
14250
14454
  }
14251
14455
  function genNode(node, context) {
@@ -14357,8 +14561,10 @@ function genVNodeCall(node, context) {
14357
14561
  const { push, helper, pure } = context;
14358
14562
  const { tag, props, children, patchFlag, dynamicProps, directives, isBlock, disableTracking, isComponent } = node;
14359
14563
  let patchFlagString;
14360
- if (patchFlag) if (patchFlag < 0) patchFlagString = patchFlag + ` /* ${PatchFlagNames[patchFlag]} */`;
14361
- 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
+ }
14362
14568
  if (directives) push(helper(WITH_DIRECTIVES) + `(`);
14363
14569
  if (isBlock) push(`(${helper(OPEN_BLOCK)}(${disableTracking ? `true` : ``}), `);
14364
14570
  if (pure) push(PURE_ANNOTATION);
@@ -14627,16 +14833,17 @@ function createChildrenCodegenNode(branch, keyIndex, context) {
14627
14833
  const keyProperty = createObjectProperty(`key`, createSimpleExpression(`${keyIndex}`, false, locStub, 2));
14628
14834
  const { children } = branch;
14629
14835
  const firstChild = children[0];
14630
- if (children.length !== 1 || firstChild.type !== 1) if (children.length === 1 && firstChild.type === 11) {
14631
- const vnodeCall = firstChild.codegenNode;
14632
- injectProp(vnodeCall, keyProperty, context);
14633
- 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
+ }
14634
14846
  } else {
14635
- let patchFlag = 64;
14636
- if (!branch.isTemplateIf && children.filter((c) => c.type !== 3).length === 1) patchFlag |= 2048;
14637
- return createVNodeCall(context, helper(FRAGMENT), createObjectExpression([keyProperty]), children, patchFlag, void 0, void 0, true, false, false, branch.loc);
14638
- }
14639
- else {
14640
14847
  const ret = firstChild.codegenNode;
14641
14848
  const vnodeCall = getMemoedVNodeCall(ret);
14642
14849
  if (vnodeCall.type === 13) convertToBlock(vnodeCall, context);
@@ -14657,9 +14864,10 @@ function isSameKey(a, b) {
14657
14864
  return true;
14658
14865
  }
14659
14866
  function getParentCondition(node) {
14660
- while (true) if (node.type === 19) if (node.alternate.type === 19) node = node.alternate;
14661
- else return node;
14662
- 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;
14663
14871
  }
14664
14872
  //#endregion
14665
14873
  //#region packages/compiler-core/src/transforms/vFor.ts
@@ -14698,10 +14906,12 @@ const transformFor = createStructuralDirectiveTransform("for", (node, dir, conte
14698
14906
  childBlock = children[0].codegenNode;
14699
14907
  if (isTemplate && keyProperty) injectProp(childBlock, keyProperty, context);
14700
14908
  const shouldUseBlock = !isStableFragment || childBlock.isBlockRequired === true;
14701
- if (childBlock.isBlock !== shouldUseBlock) if (childBlock.isBlock) {
14702
- removeHelper(OPEN_BLOCK);
14703
- removeHelper(getVNodeBlockHelper(context.inSSR, childBlock.isComponent));
14704
- } 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
+ }
14705
14915
  childBlock.isBlock = shouldUseBlock;
14706
14916
  if (childBlock.isBlock) {
14707
14917
  helper(OPEN_BLOCK);
@@ -14884,8 +15094,10 @@ function buildSlots(node, context, buildSlotFn = buildClientSlotFn) {
14884
15094
  return createObjectProperty(`default`, fn);
14885
15095
  };
14886
15096
  if (!hasTemplateSlots) slotsProperties.push(buildDefaultSlotProperty(void 0, children));
14887
- else if (implicitDefaultChildren.length && !implicitDefaultChildren.every(isWhitespaceText)) if (hasNamedDefaultSlot) context.onError(createCompilerError(39, implicitDefaultChildren[0].loc));
14888
- 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
+ }
14889
15101
  }
14890
15102
  const slotFlag = hasDynamicSlots ? 2 : hasForwardedSlots(node.children) ? 3 : 1;
14891
15103
  let slots = createObjectExpression(slotsProperties.concat(createObjectProperty(`_`, createSimpleExpression(slotFlag + ` /* ${slotFlagsText[slotFlag]} */`, false))), loc);
@@ -14911,10 +15123,7 @@ function hasForwardedSlots(children) {
14911
15123
  if (hasForwardedSlots(child.branches)) return true;
14912
15124
  break;
14913
15125
  case 10:
14914
- case 11:
14915
- if (hasForwardedSlots(child.children)) return true;
14916
- break;
14917
- default: break;
15126
+ case 11: if (hasForwardedSlots(child.children)) return true;
14918
15127
  }
14919
15128
  }
14920
15129
  return false;
@@ -15075,29 +15284,30 @@ function buildProps(node, context, props = node.props, isComponent, isDynamicCom
15075
15284
  if (isVBind && isStaticArgOf(arg, "ref")) pushRefVForMarker();
15076
15285
  if (!arg && (isVBind || isVOn)) {
15077
15286
  hasDynamicKeys = true;
15078
- if (exp) if (isVBind) {
15079
- pushMergeArg();
15080
- if (mergeArgs.some((arg) => {
15081
- if (arg.type === 15) return arg.properties.some(({ key }) => {
15082
- if (key.type !== 4 || !key.isStatic) return true;
15083
- return key.content !== "class" && key.content !== "style" && !isOn(key.content);
15084
- });
15085
- else return true;
15086
- })) checkCompatEnabled("COMPILER_V_BIND_OBJECT_ORDER", context, loc);
15087
- if (isCompatEnabled("COMPILER_V_BIND_OBJECT_ORDER", context)) {
15088
- mergeArgs.unshift(exp);
15089
- continue;
15090
- }
15091
- pushRefVForMarker();
15092
- pushMergeArg();
15093
- mergeArgs.push(exp);
15094
- } else pushMergeArg({
15095
- type: 14,
15096
- loc,
15097
- callee: context.helper(TO_HANDLERS),
15098
- arguments: isComponent ? [exp] : [exp, `true`]
15099
- });
15100
- 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));
15101
15311
  continue;
15102
15312
  }
15103
15313
  if (isVBind && modifiers.some((mod) => mod.content === "prop")) patchFlag |= 32;
@@ -15155,9 +15365,7 @@ function buildProps(node, context, props = node.props, isComponent, isDynamicCom
15155
15365
  } else propsExpression = createCallExpression(context.helper(NORMALIZE_PROPS), [propsExpression]);
15156
15366
  break;
15157
15367
  case 14: break;
15158
- default:
15159
- propsExpression = createCallExpression(context.helper(NORMALIZE_PROPS), [createCallExpression(context.helper(GUARD_REACTIVE_PROPS), [propsExpression])]);
15160
- break;
15368
+ default: propsExpression = createCallExpression(context.helper(NORMALIZE_PROPS), [createCallExpression(context.helper(GUARD_REACTIVE_PROPS), [propsExpression])]);
15161
15369
  }
15162
15370
  return {
15163
15371
  props: propsExpression,
@@ -15263,10 +15471,12 @@ function processSlotOutlet(node, context) {
15263
15471
  for (let i = 0; i < node.props.length; i++) {
15264
15472
  const p = node.props[i];
15265
15473
  if (p.type === 6) {
15266
- if (p.value) if (p.name === "name") slotName = JSON.stringify(p.value.content);
15267
- else {
15268
- p.name = camelize(p.name);
15269
- 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
+ }
15270
15480
  }
15271
15481
  } else if (p.name === "bind" && isStaticArgOf(p.arg, "name")) {
15272
15482
  if (p.exp) slotName = p.exp;
@@ -15292,17 +15502,18 @@ const transformOn$1 = (dir, node, context, augmentor) => {
15292
15502
  const { loc, modifiers, arg } = dir;
15293
15503
  if (!dir.exp && !modifiers.length) context.onError(createCompilerError(35, loc));
15294
15504
  let eventName;
15295
- if (arg.type === 4) if (arg.isStatic) {
15296
- let rawName = arg.content;
15297
- if (rawName.startsWith("vnode")) context.onError(createCompilerError(52, arg.loc));
15298
- if (rawName.startsWith("vue:")) rawName = `vnode-${rawName.slice(4)}`;
15299
- eventName = createSimpleExpression(node.tagType !== 0 || rawName.startsWith("vnode") || !/[A-Z]/.test(rawName) ? toHandlerKey(camelize(rawName)) : `on:${rawName}`, true, arg.loc);
15300
- } else eventName = createCompoundExpression([
15301
- `${context.helperString(TO_HANDLER_KEY)}(`,
15302
- arg,
15303
- `)`
15304
- ]);
15305
- 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 {
15306
15517
  eventName = arg;
15307
15518
  eventName.children.unshift(`${context.helperString(TO_HANDLER_KEY)}(`);
15308
15519
  eventName.children.push(`)`);
@@ -15338,11 +15549,14 @@ const transformBind = (dir, _node, context) => {
15338
15549
  arg.children.unshift(`(`);
15339
15550
  arg.children.push(`) || ""`);
15340
15551
  } else if (!arg.isStatic) arg.content = arg.content ? `${arg.content} || ""` : `""`;
15341
- if (modifiers.some((mod) => mod.content === "camel")) if (arg.type === 4) if (arg.isStatic) arg.content = camelize(arg.content);
15342
- else arg.content = `${context.helperString(CAMELIZE)}(${arg.content})`;
15343
- else {
15344
- arg.children.unshift(`${context.helperString(CAMELIZE)}(`);
15345
- 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
+ }
15346
15560
  }
15347
15561
  if (!context.inSSR) {
15348
15562
  if (modifiers.some((mod) => mod.content === "prop")) injectPrefix(arg, ".");
@@ -15351,9 +15565,10 @@ const transformBind = (dir, _node, context) => {
15351
15565
  return { props: [createObjectProperty(arg, exp)] };
15352
15566
  };
15353
15567
  const injectPrefix = (arg, prefix) => {
15354
- if (arg.type === 4) if (arg.isStatic) arg.content = prefix + arg.content;
15355
- else arg.content = `\`${prefix}\${${arg.content}}\``;
15356
- else {
15568
+ if (arg.type === 4) {
15569
+ if (arg.isStatic) arg.content = prefix + arg.content;
15570
+ else arg.content = `\`${prefix}\${${arg.content}}\``;
15571
+ } else {
15357
15572
  arg.children.unshift(`'${prefix}' + (`);
15358
15573
  arg.children.push(`)`);
15359
15574
  }
@@ -15500,11 +15715,12 @@ function parseFilter(node, context) {
15500
15715
  if (c === 96 && prev !== 92) inTemplateString = false;
15501
15716
  } else if (inRegex) {
15502
15717
  if (c === 47 && prev !== 92) inRegex = false;
15503
- } else if (c === 124 && exp.charCodeAt(i + 1) !== 124 && exp.charCodeAt(i - 1) !== 124 && !curly && !square && !paren) if (expression === void 0) {
15504
- lastFilterIndex = i + 1;
15505
- expression = exp.slice(0, i).trim();
15506
- } else pushFilter();
15507
- 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 {
15508
15724
  switch (c) {
15509
15725
  case 34:
15510
15726
  inDouble = true;
@@ -15530,9 +15746,7 @@ function parseFilter(node, context) {
15530
15746
  case 123:
15531
15747
  curly++;
15532
15748
  break;
15533
- case 125:
15534
- curly--;
15535
- break;
15749
+ case 125: curly--;
15536
15750
  }
15537
15751
  if (c === 47) {
15538
15752
  let j = i - 1;
@@ -15808,9 +16022,7 @@ const transformModel = (dir, node, context) => {
15808
16022
  isInvalidType = true;
15809
16023
  context.onError(createDOMCompilerError(60, dir.loc));
15810
16024
  break;
15811
- default:
15812
- checkDuplicatedValue();
15813
- break;
16025
+ default: checkDuplicatedValue();
15814
16026
  }
15815
16027
  } else if (hasDynamicKeyVBind(node)) directiveToUse = V_MODEL_DYNAMIC;
15816
16028
  else checkDuplicatedValue();
@@ -15823,10 +16035,10 @@ const transformModel = (dir, node, context) => {
15823
16035
  };
15824
16036
  //#endregion
15825
16037
  //#region packages/compiler-dom/src/transforms/vOn.ts
15826
- const isEventOptionModifier = /* @__PURE__ */ makeMap(`passive,once,capture`);
15827
- const isNonKeyModifier = /* @__PURE__ */ makeMap("stop,prevent,self,ctrl,shift,alt,meta,exact,middle");
15828
- const maybeKeyModifier = /* @__PURE__ */ makeMap("left,right");
15829
- 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`);
15830
16042
  const resolveModifiers = (key, modifiers, context, loc) => {
15831
16043
  const keyModifiers = [];
15832
16044
  const nonKeyModifiers = [];
@@ -15845,13 +16057,15 @@ const resolveModifiers = (key, modifiers, context, loc) => {
15845
16057
  else if (isEventOptionModifier(modifier)) eventOptionModifiers.push(modifier);
15846
16058
  else {
15847
16059
  const keyString = isString(key) ? key : isStaticExp(key) ? key.content : null;
15848
- if (maybeKeyModifier(modifier)) if (keyString) if (isKeyboardEvent(keyString.toLowerCase())) keyModifiers.push(modifier);
15849
- else nonKeyModifiers.push(modifier);
15850
- else {
15851
- keyModifiers.push(modifier);
15852
- nonKeyModifiers.push(modifier);
15853
- }
15854
- 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);
15855
16069
  else keyModifiers.push(modifier);
15856
16070
  }
15857
16071
  }
@@ -15966,7 +16180,7 @@ function isValidHTMLNesting(parent, child) {
15966
16180
  }
15967
16181
  return true;
15968
16182
  }
15969
- const headings = new Set([
16183
+ const headings = /* @__PURE__ */ new Set([
15970
16184
  "h1",
15971
16185
  "h2",
15972
16186
  "h3",
@@ -15978,7 +16192,7 @@ const emptySet = /* @__PURE__ */ new Set([]);
15978
16192
  /**
15979
16193
  * maps element to set of elements that can be it's children, no other */
15980
16194
  const onlyValidChildren = {
15981
- head: new Set([
16195
+ head: /* @__PURE__ */ new Set([
15982
16196
  "base",
15983
16197
  "basefront",
15984
16198
  "bgsound",
@@ -15991,24 +16205,24 @@ const onlyValidChildren = {
15991
16205
  "script",
15992
16206
  "template"
15993
16207
  ]),
15994
- optgroup: new Set(["option"]),
15995
- select: new Set([
16208
+ optgroup: /* @__PURE__ */ new Set(["option"]),
16209
+ select: /* @__PURE__ */ new Set([
15996
16210
  "optgroup",
15997
16211
  "option",
15998
16212
  "hr"
15999
16213
  ]),
16000
- table: new Set([
16214
+ table: /* @__PURE__ */ new Set([
16001
16215
  "caption",
16002
16216
  "colgroup",
16003
16217
  "tbody",
16004
16218
  "tfoot",
16005
16219
  "thead"
16006
16220
  ]),
16007
- tr: new Set(["td", "th"]),
16008
- colgroup: new Set(["col"]),
16009
- tbody: new Set(["tr"]),
16010
- thead: new Set(["tr"]),
16011
- 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"]),
16012
16226
  script: emptySet,
16013
16227
  iframe: emptySet,
16014
16228
  option: emptySet,
@@ -16019,30 +16233,30 @@ const onlyValidChildren = {
16019
16233
  /** maps elements to set of elements which can be it's parent, no other */
16020
16234
  const onlyValidParents = {
16021
16235
  html: emptySet,
16022
- body: new Set(["html"]),
16023
- head: new Set(["html"]),
16024
- td: new Set(["tr"]),
16025
- colgroup: new Set(["table"]),
16026
- caption: new Set(["table"]),
16027
- tbody: new Set(["table"]),
16028
- tfoot: new Set(["table"]),
16029
- col: new Set(["colgroup"]),
16030
- th: new Set(["tr"]),
16031
- thead: new Set(["table"]),
16032
- 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([
16033
16247
  "tbody",
16034
16248
  "thead",
16035
16249
  "tfoot"
16036
16250
  ]),
16037
- dd: new Set(["dl", "div"]),
16038
- dt: new Set(["dl", "div"]),
16039
- figcaption: new Set(["figure"]),
16040
- summary: new Set(["details"]),
16041
- 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"])
16042
16256
  };
16043
16257
  /** maps element to set of elements that can not be it's children, others can */
16044
16258
  const knownInvalidChildren = {
16045
- p: new Set([
16259
+ p: /* @__PURE__ */ new Set([
16046
16260
  "address",
16047
16261
  "article",
16048
16262
  "aside",
@@ -16077,7 +16291,7 @@ const knownInvalidChildren = {
16077
16291
  "table",
16078
16292
  "ul"
16079
16293
  ]),
16080
- svg: new Set([
16294
+ svg: /* @__PURE__ */ new Set([
16081
16295
  "b",
16082
16296
  "blockquote",
16083
16297
  "br",
@@ -16118,12 +16332,12 @@ const knownInvalidChildren = {
16118
16332
  };
16119
16333
  /** maps element to set of elements that can not be it's parent, others can */
16120
16334
  const knownInvalidParents = {
16121
- a: new Set(["a"]),
16122
- button: new Set(["button"]),
16123
- dd: new Set(["dd", "dt"]),
16124
- dt: new Set(["dd", "dt"]),
16125
- form: new Set(["form"]),
16126
- 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"]),
16127
16341
  h1: headings,
16128
16342
  h2: headings,
16129
16343
  h3: headings,
@@ -16166,10 +16380,12 @@ function compile(src, options = {}) {
16166
16380
  //#region packages/vue-compat/src/index.ts
16167
16381
  const compileCache = Object.create(null);
16168
16382
  function compileToFunction(template, options) {
16169
- if (!isString(template)) if (template.nodeType) template = template.innerHTML;
16170
- else {
16171
- warn(`invalid template option: `, template);
16172
- 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
+ }
16173
16389
  }
16174
16390
  const key = genCacheKey(template, options);
16175
16391
  const cached = compileCache[key];