@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
  **/
@@ -24,7 +24,7 @@ var Vue = (function() {
24
24
  * \/\*#\_\_PURE\_\_\*\/
25
25
  * So that they can be tree-shaken if necessary.
26
26
  */
27
- /* @__NO_SIDE_EFFECTS__ */
27
+ /*@__NO_SIDE_EFFECTS__*/
28
28
  function makeMap(str) {
29
29
  const map = Object.create(null);
30
30
  for (const key of str.split(",")) map[key] = 1;
@@ -68,9 +68,9 @@ var Vue = (function() {
68
68
  };
69
69
  const isPlainObject = (val) => toTypeString(val) === "[object Object]";
70
70
  const isIntegerKey = (key) => isString(key) && key !== "NaN" && key[0] !== "-" && "" + parseInt(key, 10) === key;
71
- const isReservedProp = /* @__PURE__ */ makeMap(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted");
72
- const isBuiltInTag = /* @__PURE__ */ makeMap("slot,component");
73
- const isBuiltInDirective = /* @__PURE__ */ makeMap("bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo");
71
+ const isReservedProp = /*@__PURE__*/ makeMap(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted");
72
+ const isBuiltInTag = /*#__PURE__*/ makeMap("slot,component");
73
+ const isBuiltInDirective = /*@__PURE__*/ makeMap("bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo");
74
74
  const cacheStringFunction = (fn) => {
75
75
  const cache = Object.create(null);
76
76
  return ((str) => {
@@ -178,7 +178,7 @@ var Vue = (function() {
178
178
  [2]: "DYNAMIC",
179
179
  [3]: "FORWARDED"
180
180
  };
181
- 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
+ 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");
182
182
  //#endregion
183
183
  //#region packages/shared/src/codeframe.ts
184
184
  const range = 2;
@@ -285,22 +285,22 @@ var Vue = (function() {
285
285
  * Compiler only.
286
286
  * Do NOT use in runtime code paths unless behind `__DEV__` flag.
287
287
  */
288
- const isHTMLTag = /* @__PURE__ */ makeMap(HTML_TAGS);
288
+ const isHTMLTag = /*@__PURE__*/ makeMap(HTML_TAGS);
289
289
  /**
290
290
  * Compiler only.
291
291
  * Do NOT use in runtime code paths unless behind `__DEV__` flag.
292
292
  */
293
- const isSVGTag = /* @__PURE__ */ makeMap(SVG_TAGS);
293
+ const isSVGTag = /*@__PURE__*/ makeMap(SVG_TAGS);
294
294
  /**
295
295
  * Compiler only.
296
296
  * Do NOT use in runtime code paths unless behind `__DEV__` flag.
297
297
  */
298
- const isMathMLTag = /* @__PURE__ */ makeMap(MATH_TAGS);
298
+ const isMathMLTag = /*@__PURE__*/ makeMap(MATH_TAGS);
299
299
  /**
300
300
  * Compiler only.
301
301
  * Do NOT use in runtime code paths unless behind `__DEV__` flag.
302
302
  */
303
- const isVoidTag = /* @__PURE__ */ makeMap(VOID_TAGS);
303
+ const isVoidTag = /*@__PURE__*/ makeMap(VOID_TAGS);
304
304
  //#endregion
305
305
  //#region packages/shared/src/domAttrConfig.ts
306
306
  /**
@@ -315,11 +315,11 @@ var Vue = (function() {
315
315
  * - readonly -> readOnly
316
316
  */
317
317
  const specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`;
318
- const isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs);
318
+ const isSpecialBooleanAttr = /*@__PURE__*/ makeMap(specialBooleanAttrs);
319
319
  /**
320
320
  * The full list is needed during SSR to produce the correct initial markup.
321
321
  */
322
- const isBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs + ",async,autofocus,autoplay,controls,default,defer,disabled,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected");
322
+ const isBooleanAttr = /*@__PURE__*/ makeMap(specialBooleanAttrs + ",async,autofocus,autoplay,controls,default,defer,disabled,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected");
323
323
  /**
324
324
  * Boolean attributes should be included if the value is truthy or ''.
325
325
  * e.g. `<select multiple>` compiles to `{ multiple: '' }`
@@ -333,11 +333,11 @@ var Vue = (function() {
333
333
  * Don't also forget to allow `data-*` and `aria-*`!
334
334
  * Generated from https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes
335
335
  */
336
- 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
+ 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");
337
337
  /**
338
338
  * Generated from https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute
339
339
  */
340
- 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
+ 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");
341
341
  /**
342
342
  * Shared between server-renderer and runtime-core hydration logic
343
343
  */
@@ -369,6 +369,21 @@ var Vue = (function() {
369
369
  for (let i = 0; equal && i < a.length; i++) equal = looseEqual(a[i], b[i]);
370
370
  return equal;
371
371
  }
372
+ function looseCompareCollections(a, b) {
373
+ if (a.size !== b.size) return false;
374
+ const candidates = Array.from(b);
375
+ const matched = new Uint8Array(candidates.length);
376
+ for (const item of a) {
377
+ let index = -1;
378
+ for (let i = 0; i < candidates.length; i++) if (!matched[i] && looseEqual(item, candidates[i])) {
379
+ index = i;
380
+ break;
381
+ }
382
+ if (index < 0) return false;
383
+ matched[index] = 1;
384
+ }
385
+ return true;
386
+ }
372
387
  function looseEqual(a, b) {
373
388
  if (a === b) return true;
374
389
  let aValidType = isDate(a);
@@ -384,6 +399,12 @@ var Vue = (function() {
384
399
  bValidType = isObject(b);
385
400
  if (aValidType || bValidType) {
386
401
  if (!aValidType || !bValidType) return false;
402
+ aValidType = isMap(a);
403
+ bValidType = isMap(b);
404
+ if (aValidType || bValidType) return aValidType && bValidType ? looseCompareCollections(a, b) : false;
405
+ aValidType = isSet(a);
406
+ bValidType = isSet(b);
407
+ if (aValidType || bValidType) return aValidType && bValidType ? looseCompareCollections(a, b) : false;
387
408
  if (Object.keys(a).length !== Object.keys(b).length) return false;
388
409
  for (const key in a) {
389
410
  const aHasKey = a.hasOwnProperty(key);
@@ -830,9 +851,7 @@ var Vue = (function() {
830
851
  if (isMap(target)) run(depsMap.get(MAP_KEY_ITERATE_KEY));
831
852
  }
832
853
  break;
833
- case "set":
834
- if (isMap(target)) run(depsMap.get(ITERATE_KEY));
835
- break;
854
+ case "set": if (isMap(target)) run(depsMap.get(ITERATE_KEY));
836
855
  }
837
856
  }
838
857
  }
@@ -1029,8 +1048,8 @@ var Vue = (function() {
1029
1048
  }
1030
1049
  //#endregion
1031
1050
  //#region packages/reactivity/src/baseHandlers.ts
1032
- const isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`);
1033
- const builtInSymbols = new Set(/* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== "arguments" && key !== "caller").map((key) => Symbol[key]).filter(isSymbol));
1051
+ const isNonTrackableKeys = /*@__PURE__*/ makeMap(`__proto__,__v_isRef,__isVue`);
1052
+ const builtInSymbols = new Set(/*@__PURE__*/ Object.getOwnPropertyNames(Symbol).filter((key) => key !== "arguments" && key !== "caller").map((key) => Symbol[key]).filter(isSymbol));
1034
1053
  function hasOwnProperty(key) {
1035
1054
  if (!isSymbol(key)) key = String(key);
1036
1055
  const obj = /* @__PURE__ */ toRaw(this);
@@ -1085,12 +1104,14 @@ var Vue = (function() {
1085
1104
  oldValue = /* @__PURE__ */ toRaw(oldValue);
1086
1105
  value = /* @__PURE__ */ toRaw(value);
1087
1106
  }
1088
- if (!isArrayWithIntegerKey && /* @__PURE__ */ isRef(oldValue) && !/* @__PURE__ */ isRef(value)) if (isOldValueReadonly) {
1089
- warn$2(`Set operation on key "${String(key)}" failed: target is readonly.`, target[key]);
1090
- return true;
1091
- } else {
1092
- oldValue.value = value;
1093
- return true;
1107
+ if (!isArrayWithIntegerKey && /* @__PURE__ */ isRef(oldValue) && !/* @__PURE__ */ isRef(value)) {
1108
+ if (isOldValueReadonly) {
1109
+ warn$2(`Set operation on key "${String(key)}" failed: target is readonly.`, target[key]);
1110
+ return true;
1111
+ } else {
1112
+ oldValue.value = value;
1113
+ return true;
1114
+ }
1094
1115
  }
1095
1116
  }
1096
1117
  const hadKey = isArrayWithIntegerKey ? Number(key) < target.length : hasOwn(target, key);
@@ -1131,10 +1152,10 @@ var Vue = (function() {
1131
1152
  return true;
1132
1153
  }
1133
1154
  };
1134
- const mutableHandlers = /* @__PURE__ */ new MutableReactiveHandler();
1135
- const readonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler();
1136
- const shallowReactiveHandlers = /* @__PURE__ */ new MutableReactiveHandler(true);
1137
- const shallowReadonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(true);
1155
+ const mutableHandlers = /*@__PURE__*/ new MutableReactiveHandler();
1156
+ const readonlyHandlers = /*@__PURE__*/ new ReadonlyReactiveHandler();
1157
+ const shallowReactiveHandlers = /*@__PURE__*/ new MutableReactiveHandler(true);
1158
+ const shallowReadonlyHandlers = /*@__PURE__*/ new ReadonlyReactiveHandler(true);
1138
1159
  //#endregion
1139
1160
  //#region packages/reactivity/src/collectionHandlers.ts
1140
1161
  const toShallow = (value) => value;
@@ -1285,10 +1306,10 @@ var Vue = (function() {
1285
1306
  return Reflect.get(hasOwn(instrumentations, key) && key in target ? instrumentations : target, key, receiver);
1286
1307
  };
1287
1308
  }
1288
- const mutableCollectionHandlers = { get: /* @__PURE__ */ createInstrumentationGetter(false, false) };
1289
- const shallowCollectionHandlers = { get: /* @__PURE__ */ createInstrumentationGetter(false, true) };
1290
- const readonlyCollectionHandlers = { get: /* @__PURE__ */ createInstrumentationGetter(true, false) };
1291
- const shallowReadonlyCollectionHandlers = { get: /* @__PURE__ */ createInstrumentationGetter(true, true) };
1309
+ const mutableCollectionHandlers = { get: /*@__PURE__*/ createInstrumentationGetter(false, false) };
1310
+ const shallowCollectionHandlers = { get: /*@__PURE__*/ createInstrumentationGetter(false, true) };
1311
+ const readonlyCollectionHandlers = { get: /*@__PURE__*/ createInstrumentationGetter(true, false) };
1312
+ const shallowReadonlyCollectionHandlers = { get: /*@__PURE__*/ createInstrumentationGetter(true, true) };
1292
1313
  function checkIdentityKeys(target, has, key) {
1293
1314
  const rawKey = /* @__PURE__ */ toRaw(key);
1294
1315
  if (rawKey !== key && has.call(target, rawKey)) {
@@ -1313,7 +1334,7 @@ var Vue = (function() {
1313
1334
  default: return 0;
1314
1335
  }
1315
1336
  }
1316
- /* @__NO_SIDE_EFFECTS__ */
1337
+ /*@__NO_SIDE_EFFECTS__*/
1317
1338
  function reactive(target) {
1318
1339
  if (/* @__PURE__ */ isReadonly(target)) return target;
1319
1340
  return createReactiveObject(target, false, mutableHandlers, mutableCollectionHandlers, reactiveMap);
@@ -1348,7 +1369,7 @@ var Vue = (function() {
1348
1369
  * @param target - The source object.
1349
1370
  * @see {@link https://vuejs.org/api/reactivity-advanced.html#shallowreactive}
1350
1371
  */
1351
- /* @__NO_SIDE_EFFECTS__ */
1372
+ /*@__NO_SIDE_EFFECTS__*/
1352
1373
  function shallowReactive(target) {
1353
1374
  return createReactiveObject(target, false, shallowReactiveHandlers, shallowCollectionHandlers, shallowReactiveMap);
1354
1375
  }
@@ -1381,7 +1402,7 @@ var Vue = (function() {
1381
1402
  * @param target - The source object.
1382
1403
  * @see {@link https://vuejs.org/api/reactivity-core.html#readonly}
1383
1404
  */
1384
- /* @__NO_SIDE_EFFECTS__ */
1405
+ /*@__NO_SIDE_EFFECTS__*/
1385
1406
  function readonly(target) {
1386
1407
  return createReactiveObject(target, true, readonlyHandlers, readonlyCollectionHandlers, readonlyMap);
1387
1408
  }
@@ -1415,7 +1436,7 @@ var Vue = (function() {
1415
1436
  * @param target - The source object.
1416
1437
  * @see {@link https://vuejs.org/api/reactivity-advanced.html#shallowreadonly}
1417
1438
  */
1418
- /* @__NO_SIDE_EFFECTS__ */
1439
+ /*@__NO_SIDE_EFFECTS__*/
1419
1440
  function shallowReadonly(target) {
1420
1441
  return createReactiveObject(target, true, shallowReadonlyHandlers, shallowReadonlyCollectionHandlers, shallowReadonlyMap);
1421
1442
  }
@@ -1452,7 +1473,7 @@ var Vue = (function() {
1452
1473
  * @param value - The value to check.
1453
1474
  * @see {@link https://vuejs.org/api/reactivity-utilities.html#isreactive}
1454
1475
  */
1455
- /* @__NO_SIDE_EFFECTS__ */
1476
+ /*@__NO_SIDE_EFFECTS__*/
1456
1477
  function isReactive(value) {
1457
1478
  if (/* @__PURE__ */ isReadonly(value)) return /* @__PURE__ */ isReactive(value["__v_raw"]);
1458
1479
  return !!(value && value["__v_isReactive"]);
@@ -1468,11 +1489,11 @@ var Vue = (function() {
1468
1489
  * @param value - The value to check.
1469
1490
  * @see {@link https://vuejs.org/api/reactivity-utilities.html#isreadonly}
1470
1491
  */
1471
- /* @__NO_SIDE_EFFECTS__ */
1492
+ /*@__NO_SIDE_EFFECTS__*/
1472
1493
  function isReadonly(value) {
1473
1494
  return !!(value && value["__v_isReadonly"]);
1474
1495
  }
1475
- /* @__NO_SIDE_EFFECTS__ */
1496
+ /*@__NO_SIDE_EFFECTS__*/
1476
1497
  function isShallow(value) {
1477
1498
  return !!(value && value["__v_isShallow"]);
1478
1499
  }
@@ -1483,7 +1504,7 @@ var Vue = (function() {
1483
1504
  * @param value - The value to check.
1484
1505
  * @see {@link https://vuejs.org/api/reactivity-utilities.html#isproxy}
1485
1506
  */
1486
- /* @__NO_SIDE_EFFECTS__ */
1507
+ /*@__NO_SIDE_EFFECTS__*/
1487
1508
  function isProxy(value) {
1488
1509
  return value ? !!value["__v_raw"] : false;
1489
1510
  }
@@ -1510,7 +1531,7 @@ var Vue = (function() {
1510
1531
  * @param observed - The object for which the "raw" value is requested.
1511
1532
  * @see {@link https://vuejs.org/api/reactivity-advanced.html#toraw}
1512
1533
  */
1513
- /* @__NO_SIDE_EFFECTS__ */
1534
+ /*@__NO_SIDE_EFFECTS__*/
1514
1535
  function toRaw(observed) {
1515
1536
  const raw = observed && observed["__v_raw"];
1516
1537
  return raw ? /* @__PURE__ */ toRaw(raw) : observed;
@@ -1559,15 +1580,15 @@ var Vue = (function() {
1559
1580
  const toReadonly = (value) => isObject(value) ? /* @__PURE__ */ readonly(value) : value;
1560
1581
  //#endregion
1561
1582
  //#region packages/reactivity/src/ref.ts
1562
- /* @__NO_SIDE_EFFECTS__ */
1583
+ /*@__NO_SIDE_EFFECTS__*/
1563
1584
  function isRef(r) {
1564
1585
  return r ? r["__v_isRef"] === true : false;
1565
1586
  }
1566
- /* @__NO_SIDE_EFFECTS__ */
1587
+ /*@__NO_SIDE_EFFECTS__*/
1567
1588
  function ref(value) {
1568
1589
  return createRef(value, toReactive);
1569
1590
  }
1570
- /* @__NO_SIDE_EFFECTS__ */
1591
+ /*@__NO_SIDE_EFFECTS__*/
1571
1592
  function shallowRef(value) {
1572
1593
  return createRef(value);
1573
1594
  }
@@ -1770,7 +1791,7 @@ var Vue = (function() {
1770
1791
  * @param object - Reactive object to be made into an object of linked refs.
1771
1792
  * @see {@link https://vuejs.org/api/reactivity-utilities.html#torefs}
1772
1793
  */
1773
- /* @__NO_SIDE_EFFECTS__ */
1794
+ /*@__NO_SIDE_EFFECTS__*/
1774
1795
  function toRefs(object) {
1775
1796
  const ret = isArray(object) ? new Array(object.length) : {};
1776
1797
  for (const key in object) ret[key] = propertyToRef(object, key);
@@ -1821,7 +1842,7 @@ var Vue = (function() {
1821
1842
  return this._value = this._getter();
1822
1843
  }
1823
1844
  };
1824
- /* @__NO_SIDE_EFFECTS__ */
1845
+ /*@__NO_SIDE_EFFECTS__*/
1825
1846
  function toRef(source, key, defaultValue) {
1826
1847
  if (/* @__PURE__ */ isRef(source)) return source;
1827
1848
  else if (isFunction(source)) return new GetterRefImpl(source);
@@ -1887,10 +1908,12 @@ var Vue = (function() {
1887
1908
  get dirty() {
1888
1909
  const flags = this.flags;
1889
1910
  if (flags & 16) return true;
1890
- if (flags & 32) if (checkDirty(this.deps, this)) {
1891
- this.flags = flags | 16;
1892
- return true;
1893
- } else this.flags = flags & -33;
1911
+ if (flags & 32) {
1912
+ if (checkDirty(this.deps, this)) {
1913
+ this.flags = flags | 16;
1914
+ return true;
1915
+ } else this.flags = flags & -33;
1916
+ }
1894
1917
  return false;
1895
1918
  }
1896
1919
  };
@@ -2069,10 +2092,12 @@ var Vue = (function() {
2069
2092
  get _dirty() {
2070
2093
  const flags = this.flags;
2071
2094
  if (flags & 16) return true;
2072
- if (flags & 32) if (checkDirty(this.deps, this)) {
2073
- this.flags = flags | 16;
2074
- return true;
2075
- } else this.flags = flags & -33;
2095
+ if (flags & 32) {
2096
+ if (checkDirty(this.deps, this)) {
2097
+ this.flags = flags | 16;
2098
+ return true;
2099
+ } else this.flags = flags & -33;
2100
+ }
2076
2101
  return false;
2077
2102
  }
2078
2103
  /**
@@ -2133,7 +2158,7 @@ var Vue = (function() {
2133
2158
  }
2134
2159
  };
2135
2160
  setupOnTrigger(ComputedRefImpl);
2136
- /* @__NO_SIDE_EFFECTS__ */
2161
+ /*@__NO_SIDE_EFFECTS__*/
2137
2162
  function computed$1(getterOrOptions, debugOptions, isSSR = false) {
2138
2163
  let getter;
2139
2164
  let setter;
@@ -2211,25 +2236,26 @@ var Vue = (function() {
2211
2236
  else if (isFunction(s)) return call ? call(s, 2) : s();
2212
2237
  else warnInvalidSource(s, onWarn);
2213
2238
  });
2214
- } else if (isFunction(source)) if (cb) getter = call ? () => call(source, 2) : source;
2215
- else getter = () => {
2216
- if (this.cleanupsLength) {
2217
- const prevSub = setActiveSub();
2239
+ } else if (isFunction(source)) {
2240
+ if (cb) getter = call ? () => call(source, 2) : source;
2241
+ else getter = () => {
2242
+ if (this.cleanupsLength) {
2243
+ const prevSub = setActiveSub();
2244
+ try {
2245
+ cleanup(this);
2246
+ } finally {
2247
+ setActiveSub(prevSub);
2248
+ }
2249
+ }
2250
+ const currentEffect = activeWatcher;
2251
+ activeWatcher = this;
2218
2252
  try {
2219
- cleanup(this);
2253
+ return call ? call(source, 3, [this.boundCleanup]) : source(this.boundCleanup);
2220
2254
  } finally {
2221
- setActiveSub(prevSub);
2255
+ activeWatcher = currentEffect;
2222
2256
  }
2223
- }
2224
- const currentEffect = activeWatcher;
2225
- activeWatcher = this;
2226
- try {
2227
- return call ? call(source, 3, [this.boundCleanup]) : source(this.boundCleanup);
2228
- } finally {
2229
- activeWatcher = currentEffect;
2230
- }
2231
- };
2232
- else {
2257
+ };
2258
+ } else {
2233
2259
  getter = NOOP;
2234
2260
  warnInvalidSource(source, onWarn);
2235
2261
  }
@@ -2553,7 +2579,7 @@ var Vue = (function() {
2553
2579
  let jobsLength = 0;
2554
2580
  let flushIndex = 0;
2555
2581
  let postFlushIndex = 0;
2556
- const resolvedPromise = /* @__PURE__ */ Promise.resolve();
2582
+ const resolvedPromise = /*@__PURE__*/ Promise.resolve();
2557
2583
  const RECURSION_LIMIT = 100;
2558
2584
  function nextTick(fn) {
2559
2585
  const p = currentFlushPromise || resolvedPromise;
@@ -2592,6 +2618,7 @@ var Vue = (function() {
2592
2618
  flushJobs();
2593
2619
  } catch (e) {
2594
2620
  currentFlushPromise = null;
2621
+ if (jobsLength || postJobs.length) queueFlush();
2595
2622
  throw e;
2596
2623
  }
2597
2624
  };
@@ -2599,9 +2626,10 @@ var Vue = (function() {
2599
2626
  if (!currentFlushPromise) currentFlushPromise = resolvedPromise.then(doFlushJobs);
2600
2627
  }
2601
2628
  function queuePostFlushCb(jobs, id = Infinity) {
2602
- if (!isArray(jobs)) if (activePostJobs && id === -1) activePostJobs.splice(postFlushIndex, 0, jobs);
2603
- else queueJobWorker(jobs, id, postJobs, postJobs.length, 0);
2604
- else for (let i = 0; i < jobs.length; i++) queueJobWorker(jobs[i], id, postJobs, postJobs.length, 0);
2629
+ if (!isArray(jobs)) {
2630
+ if (activePostJobs && id === -1) activePostJobs.splice(postFlushIndex, 0, jobs);
2631
+ else queueJobWorker(jobs, id, postJobs, postJobs.length, 0);
2632
+ } else for (let i = 0; i < jobs.length; i++) queueJobWorker(jobs[i], id, postJobs, postJobs.length, 0);
2605
2633
  queueFlush();
2606
2634
  }
2607
2635
  function flushPreFlushCbs(instance, seen) {
@@ -2615,8 +2643,11 @@ var Vue = (function() {
2615
2643
  i--;
2616
2644
  jobsLength--;
2617
2645
  if (cb.flags & 2) cb.flags &= -2;
2618
- cb();
2619
- if (!(cb.flags & 2)) cb.flags &= -2;
2646
+ try {
2647
+ cb();
2648
+ } finally {
2649
+ if (!(cb.flags & 2)) cb.flags &= -2;
2650
+ }
2620
2651
  }
2621
2652
  }
2622
2653
  function flushPostFlushCbs(seen) {
@@ -2629,18 +2660,22 @@ var Vue = (function() {
2629
2660
  activePostJobs = postJobs;
2630
2661
  postJobs = [];
2631
2662
  seen = seen || /* @__PURE__ */ new Map();
2632
- while (postFlushIndex < activePostJobs.length) {
2633
- const cb = activePostJobs[postFlushIndex++];
2634
- if (checkRecursiveUpdates(seen, cb)) continue;
2635
- if (cb.flags & 2) cb.flags &= -2;
2636
- if (!(cb.flags & 4)) try {
2637
- cb();
2638
- } finally {
2639
- cb.flags &= -2;
2663
+ try {
2664
+ while (postFlushIndex < activePostJobs.length) {
2665
+ const cb = activePostJobs[postFlushIndex++];
2666
+ if (checkRecursiveUpdates(seen, cb)) continue;
2667
+ if (cb.flags & 2) cb.flags &= -2;
2668
+ if (!(cb.flags & 4)) try {
2669
+ cb();
2670
+ } finally {
2671
+ if (!(cb.flags & 2)) cb.flags &= -2;
2672
+ }
2640
2673
  }
2674
+ } finally {
2675
+ while (postFlushIndex < activePostJobs.length) activePostJobs[postFlushIndex++].flags &= -2;
2676
+ activePostJobs = null;
2677
+ postFlushIndex = 0;
2641
2678
  }
2642
- activePostJobs = null;
2643
- postFlushIndex = 0;
2644
2679
  }
2645
2680
  }
2646
2681
  let isFlushing = false;
@@ -2650,9 +2685,12 @@ var Vue = (function() {
2650
2685
  function flushOnAppMount(instance) {
2651
2686
  if (!isFlushing) {
2652
2687
  isFlushing = true;
2653
- flushPreFlushCbs(instance);
2654
- flushPostFlushCbs();
2655
- isFlushing = false;
2688
+ try {
2689
+ flushPreFlushCbs(instance);
2690
+ flushPostFlushCbs();
2691
+ } finally {
2692
+ isFlushing = false;
2693
+ }
2656
2694
  }
2657
2695
  }
2658
2696
  function flushJobs(seen) {
@@ -2682,8 +2720,8 @@ var Vue = (function() {
2682
2720
  jobsLength = 0;
2683
2721
  jobs.length = 0;
2684
2722
  flushPostFlushCbs(seen);
2685
- currentFlushPromise = null;
2686
2723
  if (jobsLength || postJobs.length) flushJobs(seen);
2724
+ else currentFlushPromise = null;
2687
2725
  }
2688
2726
  }
2689
2727
  function checkRecursiveUpdates(seen, fn) {
@@ -2714,6 +2752,19 @@ var Vue = (function() {
2714
2752
  rerender: tryWrap(rerender),
2715
2753
  reload: tryWrap(reload)
2716
2754
  };
2755
+ function runWithHmrUpdating(fn) {
2756
+ isHmrUpdating = true;
2757
+ let done = false;
2758
+ try {
2759
+ fn();
2760
+ done = true;
2761
+ } finally {
2762
+ if (done) nextTick(() => {
2763
+ isHmrUpdating = false;
2764
+ });
2765
+ else isHmrUpdating = false;
2766
+ }
2767
+ }
2717
2768
  const map = /* @__PURE__ */ new Map();
2718
2769
  function registerHMR(instance) {
2719
2770
  const id = instance.type.__hmrId;
@@ -2755,18 +2806,16 @@ var Vue = (function() {
2755
2806
  instance.render = newRender;
2756
2807
  normalizeClassComponent(instance.type).render = newRender;
2757
2808
  }
2758
- isHmrUpdating = true;
2759
- if (instance.vapor) {
2760
- if (!instance.isUnmounted) instance.hmrRerender();
2761
- } else {
2762
- const i = instance;
2763
- if (!(i.effect.flags & 1024)) {
2764
- i.renderCache = [];
2765
- i.effect.run();
2809
+ runWithHmrUpdating(() => {
2810
+ if (instance.vapor) {
2811
+ if (!instance.isUnmounted) instance.hmrRerender();
2812
+ } else {
2813
+ const i = instance;
2814
+ if (!(i.effect.flags & 1024)) {
2815
+ i.renderCache = [];
2816
+ i.effect.run();
2817
+ }
2766
2818
  }
2767
- }
2768
- nextTick(() => {
2769
- isHmrUpdating = false;
2770
2819
  });
2771
2820
  });
2772
2821
  }
@@ -2781,15 +2830,17 @@ var Vue = (function() {
2781
2830
  for (const instance of instances) if (instance.root && instance.root.ce && instance !== instance.root) instance.root.ce._removeChildStyle(instance.type);
2782
2831
  const dirtyInstances = new Set(instances);
2783
2832
  const rerenderedParents = /* @__PURE__ */ new Set();
2784
- for (const instance of instances) {
2785
- const parent = instance.parent;
2786
- if (parent) {
2787
- if (!hasDirtyAncestor(instance, dirtyInstances) && !rerenderedParents.has(parent)) {
2788
- rerenderedParents.add(parent);
2789
- parent.hmrRerender();
2790
- }
2791
- } else instance.hmrReload(newComp);
2792
- }
2833
+ runWithHmrUpdating(() => {
2834
+ for (const instance of instances) {
2835
+ const parent = instance.parent;
2836
+ if (parent) {
2837
+ if (!hasDirtyAncestor(instance, dirtyInstances) && !rerenderedParents.has(parent)) {
2838
+ rerenderedParents.add(parent);
2839
+ parent.hmrRerender();
2840
+ }
2841
+ } else instance.hmrReload(newComp);
2842
+ }
2843
+ });
2793
2844
  } else {
2794
2845
  const parentUpdates = /* @__PURE__ */ new Map();
2795
2846
  const dirtyInstanceSet = new Set(instances);
@@ -2823,21 +2874,22 @@ var Vue = (function() {
2823
2874
  }
2824
2875
  parentUpdates.forEach((updates, parent) => {
2825
2876
  queueJob(() => {
2826
- isHmrUpdating = true;
2827
- if (parent.vapor) parent.hmrRerender();
2828
- else {
2829
- const i = parent;
2830
- if (!(i.effect.flags & 1024)) {
2831
- i.renderCache = [];
2832
- i.effect.run();
2833
- }
2877
+ try {
2878
+ runWithHmrUpdating(() => {
2879
+ if (parent.vapor) parent.hmrRerender();
2880
+ else {
2881
+ const i = parent;
2882
+ if (!(i.effect.flags & 1024)) {
2883
+ i.renderCache = [];
2884
+ i.effect.run();
2885
+ }
2886
+ }
2887
+ });
2888
+ } finally {
2889
+ updates.forEach(([instance, dirtyInstances]) => {
2890
+ dirtyInstances.delete(instance);
2891
+ });
2834
2892
  }
2835
- nextTick(() => {
2836
- isHmrUpdating = false;
2837
- });
2838
- updates.forEach(([instance, dirtyInstances]) => {
2839
- dirtyInstances.delete(instance);
2840
- });
2841
2893
  });
2842
2894
  });
2843
2895
  }
@@ -2906,20 +2958,20 @@ var Vue = (function() {
2906
2958
  function devtoolsUnmountApp(app) {
2907
2959
  emit$2("app:unmount", app);
2908
2960
  }
2909
- const devtoolsComponentAdded = /* @__PURE__ */ createDevtoolsComponentHook("component:added");
2910
- const devtoolsComponentUpdated = /* @__PURE__ */ createDevtoolsComponentHook("component:updated");
2911
- const _devtoolsComponentRemoved = /* @__PURE__ */ createDevtoolsComponentHook("component:removed");
2961
+ const devtoolsComponentAdded = /*@__PURE__*/ createDevtoolsComponentHook("component:added");
2962
+ const devtoolsComponentUpdated = /*@__PURE__*/ createDevtoolsComponentHook("component:updated");
2963
+ const _devtoolsComponentRemoved = /*@__PURE__*/ createDevtoolsComponentHook("component:removed");
2912
2964
  const devtoolsComponentRemoved = (component) => {
2913
2965
  if (devtools$1 && typeof devtools$1.cleanupBuffer === "function" && !devtools$1.cleanupBuffer(component)) _devtoolsComponentRemoved(component);
2914
2966
  };
2915
- /* @__NO_SIDE_EFFECTS__ */
2967
+ /*@__NO_SIDE_EFFECTS__*/
2916
2968
  function createDevtoolsComponentHook(hook) {
2917
2969
  return (component) => {
2918
2970
  emit$2(hook, component.appContext.app, component.uid, component.parent ? component.parent.uid : void 0, component);
2919
2971
  };
2920
2972
  }
2921
- const devtoolsPerfStart = /* @__PURE__ */ createDevtoolsPerformanceHook("perf:start");
2922
- const devtoolsPerfEnd = /* @__PURE__ */ createDevtoolsPerformanceHook("perf:end");
2973
+ const devtoolsPerfStart = /*@__PURE__*/ createDevtoolsPerformanceHook("perf:start");
2974
+ const devtoolsPerfEnd = /*@__PURE__*/ createDevtoolsPerformanceHook("perf:end");
2923
2975
  function createDevtoolsPerformanceHook(hook) {
2924
2976
  return (component, type, time) => {
2925
2977
  emit$2(hook, component.appContext.app, component.uid, component, type, time);
@@ -3148,7 +3200,7 @@ var Vue = (function() {
3148
3200
  validateCompatConfig(config);
3149
3201
  extend(globalCompatConfig, config);
3150
3202
  }
3151
- const seenConfigObjects = /* @__PURE__ */ new WeakSet();
3203
+ const seenConfigObjects = /*@__PURE__*/ new WeakSet();
3152
3204
  const warnedInvalidKeys = {};
3153
3205
  function validateCompatConfig(config, instance) {
3154
3206
  if (seenConfigObjects.has(config)) return;
@@ -3200,7 +3252,7 @@ var Vue = (function() {
3200
3252
  }
3201
3253
  //#endregion
3202
3254
  //#region packages/runtime-core/src/compat/instanceEventEmitter.ts
3203
- const eventRegistryMap = /* @__PURE__ */ new WeakMap();
3255
+ const eventRegistryMap = /*@__PURE__*/ new WeakMap();
3204
3256
  function getRegistry(instance) {
3205
3257
  let events = eventRegistryMap.get(instance);
3206
3258
  if (!events) eventRegistryMap.set(instance, events = Object.create(null));
@@ -3334,19 +3386,21 @@ var Vue = (function() {
3334
3386
  };
3335
3387
  function mapCompatDirectiveHook(name, dir, instance) {
3336
3388
  const mappedName = legacyDirectiveHookMap[name];
3337
- if (mappedName) if (isArray(mappedName)) {
3338
- const hook = [];
3339
- mappedName.forEach((mapped) => {
3340
- const mappedHook = dir[mapped];
3341
- if (mappedHook) {
3342
- softAssertCompatEnabled("CUSTOM_DIR", instance, mapped, name);
3343
- hook.push(mappedHook);
3344
- }
3345
- });
3346
- return hook.length ? hook : void 0;
3347
- } else {
3348
- if (dir[mappedName]) softAssertCompatEnabled("CUSTOM_DIR", instance, mappedName, name);
3349
- return dir[mappedName];
3389
+ if (mappedName) {
3390
+ if (isArray(mappedName)) {
3391
+ const hook = [];
3392
+ mappedName.forEach((mapped) => {
3393
+ const mappedHook = dir[mapped];
3394
+ if (mappedHook) {
3395
+ softAssertCompatEnabled("CUSTOM_DIR", instance, mapped, name);
3396
+ hook.push(mappedHook);
3397
+ }
3398
+ });
3399
+ return hook.length ? hook : void 0;
3400
+ } else {
3401
+ if (dir[mappedName]) softAssertCompatEnabled("CUSTOM_DIR", instance, mappedName, name);
3402
+ return dir[mappedName];
3403
+ }
3350
3404
  }
3351
3405
  }
3352
3406
  //#endregion
@@ -3531,15 +3585,16 @@ var Vue = (function() {
3531
3585
  const isTargetMathML = (target) => typeof MathMLElement === "function" && target instanceof MathMLElement;
3532
3586
  const resolveTarget = (props, select) => {
3533
3587
  const targetSelector = props && props.to;
3534
- if (isString(targetSelector)) if (!select) {
3535
- warn$1("Current renderer does not support string target for Teleports. (missing querySelector renderer option)");
3536
- return null;
3588
+ if (isString(targetSelector)) {
3589
+ if (!select) {
3590
+ warn$1("Current renderer does not support string target for Teleports. (missing querySelector renderer option)");
3591
+ return null;
3592
+ } else {
3593
+ const target = select(targetSelector);
3594
+ 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.`);
3595
+ return target;
3596
+ }
3537
3597
  } else {
3538
- const target = select(targetSelector);
3539
- 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.`);
3540
- return target;
3541
- }
3542
- else {
3543
3598
  if (!targetSelector && !isTeleportDisabled(props)) warn$1(`Invalid Teleport target: ${targetSelector}`);
3544
3599
  return targetSelector;
3545
3600
  }
@@ -3577,7 +3632,8 @@ var Vue = (function() {
3577
3632
  if (pendingMounts.get(vnode) !== mountJob) return;
3578
3633
  pendingMounts.delete(vnode);
3579
3634
  if (isTeleportDisabled(vnode.props)) {
3580
- mount(vnode, parentNode(vnode.el) || container, vnode.anchor);
3635
+ const mountContainer = parentNode(vnode.el) || container;
3636
+ mount(vnode, mountContainer, vnode.anchor);
3581
3637
  updateCssVars(vnode, true);
3582
3638
  }
3583
3639
  mountToTarget(vnode);
@@ -3686,15 +3742,17 @@ var Vue = (function() {
3686
3742
  const disabled = isTeleportDisabled(vnode.props);
3687
3743
  if (target) {
3688
3744
  const targetNode = target._lpa || target.firstChild;
3689
- if (vnode.shapeFlag & 16) if (disabled) {
3690
- hydrateDisabledTeleport(node, vnode);
3691
- hydrateAnchor(target, targetNode);
3692
- if (!vnode.targetAnchor) prepareAnchor(target, vnode, createText, insert, parentNode(node) === target ? node : null);
3693
- } else {
3694
- vnode.anchor = nextSibling(node);
3695
- hydrateAnchor(target, targetNode);
3696
- if (!vnode.targetAnchor) prepareAnchor(target, vnode, createText, insert);
3697
- hydrateChildren(targetNode && nextSibling(targetNode), vnode, target, parentComponent, parentSuspense, slotScopeIds, optimized);
3745
+ if (vnode.shapeFlag & 16) {
3746
+ if (disabled) {
3747
+ hydrateDisabledTeleport(node, vnode);
3748
+ hydrateAnchor(target, targetNode);
3749
+ if (!vnode.targetAnchor) prepareAnchor(target, vnode, createText, insert, parentNode(node) === target ? node : null);
3750
+ } else {
3751
+ vnode.anchor = nextSibling(node);
3752
+ hydrateAnchor(target, targetNode);
3753
+ if (!vnode.targetAnchor) prepareAnchor(target, vnode, createText, insert);
3754
+ hydrateChildren(targetNode && nextSibling(targetNode), vnode, target, parentComponent, parentSuspense, slotScopeIds, optimized);
3755
+ }
3698
3756
  }
3699
3757
  updateCssVars(vnode, disabled);
3700
3758
  } else if (disabled) {
@@ -3861,8 +3919,10 @@ var Vue = (function() {
3861
3919
  persisted,
3862
3920
  beforeEnter(el) {
3863
3921
  let hook = onBeforeEnter;
3864
- if (!state.isMounted) if (appear) hook = onBeforeAppear || onBeforeEnter;
3865
- else return;
3922
+ if (!state.isMounted) {
3923
+ if (appear) hook = onBeforeAppear || onBeforeEnter;
3924
+ else return;
3925
+ }
3866
3926
  if (el[leaveCbKey]) el[leaveCbKey](true);
3867
3927
  earlyRemove();
3868
3928
  callHook(hook, [el]);
@@ -3872,11 +3932,13 @@ var Vue = (function() {
3872
3932
  let hook = onEnter;
3873
3933
  let afterHook = onAfterEnter;
3874
3934
  let cancelHook = onEnterCancelled;
3875
- if (!state.isMounted) if (appear) {
3876
- hook = onAppear || onEnter;
3877
- afterHook = onAfterAppear || onAfterEnter;
3878
- cancelHook = onAppearCancelled || onEnterCancelled;
3879
- } else return;
3935
+ if (!state.isMounted) {
3936
+ if (appear) {
3937
+ hook = onAppear || onEnter;
3938
+ afterHook = onAfterAppear || onAfterEnter;
3939
+ cancelHook = onAppearCancelled || onEnterCancelled;
3940
+ } else return;
3941
+ }
3880
3942
  let called = false;
3881
3943
  el[enterCbKey$1] = (cancelled) => {
3882
3944
  if (called) return;
@@ -4042,9 +4104,9 @@ var Vue = (function() {
4042
4104
  }
4043
4105
  //#endregion
4044
4106
  //#region packages/runtime-core/src/apiDefineComponent.ts
4045
- /* @__NO_SIDE_EFFECTS__ */
4107
+ /*@__NO_SIDE_EFFECTS__*/
4046
4108
  function defineComponent(options, extraOptions) {
4047
- return isFunction(options) ? extend({ name: options.name }, extraOptions, { setup: options }) : options;
4109
+ return isFunction(options) ? /*@__PURE__*/ (() => extend({ name: options.name }, extraOptions, { setup: options }))() : options;
4048
4110
  }
4049
4111
  //#endregion
4050
4112
  //#region packages/runtime-core/src/helpers/useId.ts
@@ -4141,15 +4203,16 @@ var Vue = (function() {
4141
4203
  if (rawRef.f) {
4142
4204
  const existing = _isString ? canSetSetupRef(ref) ? setupState[ref] : refs[ref] : canSetRef(ref) || !rawRef.k ? ref.value : refs[rawRef.k];
4143
4205
  if (isUnmount) isArray(existing) && remove(existing, refValue);
4144
- else if (!isArray(existing)) if (_isString) {
4145
- refs[ref] = [refValue];
4146
- if (canSetSetupRef(ref)) setupState[ref] = refs[ref];
4147
- } else {
4148
- const newVal = [refValue];
4149
- if (canSetRef(ref, rawRef.k)) ref.value = newVal;
4150
- if (rawRef.k) refs[rawRef.k] = newVal;
4151
- }
4152
- else if (!existing.includes(refValue)) existing.push(refValue);
4206
+ else if (!isArray(existing)) {
4207
+ if (_isString) {
4208
+ refs[ref] = [refValue];
4209
+ if (canSetSetupRef(ref)) setupState[ref] = refs[ref];
4210
+ } else {
4211
+ const newVal = [refValue];
4212
+ if (canSetRef(ref, rawRef.k)) ref.value = newVal;
4213
+ if (rawRef.k) refs[rawRef.k] = newVal;
4214
+ }
4215
+ } else if (!existing.includes(refValue)) existing.push(refValue);
4153
4216
  } else if (_isString) {
4154
4217
  refs[ref] = value;
4155
4218
  if (canSetSetupRef(ref)) setupState[ref] = value;
@@ -4250,11 +4313,12 @@ var Vue = (function() {
4250
4313
  let nextNode = null;
4251
4314
  switch (type) {
4252
4315
  case Text:
4253
- if (domType !== 3) if (vnode.children === "") {
4254
- insert(vnode.el = createText(""), parentNode(node), node);
4255
- nextNode = node;
4256
- } else nextNode = onMismatch();
4257
- else {
4316
+ if (domType !== 3) {
4317
+ if (vnode.children === "") {
4318
+ insert(vnode.el = createText(""), parentNode(node), node);
4319
+ nextNode = node;
4320
+ } else nextNode = onMismatch();
4321
+ } else {
4258
4322
  if (node.data !== vnode.children) {
4259
4323
  warn$1(`Hydration text mismatch in`, node.parentNode, `\n - rendered on server: ${JSON.stringify(node.data)}\n - expected on client: ${JSON.stringify(vnode.children)}`);
4260
4324
  logMismatchError();
@@ -4293,9 +4357,10 @@ var Vue = (function() {
4293
4357
  case VaporSlot:
4294
4358
  nextNode = getVaporInterface(parentComponent, vnode).hydrateSlot(vnode, node, parentComponent, parentSuspense, slotScopeIds);
4295
4359
  break;
4296
- default: if (shapeFlag & 1) if ((domType !== 1 || vnode.type.toLowerCase() !== node.tagName.toLowerCase()) && !isTemplateNode$1(node)) nextNode = onMismatch();
4297
- else nextNode = hydrateElement(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized);
4298
- else if (shapeFlag & 6) {
4360
+ default: if (shapeFlag & 1) {
4361
+ if ((domType !== 1 || vnode.type.toLowerCase() !== node.tagName.toLowerCase()) && !isTemplateNode$1(node)) nextNode = onMismatch();
4362
+ else nextNode = hydrateElement(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized);
4363
+ } else if (shapeFlag & 6) {
4299
4364
  vnode.slotScopeIds = slotScopeIds;
4300
4365
  const container = parentNode(node);
4301
4366
  if (isFragmentStart) nextNode = locateClosingAnchor(node);
@@ -4317,19 +4382,20 @@ var Vue = (function() {
4317
4382
  } else {
4318
4383
  mountComponent(vnode, container, null, parentComponent, parentSuspense, getContainerType(container), optimized);
4319
4384
  const component = vnode.component;
4320
- if (isAsyncWrapper(vnode) && !vnode.type.__asyncResolved || component.asyncDep && !component.asyncResolved) {
4385
+ if (!component.subTree && (isAsyncWrapper(vnode) || component.asyncDep && !component.asyncResolved)) {
4321
4386
  let subTree;
4322
4387
  if (isFragmentStart) {
4323
- subTree = createVNode(Fragment);
4388
+ subTree = createVNode(Static);
4324
4389
  subTree.anchor = nextNode ? nextNode.previousSibling : container.lastChild;
4325
4390
  } else subTree = node.nodeType === 3 ? createTextVNode("") : createVNode("div");
4326
4391
  subTree.el = node;
4327
4392
  component.subTree = subTree;
4328
4393
  }
4329
4394
  }
4330
- } else if (shapeFlag & 64) if (domType !== 8) nextNode = onMismatch();
4331
- else nextNode = vnode.type.hydrate(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, rendererInternals, hydrateChildren);
4332
- else if (shapeFlag & 128) nextNode = vnode.type.hydrate(node, vnode, parentComponent, parentSuspense, getContainerType(parentNode(node)), slotScopeIds, optimized, rendererInternals, hydrateNode);
4395
+ } else if (shapeFlag & 64) {
4396
+ if (domType !== 8) nextNode = onMismatch();
4397
+ else nextNode = vnode.type.hydrate(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, rendererInternals, hydrateChildren);
4398
+ } else if (shapeFlag & 128) nextNode = vnode.type.hydrate(node, vnode, parentComponent, parentSuspense, getContainerType(parentNode(node)), slotScopeIds, optimized, rendererInternals, hydrateNode);
4333
4399
  else warn$1("Invalid HostVNode type:", type, `(${typeof type})`);
4334
4400
  }
4335
4401
  if (ref != null) setRef(ref, null, parentSuspense, vnode);
@@ -4470,8 +4536,10 @@ var Vue = (function() {
4470
4536
  node = nextSibling(node);
4471
4537
  if (node && isComment(node)) {
4472
4538
  if (node.data === open) match++;
4473
- if (node.data === close) if (match === 0) return nextSibling(node);
4474
- else match--;
4539
+ if (node.data === close) {
4540
+ if (match === 0) return nextSibling(node);
4541
+ else match--;
4542
+ }
4475
4543
  }
4476
4544
  }
4477
4545
  return node;
@@ -4493,7 +4561,7 @@ var Vue = (function() {
4493
4561
  /**
4494
4562
  * Dev only
4495
4563
  */
4496
- const resourceProps = /* @__PURE__ */ new Set([
4564
+ const resourceProps = /*@__PURE__*/ new Set([
4497
4565
  "src",
4498
4566
  "srcset",
4499
4567
  "href",
@@ -4735,7 +4803,7 @@ var Vue = (function() {
4735
4803
  //#endregion
4736
4804
  //#region packages/runtime-core/src/apiAsyncComponent.ts
4737
4805
  const isAsyncWrapper = (i) => !!i.type.__asyncLoader;
4738
- /* @__NO_SIDE_EFFECTS__ */
4806
+ /*@__NO_SIDE_EFFECTS__*/
4739
4807
  function defineAsyncComponent(source) {
4740
4808
  const { load, getResolvedComp, setPendingRequest, source: { loadingComponent, errorComponent, delay, hydrate: hydrateStrategy, timeout, suspensible = true } } = createAsyncComponentContext(source);
4741
4809
  return /* @__PURE__ */ defineComponent({
@@ -4950,10 +5018,13 @@ var Vue = (function() {
4950
5018
  });
4951
5019
  let pendingCacheKey = null;
4952
5020
  const cacheSubtree = () => {
4953
- if (pendingCacheKey != null) if (isSuspense(keepAliveInstance.subTree.type)) queuePostRenderEffect(() => {
4954
- cache.set(pendingCacheKey, getInnerChild(keepAliveInstance.subTree));
4955
- }, void 0, keepAliveInstance.subTree.suspense);
4956
- else cache.set(pendingCacheKey, getInnerChild(keepAliveInstance.subTree));
5021
+ if (pendingCacheKey != null) {
5022
+ if (isSuspense(keepAliveInstance.subTree.type)) queuePostRenderEffect(() => {
5023
+ const vnode = getInnerChild(keepAliveInstance.subTree);
5024
+ if (vnode.component) cache.set(pendingCacheKey, vnode);
5025
+ }, void 0, keepAliveInstance.subTree.suspense);
5026
+ else cache.set(pendingCacheKey, getInnerChild(keepAliveInstance.subTree));
5027
+ }
4957
5028
  };
4958
5029
  onMounted(cacheSubtree);
4959
5030
  onUpdated(cacheSubtree);
@@ -5024,7 +5095,7 @@ var Vue = (function() {
5024
5095
  t.__isBuiltIn = true;
5025
5096
  return t;
5026
5097
  };
5027
- const KeepAlive = /* @__PURE__ */ decorate$2(KeepAliveImpl);
5098
+ const KeepAlive = /*@__PURE__*/ decorate$2(KeepAliveImpl);
5028
5099
  function matches(pattern, name) {
5029
5100
  if (isArray(pattern)) return pattern.some((p) => matches(p, name));
5030
5101
  else if (isString(pattern)) return pattern.split(",").includes(name);
@@ -5240,16 +5311,17 @@ var Vue = (function() {
5240
5311
  }
5241
5312
  const l = arguments.length;
5242
5313
  const is2ndArgArrayChildren = isArray(propsOrChildren);
5243
- if (l === 2 || is2ndArgArrayChildren) if (isObject(propsOrChildren) && !is2ndArgArrayChildren) {
5244
- if (isVNode(propsOrChildren)) return convertLegacySlots(createVNode(type, null, [propsOrChildren]));
5245
- return convertLegacySlots(convertLegacyDirectives(createVNode(type, convertLegacyProps(propsOrChildren, type)), propsOrChildren));
5246
- } else return convertLegacySlots(createVNode(type, null, propsOrChildren));
5247
- else {
5314
+ if (l === 2 || is2ndArgArrayChildren) {
5315
+ if (isObject(propsOrChildren) && !is2ndArgArrayChildren) {
5316
+ if (isVNode(propsOrChildren)) return convertLegacySlots(createVNode(type, null, [propsOrChildren]));
5317
+ return convertLegacySlots(convertLegacyDirectives(createVNode(type, convertLegacyProps(propsOrChildren, type)), propsOrChildren));
5318
+ } else return convertLegacySlots(createVNode(type, null, propsOrChildren));
5319
+ } else {
5248
5320
  if (isVNode(children)) children = [children];
5249
5321
  return convertLegacySlots(convertLegacyDirectives(createVNode(type, convertLegacyProps(propsOrChildren, type), children), propsOrChildren));
5250
5322
  }
5251
5323
  }
5252
- const skipLegacyRootLevelProps = /* @__PURE__ */ makeMap("staticStyle,staticClass,directives,model,hook");
5324
+ const skipLegacyRootLevelProps = /*@__PURE__*/ makeMap("staticStyle,staticClass,directives,model,hook");
5253
5325
  function convertLegacyProps(legacyProps, type) {
5254
5326
  if (!legacyProps) return null;
5255
5327
  const converted = {};
@@ -5261,8 +5333,10 @@ var Vue = (function() {
5261
5333
  if (key === "nativeOn") handlerKey += `Native`;
5262
5334
  const existing = converted[handlerKey];
5263
5335
  const incoming = listeners[event];
5264
- if (existing !== incoming) if (existing) converted[handlerKey] = [].concat(existing, incoming);
5265
- else converted[handlerKey] = incoming;
5336
+ if (existing !== incoming) {
5337
+ if (existing) converted[handlerKey] = [].concat(existing, incoming);
5338
+ else converted[handlerKey] = incoming;
5339
+ }
5266
5340
  }
5267
5341
  } else if (!skipLegacyRootLevelProps(key)) converted[key] = legacyProps[key];
5268
5342
  if (legacyProps.staticClass) converted.class = normalizeClass([legacyProps.staticClass, converted.class]);
@@ -5361,7 +5435,7 @@ var Vue = (function() {
5361
5435
  const legacyFn = comp.render;
5362
5436
  const Func = (props, ctx) => {
5363
5437
  const instance = getCurrentInstance();
5364
- return legacyFn(compatH, {
5438
+ const legacyCtx = {
5365
5439
  props,
5366
5440
  children: instance.vnode.children || [],
5367
5441
  data: instance.vnode.props || {},
@@ -5381,7 +5455,8 @@ var Vue = (function() {
5381
5455
  }
5382
5456
  return {};
5383
5457
  }
5384
- });
5458
+ };
5459
+ return legacyFn(compatH, legacyCtx);
5385
5460
  };
5386
5461
  Func.props = comp.props;
5387
5462
  Func.displayName = comp.name;
@@ -5410,23 +5485,25 @@ var Vue = (function() {
5410
5485
  }
5411
5486
  ret = new Array(source.length);
5412
5487
  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]);
5413
- } else if (typeof source === "number") if (!Number.isInteger(source) || source < 0) {
5414
- warn$1(`The v-for range expects a positive integer value but got ${source}.`);
5415
- ret = [];
5416
- } else {
5417
- ret = new Array(source);
5418
- for (let i = 0; i < source; i++) ret[i] = renderItem(i + 1, i, void 0, cached && cached[i]);
5419
- }
5420
- else if (isObject(source)) if (source[Symbol.iterator]) ret = Array.from(source, (item, i) => renderItem(item, i, void 0, cached && cached[i]));
5421
- else {
5422
- const keys = Object.keys(source);
5423
- ret = new Array(keys.length);
5424
- for (let i = 0, l = keys.length; i < l; i++) {
5425
- const key = keys[i];
5426
- ret[i] = renderItem(source[key], key, i, cached && cached[i]);
5488
+ } else if (typeof source === "number") {
5489
+ if (!Number.isInteger(source) || source < 0) {
5490
+ warn$1(`The v-for range expects a positive integer value but got ${source}.`);
5491
+ ret = [];
5492
+ } else {
5493
+ ret = new Array(source);
5494
+ for (let i = 0; i < source; i++) ret[i] = renderItem(i + 1, i, void 0, cached && cached[i]);
5427
5495
  }
5428
- }
5429
- else ret = [];
5496
+ } else if (isObject(source)) {
5497
+ if (source[Symbol.iterator]) ret = Array.from(source, (item, i) => renderItem(item, i, void 0, cached && cached[i]));
5498
+ else {
5499
+ const keys = Object.keys(source);
5500
+ ret = new Array(keys.length);
5501
+ for (let i = 0, l = keys.length; i < l; i++) {
5502
+ const key = keys[i];
5503
+ ret[i] = renderItem(source[key], key, i, cached && cached[i]);
5504
+ }
5505
+ }
5506
+ } else ret = [];
5430
5507
  if (cache) cache[index] = ret;
5431
5508
  return ret;
5432
5509
  }
@@ -5451,14 +5528,27 @@ var Vue = (function() {
5451
5528
  //#endregion
5452
5529
  //#region packages/runtime-core/src/helpers/renderSlot.ts
5453
5530
  /**
5531
+ * Links a slot function to its raw vapor slot: a raw vapor slot carries
5532
+ * itself, and the wrapper the interop slots proxy hands out carries the raw
5533
+ * slot it wraps — one lookup answers both "is this a vapor slot" and
5534
+ * "which one". Internal to vapor interop.
5535
+ */
5536
+ const rawVaporSlotKey = Symbol(`rawVaporSlot`);
5537
+ /**
5538
+ * Marks a compiler-generated slot fallback as VDOM-rendered so the vapor
5539
+ * interop fallback chain renders it through the VDOM renderer. Internal to
5540
+ * vapor interop.
5541
+ */
5542
+ const vdomSlotFallbackKey = Symbol(`vdomSlotFallback`);
5543
+ /**
5454
5544
  * Compiler runtime helper for rendering `<slot/>`
5455
5545
  * @private
5456
5546
  */
5457
5547
  function renderSlot(slots, name, props, fallback, noSlotted, branchKey) {
5458
5548
  if (props == null) props = {};
5459
5549
  let slot = slots[name];
5460
- if (fallback) fallback.__vdom = true;
5461
- const vaporSlot = slot && (slot.__vs || (slot.__vapor ? slot : null));
5550
+ if (fallback) fallback[vdomSlotFallbackKey] = true;
5551
+ const vaporSlot = slot && slot[rawVaporSlotKey];
5462
5552
  if (vaporSlot) {
5463
5553
  const ret = (openBlock(), createBlock(VaporSlot, props));
5464
5554
  ret.vs = {
@@ -5566,12 +5656,14 @@ var Vue = (function() {
5566
5656
  function mapKeyToName(slots) {
5567
5657
  for (let i = 0; i < slots.length; i++) {
5568
5658
  const fn = slots[i];
5569
- if (fn) if (isArray(fn)) mapKeyToName(fn);
5570
- else fn.name = fn.key || "default";
5659
+ if (fn) {
5660
+ if (isArray(fn)) mapKeyToName(fn);
5661
+ else fn.name = fn.key || "default";
5662
+ }
5571
5663
  }
5572
5664
  return slots;
5573
5665
  }
5574
- const staticCacheMap = /* @__PURE__ */ new WeakMap();
5666
+ const staticCacheMap = /*@__PURE__*/ new WeakMap();
5575
5667
  function legacyRenderStatic(instance, index) {
5576
5668
  let cache = staticCacheMap.get(instance);
5577
5669
  if (!cache) staticCacheMap.set(instance, cache = []);
@@ -5704,11 +5796,38 @@ var Vue = (function() {
5704
5796
  if (isStatefulComponent(i)) return getComponentPublicInstance(i);
5705
5797
  return getPublicInstance(i.parent);
5706
5798
  };
5799
+ const resolveDevRootEl = (vnode) => {
5800
+ let found = false;
5801
+ while (true) {
5802
+ if (vnode.patchFlag > 0 && vnode.patchFlag & 2048) {
5803
+ const root = filterSingleRoot(vnode.children);
5804
+ if (!root) return;
5805
+ vnode = root;
5806
+ found = true;
5807
+ continue;
5808
+ }
5809
+ const component = vnode.component;
5810
+ if (component && component.subTree) {
5811
+ vnode = component.subTree;
5812
+ continue;
5813
+ }
5814
+ const suspense = vnode.suspense;
5815
+ if (suspense && suspense.activeBranch) {
5816
+ vnode = suspense.activeBranch;
5817
+ continue;
5818
+ }
5819
+ return found ? vnode.el : void 0;
5820
+ }
5821
+ };
5822
+ const getDevRootFragmentEl = (i) => {
5823
+ const el = i.subTree && resolveDevRootEl(i.subTree);
5824
+ return el === void 0 ? i.vnode.el : el;
5825
+ };
5707
5826
  let publicPropertiesMap;
5708
5827
  const getPublicPropertiesMap = () => {
5709
5828
  if (!publicPropertiesMap) publicPropertiesMap = extend(Object.create(null), {
5710
5829
  $: (i) => i,
5711
- $el: (i) => i.vnode.el,
5830
+ $el: (i) => getDevRootFragmentEl(i),
5712
5831
  $data: (i) => i.data,
5713
5832
  $props: (i) => /* @__PURE__ */ shallowReadonly(i.props),
5714
5833
  $attrs: (i) => /* @__PURE__ */ shallowReadonly(i.attrs),
@@ -5821,7 +5940,7 @@ var Vue = (function() {
5821
5940
  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.");
5822
5941
  return Reflect.ownKeys(target);
5823
5942
  };
5824
- const RuntimeCompiledPublicInstanceProxyHandlers = /* @__PURE__ */ extend({}, PublicInstanceProxyHandlers, {
5943
+ const RuntimeCompiledPublicInstanceProxyHandlers = /*@__PURE__*/ extend({}, PublicInstanceProxyHandlers, {
5825
5944
  get(target, key) {
5826
5945
  if (key === Symbol.unscopables) return;
5827
5946
  return PublicInstanceProxyHandlers.get(target, key, target);
@@ -6006,12 +6125,13 @@ var Vue = (function() {
6006
6125
  for (const key in defaults) {
6007
6126
  if (key.startsWith("__skip")) continue;
6008
6127
  let opt = props[key];
6009
- if (opt) if (isArray(opt) || isFunction(opt)) opt = props[key] = {
6010
- type: opt,
6011
- default: defaults[key]
6012
- };
6013
- else opt.default = defaults[key];
6014
- else if (opt === null) opt = props[key] = { default: defaults[key] };
6128
+ if (opt) {
6129
+ if (isArray(opt) || isFunction(opt)) opt = props[key] = {
6130
+ type: opt,
6131
+ default: defaults[key]
6132
+ };
6133
+ else opt.default = defaults[key];
6134
+ } else if (opt === null) opt = props[key] = { default: defaults[key] };
6015
6135
  else warn$1(`props default key "${key}" has no corresponding declaration.`);
6016
6136
  if (opt && defaults[`__skip_${key}`]) opt.skipFactory = true;
6017
6137
  }
@@ -6154,11 +6274,12 @@ var Vue = (function() {
6154
6274
  const opt = computedOptions[key];
6155
6275
  const get = isFunction(opt) ? opt.bind(publicThis, publicThis) : isFunction(opt.get) ? opt.get.bind(publicThis, publicThis) : NOOP;
6156
6276
  if (get === NOOP) warn$1(`Computed property "${key}" has no getter.`);
6277
+ const set = !isFunction(opt) && isFunction(opt.set) ? opt.set.bind(publicThis) : () => {
6278
+ warn$1(`Write operation failed: computed property "${key}" is readonly.`);
6279
+ };
6157
6280
  const c = computed({
6158
6281
  get,
6159
- set: !isFunction(opt) && isFunction(opt.set) ? opt.set.bind(publicThis) : () => {
6160
- warn$1(`Write operation failed: computed property "${key}" is readonly.`);
6161
- }
6282
+ set
6162
6283
  });
6163
6284
  Object.defineProperty(ctx, key, {
6164
6285
  enumerable: true,
@@ -6217,9 +6338,10 @@ var Vue = (function() {
6217
6338
  for (const key in injectOptions) {
6218
6339
  const opt = injectOptions[key];
6219
6340
  let injected;
6220
- if (isObject(opt)) if ("default" in opt) injected = inject(opt.from || key, opt.default, true);
6221
- else injected = inject(opt.from || key);
6222
- else injected = inject(opt);
6341
+ if (isObject(opt)) {
6342
+ if ("default" in opt) injected = inject(opt.from || key, opt.default, true);
6343
+ else injected = inject(opt.from || key);
6344
+ } else injected = inject(opt);
6223
6345
  if (/* @__PURE__ */ isRef(injected)) Object.defineProperty(ctx, key, {
6224
6346
  enumerable: true,
6225
6347
  configurable: true,
@@ -6239,7 +6361,8 @@ var Vue = (function() {
6239
6361
  {
6240
6362
  const cur = getCurrentInstance();
6241
6363
  const instance = cur && getCurrentScope() === cur.scope ? cur : null;
6242
- if (isArray(getter()) && isCompatEnabled$1("WATCH_ARRAY", instance)) options.deep = true;
6364
+ const newValue = getter();
6365
+ if (isArray(newValue) && isCompatEnabled$1("WATCH_ARRAY", instance)) options.deep = true;
6243
6366
  const baseGetter = getter;
6244
6367
  getter = () => {
6245
6368
  const val = baseGetter();
@@ -6252,13 +6375,14 @@ var Vue = (function() {
6252
6375
  if (isFunction(handler)) watch(getter, handler, options);
6253
6376
  else warn$1(`Invalid watch handler specified by key "${raw}"`, handler);
6254
6377
  } else if (isFunction(raw)) watch(getter, raw.bind(publicThis), options);
6255
- else if (isObject(raw)) if (isArray(raw)) raw.forEach((r) => createWatcher(r, ctx, publicThis, key));
6256
- else {
6257
- const handler = isFunction(raw.handler) ? raw.handler.bind(publicThis) : ctx[raw.handler];
6258
- if (isFunction(handler)) watch(getter, handler, extend(raw, options));
6259
- else warn$1(`Invalid watch handler specified by key "${raw.handler}"`, handler);
6260
- }
6261
- else warn$1(`Invalid watch option: "${key}"`, raw);
6378
+ else if (isObject(raw)) {
6379
+ if (isArray(raw)) raw.forEach((r) => createWatcher(r, ctx, publicThis, key));
6380
+ else {
6381
+ const handler = isFunction(raw.handler) ? raw.handler.bind(publicThis) : ctx[raw.handler];
6382
+ if (isFunction(handler)) watch(getter, handler, extend(raw, options));
6383
+ else warn$1(`Invalid watch handler specified by key "${raw.handler}"`, handler);
6384
+ }
6385
+ } else warn$1(`Invalid watch option: "${key}"`, raw);
6262
6386
  }
6263
6387
  /**
6264
6388
  * Resolve merged options and cache it on the component.
@@ -6272,12 +6396,13 @@ var Vue = (function() {
6272
6396
  const cached = cache.get(base);
6273
6397
  let resolved;
6274
6398
  if (cached) resolved = cached;
6275
- else if (!globalMixins.length && !mixins && !extendsOptions) if (isCompatEnabled$1("PRIVATE_APIS", instance)) {
6276
- resolved = extend({}, base);
6277
- resolved.parent = instance.parent && instance.parent.proxy;
6278
- resolved.propsData = instance.vnode.props;
6279
- } else resolved = base;
6280
- else {
6399
+ else if (!globalMixins.length && !mixins && !extendsOptions) {
6400
+ if (isCompatEnabled$1("PRIVATE_APIS", instance)) {
6401
+ resolved = extend({}, base);
6402
+ resolved.parent = instance.parent && instance.parent.proxy;
6403
+ resolved.propsData = instance.vnode.props;
6404
+ } else resolved = base;
6405
+ } else {
6281
6406
  resolved = {};
6282
6407
  if (globalMixins.length) globalMixins.forEach((m) => mergeOptions(resolved, m, optionMergeStrategies, true));
6283
6408
  mergeOptions(resolved, base, optionMergeStrategies);
@@ -6350,7 +6475,7 @@ var Vue = (function() {
6350
6475
  }
6351
6476
  function mergeEmitsOrPropsOptions(to, from) {
6352
6477
  if (to) {
6353
- if (isArray(to) && isArray(from)) return [...new Set([...to, ...from])];
6478
+ if (isArray(to) && isArray(from)) return [.../* @__PURE__ */ new Set([...to, ...from])];
6354
6479
  return extend(Object.create(null), normalizePropsOrEmits(to), normalizePropsOrEmits(from !== null && from !== void 0 ? from : {}));
6355
6480
  } else return from;
6356
6481
  }
@@ -6411,7 +6536,7 @@ var Vue = (function() {
6411
6536
  if (options.el) return vm.$mount(options.el);
6412
6537
  else return vm;
6413
6538
  }
6414
- Vue.version = `2.6.14-compat:3.6.0-rc.5`;
6539
+ Vue.version = `2.6.14-compat:3.6.0-rc.6`;
6415
6540
  Vue.config = singletonApp.config;
6416
6541
  Vue.use = (plugin, ...options) => {
6417
6542
  if (plugin && isFunction(plugin.install)) plugin.install(Vue, ...options);
@@ -6801,8 +6926,10 @@ var Vue = (function() {
6801
6926
  } else warn$1(`Cannot unmount an app that is not mounted.`);
6802
6927
  },
6803
6928
  provide(key, value) {
6804
- 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.`);
6805
- else warn$1(`App already provides property with key "${String(key)}" inherited from its parent element. It will be overwritten with the new value.`);
6929
+ if (key in context.provides) {
6930
+ if (hasOwn(context.provides, key)) warn$1(`App already provides property with key "${String(key)}". It will be overwritten with the new value.`);
6931
+ 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
+ }
6806
6933
  context.provides[key] = value;
6807
6934
  return app;
6808
6935
  },
@@ -6952,12 +7079,14 @@ var Vue = (function() {
6952
7079
  if (instance.isUnmounted) return;
6953
7080
  {
6954
7081
  const { emitsOptions, propsOptions } = instance;
6955
- if (emitsOptions) if (!(event in emitsOptions) && !(event.startsWith("hook:") || event.startsWith(compatModelEventPrefix))) {
6956
- 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.`);
6957
- } else {
6958
- const validator = emitsOptions[event];
6959
- if (isFunction(validator)) {
6960
- if (!validator(...rawArgs)) warn$1(`Invalid event arguments: event validation failed for event "${event}".`);
7082
+ if (emitsOptions) {
7083
+ if (!(event in emitsOptions) && !(event.startsWith("hook:") || event.startsWith(compatModelEventPrefix))) {
7084
+ 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.`);
7085
+ } else {
7086
+ const validator = emitsOptions[event];
7087
+ if (isFunction(validator)) {
7088
+ if (!validator(...rawArgs)) warn$1(`Invalid event arguments: event validation failed for event "${event}".`);
7089
+ }
6961
7090
  }
6962
7091
  }
6963
7092
  }
@@ -6967,7 +7096,7 @@ var Vue = (function() {
6967
7096
  const modifiers = isCompatModelListener ? props.modelModifiers : isModelListener && getModelModifiers(props, event.slice(7), getter);
6968
7097
  if (modifiers) {
6969
7098
  if (modifiers.trim) args = rawArgs.map((a) => isString(a) ? a.trim() : a);
6970
- if (modifiers.number) args = rawArgs.map(looseToNumber);
7099
+ if (modifiers.number) args = args.map(looseToNumber);
6971
7100
  }
6972
7101
  devtoolsComponentEmit(instance, event, args);
6973
7102
  {
@@ -7162,10 +7291,12 @@ var Vue = (function() {
7162
7291
  for (let i = 0; i < children.length; i++) {
7163
7292
  const child = children[i];
7164
7293
  if (isVNode(child)) {
7165
- if (child.type !== Comment || child.children === "v-if") if (singleRoot) return;
7166
- else {
7167
- singleRoot = child;
7168
- if (recurse && singleRoot.patchFlag > 0 && singleRoot.patchFlag & 2048) return filterSingleRoot(singleRoot.children);
7294
+ if (child.type !== Comment || child.children === "v-if") {
7295
+ if (singleRoot) return;
7296
+ else {
7297
+ singleRoot = child;
7298
+ if (recurse && singleRoot.patchFlag > 0 && singleRoot.patchFlag & 2048) return filterSingleRoot(singleRoot.children);
7299
+ }
7169
7300
  }
7170
7301
  } else return;
7171
7302
  }
@@ -7310,16 +7441,17 @@ var Vue = (function() {
7310
7441
  let key = propsToUpdate[i];
7311
7442
  if (isEmitListener(instance.emitsOptions, key)) continue;
7312
7443
  const value = rawProps[key];
7313
- if (options) if (hasOwn(attrs, key)) {
7314
- if (value !== attrs[key]) {
7315
- attrs[key] = value;
7316
- hasAttrsChanged = true;
7444
+ if (options) {
7445
+ if (hasOwn(attrs, key)) {
7446
+ if (value !== attrs[key]) {
7447
+ attrs[key] = value;
7448
+ hasAttrsChanged = true;
7449
+ }
7450
+ } else {
7451
+ const camelizedKey = camelize(key);
7452
+ props[camelizedKey] = resolvePropValue(options, camelizedKey, value, instance, baseResolveDefault);
7317
7453
  }
7318
7454
  } else {
7319
- const camelizedKey = camelize(key);
7320
- props[camelizedKey] = resolvePropValue(options, camelizedKey, value, instance, baseResolveDefault);
7321
- }
7322
- else {
7323
7455
  if (isOn(key) && key.endsWith("Native")) key = key.slice(0, -6);
7324
7456
  else if (shouldSkipAttr(key, instance)) continue;
7325
7457
  if (value !== attrs[key]) {
@@ -7332,9 +7464,11 @@ var Vue = (function() {
7332
7464
  } else {
7333
7465
  if (setFullProps(instance, rawProps, props, attrs)) hasAttrsChanged = true;
7334
7466
  let kebabKey;
7335
- for (const key in rawCurrentProps) if (!rawProps || !hasOwn(rawProps, key) && ((kebabKey = hyphenate(key)) === key || !hasOwn(rawProps, kebabKey))) if (options) {
7336
- if (rawPrevProps && (rawPrevProps[key] !== void 0 || rawPrevProps[kebabKey] !== void 0)) props[key] = resolvePropValue(options, key, void 0, instance, baseResolveDefault, true);
7337
- } else delete props[key];
7467
+ for (const key in rawCurrentProps) if (!rawProps || !hasOwn(rawProps, key) && ((kebabKey = hyphenate(key)) === key || !hasOwn(rawProps, kebabKey))) {
7468
+ if (options) {
7469
+ if (rawPrevProps && (rawPrevProps[key] !== void 0 || rawPrevProps[kebabKey] !== void 0)) props[key] = resolvePropValue(options, key, void 0, instance, baseResolveDefault, true);
7470
+ } else delete props[key];
7471
+ }
7338
7472
  if (attrs !== rawCurrentProps) {
7339
7473
  for (const key in attrs) if (!rawProps || !hasOwn(rawProps, key) && !hasOwn(rawProps, key + "Native")) {
7340
7474
  delete attrs[key];
@@ -7355,9 +7489,10 @@ var Vue = (function() {
7355
7489
  if (key === "inline-template") continue;
7356
7490
  const value = rawProps[key];
7357
7491
  let camelKey;
7358
- if (options && hasOwn(options, camelKey = camelize(key))) if (!needCastKeys || !needCastKeys.includes(camelKey)) props[camelKey] = value;
7359
- else (rawCastValues || (rawCastValues = {}))[camelKey] = value;
7360
- else if (!isEmitListener(instance.emitsOptions, key)) {
7492
+ if (options && hasOwn(options, camelKey = camelize(key))) {
7493
+ if (!needCastKeys || !needCastKeys.includes(camelKey)) props[camelKey] = value;
7494
+ else (rawCastValues || (rawCastValues = {}))[camelKey] = value;
7495
+ } else if (!isEmitListener(instance.emitsOptions, key)) {
7361
7496
  if (isOn(key) && key.endsWith("Native")) key = key.slice(0, -6);
7362
7497
  else if (shouldSkipAttr(key, instance)) continue;
7363
7498
  if (!(key in attrs) || value !== attrs[key]) {
@@ -7523,7 +7658,7 @@ var Vue = (function() {
7523
7658
  }
7524
7659
  if (validator && !validator(value, /* @__PURE__ */ shallowReadonly(resolvedProps))) warn$1("Invalid prop: custom validator check failed for prop \"" + key + "\".");
7525
7660
  }
7526
- const isSimpleType = /* @__PURE__ */ makeMap("String,Number,Boolean,Function,Symbol,BigInt");
7661
+ const isSimpleType = /*@__PURE__*/ makeMap("String,Number,Boolean,Function,Symbol,BigInt");
7527
7662
  /**
7528
7663
  * dev only
7529
7664
  */
@@ -7636,12 +7771,13 @@ var Vue = (function() {
7636
7771
  let deletionComparisonTarget = EMPTY_OBJ;
7637
7772
  if (vnode.shapeFlag & 32) {
7638
7773
  const type = children._;
7639
- if (type) if (isHmrUpdating) {
7640
- assignSlots(slots, children, optimized);
7641
- trigger(instance, "set", "$slots");
7642
- } else if (optimized && type === 1) needDeletionCheck = false;
7643
- else assignSlots(slots, children, optimized);
7644
- else {
7774
+ if (type) {
7775
+ if (isHmrUpdating) {
7776
+ assignSlots(slots, children, optimized);
7777
+ trigger(instance, "set", "$slots");
7778
+ } else if (optimized && type === 1) needDeletionCheck = false;
7779
+ else assignSlots(slots, children, optimized);
7780
+ } else {
7645
7781
  needDeletionCheck = !children.$stable;
7646
7782
  normalizeObjectSlots(children, slots, instance);
7647
7783
  }
@@ -7659,7 +7795,7 @@ var Vue = (function() {
7659
7795
  let supported;
7660
7796
  let perf;
7661
7797
  let cachedNow$1 = 0;
7662
- const p$1 = /* @__PURE__ */ Promise.resolve();
7798
+ const p$1 = /*@__PURE__*/ Promise.resolve();
7663
7799
  const getNow$1 = () => cachedNow$1 || (p$1.then(() => cachedNow$1 = 0), cachedNow$1 = isSupported() ? perf.now() : Date.now());
7664
7800
  /**
7665
7801
  * @internal
@@ -7875,7 +8011,10 @@ var Vue = (function() {
7875
8011
  for (let i = 0; i < inheritedScopeIds.length; i++) hostSetScopeId(el, inheritedScopeIds[i]);
7876
8012
  };
7877
8013
  const mountChildren = (children, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, start = 0) => {
7878
- 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);
8014
+ for (let i = start; i < children.length; i++) {
8015
+ const child = children[i] = optimized ? cloneIfMounted(children[i]) : normalizeVNode(children[i]);
8016
+ patch(null, child, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
8017
+ }
7879
8018
  };
7880
8019
  const patchElement = (n1, n2, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {
7881
8020
  const el = n2.el = n1.el;
@@ -7887,6 +8026,7 @@ var Vue = (function() {
7887
8026
  let vnodeHook;
7888
8027
  parentComponent && toggleRecurse(parentComponent, false);
7889
8028
  if (vnodeHook = newProps.onVnodeBeforeUpdate) invokeVNodeHook(vnodeHook, parentComponent, n2, n1);
8029
+ if (n2.ibu) n2.ibu();
7890
8030
  if (dirs) invokeDirectiveHook(n2, n1, parentComponent, "beforeUpdate");
7891
8031
  parentComponent && toggleRecurse(parentComponent, true);
7892
8032
  if (isHmrUpdating || dynamicChildren && (!n1.dynamicChildren || n1.dynamicChildren.length !== dynamicChildren.length)) {
@@ -7920,8 +8060,9 @@ var Vue = (function() {
7920
8060
  if (n1.children !== n2.children) hostSetElementText(el, n2.children);
7921
8061
  }
7922
8062
  } else if (!optimized && dynamicChildren == null) patchProps(el, oldProps, newProps, parentComponent, namespace);
7923
- if ((vnodeHook = newProps.onVnodeUpdated) || dirs) queuePostRenderEffect(() => {
8063
+ if ((vnodeHook = newProps.onVnodeUpdated) || dirs || n2.iu) queuePostRenderEffect(() => {
7924
8064
  vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, n2, n1);
8065
+ n2.iu && n2.iu();
7925
8066
  dirs && invokeDirectiveHook(n2, n1, parentComponent, "updated");
7926
8067
  }, void 0, parentSuspense);
7927
8068
  };
@@ -7929,7 +8070,8 @@ var Vue = (function() {
7929
8070
  for (let i = 0; i < newChildren.length; i++) {
7930
8071
  const oldVNode = oldChildren[i];
7931
8072
  const newVNode = newChildren[i];
7932
- patch(oldVNode, newVNode, oldVNode.el && (oldVNode.type === Fragment || !isSameVNodeType(oldVNode, newVNode) || oldVNode.shapeFlag & 198) ? hostParentNode(oldVNode.el) : fallbackContainer, null, parentComponent, parentSuspense, namespace, slotScopeIds, true);
8073
+ const container = oldVNode.el && (oldVNode.type === Fragment || !isSameVNodeType(oldVNode, newVNode) || oldVNode.shapeFlag & 198) ? hostParentNode(oldVNode.el) : fallbackContainer;
8074
+ patch(oldVNode, newVNode, container, null, parentComponent, parentSuspense, namespace, slotScopeIds, true);
7933
8075
  }
7934
8076
  };
7935
8077
  const patchProps = (el, oldProps, newProps, parentComponent, namespace) => {
@@ -7967,41 +8109,46 @@ var Vue = (function() {
7967
8109
  };
7968
8110
  const processComponent = (n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {
7969
8111
  n2.slotScopeIds = slotScopeIds;
7970
- if (n2.type.__vapor) if (n1 == null) if (n2.shapeFlag & 512) getVaporInterface(parentComponent, n2).activate(n2, container, anchor, parentComponent, parentSuspense);
7971
- else {
7972
- const vnodeBeforeMountHook = !isAsyncWrapper(n2) && n2.props && n2.props.onVnodeBeforeMount;
7973
- getVaporInterface(parentComponent, n2).mount(n2, container, anchor, parentComponent, parentSuspense, () => {
7974
- if (n2.dirs) {
7975
- invokeDirectiveHook(n2, null, parentComponent, "created");
7976
- invokeDirectiveHook(n2, null, parentComponent, "beforeMount");
8112
+ if (n2.type.__vapor) {
8113
+ if (n1 == null) {
8114
+ if (n2.shapeFlag & 512) getVaporInterface(parentComponent, n2).activate(n2, container, anchor, parentComponent, parentSuspense);
8115
+ else {
8116
+ const vnodeBeforeMountHook = !isAsyncWrapper(n2) && n2.props && n2.props.onVnodeBeforeMount;
8117
+ getVaporInterface(parentComponent, n2).mount(n2, container, anchor, parentComponent, parentSuspense, () => {
8118
+ if (n2.dirs) {
8119
+ invokeDirectiveHook(n2, null, parentComponent, "created");
8120
+ invokeDirectiveHook(n2, null, parentComponent, "beforeMount");
8121
+ }
8122
+ }, () => {
8123
+ if (vnodeBeforeMountHook) invokeVNodeHook(vnodeBeforeMountHook, parentComponent, n2);
8124
+ });
8125
+ if (n2.dirs) queuePostRenderEffect(() => invokeDirectiveHook(n2, null, parentComponent, "mounted"), void 0, parentSuspense);
8126
+ const vnodeMountedHook = !isAsyncWrapper(n2) && n2.props && n2.props.onVnodeMounted;
8127
+ if (vnodeMountedHook) {
8128
+ const scopedVNode = n2;
8129
+ queuePostRenderEffect(() => invokeVNodeHook(vnodeMountedHook, parentComponent, scopedVNode), void 0, parentSuspense);
8130
+ }
7977
8131
  }
7978
- }, () => {
7979
- if (vnodeBeforeMountHook) invokeVNodeHook(vnodeBeforeMountHook, parentComponent, n2);
7980
- });
7981
- if (n2.dirs) queuePostRenderEffect(() => invokeDirectiveHook(n2, null, parentComponent, "mounted"), void 0, parentSuspense);
7982
- const vnodeMountedHook = !isAsyncWrapper(n2) && n2.props && n2.props.onVnodeMounted;
7983
- if (vnodeMountedHook) {
7984
- const scopedVNode = n2;
7985
- queuePostRenderEffect(() => invokeVNodeHook(vnodeMountedHook, parentComponent, scopedVNode), void 0, parentSuspense);
8132
+ } else {
8133
+ const shouldUpdate = shouldUpdateComponent(n1, n2, optimized);
8134
+ getVaporInterface(parentComponent, n2).update(n1, n2, shouldUpdate, () => {
8135
+ if (n2.dirs) invokeDirectiveHook(n2, n1, parentComponent, "beforeUpdate");
8136
+ }, () => {
8137
+ const vnodeBeforeUpdateHook = n2.props && n2.props.onVnodeBeforeUpdate;
8138
+ if (vnodeBeforeUpdateHook) invokeVNodeHook(vnodeBeforeUpdateHook, parentComponent, n2, n1);
8139
+ if (n2.ibu) n2.ibu();
8140
+ });
8141
+ const vnodeUpdatedHook = n2.props && n2.props.onVnodeUpdated;
8142
+ if (shouldUpdate && (vnodeUpdatedHook || n2.dirs || n2.iu)) queuePostRenderEffect(() => {
8143
+ n2.dirs && invokeDirectiveHook(n2, n1, parentComponent, "updated");
8144
+ vnodeUpdatedHook && invokeVNodeHook(vnodeUpdatedHook, parentComponent, n2, n1);
8145
+ n2.iu && n2.iu();
8146
+ }, void 0, parentSuspense);
7986
8147
  }
7987
- }
7988
- else {
7989
- const shouldUpdate = shouldUpdateComponent(n1, n2, optimized);
7990
- getVaporInterface(parentComponent, n2).update(n1, n2, shouldUpdate, () => {
7991
- if (n2.dirs) invokeDirectiveHook(n2, n1, parentComponent, "beforeUpdate");
7992
- }, () => {
7993
- const vnodeBeforeUpdateHook = n2.props && n2.props.onVnodeBeforeUpdate;
7994
- if (vnodeBeforeUpdateHook) invokeVNodeHook(vnodeBeforeUpdateHook, parentComponent, n2, n1);
7995
- });
7996
- const vnodeUpdatedHook = n2.props && n2.props.onVnodeUpdated;
7997
- if (shouldUpdate && (vnodeUpdatedHook || n2.dirs)) queuePostRenderEffect(() => {
7998
- n2.dirs && invokeDirectiveHook(n2, n1, parentComponent, "updated");
7999
- vnodeUpdatedHook && invokeVNodeHook(vnodeUpdatedHook, parentComponent, n2, n1);
8000
- }, void 0, parentSuspense);
8001
- }
8002
- else if (n1 == null) if (n2.shapeFlag & 512) parentComponent.ctx.activate(n2, container, anchor, namespace, optimized);
8003
- else mountComponent(n2, container, anchor, parentComponent, parentSuspense, namespace, optimized);
8004
- else updateComponent(n1, n2, optimized);
8148
+ } else if (n1 == null) {
8149
+ if (n2.shapeFlag & 512) parentComponent.ctx.activate(n2, container, anchor, namespace, optimized);
8150
+ else mountComponent(n2, container, anchor, parentComponent, parentSuspense, namespace, optimized);
8151
+ } else updateComponent(n1, n2, optimized);
8005
8152
  };
8006
8153
  const mountComponent = (initialVNode, container, anchor, parentComponent, parentSuspense, namespace, optimized) => {
8007
8154
  const compatMountInstance = initialVNode.isCompatRoot && initialVNode.component;
@@ -8045,16 +8192,17 @@ var Vue = (function() {
8045
8192
  };
8046
8193
  const updateComponent = (n1, n2, optimized) => {
8047
8194
  const instance = n2.component = n1.component;
8048
- if (shouldUpdateComponent(n1, n2, optimized)) if (instance.asyncDep && !instance.asyncResolved) {
8049
- pushWarningContext(n2);
8050
- updateComponentPreRender(instance, n2, optimized);
8051
- popWarningContext();
8052
- return;
8195
+ if (shouldUpdateComponent(n1, n2, optimized)) {
8196
+ if (instance.asyncDep && !instance.asyncResolved) {
8197
+ pushWarningContext(n2);
8198
+ updateComponentPreRender(instance, n2, optimized);
8199
+ popWarningContext();
8200
+ return;
8201
+ } else {
8202
+ instance.next = n2;
8203
+ instance.effect.run();
8204
+ }
8053
8205
  } else {
8054
- instance.next = n2;
8055
- instance.effect.run();
8056
- }
8057
- else {
8058
8206
  n2.el = n1.el;
8059
8207
  instance.vnode = n2;
8060
8208
  }
@@ -8157,6 +8305,7 @@ var Vue = (function() {
8157
8305
  } else next = vnode;
8158
8306
  if (bu) invokeArrayFns(bu);
8159
8307
  if (vnodeHook = next.props && next.props.onVnodeBeforeUpdate) invokeVNodeHook(vnodeHook, parent, next, vnode);
8308
+ if (next.ibu) next.ibu();
8160
8309
  if (isCompatEnabled$1("INSTANCE_EVENT_HOOKS", instance)) instance.emit("hook:beforeUpdate");
8161
8310
  toggleRecurse(instance, true);
8162
8311
  startMeasure(instance, `render`);
@@ -8170,7 +8319,10 @@ var Vue = (function() {
8170
8319
  next.el = nextTree.el;
8171
8320
  if (originNext === null) updateHOCHostEl(instance, nextTree.el);
8172
8321
  if (u) queuePostRenderEffect(u, void 0, parentSuspense);
8173
- if (vnodeHook = next.props && next.props.onVnodeUpdated) queuePostRenderEffect(() => invokeVNodeHook(vnodeHook, parent, next, vnode), void 0, parentSuspense);
8322
+ if ((vnodeHook = next.props && next.props.onVnodeUpdated) || next.iu) queuePostRenderEffect(() => {
8323
+ vnodeHook && invokeVNodeHook(vnodeHook, parent, next, vnode);
8324
+ next.iu && next.iu();
8325
+ }, void 0, parentSuspense);
8174
8326
  if (isCompatEnabled$1("INSTANCE_EVENT_HOOKS", instance)) queuePostRenderEffect(() => instance.emit("hook:updated"), void 0, parentSuspense);
8175
8327
  devtoolsComponentUpdated(instance);
8176
8328
  popWarningContext();
@@ -8211,9 +8363,10 @@ var Vue = (function() {
8211
8363
  if (shapeFlag & 8) {
8212
8364
  if (prevShapeFlag & 16) unmountChildren(c1, parentComponent, parentSuspense);
8213
8365
  if (c2 !== c1) hostSetElementText(container, c2);
8214
- } else if (prevShapeFlag & 16) if (shapeFlag & 16) patchKeyedChildren(c1, c2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
8215
- else unmountChildren(c1, parentComponent, parentSuspense, true);
8216
- else {
8366
+ } else if (prevShapeFlag & 16) {
8367
+ if (shapeFlag & 16) patchKeyedChildren(c1, c2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
8368
+ else unmountChildren(c1, parentComponent, parentSuspense, true);
8369
+ } else {
8217
8370
  if (prevShapeFlag & 8) hostSetElementText(container, "");
8218
8371
  if (shapeFlag & 16) mountChildren(c2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
8219
8372
  }
@@ -8312,8 +8465,10 @@ var Vue = (function() {
8312
8465
  const anchorVNode = c2[nextIndex + 1];
8313
8466
  const anchor = nextIndex + 1 < l2 ? anchorVNode.el || resolveAsyncComponentPlaceholder(anchorVNode) : parentAnchor;
8314
8467
  if (newIndexToOldIndexMap[i] === 0) patch(null, nextChild, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
8315
- else if (moved) if (j < 0 || i !== increasingNewIndexSequence[j]) move(nextChild, container, anchor, 2, parentComponent);
8316
- else j--;
8468
+ else if (moved) {
8469
+ if (j < 0 || i !== increasingNewIndexSequence[j]) move(nextChild, container, anchor, 2, parentComponent);
8470
+ else j--;
8471
+ }
8317
8472
  }
8318
8473
  }
8319
8474
  };
@@ -8345,26 +8500,27 @@ var Vue = (function() {
8345
8500
  moveStaticNode(vnode, container, anchor);
8346
8501
  return;
8347
8502
  }
8348
- if (moveType !== 2 && shapeFlag & 1 && transition) if (moveType === 0) performTransitionEnter(el, transition, () => hostInsert(el, container, anchor), parentSuspense, true);
8349
- else {
8350
- const { leave, delayLeave, afterLeave } = transition;
8351
- const remove = () => {
8352
- if (vnode.ctx.isUnmounted) hostRemove(el);
8353
- else hostInsert(el, container, anchor);
8354
- };
8355
- const performLeave = () => {
8356
- const wasLeaving = el._isLeaving || !!el[leaveCbKey];
8357
- if (el._isLeaving) el[leaveCbKey](true);
8358
- if (transition.persisted && !wasLeaving) remove();
8359
- else leave(el, () => {
8360
- remove();
8361
- afterLeave && afterLeave();
8362
- });
8363
- };
8364
- if (delayLeave) delayLeave(el, remove, performLeave);
8365
- else performLeave();
8366
- }
8367
- else hostInsert(el, container, anchor);
8503
+ if (moveType !== 2 && shapeFlag & 1 && transition) {
8504
+ if (moveType === 0) performTransitionEnter(el, transition, () => hostInsert(el, container, anchor), parentSuspense, true);
8505
+ else {
8506
+ const { leave, delayLeave, afterLeave } = transition;
8507
+ const remove = () => {
8508
+ if (vnode.ctx.isUnmounted) hostRemove(el);
8509
+ else hostInsert(el, container, anchor);
8510
+ };
8511
+ const performLeave = () => {
8512
+ const wasLeaving = el._isLeaving || !!el[leaveCbKey];
8513
+ if (el._isLeaving) el[leaveCbKey](true);
8514
+ if (transition.persisted && !wasLeaving) remove();
8515
+ else leave(el, () => {
8516
+ remove();
8517
+ afterLeave && afterLeave();
8518
+ });
8519
+ };
8520
+ if (delayLeave) delayLeave(el, remove, performLeave);
8521
+ else performLeave();
8522
+ }
8523
+ } else hostInsert(el, container, anchor);
8368
8524
  };
8369
8525
  const unmount = (vnode, parentComponent, parentSuspense, doRemove = false, optimized = false) => {
8370
8526
  const { type, props, ref, children, dynamicChildren, shapeFlag, patchFlag, dirs, cacheIndex, memo } = vnode;
@@ -8384,16 +8540,17 @@ var Vue = (function() {
8384
8540
  const shouldInvokeVnodeHook = !isAsyncWrapper(vnode);
8385
8541
  let vnodeHook;
8386
8542
  if (shouldInvokeVnodeHook && (vnodeHook = props && props.onVnodeBeforeUnmount)) invokeVNodeHook(vnodeHook, parentComponent, vnode);
8387
- if (shapeFlag & 6) if (isVaporComponent(type)) {
8388
- if (dirs) invokeDirectiveHook(vnode, null, parentComponent, "beforeUnmount");
8389
- getVaporInterface(parentComponent, vnode).unmount(vnode, doRemove, parentSuspense);
8390
- if (shouldInvokeVnodeHook && (vnodeHook = props && props.onVnodeUnmounted) || dirs) queuePostRenderEffect(() => {
8391
- dirs && invokeDirectiveHook(vnode, null, parentComponent, "unmounted");
8392
- vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode);
8393
- }, void 0, parentSuspense);
8394
- return;
8395
- } else unmountComponent(vnode.component, parentSuspense, doRemove);
8396
- else {
8543
+ if (shapeFlag & 6) {
8544
+ if (isVaporComponent(type)) {
8545
+ if (dirs) invokeDirectiveHook(vnode, null, parentComponent, "beforeUnmount");
8546
+ getVaporInterface(parentComponent, vnode).unmount(vnode, doRemove, parentSuspense);
8547
+ if (shouldInvokeVnodeHook && (vnodeHook = props && props.onVnodeUnmounted) || dirs) queuePostRenderEffect(() => {
8548
+ dirs && invokeDirectiveHook(vnode, null, parentComponent, "unmounted");
8549
+ vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode);
8550
+ }, void 0, parentSuspense);
8551
+ return;
8552
+ } else unmountComponent(vnode.component, parentSuspense, doRemove);
8553
+ } else {
8397
8554
  if (shapeFlag & 128) {
8398
8555
  vnode.suspense.unmount(parentSuspense, doRemove);
8399
8556
  return;
@@ -8527,12 +8684,14 @@ var Vue = (function() {
8527
8684
  return currentNamespace === "svg" && type === "foreignObject" || currentNamespace === "mathml" && type === "annotation-xml" && props && props.encoding && props.encoding.includes("html") ? void 0 : currentNamespace;
8528
8685
  }
8529
8686
  function toggleRecurse({ effect, job, vapor }, allowed) {
8530
- if (!vapor) if (allowed) {
8531
- effect.flags |= 128;
8532
- job.flags |= 2;
8533
- } else {
8534
- effect.flags &= -129;
8535
- job.flags &= -3;
8687
+ if (!vapor) {
8688
+ if (allowed) {
8689
+ effect.flags |= 128;
8690
+ job.flags |= 2;
8691
+ } else {
8692
+ effect.flags &= -129;
8693
+ job.flags &= -3;
8694
+ }
8536
8695
  }
8537
8696
  }
8538
8697
  function needTransition(parentSuspense, transition) {
@@ -8572,8 +8731,10 @@ var Vue = (function() {
8572
8731
  }
8573
8732
  function locateNonHydratedAsyncRoot(instance) {
8574
8733
  const subComponent = instance.subTree && instance.subTree.component;
8575
- if (subComponent) if (subComponent.asyncDep && !subComponent.asyncResolved) return subComponent;
8576
- else return locateNonHydratedAsyncRoot(subComponent);
8734
+ if (subComponent) {
8735
+ if (subComponent.asyncDep && !subComponent.asyncResolved) return subComponent;
8736
+ else return locateNonHydratedAsyncRoot(subComponent);
8737
+ }
8577
8738
  }
8578
8739
  function invalidateMount(hooks) {
8579
8740
  if (hooks) for (let i = 0; i < hooks.length; i++) hooks[i].flags |= 4;
@@ -8694,7 +8855,7 @@ var Vue = (function() {
8694
8855
  patch(pendingBranch, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, namespace, slotScopeIds, optimized);
8695
8856
  if (suspense.deps <= 0) suspense.resolve();
8696
8857
  else if (isInFallback) {
8697
- if (!isHydrating) {
8858
+ if (!isHydrating && !suspense.isFallbackMountPending) {
8698
8859
  patch(activeBranch, newFallback, container, anchor, parentComponent, null, namespace, slotScopeIds, optimized);
8699
8860
  setActiveBranch(suspense, newFallback);
8700
8861
  }
@@ -8715,7 +8876,7 @@ var Vue = (function() {
8715
8876
  if (isInFallback) {
8716
8877
  patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, namespace, slotScopeIds, optimized);
8717
8878
  if (suspense.deps <= 0) suspense.resolve();
8718
- else {
8879
+ else if (!suspense.isFallbackMountPending) {
8719
8880
  patch(activeBranch, newFallback, container, anchor, parentComponent, null, namespace, slotScopeIds, optimized);
8720
8881
  setActiveBranch(suspense, newFallback);
8721
8882
  }
@@ -8841,8 +9002,9 @@ var Vue = (function() {
8841
9002
  const mountFallback = () => {
8842
9003
  suspense.isFallbackMountPending = false;
8843
9004
  if (!suspense.isInFallback) return;
8844
- patch(null, fallbackVNode, container, anchor, parentComponent, null, namespace, slotScopeIds, optimized);
8845
- setActiveBranch(suspense, fallbackVNode);
9005
+ const latestFallback = suspense.vnode.ssFallback;
9006
+ patch(null, latestFallback, container, anchor, parentComponent, null, namespace, slotScopeIds, optimized);
9007
+ setActiveBranch(suspense, latestFallback);
8846
9008
  };
8847
9009
  const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === "out-in";
8848
9010
  if (delayEnter) {
@@ -8918,9 +9080,10 @@ var Vue = (function() {
8918
9080
  return s;
8919
9081
  }
8920
9082
  function queueEffectWithSuspense(fn, id, suspense) {
8921
- if (suspense && suspense.pendingBranch) if (isArray(fn)) suspense.effects.push(...fn);
8922
- else suspense.effects.push(fn);
8923
- else queuePostFlushCb(fn, id);
9083
+ if (suspense && suspense.pendingBranch) {
9084
+ if (isArray(fn)) suspense.effects.push(...fn);
9085
+ else suspense.effects.push(fn);
9086
+ } else queuePostFlushCb(fn, id);
8924
9087
  }
8925
9088
  function setActiveBranch(suspense, branch) {
8926
9089
  suspense.activeBranch = branch;
@@ -9156,8 +9319,10 @@ var Vue = (function() {
9156
9319
  if (isVNode(type)) {
9157
9320
  const cloned = cloneVNode(type, props, true);
9158
9321
  if (children) normalizeChildren(cloned, children);
9159
- if (isBlockTreeEnabled > 0 && !isBlockNode && currentBlock) if (cloned.shapeFlag & 6) currentBlock[currentBlock.indexOf(type)] = cloned;
9160
- else currentBlock.push(cloned);
9322
+ if (isBlockTreeEnabled > 0 && !isBlockNode && currentBlock) {
9323
+ if (cloned.shapeFlag & 6) currentBlock[currentBlock.indexOf(type)] = cloned;
9324
+ else currentBlock.push(cloned);
9325
+ }
9161
9326
  cloned.patchFlag = -2;
9162
9327
  return cloned;
9163
9328
  }
@@ -9218,7 +9383,9 @@ var Vue = (function() {
9218
9383
  ce: vnode.ce,
9219
9384
  vi: vnode.vi,
9220
9385
  vs: cloneVaporSlotMeta(vnode),
9221
- vb: vnode.vb
9386
+ vb: vnode.vb,
9387
+ ibu: vnode.ibu,
9388
+ iu: vnode.iu
9222
9389
  };
9223
9390
  if (transition && cloneTransition) setTransitionHooks(cloned, transition.clone(cloned));
9224
9391
  defineLegacyVNodeProperties(cloned);
@@ -9282,25 +9449,28 @@ var Vue = (function() {
9282
9449
  const { shapeFlag } = vnode;
9283
9450
  if (children == null) children = null;
9284
9451
  else if (isArray(children)) type = 16;
9285
- else if (typeof children === "object") if (shapeFlag & 65) {
9286
- const slot = children.default;
9287
- if (slot) {
9288
- slot._c && (slot._d = false);
9289
- normalizeChildren(vnode, slot());
9290
- slot._c && (slot._d = true);
9291
- }
9292
- return;
9293
- } else {
9294
- type = 32;
9295
- const slotFlag = children._;
9296
- if (!slotFlag && !isInternalObject(children)) children._ctx = currentRenderingInstance;
9297
- else if (slotFlag === 3 && currentRenderingInstance) if (currentRenderingInstance.slots._ === 1) children._ = 1;
9298
- else {
9299
- children._ = 2;
9300
- vnode.patchFlag |= 1024;
9452
+ else if (typeof children === "object") {
9453
+ if (shapeFlag & 65) {
9454
+ const slot = children.default;
9455
+ if (slot) {
9456
+ slot._c && (slot._d = false);
9457
+ normalizeChildren(vnode, slot());
9458
+ slot._c && (slot._d = true);
9459
+ }
9460
+ return;
9461
+ } else {
9462
+ type = 32;
9463
+ const slotFlag = children._;
9464
+ if (!slotFlag && !isInternalObject(children)) children._ctx = currentRenderingInstance;
9465
+ else if (slotFlag === 3 && currentRenderingInstance) {
9466
+ if (currentRenderingInstance.slots._ === 1) children._ = 1;
9467
+ else {
9468
+ children._ = 2;
9469
+ vnode.patchFlag |= 1024;
9470
+ }
9471
+ }
9301
9472
  }
9302
- }
9303
- else if (isFunction(children)) {
9473
+ } else if (isFunction(children)) {
9304
9474
  if (shapeFlag & 65) {
9305
9475
  normalizeChildren(vnode, { default: children });
9306
9476
  return;
@@ -9409,7 +9579,7 @@ var Vue = (function() {
9409
9579
  };
9410
9580
  //#endregion
9411
9581
  //#region packages/runtime-core/src/component.ts
9412
- const emptyAppContext = /* @__PURE__ */ createAppContext();
9582
+ const emptyAppContext = /*@__PURE__*/ createAppContext();
9413
9583
  let uid = 0;
9414
9584
  function createComponentInstance(vnode, parent, suspense) {
9415
9585
  const type = vnode.type;
@@ -9610,10 +9780,12 @@ var Vue = (function() {
9610
9780
  restoreCurrentInstance(prevInstance);
9611
9781
  }
9612
9782
  }
9613
- if (!Component.render && instance.render === NOOP && !isSSR) if (!compile$1 && Component.template)
9783
+ if (!Component.render && instance.render === NOOP && !isSSR) {
9784
+ if (!compile$1 && Component.template)
9614
9785
  /* v8 ignore start */
9615
- warn$1("Component provided template option but runtime compilation is not supported in this build of Vue. Use \"vue.global.js\" instead.");
9616
- else warn$1(`Component is missing template or render function: `, Component);
9786
+ warn$1("Component provided template option but runtime compilation is not supported in this build of Vue. Use \"vue.global.js\" instead.");
9787
+ else warn$1(`Component is missing template or render function: `, Component);
9788
+ }
9617
9789
  }
9618
9790
  const attrsProxyHandlers = {
9619
9791
  get(target, key) {
@@ -9721,11 +9893,12 @@ var Vue = (function() {
9721
9893
  try {
9722
9894
  setBlockTracking(-1);
9723
9895
  const l = arguments.length;
9724
- if (l === 2) if (isObject(propsOrChildren) && !isArray(propsOrChildren)) {
9725
- if (isVNode(propsOrChildren)) return createVNode(type, null, [propsOrChildren]);
9726
- return createVNode(type, propsOrChildren);
9727
- } else return createVNode(type, null, propsOrChildren);
9728
- else {
9896
+ if (l === 2) {
9897
+ if (isObject(propsOrChildren) && !isArray(propsOrChildren)) {
9898
+ if (isVNode(propsOrChildren)) return createVNode(type, null, [propsOrChildren]);
9899
+ return createVNode(type, propsOrChildren);
9900
+ } else return createVNode(type, null, propsOrChildren);
9901
+ } else {
9729
9902
  if (l > 3) children = Array.prototype.slice.call(arguments, 2);
9730
9903
  else if (l === 3 && isVNode(children)) children = [children];
9731
9904
  return createVNode(type, propsOrChildren, children);
@@ -9917,7 +10090,7 @@ var Vue = (function() {
9917
10090
  }
9918
10091
  //#endregion
9919
10092
  //#region packages/runtime-core/src/index.ts
9920
- const version = "3.6.0-rc.5";
10093
+ const version = "3.6.0-rc.6";
9921
10094
  const warn = warn$1;
9922
10095
  /**
9923
10096
  * Runtime error messages. Only exposed in dev or esm builds.
@@ -9946,7 +10119,7 @@ var Vue = (function() {
9946
10119
  let policy = void 0;
9947
10120
  const tt = typeof window !== "undefined" && window.trustedTypes;
9948
10121
  if (tt) try {
9949
- policy = /* @__PURE__ */ tt.createPolicy("vue", { createHTML: (val) => val });
10122
+ policy = /*@__PURE__*/ tt.createPolicy("vue", { createHTML: (val) => val });
9950
10123
  } catch (e) {
9951
10124
  warn(`Error creating trusted types policy: ${e}`);
9952
10125
  }
@@ -9954,7 +10127,7 @@ var Vue = (function() {
9954
10127
  const svgNS = "http://www.w3.org/2000/svg";
9955
10128
  const mathmlNS = "http://www.w3.org/1998/Math/MathML";
9956
10129
  const doc = typeof document !== "undefined" ? document : null;
9957
- const templateContainer = doc && /* @__PURE__ */ doc.createElement("template");
10130
+ const templateContainer = doc && /*@__PURE__*/ doc.createElement("template");
9958
10131
  const nodeOps = {
9959
10132
  insert: (child, parent, anchor) => {
9960
10133
  parent.insertBefore(child, anchor || null);
@@ -10028,7 +10201,7 @@ var Vue = (function() {
10028
10201
  leaveActiveClass: String,
10029
10202
  leaveToClass: String
10030
10203
  };
10031
- const TransitionPropsValidators = /* @__PURE__ */ extend({}, BaseTransitionPropsValidators, DOMTransitionPropsValidators);
10204
+ const TransitionPropsValidators = /*@__PURE__*/ extend({}, BaseTransitionPropsValidators, DOMTransitionPropsValidators);
10032
10205
  /**
10033
10206
  * Wrap logic that attaches extra properties to Transition in a function
10034
10207
  * so that it can be annotated as pure
@@ -10043,7 +10216,7 @@ var Vue = (function() {
10043
10216
  * DOM Transition is a higher-order-component based on the platform-agnostic
10044
10217
  * base Transition component, with DOM-specific logic.
10045
10218
  */
10046
- const Transition = /* @__PURE__ */ decorate$1((props, { slots }) => h(BaseTransition, resolveTransitionProps(props), slots));
10219
+ const Transition = /*@__PURE__*/ decorate$1((props, { slots }) => h(BaseTransition, resolveTransitionProps(props), slots));
10047
10220
  /**
10048
10221
  * #3227 Incoming hooks may be merged into arrays when wrapping Transition
10049
10222
  * with custom HOCs.
@@ -10283,14 +10456,15 @@ var Vue = (function() {
10283
10456
  },
10284
10457
  updated(el, { value, oldValue }, { transition }) {
10285
10458
  if (!value === !oldValue) return;
10286
- if (transition) if (value) {
10287
- transition.beforeEnter(el);
10288
- setDisplay(el, true);
10289
- transition.enter(el);
10290
- } else transition.leave(el, () => {
10291
- setDisplay(el, false);
10292
- });
10293
- else setDisplay(el, value);
10459
+ if (transition) {
10460
+ if (value) {
10461
+ transition.beforeEnter(el);
10462
+ setDisplay(el, true);
10463
+ transition.enter(el);
10464
+ } else transition.leave(el, () => {
10465
+ setDisplay(el, false);
10466
+ });
10467
+ } else setDisplay(el, value);
10294
10468
  },
10295
10469
  beforeUnmount(el, { value }) {
10296
10470
  setDisplay(el, value);
@@ -10392,11 +10566,13 @@ var Vue = (function() {
10392
10566
  const isCssString = isString(next);
10393
10567
  let hasControlledDisplay = false;
10394
10568
  if (next && !isCssString) {
10395
- if (prev) if (!isString(prev)) {
10396
- for (const key in prev) if (next[key] == null) setStyle(style, key, "");
10397
- } else for (const prevStyle of prev.split(";")) {
10398
- const key = prevStyle.slice(0, prevStyle.indexOf(":")).trim();
10399
- if (next[key] == null) setStyle(style, key, "");
10569
+ if (prev) {
10570
+ if (!isString(prev)) {
10571
+ for (const key in prev) if (next[key] == null) setStyle(style, key, "");
10572
+ } else for (const prevStyle of prev.split(";")) {
10573
+ const key = prevStyle.slice(0, prevStyle.indexOf(":")).trim();
10574
+ if (next[key] == null) setStyle(style, key, "");
10575
+ }
10400
10576
  }
10401
10577
  for (const key in next) {
10402
10578
  if (key === "display") hasControlledDisplay = true;
@@ -10425,8 +10601,10 @@ var Vue = (function() {
10425
10601
  else {
10426
10602
  const val = rawVal == null ? "" : String(rawVal);
10427
10603
  if (semicolonRE.test(val)) warn(`Unexpected semicolon at the end of '${name}' style value: '${val}'`);
10428
- if (name.startsWith("--")) style.setProperty(name, val);
10429
- else {
10604
+ if (name.startsWith("--")) {
10605
+ if (importantRE.test(val)) style.setProperty(name, val.replace(importantRE, ""), "important");
10606
+ else style.setProperty(name, val);
10607
+ } else {
10430
10608
  const prefixed = autoPrefix(style, name);
10431
10609
  if (importantRE.test(val)) style.setProperty(hyphenate(prefixed), val.replace(importantRE, ""), "important");
10432
10610
  else style[prefixed] = val;
@@ -10463,15 +10641,16 @@ var Vue = (function() {
10463
10641
  //#region packages/runtime-dom/src/modules/attrs.ts
10464
10642
  const xlinkNS = "http://www.w3.org/1999/xlink";
10465
10643
  function patchAttr(el, key, value, isSVG, instance, isBoolean = isSpecialBooleanAttr(key)) {
10466
- if (isSVG && key.startsWith("xlink:")) if (value == null) el.removeAttributeNS(xlinkNS, key.slice(6, key.length));
10467
- else el.setAttributeNS(xlinkNS, key, value);
10468
- else {
10644
+ if (isSVG && key.startsWith("xlink:")) {
10645
+ if (value == null) el.removeAttributeNS(xlinkNS, key.slice(6, key.length));
10646
+ else el.setAttributeNS(xlinkNS, key, value);
10647
+ } else {
10469
10648
  if (compatCoerceAttr(el, key, value, instance)) return;
10470
10649
  if (value == null || isBoolean && !includeBooleanAttr(value)) el.removeAttribute(key);
10471
10650
  else el.setAttribute(key, isBoolean ? "" : isSymbol(value) ? String(value) : value);
10472
10651
  }
10473
10652
  }
10474
- const isEnumeratedAttr = /* @__PURE__ */ makeMap("contenteditable,draggable,spellcheck");
10653
+ const isEnumeratedAttr = /*@__PURE__*/ makeMap("contenteditable,draggable,spellcheck");
10475
10654
  function compatCoerceAttr(el, key, value, instance = null) {
10476
10655
  if (isEnumeratedAttr(key)) {
10477
10656
  const v2CoercedValue = value === void 0 ? null : value === null || value === false || value === "false" ? "false" : "true";
@@ -10563,7 +10742,7 @@ var Vue = (function() {
10563
10742
  return [name[2] === ":" ? name.slice(3) : hyphenate(name.slice(2)), options];
10564
10743
  }
10565
10744
  let cachedNow = 0;
10566
- const p = /* @__PURE__ */ Promise.resolve();
10745
+ const p = /*@__PURE__*/ Promise.resolve();
10567
10746
  const getNow = () => cachedNow || (p.then(() => cachedNow = 0), cachedNow = Date.now());
10568
10747
  function createInvoker(initialValue, instance) {
10569
10748
  const invoker = (e) => {
@@ -10631,7 +10810,7 @@ var Vue = (function() {
10631
10810
  //#endregion
10632
10811
  //#region packages/runtime-dom/src/apiCustomElement.ts
10633
10812
  const REMOVAL = {};
10634
- /* @__NO_SIDE_EFFECTS__ */
10813
+ /*@__NO_SIDE_EFFECTS__*/
10635
10814
  function defineCustomElement(options, extraOptions, _createApp) {
10636
10815
  let Comp = /* @__PURE__ */ defineComponent(options, extraOptions);
10637
10816
  if (isPlainObject(Comp)) Comp = extend({}, Comp, extraOptions);
@@ -10680,12 +10859,14 @@ var Vue = (function() {
10680
10859
  this._parent = parent;
10681
10860
  break;
10682
10861
  }
10683
- if (!this._instance) if (this._resolved) this._mountComponent(this._def);
10684
- else if (parent && parent._pendingResolve) this._pendingResolve = parent._pendingResolve.then(() => {
10685
- this._pendingResolve = void 0;
10686
- if (this.isConnected) return this._resolveDef();
10687
- });
10688
- else this._resolveDef();
10862
+ if (!this._instance) {
10863
+ if (this._resolved) this._mountComponent(this._def);
10864
+ else if (parent && parent._pendingResolve) this._pendingResolve = parent._pendingResolve.then(() => {
10865
+ this._pendingResolve = void 0;
10866
+ if (this.isConnected) return this._resolveDef();
10867
+ });
10868
+ else this._resolveDef();
10869
+ }
10689
10870
  }
10690
10871
  disconnectedCallback() {
10691
10872
  this._connected = false;
@@ -11068,7 +11249,7 @@ var Vue = (function() {
11068
11249
  };
11069
11250
  const TransitionGroup = /* @__PURE__ */ decorate({
11070
11251
  name: "TransitionGroup",
11071
- props: /* @__PURE__ */ extend({}, TransitionPropsValidators, {
11252
+ props: /*@__PURE__*/ extend({}, TransitionPropsValidators, {
11072
11253
  tag: String,
11073
11254
  moveClass: String
11074
11255
  }),
@@ -11350,19 +11531,39 @@ var Vue = (function() {
11350
11531
  el._modelValue = value;
11351
11532
  addEventListener(el, "change", () => {
11352
11533
  const selectedVal = Array.prototype.filter.call(el.options, (o) => o.selected).map((o) => number ? looseToNumber(getValue(o)) : getValue(o));
11353
- (set || el[assignKey])(el.multiple ? isSet(el._modelValue) ? new Set(selectedVal) : selectedVal : selectedVal[0]);
11354
- el._assigning = true;
11355
- nextTick(() => {
11356
- el._assigning = false;
11357
- });
11534
+ const multiple = el.multiple;
11535
+ const assignedValue = multiple ? isSet(el._modelValue) ? new Set(selectedVal) : selectedVal : selectedVal[0];
11536
+ const pending = el._pendingValue = [multiple, multiple ? isArray(assignedValue) ? selectedVal.slice() : selectedVal : assignedValue];
11537
+ try {
11538
+ (set || el[assignKey])(assignedValue);
11539
+ } finally {
11540
+ nextTick(() => {
11541
+ if (el._pendingValue === pending) el._pendingValue = void 0;
11542
+ });
11543
+ }
11358
11544
  });
11359
11545
  };
11546
+ function isSameSelectValue(value, assignedValue, multiple) {
11547
+ if (!multiple) return looseEqual(value, assignedValue);
11548
+ if (isArray(value)) return looseEqual(value, assignedValue);
11549
+ if (isSet(value)) {
11550
+ if (value.size !== assignedValue.length) return false;
11551
+ for (const item of assignedValue) if (!value.has(item)) return false;
11552
+ return true;
11553
+ }
11554
+ return false;
11555
+ }
11360
11556
  /**
11361
11557
  * @internal
11362
11558
  */
11363
11559
  const vModelSetSelected = (el, value) => {
11364
11560
  el._modelValue = value;
11365
- if (el._assigning) return;
11561
+ const pending = el._pendingValue;
11562
+ el._pendingValue = void 0;
11563
+ if (pending && pending[0] === el.multiple && isSameSelectValue(value, pending[1], pending[0])) return;
11564
+ setSelected(el, value);
11565
+ };
11566
+ function setSelected(el, value) {
11366
11567
  const isMultiple = el.multiple;
11367
11568
  const isArrayValue = isArray(value);
11368
11569
  if (isMultiple && !isArrayValue && !isSet(value)) {
@@ -11372,18 +11573,19 @@ var Vue = (function() {
11372
11573
  for (let i = 0, l = el.options.length; i < l; i++) {
11373
11574
  const option = el.options[i];
11374
11575
  const optionValue = getValue(option);
11375
- if (isMultiple) if (isArrayValue) {
11376
- const optionType = typeof optionValue;
11377
- if (optionType === "string" || optionType === "number") option.selected = value.some((v) => String(v) === String(optionValue));
11378
- else option.selected = looseIndexOf(value, optionValue) > -1;
11379
- } else option.selected = value.has(optionValue);
11380
- else if (looseEqual(getValue(option), value)) {
11576
+ if (isMultiple) {
11577
+ if (isArrayValue) {
11578
+ const optionType = typeof optionValue;
11579
+ if (optionType === "string" || optionType === "number") option.selected = value.some((v) => String(v) === String(optionValue));
11580
+ else option.selected = looseIndexOf(value, optionValue) > -1;
11581
+ } else option.selected = value.has(optionValue);
11582
+ } else if (looseEqual(getValue(option), value)) {
11381
11583
  if (el.selectedIndex !== i) el.selectedIndex = i;
11382
11584
  return;
11383
11585
  }
11384
11586
  }
11385
11587
  if (!isMultiple && el.selectedIndex !== -1) el.selectedIndex = -1;
11386
- };
11588
+ }
11387
11589
  /**
11388
11590
  * @internal retrieve raw value set via :value bindings
11389
11591
  */
@@ -11679,7 +11881,7 @@ var Vue = (function() {
11679
11881
  withModifiers: () => withModifiers,
11680
11882
  withScopeId: () => withScopeId
11681
11883
  });
11682
- const rendererOptions = /* @__PURE__ */ extend({ patchProp }, nodeOps);
11884
+ const rendererOptions = /*@__PURE__*/ extend({ patchProp }, nodeOps);
11683
11885
  let renderer;
11684
11886
  let enabledHydration = false;
11685
11887
  function ensureRenderer() {
@@ -12230,13 +12432,14 @@ var Vue = (function() {
12230
12432
  }
12231
12433
  }
12232
12434
  stateInterpolationOpen(c) {
12233
- if (c === this.delimiterOpen[this.delimiterIndex]) if (this.delimiterIndex === this.delimiterOpen.length - 1) {
12234
- const start = this.index + 1 - this.delimiterOpen.length;
12235
- if (start > this.sectionStart) this.cbs.ontext(this.sectionStart, start);
12236
- this.state = 3;
12237
- this.sectionStart = start;
12238
- } else this.delimiterIndex++;
12239
- else if (this.inRCDATA) {
12435
+ if (c === this.delimiterOpen[this.delimiterIndex]) {
12436
+ if (this.delimiterIndex === this.delimiterOpen.length - 1) {
12437
+ const start = this.index + 1 - this.delimiterOpen.length;
12438
+ if (start > this.sectionStart) this.cbs.ontext(this.sectionStart, start);
12439
+ this.state = 3;
12440
+ this.sectionStart = start;
12441
+ } else this.delimiterIndex++;
12442
+ } else if (this.inRCDATA) {
12240
12443
  this.state = 32;
12241
12444
  this.stateInRCDATA(c);
12242
12445
  } else {
@@ -12252,13 +12455,14 @@ var Vue = (function() {
12252
12455
  }
12253
12456
  }
12254
12457
  stateInterpolationClose(c) {
12255
- if (c === this.delimiterClose[this.delimiterIndex]) if (this.delimiterIndex === this.delimiterClose.length - 1) {
12256
- this.cbs.oninterpolation(this.sectionStart, this.index + 1);
12257
- if (this.inRCDATA) this.state = 32;
12258
- else this.state = 1;
12259
- this.sectionStart = this.index + 1;
12260
- } else this.delimiterIndex++;
12261
- else {
12458
+ if (c === this.delimiterClose[this.delimiterIndex]) {
12459
+ if (this.delimiterIndex === this.delimiterClose.length - 1) {
12460
+ this.cbs.oninterpolation(this.sectionStart, this.index + 1);
12461
+ if (this.inRCDATA) this.state = 32;
12462
+ else this.state = 1;
12463
+ this.sectionStart = this.index + 1;
12464
+ } else this.delimiterIndex++;
12465
+ } else {
12262
12466
  this.state = 3;
12263
12467
  this.stateInterpolation(c);
12264
12468
  }
@@ -12373,9 +12577,10 @@ var Vue = (function() {
12373
12577
  this.sectionStart = this.index;
12374
12578
  if (this.mode === 0) this.state = 6;
12375
12579
  else if (this.inSFCRoot) this.state = 34;
12376
- else if (!this.inXML) if (c === 116) this.state = 30;
12377
- else this.state = c === 115 ? 29 : 6;
12378
- else this.state = 6;
12580
+ else if (!this.inXML) {
12581
+ if (c === 116) this.state = 30;
12582
+ else this.state = c === 115 ? 29 : 6;
12583
+ } else this.state = 6;
12379
12584
  } else if (c === 47) this.state = 8;
12380
12585
  else {
12381
12586
  this.state = 1;
@@ -12728,9 +12933,7 @@ var Vue = (function() {
12728
12933
  case 24:
12729
12934
  this.stateInProcessingInstruction(c);
12730
12935
  break;
12731
- case 33:
12732
- this.stateInEntity();
12733
- break;
12936
+ case 33: this.stateInEntity();
12734
12937
  }
12735
12938
  this.index++;
12736
12939
  }
@@ -12759,9 +12962,10 @@ var Vue = (function() {
12759
12962
  handleTrailingData() {
12760
12963
  const endIndex = this.buffer.length;
12761
12964
  if (this.sectionStart >= endIndex) return;
12762
- if (this.state === 28) if (this.currentSequence === Sequences.CdataEnd) this.cbs.oncdata(this.sectionStart, endIndex);
12763
- else this.cbs.oncomment(this.sectionStart, endIndex);
12764
- 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);
12965
+ if (this.state === 28) {
12966
+ if (this.currentSequence === Sequences.CdataEnd) this.cbs.oncdata(this.sectionStart, endIndex);
12967
+ else this.cbs.oncomment(this.sectionStart, endIndex);
12968
+ } 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);
12765
12969
  }
12766
12970
  emitCodePoint(cp, consumed) {}
12767
12971
  };
@@ -12963,12 +13167,10 @@ var Vue = (function() {
12963
13167
  if (!--currentOpenParensCount) state = stateStack.pop();
12964
13168
  }
12965
13169
  break;
12966
- case 3:
12967
- if (char === currentStringType) {
12968
- state = stateStack.pop();
12969
- currentStringType = null;
12970
- }
12971
- break;
13170
+ case 3: if (char === currentStringType) {
13171
+ state = stateStack.pop();
13172
+ currentStringType = null;
13173
+ }
12972
13174
  }
12973
13175
  }
12974
13176
  return !currentOpenBracketCount && !currentOpenParensCount;
@@ -13018,7 +13220,7 @@ var Vue = (function() {
13018
13220
  function isSlotOutlet(node) {
13019
13221
  return node.type === 1 && node.tagType === 2;
13020
13222
  }
13021
- const propsHelperSet = new Set([NORMALIZE_PROPS, GUARD_REACTIVE_PROPS]);
13223
+ const propsHelperSet = /* @__PURE__ */ new Set([NORMALIZE_PROPS, GUARD_REACTIVE_PROPS]);
13022
13224
  function getUnnormalizedProps(props, callPath = []) {
13023
13225
  if (props && !isString(props) && props.type === 14) {
13024
13226
  const callee = props.callee;
@@ -13061,9 +13263,10 @@ var Vue = (function() {
13061
13263
  propsWithInjection = createCallExpression(context.helper(MERGE_PROPS), [createObjectExpression([prop]), props]);
13062
13264
  if (parentCall && parentCall.callee === GUARD_REACTIVE_PROPS) parentCall = callPath[callPath.length - 2];
13063
13265
  }
13064
- if (node.type === 13) if (parentCall) parentCall.arguments[0] = propsWithInjection;
13065
- else node.props = propsWithInjection;
13066
- else if (parentCall) parentCall.arguments[0] = propsWithInjection;
13266
+ if (node.type === 13) {
13267
+ if (parentCall) parentCall.arguments[0] = propsWithInjection;
13268
+ else node.props = propsWithInjection;
13269
+ } else if (parentCall) parentCall.arguments[0] = propsWithInjection;
13067
13270
  else node.arguments[2] = propsWithInjection;
13068
13271
  }
13069
13272
  function injectSlotKey(node, prop) {
@@ -13338,10 +13541,7 @@ var Vue = (function() {
13338
13541
  case 18:
13339
13542
  case 19:
13340
13543
  case 20:
13341
- case 21:
13342
- emitError(9, end);
13343
- break;
13344
- default: break;
13544
+ case 21: emitError(9, end);
13345
13545
  }
13346
13546
  for (let index = 0; index < stack.length; index++) {
13347
13547
  onCloseTag(stack[index], end - 1);
@@ -13491,7 +13691,7 @@ var Vue = (function() {
13491
13691
  while (currentInput.charCodeAt(i) !== c && i >= 0) i--;
13492
13692
  return i;
13493
13693
  }
13494
- const specialTemplateDir = new Set([
13694
+ const specialTemplateDir = /* @__PURE__ */ new Set([
13495
13695
  "if",
13496
13696
  "else",
13497
13697
  "else-if",
@@ -13527,16 +13727,18 @@ var Vue = (function() {
13527
13727
  let removedWhitespace = false;
13528
13728
  for (let i = 0; i < nodes.length; i++) {
13529
13729
  const node = nodes[i];
13530
- if (node.type === 2) if (!inPre) {
13531
- if (isAllWhitespace(node.content)) {
13532
- const prev = nodes[i - 1] && nodes[i - 1].type;
13533
- const next = nodes[i + 1] && nodes[i + 1].type;
13534
- if (!prev || !next || shouldCondense && (prev === 3 && (next === 3 || next === 1) || prev === 1 && (next === 3 || next === 1 && hasNewlineChar(node.content)))) {
13535
- removedWhitespace = true;
13536
- nodes[i] = null;
13537
- } else node.content = " ";
13538
- } else if (shouldCondense) node.content = condense(node.content);
13539
- } else node.content = node.content.replace(windowsNewlineRE, "\n");
13730
+ if (node.type === 2) {
13731
+ if (!inPre) {
13732
+ if (isAllWhitespace(node.content)) {
13733
+ const prev = nodes[i - 1] && nodes[i - 1].type;
13734
+ const next = nodes[i + 1] && nodes[i + 1].type;
13735
+ if (!prev || !next || shouldCondense && (prev === 3 && (next === 3 || next === 1) || prev === 1 && (next === 3 || next === 1 && hasNewlineChar(node.content)))) {
13736
+ removedWhitespace = true;
13737
+ nodes[i] = null;
13738
+ } else node.content = " ";
13739
+ } else if (shouldCondense) node.content = condense(node.content);
13740
+ } else node.content = node.content.replace(windowsNewlineRE, "\n");
13741
+ }
13540
13742
  }
13541
13743
  return removedWhitespace ? nodes.filter(Boolean) : nodes;
13542
13744
  }
@@ -13797,7 +13999,7 @@ var Vue = (function() {
13797
13999
  default: return 0;
13798
14000
  }
13799
14001
  }
13800
- const allowHoistedHelperSet = new Set([
14002
+ const allowHoistedHelperSet = /* @__PURE__ */ new Set([
13801
14003
  NORMALIZE_CLASS,
13802
14004
  NORMALIZE_STYLE,
13803
14005
  NORMALIZE_PROPS,
@@ -13955,7 +14157,7 @@ var Vue = (function() {
13955
14157
  traverseNode(root, context);
13956
14158
  if (options.hoistStatic) cacheStatic(root, context);
13957
14159
  if (!options.ssr) createRootCodegen(root, context);
13958
- root.helpers = new Set([...context.helpers.keys()]);
14160
+ root.helpers = /* @__PURE__ */ new Set([...context.helpers.keys()]);
13959
14161
  root.components = [...context.components];
13960
14162
  root.directives = [...context.directives];
13961
14163
  root.imports = context.imports;
@@ -14002,8 +14204,10 @@ var Vue = (function() {
14002
14204
  const exitFns = [];
14003
14205
  for (let i = 0; i < nodeTransforms.length; i++) {
14004
14206
  const onExit = nodeTransforms[i](node, context);
14005
- if (onExit) if (isArray(onExit)) exitFns.push(...onExit);
14006
- else exitFns.push(onExit);
14207
+ if (onExit) {
14208
+ if (isArray(onExit)) exitFns.push(...onExit);
14209
+ else exitFns.push(onExit);
14210
+ }
14007
14211
  if (!context.currentNode) return;
14008
14212
  else node = context.currentNode;
14009
14213
  }
@@ -14020,9 +14224,7 @@ var Vue = (function() {
14020
14224
  case 10:
14021
14225
  case 11:
14022
14226
  case 1:
14023
- case 0:
14024
- traverseChildren(node, context);
14025
- break;
14227
+ case 0: traverseChildren(node, context);
14026
14228
  }
14027
14229
  context.currentNode = node;
14028
14230
  let i = exitFns.length;
@@ -14218,10 +14420,12 @@ var Vue = (function() {
14218
14420
  if (isString(node)) push(node, -3);
14219
14421
  else if (isArray(node)) genNodeListAsArray(node, context);
14220
14422
  else genNode(node, context);
14221
- if (i < nodes.length - 1) if (multilines) {
14222
- comma && push(",");
14223
- newline();
14224
- } else comma && push(", ");
14423
+ if (i < nodes.length - 1) {
14424
+ if (multilines) {
14425
+ comma && push(",");
14426
+ newline();
14427
+ } else comma && push(", ");
14428
+ }
14225
14429
  }
14226
14430
  }
14227
14431
  function genNode(node, context) {
@@ -14333,8 +14537,10 @@ var Vue = (function() {
14333
14537
  const { push, helper, pure } = context;
14334
14538
  const { tag, props, children, patchFlag, dynamicProps, directives, isBlock, disableTracking, isComponent } = node;
14335
14539
  let patchFlagString;
14336
- if (patchFlag) if (patchFlag < 0) patchFlagString = patchFlag + ` /* ${PatchFlagNames[patchFlag]} */`;
14337
- else patchFlagString = patchFlag + ` /* ${Object.keys(PatchFlagNames).map(Number).filter((n) => n > 0 && patchFlag & n).map((n) => PatchFlagNames[n]).join(`, `)} */`;
14540
+ if (patchFlag) {
14541
+ if (patchFlag < 0) patchFlagString = patchFlag + ` /* ${PatchFlagNames[patchFlag]} */`;
14542
+ else patchFlagString = patchFlag + ` /* ${Object.keys(PatchFlagNames).map(Number).filter((n) => n > 0 && patchFlag & n).map((n) => PatchFlagNames[n]).join(`, `)} */`;
14543
+ }
14338
14544
  if (directives) push(helper(WITH_DIRECTIVES) + `(`);
14339
14545
  if (isBlock) push(`(${helper(OPEN_BLOCK)}(${disableTracking ? `true` : ``}), `);
14340
14546
  if (pure) push(PURE_ANNOTATION);
@@ -14603,16 +14809,17 @@ var Vue = (function() {
14603
14809
  const keyProperty = createObjectProperty(`key`, createSimpleExpression(`${keyIndex}`, false, locStub, 2));
14604
14810
  const { children } = branch;
14605
14811
  const firstChild = children[0];
14606
- if (children.length !== 1 || firstChild.type !== 1) if (children.length === 1 && firstChild.type === 11) {
14607
- const vnodeCall = firstChild.codegenNode;
14608
- injectProp(vnodeCall, keyProperty, context);
14609
- return vnodeCall;
14812
+ if (children.length !== 1 || firstChild.type !== 1) {
14813
+ if (children.length === 1 && firstChild.type === 11) {
14814
+ const vnodeCall = firstChild.codegenNode;
14815
+ injectProp(vnodeCall, keyProperty, context);
14816
+ return vnodeCall;
14817
+ } else {
14818
+ let patchFlag = 64;
14819
+ if (!branch.isTemplateIf && children.filter((c) => c.type !== 3).length === 1) patchFlag |= 2048;
14820
+ return createVNodeCall(context, helper(FRAGMENT), createObjectExpression([keyProperty]), children, patchFlag, void 0, void 0, true, false, false, branch.loc);
14821
+ }
14610
14822
  } else {
14611
- let patchFlag = 64;
14612
- if (!branch.isTemplateIf && children.filter((c) => c.type !== 3).length === 1) patchFlag |= 2048;
14613
- return createVNodeCall(context, helper(FRAGMENT), createObjectExpression([keyProperty]), children, patchFlag, void 0, void 0, true, false, false, branch.loc);
14614
- }
14615
- else {
14616
14823
  const ret = firstChild.codegenNode;
14617
14824
  const vnodeCall = getMemoedVNodeCall(ret);
14618
14825
  if (vnodeCall.type === 13) convertToBlock(vnodeCall, context);
@@ -14633,9 +14840,10 @@ var Vue = (function() {
14633
14840
  return true;
14634
14841
  }
14635
14842
  function getParentCondition(node) {
14636
- while (true) if (node.type === 19) if (node.alternate.type === 19) node = node.alternate;
14637
- else return node;
14638
- else if (node.type === 20) node = node.value;
14843
+ while (true) if (node.type === 19) {
14844
+ if (node.alternate.type === 19) node = node.alternate;
14845
+ else return node;
14846
+ } else if (node.type === 20) node = node.value;
14639
14847
  }
14640
14848
  //#endregion
14641
14849
  //#region packages/compiler-core/src/transforms/vFor.ts
@@ -14674,10 +14882,12 @@ var Vue = (function() {
14674
14882
  childBlock = children[0].codegenNode;
14675
14883
  if (isTemplate && keyProperty) injectProp(childBlock, keyProperty, context);
14676
14884
  const shouldUseBlock = !isStableFragment || childBlock.isBlockRequired === true;
14677
- if (childBlock.isBlock !== shouldUseBlock) if (childBlock.isBlock) {
14678
- removeHelper(OPEN_BLOCK);
14679
- removeHelper(getVNodeBlockHelper(context.inSSR, childBlock.isComponent));
14680
- } else removeHelper(getVNodeHelper(context.inSSR, childBlock.isComponent));
14885
+ if (childBlock.isBlock !== shouldUseBlock) {
14886
+ if (childBlock.isBlock) {
14887
+ removeHelper(OPEN_BLOCK);
14888
+ removeHelper(getVNodeBlockHelper(context.inSSR, childBlock.isComponent));
14889
+ } else removeHelper(getVNodeHelper(context.inSSR, childBlock.isComponent));
14890
+ }
14681
14891
  childBlock.isBlock = shouldUseBlock;
14682
14892
  if (childBlock.isBlock) {
14683
14893
  helper(OPEN_BLOCK);
@@ -14860,8 +15070,10 @@ var Vue = (function() {
14860
15070
  return createObjectProperty(`default`, fn);
14861
15071
  };
14862
15072
  if (!hasTemplateSlots) slotsProperties.push(buildDefaultSlotProperty(void 0, children));
14863
- else if (implicitDefaultChildren.length && !implicitDefaultChildren.every(isWhitespaceText)) if (hasNamedDefaultSlot) context.onError(createCompilerError(39, implicitDefaultChildren[0].loc));
14864
- else slotsProperties.push(buildDefaultSlotProperty(void 0, implicitDefaultChildren));
15073
+ else if (implicitDefaultChildren.length && !implicitDefaultChildren.every(isWhitespaceText)) {
15074
+ if (hasNamedDefaultSlot) context.onError(createCompilerError(39, implicitDefaultChildren[0].loc));
15075
+ else slotsProperties.push(buildDefaultSlotProperty(void 0, implicitDefaultChildren));
15076
+ }
14865
15077
  }
14866
15078
  const slotFlag = hasDynamicSlots ? 2 : hasForwardedSlots(node.children) ? 3 : 1;
14867
15079
  let slots = createObjectExpression(slotsProperties.concat(createObjectProperty(`_`, createSimpleExpression(slotFlag + ` /* ${slotFlagsText[slotFlag]} */`, false))), loc);
@@ -14887,10 +15099,7 @@ var Vue = (function() {
14887
15099
  if (hasForwardedSlots(child.branches)) return true;
14888
15100
  break;
14889
15101
  case 10:
14890
- case 11:
14891
- if (hasForwardedSlots(child.children)) return true;
14892
- break;
14893
- default: break;
15102
+ case 11: if (hasForwardedSlots(child.children)) return true;
14894
15103
  }
14895
15104
  }
14896
15105
  return false;
@@ -15051,29 +15260,30 @@ var Vue = (function() {
15051
15260
  if (isVBind && isStaticArgOf(arg, "ref")) pushRefVForMarker();
15052
15261
  if (!arg && (isVBind || isVOn)) {
15053
15262
  hasDynamicKeys = true;
15054
- if (exp) if (isVBind) {
15055
- pushMergeArg();
15056
- if (mergeArgs.some((arg) => {
15057
- if (arg.type === 15) return arg.properties.some(({ key }) => {
15058
- if (key.type !== 4 || !key.isStatic) return true;
15059
- return key.content !== "class" && key.content !== "style" && !isOn(key.content);
15060
- });
15061
- else return true;
15062
- })) checkCompatEnabled("COMPILER_V_BIND_OBJECT_ORDER", context, loc);
15063
- if (isCompatEnabled("COMPILER_V_BIND_OBJECT_ORDER", context)) {
15064
- mergeArgs.unshift(exp);
15065
- continue;
15066
- }
15067
- pushRefVForMarker();
15068
- pushMergeArg();
15069
- mergeArgs.push(exp);
15070
- } else pushMergeArg({
15071
- type: 14,
15072
- loc,
15073
- callee: context.helper(TO_HANDLERS),
15074
- arguments: isComponent ? [exp] : [exp, `true`]
15075
- });
15076
- else context.onError(createCompilerError(isVBind ? 34 : 35, loc));
15263
+ if (exp) {
15264
+ if (isVBind) {
15265
+ pushMergeArg();
15266
+ if (mergeArgs.some((arg) => {
15267
+ if (arg.type === 15) return arg.properties.some(({ key }) => {
15268
+ if (key.type !== 4 || !key.isStatic) return true;
15269
+ return key.content !== "class" && key.content !== "style" && !isOn(key.content);
15270
+ });
15271
+ else return true;
15272
+ })) checkCompatEnabled("COMPILER_V_BIND_OBJECT_ORDER", context, loc);
15273
+ if (isCompatEnabled("COMPILER_V_BIND_OBJECT_ORDER", context)) {
15274
+ mergeArgs.unshift(exp);
15275
+ continue;
15276
+ }
15277
+ pushRefVForMarker();
15278
+ pushMergeArg();
15279
+ mergeArgs.push(exp);
15280
+ } else pushMergeArg({
15281
+ type: 14,
15282
+ loc,
15283
+ callee: context.helper(TO_HANDLERS),
15284
+ arguments: isComponent ? [exp] : [exp, `true`]
15285
+ });
15286
+ } else context.onError(createCompilerError(isVBind ? 34 : 35, loc));
15077
15287
  continue;
15078
15288
  }
15079
15289
  if (isVBind && modifiers.some((mod) => mod.content === "prop")) patchFlag |= 32;
@@ -15131,9 +15341,7 @@ var Vue = (function() {
15131
15341
  } else propsExpression = createCallExpression(context.helper(NORMALIZE_PROPS), [propsExpression]);
15132
15342
  break;
15133
15343
  case 14: break;
15134
- default:
15135
- propsExpression = createCallExpression(context.helper(NORMALIZE_PROPS), [createCallExpression(context.helper(GUARD_REACTIVE_PROPS), [propsExpression])]);
15136
- break;
15344
+ default: propsExpression = createCallExpression(context.helper(NORMALIZE_PROPS), [createCallExpression(context.helper(GUARD_REACTIVE_PROPS), [propsExpression])]);
15137
15345
  }
15138
15346
  return {
15139
15347
  props: propsExpression,
@@ -15239,10 +15447,12 @@ var Vue = (function() {
15239
15447
  for (let i = 0; i < node.props.length; i++) {
15240
15448
  const p = node.props[i];
15241
15449
  if (p.type === 6) {
15242
- if (p.value) if (p.name === "name") slotName = JSON.stringify(p.value.content);
15243
- else {
15244
- p.name = camelize(p.name);
15245
- nonNameProps.push(p);
15450
+ if (p.value) {
15451
+ if (p.name === "name") slotName = JSON.stringify(p.value.content);
15452
+ else {
15453
+ p.name = camelize(p.name);
15454
+ nonNameProps.push(p);
15455
+ }
15246
15456
  }
15247
15457
  } else if (p.name === "bind" && isStaticArgOf(p.arg, "name")) {
15248
15458
  if (p.exp) slotName = p.exp;
@@ -15268,17 +15478,18 @@ var Vue = (function() {
15268
15478
  const { loc, modifiers, arg } = dir;
15269
15479
  if (!dir.exp && !modifiers.length) context.onError(createCompilerError(35, loc));
15270
15480
  let eventName;
15271
- if (arg.type === 4) if (arg.isStatic) {
15272
- let rawName = arg.content;
15273
- if (rawName.startsWith("vnode")) context.onError(createCompilerError(52, arg.loc));
15274
- if (rawName.startsWith("vue:")) rawName = `vnode-${rawName.slice(4)}`;
15275
- eventName = createSimpleExpression(node.tagType !== 0 || rawName.startsWith("vnode") || !/[A-Z]/.test(rawName) ? toHandlerKey(camelize(rawName)) : `on:${rawName}`, true, arg.loc);
15276
- } else eventName = createCompoundExpression([
15277
- `${context.helperString(TO_HANDLER_KEY)}(`,
15278
- arg,
15279
- `)`
15280
- ]);
15281
- else {
15481
+ if (arg.type === 4) {
15482
+ if (arg.isStatic) {
15483
+ let rawName = arg.content;
15484
+ if (rawName.startsWith("vnode")) context.onError(createCompilerError(52, arg.loc));
15485
+ if (rawName.startsWith("vue:")) rawName = `vnode-${rawName.slice(4)}`;
15486
+ eventName = createSimpleExpression(node.tagType !== 0 || rawName.startsWith("vnode") || !/[A-Z]/.test(rawName) ? toHandlerKey(camelize(rawName)) : `on:${rawName}`, true, arg.loc);
15487
+ } else eventName = createCompoundExpression([
15488
+ `${context.helperString(TO_HANDLER_KEY)}(`,
15489
+ arg,
15490
+ `)`
15491
+ ]);
15492
+ } else {
15282
15493
  eventName = arg;
15283
15494
  eventName.children.unshift(`${context.helperString(TO_HANDLER_KEY)}(`);
15284
15495
  eventName.children.push(`)`);
@@ -15314,11 +15525,14 @@ var Vue = (function() {
15314
15525
  arg.children.unshift(`(`);
15315
15526
  arg.children.push(`) || ""`);
15316
15527
  } else if (!arg.isStatic) arg.content = arg.content ? `${arg.content} || ""` : `""`;
15317
- if (modifiers.some((mod) => mod.content === "camel")) if (arg.type === 4) if (arg.isStatic) arg.content = camelize(arg.content);
15318
- else arg.content = `${context.helperString(CAMELIZE)}(${arg.content})`;
15319
- else {
15320
- arg.children.unshift(`${context.helperString(CAMELIZE)}(`);
15321
- arg.children.push(`)`);
15528
+ if (modifiers.some((mod) => mod.content === "camel")) {
15529
+ if (arg.type === 4) {
15530
+ if (arg.isStatic) arg.content = camelize(arg.content);
15531
+ else arg.content = `${context.helperString(CAMELIZE)}(${arg.content})`;
15532
+ } else {
15533
+ arg.children.unshift(`${context.helperString(CAMELIZE)}(`);
15534
+ arg.children.push(`)`);
15535
+ }
15322
15536
  }
15323
15537
  if (!context.inSSR) {
15324
15538
  if (modifiers.some((mod) => mod.content === "prop")) injectPrefix(arg, ".");
@@ -15327,9 +15541,10 @@ var Vue = (function() {
15327
15541
  return { props: [createObjectProperty(arg, exp)] };
15328
15542
  };
15329
15543
  const injectPrefix = (arg, prefix) => {
15330
- if (arg.type === 4) if (arg.isStatic) arg.content = prefix + arg.content;
15331
- else arg.content = `\`${prefix}\${${arg.content}}\``;
15332
- else {
15544
+ if (arg.type === 4) {
15545
+ if (arg.isStatic) arg.content = prefix + arg.content;
15546
+ else arg.content = `\`${prefix}\${${arg.content}}\``;
15547
+ } else {
15333
15548
  arg.children.unshift(`'${prefix}' + (`);
15334
15549
  arg.children.push(`)`);
15335
15550
  }
@@ -15476,11 +15691,12 @@ var Vue = (function() {
15476
15691
  if (c === 96 && prev !== 92) inTemplateString = false;
15477
15692
  } else if (inRegex) {
15478
15693
  if (c === 47 && prev !== 92) inRegex = false;
15479
- } else if (c === 124 && exp.charCodeAt(i + 1) !== 124 && exp.charCodeAt(i - 1) !== 124 && !curly && !square && !paren) if (expression === void 0) {
15480
- lastFilterIndex = i + 1;
15481
- expression = exp.slice(0, i).trim();
15482
- } else pushFilter();
15483
- else {
15694
+ } else if (c === 124 && exp.charCodeAt(i + 1) !== 124 && exp.charCodeAt(i - 1) !== 124 && !curly && !square && !paren) {
15695
+ if (expression === void 0) {
15696
+ lastFilterIndex = i + 1;
15697
+ expression = exp.slice(0, i).trim();
15698
+ } else pushFilter();
15699
+ } else {
15484
15700
  switch (c) {
15485
15701
  case 34:
15486
15702
  inDouble = true;
@@ -15506,9 +15722,7 @@ var Vue = (function() {
15506
15722
  case 123:
15507
15723
  curly++;
15508
15724
  break;
15509
- case 125:
15510
- curly--;
15511
- break;
15725
+ case 125: curly--;
15512
15726
  }
15513
15727
  if (c === 47) {
15514
15728
  let j = i - 1;
@@ -15784,9 +15998,7 @@ var Vue = (function() {
15784
15998
  isInvalidType = true;
15785
15999
  context.onError(createDOMCompilerError(60, dir.loc));
15786
16000
  break;
15787
- default:
15788
- checkDuplicatedValue();
15789
- break;
16001
+ default: checkDuplicatedValue();
15790
16002
  }
15791
16003
  } else if (hasDynamicKeyVBind(node)) directiveToUse = V_MODEL_DYNAMIC;
15792
16004
  else checkDuplicatedValue();
@@ -15799,10 +16011,10 @@ var Vue = (function() {
15799
16011
  };
15800
16012
  //#endregion
15801
16013
  //#region packages/compiler-dom/src/transforms/vOn.ts
15802
- const isEventOptionModifier = /* @__PURE__ */ makeMap(`passive,once,capture`);
15803
- const isNonKeyModifier = /* @__PURE__ */ makeMap("stop,prevent,self,ctrl,shift,alt,meta,exact,middle");
15804
- const maybeKeyModifier = /* @__PURE__ */ makeMap("left,right");
15805
- const isKeyboardEvent = /* @__PURE__ */ makeMap(`onkeyup,onkeydown,onkeypress`);
16014
+ const isEventOptionModifier = /*@__PURE__*/ makeMap(`passive,once,capture`);
16015
+ const isNonKeyModifier = /*@__PURE__*/ makeMap("stop,prevent,self,ctrl,shift,alt,meta,exact,middle");
16016
+ const maybeKeyModifier = /*@__PURE__*/ makeMap("left,right");
16017
+ const isKeyboardEvent = /*@__PURE__*/ makeMap(`onkeyup,onkeydown,onkeypress`);
15806
16018
  const resolveModifiers = (key, modifiers, context, loc) => {
15807
16019
  const keyModifiers = [];
15808
16020
  const nonKeyModifiers = [];
@@ -15821,13 +16033,15 @@ var Vue = (function() {
15821
16033
  else if (isEventOptionModifier(modifier)) eventOptionModifiers.push(modifier);
15822
16034
  else {
15823
16035
  const keyString = isString(key) ? key : isStaticExp(key) ? key.content : null;
15824
- if (maybeKeyModifier(modifier)) if (keyString) if (isKeyboardEvent(keyString.toLowerCase())) keyModifiers.push(modifier);
15825
- else nonKeyModifiers.push(modifier);
15826
- else {
15827
- keyModifiers.push(modifier);
15828
- nonKeyModifiers.push(modifier);
15829
- }
15830
- else if (isNonKeyModifier(modifier)) nonKeyModifiers.push(modifier);
16036
+ if (maybeKeyModifier(modifier)) {
16037
+ if (keyString) {
16038
+ if (isKeyboardEvent(keyString.toLowerCase())) keyModifiers.push(modifier);
16039
+ else nonKeyModifiers.push(modifier);
16040
+ } else {
16041
+ keyModifiers.push(modifier);
16042
+ nonKeyModifiers.push(modifier);
16043
+ }
16044
+ } else if (isNonKeyModifier(modifier)) nonKeyModifiers.push(modifier);
15831
16045
  else keyModifiers.push(modifier);
15832
16046
  }
15833
16047
  }
@@ -15942,7 +16156,7 @@ var Vue = (function() {
15942
16156
  }
15943
16157
  return true;
15944
16158
  }
15945
- const headings = new Set([
16159
+ const headings = /* @__PURE__ */ new Set([
15946
16160
  "h1",
15947
16161
  "h2",
15948
16162
  "h3",
@@ -15954,7 +16168,7 @@ var Vue = (function() {
15954
16168
  /**
15955
16169
  * maps element to set of elements that can be it's children, no other */
15956
16170
  const onlyValidChildren = {
15957
- head: new Set([
16171
+ head: /* @__PURE__ */ new Set([
15958
16172
  "base",
15959
16173
  "basefront",
15960
16174
  "bgsound",
@@ -15967,24 +16181,24 @@ var Vue = (function() {
15967
16181
  "script",
15968
16182
  "template"
15969
16183
  ]),
15970
- optgroup: new Set(["option"]),
15971
- select: new Set([
16184
+ optgroup: /* @__PURE__ */ new Set(["option"]),
16185
+ select: /* @__PURE__ */ new Set([
15972
16186
  "optgroup",
15973
16187
  "option",
15974
16188
  "hr"
15975
16189
  ]),
15976
- table: new Set([
16190
+ table: /* @__PURE__ */ new Set([
15977
16191
  "caption",
15978
16192
  "colgroup",
15979
16193
  "tbody",
15980
16194
  "tfoot",
15981
16195
  "thead"
15982
16196
  ]),
15983
- tr: new Set(["td", "th"]),
15984
- colgroup: new Set(["col"]),
15985
- tbody: new Set(["tr"]),
15986
- thead: new Set(["tr"]),
15987
- tfoot: new Set(["tr"]),
16197
+ tr: /* @__PURE__ */ new Set(["td", "th"]),
16198
+ colgroup: /* @__PURE__ */ new Set(["col"]),
16199
+ tbody: /* @__PURE__ */ new Set(["tr"]),
16200
+ thead: /* @__PURE__ */ new Set(["tr"]),
16201
+ tfoot: /* @__PURE__ */ new Set(["tr"]),
15988
16202
  script: emptySet,
15989
16203
  iframe: emptySet,
15990
16204
  option: emptySet,
@@ -15995,30 +16209,30 @@ var Vue = (function() {
15995
16209
  /** maps elements to set of elements which can be it's parent, no other */
15996
16210
  const onlyValidParents = {
15997
16211
  html: emptySet,
15998
- body: new Set(["html"]),
15999
- head: new Set(["html"]),
16000
- td: new Set(["tr"]),
16001
- colgroup: new Set(["table"]),
16002
- caption: new Set(["table"]),
16003
- tbody: new Set(["table"]),
16004
- tfoot: new Set(["table"]),
16005
- col: new Set(["colgroup"]),
16006
- th: new Set(["tr"]),
16007
- thead: new Set(["table"]),
16008
- tr: new Set([
16212
+ body: /* @__PURE__ */ new Set(["html"]),
16213
+ head: /* @__PURE__ */ new Set(["html"]),
16214
+ td: /* @__PURE__ */ new Set(["tr"]),
16215
+ colgroup: /* @__PURE__ */ new Set(["table"]),
16216
+ caption: /* @__PURE__ */ new Set(["table"]),
16217
+ tbody: /* @__PURE__ */ new Set(["table"]),
16218
+ tfoot: /* @__PURE__ */ new Set(["table"]),
16219
+ col: /* @__PURE__ */ new Set(["colgroup"]),
16220
+ th: /* @__PURE__ */ new Set(["tr"]),
16221
+ thead: /* @__PURE__ */ new Set(["table"]),
16222
+ tr: /* @__PURE__ */ new Set([
16009
16223
  "tbody",
16010
16224
  "thead",
16011
16225
  "tfoot"
16012
16226
  ]),
16013
- dd: new Set(["dl", "div"]),
16014
- dt: new Set(["dl", "div"]),
16015
- figcaption: new Set(["figure"]),
16016
- summary: new Set(["details"]),
16017
- area: new Set(["map"])
16227
+ dd: /* @__PURE__ */ new Set(["dl", "div"]),
16228
+ dt: /* @__PURE__ */ new Set(["dl", "div"]),
16229
+ figcaption: /* @__PURE__ */ new Set(["figure"]),
16230
+ summary: /* @__PURE__ */ new Set(["details"]),
16231
+ area: /* @__PURE__ */ new Set(["map"])
16018
16232
  };
16019
16233
  /** maps element to set of elements that can not be it's children, others can */
16020
16234
  const knownInvalidChildren = {
16021
- p: new Set([
16235
+ p: /* @__PURE__ */ new Set([
16022
16236
  "address",
16023
16237
  "article",
16024
16238
  "aside",
@@ -16053,7 +16267,7 @@ var Vue = (function() {
16053
16267
  "table",
16054
16268
  "ul"
16055
16269
  ]),
16056
- svg: new Set([
16270
+ svg: /* @__PURE__ */ new Set([
16057
16271
  "b",
16058
16272
  "blockquote",
16059
16273
  "br",
@@ -16094,12 +16308,12 @@ var Vue = (function() {
16094
16308
  };
16095
16309
  /** maps element to set of elements that can not be it's parent, others can */
16096
16310
  const knownInvalidParents = {
16097
- a: new Set(["a"]),
16098
- button: new Set(["button"]),
16099
- dd: new Set(["dd", "dt"]),
16100
- dt: new Set(["dd", "dt"]),
16101
- form: new Set(["form"]),
16102
- li: new Set(["li"]),
16311
+ a: /* @__PURE__ */ new Set(["a"]),
16312
+ button: /* @__PURE__ */ new Set(["button"]),
16313
+ dd: /* @__PURE__ */ new Set(["dd", "dt"]),
16314
+ dt: /* @__PURE__ */ new Set(["dd", "dt"]),
16315
+ form: /* @__PURE__ */ new Set(["form"]),
16316
+ li: /* @__PURE__ */ new Set(["li"]),
16103
16317
  h1: headings,
16104
16318
  h2: headings,
16105
16319
  h3: headings,
@@ -16142,10 +16356,12 @@ var Vue = (function() {
16142
16356
  //#region packages/vue-compat/src/index.ts
16143
16357
  const compileCache = Object.create(null);
16144
16358
  function compileToFunction(template, options) {
16145
- if (!isString(template)) if (template.nodeType) template = template.innerHTML;
16146
- else {
16147
- warn(`invalid template option: `, template);
16148
- return NOOP;
16359
+ if (!isString(template)) {
16360
+ if (template.nodeType) template = template.innerHTML;
16361
+ else {
16362
+ warn(`invalid template option: `, template);
16363
+ return NOOP;
16364
+ }
16149
16365
  }
16150
16366
  const key = genCacheKey(template, options);
16151
16367
  const cached = compileCache[key];