@vue/compat 3.6.0-rc.4 → 3.6.0-rc.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/vue-compat.d.ts +691 -681
- package/dist/vue.cjs.js +999 -753
- package/dist/vue.cjs.prod.js +822 -637
- package/dist/vue.esm-browser.js +901 -672
- package/dist/vue.esm-browser.prod.js +7 -7
- package/dist/vue.esm-bundler.js +928 -689
- package/dist/vue.global.js +901 -672
- package/dist/vue.global.prod.js +7 -7
- package/dist/vue.runtime.esm-browser.js +901 -672
- package/dist/vue.runtime.esm-browser.prod.js +7 -7
- package/dist/vue.runtime.esm-bundler.js +928 -689
- package/dist/vue.runtime.global.js +901 -672
- package/dist/vue.runtime.global.prod.js +7 -7
- package/package.json +2 -2
package/dist/vue.cjs.prod.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @vue/compat v3.6.0-rc.
|
|
2
|
+
* @vue/compat v3.6.0-rc.6
|
|
3
3
|
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
4
4
|
* @license MIT
|
|
5
5
|
**/
|
|
@@ -26,7 +26,7 @@ let source_map_js = require("source-map-js");
|
|
|
26
26
|
* \/\*#\_\_PURE\_\_\*\/
|
|
27
27
|
* So that they can be tree-shaken if necessary.
|
|
28
28
|
*/
|
|
29
|
-
|
|
29
|
+
/*@__NO_SIDE_EFFECTS__*/
|
|
30
30
|
function makeMap(str) {
|
|
31
31
|
const map = Object.create(null);
|
|
32
32
|
for (const key of str.split(",")) map[key] = 1;
|
|
@@ -70,8 +70,8 @@ const toRawType = (value) => {
|
|
|
70
70
|
};
|
|
71
71
|
const isPlainObject = (val) => toTypeString(val) === "[object Object]";
|
|
72
72
|
const isIntegerKey = (key) => isString(key) && key !== "NaN" && key[0] !== "-" && "" + parseInt(key, 10) === key;
|
|
73
|
-
const isReservedProp =
|
|
74
|
-
const isBuiltInDirective =
|
|
73
|
+
const isReservedProp = /*@__PURE__*/ makeMap(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted");
|
|
74
|
+
const isBuiltInDirective = /*@__PURE__*/ makeMap("bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo");
|
|
75
75
|
const cacheStringFunction = (fn) => {
|
|
76
76
|
const cache = Object.create(null);
|
|
77
77
|
return ((str) => {
|
|
@@ -152,7 +152,7 @@ function genCacheKey(source, options) {
|
|
|
152
152
|
function canSetValueDirectly(tagName) {
|
|
153
153
|
return tagName !== "PROGRESS" && !tagName.includes("-");
|
|
154
154
|
}
|
|
155
|
-
const isGloballyAllowed =
|
|
155
|
+
const isGloballyAllowed = /*@__PURE__*/ makeMap("Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error,Symbol");
|
|
156
156
|
//#endregion
|
|
157
157
|
//#region packages/shared/src/normalizeProp.ts
|
|
158
158
|
function normalizeStyle(value) {
|
|
@@ -221,22 +221,22 @@ const VOID_TAGS = "area,base,br,col,embed,hr,img,input,link,meta,param,source,tr
|
|
|
221
221
|
* Compiler only.
|
|
222
222
|
* Do NOT use in runtime code paths unless behind `__DEV__` flag.
|
|
223
223
|
*/
|
|
224
|
-
const isHTMLTag =
|
|
224
|
+
const isHTMLTag = /*@__PURE__*/ makeMap(HTML_TAGS);
|
|
225
225
|
/**
|
|
226
226
|
* Compiler only.
|
|
227
227
|
* Do NOT use in runtime code paths unless behind `__DEV__` flag.
|
|
228
228
|
*/
|
|
229
|
-
const isSVGTag =
|
|
229
|
+
const isSVGTag = /*@__PURE__*/ makeMap(SVG_TAGS);
|
|
230
230
|
/**
|
|
231
231
|
* Compiler only.
|
|
232
232
|
* Do NOT use in runtime code paths unless behind `__DEV__` flag.
|
|
233
233
|
*/
|
|
234
|
-
const isMathMLTag =
|
|
234
|
+
const isMathMLTag = /*@__PURE__*/ makeMap(MATH_TAGS);
|
|
235
235
|
/**
|
|
236
236
|
* Compiler only.
|
|
237
237
|
* Do NOT use in runtime code paths unless behind `__DEV__` flag.
|
|
238
238
|
*/
|
|
239
|
-
const isVoidTag =
|
|
239
|
+
const isVoidTag = /*@__PURE__*/ makeMap(VOID_TAGS);
|
|
240
240
|
//#endregion
|
|
241
241
|
//#region packages/shared/src/domAttrConfig.ts
|
|
242
242
|
/**
|
|
@@ -251,11 +251,11 @@ const isVoidTag = /* @__PURE__ */ makeMap(VOID_TAGS);
|
|
|
251
251
|
* - readonly -> readOnly
|
|
252
252
|
*/
|
|
253
253
|
const specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`;
|
|
254
|
-
const isSpecialBooleanAttr =
|
|
254
|
+
const isSpecialBooleanAttr = /*@__PURE__*/ makeMap(specialBooleanAttrs);
|
|
255
255
|
/**
|
|
256
256
|
* The full list is needed during SSR to produce the correct initial markup.
|
|
257
257
|
*/
|
|
258
|
-
const isBooleanAttr =
|
|
258
|
+
const isBooleanAttr = /*@__PURE__*/ makeMap(specialBooleanAttrs + ",async,autofocus,autoplay,controls,default,defer,disabled,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected");
|
|
259
259
|
/**
|
|
260
260
|
* Boolean attributes should be included if the value is truthy or ''.
|
|
261
261
|
* e.g. `<select multiple>` compiles to `{ multiple: '' }`
|
|
@@ -269,15 +269,15 @@ function includeBooleanAttr(value) {
|
|
|
269
269
|
* Don't also forget to allow `data-*` and `aria-*`!
|
|
270
270
|
* Generated from https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes
|
|
271
271
|
*/
|
|
272
|
-
const isKnownHtmlAttr =
|
|
272
|
+
const isKnownHtmlAttr = /*@__PURE__*/ makeMap("accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,inert,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap");
|
|
273
273
|
/**
|
|
274
274
|
* Generated from https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute
|
|
275
275
|
*/
|
|
276
|
-
const isKnownSvgAttr =
|
|
276
|
+
const isKnownSvgAttr = /*@__PURE__*/ makeMap("xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,clip,clipPathUnits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,contentScriptType,contentStyleType,crossorigin,cursor,cx,cy,d,decelerate,descent,diffuseConstant,direction,display,divisor,dominant-baseline,dur,dx,dy,edgeMode,elevation,enable-background,end,exponent,fill,fill-opacity,fill-rule,filter,filterRes,filterUnits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,format,from,fr,fx,fy,g1,g2,glyph-name,glyph-orientation-horizontal,glyph-orientation-vertical,glyphRef,gradientTransform,gradientUnits,hanging,height,href,hreflang,horiz-adv-x,horiz-origin-x,id,ideographic,image-rendering,in,in2,intercept,k,k1,k2,k3,k4,kernelMatrix,kernelUnitLength,kerning,keyPoints,keySplines,keyTimes,lang,lengthAdjust,letter-spacing,lighting-color,limitingConeAngle,local,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mask,maskContentUnits,maskUnits,mathematical,max,media,method,min,mode,name,numOctaves,offset,opacity,operator,order,orient,orientation,origin,overflow,overline-position,overline-thickness,panose-1,paint-order,path,pathLength,patternContentUnits,patternTransform,patternUnits,ping,pointer-events,points,pointsAtX,pointsAtY,pointsAtZ,preserveAlpha,preserveAspectRatio,primitiveUnits,r,radius,referrerPolicy,refX,refY,rel,rendering-intent,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,result,rotate,rx,ry,scale,seed,shape-rendering,slope,spacing,specularConstant,specularExponent,speed,spreadMethod,startOffset,stdDeviation,stemh,stemv,stitchTiles,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,string,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,style,surfaceScale,systemLanguage,tabindex,tableValues,target,targetX,targetY,text-anchor,text-decoration,text-rendering,textLength,to,transform,transform-origin,type,u1,u2,underline-position,underline-thickness,unicode,unicode-bidi,unicode-range,units-per-em,v-alphabetic,v-hanging,v-ideographic,v-mathematical,values,vector-effect,version,vert-adv-y,vert-origin-x,vert-origin-y,viewBox,viewTarget,visibility,width,widths,word-spacing,writing-mode,x,x-height,x1,x2,xChannelSelector,xlink:actuate,xlink:arcrole,xlink:href,xlink:role,xlink:show,xlink:title,xlink:type,xmlns:xlink,xml:base,xml:lang,xml:space,y,y1,y2,yChannelSelector,z,zoomAndPan");
|
|
277
277
|
/**
|
|
278
278
|
* Generated from https://developer.mozilla.org/en-US/docs/Web/MathML/Attribute
|
|
279
279
|
*/
|
|
280
|
-
const isKnownMathMLAttr =
|
|
280
|
+
const isKnownMathMLAttr = /*@__PURE__*/ makeMap("accent,accentunder,actiontype,align,alignmentscope,altimg,altimg-height,altimg-valign,altimg-width,alttext,bevelled,close,columnsalign,columnlines,columnspan,denomalign,depth,dir,display,displaystyle,encoding,equalcolumns,equalrows,fence,fontstyle,fontweight,form,frame,framespacing,groupalign,height,href,id,indentalign,indentalignfirst,indentalignlast,indentshift,indentshiftfirst,indentshiftlast,indextype,justify,largetop,largeop,lquote,lspace,mathbackground,mathcolor,mathsize,mathvariant,maxsize,minlabelspacing,mode,other,overflow,position,rowalign,rowlines,rowspan,rquote,rspace,scriptlevel,scriptminsize,scriptsizemultiplier,selection,separator,separators,shift,side,src,stackalign,stretchy,subscriptshift,superscriptshift,symmetric,voffset,width,widths,xlink:href,xlink:show,xlink:type,xmlns");
|
|
281
281
|
function shouldSetAsAttr(tagName, key) {
|
|
282
282
|
if (key === "spellcheck" || key === "draggable" || key === "translate" || key === "autocorrect") return true;
|
|
283
283
|
if (key === "form") return true;
|
|
@@ -331,6 +331,21 @@ function looseCompareArrays(a, b) {
|
|
|
331
331
|
for (let i = 0; equal && i < a.length; i++) equal = looseEqual(a[i], b[i]);
|
|
332
332
|
return equal;
|
|
333
333
|
}
|
|
334
|
+
function looseCompareCollections(a, b) {
|
|
335
|
+
if (a.size !== b.size) return false;
|
|
336
|
+
const candidates = Array.from(b);
|
|
337
|
+
const matched = new Uint8Array(candidates.length);
|
|
338
|
+
for (const item of a) {
|
|
339
|
+
let index = -1;
|
|
340
|
+
for (let i = 0; i < candidates.length; i++) if (!matched[i] && looseEqual(item, candidates[i])) {
|
|
341
|
+
index = i;
|
|
342
|
+
break;
|
|
343
|
+
}
|
|
344
|
+
if (index < 0) return false;
|
|
345
|
+
matched[index] = 1;
|
|
346
|
+
}
|
|
347
|
+
return true;
|
|
348
|
+
}
|
|
334
349
|
function looseEqual(a, b) {
|
|
335
350
|
if (a === b) return true;
|
|
336
351
|
let aValidType = isDate(a);
|
|
@@ -346,6 +361,12 @@ function looseEqual(a, b) {
|
|
|
346
361
|
bValidType = isObject(b);
|
|
347
362
|
if (aValidType || bValidType) {
|
|
348
363
|
if (!aValidType || !bValidType) return false;
|
|
364
|
+
aValidType = isMap(a);
|
|
365
|
+
bValidType = isMap(b);
|
|
366
|
+
if (aValidType || bValidType) return aValidType && bValidType ? looseCompareCollections(a, b) : false;
|
|
367
|
+
aValidType = isSet(a);
|
|
368
|
+
bValidType = isSet(b);
|
|
369
|
+
if (aValidType || bValidType) return aValidType && bValidType ? looseCompareCollections(a, b) : false;
|
|
349
370
|
if (Object.keys(a).length !== Object.keys(b).length) return false;
|
|
350
371
|
for (const key in a) {
|
|
351
372
|
const aHasKey = a.hasOwnProperty(key);
|
|
@@ -725,9 +746,7 @@ function trigger(target, type, key, newValue, oldValue, oldTarget) {
|
|
|
725
746
|
if (isMap(target)) run(depsMap.get(MAP_KEY_ITERATE_KEY));
|
|
726
747
|
}
|
|
727
748
|
break;
|
|
728
|
-
case "set":
|
|
729
|
-
if (isMap(target)) run(depsMap.get(ITERATE_KEY));
|
|
730
|
-
break;
|
|
749
|
+
case "set": if (isMap(target)) run(depsMap.get(ITERATE_KEY));
|
|
731
750
|
}
|
|
732
751
|
}
|
|
733
752
|
}
|
|
@@ -924,8 +943,8 @@ function noTracking(self, method, args = []) {
|
|
|
924
943
|
}
|
|
925
944
|
//#endregion
|
|
926
945
|
//#region packages/reactivity/src/baseHandlers.ts
|
|
927
|
-
const isNonTrackableKeys =
|
|
928
|
-
const builtInSymbols = new Set(
|
|
946
|
+
const isNonTrackableKeys = /*@__PURE__*/ makeMap(`__proto__,__v_isRef,__isVue`);
|
|
947
|
+
const builtInSymbols = new Set(/*@__PURE__*/ Object.getOwnPropertyNames(Symbol).filter((key) => key !== "arguments" && key !== "caller").map((key) => Symbol[key]).filter(isSymbol));
|
|
929
948
|
function hasOwnProperty(key) {
|
|
930
949
|
if (!isSymbol(key)) key = String(key);
|
|
931
950
|
const obj = /* @__PURE__ */ toRaw(this);
|
|
@@ -980,10 +999,12 @@ var MutableReactiveHandler = class extends BaseReactiveHandler {
|
|
|
980
999
|
oldValue = /* @__PURE__ */ toRaw(oldValue);
|
|
981
1000
|
value = /* @__PURE__ */ toRaw(value);
|
|
982
1001
|
}
|
|
983
|
-
if (!isArrayWithIntegerKey && /* @__PURE__ */ isRef(oldValue) && !/* @__PURE__ */ isRef(value))
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
1002
|
+
if (!isArrayWithIntegerKey && /* @__PURE__ */ isRef(oldValue) && !/* @__PURE__ */ isRef(value)) {
|
|
1003
|
+
if (isOldValueReadonly) return true;
|
|
1004
|
+
else {
|
|
1005
|
+
oldValue.value = value;
|
|
1006
|
+
return true;
|
|
1007
|
+
}
|
|
987
1008
|
}
|
|
988
1009
|
}
|
|
989
1010
|
const hadKey = isArrayWithIntegerKey ? Number(key) < target.length : hasOwn(target, key);
|
|
@@ -1022,10 +1043,10 @@ var ReadonlyReactiveHandler = class extends BaseReactiveHandler {
|
|
|
1022
1043
|
return true;
|
|
1023
1044
|
}
|
|
1024
1045
|
};
|
|
1025
|
-
const mutableHandlers =
|
|
1026
|
-
const readonlyHandlers =
|
|
1027
|
-
const shallowReactiveHandlers =
|
|
1028
|
-
const shallowReadonlyHandlers =
|
|
1046
|
+
const mutableHandlers = /*@__PURE__*/ new MutableReactiveHandler();
|
|
1047
|
+
const readonlyHandlers = /*@__PURE__*/ new ReadonlyReactiveHandler();
|
|
1048
|
+
const shallowReactiveHandlers = /*@__PURE__*/ new MutableReactiveHandler(true);
|
|
1049
|
+
const shallowReadonlyHandlers = /*@__PURE__*/ new ReadonlyReactiveHandler(true);
|
|
1029
1050
|
//#endregion
|
|
1030
1051
|
//#region packages/reactivity/src/collectionHandlers.ts
|
|
1031
1052
|
const toShallow = (value) => value;
|
|
@@ -1172,10 +1193,10 @@ function createInstrumentationGetter(isReadonly, shallow) {
|
|
|
1172
1193
|
return Reflect.get(hasOwn(instrumentations, key) && key in target ? instrumentations : target, key, receiver);
|
|
1173
1194
|
};
|
|
1174
1195
|
}
|
|
1175
|
-
const mutableCollectionHandlers = { get:
|
|
1176
|
-
const shallowCollectionHandlers = { get:
|
|
1177
|
-
const readonlyCollectionHandlers = { get:
|
|
1178
|
-
const shallowReadonlyCollectionHandlers = { get:
|
|
1196
|
+
const mutableCollectionHandlers = { get: /*@__PURE__*/ createInstrumentationGetter(false, false) };
|
|
1197
|
+
const shallowCollectionHandlers = { get: /*@__PURE__*/ createInstrumentationGetter(false, true) };
|
|
1198
|
+
const readonlyCollectionHandlers = { get: /*@__PURE__*/ createInstrumentationGetter(true, false) };
|
|
1199
|
+
const shallowReadonlyCollectionHandlers = { get: /*@__PURE__*/ createInstrumentationGetter(true, true) };
|
|
1179
1200
|
//#endregion
|
|
1180
1201
|
//#region packages/reactivity/src/reactive.ts
|
|
1181
1202
|
const reactiveMap = /* @__PURE__ */ new WeakMap();
|
|
@@ -1193,7 +1214,7 @@ function targetTypeMap(rawType) {
|
|
|
1193
1214
|
default: return 0;
|
|
1194
1215
|
}
|
|
1195
1216
|
}
|
|
1196
|
-
|
|
1217
|
+
/*@__NO_SIDE_EFFECTS__*/
|
|
1197
1218
|
function reactive(target) {
|
|
1198
1219
|
if (/* @__PURE__ */ isReadonly(target)) return target;
|
|
1199
1220
|
return createReactiveObject(target, false, mutableHandlers, mutableCollectionHandlers, reactiveMap);
|
|
@@ -1228,7 +1249,7 @@ function reactive(target) {
|
|
|
1228
1249
|
* @param target - The source object.
|
|
1229
1250
|
* @see {@link https://vuejs.org/api/reactivity-advanced.html#shallowreactive}
|
|
1230
1251
|
*/
|
|
1231
|
-
|
|
1252
|
+
/*@__NO_SIDE_EFFECTS__*/
|
|
1232
1253
|
function shallowReactive(target) {
|
|
1233
1254
|
return createReactiveObject(target, false, shallowReactiveHandlers, shallowCollectionHandlers, shallowReactiveMap);
|
|
1234
1255
|
}
|
|
@@ -1261,7 +1282,7 @@ function shallowReactive(target) {
|
|
|
1261
1282
|
* @param target - The source object.
|
|
1262
1283
|
* @see {@link https://vuejs.org/api/reactivity-core.html#readonly}
|
|
1263
1284
|
*/
|
|
1264
|
-
|
|
1285
|
+
/*@__NO_SIDE_EFFECTS__*/
|
|
1265
1286
|
function readonly(target) {
|
|
1266
1287
|
return createReactiveObject(target, true, readonlyHandlers, readonlyCollectionHandlers, readonlyMap);
|
|
1267
1288
|
}
|
|
@@ -1295,7 +1316,7 @@ function readonly(target) {
|
|
|
1295
1316
|
* @param target - The source object.
|
|
1296
1317
|
* @see {@link https://vuejs.org/api/reactivity-advanced.html#shallowreadonly}
|
|
1297
1318
|
*/
|
|
1298
|
-
|
|
1319
|
+
/*@__NO_SIDE_EFFECTS__*/
|
|
1299
1320
|
function shallowReadonly(target) {
|
|
1300
1321
|
return createReactiveObject(target, true, shallowReadonlyHandlers, shallowReadonlyCollectionHandlers, shallowReadonlyMap);
|
|
1301
1322
|
}
|
|
@@ -1329,7 +1350,7 @@ function createReactiveObject(target, isReadonly, baseHandlers, collectionHandle
|
|
|
1329
1350
|
* @param value - The value to check.
|
|
1330
1351
|
* @see {@link https://vuejs.org/api/reactivity-utilities.html#isreactive}
|
|
1331
1352
|
*/
|
|
1332
|
-
|
|
1353
|
+
/*@__NO_SIDE_EFFECTS__*/
|
|
1333
1354
|
function isReactive(value) {
|
|
1334
1355
|
if (/* @__PURE__ */ isReadonly(value)) return /* @__PURE__ */ isReactive(value["__v_raw"]);
|
|
1335
1356
|
return !!(value && value["__v_isReactive"]);
|
|
@@ -1345,11 +1366,11 @@ function isReactive(value) {
|
|
|
1345
1366
|
* @param value - The value to check.
|
|
1346
1367
|
* @see {@link https://vuejs.org/api/reactivity-utilities.html#isreadonly}
|
|
1347
1368
|
*/
|
|
1348
|
-
|
|
1369
|
+
/*@__NO_SIDE_EFFECTS__*/
|
|
1349
1370
|
function isReadonly(value) {
|
|
1350
1371
|
return !!(value && value["__v_isReadonly"]);
|
|
1351
1372
|
}
|
|
1352
|
-
|
|
1373
|
+
/*@__NO_SIDE_EFFECTS__*/
|
|
1353
1374
|
function isShallow(value) {
|
|
1354
1375
|
return !!(value && value["__v_isShallow"]);
|
|
1355
1376
|
}
|
|
@@ -1360,7 +1381,7 @@ function isShallow(value) {
|
|
|
1360
1381
|
* @param value - The value to check.
|
|
1361
1382
|
* @see {@link https://vuejs.org/api/reactivity-utilities.html#isproxy}
|
|
1362
1383
|
*/
|
|
1363
|
-
|
|
1384
|
+
/*@__NO_SIDE_EFFECTS__*/
|
|
1364
1385
|
function isProxy(value) {
|
|
1365
1386
|
return value ? !!value["__v_raw"] : false;
|
|
1366
1387
|
}
|
|
@@ -1387,7 +1408,7 @@ function isProxy(value) {
|
|
|
1387
1408
|
* @param observed - The object for which the "raw" value is requested.
|
|
1388
1409
|
* @see {@link https://vuejs.org/api/reactivity-advanced.html#toraw}
|
|
1389
1410
|
*/
|
|
1390
|
-
|
|
1411
|
+
/*@__NO_SIDE_EFFECTS__*/
|
|
1391
1412
|
function toRaw(observed) {
|
|
1392
1413
|
const raw = observed && observed["__v_raw"];
|
|
1393
1414
|
return raw ? /* @__PURE__ */ toRaw(raw) : observed;
|
|
@@ -1436,15 +1457,15 @@ const toReactive = (value) => isObject(value) ? /* @__PURE__ */ reactive(value)
|
|
|
1436
1457
|
const toReadonly = (value) => isObject(value) ? /* @__PURE__ */ readonly(value) : value;
|
|
1437
1458
|
//#endregion
|
|
1438
1459
|
//#region packages/reactivity/src/ref.ts
|
|
1439
|
-
|
|
1460
|
+
/*@__NO_SIDE_EFFECTS__*/
|
|
1440
1461
|
function isRef(r) {
|
|
1441
1462
|
return r ? r["__v_isRef"] === true : false;
|
|
1442
1463
|
}
|
|
1443
|
-
|
|
1464
|
+
/*@__NO_SIDE_EFFECTS__*/
|
|
1444
1465
|
function ref(value) {
|
|
1445
1466
|
return createRef(value, toReactive);
|
|
1446
1467
|
}
|
|
1447
|
-
|
|
1468
|
+
/*@__NO_SIDE_EFFECTS__*/
|
|
1448
1469
|
function shallowRef(value) {
|
|
1449
1470
|
return createRef(value);
|
|
1450
1471
|
}
|
|
@@ -1632,7 +1653,7 @@ function customRef(factory) {
|
|
|
1632
1653
|
* @param object - Reactive object to be made into an object of linked refs.
|
|
1633
1654
|
* @see {@link https://vuejs.org/api/reactivity-utilities.html#torefs}
|
|
1634
1655
|
*/
|
|
1635
|
-
|
|
1656
|
+
/*@__NO_SIDE_EFFECTS__*/
|
|
1636
1657
|
function toRefs(object) {
|
|
1637
1658
|
const ret = isArray(object) ? new Array(object.length) : {};
|
|
1638
1659
|
for (const key in object) ret[key] = propertyToRef(object, key);
|
|
@@ -1683,7 +1704,7 @@ var GetterRefImpl = class {
|
|
|
1683
1704
|
return this._value = this._getter();
|
|
1684
1705
|
}
|
|
1685
1706
|
};
|
|
1686
|
-
|
|
1707
|
+
/*@__NO_SIDE_EFFECTS__*/
|
|
1687
1708
|
function toRef(source, key, defaultValue) {
|
|
1688
1709
|
if (/* @__PURE__ */ isRef(source)) return source;
|
|
1689
1710
|
else if (isFunction(source)) return new GetterRefImpl(source);
|
|
@@ -1749,10 +1770,12 @@ var ReactiveEffect = class {
|
|
|
1749
1770
|
get dirty() {
|
|
1750
1771
|
const flags = this.flags;
|
|
1751
1772
|
if (flags & 16) return true;
|
|
1752
|
-
if (flags & 32)
|
|
1753
|
-
this.
|
|
1754
|
-
|
|
1755
|
-
|
|
1773
|
+
if (flags & 32) {
|
|
1774
|
+
if (checkDirty(this.deps, this)) {
|
|
1775
|
+
this.flags = flags | 16;
|
|
1776
|
+
return true;
|
|
1777
|
+
} else this.flags = flags & -33;
|
|
1778
|
+
}
|
|
1756
1779
|
return false;
|
|
1757
1780
|
}
|
|
1758
1781
|
};
|
|
@@ -1929,10 +1952,12 @@ var ComputedRefImpl = class {
|
|
|
1929
1952
|
get _dirty() {
|
|
1930
1953
|
const flags = this.flags;
|
|
1931
1954
|
if (flags & 16) return true;
|
|
1932
|
-
if (flags & 32)
|
|
1933
|
-
this.
|
|
1934
|
-
|
|
1935
|
-
|
|
1955
|
+
if (flags & 32) {
|
|
1956
|
+
if (checkDirty(this.deps, this)) {
|
|
1957
|
+
this.flags = flags | 16;
|
|
1958
|
+
return true;
|
|
1959
|
+
} else this.flags = flags & -33;
|
|
1960
|
+
}
|
|
1936
1961
|
return false;
|
|
1937
1962
|
}
|
|
1938
1963
|
/**
|
|
@@ -1985,7 +2010,7 @@ var ComputedRefImpl = class {
|
|
|
1985
2010
|
}
|
|
1986
2011
|
}
|
|
1987
2012
|
};
|
|
1988
|
-
|
|
2013
|
+
/*@__NO_SIDE_EFFECTS__*/
|
|
1989
2014
|
function computed$1(getterOrOptions, debugOptions, isSSR = false) {
|
|
1990
2015
|
let getter;
|
|
1991
2016
|
let setter;
|
|
@@ -2057,25 +2082,26 @@ var WatcherEffect = class extends ReactiveEffect {
|
|
|
2057
2082
|
else if (/* @__PURE__ */ isReactive(s)) return reactiveGetter(s, deep);
|
|
2058
2083
|
else if (isFunction(s)) return call ? call(s, 2) : s();
|
|
2059
2084
|
});
|
|
2060
|
-
} else if (isFunction(source))
|
|
2061
|
-
|
|
2062
|
-
|
|
2063
|
-
|
|
2085
|
+
} else if (isFunction(source)) {
|
|
2086
|
+
if (cb) getter = call ? () => call(source, 2) : source;
|
|
2087
|
+
else getter = () => {
|
|
2088
|
+
if (this.cleanupsLength) {
|
|
2089
|
+
const prevSub = setActiveSub();
|
|
2090
|
+
try {
|
|
2091
|
+
cleanup(this);
|
|
2092
|
+
} finally {
|
|
2093
|
+
setActiveSub(prevSub);
|
|
2094
|
+
}
|
|
2095
|
+
}
|
|
2096
|
+
const currentEffect = activeWatcher;
|
|
2097
|
+
activeWatcher = this;
|
|
2064
2098
|
try {
|
|
2065
|
-
|
|
2099
|
+
return call ? call(source, 3, [this.boundCleanup]) : source(this.boundCleanup);
|
|
2066
2100
|
} finally {
|
|
2067
|
-
|
|
2101
|
+
activeWatcher = currentEffect;
|
|
2068
2102
|
}
|
|
2069
|
-
}
|
|
2070
|
-
|
|
2071
|
-
activeWatcher = this;
|
|
2072
|
-
try {
|
|
2073
|
-
return call ? call(source, 3, [this.boundCleanup]) : source(this.boundCleanup);
|
|
2074
|
-
} finally {
|
|
2075
|
-
activeWatcher = currentEffect;
|
|
2076
|
-
}
|
|
2077
|
-
};
|
|
2078
|
-
else getter = NOOP;
|
|
2103
|
+
};
|
|
2104
|
+
} else getter = NOOP;
|
|
2079
2105
|
if (cb && deep) {
|
|
2080
2106
|
const baseGetter = getter;
|
|
2081
2107
|
const depth = deep === true ? Infinity : deep;
|
|
@@ -2288,7 +2314,7 @@ let currentFlushPromise = null;
|
|
|
2288
2314
|
let jobsLength = 0;
|
|
2289
2315
|
let flushIndex = 0;
|
|
2290
2316
|
let postFlushIndex = 0;
|
|
2291
|
-
const resolvedPromise =
|
|
2317
|
+
const resolvedPromise = /*@__PURE__*/ Promise.resolve();
|
|
2292
2318
|
function nextTick(fn) {
|
|
2293
2319
|
const p = currentFlushPromise || resolvedPromise;
|
|
2294
2320
|
return fn ? p.then(this ? fn.bind(this) : fn) : p;
|
|
@@ -2326,6 +2352,7 @@ const doFlushJobs = () => {
|
|
|
2326
2352
|
flushJobs();
|
|
2327
2353
|
} catch (e) {
|
|
2328
2354
|
currentFlushPromise = null;
|
|
2355
|
+
if (jobsLength || postJobs.length) queueFlush();
|
|
2329
2356
|
throw e;
|
|
2330
2357
|
}
|
|
2331
2358
|
};
|
|
@@ -2333,9 +2360,10 @@ function queueFlush() {
|
|
|
2333
2360
|
if (!currentFlushPromise) currentFlushPromise = resolvedPromise.then(doFlushJobs);
|
|
2334
2361
|
}
|
|
2335
2362
|
function queuePostFlushCb(jobs, id = Infinity) {
|
|
2336
|
-
if (!isArray(jobs))
|
|
2337
|
-
|
|
2338
|
-
|
|
2363
|
+
if (!isArray(jobs)) {
|
|
2364
|
+
if (activePostJobs && id === -1) activePostJobs.splice(postFlushIndex, 0, jobs);
|
|
2365
|
+
else queueJobWorker(jobs, id, postJobs, postJobs.length, 0);
|
|
2366
|
+
} else for (let i = 0; i < jobs.length; i++) queueJobWorker(jobs[i], id, postJobs, postJobs.length, 0);
|
|
2339
2367
|
queueFlush();
|
|
2340
2368
|
}
|
|
2341
2369
|
function flushPreFlushCbs(instance, seen) {
|
|
@@ -2347,8 +2375,11 @@ function flushPreFlushCbs(instance, seen) {
|
|
|
2347
2375
|
i--;
|
|
2348
2376
|
jobsLength--;
|
|
2349
2377
|
if (cb.flags & 2) cb.flags &= -2;
|
|
2350
|
-
|
|
2351
|
-
|
|
2378
|
+
try {
|
|
2379
|
+
cb();
|
|
2380
|
+
} finally {
|
|
2381
|
+
if (!(cb.flags & 2)) cb.flags &= -2;
|
|
2382
|
+
}
|
|
2352
2383
|
}
|
|
2353
2384
|
}
|
|
2354
2385
|
function flushPostFlushCbs(seen) {
|
|
@@ -2360,17 +2391,21 @@ function flushPostFlushCbs(seen) {
|
|
|
2360
2391
|
}
|
|
2361
2392
|
activePostJobs = postJobs;
|
|
2362
2393
|
postJobs = [];
|
|
2363
|
-
|
|
2364
|
-
|
|
2365
|
-
|
|
2366
|
-
|
|
2367
|
-
cb
|
|
2368
|
-
|
|
2369
|
-
|
|
2394
|
+
try {
|
|
2395
|
+
while (postFlushIndex < activePostJobs.length) {
|
|
2396
|
+
const cb = activePostJobs[postFlushIndex++];
|
|
2397
|
+
if (cb.flags & 2) cb.flags &= -2;
|
|
2398
|
+
if (!(cb.flags & 4)) try {
|
|
2399
|
+
cb();
|
|
2400
|
+
} finally {
|
|
2401
|
+
if (!(cb.flags & 2)) cb.flags &= -2;
|
|
2402
|
+
}
|
|
2370
2403
|
}
|
|
2404
|
+
} finally {
|
|
2405
|
+
while (postFlushIndex < activePostJobs.length) activePostJobs[postFlushIndex++].flags &= -2;
|
|
2406
|
+
activePostJobs = null;
|
|
2407
|
+
postFlushIndex = 0;
|
|
2371
2408
|
}
|
|
2372
|
-
activePostJobs = null;
|
|
2373
|
-
postFlushIndex = 0;
|
|
2374
2409
|
}
|
|
2375
2410
|
}
|
|
2376
2411
|
let isFlushing = false;
|
|
@@ -2380,9 +2415,12 @@ let isFlushing = false;
|
|
|
2380
2415
|
function flushOnAppMount(instance) {
|
|
2381
2416
|
if (!isFlushing) {
|
|
2382
2417
|
isFlushing = true;
|
|
2383
|
-
|
|
2384
|
-
|
|
2385
|
-
|
|
2418
|
+
try {
|
|
2419
|
+
flushPreFlushCbs(instance);
|
|
2420
|
+
flushPostFlushCbs();
|
|
2421
|
+
} finally {
|
|
2422
|
+
isFlushing = false;
|
|
2423
|
+
}
|
|
2386
2424
|
}
|
|
2387
2425
|
}
|
|
2388
2426
|
function flushJobs(seen) {
|
|
@@ -2410,8 +2448,8 @@ function flushJobs(seen) {
|
|
|
2410
2448
|
jobsLength = 0;
|
|
2411
2449
|
jobs.length = 0;
|
|
2412
2450
|
flushPostFlushCbs(seen);
|
|
2413
|
-
currentFlushPromise = null;
|
|
2414
2451
|
if (jobsLength || postJobs.length) flushJobs(seen);
|
|
2452
|
+
else currentFlushPromise = null;
|
|
2415
2453
|
}
|
|
2416
2454
|
}
|
|
2417
2455
|
//#endregion
|
|
@@ -2500,7 +2538,7 @@ function checkCompatEnabled$1(key, instance, ...args) {
|
|
|
2500
2538
|
}
|
|
2501
2539
|
//#endregion
|
|
2502
2540
|
//#region packages/runtime-core/src/compat/instanceEventEmitter.ts
|
|
2503
|
-
const eventRegistryMap =
|
|
2541
|
+
const eventRegistryMap = /*@__PURE__*/ new WeakMap();
|
|
2504
2542
|
function getRegistry(instance) {
|
|
2505
2543
|
let events = eventRegistryMap.get(instance);
|
|
2506
2544
|
if (!events) eventRegistryMap.set(instance, events = Object.create(null));
|
|
@@ -2633,19 +2671,21 @@ const legacyDirectiveHookMap = {
|
|
|
2633
2671
|
};
|
|
2634
2672
|
function mapCompatDirectiveHook(name, dir, instance) {
|
|
2635
2673
|
const mappedName = legacyDirectiveHookMap[name];
|
|
2636
|
-
if (mappedName)
|
|
2637
|
-
|
|
2638
|
-
|
|
2639
|
-
|
|
2640
|
-
|
|
2641
|
-
|
|
2642
|
-
|
|
2643
|
-
|
|
2644
|
-
|
|
2645
|
-
|
|
2646
|
-
|
|
2647
|
-
|
|
2648
|
-
|
|
2674
|
+
if (mappedName) {
|
|
2675
|
+
if (isArray(mappedName)) {
|
|
2676
|
+
const hook = [];
|
|
2677
|
+
mappedName.forEach((mapped) => {
|
|
2678
|
+
const mappedHook = dir[mapped];
|
|
2679
|
+
if (mappedHook) {
|
|
2680
|
+
softAssertCompatEnabled("CUSTOM_DIR", instance, mapped, name);
|
|
2681
|
+
hook.push(mappedHook);
|
|
2682
|
+
}
|
|
2683
|
+
});
|
|
2684
|
+
return hook.length ? hook : void 0;
|
|
2685
|
+
} else {
|
|
2686
|
+
if (dir[mappedName]) softAssertCompatEnabled("CUSTOM_DIR", instance, mappedName, name);
|
|
2687
|
+
return dir[mappedName];
|
|
2688
|
+
}
|
|
2649
2689
|
}
|
|
2650
2690
|
}
|
|
2651
2691
|
//#endregion
|
|
@@ -2837,9 +2877,10 @@ const isTargetSVG = (target) => typeof SVGElement !== "undefined" && target inst
|
|
|
2837
2877
|
const isTargetMathML = (target) => typeof MathMLElement === "function" && target instanceof MathMLElement;
|
|
2838
2878
|
const resolveTarget = (props, select) => {
|
|
2839
2879
|
const targetSelector = props && props.to;
|
|
2840
|
-
if (isString(targetSelector))
|
|
2841
|
-
|
|
2842
|
-
|
|
2880
|
+
if (isString(targetSelector)) {
|
|
2881
|
+
if (!select) return null;
|
|
2882
|
+
else return select(targetSelector);
|
|
2883
|
+
} else return targetSelector;
|
|
2843
2884
|
};
|
|
2844
2885
|
const TeleportImpl = {
|
|
2845
2886
|
name: "Teleport",
|
|
@@ -2870,7 +2911,8 @@ const TeleportImpl = {
|
|
|
2870
2911
|
if (pendingMounts.get(vnode) !== mountJob) return;
|
|
2871
2912
|
pendingMounts.delete(vnode);
|
|
2872
2913
|
if (isTeleportDisabled(vnode.props)) {
|
|
2873
|
-
|
|
2914
|
+
const mountContainer = parentNode(vnode.el) || container;
|
|
2915
|
+
mount(vnode, mountContainer, vnode.anchor);
|
|
2874
2916
|
updateCssVars(vnode, true);
|
|
2875
2917
|
}
|
|
2876
2918
|
mountToTarget(vnode);
|
|
@@ -2979,15 +3021,17 @@ function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScope
|
|
|
2979
3021
|
const disabled = isTeleportDisabled(vnode.props);
|
|
2980
3022
|
if (target) {
|
|
2981
3023
|
const targetNode = target._lpa || target.firstChild;
|
|
2982
|
-
if (vnode.shapeFlag & 16)
|
|
2983
|
-
|
|
2984
|
-
|
|
2985
|
-
|
|
2986
|
-
|
|
2987
|
-
|
|
2988
|
-
|
|
2989
|
-
|
|
2990
|
-
|
|
3024
|
+
if (vnode.shapeFlag & 16) {
|
|
3025
|
+
if (disabled) {
|
|
3026
|
+
hydrateDisabledTeleport(node, vnode);
|
|
3027
|
+
hydrateAnchor(target, targetNode);
|
|
3028
|
+
if (!vnode.targetAnchor) prepareAnchor(target, vnode, createText, insert, parentNode(node) === target ? node : null);
|
|
3029
|
+
} else {
|
|
3030
|
+
vnode.anchor = nextSibling(node);
|
|
3031
|
+
hydrateAnchor(target, targetNode);
|
|
3032
|
+
if (!vnode.targetAnchor) prepareAnchor(target, vnode, createText, insert);
|
|
3033
|
+
hydrateChildren(targetNode && nextSibling(targetNode), vnode, target, parentComponent, parentSuspense, slotScopeIds, optimized);
|
|
3034
|
+
}
|
|
2991
3035
|
}
|
|
2992
3036
|
updateCssVars(vnode, disabled);
|
|
2993
3037
|
} else if (disabled) {
|
|
@@ -3148,8 +3192,10 @@ function baseResolveTransitionHooks(context, props, state, instance) {
|
|
|
3148
3192
|
persisted,
|
|
3149
3193
|
beforeEnter(el) {
|
|
3150
3194
|
let hook = onBeforeEnter;
|
|
3151
|
-
if (!state.isMounted)
|
|
3152
|
-
|
|
3195
|
+
if (!state.isMounted) {
|
|
3196
|
+
if (appear) hook = onBeforeAppear || onBeforeEnter;
|
|
3197
|
+
else return;
|
|
3198
|
+
}
|
|
3153
3199
|
if (el[leaveCbKey]) el[leaveCbKey](true);
|
|
3154
3200
|
earlyRemove();
|
|
3155
3201
|
callHook(hook, [el]);
|
|
@@ -3159,11 +3205,13 @@ function baseResolveTransitionHooks(context, props, state, instance) {
|
|
|
3159
3205
|
let hook = onEnter;
|
|
3160
3206
|
let afterHook = onAfterEnter;
|
|
3161
3207
|
let cancelHook = onEnterCancelled;
|
|
3162
|
-
if (!state.isMounted)
|
|
3163
|
-
|
|
3164
|
-
|
|
3165
|
-
|
|
3166
|
-
|
|
3208
|
+
if (!state.isMounted) {
|
|
3209
|
+
if (appear) {
|
|
3210
|
+
hook = onAppear || onEnter;
|
|
3211
|
+
afterHook = onAfterAppear || onAfterEnter;
|
|
3212
|
+
cancelHook = onAppearCancelled || onEnterCancelled;
|
|
3213
|
+
} else return;
|
|
3214
|
+
}
|
|
3167
3215
|
let called = false;
|
|
3168
3216
|
el[enterCbKey$1] = (cancelled) => {
|
|
3169
3217
|
if (called) return;
|
|
@@ -3323,9 +3371,9 @@ function getTransitionRawChildren(children, keepComment = false, parentKey) {
|
|
|
3323
3371
|
}
|
|
3324
3372
|
//#endregion
|
|
3325
3373
|
//#region packages/runtime-core/src/apiDefineComponent.ts
|
|
3326
|
-
|
|
3374
|
+
/*@__NO_SIDE_EFFECTS__*/
|
|
3327
3375
|
function defineComponent(options, extraOptions) {
|
|
3328
|
-
return isFunction(options) ? extend({ name: options.name }, extraOptions, { setup: options }) : options;
|
|
3376
|
+
return isFunction(options) ? /*@__PURE__*/ (() => extend({ name: options.name }, extraOptions, { setup: options }))() : options;
|
|
3329
3377
|
}
|
|
3330
3378
|
//#endregion
|
|
3331
3379
|
//#region packages/runtime-core/src/helpers/useId.ts
|
|
@@ -3412,15 +3460,16 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
|
|
|
3412
3460
|
if (rawRef.f) {
|
|
3413
3461
|
const existing = _isString ? canSetSetupRef(ref) ? setupState[ref] : refs[ref] : canSetRef(ref) || !rawRef.k ? ref.value : refs[rawRef.k];
|
|
3414
3462
|
if (isUnmount) isArray(existing) && remove(existing, refValue);
|
|
3415
|
-
else if (!isArray(existing))
|
|
3416
|
-
|
|
3417
|
-
|
|
3418
|
-
|
|
3419
|
-
|
|
3420
|
-
|
|
3421
|
-
|
|
3422
|
-
|
|
3423
|
-
|
|
3463
|
+
else if (!isArray(existing)) {
|
|
3464
|
+
if (_isString) {
|
|
3465
|
+
refs[ref] = [refValue];
|
|
3466
|
+
if (canSetSetupRef(ref)) setupState[ref] = refs[ref];
|
|
3467
|
+
} else {
|
|
3468
|
+
const newVal = [refValue];
|
|
3469
|
+
if (canSetRef(ref, rawRef.k)) ref.value = newVal;
|
|
3470
|
+
if (rawRef.k) refs[rawRef.k] = newVal;
|
|
3471
|
+
}
|
|
3472
|
+
} else if (!existing.includes(refValue)) existing.push(refValue);
|
|
3424
3473
|
} else if (_isString) {
|
|
3425
3474
|
refs[ref] = value;
|
|
3426
3475
|
if (canSetSetupRef(ref)) setupState[ref] = value;
|
|
@@ -3470,7 +3519,18 @@ const logMismatchError = () => {
|
|
|
3470
3519
|
hasLoggedMismatchError = true;
|
|
3471
3520
|
};
|
|
3472
3521
|
const isSVGContainer = (container) => container.namespaceURI.includes("svg") && container.tagName !== "foreignObject";
|
|
3473
|
-
const isMathMLContainer = (container) =>
|
|
3522
|
+
const isMathMLContainer = (container) => {
|
|
3523
|
+
if (!container.namespaceURI.includes("MathML")) return false;
|
|
3524
|
+
if (container.tagName !== "annotation-xml") return true;
|
|
3525
|
+
const encoding = container.getAttribute("encoding");
|
|
3526
|
+
return !encoding || !encoding.includes("html");
|
|
3527
|
+
};
|
|
3528
|
+
/**
|
|
3529
|
+
* Resolve the element namespace a container's children should be created in.
|
|
3530
|
+
* The live DOM is the source of truth, so this also covers containers that are
|
|
3531
|
+
* only known at runtime (interop boundaries, teleport targets).
|
|
3532
|
+
* @internal
|
|
3533
|
+
*/
|
|
3474
3534
|
const getContainerType = (container) => {
|
|
3475
3535
|
if (container.nodeType !== 1) return void 0;
|
|
3476
3536
|
if (isSVGContainer(container)) return "svg";
|
|
@@ -3505,11 +3565,12 @@ function createHydrationFunctions(rendererInternals) {
|
|
|
3505
3565
|
let nextNode = null;
|
|
3506
3566
|
switch (type) {
|
|
3507
3567
|
case Text:
|
|
3508
|
-
if (domType !== 3)
|
|
3509
|
-
|
|
3510
|
-
|
|
3511
|
-
|
|
3512
|
-
|
|
3568
|
+
if (domType !== 3) {
|
|
3569
|
+
if (vnode.children === "") {
|
|
3570
|
+
insert(vnode.el = createText(""), parentNode(node), node);
|
|
3571
|
+
nextNode = node;
|
|
3572
|
+
} else nextNode = onMismatch();
|
|
3573
|
+
} else {
|
|
3513
3574
|
if (node.data !== vnode.children) {
|
|
3514
3575
|
logMismatchError();
|
|
3515
3576
|
node.data = vnode.children;
|
|
@@ -3545,11 +3606,12 @@ function createHydrationFunctions(rendererInternals) {
|
|
|
3545
3606
|
else nextNode = hydrateFragment(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized);
|
|
3546
3607
|
break;
|
|
3547
3608
|
case VaporSlot:
|
|
3548
|
-
nextNode = getVaporInterface(parentComponent, vnode).hydrateSlot(vnode, node, parentComponent, parentSuspense);
|
|
3609
|
+
nextNode = getVaporInterface(parentComponent, vnode).hydrateSlot(vnode, node, parentComponent, parentSuspense, slotScopeIds);
|
|
3549
3610
|
break;
|
|
3550
|
-
default: if (shapeFlag & 1)
|
|
3551
|
-
|
|
3552
|
-
|
|
3611
|
+
default: if (shapeFlag & 1) {
|
|
3612
|
+
if ((domType !== 1 || vnode.type.toLowerCase() !== node.tagName.toLowerCase()) && !isTemplateNode$1(node)) nextNode = onMismatch();
|
|
3613
|
+
else nextNode = hydrateElement(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized);
|
|
3614
|
+
} else if (shapeFlag & 6) {
|
|
3553
3615
|
vnode.slotScopeIds = slotScopeIds;
|
|
3554
3616
|
const container = parentNode(node);
|
|
3555
3617
|
if (isFragmentStart) nextNode = locateClosingAnchor(node);
|
|
@@ -3571,19 +3633,20 @@ function createHydrationFunctions(rendererInternals) {
|
|
|
3571
3633
|
} else {
|
|
3572
3634
|
mountComponent(vnode, container, null, parentComponent, parentSuspense, getContainerType(container), optimized);
|
|
3573
3635
|
const component = vnode.component;
|
|
3574
|
-
if (isAsyncWrapper(vnode)
|
|
3636
|
+
if (!component.subTree && (isAsyncWrapper(vnode) || component.asyncDep && !component.asyncResolved)) {
|
|
3575
3637
|
let subTree;
|
|
3576
3638
|
if (isFragmentStart) {
|
|
3577
|
-
subTree = createVNode(
|
|
3639
|
+
subTree = createVNode(Static);
|
|
3578
3640
|
subTree.anchor = nextNode ? nextNode.previousSibling : container.lastChild;
|
|
3579
3641
|
} else subTree = node.nodeType === 3 ? createTextVNode("") : createVNode("div");
|
|
3580
3642
|
subTree.el = node;
|
|
3581
3643
|
component.subTree = subTree;
|
|
3582
3644
|
}
|
|
3583
3645
|
}
|
|
3584
|
-
} else if (shapeFlag & 64)
|
|
3585
|
-
|
|
3586
|
-
|
|
3646
|
+
} else if (shapeFlag & 64) {
|
|
3647
|
+
if (domType !== 8) nextNode = onMismatch();
|
|
3648
|
+
else nextNode = vnode.type.hydrate(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, rendererInternals, hydrateChildren);
|
|
3649
|
+
} else if (shapeFlag & 128) nextNode = vnode.type.hydrate(node, vnode, parentComponent, parentSuspense, getContainerType(parentNode(node)), slotScopeIds, optimized, rendererInternals, hydrateNode);
|
|
3587
3650
|
}
|
|
3588
3651
|
if (ref != null) setRef(ref, null, parentSuspense, vnode);
|
|
3589
3652
|
return nextNode;
|
|
@@ -3700,7 +3763,7 @@ function createHydrationFunctions(rendererInternals) {
|
|
|
3700
3763
|
const container = parentNode(node);
|
|
3701
3764
|
remove(node);
|
|
3702
3765
|
patch(null, vnode, container, next, parentComponent, parentSuspense, getContainerType(container), slotScopeIds);
|
|
3703
|
-
if (parentComponent) {
|
|
3766
|
+
if (parentComponent && parentComponent.vnode) {
|
|
3704
3767
|
parentComponent.vnode.el = vnode.el;
|
|
3705
3768
|
updateHOCHostEl(parentComponent, vnode.el);
|
|
3706
3769
|
}
|
|
@@ -3712,8 +3775,10 @@ function createHydrationFunctions(rendererInternals) {
|
|
|
3712
3775
|
node = nextSibling(node);
|
|
3713
3776
|
if (node && isComment(node)) {
|
|
3714
3777
|
if (node.data === open) match++;
|
|
3715
|
-
if (node.data === close)
|
|
3716
|
-
|
|
3778
|
+
if (node.data === close) {
|
|
3779
|
+
if (match === 0) return nextSibling(node);
|
|
3780
|
+
else match--;
|
|
3781
|
+
}
|
|
3717
3782
|
}
|
|
3718
3783
|
}
|
|
3719
3784
|
return node;
|
|
@@ -3723,7 +3788,7 @@ function createHydrationFunctions(rendererInternals) {
|
|
|
3723
3788
|
if (parentNode) parentNode.replaceChild(newNode, oldNode);
|
|
3724
3789
|
let parent = parentComponent;
|
|
3725
3790
|
while (parent) {
|
|
3726
|
-
if (parent.vnode.el === oldNode) parent.vnode.el = parent.subTree.el = newNode;
|
|
3791
|
+
if (parent.vnode && parent.vnode.el === oldNode) parent.vnode.el = parent.subTree.el = newNode;
|
|
3727
3792
|
parent = parent.parent;
|
|
3728
3793
|
}
|
|
3729
3794
|
};
|
|
@@ -3735,7 +3800,7 @@ const isTemplateNode$1 = (node) => {
|
|
|
3735
3800
|
/**
|
|
3736
3801
|
* Dev only
|
|
3737
3802
|
*/
|
|
3738
|
-
const resourceProps =
|
|
3803
|
+
const resourceProps = /*@__PURE__*/ new Set([
|
|
3739
3804
|
"src",
|
|
3740
3805
|
"srcset",
|
|
3741
3806
|
"href",
|
|
@@ -3867,7 +3932,7 @@ function forEachElement(node, cb) {
|
|
|
3867
3932
|
//#endregion
|
|
3868
3933
|
//#region packages/runtime-core/src/apiAsyncComponent.ts
|
|
3869
3934
|
const isAsyncWrapper = (i) => !!i.type.__asyncLoader;
|
|
3870
|
-
|
|
3935
|
+
/*@__NO_SIDE_EFFECTS__*/
|
|
3871
3936
|
function defineAsyncComponent(source) {
|
|
3872
3937
|
const { load, getResolvedComp, setPendingRequest, source: { loadingComponent, errorComponent, delay, hydrate: hydrateStrategy, timeout, suspensible = true } } = createAsyncComponentContext(source);
|
|
3873
3938
|
return /* @__PURE__ */ defineComponent({
|
|
@@ -4077,10 +4142,13 @@ const KeepAliveImpl = {
|
|
|
4077
4142
|
});
|
|
4078
4143
|
let pendingCacheKey = null;
|
|
4079
4144
|
const cacheSubtree = () => {
|
|
4080
|
-
if (pendingCacheKey != null)
|
|
4081
|
-
|
|
4082
|
-
|
|
4083
|
-
|
|
4145
|
+
if (pendingCacheKey != null) {
|
|
4146
|
+
if (isSuspense(keepAliveInstance.subTree.type)) queuePostRenderEffect(() => {
|
|
4147
|
+
const vnode = getInnerChild(keepAliveInstance.subTree);
|
|
4148
|
+
if (vnode.component) cache.set(pendingCacheKey, vnode);
|
|
4149
|
+
}, void 0, keepAliveInstance.subTree.suspense);
|
|
4150
|
+
else cache.set(pendingCacheKey, getInnerChild(keepAliveInstance.subTree));
|
|
4151
|
+
}
|
|
4084
4152
|
};
|
|
4085
4153
|
onMounted(cacheSubtree);
|
|
4086
4154
|
onUpdated(cacheSubtree);
|
|
@@ -4150,7 +4218,7 @@ const decorate$2 = (t) => {
|
|
|
4150
4218
|
t.__isBuiltIn = true;
|
|
4151
4219
|
return t;
|
|
4152
4220
|
};
|
|
4153
|
-
const KeepAlive =
|
|
4221
|
+
const KeepAlive = /*@__PURE__*/ decorate$2(KeepAliveImpl);
|
|
4154
4222
|
function matches(pattern, name) {
|
|
4155
4223
|
if (isArray(pattern)) return pattern.some((p) => matches(p, name));
|
|
4156
4224
|
else if (isString(pattern)) return pattern.split(",").includes(name);
|
|
@@ -4360,16 +4428,17 @@ function compatH(type, propsOrChildren, children) {
|
|
|
4360
4428
|
}
|
|
4361
4429
|
const l = arguments.length;
|
|
4362
4430
|
const is2ndArgArrayChildren = isArray(propsOrChildren);
|
|
4363
|
-
if (l === 2 || is2ndArgArrayChildren)
|
|
4364
|
-
if (
|
|
4365
|
-
|
|
4366
|
-
|
|
4367
|
-
|
|
4431
|
+
if (l === 2 || is2ndArgArrayChildren) {
|
|
4432
|
+
if (isObject(propsOrChildren) && !is2ndArgArrayChildren) {
|
|
4433
|
+
if (isVNode(propsOrChildren)) return convertLegacySlots(createVNode(type, null, [propsOrChildren]));
|
|
4434
|
+
return convertLegacySlots(convertLegacyDirectives(createVNode(type, convertLegacyProps(propsOrChildren, type)), propsOrChildren));
|
|
4435
|
+
} else return convertLegacySlots(createVNode(type, null, propsOrChildren));
|
|
4436
|
+
} else {
|
|
4368
4437
|
if (isVNode(children)) children = [children];
|
|
4369
4438
|
return convertLegacySlots(convertLegacyDirectives(createVNode(type, convertLegacyProps(propsOrChildren, type), children), propsOrChildren));
|
|
4370
4439
|
}
|
|
4371
4440
|
}
|
|
4372
|
-
const skipLegacyRootLevelProps =
|
|
4441
|
+
const skipLegacyRootLevelProps = /*@__PURE__*/ makeMap("staticStyle,staticClass,directives,model,hook");
|
|
4373
4442
|
function convertLegacyProps(legacyProps, type) {
|
|
4374
4443
|
if (!legacyProps) return null;
|
|
4375
4444
|
const converted = {};
|
|
@@ -4381,8 +4450,10 @@ function convertLegacyProps(legacyProps, type) {
|
|
|
4381
4450
|
if (key === "nativeOn") handlerKey += `Native`;
|
|
4382
4451
|
const existing = converted[handlerKey];
|
|
4383
4452
|
const incoming = listeners[event];
|
|
4384
|
-
if (existing !== incoming)
|
|
4385
|
-
|
|
4453
|
+
if (existing !== incoming) {
|
|
4454
|
+
if (existing) converted[handlerKey] = [].concat(existing, incoming);
|
|
4455
|
+
else converted[handlerKey] = incoming;
|
|
4456
|
+
}
|
|
4386
4457
|
}
|
|
4387
4458
|
} else if (!skipLegacyRootLevelProps(key)) converted[key] = legacyProps[key];
|
|
4388
4459
|
if (legacyProps.staticClass) converted.class = normalizeClass([legacyProps.staticClass, converted.class]);
|
|
@@ -4481,7 +4552,7 @@ function convertLegacyFunctionalComponent(comp) {
|
|
|
4481
4552
|
const legacyFn = comp.render;
|
|
4482
4553
|
const Func = (props, ctx) => {
|
|
4483
4554
|
const instance = getCurrentInstance();
|
|
4484
|
-
|
|
4555
|
+
const legacyCtx = {
|
|
4485
4556
|
props,
|
|
4486
4557
|
children: instance.vnode.children || [],
|
|
4487
4558
|
data: instance.vnode.props || {},
|
|
@@ -4501,7 +4572,8 @@ function convertLegacyFunctionalComponent(comp) {
|
|
|
4501
4572
|
}
|
|
4502
4573
|
return {};
|
|
4503
4574
|
}
|
|
4504
|
-
}
|
|
4575
|
+
};
|
|
4576
|
+
return legacyFn(compatH, legacyCtx);
|
|
4505
4577
|
};
|
|
4506
4578
|
Func.props = comp.props;
|
|
4507
4579
|
Func.displayName = comp.name;
|
|
@@ -4533,16 +4605,17 @@ function renderList(source, renderItem, cache, index) {
|
|
|
4533
4605
|
} else if (typeof source === "number") {
|
|
4534
4606
|
ret = new Array(source);
|
|
4535
4607
|
for (let i = 0; i < source; i++) ret[i] = renderItem(i + 1, i, void 0, cached && cached[i]);
|
|
4536
|
-
} else if (isObject(source))
|
|
4537
|
-
|
|
4538
|
-
|
|
4539
|
-
|
|
4540
|
-
|
|
4541
|
-
|
|
4542
|
-
|
|
4608
|
+
} else if (isObject(source)) {
|
|
4609
|
+
if (source[Symbol.iterator]) ret = Array.from(source, (item, i) => renderItem(item, i, void 0, cached && cached[i]));
|
|
4610
|
+
else {
|
|
4611
|
+
const keys = Object.keys(source);
|
|
4612
|
+
ret = new Array(keys.length);
|
|
4613
|
+
for (let i = 0, l = keys.length; i < l; i++) {
|
|
4614
|
+
const key = keys[i];
|
|
4615
|
+
ret[i] = renderItem(source[key], key, i, cached && cached[i]);
|
|
4616
|
+
}
|
|
4543
4617
|
}
|
|
4544
|
-
}
|
|
4545
|
-
else ret = [];
|
|
4618
|
+
} else ret = [];
|
|
4546
4619
|
if (cache) cache[index] = ret;
|
|
4547
4620
|
return ret;
|
|
4548
4621
|
}
|
|
@@ -4567,14 +4640,27 @@ function createSlots(slots, dynamicSlots) {
|
|
|
4567
4640
|
//#endregion
|
|
4568
4641
|
//#region packages/runtime-core/src/helpers/renderSlot.ts
|
|
4569
4642
|
/**
|
|
4643
|
+
* Links a slot function to its raw vapor slot: a raw vapor slot carries
|
|
4644
|
+
* itself, and the wrapper the interop slots proxy hands out carries the raw
|
|
4645
|
+
* slot it wraps — one lookup answers both "is this a vapor slot" and
|
|
4646
|
+
* "which one". Internal to vapor interop.
|
|
4647
|
+
*/
|
|
4648
|
+
const rawVaporSlotKey = Symbol(`rawVaporSlot`);
|
|
4649
|
+
/**
|
|
4650
|
+
* Marks a compiler-generated slot fallback as VDOM-rendered so the vapor
|
|
4651
|
+
* interop fallback chain renders it through the VDOM renderer. Internal to
|
|
4652
|
+
* vapor interop.
|
|
4653
|
+
*/
|
|
4654
|
+
const vdomSlotFallbackKey = Symbol(`vdomSlotFallback`);
|
|
4655
|
+
/**
|
|
4570
4656
|
* Compiler runtime helper for rendering `<slot/>`
|
|
4571
4657
|
* @private
|
|
4572
4658
|
*/
|
|
4573
4659
|
function renderSlot(slots, name, props, fallback, noSlotted, branchKey) {
|
|
4574
4660
|
if (props == null) props = {};
|
|
4575
4661
|
let slot = slots[name];
|
|
4576
|
-
if (fallback) fallback
|
|
4577
|
-
const vaporSlot = slot &&
|
|
4662
|
+
if (fallback) fallback[vdomSlotFallbackKey] = true;
|
|
4663
|
+
const vaporSlot = slot && slot[rawVaporSlotKey];
|
|
4578
4664
|
if (vaporSlot) {
|
|
4579
4665
|
const ret = (openBlock(), createBlock(VaporSlot, props));
|
|
4580
4666
|
ret.vs = {
|
|
@@ -4674,12 +4760,14 @@ function legacyResolveScopedSlots(fns, raw, hasDynamicKeys) {
|
|
|
4674
4760
|
function mapKeyToName(slots) {
|
|
4675
4761
|
for (let i = 0; i < slots.length; i++) {
|
|
4676
4762
|
const fn = slots[i];
|
|
4677
|
-
if (fn)
|
|
4678
|
-
|
|
4763
|
+
if (fn) {
|
|
4764
|
+
if (isArray(fn)) mapKeyToName(fn);
|
|
4765
|
+
else fn.name = fn.key || "default";
|
|
4766
|
+
}
|
|
4679
4767
|
}
|
|
4680
4768
|
return slots;
|
|
4681
4769
|
}
|
|
4682
|
-
const staticCacheMap =
|
|
4770
|
+
const staticCacheMap = /*@__PURE__*/ new WeakMap();
|
|
4683
4771
|
function legacyRenderStatic(instance, index) {
|
|
4684
4772
|
let cache = staticCacheMap.get(instance);
|
|
4685
4773
|
if (!cache) staticCacheMap.set(instance, cache = []);
|
|
@@ -4902,7 +4990,7 @@ const PublicInstanceProxyHandlers = {
|
|
|
4902
4990
|
return Reflect.defineProperty(target, key, descriptor);
|
|
4903
4991
|
}
|
|
4904
4992
|
};
|
|
4905
|
-
const RuntimeCompiledPublicInstanceProxyHandlers =
|
|
4993
|
+
const RuntimeCompiledPublicInstanceProxyHandlers = /*@__PURE__*/ extend({}, PublicInstanceProxyHandlers, {
|
|
4906
4994
|
get(target, key) {
|
|
4907
4995
|
if (key === Symbol.unscopables) return;
|
|
4908
4996
|
return PublicInstanceProxyHandlers.get(target, key, target);
|
|
@@ -5026,12 +5114,13 @@ function mergeDefaults(raw, defaults) {
|
|
|
5026
5114
|
for (const key in defaults) {
|
|
5027
5115
|
if (key.startsWith("__skip")) continue;
|
|
5028
5116
|
let opt = props[key];
|
|
5029
|
-
if (opt)
|
|
5030
|
-
|
|
5031
|
-
|
|
5032
|
-
|
|
5033
|
-
|
|
5034
|
-
|
|
5117
|
+
if (opt) {
|
|
5118
|
+
if (isArray(opt) || isFunction(opt)) opt = props[key] = {
|
|
5119
|
+
type: opt,
|
|
5120
|
+
default: defaults[key]
|
|
5121
|
+
};
|
|
5122
|
+
else opt.default = defaults[key];
|
|
5123
|
+
} else if (opt === null) opt = props[key] = { default: defaults[key] };
|
|
5035
5124
|
if (opt && defaults[`__skip_${key}`]) opt.skipFactory = true;
|
|
5036
5125
|
}
|
|
5037
5126
|
return props;
|
|
@@ -5137,9 +5226,11 @@ function applyOptions(instance) {
|
|
|
5137
5226
|
shouldCacheAccess = true;
|
|
5138
5227
|
if (computedOptions) for (const key in computedOptions) {
|
|
5139
5228
|
const opt = computedOptions[key];
|
|
5229
|
+
const get = isFunction(opt) ? opt.bind(publicThis, publicThis) : isFunction(opt.get) ? opt.get.bind(publicThis, publicThis) : NOOP;
|
|
5230
|
+
const set = !isFunction(opt) && isFunction(opt.set) ? opt.set.bind(publicThis) : NOOP;
|
|
5140
5231
|
const c = computed({
|
|
5141
|
-
get
|
|
5142
|
-
set
|
|
5232
|
+
get,
|
|
5233
|
+
set
|
|
5143
5234
|
});
|
|
5144
5235
|
Object.defineProperty(ctx, key, {
|
|
5145
5236
|
enumerable: true,
|
|
@@ -5198,9 +5289,10 @@ function resolveInjections(injectOptions, ctx, checkDuplicateProperties = NOOP)
|
|
|
5198
5289
|
for (const key in injectOptions) {
|
|
5199
5290
|
const opt = injectOptions[key];
|
|
5200
5291
|
let injected;
|
|
5201
|
-
if (isObject(opt))
|
|
5202
|
-
|
|
5203
|
-
|
|
5292
|
+
if (isObject(opt)) {
|
|
5293
|
+
if ("default" in opt) injected = inject(opt.from || key, opt.default, true);
|
|
5294
|
+
else injected = inject(opt.from || key);
|
|
5295
|
+
} else injected = inject(opt);
|
|
5204
5296
|
if (/* @__PURE__ */ isRef(injected)) Object.defineProperty(ctx, key, {
|
|
5205
5297
|
enumerable: true,
|
|
5206
5298
|
configurable: true,
|
|
@@ -5219,7 +5311,8 @@ function createWatcher(raw, ctx, publicThis, key) {
|
|
|
5219
5311
|
{
|
|
5220
5312
|
const cur = getCurrentInstance();
|
|
5221
5313
|
const instance = cur && getCurrentScope() === cur.scope ? cur : null;
|
|
5222
|
-
|
|
5314
|
+
const newValue = getter();
|
|
5315
|
+
if (isArray(newValue) && isCompatEnabled$1("WATCH_ARRAY", instance)) options.deep = true;
|
|
5223
5316
|
const baseGetter = getter;
|
|
5224
5317
|
getter = () => {
|
|
5225
5318
|
const val = baseGetter();
|
|
@@ -5231,10 +5324,12 @@ function createWatcher(raw, ctx, publicThis, key) {
|
|
|
5231
5324
|
const handler = ctx[raw];
|
|
5232
5325
|
if (isFunction(handler)) watch(getter, handler, options);
|
|
5233
5326
|
} else if (isFunction(raw)) watch(getter, raw.bind(publicThis), options);
|
|
5234
|
-
else if (isObject(raw))
|
|
5235
|
-
|
|
5236
|
-
|
|
5237
|
-
|
|
5327
|
+
else if (isObject(raw)) {
|
|
5328
|
+
if (isArray(raw)) raw.forEach((r) => createWatcher(r, ctx, publicThis, key));
|
|
5329
|
+
else {
|
|
5330
|
+
const handler = isFunction(raw.handler) ? raw.handler.bind(publicThis) : ctx[raw.handler];
|
|
5331
|
+
if (isFunction(handler)) watch(getter, handler, extend(raw, options));
|
|
5332
|
+
}
|
|
5238
5333
|
}
|
|
5239
5334
|
}
|
|
5240
5335
|
/**
|
|
@@ -5249,12 +5344,13 @@ function resolveMergedOptions(instance) {
|
|
|
5249
5344
|
const cached = cache.get(base);
|
|
5250
5345
|
let resolved;
|
|
5251
5346
|
if (cached) resolved = cached;
|
|
5252
|
-
else if (!globalMixins.length && !mixins && !extendsOptions)
|
|
5253
|
-
|
|
5254
|
-
|
|
5255
|
-
|
|
5256
|
-
|
|
5257
|
-
|
|
5347
|
+
else if (!globalMixins.length && !mixins && !extendsOptions) {
|
|
5348
|
+
if (isCompatEnabled$1("PRIVATE_APIS", instance)) {
|
|
5349
|
+
resolved = extend({}, base);
|
|
5350
|
+
resolved.parent = instance.parent && instance.parent.proxy;
|
|
5351
|
+
resolved.propsData = instance.vnode.props;
|
|
5352
|
+
} else resolved = base;
|
|
5353
|
+
} else {
|
|
5258
5354
|
resolved = {};
|
|
5259
5355
|
if (globalMixins.length) globalMixins.forEach((m) => mergeOptions(resolved, m, optionMergeStrategies, true));
|
|
5260
5356
|
mergeOptions(resolved, base, optionMergeStrategies);
|
|
@@ -5326,7 +5422,7 @@ function mergeObjectOptions(to, from) {
|
|
|
5326
5422
|
}
|
|
5327
5423
|
function mergeEmitsOrPropsOptions(to, from) {
|
|
5328
5424
|
if (to) {
|
|
5329
|
-
if (isArray(to) && isArray(from)) return [
|
|
5425
|
+
if (isArray(to) && isArray(from)) return [.../* @__PURE__ */ new Set([...to, ...from])];
|
|
5330
5426
|
return extend(Object.create(null), normalizePropsOrEmits(to), normalizePropsOrEmits(from !== null && from !== void 0 ? from : {}));
|
|
5331
5427
|
} else return from;
|
|
5332
5428
|
}
|
|
@@ -5362,7 +5458,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
|
|
|
5362
5458
|
if (options.el) return vm.$mount(options.el);
|
|
5363
5459
|
else return vm;
|
|
5364
5460
|
}
|
|
5365
|
-
Vue.version = `2.6.14-compat:3.6.0-rc.
|
|
5461
|
+
Vue.version = `2.6.14-compat:3.6.0-rc.6`;
|
|
5366
5462
|
Vue.config = singletonApp.config;
|
|
5367
5463
|
Vue.use = (plugin, ...options) => {
|
|
5368
5464
|
if (plugin && isFunction(plugin.install)) plugin.install(Vue, ...options);
|
|
@@ -5840,7 +5936,7 @@ function baseEmit(instance, props, getter, event, ...rawArgs) {
|
|
|
5840
5936
|
const modifiers = isCompatModelListener ? props.modelModifiers : isModelListener && getModelModifiers(props, event.slice(7), getter);
|
|
5841
5937
|
if (modifiers) {
|
|
5842
5938
|
if (modifiers.trim) args = rawArgs.map((a) => isString(a) ? a.trim() : a);
|
|
5843
|
-
if (modifiers.number) args =
|
|
5939
|
+
if (modifiers.number) args = args.map(looseToNumber);
|
|
5844
5940
|
}
|
|
5845
5941
|
let handlerName;
|
|
5846
5942
|
let handler = getter(props, handlerName = toHandlerKey(event)) || getter(props, handlerName = toHandlerKey(camelize(event)));
|
|
@@ -5963,8 +6059,10 @@ function filterSingleRoot(children, recurse = true) {
|
|
|
5963
6059
|
for (let i = 0; i < children.length; i++) {
|
|
5964
6060
|
const child = children[i];
|
|
5965
6061
|
if (isVNode(child)) {
|
|
5966
|
-
if (child.type !== Comment || child.children === "v-if")
|
|
5967
|
-
|
|
6062
|
+
if (child.type !== Comment || child.children === "v-if") {
|
|
6063
|
+
if (singleRoot) return;
|
|
6064
|
+
else singleRoot = child;
|
|
6065
|
+
}
|
|
5968
6066
|
} else return;
|
|
5969
6067
|
}
|
|
5970
6068
|
return singleRoot;
|
|
@@ -6096,16 +6194,17 @@ function updateProps(instance, rawProps, rawPrevProps, optimized) {
|
|
|
6096
6194
|
let key = propsToUpdate[i];
|
|
6097
6195
|
if (isEmitListener(instance.emitsOptions, key)) continue;
|
|
6098
6196
|
const value = rawProps[key];
|
|
6099
|
-
if (options)
|
|
6100
|
-
if (
|
|
6101
|
-
attrs[key]
|
|
6102
|
-
|
|
6197
|
+
if (options) {
|
|
6198
|
+
if (hasOwn(attrs, key)) {
|
|
6199
|
+
if (value !== attrs[key]) {
|
|
6200
|
+
attrs[key] = value;
|
|
6201
|
+
hasAttrsChanged = true;
|
|
6202
|
+
}
|
|
6203
|
+
} else {
|
|
6204
|
+
const camelizedKey = camelize(key);
|
|
6205
|
+
props[camelizedKey] = resolvePropValue(options, camelizedKey, value, instance, baseResolveDefault);
|
|
6103
6206
|
}
|
|
6104
6207
|
} else {
|
|
6105
|
-
const camelizedKey = camelize(key);
|
|
6106
|
-
props[camelizedKey] = resolvePropValue(options, camelizedKey, value, instance, baseResolveDefault);
|
|
6107
|
-
}
|
|
6108
|
-
else {
|
|
6109
6208
|
if (isOn(key) && key.endsWith("Native")) key = key.slice(0, -6);
|
|
6110
6209
|
else if (shouldSkipAttr(key, instance)) continue;
|
|
6111
6210
|
if (value !== attrs[key]) {
|
|
@@ -6118,9 +6217,11 @@ function updateProps(instance, rawProps, rawPrevProps, optimized) {
|
|
|
6118
6217
|
} else {
|
|
6119
6218
|
if (setFullProps(instance, rawProps, props, attrs)) hasAttrsChanged = true;
|
|
6120
6219
|
let kebabKey;
|
|
6121
|
-
for (const key in rawCurrentProps) if (!rawProps || !hasOwn(rawProps, key) && ((kebabKey = hyphenate(key)) === key || !hasOwn(rawProps, kebabKey)))
|
|
6122
|
-
if (
|
|
6123
|
-
|
|
6220
|
+
for (const key in rawCurrentProps) if (!rawProps || !hasOwn(rawProps, key) && ((kebabKey = hyphenate(key)) === key || !hasOwn(rawProps, kebabKey))) {
|
|
6221
|
+
if (options) {
|
|
6222
|
+
if (rawPrevProps && (rawPrevProps[key] !== void 0 || rawPrevProps[kebabKey] !== void 0)) props[key] = resolvePropValue(options, key, void 0, instance, baseResolveDefault, true);
|
|
6223
|
+
} else delete props[key];
|
|
6224
|
+
}
|
|
6124
6225
|
if (attrs !== rawCurrentProps) {
|
|
6125
6226
|
for (const key in attrs) if (!rawProps || !hasOwn(rawProps, key) && !hasOwn(rawProps, key + "Native")) {
|
|
6126
6227
|
delete attrs[key];
|
|
@@ -6140,9 +6241,10 @@ function setFullProps(instance, rawProps, props, attrs) {
|
|
|
6140
6241
|
if (key === "inline-template") continue;
|
|
6141
6242
|
const value = rawProps[key];
|
|
6142
6243
|
let camelKey;
|
|
6143
|
-
if (options && hasOwn(options, camelKey = camelize(key)))
|
|
6144
|
-
|
|
6145
|
-
|
|
6244
|
+
if (options && hasOwn(options, camelKey = camelize(key))) {
|
|
6245
|
+
if (!needCastKeys || !needCastKeys.includes(camelKey)) props[camelKey] = value;
|
|
6246
|
+
else (rawCastValues || (rawCastValues = {}))[camelKey] = value;
|
|
6247
|
+
} else if (!isEmitListener(instance.emitsOptions, key)) {
|
|
6146
6248
|
if (isOn(key) && key.endsWith("Native")) key = key.slice(0, -6);
|
|
6147
6249
|
else if (shouldSkipAttr(key, instance)) continue;
|
|
6148
6250
|
if (!(key in attrs) || value !== attrs[key]) {
|
|
@@ -6306,9 +6408,10 @@ const updateSlots = (instance, children, optimized) => {
|
|
|
6306
6408
|
let deletionComparisonTarget = EMPTY_OBJ;
|
|
6307
6409
|
if (vnode.shapeFlag & 32) {
|
|
6308
6410
|
const type = children._;
|
|
6309
|
-
if (type)
|
|
6310
|
-
|
|
6311
|
-
|
|
6411
|
+
if (type) {
|
|
6412
|
+
if (optimized && type === 1) needDeletionCheck = false;
|
|
6413
|
+
else assignSlots(slots, children, optimized);
|
|
6414
|
+
} else {
|
|
6312
6415
|
needDeletionCheck = !children.$stable;
|
|
6313
6416
|
normalizeObjectSlots(children, slots, instance);
|
|
6314
6417
|
}
|
|
@@ -6383,7 +6486,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
6383
6486
|
processFragment(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
|
|
6384
6487
|
break;
|
|
6385
6488
|
case VaporSlot:
|
|
6386
|
-
getVaporInterface(parentComponent, n2).slot(n1, n2, container, anchor, parentComponent, parentSuspense);
|
|
6489
|
+
getVaporInterface(parentComponent, n2).slot(n1, n2, container, anchor, parentComponent, parentSuspense, slotScopeIds);
|
|
6387
6490
|
break;
|
|
6388
6491
|
default: if (shapeFlag & 1) processElement(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
|
|
6389
6492
|
else if (shapeFlag & 6) processComponent(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
|
|
@@ -6479,7 +6582,10 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
6479
6582
|
for (let i = 0; i < inheritedScopeIds.length; i++) hostSetScopeId(el, inheritedScopeIds[i]);
|
|
6480
6583
|
};
|
|
6481
6584
|
const mountChildren = (children, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, start = 0) => {
|
|
6482
|
-
for (let i = start; i < children.length; i++)
|
|
6585
|
+
for (let i = start; i < children.length; i++) {
|
|
6586
|
+
const child = children[i] = optimized ? cloneIfMounted(children[i]) : normalizeVNode(children[i]);
|
|
6587
|
+
patch(null, child, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
|
|
6588
|
+
}
|
|
6483
6589
|
};
|
|
6484
6590
|
const patchElement = (n1, n2, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {
|
|
6485
6591
|
const el = n2.el = n1.el;
|
|
@@ -6490,6 +6596,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
6490
6596
|
let vnodeHook;
|
|
6491
6597
|
parentComponent && toggleRecurse(parentComponent, false);
|
|
6492
6598
|
if (vnodeHook = newProps.onVnodeBeforeUpdate) invokeVNodeHook(vnodeHook, parentComponent, n2, n1);
|
|
6599
|
+
if (n2.ibu) n2.ibu();
|
|
6493
6600
|
if (dirs) invokeDirectiveHook(n2, n1, parentComponent, "beforeUpdate");
|
|
6494
6601
|
parentComponent && toggleRecurse(parentComponent, true);
|
|
6495
6602
|
if (dynamicChildren && (!n1.dynamicChildren || n1.dynamicChildren.length !== dynamicChildren.length)) {
|
|
@@ -6521,8 +6628,9 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
6521
6628
|
if (n1.children !== n2.children) hostSetElementText(el, n2.children);
|
|
6522
6629
|
}
|
|
6523
6630
|
} else if (!optimized && dynamicChildren == null) patchProps(el, oldProps, newProps, parentComponent, namespace);
|
|
6524
|
-
if ((vnodeHook = newProps.onVnodeUpdated) || dirs) queuePostRenderEffect(() => {
|
|
6631
|
+
if ((vnodeHook = newProps.onVnodeUpdated) || dirs || n2.iu) queuePostRenderEffect(() => {
|
|
6525
6632
|
vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, n2, n1);
|
|
6633
|
+
n2.iu && n2.iu();
|
|
6526
6634
|
dirs && invokeDirectiveHook(n2, n1, parentComponent, "updated");
|
|
6527
6635
|
}, void 0, parentSuspense);
|
|
6528
6636
|
};
|
|
@@ -6530,7 +6638,8 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
6530
6638
|
for (let i = 0; i < newChildren.length; i++) {
|
|
6531
6639
|
const oldVNode = oldChildren[i];
|
|
6532
6640
|
const newVNode = newChildren[i];
|
|
6533
|
-
|
|
6641
|
+
const container = oldVNode.el && (oldVNode.type === Fragment || !isSameVNodeType(oldVNode, newVNode) || oldVNode.shapeFlag & 198) ? hostParentNode(oldVNode.el) : fallbackContainer;
|
|
6642
|
+
patch(oldVNode, newVNode, container, null, parentComponent, parentSuspense, namespace, slotScopeIds, true);
|
|
6534
6643
|
}
|
|
6535
6644
|
};
|
|
6536
6645
|
const patchProps = (el, oldProps, newProps, parentComponent, namespace) => {
|
|
@@ -6563,41 +6672,46 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
6563
6672
|
};
|
|
6564
6673
|
const processComponent = (n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {
|
|
6565
6674
|
n2.slotScopeIds = slotScopeIds;
|
|
6566
|
-
if (n2.type.__vapor)
|
|
6567
|
-
|
|
6568
|
-
|
|
6569
|
-
|
|
6570
|
-
|
|
6571
|
-
|
|
6572
|
-
|
|
6675
|
+
if (n2.type.__vapor) {
|
|
6676
|
+
if (n1 == null) {
|
|
6677
|
+
if (n2.shapeFlag & 512) getVaporInterface(parentComponent, n2).activate(n2, container, anchor, parentComponent, parentSuspense);
|
|
6678
|
+
else {
|
|
6679
|
+
const vnodeBeforeMountHook = !isAsyncWrapper(n2) && n2.props && n2.props.onVnodeBeforeMount;
|
|
6680
|
+
getVaporInterface(parentComponent, n2).mount(n2, container, anchor, parentComponent, parentSuspense, () => {
|
|
6681
|
+
if (n2.dirs) {
|
|
6682
|
+
invokeDirectiveHook(n2, null, parentComponent, "created");
|
|
6683
|
+
invokeDirectiveHook(n2, null, parentComponent, "beforeMount");
|
|
6684
|
+
}
|
|
6685
|
+
}, () => {
|
|
6686
|
+
if (vnodeBeforeMountHook) invokeVNodeHook(vnodeBeforeMountHook, parentComponent, n2);
|
|
6687
|
+
});
|
|
6688
|
+
if (n2.dirs) queuePostRenderEffect(() => invokeDirectiveHook(n2, null, parentComponent, "mounted"), void 0, parentSuspense);
|
|
6689
|
+
const vnodeMountedHook = !isAsyncWrapper(n2) && n2.props && n2.props.onVnodeMounted;
|
|
6690
|
+
if (vnodeMountedHook) {
|
|
6691
|
+
const scopedVNode = n2;
|
|
6692
|
+
queuePostRenderEffect(() => invokeVNodeHook(vnodeMountedHook, parentComponent, scopedVNode), void 0, parentSuspense);
|
|
6693
|
+
}
|
|
6573
6694
|
}
|
|
6574
|
-
}
|
|
6575
|
-
|
|
6576
|
-
|
|
6577
|
-
|
|
6578
|
-
|
|
6579
|
-
|
|
6580
|
-
|
|
6581
|
-
|
|
6582
|
-
|
|
6583
|
-
|
|
6584
|
-
|
|
6585
|
-
|
|
6586
|
-
|
|
6587
|
-
|
|
6588
|
-
|
|
6589
|
-
|
|
6590
|
-
|
|
6591
|
-
|
|
6592
|
-
|
|
6593
|
-
|
|
6594
|
-
n2.dirs && invokeDirectiveHook(n2, n1, parentComponent, "updated");
|
|
6595
|
-
vnodeUpdatedHook && invokeVNodeHook(vnodeUpdatedHook, parentComponent, n2, n1);
|
|
6596
|
-
}, void 0, parentSuspense);
|
|
6597
|
-
}
|
|
6598
|
-
else if (n1 == null) if (n2.shapeFlag & 512) parentComponent.ctx.activate(n2, container, anchor, namespace, optimized);
|
|
6599
|
-
else mountComponent(n2, container, anchor, parentComponent, parentSuspense, namespace, optimized);
|
|
6600
|
-
else updateComponent(n1, n2, optimized);
|
|
6695
|
+
} else {
|
|
6696
|
+
const shouldUpdate = shouldUpdateComponent(n1, n2, optimized);
|
|
6697
|
+
getVaporInterface(parentComponent, n2).update(n1, n2, shouldUpdate, () => {
|
|
6698
|
+
if (n2.dirs) invokeDirectiveHook(n2, n1, parentComponent, "beforeUpdate");
|
|
6699
|
+
}, () => {
|
|
6700
|
+
const vnodeBeforeUpdateHook = n2.props && n2.props.onVnodeBeforeUpdate;
|
|
6701
|
+
if (vnodeBeforeUpdateHook) invokeVNodeHook(vnodeBeforeUpdateHook, parentComponent, n2, n1);
|
|
6702
|
+
if (n2.ibu) n2.ibu();
|
|
6703
|
+
});
|
|
6704
|
+
const vnodeUpdatedHook = n2.props && n2.props.onVnodeUpdated;
|
|
6705
|
+
if (shouldUpdate && (vnodeUpdatedHook || n2.dirs || n2.iu)) queuePostRenderEffect(() => {
|
|
6706
|
+
n2.dirs && invokeDirectiveHook(n2, n1, parentComponent, "updated");
|
|
6707
|
+
vnodeUpdatedHook && invokeVNodeHook(vnodeUpdatedHook, parentComponent, n2, n1);
|
|
6708
|
+
n2.iu && n2.iu();
|
|
6709
|
+
}, void 0, parentSuspense);
|
|
6710
|
+
}
|
|
6711
|
+
} else if (n1 == null) {
|
|
6712
|
+
if (n2.shapeFlag & 512) parentComponent.ctx.activate(n2, container, anchor, namespace, optimized);
|
|
6713
|
+
else mountComponent(n2, container, anchor, parentComponent, parentSuspense, namespace, optimized);
|
|
6714
|
+
} else updateComponent(n1, n2, optimized);
|
|
6601
6715
|
};
|
|
6602
6716
|
const mountComponent = (initialVNode, container, anchor, parentComponent, parentSuspense, namespace, optimized) => {
|
|
6603
6717
|
const compatMountInstance = initialVNode.isCompatRoot && initialVNode.component;
|
|
@@ -6629,14 +6743,15 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
6629
6743
|
};
|
|
6630
6744
|
const updateComponent = (n1, n2, optimized) => {
|
|
6631
6745
|
const instance = n2.component = n1.component;
|
|
6632
|
-
if (shouldUpdateComponent(n1, n2, optimized))
|
|
6633
|
-
|
|
6634
|
-
|
|
6746
|
+
if (shouldUpdateComponent(n1, n2, optimized)) {
|
|
6747
|
+
if (instance.asyncDep && !instance.asyncResolved) {
|
|
6748
|
+
updateComponentPreRender(instance, n2, optimized);
|
|
6749
|
+
return;
|
|
6750
|
+
} else {
|
|
6751
|
+
instance.next = n2;
|
|
6752
|
+
instance.effect.run();
|
|
6753
|
+
}
|
|
6635
6754
|
} else {
|
|
6636
|
-
instance.next = n2;
|
|
6637
|
-
instance.effect.run();
|
|
6638
|
-
}
|
|
6639
|
-
else {
|
|
6640
6755
|
n2.el = n1.el;
|
|
6641
6756
|
instance.vnode = n2;
|
|
6642
6757
|
}
|
|
@@ -6727,6 +6842,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
6727
6842
|
} else next = vnode;
|
|
6728
6843
|
if (bu) invokeArrayFns(bu);
|
|
6729
6844
|
if (vnodeHook = next.props && next.props.onVnodeBeforeUpdate) invokeVNodeHook(vnodeHook, parent, next, vnode);
|
|
6845
|
+
if (next.ibu) next.ibu();
|
|
6730
6846
|
if (isCompatEnabled$1("INSTANCE_EVENT_HOOKS", instance)) instance.emit("hook:beforeUpdate");
|
|
6731
6847
|
toggleRecurse(instance, true);
|
|
6732
6848
|
const nextTree = renderComponentRoot(instance);
|
|
@@ -6736,7 +6852,10 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
6736
6852
|
next.el = nextTree.el;
|
|
6737
6853
|
if (originNext === null) updateHOCHostEl(instance, nextTree.el);
|
|
6738
6854
|
if (u) queuePostRenderEffect(u, void 0, parentSuspense);
|
|
6739
|
-
if (vnodeHook = next.props && next.props.onVnodeUpdated) queuePostRenderEffect(() =>
|
|
6855
|
+
if ((vnodeHook = next.props && next.props.onVnodeUpdated) || next.iu) queuePostRenderEffect(() => {
|
|
6856
|
+
vnodeHook && invokeVNodeHook(vnodeHook, parent, next, vnode);
|
|
6857
|
+
next.iu && next.iu();
|
|
6858
|
+
}, void 0, parentSuspense);
|
|
6740
6859
|
if (isCompatEnabled$1("INSTANCE_EVENT_HOOKS", instance)) queuePostRenderEffect(() => instance.emit("hook:updated"), void 0, parentSuspense);
|
|
6741
6860
|
}
|
|
6742
6861
|
}
|
|
@@ -6775,9 +6894,10 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
6775
6894
|
if (shapeFlag & 8) {
|
|
6776
6895
|
if (prevShapeFlag & 16) unmountChildren(c1, parentComponent, parentSuspense);
|
|
6777
6896
|
if (c2 !== c1) hostSetElementText(container, c2);
|
|
6778
|
-
} else if (prevShapeFlag & 16)
|
|
6779
|
-
|
|
6780
|
-
|
|
6897
|
+
} else if (prevShapeFlag & 16) {
|
|
6898
|
+
if (shapeFlag & 16) patchKeyedChildren(c1, c2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
|
|
6899
|
+
else unmountChildren(c1, parentComponent, parentSuspense, true);
|
|
6900
|
+
} else {
|
|
6781
6901
|
if (prevShapeFlag & 8) hostSetElementText(container, "");
|
|
6782
6902
|
if (shapeFlag & 16) mountChildren(c2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
|
|
6783
6903
|
}
|
|
@@ -6873,8 +6993,10 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
6873
6993
|
const anchorVNode = c2[nextIndex + 1];
|
|
6874
6994
|
const anchor = nextIndex + 1 < l2 ? anchorVNode.el || resolveAsyncComponentPlaceholder(anchorVNode) : parentAnchor;
|
|
6875
6995
|
if (newIndexToOldIndexMap[i] === 0) patch(null, nextChild, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
|
|
6876
|
-
else if (moved)
|
|
6877
|
-
|
|
6996
|
+
else if (moved) {
|
|
6997
|
+
if (j < 0 || i !== increasingNewIndexSequence[j]) move(nextChild, container, anchor, 2, parentComponent);
|
|
6998
|
+
else j--;
|
|
6999
|
+
}
|
|
6878
7000
|
}
|
|
6879
7001
|
}
|
|
6880
7002
|
};
|
|
@@ -6906,26 +7028,27 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
6906
7028
|
moveStaticNode(vnode, container, anchor);
|
|
6907
7029
|
return;
|
|
6908
7030
|
}
|
|
6909
|
-
if (moveType !== 2 && shapeFlag & 1 && transition)
|
|
6910
|
-
|
|
6911
|
-
|
|
6912
|
-
|
|
6913
|
-
|
|
6914
|
-
|
|
6915
|
-
|
|
6916
|
-
|
|
6917
|
-
const
|
|
6918
|
-
|
|
6919
|
-
|
|
6920
|
-
|
|
6921
|
-
|
|
6922
|
-
|
|
6923
|
-
|
|
6924
|
-
|
|
6925
|
-
|
|
6926
|
-
|
|
6927
|
-
|
|
6928
|
-
|
|
7031
|
+
if (moveType !== 2 && shapeFlag & 1 && transition) {
|
|
7032
|
+
if (moveType === 0) performTransitionEnter(el, transition, () => hostInsert(el, container, anchor), parentSuspense, true);
|
|
7033
|
+
else {
|
|
7034
|
+
const { leave, delayLeave, afterLeave } = transition;
|
|
7035
|
+
const remove = () => {
|
|
7036
|
+
if (vnode.ctx.isUnmounted) hostRemove(el);
|
|
7037
|
+
else hostInsert(el, container, anchor);
|
|
7038
|
+
};
|
|
7039
|
+
const performLeave = () => {
|
|
7040
|
+
const wasLeaving = el._isLeaving || !!el[leaveCbKey];
|
|
7041
|
+
if (el._isLeaving) el[leaveCbKey](true);
|
|
7042
|
+
if (transition.persisted && !wasLeaving) remove();
|
|
7043
|
+
else leave(el, () => {
|
|
7044
|
+
remove();
|
|
7045
|
+
afterLeave && afterLeave();
|
|
7046
|
+
});
|
|
7047
|
+
};
|
|
7048
|
+
if (delayLeave) delayLeave(el, remove, performLeave);
|
|
7049
|
+
else performLeave();
|
|
7050
|
+
}
|
|
7051
|
+
} else hostInsert(el, container, anchor);
|
|
6929
7052
|
};
|
|
6930
7053
|
const unmount = (vnode, parentComponent, parentSuspense, doRemove = false, optimized = false) => {
|
|
6931
7054
|
const { type, props, ref, children, dynamicChildren, shapeFlag, patchFlag, dirs, cacheIndex, memo } = vnode;
|
|
@@ -6945,16 +7068,17 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
6945
7068
|
const shouldInvokeVnodeHook = !isAsyncWrapper(vnode);
|
|
6946
7069
|
let vnodeHook;
|
|
6947
7070
|
if (shouldInvokeVnodeHook && (vnodeHook = props && props.onVnodeBeforeUnmount)) invokeVNodeHook(vnodeHook, parentComponent, vnode);
|
|
6948
|
-
if (shapeFlag & 6)
|
|
6949
|
-
if (
|
|
6950
|
-
|
|
6951
|
-
|
|
6952
|
-
|
|
6953
|
-
|
|
6954
|
-
|
|
6955
|
-
|
|
6956
|
-
|
|
6957
|
-
|
|
7071
|
+
if (shapeFlag & 6) {
|
|
7072
|
+
if (isVaporComponent(type)) {
|
|
7073
|
+
if (dirs) invokeDirectiveHook(vnode, null, parentComponent, "beforeUnmount");
|
|
7074
|
+
getVaporInterface(parentComponent, vnode).unmount(vnode, doRemove, parentSuspense);
|
|
7075
|
+
if (shouldInvokeVnodeHook && (vnodeHook = props && props.onVnodeUnmounted) || dirs) queuePostRenderEffect(() => {
|
|
7076
|
+
dirs && invokeDirectiveHook(vnode, null, parentComponent, "unmounted");
|
|
7077
|
+
vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode);
|
|
7078
|
+
}, void 0, parentSuspense);
|
|
7079
|
+
return;
|
|
7080
|
+
} else unmountComponent(vnode.component, parentSuspense, doRemove);
|
|
7081
|
+
} else {
|
|
6958
7082
|
if (shapeFlag & 128) {
|
|
6959
7083
|
vnode.suspense.unmount(parentSuspense, doRemove);
|
|
6960
7084
|
return;
|
|
@@ -7077,12 +7201,14 @@ function resolveChildrenNamespace({ type, props }, currentNamespace) {
|
|
|
7077
7201
|
return currentNamespace === "svg" && type === "foreignObject" || currentNamespace === "mathml" && type === "annotation-xml" && props && props.encoding && props.encoding.includes("html") ? void 0 : currentNamespace;
|
|
7078
7202
|
}
|
|
7079
7203
|
function toggleRecurse({ effect, job, vapor }, allowed) {
|
|
7080
|
-
if (!vapor)
|
|
7081
|
-
|
|
7082
|
-
|
|
7083
|
-
|
|
7084
|
-
|
|
7085
|
-
|
|
7204
|
+
if (!vapor) {
|
|
7205
|
+
if (allowed) {
|
|
7206
|
+
effect.flags |= 128;
|
|
7207
|
+
job.flags |= 2;
|
|
7208
|
+
} else {
|
|
7209
|
+
effect.flags &= -129;
|
|
7210
|
+
job.flags &= -3;
|
|
7211
|
+
}
|
|
7086
7212
|
}
|
|
7087
7213
|
}
|
|
7088
7214
|
function needTransition(parentSuspense, transition) {
|
|
@@ -7121,8 +7247,10 @@ function traverseStaticChildren(n1, n2, shallow = false) {
|
|
|
7121
7247
|
}
|
|
7122
7248
|
function locateNonHydratedAsyncRoot(instance) {
|
|
7123
7249
|
const subComponent = instance.subTree && instance.subTree.component;
|
|
7124
|
-
if (subComponent)
|
|
7125
|
-
|
|
7250
|
+
if (subComponent) {
|
|
7251
|
+
if (subComponent.asyncDep && !subComponent.asyncResolved) return subComponent;
|
|
7252
|
+
else return locateNonHydratedAsyncRoot(subComponent);
|
|
7253
|
+
}
|
|
7126
7254
|
}
|
|
7127
7255
|
function invalidateMount(hooks) {
|
|
7128
7256
|
if (hooks) for (let i = 0; i < hooks.length; i++) hooks[i].flags |= 4;
|
|
@@ -7163,7 +7291,7 @@ function isVaporComponent(type) {
|
|
|
7163
7291
|
/**
|
|
7164
7292
|
* shared between vdom and vapor
|
|
7165
7293
|
*/
|
|
7166
|
-
function getInheritedScopeIds(vnode, parentComponent) {
|
|
7294
|
+
function getInheritedScopeIds(vnode, parentComponent, includeVaporRootIds = true) {
|
|
7167
7295
|
const inheritedScopeIds = [];
|
|
7168
7296
|
let currentParent = parentComponent;
|
|
7169
7297
|
let currentVNode = vnode;
|
|
@@ -7178,6 +7306,8 @@ function getInheritedScopeIds(vnode, parentComponent) {
|
|
|
7178
7306
|
currentParent = currentParent.parent;
|
|
7179
7307
|
} else break;
|
|
7180
7308
|
}
|
|
7309
|
+
const vaporScopeIds = includeVaporRootIds && currentVNode.vaporScopeIds;
|
|
7310
|
+
if (vaporScopeIds) inheritedScopeIds.push(...vaporScopeIds);
|
|
7181
7311
|
return inheritedScopeIds;
|
|
7182
7312
|
}
|
|
7183
7313
|
function resolveAsyncComponentPlaceholder(anchorVnode) {
|
|
@@ -7237,7 +7367,7 @@ function patchSuspense(n1, n2, container, anchor, parentComponent, namespace, sl
|
|
|
7237
7367
|
patch(pendingBranch, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, namespace, slotScopeIds, optimized);
|
|
7238
7368
|
if (suspense.deps <= 0) suspense.resolve();
|
|
7239
7369
|
else if (isInFallback) {
|
|
7240
|
-
if (!isHydrating) {
|
|
7370
|
+
if (!isHydrating && !suspense.isFallbackMountPending) {
|
|
7241
7371
|
patch(activeBranch, newFallback, container, anchor, parentComponent, null, namespace, slotScopeIds, optimized);
|
|
7242
7372
|
setActiveBranch(suspense, newFallback);
|
|
7243
7373
|
}
|
|
@@ -7258,7 +7388,7 @@ function patchSuspense(n1, n2, container, anchor, parentComponent, namespace, sl
|
|
|
7258
7388
|
if (isInFallback) {
|
|
7259
7389
|
patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, namespace, slotScopeIds, optimized);
|
|
7260
7390
|
if (suspense.deps <= 0) suspense.resolve();
|
|
7261
|
-
else {
|
|
7391
|
+
else if (!suspense.isFallbackMountPending) {
|
|
7262
7392
|
patch(activeBranch, newFallback, container, anchor, parentComponent, null, namespace, slotScopeIds, optimized);
|
|
7263
7393
|
setActiveBranch(suspense, newFallback);
|
|
7264
7394
|
}
|
|
@@ -7375,8 +7505,9 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
|
|
|
7375
7505
|
const mountFallback = () => {
|
|
7376
7506
|
suspense.isFallbackMountPending = false;
|
|
7377
7507
|
if (!suspense.isInFallback) return;
|
|
7378
|
-
|
|
7379
|
-
|
|
7508
|
+
const latestFallback = suspense.vnode.ssFallback;
|
|
7509
|
+
patch(null, latestFallback, container, anchor, parentComponent, null, namespace, slotScopeIds, optimized);
|
|
7510
|
+
setActiveBranch(suspense, latestFallback);
|
|
7380
7511
|
};
|
|
7381
7512
|
const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === "out-in";
|
|
7382
7513
|
if (delayEnter) {
|
|
@@ -7448,9 +7579,10 @@ function normalizeSuspenseSlot(s) {
|
|
|
7448
7579
|
return s;
|
|
7449
7580
|
}
|
|
7450
7581
|
function queueEffectWithSuspense(fn, id, suspense) {
|
|
7451
|
-
if (suspense && suspense.pendingBranch)
|
|
7452
|
-
|
|
7453
|
-
|
|
7582
|
+
if (suspense && suspense.pendingBranch) {
|
|
7583
|
+
if (isArray(fn)) suspense.effects.push(...fn);
|
|
7584
|
+
else suspense.effects.push(fn);
|
|
7585
|
+
} else queuePostFlushCb(fn, id);
|
|
7454
7586
|
}
|
|
7455
7587
|
function setActiveBranch(suspense, branch) {
|
|
7456
7588
|
suspense.activeBranch = branch;
|
|
@@ -7653,8 +7785,10 @@ function _createVNode(type, props = null, children = null, patchFlag = 0, dynami
|
|
|
7653
7785
|
if (isVNode(type)) {
|
|
7654
7786
|
const cloned = cloneVNode(type, props, true);
|
|
7655
7787
|
if (children) normalizeChildren(cloned, children);
|
|
7656
|
-
if (isBlockTreeEnabled > 0 && !isBlockNode && currentBlock)
|
|
7657
|
-
|
|
7788
|
+
if (isBlockTreeEnabled > 0 && !isBlockNode && currentBlock) {
|
|
7789
|
+
if (cloned.shapeFlag & 6) currentBlock[currentBlock.indexOf(type)] = cloned;
|
|
7790
|
+
else currentBlock.push(cloned);
|
|
7791
|
+
}
|
|
7658
7792
|
cloned.patchFlag = -2;
|
|
7659
7793
|
return cloned;
|
|
7660
7794
|
}
|
|
@@ -7711,7 +7845,9 @@ function cloneVNode(vnode, extraProps, mergeRef = false, cloneTransition = false
|
|
|
7711
7845
|
ce: vnode.ce,
|
|
7712
7846
|
vi: vnode.vi,
|
|
7713
7847
|
vs: cloneVaporSlotMeta(vnode),
|
|
7714
|
-
vb: vnode.vb
|
|
7848
|
+
vb: vnode.vb,
|
|
7849
|
+
ibu: vnode.ibu,
|
|
7850
|
+
iu: vnode.iu
|
|
7715
7851
|
};
|
|
7716
7852
|
if (transition && cloneTransition) setTransitionHooks(cloned, transition.clone(cloned));
|
|
7717
7853
|
defineLegacyVNodeProperties(cloned);
|
|
@@ -7766,25 +7902,28 @@ function normalizeChildren(vnode, children) {
|
|
|
7766
7902
|
const { shapeFlag } = vnode;
|
|
7767
7903
|
if (children == null) children = null;
|
|
7768
7904
|
else if (isArray(children)) type = 16;
|
|
7769
|
-
else if (typeof children === "object")
|
|
7770
|
-
|
|
7771
|
-
|
|
7772
|
-
|
|
7773
|
-
|
|
7774
|
-
|
|
7775
|
-
|
|
7776
|
-
|
|
7777
|
-
|
|
7778
|
-
|
|
7779
|
-
|
|
7780
|
-
|
|
7781
|
-
|
|
7782
|
-
|
|
7783
|
-
|
|
7784
|
-
|
|
7905
|
+
else if (typeof children === "object") {
|
|
7906
|
+
if (shapeFlag & 65) {
|
|
7907
|
+
const slot = children.default;
|
|
7908
|
+
if (slot) {
|
|
7909
|
+
slot._c && (slot._d = false);
|
|
7910
|
+
normalizeChildren(vnode, slot());
|
|
7911
|
+
slot._c && (slot._d = true);
|
|
7912
|
+
}
|
|
7913
|
+
return;
|
|
7914
|
+
} else {
|
|
7915
|
+
type = 32;
|
|
7916
|
+
const slotFlag = children._;
|
|
7917
|
+
if (!slotFlag && !isInternalObject(children)) children._ctx = currentRenderingInstance;
|
|
7918
|
+
else if (slotFlag === 3 && currentRenderingInstance) {
|
|
7919
|
+
if (currentRenderingInstance.slots._ === 1) children._ = 1;
|
|
7920
|
+
else {
|
|
7921
|
+
children._ = 2;
|
|
7922
|
+
vnode.patchFlag |= 1024;
|
|
7923
|
+
}
|
|
7924
|
+
}
|
|
7785
7925
|
}
|
|
7786
|
-
}
|
|
7787
|
-
else if (isFunction(children)) {
|
|
7926
|
+
} else if (isFunction(children)) {
|
|
7788
7927
|
if (shapeFlag & 65) {
|
|
7789
7928
|
normalizeChildren(vnode, { default: children });
|
|
7790
7929
|
return;
|
|
@@ -7896,7 +8035,7 @@ const useInstanceOption = (key, silent = false) => {
|
|
|
7896
8035
|
};
|
|
7897
8036
|
//#endregion
|
|
7898
8037
|
//#region packages/runtime-core/src/component.ts
|
|
7899
|
-
const emptyAppContext =
|
|
8038
|
+
const emptyAppContext = /*@__PURE__*/ createAppContext();
|
|
7900
8039
|
let uid = 0;
|
|
7901
8040
|
function createComponentInstance(vnode, parent, suspense) {
|
|
7902
8041
|
const type = vnode.type;
|
|
@@ -8021,9 +8160,10 @@ function setupStatefulComponent(instance, isSSR) {
|
|
|
8021
8160
|
} else finishComponentSetup(instance, isSSR);
|
|
8022
8161
|
}
|
|
8023
8162
|
function handleSetupResult(instance, setupResult, isSSR) {
|
|
8024
|
-
if (isFunction(setupResult))
|
|
8025
|
-
|
|
8026
|
-
|
|
8163
|
+
if (isFunction(setupResult)) {
|
|
8164
|
+
if (instance.type.__ssrInlineRender) instance.ssrRender = setupResult;
|
|
8165
|
+
else instance.render = setupResult;
|
|
8166
|
+
} else if (isObject(setupResult)) instance.setupState = proxyRefs(setupResult);
|
|
8027
8167
|
finishComponentSetup(instance, isSSR);
|
|
8028
8168
|
}
|
|
8029
8169
|
let compile$1;
|
|
@@ -8122,11 +8262,12 @@ function h(type, propsOrChildren, children) {
|
|
|
8122
8262
|
try {
|
|
8123
8263
|
setBlockTracking(-1);
|
|
8124
8264
|
const l = arguments.length;
|
|
8125
|
-
if (l === 2)
|
|
8126
|
-
if (
|
|
8127
|
-
|
|
8128
|
-
|
|
8129
|
-
|
|
8265
|
+
if (l === 2) {
|
|
8266
|
+
if (isObject(propsOrChildren) && !isArray(propsOrChildren)) {
|
|
8267
|
+
if (isVNode(propsOrChildren)) return createVNode(type, null, [propsOrChildren]);
|
|
8268
|
+
return createVNode(type, propsOrChildren);
|
|
8269
|
+
} else return createVNode(type, null, propsOrChildren);
|
|
8270
|
+
} else {
|
|
8130
8271
|
if (l > 3) children = Array.prototype.slice.call(arguments, 2);
|
|
8131
8272
|
else if (l === 3 && isVNode(children)) children = [children];
|
|
8132
8273
|
return createVNode(type, propsOrChildren, children);
|
|
@@ -8137,15 +8278,7 @@ function h(type, propsOrChildren, children) {
|
|
|
8137
8278
|
}
|
|
8138
8279
|
//#endregion
|
|
8139
8280
|
//#region packages/runtime-core/src/customFormatter.ts
|
|
8140
|
-
function initCustomFormatter() {
|
|
8141
|
-
return;
|
|
8142
|
-
function isKeyOfType(Comp, key, type) {
|
|
8143
|
-
const opts = Comp[type];
|
|
8144
|
-
if (isArray(opts) && opts.includes(key) || isObject(opts) && key in opts) return true;
|
|
8145
|
-
if (Comp.extends && isKeyOfType(Comp.extends, key, type)) return true;
|
|
8146
|
-
if (Comp.mixins && Comp.mixins.some((m) => isKeyOfType(m, key, type))) return true;
|
|
8147
|
-
}
|
|
8148
|
-
}
|
|
8281
|
+
function initCustomFormatter() {}
|
|
8149
8282
|
//#endregion
|
|
8150
8283
|
//#region packages/runtime-core/src/helpers/withMemo.ts
|
|
8151
8284
|
function withMemo(memo, render, cache, index) {
|
|
@@ -8165,7 +8298,7 @@ function isMemoSame(cached, memo) {
|
|
|
8165
8298
|
}
|
|
8166
8299
|
//#endregion
|
|
8167
8300
|
//#region packages/runtime-core/src/index.ts
|
|
8168
|
-
const version = "3.6.0-rc.
|
|
8301
|
+
const version = "3.6.0-rc.6";
|
|
8169
8302
|
const warn = NOOP;
|
|
8170
8303
|
/**
|
|
8171
8304
|
* Runtime error messages. Only exposed in dev or esm builds.
|
|
@@ -8209,13 +8342,13 @@ const DeprecationTypes = DeprecationTypes$1;
|
|
|
8209
8342
|
let policy = void 0;
|
|
8210
8343
|
const tt = typeof window !== "undefined" && window.trustedTypes;
|
|
8211
8344
|
if (tt) try {
|
|
8212
|
-
policy =
|
|
8345
|
+
policy = /*@__PURE__*/ tt.createPolicy("vue", { createHTML: (val) => val });
|
|
8213
8346
|
} catch (e) {}
|
|
8214
8347
|
const unsafeToTrustedHTML = policy ? (val) => policy.createHTML(val) : (val) => val;
|
|
8215
8348
|
const svgNS = "http://www.w3.org/2000/svg";
|
|
8216
8349
|
const mathmlNS = "http://www.w3.org/1998/Math/MathML";
|
|
8217
8350
|
const doc = typeof document !== "undefined" ? document : null;
|
|
8218
|
-
const templateContainer = doc &&
|
|
8351
|
+
const templateContainer = doc && /*@__PURE__*/ doc.createElement("template");
|
|
8219
8352
|
const nodeOps = {
|
|
8220
8353
|
insert: (child, parent, anchor) => {
|
|
8221
8354
|
parent.insertBefore(child, anchor || null);
|
|
@@ -8289,7 +8422,7 @@ const DOMTransitionPropsValidators = {
|
|
|
8289
8422
|
leaveActiveClass: String,
|
|
8290
8423
|
leaveToClass: String
|
|
8291
8424
|
};
|
|
8292
|
-
const TransitionPropsValidators =
|
|
8425
|
+
const TransitionPropsValidators = /*@__PURE__*/ extend({}, BaseTransitionPropsValidators, DOMTransitionPropsValidators);
|
|
8293
8426
|
/**
|
|
8294
8427
|
* Wrap logic that attaches extra properties to Transition in a function
|
|
8295
8428
|
* so that it can be annotated as pure
|
|
@@ -8304,7 +8437,7 @@ const decorate$1 = (t) => {
|
|
|
8304
8437
|
* DOM Transition is a higher-order-component based on the platform-agnostic
|
|
8305
8438
|
* base Transition component, with DOM-specific logic.
|
|
8306
8439
|
*/
|
|
8307
|
-
const Transition =
|
|
8440
|
+
const Transition = /*@__PURE__*/ decorate$1((props, { slots }) => h(BaseTransition, resolveTransitionProps(props), slots));
|
|
8308
8441
|
/**
|
|
8309
8442
|
* #3227 Incoming hooks may be merged into arrays when wrapping Transition
|
|
8310
8443
|
* with custom HOCs.
|
|
@@ -8542,14 +8675,15 @@ const vShow = {
|
|
|
8542
8675
|
},
|
|
8543
8676
|
updated(el, { value, oldValue }, { transition }) {
|
|
8544
8677
|
if (!value === !oldValue) return;
|
|
8545
|
-
if (transition)
|
|
8546
|
-
|
|
8547
|
-
|
|
8548
|
-
|
|
8549
|
-
|
|
8550
|
-
|
|
8551
|
-
|
|
8552
|
-
|
|
8678
|
+
if (transition) {
|
|
8679
|
+
if (value) {
|
|
8680
|
+
transition.beforeEnter(el);
|
|
8681
|
+
setDisplay(el, true);
|
|
8682
|
+
transition.enter(el);
|
|
8683
|
+
} else transition.leave(el, () => {
|
|
8684
|
+
setDisplay(el, false);
|
|
8685
|
+
});
|
|
8686
|
+
} else setDisplay(el, value);
|
|
8553
8687
|
},
|
|
8554
8688
|
beforeUnmount(el, { value }) {
|
|
8555
8689
|
setDisplay(el, value);
|
|
@@ -8580,11 +8714,13 @@ function patchStyle(el, prev, next) {
|
|
|
8580
8714
|
const isCssString = isString(next);
|
|
8581
8715
|
let hasControlledDisplay = false;
|
|
8582
8716
|
if (next && !isCssString) {
|
|
8583
|
-
if (prev)
|
|
8584
|
-
|
|
8585
|
-
|
|
8586
|
-
|
|
8587
|
-
|
|
8717
|
+
if (prev) {
|
|
8718
|
+
if (!isString(prev)) {
|
|
8719
|
+
for (const key in prev) if (next[key] == null) setStyle(style, key, "");
|
|
8720
|
+
} else for (const prevStyle of prev.split(";")) {
|
|
8721
|
+
const key = prevStyle.slice(0, prevStyle.indexOf(":")).trim();
|
|
8722
|
+
if (next[key] == null) setStyle(style, key, "");
|
|
8723
|
+
}
|
|
8588
8724
|
}
|
|
8589
8725
|
for (const key in next) {
|
|
8590
8726
|
if (key === "display") hasControlledDisplay = true;
|
|
@@ -8611,8 +8747,10 @@ function setStyle(style, name, rawVal) {
|
|
|
8611
8747
|
if (isArray(rawVal)) rawVal.forEach((v) => setStyle(style, name, v));
|
|
8612
8748
|
else {
|
|
8613
8749
|
const val = rawVal == null ? "" : String(rawVal);
|
|
8614
|
-
if (name.startsWith("--"))
|
|
8615
|
-
|
|
8750
|
+
if (name.startsWith("--")) {
|
|
8751
|
+
if (importantRE.test(val)) style.setProperty(name, val.replace(importantRE, ""), "important");
|
|
8752
|
+
else style.setProperty(name, val);
|
|
8753
|
+
} else {
|
|
8616
8754
|
const prefixed = autoPrefix(style, name);
|
|
8617
8755
|
if (importantRE.test(val)) style.setProperty(hyphenate(prefixed), val.replace(importantRE, ""), "important");
|
|
8618
8756
|
else style[prefixed] = val;
|
|
@@ -8649,15 +8787,16 @@ function shouldPreserveTextareaResizeStyle(el, key, prev, next) {
|
|
|
8649
8787
|
//#region packages/runtime-dom/src/modules/attrs.ts
|
|
8650
8788
|
const xlinkNS = "http://www.w3.org/1999/xlink";
|
|
8651
8789
|
function patchAttr(el, key, value, isSVG, instance, isBoolean = isSpecialBooleanAttr(key)) {
|
|
8652
|
-
if (isSVG && key.startsWith("xlink:"))
|
|
8653
|
-
|
|
8654
|
-
|
|
8790
|
+
if (isSVG && key.startsWith("xlink:")) {
|
|
8791
|
+
if (value == null) el.removeAttributeNS(xlinkNS, key.slice(6, key.length));
|
|
8792
|
+
else el.setAttributeNS(xlinkNS, key, value);
|
|
8793
|
+
} else {
|
|
8655
8794
|
if (compatCoerceAttr(el, key, value, instance)) return;
|
|
8656
8795
|
if (value == null || isBoolean && !includeBooleanAttr(value)) el.removeAttribute(key);
|
|
8657
8796
|
else el.setAttribute(key, isBoolean ? "" : isSymbol(value) ? String(value) : value);
|
|
8658
8797
|
}
|
|
8659
8798
|
}
|
|
8660
|
-
const isEnumeratedAttr =
|
|
8799
|
+
const isEnumeratedAttr = /*@__PURE__*/ makeMap("contenteditable,draggable,spellcheck");
|
|
8661
8800
|
function compatCoerceAttr(el, key, value, instance = null) {
|
|
8662
8801
|
if (isEnumeratedAttr(key)) {
|
|
8663
8802
|
const v2CoercedValue = value === void 0 ? null : value === null || value === false || value === "false" ? "false" : "true";
|
|
@@ -8746,7 +8885,7 @@ function parseEventName(name) {
|
|
|
8746
8885
|
return [name[2] === ":" ? name.slice(3) : hyphenate(name.slice(2)), options];
|
|
8747
8886
|
}
|
|
8748
8887
|
let cachedNow = 0;
|
|
8749
|
-
const p =
|
|
8888
|
+
const p = /*@__PURE__*/ Promise.resolve();
|
|
8750
8889
|
const getNow = () => cachedNow || (p.then(() => cachedNow = 0), cachedNow = Date.now());
|
|
8751
8890
|
function createInvoker(initialValue, instance) {
|
|
8752
8891
|
const invoker = (e) => {
|
|
@@ -8809,7 +8948,7 @@ function shouldSetAsPropForVueCE(el, key) {
|
|
|
8809
8948
|
//#endregion
|
|
8810
8949
|
//#region packages/runtime-dom/src/apiCustomElement.ts
|
|
8811
8950
|
const REMOVAL = {};
|
|
8812
|
-
|
|
8951
|
+
/*@__NO_SIDE_EFFECTS__*/
|
|
8813
8952
|
function defineCustomElement(options, extraOptions, _createApp) {
|
|
8814
8953
|
let Comp = /* @__PURE__ */ defineComponent(options, extraOptions);
|
|
8815
8954
|
if (isPlainObject(Comp)) Comp = extend({}, Comp, extraOptions);
|
|
@@ -8858,12 +8997,14 @@ var VueElementBase = class VueElementBase extends BaseClass {
|
|
|
8858
8997
|
this._parent = parent;
|
|
8859
8998
|
break;
|
|
8860
8999
|
}
|
|
8861
|
-
if (!this._instance)
|
|
8862
|
-
|
|
8863
|
-
this._pendingResolve =
|
|
8864
|
-
|
|
8865
|
-
|
|
8866
|
-
|
|
9000
|
+
if (!this._instance) {
|
|
9001
|
+
if (this._resolved) this._mountComponent(this._def);
|
|
9002
|
+
else if (parent && parent._pendingResolve) this._pendingResolve = parent._pendingResolve.then(() => {
|
|
9003
|
+
this._pendingResolve = void 0;
|
|
9004
|
+
if (this.isConnected) return this._resolveDef();
|
|
9005
|
+
});
|
|
9006
|
+
else this._resolveDef();
|
|
9007
|
+
}
|
|
8867
9008
|
}
|
|
8868
9009
|
disconnectedCallback() {
|
|
8869
9010
|
this._connected = false;
|
|
@@ -9216,7 +9357,7 @@ const decorate = (t) => {
|
|
|
9216
9357
|
};
|
|
9217
9358
|
const TransitionGroup = /* @__PURE__ */ decorate({
|
|
9218
9359
|
name: "TransitionGroup",
|
|
9219
|
-
props:
|
|
9360
|
+
props: /*@__PURE__*/ extend({}, TransitionPropsValidators, {
|
|
9220
9361
|
tag: String,
|
|
9221
9362
|
moveClass: String
|
|
9222
9363
|
}),
|
|
@@ -9497,37 +9638,58 @@ const vModelSelectInit = (el, value, number, set) => {
|
|
|
9497
9638
|
el._modelValue = value;
|
|
9498
9639
|
addEventListener(el, "change", () => {
|
|
9499
9640
|
const selectedVal = Array.prototype.filter.call(el.options, (o) => o.selected).map((o) => number ? looseToNumber(getValue(o)) : getValue(o));
|
|
9500
|
-
|
|
9501
|
-
el.
|
|
9502
|
-
|
|
9503
|
-
|
|
9504
|
-
|
|
9641
|
+
const multiple = el.multiple;
|
|
9642
|
+
const assignedValue = multiple ? isSet(el._modelValue) ? new Set(selectedVal) : selectedVal : selectedVal[0];
|
|
9643
|
+
const pending = el._pendingValue = [multiple, multiple ? isArray(assignedValue) ? selectedVal.slice() : selectedVal : assignedValue];
|
|
9644
|
+
try {
|
|
9645
|
+
(set || el[assignKey])(assignedValue);
|
|
9646
|
+
} finally {
|
|
9647
|
+
nextTick(() => {
|
|
9648
|
+
if (el._pendingValue === pending) el._pendingValue = void 0;
|
|
9649
|
+
});
|
|
9650
|
+
}
|
|
9505
9651
|
});
|
|
9506
9652
|
};
|
|
9653
|
+
function isSameSelectValue(value, assignedValue, multiple) {
|
|
9654
|
+
if (!multiple) return looseEqual(value, assignedValue);
|
|
9655
|
+
if (isArray(value)) return looseEqual(value, assignedValue);
|
|
9656
|
+
if (isSet(value)) {
|
|
9657
|
+
if (value.size !== assignedValue.length) return false;
|
|
9658
|
+
for (const item of assignedValue) if (!value.has(item)) return false;
|
|
9659
|
+
return true;
|
|
9660
|
+
}
|
|
9661
|
+
return false;
|
|
9662
|
+
}
|
|
9507
9663
|
/**
|
|
9508
9664
|
* @internal
|
|
9509
9665
|
*/
|
|
9510
9666
|
const vModelSetSelected = (el, value) => {
|
|
9511
9667
|
el._modelValue = value;
|
|
9512
|
-
|
|
9668
|
+
const pending = el._pendingValue;
|
|
9669
|
+
el._pendingValue = void 0;
|
|
9670
|
+
if (pending && pending[0] === el.multiple && isSameSelectValue(value, pending[1], pending[0])) return;
|
|
9671
|
+
setSelected(el, value);
|
|
9672
|
+
};
|
|
9673
|
+
function setSelected(el, value) {
|
|
9513
9674
|
const isMultiple = el.multiple;
|
|
9514
9675
|
const isArrayValue = isArray(value);
|
|
9515
9676
|
if (isMultiple && !isArrayValue && !isSet(value)) return;
|
|
9516
9677
|
for (let i = 0, l = el.options.length; i < l; i++) {
|
|
9517
9678
|
const option = el.options[i];
|
|
9518
9679
|
const optionValue = getValue(option);
|
|
9519
|
-
if (isMultiple)
|
|
9520
|
-
|
|
9521
|
-
|
|
9522
|
-
|
|
9523
|
-
|
|
9524
|
-
|
|
9680
|
+
if (isMultiple) {
|
|
9681
|
+
if (isArrayValue) {
|
|
9682
|
+
const optionType = typeof optionValue;
|
|
9683
|
+
if (optionType === "string" || optionType === "number") option.selected = value.some((v) => String(v) === String(optionValue));
|
|
9684
|
+
else option.selected = looseIndexOf(value, optionValue) > -1;
|
|
9685
|
+
} else option.selected = value.has(optionValue);
|
|
9686
|
+
} else if (looseEqual(getValue(option), value)) {
|
|
9525
9687
|
if (el.selectedIndex !== i) el.selectedIndex = i;
|
|
9526
9688
|
return;
|
|
9527
9689
|
}
|
|
9528
9690
|
}
|
|
9529
9691
|
if (!isMultiple && el.selectedIndex !== -1) el.selectedIndex = -1;
|
|
9530
|
-
}
|
|
9692
|
+
}
|
|
9531
9693
|
/**
|
|
9532
9694
|
* @internal retrieve raw value set via :value bindings
|
|
9533
9695
|
*/
|
|
@@ -9840,7 +10002,7 @@ var src_exports = /* @__PURE__ */ __exportAll({
|
|
|
9840
10002
|
withModifiers: () => withModifiers,
|
|
9841
10003
|
withScopeId: () => withScopeId
|
|
9842
10004
|
});
|
|
9843
|
-
const rendererOptions =
|
|
10005
|
+
const rendererOptions = /*@__PURE__*/ extend({ patchProp }, nodeOps);
|
|
9844
10006
|
let renderer;
|
|
9845
10007
|
let enabledHydration = false;
|
|
9846
10008
|
function ensureRenderer() {
|
|
@@ -10173,7 +10335,7 @@ function convertToBlock(node, { helper, removeHelper, inSSR }) {
|
|
|
10173
10335
|
//#endregion
|
|
10174
10336
|
//#region node_modules/.pnpm/entities@7.0.1/node_modules/entities/dist/esm/decode-codepoint.js
|
|
10175
10337
|
var _a;
|
|
10176
|
-
const decodeMap = new Map([
|
|
10338
|
+
const decodeMap = /* @__PURE__ */ new Map([
|
|
10177
10339
|
[0, 65533],
|
|
10178
10340
|
[128, 8364],
|
|
10179
10341
|
[130, 8218],
|
|
@@ -10241,7 +10403,7 @@ function decodeBase64(input) {
|
|
|
10241
10403
|
}
|
|
10242
10404
|
//#endregion
|
|
10243
10405
|
//#region node_modules/.pnpm/entities@7.0.1/node_modules/entities/dist/esm/generated/decode-data-html.js
|
|
10244
|
-
const htmlDecodeTree = /* @__PURE__ */ decodeBase64("QR08ALkAAgH6AYsDNQR2BO0EPgXZBQEGLAbdBxMISQrvCmQLfQurDKQNLw4fD4YPpA+6D/IPAAAAAAAAAAAAAAAAKhBMEY8TmxUWF2EYLBkxGuAa3RsJHDscWR8YIC8jSCSIJcMl6ie3Ku8rEC0CLjoupS7kLgAIRU1hYmNmZ2xtbm9wcnN0dVQAWgBeAGUAaQBzAHcAfgCBAIQAhwCSAJoAoACsALMAbABpAGcAO4DGAMZAUAA7gCYAJkBjAHUAdABlADuAwQDBQHIiZXZlAAJhAAFpeW0AcgByAGMAO4DCAMJAEGRyAADgNdgE3XIAYQB2AGUAO4DAAMBA8CFoYZFj4SFjcgBhZAAAoFMqAAFncIsAjgBvAG4ABGFmAADgNdg43fAlbHlGdW5jdGlvbgCgYSBpAG4AZwA7gMUAxUAAAWNzpACoAHIAAOA12Jzc6SFnbgCgVCJpAGwAZABlADuAwwDDQG0AbAA7gMQAxEAABGFjZWZvcnN1xQDYANoA7QDxAPYA+QD8AAABY3LJAM8AayNzbGFzaAAAoBYidgHTANUAAKDnKmUAZAAAoAYjeQARZIABY3J0AOAA5QDrAGEidXNlAACgNSLuI291bGxpcwCgLCFhAJJjcgAA4DXYBd1wAGYAAOA12Dnd5SF2ZdhiYwDyAOoAbSJwZXEAAKBOIgAHSE9hY2RlZmhpbG9yc3UXARoBHwE6AVIBVQFiAWQBZgGCAakB6QHtAfIBYwB5ACdkUABZADuAqQCpQIABY3B5ACUBKAE1AfUhdGUGYWmg0iJ0KGFsRGlmZmVyZW50aWFsRAAAoEUhbCJleXMAAKAtIQACYWVpb0EBRAFKAU0B8iFvbgxhZABpAGwAO4DHAMdAcgBjAAhhbiJpbnQAAKAwIm8AdAAKYQABZG5ZAV0BaSJsbGEAuGB0I2VyRG90ALdg8gA5AWkAp2NyImNsZQAAAkRNUFRwAXQBeQF9AW8AdAAAoJkiaSJudXMAAKCWIuwhdXMAoJUiaSJtZXMAAKCXIm8AAAFjc4cBlAFrKndpc2VDb250b3VySW50ZWdyYWwAAKAyImUjQ3VybHkAAAFEUZwBpAFvJXVibGVRdW90ZQAAoB0gdSJvdGUAAKAZIAACbG5wdbABtgHNAdgBbwBuAGWgNyIAoHQqgAFnaXQAvAHBAcUB8iJ1ZW50AKBhIm4AdAAAoC8i7yV1ckludGVncmFsAKAuIgABZnLRAdMBAKACIe8iZHVjdACgECJuLnRlckNsb2Nrd2lzZUNvbnRvdXJJbnRlZ3JhbAAAoDMi7yFzcwCgLypjAHIAAOA12J7ccABDoNMiYQBwAACgTSKABURKU1phY2VmaW9zAAsCEgIVAhgCGwIsAjQCOQI9AnMCfwNvoEUh9CJyYWhkAKARKWMAeQACZGMAeQAFZGMAeQAPZIABZ3JzACECJQIoAuchZXIAoCEgcgAAoKEhaAB2AACg5CoAAWF5MAIzAvIhb24OYRRkbAB0oAciYQCUY3IAAOA12AfdAAFhZkECawIAAWNtRQJnAvIjaXRpY2FsAAJBREdUUAJUAl8CYwJjInV0ZQC0YG8AdAFZAloC2WJiJGxlQWN1dGUA3WJyImF2ZQBgYGkibGRlANxi7yFuZACgxCJmJWVyZW50aWFsRAAAoEYhcAR9AgAAAAAAAIECjgIAABoDZgAA4DXYO91EoagAhQKJAm8AdAAAoNwgcSJ1YWwAAKBQIuIhbGUAA0NETFJVVpkCqAK1Au8C/wIRA28AbgB0AG8AdQByAEkAbgB0AGUAZwByAGEA7ADEAW8AdAKvAgAAAACwAqhgbiNBcnJvdwAAoNMhAAFlb7kC0AJmAHQAgAFBUlQAwQLGAs0CciJyb3cAAKDQIekkZ2h0QXJyb3cAoNQhZQDlACsCbgBnAAABTFLWAugC5SFmdAABQVLcAuECciJyb3cAAKD4J+kkZ2h0QXJyb3cAoPon6SRnaHRBcnJvdwCg+SdpImdodAAAAUFU9gL7AnIicm93AACg0iFlAGUAAKCoInAAQQIGAwAAAAALA3Iicm93AACg0SFvJHduQXJyb3cAAKDVIWUlcnRpY2FsQmFyAACgJSJuAAADQUJMUlRhJAM2AzoDWgNxA3oDciJyb3cAAKGTIUJVLAMwA2EAcgAAoBMpcCNBcnJvdwAAoPUhciJldmUAEWPlIWZ00gJDAwAASwMAAFIDaSVnaHRWZWN0b3IAAKBQKWUkZVZlY3RvcgAAoF4p5SJjdG9yQqC9IWEAcgAAoFYpaSJnaHQA1AFiAwAAaQNlJGVWZWN0b3IAAKBfKeUiY3RvckKgwSFhAHIAAKBXKWUAZQBBoKQiciJyb3cAAKCnIXIAcgBvAPcAtAIAAWN0gwOHA3IA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YwAAoN8i4SFycnCgtiEAoD0pgKIqImJjZG9zACsVMBU6FT4VQRVyImNhcAAAoEgqAAFhdTQVNxVwAACgRipwAACgSipvAHQAAKCNInIAAKBFKgDgKiIA/gACYWxydksVURVuFXMVcgByAG2gtyEAoDwpeQCAAWV2dwBYFWUVaRVxAHACXxUAAAAAYxVyAGUA4wAXFXUA4wAZFWUAZQAAoM4iZSJkZ2UAAKDPImUAbgA7gKQApEBlI2Fycm93AAABbHJ7FX8V5SFmdACgtiFpImdodAAAoLchZQDkAG0VAAFjaYsVkRVvAG4AaQBuAPQAkwFuAHQAAKAxImwiY3R5AACgLSOACUFIYWJjZGVmaGlqbG9yc3R1d3oAuBW7Fb8V1RXgFegV+RUKFhUWHxZUFlcWZRbFFtsW7xb7FgUXChdyAPIAtAJhAHIAAKBlKQACZ2xyc8YVyhXOFdAV5yFlcgCgICDlIXRoAKA4IfIA9QxoAHagECAAoKMiawHZFd4VYSJyb3cAAKAPKWEA4wBfAgABYXnkFecV8iFvbg9hNGQAoUYhYW/tFfQVAAFnciEC8RVyAACgyiF0InNlcQAAoHcqgAFnbG0A/xUCFgUWO4CwALBAdABhALRjcCJ0eXYAAKCxKQABaXIOFhIW8yFodACgfykA4DXYId1hAHIAAAFschsWHRYAoMMhAKDCIYACYWVnc3YAKBauAjYWOhY+Fm0AAKHEIm9zLhY0Fm4AZABzoMQi9SFpdACgZiZhIm1tYQDdY2kAbgAAoPIiAKH3AGlvQxZRFmQAZQAAgfcAO29KFksW90BuI3RpbWVzAACgxyJuAPgAUBZjAHkAUmRjAG8CXhYAAAAAYhZyAG4AAKAeI28AcAAAoA0jgAJscHR1dwBuFnEWdRaSFp4W7CFhciRgZgAA4DXYVd0AotkCZW1wc30WhBaJFo0WcQBkoFAibwB0AACgUSJpIm51cwAAoDgi7CF1cwCgFCLxInVhcmUAoKEiYgBsAGUAYgBhAHIAdwBlAGQAZwDlANcAbgCAAWFkaAClFqoWtBZyAHIAbwD3APUMbwB3AG4AYQByAHIAbwB3APMA8xVhI3Jwb29uAAABbHK8FsAWZQBmAPQAHBZpAGcAaAD0AB4WYgHJFs8WawBhAHIAbwD3AJILbwLUFgAAAADYFnIAbgAAoB8jbwBwAACgDCOAAWNvdADhFukW7BYAAXJ55RboFgDgNdi53FVkbAAAoPYp8iFvaxFhAAFkcvMW9xZvAHQAAKDxImkA5qC/JVsSAAFhaP8WAhdyAPIANQNhAPIA1wvhIm5nbGUAoKYpAAFjaQ4XEBd5AF9k5yJyYXJyAKD/JwAJRGFjZGVmZ2xtbm9wcXJzdHV4MRc4F0YXWxcyBF4XaRd5F40XrBe0F78X2RcVGCEYLRg1GEAYAAFEbzUXgRZvAPQA+BUAAWNzPBdCF3UAdABlADuA6QDpQPQhZXIAoG4qAAJhaW95TRdQF1YXWhfyIW9uG2FyAGOgViI7gOoA6kDsIW9uAKBVIk1kbwB0ABdhAAFEcmIXZhdvAHQAAKBSIgDgNdgi3XKhmipuF3QXYQB2AGUAO4DoAOhAZKCWKm8AdAAAoJgqgKGZKmlscwCAF4UXhxfuInRlcnMAoOcjAKATIWSglSpvAHQAAKCXKoABYXBzAJMXlheiF2MAcgATYXQAeQBzogUinxcAAAAAoRdlAHQAAKAFInAAMaADIDMBqRerFwCgBCAAoAUgAAFnc7AXsRdLYXAAAKACIAABZ3C4F7sXbwBuABlhZgAA4DXYVt2AAWFscwDFF8sXzxdyAHOg1SJsAACg4yl1AHMAAKBxKmkAAKG1A2x21RfYF28AbgC1Y/VjAAJjc3V24BfoF/0XEBgAAWlv5BdWF3IAYwAAoFYiaQLuFwAAAADwF+0ADQThIW50AAFnbPUX+Rd0AHIAAKCWKuUhc3MAoJUqgAFhZWkAAxgGGAoYbABzAD1gcwB0AACgXyJ2AESgYSJEAACgeCrwImFyc2wAoOUpAAFEYRkYHRhvAHQAAKBTInIAcgAAoHEpgAFjZGkAJxgqGO0XcgAAoC8hbwD0AIwCAAFhaDEYMhi3YzuA8ADwQAABbXI5GD0YbAA7gOsA60BvAACgrCCAAWNpcABGGEgYSxhsACFgcwD0ACwEAAFlb08YVxhjAHQAYQB0AGkAbwDuABoEbgBlAG4AdABpAGEAbADlADME4Ql1GAAAgRgAAIMYiBgAAAAAoRilGAAAqhgAALsYvhjRGAAA1xgnGWwAbABpAG4AZwBkAG8AdABzAGUA8QBlF3kARGRtImFsZQAAoEAmgAFpbHIAjRiRGJ0Y7CFpZwCgA/tpApcYAAAAAJoYZwAAoAD7aQBnAACgBPsA4DXYI93sIWlnAKAB++whaWcA4GYAagCAAWFsdACvGLIYthh0AACgbSZpAGcAAKAC+24AcwAAoLElbwBmAJJh8AHCGAAAxhhmAADgNdhX3QABYWvJGMwYbADsAGsEdqDUIgCg2SphI3J0aW50AACgDSoAAWFv2hgiGQABY3PeGB8ZsQPnGP0YBRkSGRUZAAAdGbID7xjyGPQY9xj5GAAA+xg7gL0AvUAAoFMhO4C8ALxAAKBVIQCgWSEAoFshswEBGQAAAxkAoFQhAKBWIbQCCxkOGQAAAAAQGTuAvgC+QACgVyEAoFwhNQAAoFghtgEZGQAAGxkAoFohAKBdITgAAKBeIWwAAKBEIHcAbgAAoCIjYwByAADgNdi73IAIRWFiY2RlZmdpamxub3JzdHYARhlKGVoZXhlmGWkZkhmWGZkZnRmgGa0ZxhnLGc8Z4BkjGmygZyIAoIwqgAFjbXAAUBlTGVgZ9SF0ZfVhbQBhAOSgswM6FgCghipyImV2ZQAfYQABaXliGWUZcgBjAB1hM2RvAHQAIWGAoWUibHFzAMYEcBl6GfGhZSLOBAAAdhlsAGEAbgD0AN8EgKF+KmNkbACBGYQZjBljAACgqSpvAHQAb6CAKmyggioAoIQqZeDbIgD+cwAAoJQqcgAA4DXYJN3noGsirATtIWVsAKA3IWMAeQBTZIChdyJFYWoApxmpGasZAKCSKgCgpSoAoKQqAAJFYWVztBm2Gb0ZwhkAoGkicABwoIoq8iFveACgiipxoIgq8aCIKrUZaQBtAACg5yJwAGYAAOA12FjdYQB2AOUAYwIAAWNp0xnWGXIAAKAKIW0AAKFzImVs3BneGQCgjioAoJAqAIM+ADtjZGxxco0E6xn0GfgZ/BkBGgABY2nvGfEZAKCnKnIAAKB6Km8AdAAAoNci0CFhcgCglSl1ImVzdAAAoHwqgAJhZGVscwAKGvQZFhrVBCAa8AEPGgAAFBpwAHIAbwD4AFkZcgAAoHgpcQAAAWxxxAQbGmwAZQBzAPMASRlpAO0A5AQAAWVuJxouGnIjdG5lcXEAAOBpIgD+xQAsGgAFQWFiY2Vma29zeUAaQxpmGmoabRqDGocalhrCGtMacgDyAMwCAAJpbG1yShpOGlAaVBpyAHMA8ABxD2YAvWBpAGwA9AASBQABZHJYGlsaYwB5AEpkAKGUIWN3YBpkGmkAcgAAoEgpAKCtIWEAcgAAoA8h6SFyYyVhgAFhbHIAcxp7Gn8a8iF0c3WgZSZpAHQAAKBlJuwhaXAAoCYg4yFvbgCguSJyAADgNdgl3XMAAAFld4wakRphInJvdwAAoCUpYSJyb3cAAKAmKYACYW1vcHIAnxqjGqcauhq+GnIAcgAAoP8h9CFodACgOyJrAAABbHKsGrMaZSRmdGFycm93AACgqSHpJGdodGFycm93AKCqIWYAAOA12Fnd4iFhcgCgFSCAAWNsdADIGswa0BpyAADgNdi93GEAcwDoAGka8iFvaydhAAFicNca2xr1IWxsAKBDIOghZW4AoBAg4Qr2GgAA/RoAAAgbExsaGwAAIRs7GwAAAAA+G2IbmRuVG6sbAACyG80b0htjAHUAdABlADuA7QDtQAChYyBpeQEbBhtyAGMAO4DuAO5AOGQAAWN4CxsNG3kANWRjAGwAO4ChAKFAAAFmcssCFhsA4DXYJt1yAGEAdgBlADuA7ADsQIChSCFpbm8AJxsyGzYbAAFpbisbLxtuAHQAAKAMKnQAAKAtIuYhaW4AoNwpdABhAACgKSHsIWlnM2GAAWFvcABDG1sbXhuAAWNndABJG0sbWRtyACthgAFlbHAAcQVRG1UbaQBuAOUAyAVhAHIA9AByBWgAMWFmAACgtyJlAGQAtWEAoggiY2ZvdGkbbRt1G3kb4SFyZQCgBSFpAG4AdKAeImkAZQAAoN0pZABvAPQAWxsAoisiY2VscIEbhRuPG5QbYQBsAACguiIAAWdyiRuNG2UAcgDzACMQ4wCCG2EicmhrAACgFyryIW9kAKA8KgACY2dwdJ8boRukG6gbeQBRZG8AbgAvYWYAAOA12FrdYQC5Y3UAZQBzAHQAO4C/AL9AAAFjabUbuRtyAADgNdi+3G4AAKIIIkVkc3bCG8QbyBvQAwCg+SJvAHQAAKD1Inag9CIAoPMiaaBiIOwhZGUpYesB1hsAANkbYwB5AFZkbAA7gO8A70AAA2NmbW9zdeYb7hvyG/Ub+hsFHAABaXnqG+0bcgBjADVhOWRyAADgNdgn3eEhdGg3YnAAZgAA4DXYW93jAf8bAAADHHIAAOA12L/c8iFjeVhk6yFjeVRkAARhY2ZnaGpvcxUcGhwiHCYcKhwtHDAcNRzwIXBhdqC6A/BjAAFleR4cIRzkIWls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ZmdobG1vcHJzdHV3CiwNLBEsHSwnLDEsQCxLLFIsYix6LIQsjyzLLOgs7Sz/LAotcgDyAAkDYQByAACgYykAAWNyFSwbLHUAdABlADuA+gD6QPIACQ1yAOMBIywAACUseQBeZHYAZQBtYQABaXkrLDAscgBjADuA+wD7QENkgAFhYmgANyw6LD0scgDyANEO7CFhY3FhYQDyAOAOAAFpckQsSCzzIWh0AKB+KQDgNdgy3XIAYQB2AGUAO4D5APlAYQFWLF8scgAAAWxyWixcLACgvyEAoL4hbABrAACggCUAAWN0Zix2LG8CbCwAAAAAcyxyAG4AZaAcI3IAAKAcI28AcAAAoA8jcgBpAACg+CUAAWFsfiyBLGMAcgBrYTuAqACoQAABZ3CILIssbwBuAHNhZgAA4DXYZt0AA2FkaGxzdZksniynLLgsuyzFLHIAcgBvAPcACQ1vAHcAbgBhAHIAcgBvAPcA2A5hI3Jwb29uAAABbHKvLLMsZQBmAPQAWyxpAGcAaAD0AF0sdQDzAKYOaQAAocUDaGzBLMIs0mNvAG4AxWPwI2Fycm93cwCgyCGAAWNpdADRLOEs5CxvAtcsAAAAAN4scgBuAGWgHSNyAACgHSNvAHAAAKAOI24AZwBvYXIAaQAAoPklYwByAADgNdjK3IABZGlyAPMs9yz6LG8AdAAAoPAi7CFkZWlhaQBmoLUlAKC0JQABYW0DLQYtcgDyAMosbAA7gPwA/EDhIm5nbGUAoKcpgAdBQkRhY2RlZmxub3Byc3oAJy0qLTAtNC2bLZ0toS2/LcMtxy3TLdgt3C3gLfwtcgDyABADYQByAHag6CoAoOkqYQBzAOgA/gIAAW5yOC08LechcnQAoJwpgANla25wcnN0AJkpSC1NLVQtXi1iLYItYQBwAHAA4QAaHG8AdABoAGkAbgDnAKEXgAFoaXIAoSmzJFotbwBwAPQAdCVooJUh7wD4JgABaXVmLWotZwBtAOEAuygAAWJwbi14LXMjZXRuZXEAceCKIgD+AODLKgD+cyNldG5lcQBx4IsiAP4A4MwqAP4AAWhyhi2KLWUAdADhABIraSNhbmdsZQAAAWxyki2WLeUhZnQAoLIiaSJnaHQAAKCzInkAMmThIXNoAKCiIoABZWxyAKcttC24LWKiKCKuLQAAAACyLWEAcgAAoLsicQAAoFoi7CFpcACg7iIAAWJ0vC1eD2EA8gBfD3IAAOA12DPddAByAOkAlS1zAHUAAAFicM0t0C0A4IIi0iAA4IMi0iBwAGYAAOA12GfdcgBvAPAAWQt0AHIA6QCaLQABY3XkLegtcgAA4DXYy9wAAWJw7C30LW4AAAFFZXUt8S0A4IoiAP5uAAABRWV/LfktAOCLIgD+6SJnemFnAKCaKYADY2Vmb3BycwANLhAuJS4pLiMuLi40LukhcmN1YQABZGkULiEuAAFiZxguHC5hAHIAAKBfKmUAcaAnIgCgWSLlIXJwAKAYIXIAAOA12DTdcABmAADgNdho3WWgQCJhAHQA6ABqD2MAcgAA4DXYzNzjCuQRUC4AAFQuAABYLmIuAAAAAGMubS5wLnQuAAAAAIguki4AAJouJxIqEnQAcgDpAB0ScgAA4DXYNd0AAUFhWy5eLnIA8gDnAnIA8gCTB75jAAFBYWYuaS5yAPIA4AJyAPIAjAdhAPAAeh5pAHMAAKD7IoABZHB0APgReS6DLgABZmx9LoAuAOA12GnddQDzAP8RaQBtAOUABBIAAUFhiy6OLnIA8gDuAnIA8gCaBwABY3GVLgoScgAA4DXYzdwAAXB0nS6hLmwAdQDzACUScgDpACASAARhY2VmaW9zdbEuvC7ELsguzC7PLtQu2S5jAAABdXm2LrsudABlADuA/QD9QE9kAAFpecAuwy5yAGMAd2FLZG4AO4ClAKVAcgAA4DXYNt1jAHkAV2RwAGYAAOA12GrdYwByAADgNdjO3AABY23dLt8ueQBOZGwAO4D/AP9AAAVhY2RlZmhpb3N38y73Lv8uAi8MLxAvEy8YLx0vIi9jInV0ZQB6YQABYXn7Lv4u8iFvbn5hN2RvAHQAfGEAAWV0Bi8KL3QAcgDmAB8QYQC2Y3IAAOA12DfdYwB5ADZk5yJyYXJyAKDdIXAAZgAA4DXYa91jAHIAAOA12M/cAAFqbiYvKC8AoA0gagAAoAwg");
|
|
10406
|
+
const htmlDecodeTree = /* #__PURE__ */ decodeBase64("QR08ALkAAgH6AYsDNQR2BO0EPgXZBQEGLAbdBxMISQrvCmQLfQurDKQNLw4fD4YPpA+6D/IPAAAAAAAAAAAAAAAAKhBMEY8TmxUWF2EYLBkxGuAa3RsJHDscWR8YIC8jSCSIJcMl6ie3Ku8rEC0CLjoupS7kLgAIRU1hYmNmZ2xtbm9wcnN0dVQAWgBeAGUAaQBzAHcAfgCBAIQAhwCSAJoAoACsALMAbABpAGcAO4DGAMZAUAA7gCYAJkBjAHUAdABlADuAwQDBQHIiZXZlAAJhAAFpeW0AcgByAGMAO4DCAMJAEGRyAADgNdgE3XIAYQB2AGUAO4DAAMBA8CFoYZFj4SFjcgBhZAAAoFMqAAFncIsAjgBvAG4ABGFmAADgNdg43fAlbHlGdW5jdGlvbgCgYSBpAG4AZwA7gMUAxUAAAWNzpACoAHIAAOA12Jzc6SFnbgCgVCJpAGwAZABlADuAwwDDQG0AbAA7gMQAxEAABGFjZWZvcnN1xQDYANoA7QDxAPYA+QD8AAABY3LJAM8AayNzbGFzaAAAoBYidgHTANUAAKDnKmUAZAAAoAYjeQARZIABY3J0AOAA5QDrAGEidXNlAACgNSLuI291bGxpcwCgLCFhAJJjcgAA4DXYBd1wAGYAAOA12Dnd5SF2ZdhiYwDyAOoAbSJwZXEAAKBOIgAHSE9hY2RlZmhpbG9yc3UXARoBHwE6AVIBVQFiAWQBZgGCAakB6QHtAfIBYwB5ACdkUABZADuAqQCpQIABY3B5ACUBKAE1AfUhdGUGYWmg0iJ0KGFsRGlmZmVyZW50aWFsRAAAoEUhbCJleXMAAKAtIQACYWVpb0EBRAFKAU0B8iFvbgxhZABpAGwAO4DHAMdAcgBjAAhhbiJpbnQAAKAwIm8AdAAKYQABZG5ZAV0BaSJsbGEAuGB0I2VyRG90ALdg8gA5AWkAp2NyImNsZQAAAkRNUFRwAXQBeQF9AW8AdAAAoJkiaSJudXMAAKCWIuwhdXMAoJUiaSJtZXMAAKCXIm8AAAFjc4cBlAFrKndpc2VDb250b3VySW50ZWdyYWwAAKAyImUjQ3VybHkAAAFEUZwBpAFvJXVibGVRdW90ZQAAoB0gdSJvdGUAAKAZIAACbG5wdbABtgHNAdgBbwBuAGWgNyIAoHQqgAFnaXQAvAHBAcUB8iJ1ZW50AKBhIm4AdAAAoC8i7yV1ckludGVncmFsAKAuIgABZnLRAdMBAKACIe8iZHVjdACgECJuLnRlckNsb2Nrd2lzZUNvbnRvdXJJbnRlZ3JhbAAAoDMi7yFzcwCgLypjAHIAAOA12J7ccABDoNMiYQBwAACgTSKABURKU1phY2VmaW9zAAsCEgIVAhgCGwIsAjQCOQI9AnMCfwNvoEUh9CJyYWhkAKARKWMAeQACZGMAeQAFZGMAeQAPZIABZ3JzACECJQIoAuchZXIAoCEgcgAAoKEhaAB2AACg5CoAAWF5MAIzAvIhb24OYRRkbAB0oAciYQCUY3IAAOA12AfdAAFhZkECawIAAWNtRQJnAvIjaXRpY2FsAAJBREdUUAJUAl8CYwJjInV0ZQC0YG8AdAFZAloC2WJiJGxlQWN1dGUA3WJyImF2ZQBgYGkibGRlANxi7yFuZACgxCJmJWVyZW50aWFsRAAAoEYhcAR9AgAAAAAAAIECjgIAABoDZgAA4DXYO91EoagAhQKJAm8AdAAAoNwgcSJ1YWwAAKBQIuIhbGUAA0NETFJVVpkCqAK1Au8C/wIRA28AbgB0AG8AdQByAEkAbgB0AGUAZwByAGEA7ADEAW8AdAKvAgAAAACwAqhgbiNBcnJvdwAAoNMhAAFlb7kC0AJmAHQAgAFBUlQAwQLGAs0CciJyb3cAAKDQIekkZ2h0QXJyb3cAoNQhZQDlACsCbgBnAAABTFLWAugC5SFmdAABQVLcAuECciJyb3cAAKD4J+kkZ2h0QXJyb3cAoPon6SRnaHRBcnJvdwCg+SdpImdodAAAAUFU9gL7AnIicm93AACg0iFlAGUAAKCoInAAQQIGAwAAAAALA3Iicm93AACg0SFvJHduQXJyb3cAAKDVIWUlcnRpY2FsQmFyAACgJSJuAAADQUJMUlRhJAM2AzoDWgNxA3oDciJyb3cAAKGTIUJVLAMwA2EAcgAAoBMpcCNBcnJvdwAAoPUhciJldmUAEWPlIWZ00gJDAwAASwMAAFIDaSVnaHRWZWN0b3IAAKBQKWUkZVZlY3RvcgAAoF4p5SJjdG9yQqC9IWEAcgAAoFYpaSJnaHQA1AFiAwAAaQNlJGVWZWN0b3IAAKBfKeUiY3RvckKgwSFhAHIAAKBXKWUAZQBBoKQiciJyb3cAAKCnIXIAcgBvAPcAtAIAAWN0gwOHA3IA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YwAAoN8i4SFycnCgtiEAoD0pgKIqImJjZG9zACsVMBU6FT4VQRVyImNhcAAAoEgqAAFhdTQVNxVwAACgRipwAACgSipvAHQAAKCNInIAAKBFKgDgKiIA/gACYWxydksVURVuFXMVcgByAG2gtyEAoDwpeQCAAWV2dwBYFWUVaRVxAHACXxUAAAAAYxVyAGUA4wAXFXUA4wAZFWUAZQAAoM4iZSJkZ2UAAKDPImUAbgA7gKQApEBlI2Fycm93AAABbHJ7FX8V5SFmdACgtiFpImdodAAAoLchZQDkAG0VAAFjaYsVkRVvAG4AaQBuAPQAkwFuAHQAAKAxImwiY3R5AACgLSOACUFIYWJjZGVmaGlqbG9yc3R1d3oAuBW7Fb8V1RXgFegV+RUKFhUWHxZUFlcWZRbFFtsW7xb7FgUXChdyAPIAtAJhAHIAAKBlKQACZ2xyc8YVyhXOFdAV5yFlcgCgICDlIXRoAKA4IfIA9QxoAHagECAAoKMiawHZFd4VYSJyb3cAAKAPKWEA4wBfAgABYXnkFecV8iFvbg9hNGQAoUYhYW/tFfQVAAFnciEC8RVyAACgyiF0InNlcQAAoHcqgAFnbG0A/xUCFgUWO4CwALBAdABhALRjcCJ0eXYAAKCxKQABaXIOFhIW8yFodACgfykA4DXYId1hAHIAAAFschsWHRYAoMMhAKDCIYACYWVnc3YAKBauAjYWOhY+Fm0AAKHEIm9zLhY0Fm4AZABzoMQi9SFpdACgZiZhIm1tYQDdY2kAbgAAoPIiAKH3AGlvQxZRFmQAZQAAgfcAO29KFksW90BuI3RpbWVzAACgxyJuAPgAUBZjAHkAUmRjAG8CXhYAAAAAYhZyAG4AAKAeI28AcAAAoA0jgAJscHR1dwBuFnEWdRaSFp4W7CFhciRgZgAA4DXYVd0AotkCZW1wc30WhBaJFo0WcQBkoFAibwB0AACgUSJpIm51cwAAoDgi7CF1cwCgFCLxInVhcmUAoKEiYgBsAGUAYgBhAHIAdwBlAGQAZwDlANcAbgCAAWFkaAClFqoWtBZyAHIAbwD3APUMbwB3AG4AYQByAHIAbwB3APMA8xVhI3Jwb29uAAABbHK8FsAWZQBmAPQAHBZpAGcAaAD0AB4WYgHJFs8WawBhAHIAbwD3AJILbwLUFgAAAADYFnIAbgAAoB8jbwBwAACgDCOAAWNvdADhFukW7BYAAXJ55RboFgDgNdi53FVkbAAAoPYp8iFvaxFhAAFkcvMW9xZvAHQAAKDxImkA5qC/JVsSAAFhaP8WAhdyAPIANQNhAPIA1wvhIm5nbGUAoKYpAAFjaQ4XEBd5AF9k5yJyYXJyAKD/JwAJRGFjZGVmZ2xtbm9wcXJzdHV4MRc4F0YXWxcyBF4XaRd5F40XrBe0F78X2RcVGCEYLRg1GEAYAAFEbzUXgRZvAPQA+BUAAWNzPBdCF3UAdABlADuA6QDpQPQhZXIAoG4qAAJhaW95TRdQF1YXWhfyIW9uG2FyAGOgViI7gOoA6kDsIW9uAKBVIk1kbwB0ABdhAAFEcmIXZhdvAHQAAKBSIgDgNdgi3XKhmipuF3QXYQB2AGUAO4DoAOhAZKCWKm8AdAAAoJgqgKGZKmlscwCAF4UXhxfuInRlcnMAoOcjAKATIWSglSpvAHQAAKCXKoABYXBzAJMXlheiF2MAcgATYXQAeQBzogUinxcAAAAAoRdlAHQAAKAFInAAMaADIDMBqRerFwCgBCAAoAUgAAFnc7AXsRdLYXAAAKACIAABZ3C4F7sXbwBuABlhZgAA4DXYVt2AAWFscwDFF8sXzxdyAHOg1SJsAACg4yl1AHMAAKBxKmkAAKG1A2x21RfYF28AbgC1Y/VjAAJjc3V24BfoF/0XEBgAAWlv5BdWF3IAYwAAoFYiaQLuFwAAAADwF+0ADQThIW50AAFnbPUX+Rd0AHIAAKCWKuUhc3MAoJUqgAFhZWkAAxgGGAoYbABzAD1gcwB0AACgXyJ2AESgYSJEAACgeCrwImFyc2wAoOUpAAFEYRkYHRhvAHQAAKBTInIAcgAAoHEpgAFjZGkAJxgqGO0XcgAAoC8hbwD0AIwCAAFhaDEYMhi3YzuA8ADwQAABbXI5GD0YbAA7gOsA60BvAACgrCCAAWNpcABGGEgYSxhsACFgcwD0ACwEAAFlb08YVxhjAHQAYQB0AGkAbwDuABoEbgBlAG4AdABpAGEAbADlADME4Ql1GAAAgRgAAIMYiBgAAAAAoRilGAAAqhgAALsYvhjRGAAA1xgnGWwAbABpAG4AZwBkAG8AdABzAGUA8QBlF3kARGRtImFsZQAAoEAmgAFpbHIAjRiRGJ0Y7CFpZwCgA/tpApcYAAAAAJoYZwAAoAD7aQBnAACgBPsA4DXYI93sIWlnAKAB++whaWcA4GYAagCAAWFsdACvGLIYthh0AACgbSZpAGcAAKAC+24AcwAAoLElbwBmAJJh8AHCGAAAxhhmAADgNdhX3QABYWvJGMwYbADsAGsEdqDUIgCg2SphI3J0aW50AACgDSoAAWFv2hgiGQABY3PeGB8ZsQPnGP0YBRkSGRUZAAAdGbID7xjyGPQY9xj5GAAA+xg7gL0AvUAAoFMhO4C8ALxAAKBVIQCgWSEAoFshswEBGQAAAxkAoFQhAKBWIbQCCxkOGQAAAAAQGTuAvgC+QACgVyEAoFwhNQAAoFghtgEZGQAAGxkAoFohAKBdITgAAKBeIWwAAKBEIHcAbgAAoCIjYwByAADgNdi73IAIRWFiY2RlZmdpamxub3JzdHYARhlKGVoZXhlmGWkZkhmWGZkZnRmgGa0ZxhnLGc8Z4BkjGmygZyIAoIwqgAFjbXAAUBlTGVgZ9SF0ZfVhbQBhAOSgswM6FgCghipyImV2ZQAfYQABaXliGWUZcgBjAB1hM2RvAHQAIWGAoWUibHFzAMYEcBl6GfGhZSLOBAAAdhlsAGEAbgD0AN8EgKF+KmNkbACBGYQZjBljAACgqSpvAHQAb6CAKmyggioAoIQqZeDbIgD+cwAAoJQqcgAA4DXYJN3noGsirATtIWVsAKA3IWMAeQBTZIChdyJFYWoApxmpGasZAKCSKgCgpSoAoKQqAAJFYWVztBm2Gb0ZwhkAoGkicABwoIoq8iFveACgiipxoIgq8aCIKrUZaQBtAACg5yJwAGYAAOA12FjdYQB2AOUAYwIAAWNp0xnWGXIAAKAKIW0AAKFzImVs3BneGQCgjioAoJAqAIM+ADtjZGxxco0E6xn0GfgZ/BkBGgABY2nvGfEZAKCnKnIAAKB6Km8AdAAAoNci0CFhcgCglSl1ImVzdAAAoHwqgAJhZGVscwAKGvQZFhrVBCAa8AEPGgAAFBpwAHIAbwD4AFkZcgAAoHgpcQAAAWxxxAQbGmwAZQBzAPMASRlpAO0A5AQAAWVuJxouGnIjdG5lcXEAAOBpIgD+xQAsGgAFQWFiY2Vma29zeUAaQxpmGmoabRqDGocalhrCGtMacgDyAMwCAAJpbG1yShpOGlAaVBpyAHMA8ABxD2YAvWBpAGwA9AASBQABZHJYGlsaYwB5AEpkAKGUIWN3YBpkGmkAcgAAoEgpAKCtIWEAcgAAoA8h6SFyYyVhgAFhbHIAcxp7Gn8a8iF0c3WgZSZpAHQAAKBlJuwhaXAAoCYg4yFvbgCguSJyAADgNdgl3XMAAAFld4wakRphInJvdwAAoCUpYSJyb3cAAKAmKYACYW1vcHIAnxqjGqcauhq+GnIAcgAAoP8h9CFodACgOyJrAAABbHKsGrMaZSRmdGFycm93AACgqSHpJGdodGFycm93AKCqIWYAAOA12Fnd4iFhcgCgFSCAAWNsdADIGswa0BpyAADgNdi93GEAcwDoAGka8iFvaydhAAFicNca2xr1IWxsAKBDIOghZW4AoBAg4Qr2GgAA/RoAAAgbExsaGwAAIRs7GwAAAAA+G2IbmRuVG6sbAACyG80b0htjAHUAdABlADuA7QDtQAChYyBpeQEbBhtyAGMAO4DuAO5AOGQAAWN4CxsNG3kANWRjAGwAO4ChAKFAAAFmcssCFhsA4DXYJt1yAGEAdgBlADuA7ADsQIChSCFpbm8AJxsyGzYbAAFpbisbLxtuAHQAAKAMKnQAAKAtIuYhaW4AoNwpdABhAACgKSHsIWlnM2GAAWFvcABDG1sbXhuAAWNndABJG0sbWRtyACthgAFlbHAAcQVRG1UbaQBuAOUAyAVhAHIA9AByBWgAMWFmAACgtyJlAGQAtWEAoggiY2ZvdGkbbRt1G3kb4SFyZQCgBSFpAG4AdKAeImkAZQAAoN0pZABvAPQAWxsAoisiY2VscIEbhRuPG5QbYQBsAACguiIAAWdyiRuNG2UAcgDzACMQ4wCCG2EicmhrAACgFyryIW9kAKA8KgACY2dwdJ8boRukG6gbeQBRZG8AbgAvYWYAAOA12FrdYQC5Y3UAZQBzAHQAO4C/AL9AAAFjabUbuRtyAADgNdi+3G4AAKIIIkVkc3bCG8QbyBvQAwCg+SJvAHQAAKD1Inag9CIAoPMiaaBiIOwhZGUpYesB1hsAANkbYwB5AFZkbAA7gO8A70AAA2NmbW9zdeYb7hvyG/Ub+hsFHAABaXnqG+0bcgBjADVhOWRyAADgNdgn3eEhdGg3YnAAZgAA4DXYW93jAf8bAAADHHIAAOA12L/c8iFjeVhk6yFjeVRkAARhY2ZnaGpvcxUcGhwiHCYcKhwtHDAcNRzwIXBhdqC6A/BjAAFleR4cIRzkIWls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ZmdobG1vcHJzdHV3CiwNLBEsHSwnLDEsQCxLLFIsYix6LIQsjyzLLOgs7Sz/LAotcgDyAAkDYQByAACgYykAAWNyFSwbLHUAdABlADuA+gD6QPIACQ1yAOMBIywAACUseQBeZHYAZQBtYQABaXkrLDAscgBjADuA+wD7QENkgAFhYmgANyw6LD0scgDyANEO7CFhY3FhYQDyAOAOAAFpckQsSCzzIWh0AKB+KQDgNdgy3XIAYQB2AGUAO4D5APlAYQFWLF8scgAAAWxyWixcLACgvyEAoL4hbABrAACggCUAAWN0Zix2LG8CbCwAAAAAcyxyAG4AZaAcI3IAAKAcI28AcAAAoA8jcgBpAACg+CUAAWFsfiyBLGMAcgBrYTuAqACoQAABZ3CILIssbwBuAHNhZgAA4DXYZt0AA2FkaGxzdZksniynLLgsuyzFLHIAcgBvAPcACQ1vAHcAbgBhAHIAcgBvAPcA2A5hI3Jwb29uAAABbHKvLLMsZQBmAPQAWyxpAGcAaAD0AF0sdQDzAKYOaQAAocUDaGzBLMIs0mNvAG4AxWPwI2Fycm93cwCgyCGAAWNpdADRLOEs5CxvAtcsAAAAAN4scgBuAGWgHSNyAACgHSNvAHAAAKAOI24AZwBvYXIAaQAAoPklYwByAADgNdjK3IABZGlyAPMs9yz6LG8AdAAAoPAi7CFkZWlhaQBmoLUlAKC0JQABYW0DLQYtcgDyAMosbAA7gPwA/EDhIm5nbGUAoKcpgAdBQkRhY2RlZmxub3Byc3oAJy0qLTAtNC2bLZ0toS2/LcMtxy3TLdgt3C3gLfwtcgDyABADYQByAHag6CoAoOkqYQBzAOgA/gIAAW5yOC08LechcnQAoJwpgANla25wcnN0AJkpSC1NLVQtXi1iLYItYQBwAHAA4QAaHG8AdABoAGkAbgDnAKEXgAFoaXIAoSmzJFotbwBwAPQAdCVooJUh7wD4JgABaXVmLWotZwBtAOEAuygAAWJwbi14LXMjZXRuZXEAceCKIgD+AODLKgD+cyNldG5lcQBx4IsiAP4A4MwqAP4AAWhyhi2KLWUAdADhABIraSNhbmdsZQAAAWxyki2WLeUhZnQAoLIiaSJnaHQAAKCzInkAMmThIXNoAKCiIoABZWxyAKcttC24LWKiKCKuLQAAAACyLWEAcgAAoLsicQAAoFoi7CFpcACg7iIAAWJ0vC1eD2EA8gBfD3IAAOA12DPddAByAOkAlS1zAHUAAAFicM0t0C0A4IIi0iAA4IMi0iBwAGYAAOA12GfdcgBvAPAAWQt0AHIA6QCaLQABY3XkLegtcgAA4DXYy9wAAWJw7C30LW4AAAFFZXUt8S0A4IoiAP5uAAABRWV/LfktAOCLIgD+6SJnemFnAKCaKYADY2Vmb3BycwANLhAuJS4pLiMuLi40LukhcmN1YQABZGkULiEuAAFiZxguHC5hAHIAAKBfKmUAcaAnIgCgWSLlIXJwAKAYIXIAAOA12DTdcABmAADgNdho3WWgQCJhAHQA6ABqD2MAcgAA4DXYzNzjCuQRUC4AAFQuAABYLmIuAAAAAGMubS5wLnQuAAAAAIguki4AAJouJxIqEnQAcgDpAB0ScgAA4DXYNd0AAUFhWy5eLnIA8gDnAnIA8gCTB75jAAFBYWYuaS5yAPIA4AJyAPIAjAdhAPAAeh5pAHMAAKD7IoABZHB0APgReS6DLgABZmx9LoAuAOA12GnddQDzAP8RaQBtAOUABBIAAUFhiy6OLnIA8gDuAnIA8gCaBwABY3GVLgoScgAA4DXYzdwAAXB0nS6hLmwAdQDzACUScgDpACASAARhY2VmaW9zdbEuvC7ELsguzC7PLtQu2S5jAAABdXm2LrsudABlADuA/QD9QE9kAAFpecAuwy5yAGMAd2FLZG4AO4ClAKVAcgAA4DXYNt1jAHkAV2RwAGYAAOA12GrdYwByAADgNdjO3AABY23dLt8ueQBOZGwAO4D/AP9AAAVhY2RlZmhpb3N38y73Lv8uAi8MLxAvEy8YLx0vIi9jInV0ZQB6YQABYXn7Lv4u8iFvbn5hN2RvAHQAfGEAAWV0Bi8KL3QAcgDmAB8QYQC2Y3IAAOA12DfdYwB5ADZk5yJyYXJyAKDdIXAAZgAA4DXYa91jAHIAAOA12M/cAAFqbiYvKC8AoA0gagAAoAwg");
|
|
10245
10407
|
//#endregion
|
|
10246
10408
|
//#region node_modules/.pnpm/entities@7.0.1/node_modules/entities/dist/esm/internal/bin-trie-flags.js
|
|
10247
10409
|
/**
|
|
@@ -10635,7 +10797,7 @@ function determineBranch(decodeTree, current, nodeIndex, char) {
|
|
|
10635
10797
|
}
|
|
10636
10798
|
return -1;
|
|
10637
10799
|
}
|
|
10638
|
-
const htmlDecoder = /*
|
|
10800
|
+
const htmlDecoder = /* #__PURE__ */ getDecoder(htmlDecodeTree);
|
|
10639
10801
|
/**
|
|
10640
10802
|
* Decodes an HTML string.
|
|
10641
10803
|
*
|
|
@@ -10827,13 +10989,14 @@ var Tokenizer = class {
|
|
|
10827
10989
|
}
|
|
10828
10990
|
}
|
|
10829
10991
|
stateInterpolationOpen(c) {
|
|
10830
|
-
if (c === this.delimiterOpen[this.delimiterIndex])
|
|
10831
|
-
|
|
10832
|
-
|
|
10833
|
-
|
|
10834
|
-
|
|
10835
|
-
|
|
10836
|
-
|
|
10992
|
+
if (c === this.delimiterOpen[this.delimiterIndex]) {
|
|
10993
|
+
if (this.delimiterIndex === this.delimiterOpen.length - 1) {
|
|
10994
|
+
const start = this.index + 1 - this.delimiterOpen.length;
|
|
10995
|
+
if (start > this.sectionStart) this.cbs.ontext(this.sectionStart, start);
|
|
10996
|
+
this.state = 3;
|
|
10997
|
+
this.sectionStart = start;
|
|
10998
|
+
} else this.delimiterIndex++;
|
|
10999
|
+
} else if (this.inRCDATA) {
|
|
10837
11000
|
this.state = 32;
|
|
10838
11001
|
this.stateInRCDATA(c);
|
|
10839
11002
|
} else {
|
|
@@ -10849,13 +11012,14 @@ var Tokenizer = class {
|
|
|
10849
11012
|
}
|
|
10850
11013
|
}
|
|
10851
11014
|
stateInterpolationClose(c) {
|
|
10852
|
-
if (c === this.delimiterClose[this.delimiterIndex])
|
|
10853
|
-
|
|
10854
|
-
|
|
10855
|
-
|
|
10856
|
-
|
|
10857
|
-
|
|
10858
|
-
|
|
11015
|
+
if (c === this.delimiterClose[this.delimiterIndex]) {
|
|
11016
|
+
if (this.delimiterIndex === this.delimiterClose.length - 1) {
|
|
11017
|
+
this.cbs.oninterpolation(this.sectionStart, this.index + 1);
|
|
11018
|
+
if (this.inRCDATA) this.state = 32;
|
|
11019
|
+
else this.state = 1;
|
|
11020
|
+
this.sectionStart = this.index + 1;
|
|
11021
|
+
} else this.delimiterIndex++;
|
|
11022
|
+
} else {
|
|
10859
11023
|
this.state = 3;
|
|
10860
11024
|
this.stateInterpolation(c);
|
|
10861
11025
|
}
|
|
@@ -10971,9 +11135,10 @@ var Tokenizer = class {
|
|
|
10971
11135
|
this.sectionStart = this.index;
|
|
10972
11136
|
if (this.mode === 0) this.state = 6;
|
|
10973
11137
|
else if (this.inSFCRoot) this.state = 34;
|
|
10974
|
-
else if (!this.inXML)
|
|
10975
|
-
|
|
10976
|
-
|
|
11138
|
+
else if (!this.inXML) {
|
|
11139
|
+
if (c === 116) this.state = 30;
|
|
11140
|
+
else this.state = c === 115 ? 29 : 6;
|
|
11141
|
+
} else this.state = 6;
|
|
10977
11142
|
} else if (c === 47) this.state = 8;
|
|
10978
11143
|
else {
|
|
10979
11144
|
this.state = 1;
|
|
@@ -11340,9 +11505,7 @@ var Tokenizer = class {
|
|
|
11340
11505
|
case 24:
|
|
11341
11506
|
this.stateInProcessingInstruction(c);
|
|
11342
11507
|
break;
|
|
11343
|
-
case 33:
|
|
11344
|
-
this.stateInEntity();
|
|
11345
|
-
break;
|
|
11508
|
+
case 33: this.stateInEntity();
|
|
11346
11509
|
}
|
|
11347
11510
|
this.index++;
|
|
11348
11511
|
}
|
|
@@ -11375,9 +11538,10 @@ var Tokenizer = class {
|
|
|
11375
11538
|
handleTrailingData() {
|
|
11376
11539
|
const endIndex = this.buffer.length;
|
|
11377
11540
|
if (this.sectionStart >= endIndex) return;
|
|
11378
|
-
if (this.state === 28)
|
|
11379
|
-
|
|
11380
|
-
|
|
11541
|
+
if (this.state === 28) {
|
|
11542
|
+
if (this.currentSequence === Sequences.CdataEnd) this.cbs.oncdata(this.sectionStart, endIndex);
|
|
11543
|
+
else this.cbs.oncomment(this.sectionStart, endIndex);
|
|
11544
|
+
} else if (this.state === 6 || this.state === 11 || this.state === 18 || this.state === 17 || this.state === 12 || this.state === 13 || this.state === 14 || this.state === 15 || this.state === 16 || this.state === 20 || this.state === 19 || this.state === 21 || this.state === 9) {} else this.cbs.ontext(this.sectionStart, endIndex);
|
|
11381
11545
|
}
|
|
11382
11546
|
emitCodePoint(cp, consumed) {
|
|
11383
11547
|
if (this.baseState !== 1 && this.baseState !== 32) {
|
|
@@ -11494,16 +11658,22 @@ function walkIdentifiers(root, onIdentifier, includeAll = false, parentStack = [
|
|
|
11494
11658
|
const isRefed = isReferencedIdentifier(node, parent, parentStack);
|
|
11495
11659
|
if (includeAll || isRefed && !isLocal) onIdentifier(node, parent, parentStack, isRefed, isLocal);
|
|
11496
11660
|
} else if (node.type === "ObjectProperty" && (parent === null || parent === void 0 ? void 0 : parent.type) === "ObjectPattern") node.inPattern = true;
|
|
11497
|
-
else if (isFunctionType(node))
|
|
11498
|
-
|
|
11499
|
-
|
|
11500
|
-
else
|
|
11501
|
-
|
|
11502
|
-
|
|
11503
|
-
else if (node.type === "
|
|
11504
|
-
|
|
11505
|
-
|
|
11506
|
-
else
|
|
11661
|
+
else if (isFunctionType(node)) {
|
|
11662
|
+
if (node.scopeIds) node.scopeIds.forEach((id) => markKnownIds(id, knownIds));
|
|
11663
|
+
else walkFunctionParams(node, (id) => markScopeIdentifier(node, id, knownIds));
|
|
11664
|
+
} else if (node.type === "BlockStatement") {
|
|
11665
|
+
if (node.scopeIds) node.scopeIds.forEach((id) => markKnownIds(id, knownIds));
|
|
11666
|
+
else walkBlockDeclarations(node, (id) => markScopeIdentifier(node, id, knownIds));
|
|
11667
|
+
} else if (node.type === "SwitchStatement") {
|
|
11668
|
+
if (node.scopeIds) node.scopeIds.forEach((id) => markKnownIds(id, knownIds));
|
|
11669
|
+
else walkSwitchStatement(node, false, (id) => markScopeIdentifier(node, id, knownIds));
|
|
11670
|
+
} else if (node.type === "CatchClause" && node.param) {
|
|
11671
|
+
if (node.scopeIds) node.scopeIds.forEach((id) => markKnownIds(id, knownIds));
|
|
11672
|
+
else for (const id of extractIdentifiers(node.param)) markScopeIdentifier(node, id, knownIds);
|
|
11673
|
+
} else if (isForStatement(node)) {
|
|
11674
|
+
if (node.scopeIds) node.scopeIds.forEach((id) => markKnownIds(id, knownIds));
|
|
11675
|
+
else walkForStatement(node, false, (id) => markScopeIdentifier(node, id, knownIds));
|
|
11676
|
+
}
|
|
11507
11677
|
},
|
|
11508
11678
|
leave(node, parent) {
|
|
11509
11679
|
parent && parentStack.pop();
|
|
@@ -11595,9 +11765,7 @@ function extractIdentifiers(param, nodes = []) {
|
|
|
11595
11765
|
case "RestElement":
|
|
11596
11766
|
extractIdentifiers(param.argument, nodes);
|
|
11597
11767
|
break;
|
|
11598
|
-
case "AssignmentPattern":
|
|
11599
|
-
extractIdentifiers(param.left, nodes);
|
|
11600
|
-
break;
|
|
11768
|
+
case "AssignmentPattern": extractIdentifiers(param.left, nodes);
|
|
11601
11769
|
}
|
|
11602
11770
|
return nodes;
|
|
11603
11771
|
}
|
|
@@ -11789,7 +11957,7 @@ function isTemplateNode(node) {
|
|
|
11789
11957
|
function isSlotOutlet(node) {
|
|
11790
11958
|
return node.type === 1 && node.tagType === 2;
|
|
11791
11959
|
}
|
|
11792
|
-
const propsHelperSet = new Set([NORMALIZE_PROPS, GUARD_REACTIVE_PROPS]);
|
|
11960
|
+
const propsHelperSet = /* @__PURE__ */ new Set([NORMALIZE_PROPS, GUARD_REACTIVE_PROPS]);
|
|
11793
11961
|
function getUnnormalizedProps(props, callPath = []) {
|
|
11794
11962
|
if (props && !isString(props) && props.type === 14) {
|
|
11795
11963
|
const callee = props.callee;
|
|
@@ -11832,9 +12000,10 @@ function injectProp(node, prop, context) {
|
|
|
11832
12000
|
propsWithInjection = createCallExpression(context.helper(MERGE_PROPS), [createObjectExpression([prop]), props]);
|
|
11833
12001
|
if (parentCall && parentCall.callee === GUARD_REACTIVE_PROPS) parentCall = callPath[callPath.length - 2];
|
|
11834
12002
|
}
|
|
11835
|
-
if (node.type === 13)
|
|
11836
|
-
|
|
11837
|
-
|
|
12003
|
+
if (node.type === 13) {
|
|
12004
|
+
if (parentCall) parentCall.arguments[0] = propsWithInjection;
|
|
12005
|
+
else node.props = propsWithInjection;
|
|
12006
|
+
} else if (parentCall) parentCall.arguments[0] = propsWithInjection;
|
|
11838
12007
|
else node.arguments[2] = propsWithInjection;
|
|
11839
12008
|
}
|
|
11840
12009
|
function injectSlotKey(node, prop) {
|
|
@@ -12074,26 +12243,28 @@ const tokenizer = new Tokenizer(stack, {
|
|
|
12074
12243
|
onattribend(quote, end) {
|
|
12075
12244
|
if (currentOpenTag && currentProp) {
|
|
12076
12245
|
setLocEnd(currentProp.loc, end);
|
|
12077
|
-
if (quote !== 0)
|
|
12078
|
-
if (currentProp.
|
|
12079
|
-
|
|
12080
|
-
|
|
12081
|
-
|
|
12082
|
-
|
|
12083
|
-
|
|
12084
|
-
|
|
12085
|
-
|
|
12086
|
-
|
|
12087
|
-
|
|
12088
|
-
|
|
12089
|
-
|
|
12090
|
-
|
|
12091
|
-
|
|
12092
|
-
|
|
12093
|
-
|
|
12094
|
-
|
|
12095
|
-
currentProp.name = "
|
|
12096
|
-
|
|
12246
|
+
if (quote !== 0) {
|
|
12247
|
+
if (currentProp.type === 6) {
|
|
12248
|
+
if (currentProp.name === "class") currentAttrValue = condense(currentAttrValue).trim();
|
|
12249
|
+
if (quote === 1 && !currentAttrValue) emitError(13, end);
|
|
12250
|
+
currentProp.value = {
|
|
12251
|
+
type: 2,
|
|
12252
|
+
content: currentAttrValue,
|
|
12253
|
+
loc: quote === 1 ? getLoc(currentAttrStartIndex, currentAttrEndIndex) : getLoc(currentAttrStartIndex - 1, currentAttrEndIndex + 1)
|
|
12254
|
+
};
|
|
12255
|
+
if (tokenizer.inSFCRoot && currentOpenTag.tag === "template" && currentProp.name === "lang" && currentAttrValue && currentAttrValue !== "html") tokenizer.enterRCDATA(toCharCodes(`</template`), 0);
|
|
12256
|
+
} else {
|
|
12257
|
+
let expParseMode = 0;
|
|
12258
|
+
if (currentProp.name === "for") expParseMode = 3;
|
|
12259
|
+
else if (currentProp.name === "slot") expParseMode = 1;
|
|
12260
|
+
else if (currentProp.name === "on" && currentAttrValue.includes(";")) expParseMode = 2;
|
|
12261
|
+
currentProp.exp = createExp(currentAttrValue, false, getLoc(currentAttrStartIndex, currentAttrEndIndex), 0, expParseMode);
|
|
12262
|
+
if (currentProp.name === "for") currentProp.forParseResult = parseForExpression(currentProp.exp);
|
|
12263
|
+
let syncIndex = -1;
|
|
12264
|
+
if (currentProp.name === "bind" && (syncIndex = currentProp.modifiers.findIndex((mod) => mod.content === "sync")) > -1 && checkCompatEnabled("COMPILER_V_BIND_SYNC", currentOptions, currentProp.loc, currentProp.arg.loc.source)) {
|
|
12265
|
+
currentProp.name = "model";
|
|
12266
|
+
currentProp.modifiers.splice(syncIndex, 1);
|
|
12267
|
+
}
|
|
12097
12268
|
}
|
|
12098
12269
|
}
|
|
12099
12270
|
if (currentProp.type !== 7 || currentProp.name !== "pre") currentOpenTag.props.push(currentProp);
|
|
@@ -12136,10 +12307,7 @@ const tokenizer = new Tokenizer(stack, {
|
|
|
12136
12307
|
case 18:
|
|
12137
12308
|
case 19:
|
|
12138
12309
|
case 20:
|
|
12139
|
-
case 21:
|
|
12140
|
-
emitError(9, end);
|
|
12141
|
-
break;
|
|
12142
|
-
default: break;
|
|
12310
|
+
case 21: emitError(9, end);
|
|
12143
12311
|
}
|
|
12144
12312
|
for (let index = 0; index < stack.length; index++) {
|
|
12145
12313
|
onCloseTag(stack[index], end - 1);
|
|
@@ -12269,7 +12437,7 @@ function backTrack(index, c) {
|
|
|
12269
12437
|
while (currentInput.charCodeAt(i) !== c && i >= 0) i--;
|
|
12270
12438
|
return i;
|
|
12271
12439
|
}
|
|
12272
|
-
const specialTemplateDir = new Set([
|
|
12440
|
+
const specialTemplateDir = /* @__PURE__ */ new Set([
|
|
12273
12441
|
"if",
|
|
12274
12442
|
"else",
|
|
12275
12443
|
"else-if",
|
|
@@ -12305,16 +12473,18 @@ function condenseWhitespace(nodes) {
|
|
|
12305
12473
|
let removedWhitespace = false;
|
|
12306
12474
|
for (let i = 0; i < nodes.length; i++) {
|
|
12307
12475
|
const node = nodes[i];
|
|
12308
|
-
if (node.type === 2)
|
|
12309
|
-
if (
|
|
12310
|
-
|
|
12311
|
-
|
|
12312
|
-
|
|
12313
|
-
|
|
12314
|
-
|
|
12315
|
-
|
|
12316
|
-
|
|
12317
|
-
|
|
12476
|
+
if (node.type === 2) {
|
|
12477
|
+
if (!inPre) {
|
|
12478
|
+
if (isAllWhitespace(node.content)) {
|
|
12479
|
+
const prev = nodes[i - 1] && nodes[i - 1].type;
|
|
12480
|
+
const next = nodes[i + 1] && nodes[i + 1].type;
|
|
12481
|
+
if (!prev || !next || shouldCondense && (prev === 3 && (next === 3 || next === 1) || prev === 1 && (next === 3 || next === 1 && hasNewlineChar(node.content)))) {
|
|
12482
|
+
removedWhitespace = true;
|
|
12483
|
+
nodes[i] = null;
|
|
12484
|
+
} else node.content = " ";
|
|
12485
|
+
} else if (shouldCondense) node.content = condense(node.content);
|
|
12486
|
+
} else node.content = node.content.replace(windowsNewlineRE, "\n");
|
|
12487
|
+
}
|
|
12318
12488
|
}
|
|
12319
12489
|
return removedWhitespace ? nodes.filter(Boolean) : nodes;
|
|
12320
12490
|
}
|
|
@@ -12591,7 +12761,7 @@ function getConstantType(node, context) {
|
|
|
12591
12761
|
default: return 0;
|
|
12592
12762
|
}
|
|
12593
12763
|
}
|
|
12594
|
-
const allowHoistedHelperSet = new Set([
|
|
12764
|
+
const allowHoistedHelperSet = /* @__PURE__ */ new Set([
|
|
12595
12765
|
NORMALIZE_CLASS,
|
|
12596
12766
|
NORMALIZE_STYLE,
|
|
12597
12767
|
NORMALIZE_PROPS,
|
|
@@ -12762,7 +12932,7 @@ function transform(root, options) {
|
|
|
12762
12932
|
traverseNode(root, context);
|
|
12763
12933
|
if (options.hoistStatic) cacheStatic(root, context);
|
|
12764
12934
|
if (!options.ssr) createRootCodegen(root, context);
|
|
12765
|
-
root.helpers = new Set([...context.helpers.keys()]);
|
|
12935
|
+
root.helpers = /* @__PURE__ */ new Set([...context.helpers.keys()]);
|
|
12766
12936
|
root.components = [...context.components];
|
|
12767
12937
|
root.directives = [...context.directives];
|
|
12768
12938
|
root.imports = context.imports;
|
|
@@ -12805,8 +12975,10 @@ function traverseNode(node, context) {
|
|
|
12805
12975
|
const exitFns = [];
|
|
12806
12976
|
for (let i = 0; i < nodeTransforms.length; i++) {
|
|
12807
12977
|
const onExit = nodeTransforms[i](node, context);
|
|
12808
|
-
if (onExit)
|
|
12809
|
-
|
|
12978
|
+
if (onExit) {
|
|
12979
|
+
if (isArray(onExit)) exitFns.push(...onExit);
|
|
12980
|
+
else exitFns.push(onExit);
|
|
12981
|
+
}
|
|
12810
12982
|
if (!context.currentNode) return;
|
|
12811
12983
|
else node = context.currentNode;
|
|
12812
12984
|
}
|
|
@@ -12823,9 +12995,7 @@ function traverseNode(node, context) {
|
|
|
12823
12995
|
case 10:
|
|
12824
12996
|
case 11:
|
|
12825
12997
|
case 1:
|
|
12826
|
-
case 0:
|
|
12827
|
-
traverseChildren(node, context);
|
|
12828
|
-
break;
|
|
12998
|
+
case 0: traverseChildren(node, context);
|
|
12829
12999
|
}
|
|
12830
13000
|
context.currentNode = node;
|
|
12831
13001
|
let i = exitFns.length;
|
|
@@ -13011,16 +13181,18 @@ function genFunctionPreamble(ast, context) {
|
|
|
13011
13181
|
const { ssr, prefixIdentifiers, push, newline, runtimeModuleName, runtimeGlobalName, ssrRuntimeModuleName } = context;
|
|
13012
13182
|
const VueBinding = ssr ? `require(${JSON.stringify(runtimeModuleName)})` : runtimeGlobalName;
|
|
13013
13183
|
const helpers = Array.from(ast.helpers);
|
|
13014
|
-
if (helpers.length > 0)
|
|
13015
|
-
|
|
13016
|
-
|
|
13017
|
-
|
|
13018
|
-
|
|
13019
|
-
|
|
13020
|
-
|
|
13021
|
-
|
|
13022
|
-
|
|
13023
|
-
|
|
13184
|
+
if (helpers.length > 0) {
|
|
13185
|
+
if (prefixIdentifiers) push(`const { ${helpers.map(aliasHelper).join(", ")} } = ${VueBinding}\n`, -1);
|
|
13186
|
+
else {
|
|
13187
|
+
push(`const _Vue = ${VueBinding}\n`, -1);
|
|
13188
|
+
if (ast.hoists.length) push(`const { ${[
|
|
13189
|
+
CREATE_VNODE,
|
|
13190
|
+
CREATE_ELEMENT_VNODE,
|
|
13191
|
+
CREATE_COMMENT,
|
|
13192
|
+
CREATE_TEXT,
|
|
13193
|
+
CREATE_STATIC
|
|
13194
|
+
].filter((helper) => helpers.includes(helper)).map(aliasHelper).join(", ")} } = _Vue\n`, -1);
|
|
13195
|
+
}
|
|
13024
13196
|
}
|
|
13025
13197
|
if (ast.ssrHelpers && ast.ssrHelpers.length) push(`const { ${ast.ssrHelpers.map(aliasHelper).join(", ")} } = require("${ssrRuntimeModuleName}")\n`, -1);
|
|
13026
13198
|
genHoists(ast.hoists, context);
|
|
@@ -13097,10 +13269,12 @@ function genNodeList(nodes, context, multilines = false, comma = true) {
|
|
|
13097
13269
|
if (isString(node)) push(node, -3);
|
|
13098
13270
|
else if (isArray(node)) genNodeListAsArray(node, context);
|
|
13099
13271
|
else genNode(node, context);
|
|
13100
|
-
if (i < nodes.length - 1)
|
|
13101
|
-
|
|
13102
|
-
|
|
13103
|
-
|
|
13272
|
+
if (i < nodes.length - 1) {
|
|
13273
|
+
if (multilines) {
|
|
13274
|
+
comma && push(",");
|
|
13275
|
+
newline();
|
|
13276
|
+
} else comma && push(", ");
|
|
13277
|
+
}
|
|
13104
13278
|
}
|
|
13105
13279
|
}
|
|
13106
13280
|
function genNode(node, context) {
|
|
@@ -13172,12 +13346,7 @@ function genNode(node, context) {
|
|
|
13172
13346
|
case 25:
|
|
13173
13347
|
genSequenceExpression(node, context);
|
|
13174
13348
|
break;
|
|
13175
|
-
case 26:
|
|
13176
|
-
genReturnStatement(node, context);
|
|
13177
|
-
break;
|
|
13178
|
-
/* v8 ignore start */
|
|
13179
|
-
case 10: break;
|
|
13180
|
-
default:
|
|
13349
|
+
case 26: genReturnStatement(node, context);
|
|
13181
13350
|
}
|
|
13182
13351
|
}
|
|
13183
13352
|
function genText(node, context) {
|
|
@@ -13415,7 +13584,7 @@ function genReturnStatement({ returns }, context) {
|
|
|
13415
13584
|
}
|
|
13416
13585
|
//#endregion
|
|
13417
13586
|
//#region packages/compiler-core/src/transforms/transformExpression.ts
|
|
13418
|
-
const isLiteralWhitelisted =
|
|
13587
|
+
const isLiteralWhitelisted = /*@__PURE__*/ makeMap("true,false,null,this");
|
|
13419
13588
|
const transformExpression = (node, context) => {
|
|
13420
13589
|
if (node.type === 5) node.content = processExpression(node.content, context);
|
|
13421
13590
|
else if (node.type === 1) {
|
|
@@ -13448,20 +13617,21 @@ function processExpression(node, context, asParams = false, asRawStatements = fa
|
|
|
13448
13617
|
if (isConst(type) || type === "setup-reactive-const" || localVars[raw]) return raw;
|
|
13449
13618
|
else if (type === "setup-ref") return `${raw}.value`;
|
|
13450
13619
|
else if (type === "setup-maybe-ref") return isAssignmentLVal || isUpdateArg || isDestructureAssignment ? `${raw}.value` : wrapWithUnref(raw);
|
|
13451
|
-
else if (type === "setup-let")
|
|
13452
|
-
|
|
13453
|
-
|
|
13454
|
-
|
|
13455
|
-
|
|
13456
|
-
|
|
13457
|
-
|
|
13458
|
-
|
|
13459
|
-
|
|
13460
|
-
|
|
13461
|
-
|
|
13462
|
-
|
|
13463
|
-
|
|
13464
|
-
|
|
13620
|
+
else if (type === "setup-let") {
|
|
13621
|
+
if (isAssignmentLVal) {
|
|
13622
|
+
const { right: rVal, operator } = parent;
|
|
13623
|
+
const rExpString = stringifyExpression(processExpression(createSimpleExpression(rawExp.slice(rVal.start - 1, rVal.end - 1), false), context, false, false, knownIds));
|
|
13624
|
+
return `${context.helperString(IS_REF)}(${raw})${context.isTS ? ` //@ts-ignore\n` : ``} ? ${raw}.value ${operator} ${rExpString} : ${raw}`;
|
|
13625
|
+
} else if (isUpdateArg) {
|
|
13626
|
+
id.start = parent.start;
|
|
13627
|
+
id.end = parent.end;
|
|
13628
|
+
const { prefix: isPrefix, operator } = parent;
|
|
13629
|
+
const prefix = isPrefix ? operator : ``;
|
|
13630
|
+
const postfix = isPrefix ? `` : operator;
|
|
13631
|
+
return `${context.helperString(IS_REF)}(${raw})${context.isTS ? ` //@ts-ignore\n` : ``} ? ${prefix}${raw}.value${postfix} : ${prefix}${raw}${postfix}`;
|
|
13632
|
+
} else if (isDestructureAssignment) return raw;
|
|
13633
|
+
else return wrapWithUnref(raw);
|
|
13634
|
+
} else if (type === "props") return genPropsAccessExp(raw);
|
|
13465
13635
|
else if (type === "props-aliased") return genPropsAccessExp(bindingMetadata.__propsAliases[raw]);
|
|
13466
13636
|
} else if (type && type.startsWith("setup") || type === "literal-const") return `$setup.${raw}`;
|
|
13467
13637
|
else if (type === "props-aliased") return `$props['${bindingMetadata.__propsAliases[raw]}']`;
|
|
@@ -13478,8 +13648,10 @@ function processExpression(node, context, asParams = false, asRawStatements = fa
|
|
|
13478
13648
|
if (!asParams && !isScopeVarReference && !isLiteral && (!isAllowedGlobal || bindingMetadata[rawExp])) {
|
|
13479
13649
|
if (isConst(bindingMetadata[rawExp])) node.constType = 1;
|
|
13480
13650
|
node.content = rewriteIdentifier(rawExp);
|
|
13481
|
-
} else if (!isScopeVarReference)
|
|
13482
|
-
|
|
13651
|
+
} else if (!isScopeVarReference) {
|
|
13652
|
+
if (isLiteral) node.constType = 3;
|
|
13653
|
+
else node.constType = 2;
|
|
13654
|
+
}
|
|
13483
13655
|
return node;
|
|
13484
13656
|
}
|
|
13485
13657
|
if (!ast) {
|
|
@@ -13635,12 +13807,13 @@ function createChildrenCodegenNode(branch, keyIndex, context) {
|
|
|
13635
13807
|
const keyProperty = createObjectProperty(`key`, createSimpleExpression(`${keyIndex}`, false, locStub, 2));
|
|
13636
13808
|
const { children } = branch;
|
|
13637
13809
|
const firstChild = children[0];
|
|
13638
|
-
if (children.length !== 1 || firstChild.type !== 1)
|
|
13639
|
-
|
|
13640
|
-
|
|
13641
|
-
|
|
13642
|
-
|
|
13643
|
-
|
|
13810
|
+
if (children.length !== 1 || firstChild.type !== 1) {
|
|
13811
|
+
if (children.length === 1 && firstChild.type === 11) {
|
|
13812
|
+
const vnodeCall = firstChild.codegenNode;
|
|
13813
|
+
injectProp(vnodeCall, keyProperty, context);
|
|
13814
|
+
return vnodeCall;
|
|
13815
|
+
} else return createVNodeCall(context, helper(FRAGMENT), createObjectExpression([keyProperty]), children, 64, void 0, void 0, true, false, false, branch.loc);
|
|
13816
|
+
} else {
|
|
13644
13817
|
const ret = firstChild.codegenNode;
|
|
13645
13818
|
const vnodeCall = getMemoedVNodeCall(ret);
|
|
13646
13819
|
if (vnodeCall.type === 13) convertToBlock(vnodeCall, context);
|
|
@@ -13661,9 +13834,10 @@ function isSameKey(a, b) {
|
|
|
13661
13834
|
return true;
|
|
13662
13835
|
}
|
|
13663
13836
|
function getParentCondition(node) {
|
|
13664
|
-
while (true) if (node.type === 19)
|
|
13665
|
-
|
|
13666
|
-
|
|
13837
|
+
while (true) if (node.type === 19) {
|
|
13838
|
+
if (node.alternate.type === 19) node = node.alternate;
|
|
13839
|
+
else return node;
|
|
13840
|
+
} else if (node.type === 20) node = node.value;
|
|
13667
13841
|
}
|
|
13668
13842
|
//#endregion
|
|
13669
13843
|
//#region packages/compiler-core/src/transforms/vFor.ts
|
|
@@ -13707,10 +13881,12 @@ const transformFor = createStructuralDirectiveTransform("for", (node, dir, conte
|
|
|
13707
13881
|
childBlock = children[0].codegenNode;
|
|
13708
13882
|
if (isTemplate && keyProperty) injectProp(childBlock, keyProperty, context);
|
|
13709
13883
|
const shouldUseBlock = !isStableFragment || childBlock.isBlockRequired === true;
|
|
13710
|
-
if (childBlock.isBlock !== shouldUseBlock)
|
|
13711
|
-
|
|
13712
|
-
|
|
13713
|
-
|
|
13884
|
+
if (childBlock.isBlock !== shouldUseBlock) {
|
|
13885
|
+
if (childBlock.isBlock) {
|
|
13886
|
+
removeHelper(OPEN_BLOCK);
|
|
13887
|
+
removeHelper(getVNodeBlockHelper(context.inSSR, childBlock.isComponent));
|
|
13888
|
+
} else removeHelper(getVNodeHelper(context.inSSR, childBlock.isComponent));
|
|
13889
|
+
}
|
|
13714
13890
|
childBlock.isBlock = shouldUseBlock;
|
|
13715
13891
|
if (childBlock.isBlock) {
|
|
13716
13892
|
helper(OPEN_BLOCK);
|
|
@@ -13927,8 +14103,10 @@ function buildSlots(node, context, buildSlotFn = buildClientSlotFn) {
|
|
|
13927
14103
|
return createObjectProperty(`default`, fn);
|
|
13928
14104
|
};
|
|
13929
14105
|
if (!hasTemplateSlots) slotsProperties.push(buildDefaultSlotProperty(void 0, children));
|
|
13930
|
-
else if (implicitDefaultChildren.length && !implicitDefaultChildren.every(isWhitespaceText))
|
|
13931
|
-
|
|
14106
|
+
else if (implicitDefaultChildren.length && !implicitDefaultChildren.every(isWhitespaceText)) {
|
|
14107
|
+
if (hasNamedDefaultSlot) context.onError(createCompilerError(39, implicitDefaultChildren[0].loc));
|
|
14108
|
+
else slotsProperties.push(buildDefaultSlotProperty(void 0, implicitDefaultChildren));
|
|
14109
|
+
}
|
|
13932
14110
|
}
|
|
13933
14111
|
const slotFlag = hasDynamicSlots ? 2 : hasForwardedSlots(node.children) ? 3 : 1;
|
|
13934
14112
|
let slots = createObjectExpression(slotsProperties.concat(createObjectProperty(`_`, createSimpleExpression(slotFlag + ``, false))), loc);
|
|
@@ -13954,10 +14132,7 @@ function hasForwardedSlots(children) {
|
|
|
13954
14132
|
if (hasForwardedSlots(child.branches)) return true;
|
|
13955
14133
|
break;
|
|
13956
14134
|
case 10:
|
|
13957
|
-
case 11:
|
|
13958
|
-
if (hasForwardedSlots(child.children)) return true;
|
|
13959
|
-
break;
|
|
13960
|
-
default: break;
|
|
14135
|
+
case 11: if (hasForwardedSlots(child.children)) return true;
|
|
13961
14136
|
}
|
|
13962
14137
|
}
|
|
13963
14138
|
return false;
|
|
@@ -14171,22 +14346,23 @@ function buildProps(node, context, props = node.props, isComponent, isDynamicCom
|
|
|
14171
14346
|
if (isVBind && isStaticArgOf(arg, "ref")) pushRefVForMarker();
|
|
14172
14347
|
if (!arg && (isVBind || isVOn)) {
|
|
14173
14348
|
hasDynamicKeys = true;
|
|
14174
|
-
if (exp)
|
|
14175
|
-
|
|
14176
|
-
|
|
14177
|
-
|
|
14178
|
-
|
|
14179
|
-
|
|
14180
|
-
|
|
14181
|
-
|
|
14182
|
-
|
|
14183
|
-
|
|
14184
|
-
|
|
14185
|
-
|
|
14186
|
-
|
|
14187
|
-
|
|
14188
|
-
|
|
14189
|
-
|
|
14349
|
+
if (exp) {
|
|
14350
|
+
if (isVBind) {
|
|
14351
|
+
pushMergeArg();
|
|
14352
|
+
if (isCompatEnabled("COMPILER_V_BIND_OBJECT_ORDER", context)) {
|
|
14353
|
+
mergeArgs.unshift(exp);
|
|
14354
|
+
continue;
|
|
14355
|
+
}
|
|
14356
|
+
pushRefVForMarker();
|
|
14357
|
+
pushMergeArg();
|
|
14358
|
+
mergeArgs.push(exp);
|
|
14359
|
+
} else pushMergeArg({
|
|
14360
|
+
type: 14,
|
|
14361
|
+
loc,
|
|
14362
|
+
callee: context.helper(TO_HANDLERS),
|
|
14363
|
+
arguments: isComponent ? [exp] : [exp, `true`]
|
|
14364
|
+
});
|
|
14365
|
+
} else context.onError(createCompilerError(isVBind ? 34 : 35, loc));
|
|
14190
14366
|
continue;
|
|
14191
14367
|
}
|
|
14192
14368
|
if (isVBind && modifiers.some((mod) => mod.content === "prop")) patchFlag |= 32;
|
|
@@ -14244,9 +14420,7 @@ function buildProps(node, context, props = node.props, isComponent, isDynamicCom
|
|
|
14244
14420
|
} else propsExpression = createCallExpression(context.helper(NORMALIZE_PROPS), [propsExpression]);
|
|
14245
14421
|
break;
|
|
14246
14422
|
case 14: break;
|
|
14247
|
-
default:
|
|
14248
|
-
propsExpression = createCallExpression(context.helper(NORMALIZE_PROPS), [createCallExpression(context.helper(GUARD_REACTIVE_PROPS), [propsExpression])]);
|
|
14249
|
-
break;
|
|
14423
|
+
default: propsExpression = createCallExpression(context.helper(NORMALIZE_PROPS), [createCallExpression(context.helper(GUARD_REACTIVE_PROPS), [propsExpression])]);
|
|
14250
14424
|
}
|
|
14251
14425
|
return {
|
|
14252
14426
|
props: propsExpression,
|
|
@@ -14356,10 +14530,12 @@ function processSlotOutlet(node, context) {
|
|
|
14356
14530
|
for (let i = 0; i < node.props.length; i++) {
|
|
14357
14531
|
const p = node.props[i];
|
|
14358
14532
|
if (p.type === 6) {
|
|
14359
|
-
if (p.value)
|
|
14360
|
-
|
|
14361
|
-
|
|
14362
|
-
|
|
14533
|
+
if (p.value) {
|
|
14534
|
+
if (p.name === "name") slotName = JSON.stringify(p.value.content);
|
|
14535
|
+
else {
|
|
14536
|
+
p.name = camelize(p.name);
|
|
14537
|
+
nonNameProps.push(p);
|
|
14538
|
+
}
|
|
14363
14539
|
}
|
|
14364
14540
|
} else if (p.name === "bind" && isStaticArgOf(p.arg, "name")) {
|
|
14365
14541
|
if (p.exp) slotName = p.exp;
|
|
@@ -14388,16 +14564,17 @@ const transformOn$1 = (dir, node, context, augmentor) => {
|
|
|
14388
14564
|
const { loc, modifiers, arg } = dir;
|
|
14389
14565
|
if (!dir.exp && !modifiers.length) context.onError(createCompilerError(35, loc));
|
|
14390
14566
|
let eventName;
|
|
14391
|
-
if (arg.type === 4)
|
|
14392
|
-
|
|
14393
|
-
|
|
14394
|
-
|
|
14395
|
-
|
|
14396
|
-
|
|
14397
|
-
|
|
14398
|
-
|
|
14399
|
-
|
|
14400
|
-
|
|
14567
|
+
if (arg.type === 4) {
|
|
14568
|
+
if (arg.isStatic) {
|
|
14569
|
+
let rawName = arg.content;
|
|
14570
|
+
if (rawName.startsWith("vue:")) rawName = `vnode-${rawName.slice(4)}`;
|
|
14571
|
+
eventName = createSimpleExpression(node.tagType !== 0 || rawName.startsWith("vnode") || !/[A-Z]/.test(rawName) ? toHandlerKey(camelize(rawName)) : `on:${rawName}`, true, arg.loc);
|
|
14572
|
+
} else eventName = createCompoundExpression([
|
|
14573
|
+
`${context.helperString(TO_HANDLER_KEY)}(`,
|
|
14574
|
+
arg,
|
|
14575
|
+
`)`
|
|
14576
|
+
]);
|
|
14577
|
+
} else {
|
|
14401
14578
|
eventName = arg;
|
|
14402
14579
|
eventName.children.unshift(`${context.helperString(TO_HANDLER_KEY)}(`);
|
|
14403
14580
|
eventName.children.push(`)`);
|
|
@@ -14414,13 +14591,15 @@ const transformOn$1 = (dir, node, context, augmentor) => {
|
|
|
14414
14591
|
exp = dir.exp = processExpression(exp, context, false, hasMultipleStatements);
|
|
14415
14592
|
isInlineStatement && context.removeIdentifiers(`$event`);
|
|
14416
14593
|
shouldCache = context.cacheHandlers && !context.inVOnce && !(exp.type === 4 && exp.constType > 0) && !(isMemberExp && node.tagType === 1) && !hasScopeRef(exp, context.identifiers);
|
|
14417
|
-
if (shouldCache && isMemberExp)
|
|
14418
|
-
|
|
14419
|
-
|
|
14420
|
-
|
|
14421
|
-
|
|
14422
|
-
|
|
14423
|
-
|
|
14594
|
+
if (shouldCache && isMemberExp) {
|
|
14595
|
+
if (exp.type === 4) exp.content = `${exp.content} && ${exp.content}(...args)`;
|
|
14596
|
+
else exp.children = [
|
|
14597
|
+
...exp.children,
|
|
14598
|
+
` && `,
|
|
14599
|
+
...exp.children,
|
|
14600
|
+
`(...args)`
|
|
14601
|
+
];
|
|
14602
|
+
}
|
|
14424
14603
|
}
|
|
14425
14604
|
if (isInlineStatement || shouldCache && isMemberExp) exp = createCompoundExpression([
|
|
14426
14605
|
`${isInlineStatement ? context.isTS ? `($event: any)` : `$event` : `${context.isTS ? `\n//@ts-ignore\n` : ``}(...args)`} => ${hasMultipleStatements ? `{` : `(`}`,
|
|
@@ -14448,11 +14627,14 @@ const transformBind = (dir, _node, context) => {
|
|
|
14448
14627
|
arg.children.unshift(`(`);
|
|
14449
14628
|
arg.children.push(`) || ""`);
|
|
14450
14629
|
} else if (!arg.isStatic) arg.content = arg.content ? `${arg.content} || ""` : `""`;
|
|
14451
|
-
if (modifiers.some((mod) => mod.content === "camel"))
|
|
14452
|
-
|
|
14453
|
-
|
|
14454
|
-
|
|
14455
|
-
|
|
14630
|
+
if (modifiers.some((mod) => mod.content === "camel")) {
|
|
14631
|
+
if (arg.type === 4) {
|
|
14632
|
+
if (arg.isStatic) arg.content = camelize(arg.content);
|
|
14633
|
+
else arg.content = `${context.helperString(CAMELIZE)}(${arg.content})`;
|
|
14634
|
+
} else {
|
|
14635
|
+
arg.children.unshift(`${context.helperString(CAMELIZE)}(`);
|
|
14636
|
+
arg.children.push(`)`);
|
|
14637
|
+
}
|
|
14456
14638
|
}
|
|
14457
14639
|
if (!context.inSSR) {
|
|
14458
14640
|
if (modifiers.some((mod) => mod.content === "prop")) injectPrefix(arg, ".");
|
|
@@ -14461,9 +14643,10 @@ const transformBind = (dir, _node, context) => {
|
|
|
14461
14643
|
return { props: [createObjectProperty(arg, exp)] };
|
|
14462
14644
|
};
|
|
14463
14645
|
const injectPrefix = (arg, prefix) => {
|
|
14464
|
-
if (arg.type === 4)
|
|
14465
|
-
|
|
14466
|
-
|
|
14646
|
+
if (arg.type === 4) {
|
|
14647
|
+
if (arg.isStatic) arg.content = prefix + arg.content;
|
|
14648
|
+
else arg.content = `\`${prefix}\${${arg.content}}\``;
|
|
14649
|
+
} else {
|
|
14467
14650
|
arg.children.unshift(`'${prefix}' + (`);
|
|
14468
14651
|
arg.children.push(`)`);
|
|
14469
14652
|
}
|
|
@@ -14558,20 +14741,21 @@ const transformModel$1 = (dir, node, context) => {
|
|
|
14558
14741
|
const eventName = arg ? isStaticExp(arg) ? `onUpdate:${camelize(arg.content)}` : createCompoundExpression(["\"onUpdate:\" + ", arg]) : `onUpdate:modelValue`;
|
|
14559
14742
|
let assignmentExp;
|
|
14560
14743
|
const eventArg = context.isTS ? `($event: any)` : `$event`;
|
|
14561
|
-
if (maybeRef)
|
|
14562
|
-
|
|
14563
|
-
|
|
14564
|
-
`).value = $event)`
|
|
14565
|
-
]);
|
|
14566
|
-
else {
|
|
14567
|
-
const altAssignment = bindingType === "setup-let" ? `${rawExp} = $event` : `null`;
|
|
14568
|
-
assignmentExp = createCompoundExpression([
|
|
14569
|
-
`${eventArg} => (${context.helperString(IS_REF)}(${rawExp}) ? (`,
|
|
14744
|
+
if (maybeRef) {
|
|
14745
|
+
if (bindingType === "setup-ref") assignmentExp = createCompoundExpression([
|
|
14746
|
+
`${eventArg} => ((`,
|
|
14570
14747
|
createSimpleExpression(rawExp, false, exp.loc),
|
|
14571
|
-
`).value = $event
|
|
14748
|
+
`).value = $event)`
|
|
14572
14749
|
]);
|
|
14573
|
-
|
|
14574
|
-
|
|
14750
|
+
else {
|
|
14751
|
+
const altAssignment = bindingType === "setup-let" ? `${rawExp} = $event` : `null`;
|
|
14752
|
+
assignmentExp = createCompoundExpression([
|
|
14753
|
+
`${eventArg} => (${context.helperString(IS_REF)}(${rawExp}) ? (`,
|
|
14754
|
+
createSimpleExpression(rawExp, false, exp.loc),
|
|
14755
|
+
`).value = $event : ${altAssignment})`
|
|
14756
|
+
]);
|
|
14757
|
+
}
|
|
14758
|
+
} else assignmentExp = createCompoundExpression([
|
|
14575
14759
|
`${eventArg} => ((`,
|
|
14576
14760
|
exp,
|
|
14577
14761
|
`) = $event)`
|
|
@@ -14630,11 +14814,12 @@ function parseFilter(node, context) {
|
|
|
14630
14814
|
if (c === 96 && prev !== 92) inTemplateString = false;
|
|
14631
14815
|
} else if (inRegex) {
|
|
14632
14816
|
if (c === 47 && prev !== 92) inRegex = false;
|
|
14633
|
-
} else if (c === 124 && exp.charCodeAt(i + 1) !== 124 && exp.charCodeAt(i - 1) !== 124 && !curly && !square && !paren)
|
|
14634
|
-
|
|
14635
|
-
|
|
14636
|
-
|
|
14637
|
-
|
|
14817
|
+
} else if (c === 124 && exp.charCodeAt(i + 1) !== 124 && exp.charCodeAt(i - 1) !== 124 && !curly && !square && !paren) {
|
|
14818
|
+
if (expression === void 0) {
|
|
14819
|
+
lastFilterIndex = i + 1;
|
|
14820
|
+
expression = exp.slice(0, i).trim();
|
|
14821
|
+
} else pushFilter();
|
|
14822
|
+
} else {
|
|
14638
14823
|
switch (c) {
|
|
14639
14824
|
case 34:
|
|
14640
14825
|
inDouble = true;
|
|
@@ -14660,9 +14845,7 @@ function parseFilter(node, context) {
|
|
|
14660
14845
|
case 123:
|
|
14661
14846
|
curly++;
|
|
14662
14847
|
break;
|
|
14663
|
-
case 125:
|
|
14664
|
-
curly--;
|
|
14665
|
-
break;
|
|
14848
|
+
case 125: curly--;
|
|
14666
14849
|
}
|
|
14667
14850
|
if (c === 47) {
|
|
14668
14851
|
let j = i - 1;
|
|
@@ -14921,8 +15104,6 @@ const transformModel = (dir, node, context) => {
|
|
|
14921
15104
|
case "file":
|
|
14922
15105
|
isInvalidType = true;
|
|
14923
15106
|
context.onError(createDOMCompilerError(60, dir.loc));
|
|
14924
|
-
break;
|
|
14925
|
-
default: break;
|
|
14926
15107
|
}
|
|
14927
15108
|
} else if (hasDynamicKeyVBind(node)) directiveToUse = V_MODEL_DYNAMIC;
|
|
14928
15109
|
} else if (tag === "select") directiveToUse = V_MODEL_SELECT;
|
|
@@ -14933,10 +15114,10 @@ const transformModel = (dir, node, context) => {
|
|
|
14933
15114
|
};
|
|
14934
15115
|
//#endregion
|
|
14935
15116
|
//#region packages/compiler-dom/src/transforms/vOn.ts
|
|
14936
|
-
const isEventOptionModifier =
|
|
14937
|
-
const isNonKeyModifier =
|
|
14938
|
-
const maybeKeyModifier =
|
|
14939
|
-
const isKeyboardEvent =
|
|
15117
|
+
const isEventOptionModifier = /*@__PURE__*/ makeMap(`passive,once,capture`);
|
|
15118
|
+
const isNonKeyModifier = /*@__PURE__*/ makeMap("stop,prevent,self,ctrl,shift,alt,meta,exact,middle");
|
|
15119
|
+
const maybeKeyModifier = /*@__PURE__*/ makeMap("left,right");
|
|
15120
|
+
const isKeyboardEvent = /*@__PURE__*/ makeMap(`onkeyup,onkeydown,onkeypress`);
|
|
14940
15121
|
const resolveModifiers = (key, modifiers, context, loc) => {
|
|
14941
15122
|
const keyModifiers = [];
|
|
14942
15123
|
const nonKeyModifiers = [];
|
|
@@ -14955,13 +15136,15 @@ const resolveModifiers = (key, modifiers, context, loc) => {
|
|
|
14955
15136
|
else if (isEventOptionModifier(modifier)) eventOptionModifiers.push(modifier);
|
|
14956
15137
|
else {
|
|
14957
15138
|
const keyString = isString(key) ? key : isStaticExp(key) ? key.content : null;
|
|
14958
|
-
if (maybeKeyModifier(modifier))
|
|
14959
|
-
|
|
14960
|
-
|
|
14961
|
-
|
|
14962
|
-
|
|
14963
|
-
|
|
14964
|
-
|
|
15139
|
+
if (maybeKeyModifier(modifier)) {
|
|
15140
|
+
if (keyString) {
|
|
15141
|
+
if (isKeyboardEvent(keyString.toLowerCase())) keyModifiers.push(modifier);
|
|
15142
|
+
else nonKeyModifiers.push(modifier);
|
|
15143
|
+
} else {
|
|
15144
|
+
keyModifiers.push(modifier);
|
|
15145
|
+
nonKeyModifiers.push(modifier);
|
|
15146
|
+
}
|
|
15147
|
+
} else if (isNonKeyModifier(modifier)) nonKeyModifiers.push(modifier);
|
|
14965
15148
|
else keyModifiers.push(modifier);
|
|
14966
15149
|
}
|
|
14967
15150
|
}
|
|
@@ -15099,7 +15282,7 @@ const dataAriaRE = /^(?:data|aria)-/;
|
|
|
15099
15282
|
const isStringifiableAttr = (name, ns) => {
|
|
15100
15283
|
return (ns === 0 ? isKnownHtmlAttr(name) : ns === 1 ? isKnownSvgAttr(name) : ns === 2 ? isKnownMathMLAttr(name) : false) || dataAriaRE.test(name);
|
|
15101
15284
|
};
|
|
15102
|
-
const isNonStringifiable =
|
|
15285
|
+
const isNonStringifiable = /*@__PURE__*/ makeMap(`caption,thead,tr,th,tbody,td,tfoot,colgroup,col`);
|
|
15103
15286
|
/**
|
|
15104
15287
|
* for a cached node, analyze it and return:
|
|
15105
15288
|
* - false: bailed (contains non-stringifiable props or runtime constant)
|
|
@@ -15234,8 +15417,10 @@ function compile(src, options = {}) {
|
|
|
15234
15417
|
//#region packages/vue-compat/src/index.ts
|
|
15235
15418
|
const compileCache = Object.create(null);
|
|
15236
15419
|
function compileToFunction(template, options) {
|
|
15237
|
-
if (!isString(template))
|
|
15238
|
-
|
|
15420
|
+
if (!isString(template)) {
|
|
15421
|
+
if (template.nodeType) template = template.innerHTML;
|
|
15422
|
+
else return NOOP;
|
|
15423
|
+
}
|
|
15239
15424
|
const key = genCacheKey(template, options);
|
|
15240
15425
|
const cached = compileCache[key];
|
|
15241
15426
|
if (cached) return cached;
|