@vue/compat 3.6.0-rc.5 → 3.6.0-rc.7
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 +686 -685
- package/dist/vue.cjs.js +974 -769
- package/dist/vue.cjs.prod.js +797 -653
- package/dist/vue.esm-browser.js +876 -688
- package/dist/vue.esm-browser.prod.js +7 -7
- package/dist/vue.esm-bundler.js +901 -705
- package/dist/vue.global.js +877 -689
- package/dist/vue.global.prod.js +7 -7
- package/dist/vue.runtime.esm-browser.js +876 -688
- package/dist/vue.runtime.esm-browser.prod.js +7 -7
- package/dist/vue.runtime.esm-bundler.js +901 -705
- package/dist/vue.runtime.global.js +877 -689
- 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.7
|
|
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;
|
|
@@ -3197,7 +3245,7 @@ function baseResolveTransitionHooks(context, props, state, instance) {
|
|
|
3197
3245
|
else done();
|
|
3198
3246
|
},
|
|
3199
3247
|
clone(node) {
|
|
3200
|
-
return cloneHooks(node);
|
|
3248
|
+
return cloneHooks ? cloneHooks(node) : hooks;
|
|
3201
3249
|
}
|
|
3202
3250
|
};
|
|
3203
3251
|
return hooks;
|
|
@@ -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;
|
|
@@ -3516,11 +3565,12 @@ function createHydrationFunctions(rendererInternals) {
|
|
|
3516
3565
|
let nextNode = null;
|
|
3517
3566
|
switch (type) {
|
|
3518
3567
|
case Text:
|
|
3519
|
-
if (domType !== 3)
|
|
3520
|
-
|
|
3521
|
-
|
|
3522
|
-
|
|
3523
|
-
|
|
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 {
|
|
3524
3574
|
if (node.data !== vnode.children) {
|
|
3525
3575
|
logMismatchError();
|
|
3526
3576
|
node.data = vnode.children;
|
|
@@ -3558,9 +3608,10 @@ function createHydrationFunctions(rendererInternals) {
|
|
|
3558
3608
|
case VaporSlot:
|
|
3559
3609
|
nextNode = getVaporInterface(parentComponent, vnode).hydrateSlot(vnode, node, parentComponent, parentSuspense, slotScopeIds);
|
|
3560
3610
|
break;
|
|
3561
|
-
default: if (shapeFlag & 1)
|
|
3562
|
-
|
|
3563
|
-
|
|
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) {
|
|
3564
3615
|
vnode.slotScopeIds = slotScopeIds;
|
|
3565
3616
|
const container = parentNode(node);
|
|
3566
3617
|
if (isFragmentStart) nextNode = locateClosingAnchor(node);
|
|
@@ -3582,19 +3633,20 @@ function createHydrationFunctions(rendererInternals) {
|
|
|
3582
3633
|
} else {
|
|
3583
3634
|
mountComponent(vnode, container, null, parentComponent, parentSuspense, getContainerType(container), optimized);
|
|
3584
3635
|
const component = vnode.component;
|
|
3585
|
-
if (isAsyncWrapper(vnode)
|
|
3636
|
+
if (!component.subTree && (isAsyncWrapper(vnode) || component.asyncDep && !component.asyncResolved)) {
|
|
3586
3637
|
let subTree;
|
|
3587
3638
|
if (isFragmentStart) {
|
|
3588
|
-
subTree = createVNode(
|
|
3639
|
+
subTree = createVNode(Static);
|
|
3589
3640
|
subTree.anchor = nextNode ? nextNode.previousSibling : container.lastChild;
|
|
3590
3641
|
} else subTree = node.nodeType === 3 ? createTextVNode("") : createVNode("div");
|
|
3591
3642
|
subTree.el = node;
|
|
3592
3643
|
component.subTree = subTree;
|
|
3593
3644
|
}
|
|
3594
3645
|
}
|
|
3595
|
-
} else if (shapeFlag & 64)
|
|
3596
|
-
|
|
3597
|
-
|
|
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);
|
|
3598
3650
|
}
|
|
3599
3651
|
if (ref != null) setRef(ref, null, parentSuspense, vnode);
|
|
3600
3652
|
return nextNode;
|
|
@@ -3723,8 +3775,10 @@ function createHydrationFunctions(rendererInternals) {
|
|
|
3723
3775
|
node = nextSibling(node);
|
|
3724
3776
|
if (node && isComment(node)) {
|
|
3725
3777
|
if (node.data === open) match++;
|
|
3726
|
-
if (node.data === close)
|
|
3727
|
-
|
|
3778
|
+
if (node.data === close) {
|
|
3779
|
+
if (match === 0) return nextSibling(node);
|
|
3780
|
+
else match--;
|
|
3781
|
+
}
|
|
3728
3782
|
}
|
|
3729
3783
|
}
|
|
3730
3784
|
return node;
|
|
@@ -3746,7 +3800,7 @@ const isTemplateNode$1 = (node) => {
|
|
|
3746
3800
|
/**
|
|
3747
3801
|
* Dev only
|
|
3748
3802
|
*/
|
|
3749
|
-
const resourceProps =
|
|
3803
|
+
const resourceProps = /*@__PURE__*/ new Set([
|
|
3750
3804
|
"src",
|
|
3751
3805
|
"srcset",
|
|
3752
3806
|
"href",
|
|
@@ -3878,14 +3932,14 @@ function forEachElement(node, cb) {
|
|
|
3878
3932
|
//#endregion
|
|
3879
3933
|
//#region packages/runtime-core/src/apiAsyncComponent.ts
|
|
3880
3934
|
const isAsyncWrapper = (i) => !!i.type.__asyncLoader;
|
|
3881
|
-
|
|
3935
|
+
/*@__NO_SIDE_EFFECTS__*/
|
|
3882
3936
|
function defineAsyncComponent(source) {
|
|
3883
3937
|
const { load, getResolvedComp, setPendingRequest, source: { loadingComponent, errorComponent, delay, hydrate: hydrateStrategy, timeout, suspensible = true } } = createAsyncComponentContext(source);
|
|
3884
3938
|
return /* @__PURE__ */ defineComponent({
|
|
3885
3939
|
name: "AsyncComponentWrapper",
|
|
3886
3940
|
__asyncLoader: load,
|
|
3887
3941
|
__asyncHydrate(el, instance, hydrate) {
|
|
3888
|
-
performAsyncHydrate(el, instance, hydrate, getResolvedComp, load, hydrateStrategy);
|
|
3942
|
+
performAsyncHydrate(el, instance, hydrate, getResolvedComp, load, hydrateStrategy, true);
|
|
3889
3943
|
},
|
|
3890
3944
|
get __asyncResolved() {
|
|
3891
3945
|
return getResolvedComp();
|
|
@@ -4002,10 +4056,10 @@ const useAsyncComponentState = (delay, timeout, onError, instance = currentInsta
|
|
|
4002
4056
|
* shared between core and vapor
|
|
4003
4057
|
* @internal
|
|
4004
4058
|
*/
|
|
4005
|
-
function performAsyncHydrate(el, instance, hydrate, getResolvedComp, load, hydrateStrategy) {
|
|
4059
|
+
function performAsyncHydrate(el, instance, hydrate, getResolvedComp, load, hydrateStrategy, skipIfUpdated) {
|
|
4006
4060
|
const wasConnected = el.isConnected;
|
|
4007
4061
|
let patched = false;
|
|
4008
|
-
(instance.bu || (instance.bu = [])).push(() => patched = true);
|
|
4062
|
+
if (skipIfUpdated) (instance.bu || (instance.bu = [])).push(() => patched = true);
|
|
4009
4063
|
const performHydrate = () => {
|
|
4010
4064
|
if (patched) return;
|
|
4011
4065
|
if (!el.parentNode || wasConnected && !el.isConnected) return;
|
|
@@ -4088,10 +4142,13 @@ const KeepAliveImpl = {
|
|
|
4088
4142
|
});
|
|
4089
4143
|
let pendingCacheKey = null;
|
|
4090
4144
|
const cacheSubtree = () => {
|
|
4091
|
-
if (pendingCacheKey != null)
|
|
4092
|
-
|
|
4093
|
-
|
|
4094
|
-
|
|
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
|
+
}
|
|
4095
4152
|
};
|
|
4096
4153
|
onMounted(cacheSubtree);
|
|
4097
4154
|
onUpdated(cacheSubtree);
|
|
@@ -4161,7 +4218,7 @@ const decorate$2 = (t) => {
|
|
|
4161
4218
|
t.__isBuiltIn = true;
|
|
4162
4219
|
return t;
|
|
4163
4220
|
};
|
|
4164
|
-
const KeepAlive =
|
|
4221
|
+
const KeepAlive = /*@__PURE__*/ decorate$2(KeepAliveImpl);
|
|
4165
4222
|
function matches(pattern, name) {
|
|
4166
4223
|
if (isArray(pattern)) return pattern.some((p) => matches(p, name));
|
|
4167
4224
|
else if (isString(pattern)) return pattern.split(",").includes(name);
|
|
@@ -4371,16 +4428,17 @@ function compatH(type, propsOrChildren, children) {
|
|
|
4371
4428
|
}
|
|
4372
4429
|
const l = arguments.length;
|
|
4373
4430
|
const is2ndArgArrayChildren = isArray(propsOrChildren);
|
|
4374
|
-
if (l === 2 || is2ndArgArrayChildren)
|
|
4375
|
-
if (
|
|
4376
|
-
|
|
4377
|
-
|
|
4378
|
-
|
|
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 {
|
|
4379
4437
|
if (isVNode(children)) children = [children];
|
|
4380
4438
|
return convertLegacySlots(convertLegacyDirectives(createVNode(type, convertLegacyProps(propsOrChildren, type), children), propsOrChildren));
|
|
4381
4439
|
}
|
|
4382
4440
|
}
|
|
4383
|
-
const skipLegacyRootLevelProps =
|
|
4441
|
+
const skipLegacyRootLevelProps = /*@__PURE__*/ makeMap("staticStyle,staticClass,directives,model,hook");
|
|
4384
4442
|
function convertLegacyProps(legacyProps, type) {
|
|
4385
4443
|
if (!legacyProps) return null;
|
|
4386
4444
|
const converted = {};
|
|
@@ -4392,8 +4450,10 @@ function convertLegacyProps(legacyProps, type) {
|
|
|
4392
4450
|
if (key === "nativeOn") handlerKey += `Native`;
|
|
4393
4451
|
const existing = converted[handlerKey];
|
|
4394
4452
|
const incoming = listeners[event];
|
|
4395
|
-
if (existing !== incoming)
|
|
4396
|
-
|
|
4453
|
+
if (existing !== incoming) {
|
|
4454
|
+
if (existing) converted[handlerKey] = [].concat(existing, incoming);
|
|
4455
|
+
else converted[handlerKey] = incoming;
|
|
4456
|
+
}
|
|
4397
4457
|
}
|
|
4398
4458
|
} else if (!skipLegacyRootLevelProps(key)) converted[key] = legacyProps[key];
|
|
4399
4459
|
if (legacyProps.staticClass) converted.class = normalizeClass([legacyProps.staticClass, converted.class]);
|
|
@@ -4492,7 +4552,7 @@ function convertLegacyFunctionalComponent(comp) {
|
|
|
4492
4552
|
const legacyFn = comp.render;
|
|
4493
4553
|
const Func = (props, ctx) => {
|
|
4494
4554
|
const instance = getCurrentInstance();
|
|
4495
|
-
|
|
4555
|
+
const legacyCtx = {
|
|
4496
4556
|
props,
|
|
4497
4557
|
children: instance.vnode.children || [],
|
|
4498
4558
|
data: instance.vnode.props || {},
|
|
@@ -4512,7 +4572,8 @@ function convertLegacyFunctionalComponent(comp) {
|
|
|
4512
4572
|
}
|
|
4513
4573
|
return {};
|
|
4514
4574
|
}
|
|
4515
|
-
}
|
|
4575
|
+
};
|
|
4576
|
+
return legacyFn(compatH, legacyCtx);
|
|
4516
4577
|
};
|
|
4517
4578
|
Func.props = comp.props;
|
|
4518
4579
|
Func.displayName = comp.name;
|
|
@@ -4544,16 +4605,17 @@ function renderList(source, renderItem, cache, index) {
|
|
|
4544
4605
|
} else if (typeof source === "number") {
|
|
4545
4606
|
ret = new Array(source);
|
|
4546
4607
|
for (let i = 0; i < source; i++) ret[i] = renderItem(i + 1, i, void 0, cached && cached[i]);
|
|
4547
|
-
} else if (isObject(source))
|
|
4548
|
-
|
|
4549
|
-
|
|
4550
|
-
|
|
4551
|
-
|
|
4552
|
-
|
|
4553
|
-
|
|
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
|
+
}
|
|
4554
4617
|
}
|
|
4555
|
-
}
|
|
4556
|
-
else ret = [];
|
|
4618
|
+
} else ret = [];
|
|
4557
4619
|
if (cache) cache[index] = ret;
|
|
4558
4620
|
return ret;
|
|
4559
4621
|
}
|
|
@@ -4578,14 +4640,27 @@ function createSlots(slots, dynamicSlots) {
|
|
|
4578
4640
|
//#endregion
|
|
4579
4641
|
//#region packages/runtime-core/src/helpers/renderSlot.ts
|
|
4580
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
|
+
/**
|
|
4581
4656
|
* Compiler runtime helper for rendering `<slot/>`
|
|
4582
4657
|
* @private
|
|
4583
4658
|
*/
|
|
4584
4659
|
function renderSlot(slots, name, props, fallback, noSlotted, branchKey) {
|
|
4585
4660
|
if (props == null) props = {};
|
|
4586
4661
|
let slot = slots[name];
|
|
4587
|
-
if (fallback) fallback
|
|
4588
|
-
const vaporSlot = slot &&
|
|
4662
|
+
if (fallback) fallback[vdomSlotFallbackKey] = true;
|
|
4663
|
+
const vaporSlot = slot && slot[rawVaporSlotKey];
|
|
4589
4664
|
if (vaporSlot) {
|
|
4590
4665
|
const ret = (openBlock(), createBlock(VaporSlot, props));
|
|
4591
4666
|
ret.vs = {
|
|
@@ -4685,12 +4760,14 @@ function legacyResolveScopedSlots(fns, raw, hasDynamicKeys) {
|
|
|
4685
4760
|
function mapKeyToName(slots) {
|
|
4686
4761
|
for (let i = 0; i < slots.length; i++) {
|
|
4687
4762
|
const fn = slots[i];
|
|
4688
|
-
if (fn)
|
|
4689
|
-
|
|
4763
|
+
if (fn) {
|
|
4764
|
+
if (isArray(fn)) mapKeyToName(fn);
|
|
4765
|
+
else fn.name = fn.key || "default";
|
|
4766
|
+
}
|
|
4690
4767
|
}
|
|
4691
4768
|
return slots;
|
|
4692
4769
|
}
|
|
4693
|
-
const staticCacheMap =
|
|
4770
|
+
const staticCacheMap = /*@__PURE__*/ new WeakMap();
|
|
4694
4771
|
function legacyRenderStatic(instance, index) {
|
|
4695
4772
|
let cache = staticCacheMap.get(instance);
|
|
4696
4773
|
if (!cache) staticCacheMap.set(instance, cache = []);
|
|
@@ -4913,7 +4990,7 @@ const PublicInstanceProxyHandlers = {
|
|
|
4913
4990
|
return Reflect.defineProperty(target, key, descriptor);
|
|
4914
4991
|
}
|
|
4915
4992
|
};
|
|
4916
|
-
const RuntimeCompiledPublicInstanceProxyHandlers =
|
|
4993
|
+
const RuntimeCompiledPublicInstanceProxyHandlers = /*@__PURE__*/ extend({}, PublicInstanceProxyHandlers, {
|
|
4917
4994
|
get(target, key) {
|
|
4918
4995
|
if (key === Symbol.unscopables) return;
|
|
4919
4996
|
return PublicInstanceProxyHandlers.get(target, key, target);
|
|
@@ -5037,12 +5114,13 @@ function mergeDefaults(raw, defaults) {
|
|
|
5037
5114
|
for (const key in defaults) {
|
|
5038
5115
|
if (key.startsWith("__skip")) continue;
|
|
5039
5116
|
let opt = props[key];
|
|
5040
|
-
if (opt)
|
|
5041
|
-
|
|
5042
|
-
|
|
5043
|
-
|
|
5044
|
-
|
|
5045
|
-
|
|
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] };
|
|
5046
5124
|
if (opt && defaults[`__skip_${key}`]) opt.skipFactory = true;
|
|
5047
5125
|
}
|
|
5048
5126
|
return props;
|
|
@@ -5148,9 +5226,11 @@ function applyOptions(instance) {
|
|
|
5148
5226
|
shouldCacheAccess = true;
|
|
5149
5227
|
if (computedOptions) for (const key in computedOptions) {
|
|
5150
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;
|
|
5151
5231
|
const c = computed({
|
|
5152
|
-
get
|
|
5153
|
-
set
|
|
5232
|
+
get,
|
|
5233
|
+
set
|
|
5154
5234
|
});
|
|
5155
5235
|
Object.defineProperty(ctx, key, {
|
|
5156
5236
|
enumerable: true,
|
|
@@ -5209,9 +5289,10 @@ function resolveInjections(injectOptions, ctx, checkDuplicateProperties = NOOP)
|
|
|
5209
5289
|
for (const key in injectOptions) {
|
|
5210
5290
|
const opt = injectOptions[key];
|
|
5211
5291
|
let injected;
|
|
5212
|
-
if (isObject(opt))
|
|
5213
|
-
|
|
5214
|
-
|
|
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);
|
|
5215
5296
|
if (/* @__PURE__ */ isRef(injected)) Object.defineProperty(ctx, key, {
|
|
5216
5297
|
enumerable: true,
|
|
5217
5298
|
configurable: true,
|
|
@@ -5230,7 +5311,8 @@ function createWatcher(raw, ctx, publicThis, key) {
|
|
|
5230
5311
|
{
|
|
5231
5312
|
const cur = getCurrentInstance();
|
|
5232
5313
|
const instance = cur && getCurrentScope() === cur.scope ? cur : null;
|
|
5233
|
-
|
|
5314
|
+
const newValue = getter();
|
|
5315
|
+
if (isArray(newValue) && isCompatEnabled$1("WATCH_ARRAY", instance)) options.deep = true;
|
|
5234
5316
|
const baseGetter = getter;
|
|
5235
5317
|
getter = () => {
|
|
5236
5318
|
const val = baseGetter();
|
|
@@ -5242,10 +5324,12 @@ function createWatcher(raw, ctx, publicThis, key) {
|
|
|
5242
5324
|
const handler = ctx[raw];
|
|
5243
5325
|
if (isFunction(handler)) watch(getter, handler, options);
|
|
5244
5326
|
} else if (isFunction(raw)) watch(getter, raw.bind(publicThis), options);
|
|
5245
|
-
else if (isObject(raw))
|
|
5246
|
-
|
|
5247
|
-
|
|
5248
|
-
|
|
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
|
+
}
|
|
5249
5333
|
}
|
|
5250
5334
|
}
|
|
5251
5335
|
/**
|
|
@@ -5260,12 +5344,13 @@ function resolveMergedOptions(instance) {
|
|
|
5260
5344
|
const cached = cache.get(base);
|
|
5261
5345
|
let resolved;
|
|
5262
5346
|
if (cached) resolved = cached;
|
|
5263
|
-
else if (!globalMixins.length && !mixins && !extendsOptions)
|
|
5264
|
-
|
|
5265
|
-
|
|
5266
|
-
|
|
5267
|
-
|
|
5268
|
-
|
|
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 {
|
|
5269
5354
|
resolved = {};
|
|
5270
5355
|
if (globalMixins.length) globalMixins.forEach((m) => mergeOptions(resolved, m, optionMergeStrategies, true));
|
|
5271
5356
|
mergeOptions(resolved, base, optionMergeStrategies);
|
|
@@ -5337,7 +5422,7 @@ function mergeObjectOptions(to, from) {
|
|
|
5337
5422
|
}
|
|
5338
5423
|
function mergeEmitsOrPropsOptions(to, from) {
|
|
5339
5424
|
if (to) {
|
|
5340
|
-
if (isArray(to) && isArray(from)) return [
|
|
5425
|
+
if (isArray(to) && isArray(from)) return [.../* @__PURE__ */ new Set([...to, ...from])];
|
|
5341
5426
|
return extend(Object.create(null), normalizePropsOrEmits(to), normalizePropsOrEmits(from !== null && from !== void 0 ? from : {}));
|
|
5342
5427
|
} else return from;
|
|
5343
5428
|
}
|
|
@@ -5373,7 +5458,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
|
|
|
5373
5458
|
if (options.el) return vm.$mount(options.el);
|
|
5374
5459
|
else return vm;
|
|
5375
5460
|
}
|
|
5376
|
-
Vue.version = `2.6.14-compat:3.6.0-rc.
|
|
5461
|
+
Vue.version = `2.6.14-compat:3.6.0-rc.7`;
|
|
5377
5462
|
Vue.config = singletonApp.config;
|
|
5378
5463
|
Vue.use = (plugin, ...options) => {
|
|
5379
5464
|
if (plugin && isFunction(plugin.install)) plugin.install(Vue, ...options);
|
|
@@ -5851,7 +5936,7 @@ function baseEmit(instance, props, getter, event, ...rawArgs) {
|
|
|
5851
5936
|
const modifiers = isCompatModelListener ? props.modelModifiers : isModelListener && getModelModifiers(props, event.slice(7), getter);
|
|
5852
5937
|
if (modifiers) {
|
|
5853
5938
|
if (modifiers.trim) args = rawArgs.map((a) => isString(a) ? a.trim() : a);
|
|
5854
|
-
if (modifiers.number) args =
|
|
5939
|
+
if (modifiers.number) args = args.map(looseToNumber);
|
|
5855
5940
|
}
|
|
5856
5941
|
let handlerName;
|
|
5857
5942
|
let handler = getter(props, handlerName = toHandlerKey(event)) || getter(props, handlerName = toHandlerKey(camelize(event)));
|
|
@@ -5974,8 +6059,10 @@ function filterSingleRoot(children, recurse = true) {
|
|
|
5974
6059
|
for (let i = 0; i < children.length; i++) {
|
|
5975
6060
|
const child = children[i];
|
|
5976
6061
|
if (isVNode(child)) {
|
|
5977
|
-
if (child.type !== Comment || child.children === "v-if")
|
|
5978
|
-
|
|
6062
|
+
if (child.type !== Comment || child.children === "v-if") {
|
|
6063
|
+
if (singleRoot) return;
|
|
6064
|
+
else singleRoot = child;
|
|
6065
|
+
}
|
|
5979
6066
|
} else return;
|
|
5980
6067
|
}
|
|
5981
6068
|
return singleRoot;
|
|
@@ -6107,16 +6194,17 @@ function updateProps(instance, rawProps, rawPrevProps, optimized) {
|
|
|
6107
6194
|
let key = propsToUpdate[i];
|
|
6108
6195
|
if (isEmitListener(instance.emitsOptions, key)) continue;
|
|
6109
6196
|
const value = rawProps[key];
|
|
6110
|
-
if (options)
|
|
6111
|
-
if (
|
|
6112
|
-
attrs[key]
|
|
6113
|
-
|
|
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);
|
|
6114
6206
|
}
|
|
6115
6207
|
} else {
|
|
6116
|
-
const camelizedKey = camelize(key);
|
|
6117
|
-
props[camelizedKey] = resolvePropValue(options, camelizedKey, value, instance, baseResolveDefault);
|
|
6118
|
-
}
|
|
6119
|
-
else {
|
|
6120
6208
|
if (isOn(key) && key.endsWith("Native")) key = key.slice(0, -6);
|
|
6121
6209
|
else if (shouldSkipAttr(key, instance)) continue;
|
|
6122
6210
|
if (value !== attrs[key]) {
|
|
@@ -6129,9 +6217,11 @@ function updateProps(instance, rawProps, rawPrevProps, optimized) {
|
|
|
6129
6217
|
} else {
|
|
6130
6218
|
if (setFullProps(instance, rawProps, props, attrs)) hasAttrsChanged = true;
|
|
6131
6219
|
let kebabKey;
|
|
6132
|
-
for (const key in rawCurrentProps) if (!rawProps || !hasOwn(rawProps, key) && ((kebabKey = hyphenate(key)) === key || !hasOwn(rawProps, kebabKey)))
|
|
6133
|
-
if (
|
|
6134
|
-
|
|
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
|
+
}
|
|
6135
6225
|
if (attrs !== rawCurrentProps) {
|
|
6136
6226
|
for (const key in attrs) if (!rawProps || !hasOwn(rawProps, key) && !hasOwn(rawProps, key + "Native")) {
|
|
6137
6227
|
delete attrs[key];
|
|
@@ -6151,9 +6241,10 @@ function setFullProps(instance, rawProps, props, attrs) {
|
|
|
6151
6241
|
if (key === "inline-template") continue;
|
|
6152
6242
|
const value = rawProps[key];
|
|
6153
6243
|
let camelKey;
|
|
6154
|
-
if (options && hasOwn(options, camelKey = camelize(key)))
|
|
6155
|
-
|
|
6156
|
-
|
|
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)) {
|
|
6157
6248
|
if (isOn(key) && key.endsWith("Native")) key = key.slice(0, -6);
|
|
6158
6249
|
else if (shouldSkipAttr(key, instance)) continue;
|
|
6159
6250
|
if (!(key in attrs) || value !== attrs[key]) {
|
|
@@ -6317,9 +6408,10 @@ const updateSlots = (instance, children, optimized) => {
|
|
|
6317
6408
|
let deletionComparisonTarget = EMPTY_OBJ;
|
|
6318
6409
|
if (vnode.shapeFlag & 32) {
|
|
6319
6410
|
const type = children._;
|
|
6320
|
-
if (type)
|
|
6321
|
-
|
|
6322
|
-
|
|
6411
|
+
if (type) {
|
|
6412
|
+
if (optimized && type === 1) needDeletionCheck = false;
|
|
6413
|
+
else assignSlots(slots, children, optimized);
|
|
6414
|
+
} else {
|
|
6323
6415
|
needDeletionCheck = !children.$stable;
|
|
6324
6416
|
normalizeObjectSlots(children, slots, instance);
|
|
6325
6417
|
}
|
|
@@ -6490,7 +6582,10 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
6490
6582
|
for (let i = 0; i < inheritedScopeIds.length; i++) hostSetScopeId(el, inheritedScopeIds[i]);
|
|
6491
6583
|
};
|
|
6492
6584
|
const mountChildren = (children, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, start = 0) => {
|
|
6493
|
-
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
|
+
}
|
|
6494
6589
|
};
|
|
6495
6590
|
const patchElement = (n1, n2, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {
|
|
6496
6591
|
const el = n2.el = n1.el;
|
|
@@ -6501,6 +6596,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
6501
6596
|
let vnodeHook;
|
|
6502
6597
|
parentComponent && toggleRecurse(parentComponent, false);
|
|
6503
6598
|
if (vnodeHook = newProps.onVnodeBeforeUpdate) invokeVNodeHook(vnodeHook, parentComponent, n2, n1);
|
|
6599
|
+
if (n2.ibu) n2.ibu();
|
|
6504
6600
|
if (dirs) invokeDirectiveHook(n2, n1, parentComponent, "beforeUpdate");
|
|
6505
6601
|
parentComponent && toggleRecurse(parentComponent, true);
|
|
6506
6602
|
if (dynamicChildren && (!n1.dynamicChildren || n1.dynamicChildren.length !== dynamicChildren.length)) {
|
|
@@ -6532,8 +6628,9 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
6532
6628
|
if (n1.children !== n2.children) hostSetElementText(el, n2.children);
|
|
6533
6629
|
}
|
|
6534
6630
|
} else if (!optimized && dynamicChildren == null) patchProps(el, oldProps, newProps, parentComponent, namespace);
|
|
6535
|
-
if ((vnodeHook = newProps.onVnodeUpdated) || dirs) queuePostRenderEffect(() => {
|
|
6631
|
+
if ((vnodeHook = newProps.onVnodeUpdated) || dirs || n2.iu) queuePostRenderEffect(() => {
|
|
6536
6632
|
vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, n2, n1);
|
|
6633
|
+
n2.iu && n2.iu();
|
|
6537
6634
|
dirs && invokeDirectiveHook(n2, n1, parentComponent, "updated");
|
|
6538
6635
|
}, void 0, parentSuspense);
|
|
6539
6636
|
};
|
|
@@ -6541,7 +6638,8 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
6541
6638
|
for (let i = 0; i < newChildren.length; i++) {
|
|
6542
6639
|
const oldVNode = oldChildren[i];
|
|
6543
6640
|
const newVNode = newChildren[i];
|
|
6544
|
-
|
|
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);
|
|
6545
6643
|
}
|
|
6546
6644
|
};
|
|
6547
6645
|
const patchProps = (el, oldProps, newProps, parentComponent, namespace) => {
|
|
@@ -6574,41 +6672,46 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
6574
6672
|
};
|
|
6575
6673
|
const processComponent = (n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {
|
|
6576
6674
|
n2.slotScopeIds = slotScopeIds;
|
|
6577
|
-
if (n2.type.__vapor)
|
|
6578
|
-
|
|
6579
|
-
|
|
6580
|
-
|
|
6581
|
-
|
|
6582
|
-
|
|
6583
|
-
|
|
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
|
+
}
|
|
6584
6694
|
}
|
|
6585
|
-
}
|
|
6586
|
-
|
|
6587
|
-
|
|
6588
|
-
|
|
6589
|
-
|
|
6590
|
-
|
|
6591
|
-
|
|
6592
|
-
|
|
6593
|
-
|
|
6594
|
-
|
|
6595
|
-
|
|
6596
|
-
|
|
6597
|
-
|
|
6598
|
-
|
|
6599
|
-
|
|
6600
|
-
|
|
6601
|
-
|
|
6602
|
-
|
|
6603
|
-
|
|
6604
|
-
|
|
6605
|
-
n2.dirs && invokeDirectiveHook(n2, n1, parentComponent, "updated");
|
|
6606
|
-
vnodeUpdatedHook && invokeVNodeHook(vnodeUpdatedHook, parentComponent, n2, n1);
|
|
6607
|
-
}, void 0, parentSuspense);
|
|
6608
|
-
}
|
|
6609
|
-
else if (n1 == null) if (n2.shapeFlag & 512) parentComponent.ctx.activate(n2, container, anchor, namespace, optimized);
|
|
6610
|
-
else mountComponent(n2, container, anchor, parentComponent, parentSuspense, namespace, optimized);
|
|
6611
|
-
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);
|
|
6612
6715
|
};
|
|
6613
6716
|
const mountComponent = (initialVNode, container, anchor, parentComponent, parentSuspense, namespace, optimized) => {
|
|
6614
6717
|
const compatMountInstance = initialVNode.isCompatRoot && initialVNode.component;
|
|
@@ -6640,14 +6743,15 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
6640
6743
|
};
|
|
6641
6744
|
const updateComponent = (n1, n2, optimized) => {
|
|
6642
6745
|
const instance = n2.component = n1.component;
|
|
6643
|
-
if (shouldUpdateComponent(n1, n2, optimized))
|
|
6644
|
-
|
|
6645
|
-
|
|
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
|
+
}
|
|
6646
6754
|
} else {
|
|
6647
|
-
instance.next = n2;
|
|
6648
|
-
instance.effect.run();
|
|
6649
|
-
}
|
|
6650
|
-
else {
|
|
6651
6755
|
n2.el = n1.el;
|
|
6652
6756
|
instance.vnode = n2;
|
|
6653
6757
|
}
|
|
@@ -6738,6 +6842,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
6738
6842
|
} else next = vnode;
|
|
6739
6843
|
if (bu) invokeArrayFns(bu);
|
|
6740
6844
|
if (vnodeHook = next.props && next.props.onVnodeBeforeUpdate) invokeVNodeHook(vnodeHook, parent, next, vnode);
|
|
6845
|
+
if (next.ibu) next.ibu();
|
|
6741
6846
|
if (isCompatEnabled$1("INSTANCE_EVENT_HOOKS", instance)) instance.emit("hook:beforeUpdate");
|
|
6742
6847
|
toggleRecurse(instance, true);
|
|
6743
6848
|
const nextTree = renderComponentRoot(instance);
|
|
@@ -6747,7 +6852,10 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
6747
6852
|
next.el = nextTree.el;
|
|
6748
6853
|
if (originNext === null) updateHOCHostEl(instance, nextTree.el);
|
|
6749
6854
|
if (u) queuePostRenderEffect(u, void 0, parentSuspense);
|
|
6750
|
-
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);
|
|
6751
6859
|
if (isCompatEnabled$1("INSTANCE_EVENT_HOOKS", instance)) queuePostRenderEffect(() => instance.emit("hook:updated"), void 0, parentSuspense);
|
|
6752
6860
|
}
|
|
6753
6861
|
}
|
|
@@ -6786,9 +6894,10 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
6786
6894
|
if (shapeFlag & 8) {
|
|
6787
6895
|
if (prevShapeFlag & 16) unmountChildren(c1, parentComponent, parentSuspense);
|
|
6788
6896
|
if (c2 !== c1) hostSetElementText(container, c2);
|
|
6789
|
-
} else if (prevShapeFlag & 16)
|
|
6790
|
-
|
|
6791
|
-
|
|
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 {
|
|
6792
6901
|
if (prevShapeFlag & 8) hostSetElementText(container, "");
|
|
6793
6902
|
if (shapeFlag & 16) mountChildren(c2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
|
|
6794
6903
|
}
|
|
@@ -6884,8 +6993,10 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
6884
6993
|
const anchorVNode = c2[nextIndex + 1];
|
|
6885
6994
|
const anchor = nextIndex + 1 < l2 ? anchorVNode.el || resolveAsyncComponentPlaceholder(anchorVNode) : parentAnchor;
|
|
6886
6995
|
if (newIndexToOldIndexMap[i] === 0) patch(null, nextChild, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
|
|
6887
|
-
else if (moved)
|
|
6888
|
-
|
|
6996
|
+
else if (moved) {
|
|
6997
|
+
if (j < 0 || i !== increasingNewIndexSequence[j]) move(nextChild, container, anchor, 2, parentComponent);
|
|
6998
|
+
else j--;
|
|
6999
|
+
}
|
|
6889
7000
|
}
|
|
6890
7001
|
}
|
|
6891
7002
|
};
|
|
@@ -6917,26 +7028,13 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
6917
7028
|
moveStaticNode(vnode, container, anchor);
|
|
6918
7029
|
return;
|
|
6919
7030
|
}
|
|
6920
|
-
if (moveType !== 2 && shapeFlag & 1 && transition)
|
|
6921
|
-
|
|
6922
|
-
|
|
6923
|
-
const remove = () => {
|
|
7031
|
+
if (moveType !== 2 && shapeFlag & 1 && transition) {
|
|
7032
|
+
if (moveType === 0) performTransitionEnter(el, transition, () => hostInsert(el, container, anchor), parentSuspense, true);
|
|
7033
|
+
else performTransitionLeave(el, transition, () => {
|
|
6924
7034
|
if (vnode.ctx.isUnmounted) hostRemove(el);
|
|
6925
7035
|
else hostInsert(el, container, anchor);
|
|
6926
|
-
};
|
|
6927
|
-
|
|
6928
|
-
const wasLeaving = el._isLeaving || !!el[leaveCbKey];
|
|
6929
|
-
if (el._isLeaving) el[leaveCbKey](true);
|
|
6930
|
-
if (transition.persisted && !wasLeaving) remove();
|
|
6931
|
-
else leave(el, () => {
|
|
6932
|
-
remove();
|
|
6933
|
-
afterLeave && afterLeave();
|
|
6934
|
-
});
|
|
6935
|
-
};
|
|
6936
|
-
if (delayLeave) delayLeave(el, remove, performLeave);
|
|
6937
|
-
else performLeave();
|
|
6938
|
-
}
|
|
6939
|
-
else hostInsert(el, container, anchor);
|
|
7036
|
+
}, true, true);
|
|
7037
|
+
} else hostInsert(el, container, anchor);
|
|
6940
7038
|
};
|
|
6941
7039
|
const unmount = (vnode, parentComponent, parentSuspense, doRemove = false, optimized = false) => {
|
|
6942
7040
|
const { type, props, ref, children, dynamicChildren, shapeFlag, patchFlag, dirs, cacheIndex, memo } = vnode;
|
|
@@ -6956,16 +7054,17 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
6956
7054
|
const shouldInvokeVnodeHook = !isAsyncWrapper(vnode);
|
|
6957
7055
|
let vnodeHook;
|
|
6958
7056
|
if (shouldInvokeVnodeHook && (vnodeHook = props && props.onVnodeBeforeUnmount)) invokeVNodeHook(vnodeHook, parentComponent, vnode);
|
|
6959
|
-
if (shapeFlag & 6)
|
|
6960
|
-
if (
|
|
6961
|
-
|
|
6962
|
-
|
|
6963
|
-
|
|
6964
|
-
|
|
6965
|
-
|
|
6966
|
-
|
|
6967
|
-
|
|
6968
|
-
|
|
7057
|
+
if (shapeFlag & 6) {
|
|
7058
|
+
if (isVaporComponent(type)) {
|
|
7059
|
+
if (dirs) invokeDirectiveHook(vnode, null, parentComponent, "beforeUnmount");
|
|
7060
|
+
getVaporInterface(parentComponent, vnode).unmount(vnode, doRemove, parentSuspense);
|
|
7061
|
+
if (shouldInvokeVnodeHook && (vnodeHook = props && props.onVnodeUnmounted) || dirs) queuePostRenderEffect(() => {
|
|
7062
|
+
dirs && invokeDirectiveHook(vnode, null, parentComponent, "unmounted");
|
|
7063
|
+
vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode);
|
|
7064
|
+
}, void 0, parentSuspense);
|
|
7065
|
+
return;
|
|
7066
|
+
} else unmountComponent(vnode.component, parentSuspense, doRemove);
|
|
7067
|
+
} else {
|
|
6969
7068
|
if (shapeFlag & 128) {
|
|
6970
7069
|
vnode.suspense.unmount(parentSuspense, doRemove);
|
|
6971
7070
|
return;
|
|
@@ -7088,12 +7187,14 @@ function resolveChildrenNamespace({ type, props }, currentNamespace) {
|
|
|
7088
7187
|
return currentNamespace === "svg" && type === "foreignObject" || currentNamespace === "mathml" && type === "annotation-xml" && props && props.encoding && props.encoding.includes("html") ? void 0 : currentNamespace;
|
|
7089
7188
|
}
|
|
7090
7189
|
function toggleRecurse({ effect, job, vapor }, allowed) {
|
|
7091
|
-
if (!vapor)
|
|
7092
|
-
|
|
7093
|
-
|
|
7094
|
-
|
|
7095
|
-
|
|
7096
|
-
|
|
7190
|
+
if (!vapor) {
|
|
7191
|
+
if (allowed) {
|
|
7192
|
+
effect.flags |= 128;
|
|
7193
|
+
job.flags |= 2;
|
|
7194
|
+
} else {
|
|
7195
|
+
effect.flags &= -129;
|
|
7196
|
+
job.flags &= -3;
|
|
7197
|
+
}
|
|
7097
7198
|
}
|
|
7098
7199
|
}
|
|
7099
7200
|
function needTransition(parentSuspense, transition) {
|
|
@@ -7132,8 +7233,10 @@ function traverseStaticChildren(n1, n2, shallow = false) {
|
|
|
7132
7233
|
}
|
|
7133
7234
|
function locateNonHydratedAsyncRoot(instance) {
|
|
7134
7235
|
const subComponent = instance.subTree && instance.subTree.component;
|
|
7135
|
-
if (subComponent)
|
|
7136
|
-
|
|
7236
|
+
if (subComponent) {
|
|
7237
|
+
if (subComponent.asyncDep && !subComponent.asyncResolved) return subComponent;
|
|
7238
|
+
else return locateNonHydratedAsyncRoot(subComponent);
|
|
7239
|
+
}
|
|
7137
7240
|
}
|
|
7138
7241
|
function invalidateMount(hooks) {
|
|
7139
7242
|
if (hooks) for (let i = 0; i < hooks.length; i++) hooks[i].flags |= 4;
|
|
@@ -7152,13 +7255,15 @@ function performTransitionEnter(el, transition, insert, parentSuspense, force =
|
|
|
7152
7255
|
function performTransitionLeave(el, transition, remove, isElement = true, force = false) {
|
|
7153
7256
|
const performRemove = () => {
|
|
7154
7257
|
remove();
|
|
7155
|
-
if (transition && !transition.persisted && transition.afterLeave) transition.afterLeave();
|
|
7258
|
+
if (transition && (force || !transition.persisted) && transition.afterLeave) transition.afterLeave();
|
|
7156
7259
|
};
|
|
7157
7260
|
if (force || isElement && transition && !transition.persisted) {
|
|
7158
7261
|
const { leave, delayLeave } = transition;
|
|
7159
7262
|
const performLeave = () => {
|
|
7263
|
+
const wasLeaving = el._isLeaving || !!el[leaveCbKey];
|
|
7160
7264
|
if (el._isLeaving && force) el[leaveCbKey](true);
|
|
7161
|
-
|
|
7265
|
+
if (force && transition.persisted && !wasLeaving) remove();
|
|
7266
|
+
else leave(el, performRemove);
|
|
7162
7267
|
};
|
|
7163
7268
|
if (delayLeave) delayLeave(el, performRemove, performLeave);
|
|
7164
7269
|
else performLeave();
|
|
@@ -7250,7 +7355,7 @@ function patchSuspense(n1, n2, container, anchor, parentComponent, namespace, sl
|
|
|
7250
7355
|
patch(pendingBranch, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, namespace, slotScopeIds, optimized);
|
|
7251
7356
|
if (suspense.deps <= 0) suspense.resolve();
|
|
7252
7357
|
else if (isInFallback) {
|
|
7253
|
-
if (!isHydrating) {
|
|
7358
|
+
if (!isHydrating && !suspense.isFallbackMountPending) {
|
|
7254
7359
|
patch(activeBranch, newFallback, container, anchor, parentComponent, null, namespace, slotScopeIds, optimized);
|
|
7255
7360
|
setActiveBranch(suspense, newFallback);
|
|
7256
7361
|
}
|
|
@@ -7271,7 +7376,7 @@ function patchSuspense(n1, n2, container, anchor, parentComponent, namespace, sl
|
|
|
7271
7376
|
if (isInFallback) {
|
|
7272
7377
|
patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, namespace, slotScopeIds, optimized);
|
|
7273
7378
|
if (suspense.deps <= 0) suspense.resolve();
|
|
7274
|
-
else {
|
|
7379
|
+
else if (!suspense.isFallbackMountPending) {
|
|
7275
7380
|
patch(activeBranch, newFallback, container, anchor, parentComponent, null, namespace, slotScopeIds, optimized);
|
|
7276
7381
|
setActiveBranch(suspense, newFallback);
|
|
7277
7382
|
}
|
|
@@ -7388,8 +7493,9 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
|
|
|
7388
7493
|
const mountFallback = () => {
|
|
7389
7494
|
suspense.isFallbackMountPending = false;
|
|
7390
7495
|
if (!suspense.isInFallback) return;
|
|
7391
|
-
|
|
7392
|
-
|
|
7496
|
+
const latestFallback = suspense.vnode.ssFallback;
|
|
7497
|
+
patch(null, latestFallback, container, anchor, parentComponent, null, namespace, slotScopeIds, optimized);
|
|
7498
|
+
setActiveBranch(suspense, latestFallback);
|
|
7393
7499
|
};
|
|
7394
7500
|
const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === "out-in";
|
|
7395
7501
|
if (delayEnter) {
|
|
@@ -7461,9 +7567,10 @@ function normalizeSuspenseSlot(s) {
|
|
|
7461
7567
|
return s;
|
|
7462
7568
|
}
|
|
7463
7569
|
function queueEffectWithSuspense(fn, id, suspense) {
|
|
7464
|
-
if (suspense && suspense.pendingBranch)
|
|
7465
|
-
|
|
7466
|
-
|
|
7570
|
+
if (suspense && suspense.pendingBranch) {
|
|
7571
|
+
if (isArray(fn)) suspense.effects.push(...fn);
|
|
7572
|
+
else suspense.effects.push(fn);
|
|
7573
|
+
} else queuePostFlushCb(fn, id);
|
|
7467
7574
|
}
|
|
7468
7575
|
function setActiveBranch(suspense, branch) {
|
|
7469
7576
|
suspense.activeBranch = branch;
|
|
@@ -7666,8 +7773,10 @@ function _createVNode(type, props = null, children = null, patchFlag = 0, dynami
|
|
|
7666
7773
|
if (isVNode(type)) {
|
|
7667
7774
|
const cloned = cloneVNode(type, props, true);
|
|
7668
7775
|
if (children) normalizeChildren(cloned, children);
|
|
7669
|
-
if (isBlockTreeEnabled > 0 && !isBlockNode && currentBlock)
|
|
7670
|
-
|
|
7776
|
+
if (isBlockTreeEnabled > 0 && !isBlockNode && currentBlock) {
|
|
7777
|
+
if (cloned.shapeFlag & 6) currentBlock[currentBlock.indexOf(type)] = cloned;
|
|
7778
|
+
else currentBlock.push(cloned);
|
|
7779
|
+
}
|
|
7671
7780
|
cloned.patchFlag = -2;
|
|
7672
7781
|
return cloned;
|
|
7673
7782
|
}
|
|
@@ -7724,7 +7833,9 @@ function cloneVNode(vnode, extraProps, mergeRef = false, cloneTransition = false
|
|
|
7724
7833
|
ce: vnode.ce,
|
|
7725
7834
|
vi: vnode.vi,
|
|
7726
7835
|
vs: cloneVaporSlotMeta(vnode),
|
|
7727
|
-
vb: vnode.vb
|
|
7836
|
+
vb: vnode.vb,
|
|
7837
|
+
ibu: vnode.ibu,
|
|
7838
|
+
iu: vnode.iu
|
|
7728
7839
|
};
|
|
7729
7840
|
if (transition && cloneTransition) setTransitionHooks(cloned, transition.clone(cloned));
|
|
7730
7841
|
defineLegacyVNodeProperties(cloned);
|
|
@@ -7779,25 +7890,28 @@ function normalizeChildren(vnode, children) {
|
|
|
7779
7890
|
const { shapeFlag } = vnode;
|
|
7780
7891
|
if (children == null) children = null;
|
|
7781
7892
|
else if (isArray(children)) type = 16;
|
|
7782
|
-
else if (typeof children === "object")
|
|
7783
|
-
|
|
7784
|
-
|
|
7785
|
-
|
|
7786
|
-
|
|
7787
|
-
|
|
7788
|
-
|
|
7789
|
-
|
|
7790
|
-
|
|
7791
|
-
|
|
7792
|
-
|
|
7793
|
-
|
|
7794
|
-
|
|
7795
|
-
|
|
7796
|
-
|
|
7797
|
-
|
|
7893
|
+
else if (typeof children === "object") {
|
|
7894
|
+
if (shapeFlag & 65) {
|
|
7895
|
+
const slot = children.default;
|
|
7896
|
+
if (slot) {
|
|
7897
|
+
slot._c && (slot._d = false);
|
|
7898
|
+
normalizeChildren(vnode, slot());
|
|
7899
|
+
slot._c && (slot._d = true);
|
|
7900
|
+
}
|
|
7901
|
+
return;
|
|
7902
|
+
} else {
|
|
7903
|
+
type = 32;
|
|
7904
|
+
const slotFlag = children._;
|
|
7905
|
+
if (!slotFlag && !isInternalObject(children)) children._ctx = currentRenderingInstance;
|
|
7906
|
+
else if (slotFlag === 3 && currentRenderingInstance) {
|
|
7907
|
+
if (currentRenderingInstance.slots._ === 1) children._ = 1;
|
|
7908
|
+
else {
|
|
7909
|
+
children._ = 2;
|
|
7910
|
+
vnode.patchFlag |= 1024;
|
|
7911
|
+
}
|
|
7912
|
+
}
|
|
7798
7913
|
}
|
|
7799
|
-
}
|
|
7800
|
-
else if (isFunction(children)) {
|
|
7914
|
+
} else if (isFunction(children)) {
|
|
7801
7915
|
if (shapeFlag & 65) {
|
|
7802
7916
|
normalizeChildren(vnode, { default: children });
|
|
7803
7917
|
return;
|
|
@@ -7909,7 +8023,7 @@ const useInstanceOption = (key, silent = false) => {
|
|
|
7909
8023
|
};
|
|
7910
8024
|
//#endregion
|
|
7911
8025
|
//#region packages/runtime-core/src/component.ts
|
|
7912
|
-
const emptyAppContext =
|
|
8026
|
+
const emptyAppContext = /*@__PURE__*/ createAppContext();
|
|
7913
8027
|
let uid = 0;
|
|
7914
8028
|
function createComponentInstance(vnode, parent, suspense) {
|
|
7915
8029
|
const type = vnode.type;
|
|
@@ -8034,9 +8148,10 @@ function setupStatefulComponent(instance, isSSR) {
|
|
|
8034
8148
|
} else finishComponentSetup(instance, isSSR);
|
|
8035
8149
|
}
|
|
8036
8150
|
function handleSetupResult(instance, setupResult, isSSR) {
|
|
8037
|
-
if (isFunction(setupResult))
|
|
8038
|
-
|
|
8039
|
-
|
|
8151
|
+
if (isFunction(setupResult)) {
|
|
8152
|
+
if (instance.type.__ssrInlineRender) instance.ssrRender = setupResult;
|
|
8153
|
+
else instance.render = setupResult;
|
|
8154
|
+
} else if (isObject(setupResult)) instance.setupState = proxyRefs(setupResult);
|
|
8040
8155
|
finishComponentSetup(instance, isSSR);
|
|
8041
8156
|
}
|
|
8042
8157
|
let compile$1;
|
|
@@ -8135,11 +8250,12 @@ function h(type, propsOrChildren, children) {
|
|
|
8135
8250
|
try {
|
|
8136
8251
|
setBlockTracking(-1);
|
|
8137
8252
|
const l = arguments.length;
|
|
8138
|
-
if (l === 2)
|
|
8139
|
-
if (
|
|
8140
|
-
|
|
8141
|
-
|
|
8142
|
-
|
|
8253
|
+
if (l === 2) {
|
|
8254
|
+
if (isObject(propsOrChildren) && !isArray(propsOrChildren)) {
|
|
8255
|
+
if (isVNode(propsOrChildren)) return createVNode(type, null, [propsOrChildren]);
|
|
8256
|
+
return createVNode(type, propsOrChildren);
|
|
8257
|
+
} else return createVNode(type, null, propsOrChildren);
|
|
8258
|
+
} else {
|
|
8143
8259
|
if (l > 3) children = Array.prototype.slice.call(arguments, 2);
|
|
8144
8260
|
else if (l === 3 && isVNode(children)) children = [children];
|
|
8145
8261
|
return createVNode(type, propsOrChildren, children);
|
|
@@ -8150,15 +8266,7 @@ function h(type, propsOrChildren, children) {
|
|
|
8150
8266
|
}
|
|
8151
8267
|
//#endregion
|
|
8152
8268
|
//#region packages/runtime-core/src/customFormatter.ts
|
|
8153
|
-
function initCustomFormatter() {
|
|
8154
|
-
return;
|
|
8155
|
-
function isKeyOfType(Comp, key, type) {
|
|
8156
|
-
const opts = Comp[type];
|
|
8157
|
-
if (isArray(opts) && opts.includes(key) || isObject(opts) && key in opts) return true;
|
|
8158
|
-
if (Comp.extends && isKeyOfType(Comp.extends, key, type)) return true;
|
|
8159
|
-
if (Comp.mixins && Comp.mixins.some((m) => isKeyOfType(m, key, type))) return true;
|
|
8160
|
-
}
|
|
8161
|
-
}
|
|
8269
|
+
function initCustomFormatter() {}
|
|
8162
8270
|
//#endregion
|
|
8163
8271
|
//#region packages/runtime-core/src/helpers/withMemo.ts
|
|
8164
8272
|
function withMemo(memo, render, cache, index) {
|
|
@@ -8178,7 +8286,7 @@ function isMemoSame(cached, memo) {
|
|
|
8178
8286
|
}
|
|
8179
8287
|
//#endregion
|
|
8180
8288
|
//#region packages/runtime-core/src/index.ts
|
|
8181
|
-
const version = "3.6.0-rc.
|
|
8289
|
+
const version = "3.6.0-rc.7";
|
|
8182
8290
|
const warn = NOOP;
|
|
8183
8291
|
/**
|
|
8184
8292
|
* Runtime error messages. Only exposed in dev or esm builds.
|
|
@@ -8222,13 +8330,13 @@ const DeprecationTypes = DeprecationTypes$1;
|
|
|
8222
8330
|
let policy = void 0;
|
|
8223
8331
|
const tt = typeof window !== "undefined" && window.trustedTypes;
|
|
8224
8332
|
if (tt) try {
|
|
8225
|
-
policy =
|
|
8333
|
+
policy = /*@__PURE__*/ tt.createPolicy("vue", { createHTML: (val) => val });
|
|
8226
8334
|
} catch (e) {}
|
|
8227
8335
|
const unsafeToTrustedHTML = policy ? (val) => policy.createHTML(val) : (val) => val;
|
|
8228
8336
|
const svgNS = "http://www.w3.org/2000/svg";
|
|
8229
8337
|
const mathmlNS = "http://www.w3.org/1998/Math/MathML";
|
|
8230
8338
|
const doc = typeof document !== "undefined" ? document : null;
|
|
8231
|
-
const templateContainer = doc &&
|
|
8339
|
+
const templateContainer = doc && /*@__PURE__*/ doc.createElement("template");
|
|
8232
8340
|
const nodeOps = {
|
|
8233
8341
|
insert: (child, parent, anchor) => {
|
|
8234
8342
|
parent.insertBefore(child, anchor || null);
|
|
@@ -8302,7 +8410,7 @@ const DOMTransitionPropsValidators = {
|
|
|
8302
8410
|
leaveActiveClass: String,
|
|
8303
8411
|
leaveToClass: String
|
|
8304
8412
|
};
|
|
8305
|
-
const TransitionPropsValidators =
|
|
8413
|
+
const TransitionPropsValidators = /*@__PURE__*/ extend({}, BaseTransitionPropsValidators, DOMTransitionPropsValidators);
|
|
8306
8414
|
/**
|
|
8307
8415
|
* Wrap logic that attaches extra properties to Transition in a function
|
|
8308
8416
|
* so that it can be annotated as pure
|
|
@@ -8317,7 +8425,7 @@ const decorate$1 = (t) => {
|
|
|
8317
8425
|
* DOM Transition is a higher-order-component based on the platform-agnostic
|
|
8318
8426
|
* base Transition component, with DOM-specific logic.
|
|
8319
8427
|
*/
|
|
8320
|
-
const Transition =
|
|
8428
|
+
const Transition = /*@__PURE__*/ decorate$1((props, { slots }) => h(BaseTransition, resolveTransitionProps(props), slots));
|
|
8321
8429
|
/**
|
|
8322
8430
|
* #3227 Incoming hooks may be merged into arrays when wrapping Transition
|
|
8323
8431
|
* with custom HOCs.
|
|
@@ -8555,14 +8663,15 @@ const vShow = {
|
|
|
8555
8663
|
},
|
|
8556
8664
|
updated(el, { value, oldValue }, { transition }) {
|
|
8557
8665
|
if (!value === !oldValue) return;
|
|
8558
|
-
if (transition)
|
|
8559
|
-
|
|
8560
|
-
|
|
8561
|
-
|
|
8562
|
-
|
|
8563
|
-
|
|
8564
|
-
|
|
8565
|
-
|
|
8666
|
+
if (transition) {
|
|
8667
|
+
if (value) {
|
|
8668
|
+
transition.beforeEnter(el);
|
|
8669
|
+
setDisplay(el, true);
|
|
8670
|
+
transition.enter(el);
|
|
8671
|
+
} else transition.leave(el, () => {
|
|
8672
|
+
setDisplay(el, false);
|
|
8673
|
+
});
|
|
8674
|
+
} else setDisplay(el, value);
|
|
8566
8675
|
},
|
|
8567
8676
|
beforeUnmount(el, { value }) {
|
|
8568
8677
|
setDisplay(el, value);
|
|
@@ -8593,11 +8702,13 @@ function patchStyle(el, prev, next) {
|
|
|
8593
8702
|
const isCssString = isString(next);
|
|
8594
8703
|
let hasControlledDisplay = false;
|
|
8595
8704
|
if (next && !isCssString) {
|
|
8596
|
-
if (prev)
|
|
8597
|
-
|
|
8598
|
-
|
|
8599
|
-
|
|
8600
|
-
|
|
8705
|
+
if (prev) {
|
|
8706
|
+
if (!isString(prev)) {
|
|
8707
|
+
for (const key in prev) if (next[key] == null) setStyle(style, key, "");
|
|
8708
|
+
} else for (const prevStyle of prev.split(";")) {
|
|
8709
|
+
const key = prevStyle.slice(0, prevStyle.indexOf(":")).trim();
|
|
8710
|
+
if (next[key] == null) setStyle(style, key, "");
|
|
8711
|
+
}
|
|
8601
8712
|
}
|
|
8602
8713
|
for (const key in next) {
|
|
8603
8714
|
if (key === "display") hasControlledDisplay = true;
|
|
@@ -8624,8 +8735,10 @@ function setStyle(style, name, rawVal) {
|
|
|
8624
8735
|
if (isArray(rawVal)) rawVal.forEach((v) => setStyle(style, name, v));
|
|
8625
8736
|
else {
|
|
8626
8737
|
const val = rawVal == null ? "" : String(rawVal);
|
|
8627
|
-
if (name.startsWith("--"))
|
|
8628
|
-
|
|
8738
|
+
if (name.startsWith("--")) {
|
|
8739
|
+
if (importantRE.test(val)) style.setProperty(name, val.replace(importantRE, ""), "important");
|
|
8740
|
+
else style.setProperty(name, val);
|
|
8741
|
+
} else {
|
|
8629
8742
|
const prefixed = autoPrefix(style, name);
|
|
8630
8743
|
if (importantRE.test(val)) style.setProperty(hyphenate(prefixed), val.replace(importantRE, ""), "important");
|
|
8631
8744
|
else style[prefixed] = val;
|
|
@@ -8662,15 +8775,16 @@ function shouldPreserveTextareaResizeStyle(el, key, prev, next) {
|
|
|
8662
8775
|
//#region packages/runtime-dom/src/modules/attrs.ts
|
|
8663
8776
|
const xlinkNS = "http://www.w3.org/1999/xlink";
|
|
8664
8777
|
function patchAttr(el, key, value, isSVG, instance, isBoolean = isSpecialBooleanAttr(key)) {
|
|
8665
|
-
if (isSVG && key.startsWith("xlink:"))
|
|
8666
|
-
|
|
8667
|
-
|
|
8778
|
+
if (isSVG && key.startsWith("xlink:")) {
|
|
8779
|
+
if (value == null) el.removeAttributeNS(xlinkNS, key.slice(6, key.length));
|
|
8780
|
+
else el.setAttributeNS(xlinkNS, key, value);
|
|
8781
|
+
} else {
|
|
8668
8782
|
if (compatCoerceAttr(el, key, value, instance)) return;
|
|
8669
8783
|
if (value == null || isBoolean && !includeBooleanAttr(value)) el.removeAttribute(key);
|
|
8670
8784
|
else el.setAttribute(key, isBoolean ? "" : isSymbol(value) ? String(value) : value);
|
|
8671
8785
|
}
|
|
8672
8786
|
}
|
|
8673
|
-
const isEnumeratedAttr =
|
|
8787
|
+
const isEnumeratedAttr = /*@__PURE__*/ makeMap("contenteditable,draggable,spellcheck");
|
|
8674
8788
|
function compatCoerceAttr(el, key, value, instance = null) {
|
|
8675
8789
|
if (isEnumeratedAttr(key)) {
|
|
8676
8790
|
const v2CoercedValue = value === void 0 ? null : value === null || value === false || value === "false" ? "false" : "true";
|
|
@@ -8759,7 +8873,7 @@ function parseEventName(name) {
|
|
|
8759
8873
|
return [name[2] === ":" ? name.slice(3) : hyphenate(name.slice(2)), options];
|
|
8760
8874
|
}
|
|
8761
8875
|
let cachedNow = 0;
|
|
8762
|
-
const p =
|
|
8876
|
+
const p = /*@__PURE__*/ Promise.resolve();
|
|
8763
8877
|
const getNow = () => cachedNow || (p.then(() => cachedNow = 0), cachedNow = Date.now());
|
|
8764
8878
|
function createInvoker(initialValue, instance) {
|
|
8765
8879
|
const invoker = (e) => {
|
|
@@ -8822,7 +8936,7 @@ function shouldSetAsPropForVueCE(el, key) {
|
|
|
8822
8936
|
//#endregion
|
|
8823
8937
|
//#region packages/runtime-dom/src/apiCustomElement.ts
|
|
8824
8938
|
const REMOVAL = {};
|
|
8825
|
-
|
|
8939
|
+
/*@__NO_SIDE_EFFECTS__*/
|
|
8826
8940
|
function defineCustomElement(options, extraOptions, _createApp) {
|
|
8827
8941
|
let Comp = /* @__PURE__ */ defineComponent(options, extraOptions);
|
|
8828
8942
|
if (isPlainObject(Comp)) Comp = extend({}, Comp, extraOptions);
|
|
@@ -8871,12 +8985,14 @@ var VueElementBase = class VueElementBase extends BaseClass {
|
|
|
8871
8985
|
this._parent = parent;
|
|
8872
8986
|
break;
|
|
8873
8987
|
}
|
|
8874
|
-
if (!this._instance)
|
|
8875
|
-
|
|
8876
|
-
this._pendingResolve =
|
|
8877
|
-
|
|
8878
|
-
|
|
8879
|
-
|
|
8988
|
+
if (!this._instance) {
|
|
8989
|
+
if (this._resolved) this._mountComponent(this._def);
|
|
8990
|
+
else if (parent && parent._pendingResolve) this._pendingResolve = parent._pendingResolve.then(() => {
|
|
8991
|
+
this._pendingResolve = void 0;
|
|
8992
|
+
if (this.isConnected) return this._resolveDef();
|
|
8993
|
+
});
|
|
8994
|
+
else this._resolveDef();
|
|
8995
|
+
}
|
|
8880
8996
|
}
|
|
8881
8997
|
disconnectedCallback() {
|
|
8882
8998
|
this._connected = false;
|
|
@@ -9069,13 +9185,11 @@ var VueElementBase = class VueElementBase extends BaseClass {
|
|
|
9069
9185
|
_renderSlots() {
|
|
9070
9186
|
const outlets = this._getSlots();
|
|
9071
9187
|
const scopeId = this._instance.type.__scopeId;
|
|
9072
|
-
const slotReplacements = /* @__PURE__ */ new Map();
|
|
9073
9188
|
for (let i = 0; i < outlets.length; i++) {
|
|
9074
9189
|
const o = outlets[i];
|
|
9075
9190
|
const slotName = o.getAttribute("name") || "default";
|
|
9076
9191
|
const content = this._slots[slotName];
|
|
9077
9192
|
const parent = o.parentNode;
|
|
9078
|
-
const replacementNodes = [];
|
|
9079
9193
|
if (content) for (const n of content) {
|
|
9080
9194
|
if (scopeId && n.nodeType === 1) {
|
|
9081
9195
|
const id = scopeId + "-s";
|
|
@@ -9085,20 +9199,10 @@ var VueElementBase = class VueElementBase extends BaseClass {
|
|
|
9085
9199
|
while (child = walker.nextNode()) child.setAttribute(id, "");
|
|
9086
9200
|
}
|
|
9087
9201
|
parent.insertBefore(n, o);
|
|
9088
|
-
replacementNodes.push(n);
|
|
9089
|
-
}
|
|
9090
|
-
else while (o.firstChild) {
|
|
9091
|
-
const child = o.firstChild;
|
|
9092
|
-
parent.insertBefore(child, o);
|
|
9093
|
-
replacementNodes.push(child);
|
|
9094
9202
|
}
|
|
9203
|
+
else while (o.firstChild) parent.insertBefore(o.firstChild, o);
|
|
9095
9204
|
parent.removeChild(o);
|
|
9096
|
-
slotReplacements.set(o, {
|
|
9097
|
-
nodes: replacementNodes,
|
|
9098
|
-
usedFallback: !content
|
|
9099
|
-
});
|
|
9100
9205
|
}
|
|
9101
|
-
this._updateSlotNodes(slotReplacements);
|
|
9102
9206
|
}
|
|
9103
9207
|
/**
|
|
9104
9208
|
* @internal
|
|
@@ -9137,7 +9241,7 @@ var VueElementBase = class VueElementBase extends BaseClass {
|
|
|
9137
9241
|
* @internal
|
|
9138
9242
|
*/
|
|
9139
9243
|
_hasShadowRoot() {
|
|
9140
|
-
return this.
|
|
9244
|
+
return this._root !== this;
|
|
9141
9245
|
}
|
|
9142
9246
|
/**
|
|
9143
9247
|
* @internal
|
|
@@ -9170,10 +9274,6 @@ var VueElement = class extends VueElementBase {
|
|
|
9170
9274
|
if (this._instance && this._instance.ce) this._instance.ce = void 0;
|
|
9171
9275
|
this._app = this._instance = null;
|
|
9172
9276
|
}
|
|
9173
|
-
/**
|
|
9174
|
-
* Only called when shadowRoot is false
|
|
9175
|
-
*/
|
|
9176
|
-
_updateSlotNodes(replacements) {}
|
|
9177
9277
|
_createVNode() {
|
|
9178
9278
|
const baseProps = {};
|
|
9179
9279
|
if (!this.shadowRoot) baseProps.onVnodeMounted = baseProps.onVnodeUpdated = this._renderSlots.bind(this);
|
|
@@ -9229,7 +9329,7 @@ const decorate = (t) => {
|
|
|
9229
9329
|
};
|
|
9230
9330
|
const TransitionGroup = /* @__PURE__ */ decorate({
|
|
9231
9331
|
name: "TransitionGroup",
|
|
9232
|
-
props:
|
|
9332
|
+
props: /*@__PURE__*/ extend({}, TransitionPropsValidators, {
|
|
9233
9333
|
tag: String,
|
|
9234
9334
|
moveClass: String
|
|
9235
9335
|
}),
|
|
@@ -9510,37 +9610,58 @@ const vModelSelectInit = (el, value, number, set) => {
|
|
|
9510
9610
|
el._modelValue = value;
|
|
9511
9611
|
addEventListener(el, "change", () => {
|
|
9512
9612
|
const selectedVal = Array.prototype.filter.call(el.options, (o) => o.selected).map((o) => number ? looseToNumber(getValue(o)) : getValue(o));
|
|
9513
|
-
|
|
9514
|
-
el.
|
|
9515
|
-
|
|
9516
|
-
|
|
9517
|
-
|
|
9613
|
+
const multiple = el.multiple;
|
|
9614
|
+
const assignedValue = multiple ? isSet(el._modelValue) ? new Set(selectedVal) : selectedVal : selectedVal[0];
|
|
9615
|
+
const pending = el._pendingValue = [multiple, multiple ? isArray(assignedValue) ? selectedVal.slice() : selectedVal : assignedValue];
|
|
9616
|
+
try {
|
|
9617
|
+
(set || el[assignKey])(assignedValue);
|
|
9618
|
+
} finally {
|
|
9619
|
+
nextTick(() => {
|
|
9620
|
+
if (el._pendingValue === pending) el._pendingValue = void 0;
|
|
9621
|
+
});
|
|
9622
|
+
}
|
|
9518
9623
|
});
|
|
9519
9624
|
};
|
|
9625
|
+
function isSameSelectValue(value, assignedValue, multiple) {
|
|
9626
|
+
if (!multiple) return looseEqual(value, assignedValue);
|
|
9627
|
+
if (isArray(value)) return looseEqual(value, assignedValue);
|
|
9628
|
+
if (isSet(value)) {
|
|
9629
|
+
if (value.size !== assignedValue.length) return false;
|
|
9630
|
+
for (const item of assignedValue) if (!value.has(item)) return false;
|
|
9631
|
+
return true;
|
|
9632
|
+
}
|
|
9633
|
+
return false;
|
|
9634
|
+
}
|
|
9520
9635
|
/**
|
|
9521
9636
|
* @internal
|
|
9522
9637
|
*/
|
|
9523
9638
|
const vModelSetSelected = (el, value) => {
|
|
9524
9639
|
el._modelValue = value;
|
|
9525
|
-
|
|
9640
|
+
const pending = el._pendingValue;
|
|
9641
|
+
el._pendingValue = void 0;
|
|
9642
|
+
if (pending && pending[0] === el.multiple && isSameSelectValue(value, pending[1], pending[0])) return;
|
|
9643
|
+
setSelected(el, value);
|
|
9644
|
+
};
|
|
9645
|
+
function setSelected(el, value) {
|
|
9526
9646
|
const isMultiple = el.multiple;
|
|
9527
9647
|
const isArrayValue = isArray(value);
|
|
9528
9648
|
if (isMultiple && !isArrayValue && !isSet(value)) return;
|
|
9529
9649
|
for (let i = 0, l = el.options.length; i < l; i++) {
|
|
9530
9650
|
const option = el.options[i];
|
|
9531
9651
|
const optionValue = getValue(option);
|
|
9532
|
-
if (isMultiple)
|
|
9533
|
-
|
|
9534
|
-
|
|
9535
|
-
|
|
9536
|
-
|
|
9537
|
-
|
|
9652
|
+
if (isMultiple) {
|
|
9653
|
+
if (isArrayValue) {
|
|
9654
|
+
const optionType = typeof optionValue;
|
|
9655
|
+
if (optionType === "string" || optionType === "number") option.selected = value.some((v) => String(v) === String(optionValue));
|
|
9656
|
+
else option.selected = looseIndexOf(value, optionValue) > -1;
|
|
9657
|
+
} else option.selected = value.has(optionValue);
|
|
9658
|
+
} else if (looseEqual(getValue(option), value)) {
|
|
9538
9659
|
if (el.selectedIndex !== i) el.selectedIndex = i;
|
|
9539
9660
|
return;
|
|
9540
9661
|
}
|
|
9541
9662
|
}
|
|
9542
9663
|
if (!isMultiple && el.selectedIndex !== -1) el.selectedIndex = -1;
|
|
9543
|
-
}
|
|
9664
|
+
}
|
|
9544
9665
|
/**
|
|
9545
9666
|
* @internal retrieve raw value set via :value bindings
|
|
9546
9667
|
*/
|
|
@@ -9853,7 +9974,7 @@ var src_exports = /* @__PURE__ */ __exportAll({
|
|
|
9853
9974
|
withModifiers: () => withModifiers,
|
|
9854
9975
|
withScopeId: () => withScopeId
|
|
9855
9976
|
});
|
|
9856
|
-
const rendererOptions =
|
|
9977
|
+
const rendererOptions = /*@__PURE__*/ extend({ patchProp }, nodeOps);
|
|
9857
9978
|
let renderer;
|
|
9858
9979
|
let enabledHydration = false;
|
|
9859
9980
|
function ensureRenderer() {
|
|
@@ -10186,7 +10307,7 @@ function convertToBlock(node, { helper, removeHelper, inSSR }) {
|
|
|
10186
10307
|
//#endregion
|
|
10187
10308
|
//#region node_modules/.pnpm/entities@7.0.1/node_modules/entities/dist/esm/decode-codepoint.js
|
|
10188
10309
|
var _a;
|
|
10189
|
-
const decodeMap = new Map([
|
|
10310
|
+
const decodeMap = /* @__PURE__ */ new Map([
|
|
10190
10311
|
[0, 65533],
|
|
10191
10312
|
[128, 8364],
|
|
10192
10313
|
[130, 8218],
|
|
@@ -10254,7 +10375,7 @@ function decodeBase64(input) {
|
|
|
10254
10375
|
}
|
|
10255
10376
|
//#endregion
|
|
10256
10377
|
//#region node_modules/.pnpm/entities@7.0.1/node_modules/entities/dist/esm/generated/decode-data-html.js
|
|
10257
|
-
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");
|
|
10378
|
+
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");
|
|
10258
10379
|
//#endregion
|
|
10259
10380
|
//#region node_modules/.pnpm/entities@7.0.1/node_modules/entities/dist/esm/internal/bin-trie-flags.js
|
|
10260
10381
|
/**
|
|
@@ -10648,7 +10769,7 @@ function determineBranch(decodeTree, current, nodeIndex, char) {
|
|
|
10648
10769
|
}
|
|
10649
10770
|
return -1;
|
|
10650
10771
|
}
|
|
10651
|
-
const htmlDecoder = /*
|
|
10772
|
+
const htmlDecoder = /* #__PURE__ */ getDecoder(htmlDecodeTree);
|
|
10652
10773
|
/**
|
|
10653
10774
|
* Decodes an HTML string.
|
|
10654
10775
|
*
|
|
@@ -10840,13 +10961,14 @@ var Tokenizer = class {
|
|
|
10840
10961
|
}
|
|
10841
10962
|
}
|
|
10842
10963
|
stateInterpolationOpen(c) {
|
|
10843
|
-
if (c === this.delimiterOpen[this.delimiterIndex])
|
|
10844
|
-
|
|
10845
|
-
|
|
10846
|
-
|
|
10847
|
-
|
|
10848
|
-
|
|
10849
|
-
|
|
10964
|
+
if (c === this.delimiterOpen[this.delimiterIndex]) {
|
|
10965
|
+
if (this.delimiterIndex === this.delimiterOpen.length - 1) {
|
|
10966
|
+
const start = this.index + 1 - this.delimiterOpen.length;
|
|
10967
|
+
if (start > this.sectionStart) this.cbs.ontext(this.sectionStart, start);
|
|
10968
|
+
this.state = 3;
|
|
10969
|
+
this.sectionStart = start;
|
|
10970
|
+
} else this.delimiterIndex++;
|
|
10971
|
+
} else if (this.inRCDATA) {
|
|
10850
10972
|
this.state = 32;
|
|
10851
10973
|
this.stateInRCDATA(c);
|
|
10852
10974
|
} else {
|
|
@@ -10862,13 +10984,14 @@ var Tokenizer = class {
|
|
|
10862
10984
|
}
|
|
10863
10985
|
}
|
|
10864
10986
|
stateInterpolationClose(c) {
|
|
10865
|
-
if (c === this.delimiterClose[this.delimiterIndex])
|
|
10866
|
-
|
|
10867
|
-
|
|
10868
|
-
|
|
10869
|
-
|
|
10870
|
-
|
|
10871
|
-
|
|
10987
|
+
if (c === this.delimiterClose[this.delimiterIndex]) {
|
|
10988
|
+
if (this.delimiterIndex === this.delimiterClose.length - 1) {
|
|
10989
|
+
this.cbs.oninterpolation(this.sectionStart, this.index + 1);
|
|
10990
|
+
if (this.inRCDATA) this.state = 32;
|
|
10991
|
+
else this.state = 1;
|
|
10992
|
+
this.sectionStart = this.index + 1;
|
|
10993
|
+
} else this.delimiterIndex++;
|
|
10994
|
+
} else {
|
|
10872
10995
|
this.state = 3;
|
|
10873
10996
|
this.stateInterpolation(c);
|
|
10874
10997
|
}
|
|
@@ -10984,9 +11107,10 @@ var Tokenizer = class {
|
|
|
10984
11107
|
this.sectionStart = this.index;
|
|
10985
11108
|
if (this.mode === 0) this.state = 6;
|
|
10986
11109
|
else if (this.inSFCRoot) this.state = 34;
|
|
10987
|
-
else if (!this.inXML)
|
|
10988
|
-
|
|
10989
|
-
|
|
11110
|
+
else if (!this.inXML) {
|
|
11111
|
+
if (c === 116) this.state = 30;
|
|
11112
|
+
else this.state = c === 115 ? 29 : 6;
|
|
11113
|
+
} else this.state = 6;
|
|
10990
11114
|
} else if (c === 47) this.state = 8;
|
|
10991
11115
|
else {
|
|
10992
11116
|
this.state = 1;
|
|
@@ -11353,9 +11477,7 @@ var Tokenizer = class {
|
|
|
11353
11477
|
case 24:
|
|
11354
11478
|
this.stateInProcessingInstruction(c);
|
|
11355
11479
|
break;
|
|
11356
|
-
case 33:
|
|
11357
|
-
this.stateInEntity();
|
|
11358
|
-
break;
|
|
11480
|
+
case 33: this.stateInEntity();
|
|
11359
11481
|
}
|
|
11360
11482
|
this.index++;
|
|
11361
11483
|
}
|
|
@@ -11388,9 +11510,10 @@ var Tokenizer = class {
|
|
|
11388
11510
|
handleTrailingData() {
|
|
11389
11511
|
const endIndex = this.buffer.length;
|
|
11390
11512
|
if (this.sectionStart >= endIndex) return;
|
|
11391
|
-
if (this.state === 28)
|
|
11392
|
-
|
|
11393
|
-
|
|
11513
|
+
if (this.state === 28) {
|
|
11514
|
+
if (this.currentSequence === Sequences.CdataEnd) this.cbs.oncdata(this.sectionStart, endIndex);
|
|
11515
|
+
else this.cbs.oncomment(this.sectionStart, endIndex);
|
|
11516
|
+
} 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);
|
|
11394
11517
|
}
|
|
11395
11518
|
emitCodePoint(cp, consumed) {
|
|
11396
11519
|
if (this.baseState !== 1 && this.baseState !== 32) {
|
|
@@ -11507,16 +11630,22 @@ function walkIdentifiers(root, onIdentifier, includeAll = false, parentStack = [
|
|
|
11507
11630
|
const isRefed = isReferencedIdentifier(node, parent, parentStack);
|
|
11508
11631
|
if (includeAll || isRefed && !isLocal) onIdentifier(node, parent, parentStack, isRefed, isLocal);
|
|
11509
11632
|
} else if (node.type === "ObjectProperty" && (parent === null || parent === void 0 ? void 0 : parent.type) === "ObjectPattern") node.inPattern = true;
|
|
11510
|
-
else if (isFunctionType(node))
|
|
11511
|
-
|
|
11512
|
-
|
|
11513
|
-
else
|
|
11514
|
-
|
|
11515
|
-
|
|
11516
|
-
else if (node.type === "
|
|
11517
|
-
|
|
11518
|
-
|
|
11519
|
-
else
|
|
11633
|
+
else if (isFunctionType(node)) {
|
|
11634
|
+
if (node.scopeIds) node.scopeIds.forEach((id) => markKnownIds(id, knownIds));
|
|
11635
|
+
else walkFunctionParams(node, (id) => markScopeIdentifier(node, id, knownIds));
|
|
11636
|
+
} else if (node.type === "BlockStatement") {
|
|
11637
|
+
if (node.scopeIds) node.scopeIds.forEach((id) => markKnownIds(id, knownIds));
|
|
11638
|
+
else walkBlockDeclarations(node, (id) => markScopeIdentifier(node, id, knownIds));
|
|
11639
|
+
} else if (node.type === "SwitchStatement") {
|
|
11640
|
+
if (node.scopeIds) node.scopeIds.forEach((id) => markKnownIds(id, knownIds));
|
|
11641
|
+
else walkSwitchStatement(node, false, (id) => markScopeIdentifier(node, id, knownIds));
|
|
11642
|
+
} else if (node.type === "CatchClause" && node.param) {
|
|
11643
|
+
if (node.scopeIds) node.scopeIds.forEach((id) => markKnownIds(id, knownIds));
|
|
11644
|
+
else for (const id of extractIdentifiers(node.param)) markScopeIdentifier(node, id, knownIds);
|
|
11645
|
+
} else if (isForStatement(node)) {
|
|
11646
|
+
if (node.scopeIds) node.scopeIds.forEach((id) => markKnownIds(id, knownIds));
|
|
11647
|
+
else walkForStatement(node, false, (id) => markScopeIdentifier(node, id, knownIds));
|
|
11648
|
+
}
|
|
11520
11649
|
},
|
|
11521
11650
|
leave(node, parent) {
|
|
11522
11651
|
parent && parentStack.pop();
|
|
@@ -11608,9 +11737,7 @@ function extractIdentifiers(param, nodes = []) {
|
|
|
11608
11737
|
case "RestElement":
|
|
11609
11738
|
extractIdentifiers(param.argument, nodes);
|
|
11610
11739
|
break;
|
|
11611
|
-
case "AssignmentPattern":
|
|
11612
|
-
extractIdentifiers(param.left, nodes);
|
|
11613
|
-
break;
|
|
11740
|
+
case "AssignmentPattern": extractIdentifiers(param.left, nodes);
|
|
11614
11741
|
}
|
|
11615
11742
|
return nodes;
|
|
11616
11743
|
}
|
|
@@ -11802,7 +11929,7 @@ function isTemplateNode(node) {
|
|
|
11802
11929
|
function isSlotOutlet(node) {
|
|
11803
11930
|
return node.type === 1 && node.tagType === 2;
|
|
11804
11931
|
}
|
|
11805
|
-
const propsHelperSet = new Set([NORMALIZE_PROPS, GUARD_REACTIVE_PROPS]);
|
|
11932
|
+
const propsHelperSet = /* @__PURE__ */ new Set([NORMALIZE_PROPS, GUARD_REACTIVE_PROPS]);
|
|
11806
11933
|
function getUnnormalizedProps(props, callPath = []) {
|
|
11807
11934
|
if (props && !isString(props) && props.type === 14) {
|
|
11808
11935
|
const callee = props.callee;
|
|
@@ -11845,9 +11972,10 @@ function injectProp(node, prop, context) {
|
|
|
11845
11972
|
propsWithInjection = createCallExpression(context.helper(MERGE_PROPS), [createObjectExpression([prop]), props]);
|
|
11846
11973
|
if (parentCall && parentCall.callee === GUARD_REACTIVE_PROPS) parentCall = callPath[callPath.length - 2];
|
|
11847
11974
|
}
|
|
11848
|
-
if (node.type === 13)
|
|
11849
|
-
|
|
11850
|
-
|
|
11975
|
+
if (node.type === 13) {
|
|
11976
|
+
if (parentCall) parentCall.arguments[0] = propsWithInjection;
|
|
11977
|
+
else node.props = propsWithInjection;
|
|
11978
|
+
} else if (parentCall) parentCall.arguments[0] = propsWithInjection;
|
|
11851
11979
|
else node.arguments[2] = propsWithInjection;
|
|
11852
11980
|
}
|
|
11853
11981
|
function injectSlotKey(node, prop) {
|
|
@@ -12087,26 +12215,28 @@ const tokenizer = new Tokenizer(stack, {
|
|
|
12087
12215
|
onattribend(quote, end) {
|
|
12088
12216
|
if (currentOpenTag && currentProp) {
|
|
12089
12217
|
setLocEnd(currentProp.loc, end);
|
|
12090
|
-
if (quote !== 0)
|
|
12091
|
-
if (currentProp.
|
|
12092
|
-
|
|
12093
|
-
|
|
12094
|
-
|
|
12095
|
-
|
|
12096
|
-
|
|
12097
|
-
|
|
12098
|
-
|
|
12099
|
-
|
|
12100
|
-
|
|
12101
|
-
|
|
12102
|
-
|
|
12103
|
-
|
|
12104
|
-
|
|
12105
|
-
|
|
12106
|
-
|
|
12107
|
-
|
|
12108
|
-
currentProp.name = "
|
|
12109
|
-
|
|
12218
|
+
if (quote !== 0) {
|
|
12219
|
+
if (currentProp.type === 6) {
|
|
12220
|
+
if (currentProp.name === "class") currentAttrValue = condense(currentAttrValue).trim();
|
|
12221
|
+
if (quote === 1 && !currentAttrValue) emitError(13, end);
|
|
12222
|
+
currentProp.value = {
|
|
12223
|
+
type: 2,
|
|
12224
|
+
content: currentAttrValue,
|
|
12225
|
+
loc: quote === 1 ? getLoc(currentAttrStartIndex, currentAttrEndIndex) : getLoc(currentAttrStartIndex - 1, currentAttrEndIndex + 1)
|
|
12226
|
+
};
|
|
12227
|
+
if (tokenizer.inSFCRoot && currentOpenTag.tag === "template" && currentProp.name === "lang" && currentAttrValue && currentAttrValue !== "html") tokenizer.enterRCDATA(toCharCodes(`</template`), 0);
|
|
12228
|
+
} else {
|
|
12229
|
+
let expParseMode = 0;
|
|
12230
|
+
if (currentProp.name === "for") expParseMode = 3;
|
|
12231
|
+
else if (currentProp.name === "slot") expParseMode = 1;
|
|
12232
|
+
else if (currentProp.name === "on" && currentAttrValue.includes(";")) expParseMode = 2;
|
|
12233
|
+
currentProp.exp = createExp(currentAttrValue, false, getLoc(currentAttrStartIndex, currentAttrEndIndex), 0, expParseMode);
|
|
12234
|
+
if (currentProp.name === "for") currentProp.forParseResult = parseForExpression(currentProp.exp);
|
|
12235
|
+
let syncIndex = -1;
|
|
12236
|
+
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)) {
|
|
12237
|
+
currentProp.name = "model";
|
|
12238
|
+
currentProp.modifiers.splice(syncIndex, 1);
|
|
12239
|
+
}
|
|
12110
12240
|
}
|
|
12111
12241
|
}
|
|
12112
12242
|
if (currentProp.type !== 7 || currentProp.name !== "pre") currentOpenTag.props.push(currentProp);
|
|
@@ -12149,10 +12279,7 @@ const tokenizer = new Tokenizer(stack, {
|
|
|
12149
12279
|
case 18:
|
|
12150
12280
|
case 19:
|
|
12151
12281
|
case 20:
|
|
12152
|
-
case 21:
|
|
12153
|
-
emitError(9, end);
|
|
12154
|
-
break;
|
|
12155
|
-
default: break;
|
|
12282
|
+
case 21: emitError(9, end);
|
|
12156
12283
|
}
|
|
12157
12284
|
for (let index = 0; index < stack.length; index++) {
|
|
12158
12285
|
onCloseTag(stack[index], end - 1);
|
|
@@ -12282,7 +12409,7 @@ function backTrack(index, c) {
|
|
|
12282
12409
|
while (currentInput.charCodeAt(i) !== c && i >= 0) i--;
|
|
12283
12410
|
return i;
|
|
12284
12411
|
}
|
|
12285
|
-
const specialTemplateDir = new Set([
|
|
12412
|
+
const specialTemplateDir = /* @__PURE__ */ new Set([
|
|
12286
12413
|
"if",
|
|
12287
12414
|
"else",
|
|
12288
12415
|
"else-if",
|
|
@@ -12318,16 +12445,18 @@ function condenseWhitespace(nodes) {
|
|
|
12318
12445
|
let removedWhitespace = false;
|
|
12319
12446
|
for (let i = 0; i < nodes.length; i++) {
|
|
12320
12447
|
const node = nodes[i];
|
|
12321
|
-
if (node.type === 2)
|
|
12322
|
-
if (
|
|
12323
|
-
|
|
12324
|
-
|
|
12325
|
-
|
|
12326
|
-
|
|
12327
|
-
|
|
12328
|
-
|
|
12329
|
-
|
|
12330
|
-
|
|
12448
|
+
if (node.type === 2) {
|
|
12449
|
+
if (!inPre) {
|
|
12450
|
+
if (isAllWhitespace(node.content)) {
|
|
12451
|
+
const prev = nodes[i - 1] && nodes[i - 1].type;
|
|
12452
|
+
const next = nodes[i + 1] && nodes[i + 1].type;
|
|
12453
|
+
if (!prev || !next || shouldCondense && (prev === 3 && (next === 3 || next === 1) || prev === 1 && (next === 3 || next === 1 && hasNewlineChar(node.content)))) {
|
|
12454
|
+
removedWhitespace = true;
|
|
12455
|
+
nodes[i] = null;
|
|
12456
|
+
} else node.content = " ";
|
|
12457
|
+
} else if (shouldCondense) node.content = condense(node.content);
|
|
12458
|
+
} else node.content = node.content.replace(windowsNewlineRE, "\n");
|
|
12459
|
+
}
|
|
12331
12460
|
}
|
|
12332
12461
|
return removedWhitespace ? nodes.filter(Boolean) : nodes;
|
|
12333
12462
|
}
|
|
@@ -12604,7 +12733,7 @@ function getConstantType(node, context) {
|
|
|
12604
12733
|
default: return 0;
|
|
12605
12734
|
}
|
|
12606
12735
|
}
|
|
12607
|
-
const allowHoistedHelperSet = new Set([
|
|
12736
|
+
const allowHoistedHelperSet = /* @__PURE__ */ new Set([
|
|
12608
12737
|
NORMALIZE_CLASS,
|
|
12609
12738
|
NORMALIZE_STYLE,
|
|
12610
12739
|
NORMALIZE_PROPS,
|
|
@@ -12775,7 +12904,7 @@ function transform(root, options) {
|
|
|
12775
12904
|
traverseNode(root, context);
|
|
12776
12905
|
if (options.hoistStatic) cacheStatic(root, context);
|
|
12777
12906
|
if (!options.ssr) createRootCodegen(root, context);
|
|
12778
|
-
root.helpers = new Set([...context.helpers.keys()]);
|
|
12907
|
+
root.helpers = /* @__PURE__ */ new Set([...context.helpers.keys()]);
|
|
12779
12908
|
root.components = [...context.components];
|
|
12780
12909
|
root.directives = [...context.directives];
|
|
12781
12910
|
root.imports = context.imports;
|
|
@@ -12818,8 +12947,10 @@ function traverseNode(node, context) {
|
|
|
12818
12947
|
const exitFns = [];
|
|
12819
12948
|
for (let i = 0; i < nodeTransforms.length; i++) {
|
|
12820
12949
|
const onExit = nodeTransforms[i](node, context);
|
|
12821
|
-
if (onExit)
|
|
12822
|
-
|
|
12950
|
+
if (onExit) {
|
|
12951
|
+
if (isArray(onExit)) exitFns.push(...onExit);
|
|
12952
|
+
else exitFns.push(onExit);
|
|
12953
|
+
}
|
|
12823
12954
|
if (!context.currentNode) return;
|
|
12824
12955
|
else node = context.currentNode;
|
|
12825
12956
|
}
|
|
@@ -12836,9 +12967,7 @@ function traverseNode(node, context) {
|
|
|
12836
12967
|
case 10:
|
|
12837
12968
|
case 11:
|
|
12838
12969
|
case 1:
|
|
12839
|
-
case 0:
|
|
12840
|
-
traverseChildren(node, context);
|
|
12841
|
-
break;
|
|
12970
|
+
case 0: traverseChildren(node, context);
|
|
12842
12971
|
}
|
|
12843
12972
|
context.currentNode = node;
|
|
12844
12973
|
let i = exitFns.length;
|
|
@@ -13024,16 +13153,18 @@ function genFunctionPreamble(ast, context) {
|
|
|
13024
13153
|
const { ssr, prefixIdentifiers, push, newline, runtimeModuleName, runtimeGlobalName, ssrRuntimeModuleName } = context;
|
|
13025
13154
|
const VueBinding = ssr ? `require(${JSON.stringify(runtimeModuleName)})` : runtimeGlobalName;
|
|
13026
13155
|
const helpers = Array.from(ast.helpers);
|
|
13027
|
-
if (helpers.length > 0)
|
|
13028
|
-
|
|
13029
|
-
|
|
13030
|
-
|
|
13031
|
-
|
|
13032
|
-
|
|
13033
|
-
|
|
13034
|
-
|
|
13035
|
-
|
|
13036
|
-
|
|
13156
|
+
if (helpers.length > 0) {
|
|
13157
|
+
if (prefixIdentifiers) push(`const { ${helpers.map(aliasHelper).join(", ")} } = ${VueBinding}\n`, -1);
|
|
13158
|
+
else {
|
|
13159
|
+
push(`const _Vue = ${VueBinding}\n`, -1);
|
|
13160
|
+
if (ast.hoists.length) push(`const { ${[
|
|
13161
|
+
CREATE_VNODE,
|
|
13162
|
+
CREATE_ELEMENT_VNODE,
|
|
13163
|
+
CREATE_COMMENT,
|
|
13164
|
+
CREATE_TEXT,
|
|
13165
|
+
CREATE_STATIC
|
|
13166
|
+
].filter((helper) => helpers.includes(helper)).map(aliasHelper).join(", ")} } = _Vue\n`, -1);
|
|
13167
|
+
}
|
|
13037
13168
|
}
|
|
13038
13169
|
if (ast.ssrHelpers && ast.ssrHelpers.length) push(`const { ${ast.ssrHelpers.map(aliasHelper).join(", ")} } = require("${ssrRuntimeModuleName}")\n`, -1);
|
|
13039
13170
|
genHoists(ast.hoists, context);
|
|
@@ -13110,10 +13241,12 @@ function genNodeList(nodes, context, multilines = false, comma = true) {
|
|
|
13110
13241
|
if (isString(node)) push(node, -3);
|
|
13111
13242
|
else if (isArray(node)) genNodeListAsArray(node, context);
|
|
13112
13243
|
else genNode(node, context);
|
|
13113
|
-
if (i < nodes.length - 1)
|
|
13114
|
-
|
|
13115
|
-
|
|
13116
|
-
|
|
13244
|
+
if (i < nodes.length - 1) {
|
|
13245
|
+
if (multilines) {
|
|
13246
|
+
comma && push(",");
|
|
13247
|
+
newline();
|
|
13248
|
+
} else comma && push(", ");
|
|
13249
|
+
}
|
|
13117
13250
|
}
|
|
13118
13251
|
}
|
|
13119
13252
|
function genNode(node, context) {
|
|
@@ -13185,12 +13318,7 @@ function genNode(node, context) {
|
|
|
13185
13318
|
case 25:
|
|
13186
13319
|
genSequenceExpression(node, context);
|
|
13187
13320
|
break;
|
|
13188
|
-
case 26:
|
|
13189
|
-
genReturnStatement(node, context);
|
|
13190
|
-
break;
|
|
13191
|
-
/* v8 ignore start */
|
|
13192
|
-
case 10: break;
|
|
13193
|
-
default:
|
|
13321
|
+
case 26: genReturnStatement(node, context);
|
|
13194
13322
|
}
|
|
13195
13323
|
}
|
|
13196
13324
|
function genText(node, context) {
|
|
@@ -13428,7 +13556,7 @@ function genReturnStatement({ returns }, context) {
|
|
|
13428
13556
|
}
|
|
13429
13557
|
//#endregion
|
|
13430
13558
|
//#region packages/compiler-core/src/transforms/transformExpression.ts
|
|
13431
|
-
const isLiteralWhitelisted =
|
|
13559
|
+
const isLiteralWhitelisted = /*@__PURE__*/ makeMap("true,false,null,this");
|
|
13432
13560
|
const transformExpression = (node, context) => {
|
|
13433
13561
|
if (node.type === 5) node.content = processExpression(node.content, context);
|
|
13434
13562
|
else if (node.type === 1) {
|
|
@@ -13461,20 +13589,21 @@ function processExpression(node, context, asParams = false, asRawStatements = fa
|
|
|
13461
13589
|
if (isConst(type) || type === "setup-reactive-const" || localVars[raw]) return raw;
|
|
13462
13590
|
else if (type === "setup-ref") return `${raw}.value`;
|
|
13463
13591
|
else if (type === "setup-maybe-ref") return isAssignmentLVal || isUpdateArg || isDestructureAssignment ? `${raw}.value` : wrapWithUnref(raw);
|
|
13464
|
-
else if (type === "setup-let")
|
|
13465
|
-
|
|
13466
|
-
|
|
13467
|
-
|
|
13468
|
-
|
|
13469
|
-
|
|
13470
|
-
|
|
13471
|
-
|
|
13472
|
-
|
|
13473
|
-
|
|
13474
|
-
|
|
13475
|
-
|
|
13476
|
-
|
|
13477
|
-
|
|
13592
|
+
else if (type === "setup-let") {
|
|
13593
|
+
if (isAssignmentLVal) {
|
|
13594
|
+
const { right: rVal, operator } = parent;
|
|
13595
|
+
const rExpString = stringifyExpression(processExpression(createSimpleExpression(rawExp.slice(rVal.start - 1, rVal.end - 1), false), context, false, false, knownIds));
|
|
13596
|
+
return `${context.helperString(IS_REF)}(${raw})${context.isTS ? ` //@ts-ignore\n` : ``} ? ${raw}.value ${operator} ${rExpString} : ${raw}`;
|
|
13597
|
+
} else if (isUpdateArg) {
|
|
13598
|
+
id.start = parent.start;
|
|
13599
|
+
id.end = parent.end;
|
|
13600
|
+
const { prefix: isPrefix, operator } = parent;
|
|
13601
|
+
const prefix = isPrefix ? operator : ``;
|
|
13602
|
+
const postfix = isPrefix ? `` : operator;
|
|
13603
|
+
return `${context.helperString(IS_REF)}(${raw})${context.isTS ? ` //@ts-ignore\n` : ``} ? ${prefix}${raw}.value${postfix} : ${prefix}${raw}${postfix}`;
|
|
13604
|
+
} else if (isDestructureAssignment) return raw;
|
|
13605
|
+
else return wrapWithUnref(raw);
|
|
13606
|
+
} else if (type === "props") return genPropsAccessExp(raw);
|
|
13478
13607
|
else if (type === "props-aliased") return genPropsAccessExp(bindingMetadata.__propsAliases[raw]);
|
|
13479
13608
|
} else if (type && type.startsWith("setup") || type === "literal-const") return `$setup.${raw}`;
|
|
13480
13609
|
else if (type === "props-aliased") return `$props['${bindingMetadata.__propsAliases[raw]}']`;
|
|
@@ -13491,8 +13620,10 @@ function processExpression(node, context, asParams = false, asRawStatements = fa
|
|
|
13491
13620
|
if (!asParams && !isScopeVarReference && !isLiteral && (!isAllowedGlobal || bindingMetadata[rawExp])) {
|
|
13492
13621
|
if (isConst(bindingMetadata[rawExp])) node.constType = 1;
|
|
13493
13622
|
node.content = rewriteIdentifier(rawExp);
|
|
13494
|
-
} else if (!isScopeVarReference)
|
|
13495
|
-
|
|
13623
|
+
} else if (!isScopeVarReference) {
|
|
13624
|
+
if (isLiteral) node.constType = 3;
|
|
13625
|
+
else node.constType = 2;
|
|
13626
|
+
}
|
|
13496
13627
|
return node;
|
|
13497
13628
|
}
|
|
13498
13629
|
if (!ast) {
|
|
@@ -13648,12 +13779,13 @@ function createChildrenCodegenNode(branch, keyIndex, context) {
|
|
|
13648
13779
|
const keyProperty = createObjectProperty(`key`, createSimpleExpression(`${keyIndex}`, false, locStub, 2));
|
|
13649
13780
|
const { children } = branch;
|
|
13650
13781
|
const firstChild = children[0];
|
|
13651
|
-
if (children.length !== 1 || firstChild.type !== 1)
|
|
13652
|
-
|
|
13653
|
-
|
|
13654
|
-
|
|
13655
|
-
|
|
13656
|
-
|
|
13782
|
+
if (children.length !== 1 || firstChild.type !== 1) {
|
|
13783
|
+
if (children.length === 1 && firstChild.type === 11) {
|
|
13784
|
+
const vnodeCall = firstChild.codegenNode;
|
|
13785
|
+
injectProp(vnodeCall, keyProperty, context);
|
|
13786
|
+
return vnodeCall;
|
|
13787
|
+
} else return createVNodeCall(context, helper(FRAGMENT), createObjectExpression([keyProperty]), children, 64, void 0, void 0, true, false, false, branch.loc);
|
|
13788
|
+
} else {
|
|
13657
13789
|
const ret = firstChild.codegenNode;
|
|
13658
13790
|
const vnodeCall = getMemoedVNodeCall(ret);
|
|
13659
13791
|
if (vnodeCall.type === 13) convertToBlock(vnodeCall, context);
|
|
@@ -13674,9 +13806,10 @@ function isSameKey(a, b) {
|
|
|
13674
13806
|
return true;
|
|
13675
13807
|
}
|
|
13676
13808
|
function getParentCondition(node) {
|
|
13677
|
-
while (true) if (node.type === 19)
|
|
13678
|
-
|
|
13679
|
-
|
|
13809
|
+
while (true) if (node.type === 19) {
|
|
13810
|
+
if (node.alternate.type === 19) node = node.alternate;
|
|
13811
|
+
else return node;
|
|
13812
|
+
} else if (node.type === 20) node = node.value;
|
|
13680
13813
|
}
|
|
13681
13814
|
//#endregion
|
|
13682
13815
|
//#region packages/compiler-core/src/transforms/vFor.ts
|
|
@@ -13720,10 +13853,12 @@ const transformFor = createStructuralDirectiveTransform("for", (node, dir, conte
|
|
|
13720
13853
|
childBlock = children[0].codegenNode;
|
|
13721
13854
|
if (isTemplate && keyProperty) injectProp(childBlock, keyProperty, context);
|
|
13722
13855
|
const shouldUseBlock = !isStableFragment || childBlock.isBlockRequired === true;
|
|
13723
|
-
if (childBlock.isBlock !== shouldUseBlock)
|
|
13724
|
-
|
|
13725
|
-
|
|
13726
|
-
|
|
13856
|
+
if (childBlock.isBlock !== shouldUseBlock) {
|
|
13857
|
+
if (childBlock.isBlock) {
|
|
13858
|
+
removeHelper(OPEN_BLOCK);
|
|
13859
|
+
removeHelper(getVNodeBlockHelper(context.inSSR, childBlock.isComponent));
|
|
13860
|
+
} else removeHelper(getVNodeHelper(context.inSSR, childBlock.isComponent));
|
|
13861
|
+
}
|
|
13727
13862
|
childBlock.isBlock = shouldUseBlock;
|
|
13728
13863
|
if (childBlock.isBlock) {
|
|
13729
13864
|
helper(OPEN_BLOCK);
|
|
@@ -13940,8 +14075,10 @@ function buildSlots(node, context, buildSlotFn = buildClientSlotFn) {
|
|
|
13940
14075
|
return createObjectProperty(`default`, fn);
|
|
13941
14076
|
};
|
|
13942
14077
|
if (!hasTemplateSlots) slotsProperties.push(buildDefaultSlotProperty(void 0, children));
|
|
13943
|
-
else if (implicitDefaultChildren.length && !implicitDefaultChildren.every(isWhitespaceText))
|
|
13944
|
-
|
|
14078
|
+
else if (implicitDefaultChildren.length && !implicitDefaultChildren.every(isWhitespaceText)) {
|
|
14079
|
+
if (hasNamedDefaultSlot) context.onError(createCompilerError(39, implicitDefaultChildren[0].loc));
|
|
14080
|
+
else slotsProperties.push(buildDefaultSlotProperty(void 0, implicitDefaultChildren));
|
|
14081
|
+
}
|
|
13945
14082
|
}
|
|
13946
14083
|
const slotFlag = hasDynamicSlots ? 2 : hasForwardedSlots(node.children) ? 3 : 1;
|
|
13947
14084
|
let slots = createObjectExpression(slotsProperties.concat(createObjectProperty(`_`, createSimpleExpression(slotFlag + ``, false))), loc);
|
|
@@ -13967,10 +14104,7 @@ function hasForwardedSlots(children) {
|
|
|
13967
14104
|
if (hasForwardedSlots(child.branches)) return true;
|
|
13968
14105
|
break;
|
|
13969
14106
|
case 10:
|
|
13970
|
-
case 11:
|
|
13971
|
-
if (hasForwardedSlots(child.children)) return true;
|
|
13972
|
-
break;
|
|
13973
|
-
default: break;
|
|
14107
|
+
case 11: if (hasForwardedSlots(child.children)) return true;
|
|
13974
14108
|
}
|
|
13975
14109
|
}
|
|
13976
14110
|
return false;
|
|
@@ -14184,22 +14318,23 @@ function buildProps(node, context, props = node.props, isComponent, isDynamicCom
|
|
|
14184
14318
|
if (isVBind && isStaticArgOf(arg, "ref")) pushRefVForMarker();
|
|
14185
14319
|
if (!arg && (isVBind || isVOn)) {
|
|
14186
14320
|
hasDynamicKeys = true;
|
|
14187
|
-
if (exp)
|
|
14188
|
-
|
|
14189
|
-
|
|
14190
|
-
|
|
14191
|
-
|
|
14192
|
-
|
|
14193
|
-
|
|
14194
|
-
|
|
14195
|
-
|
|
14196
|
-
|
|
14197
|
-
|
|
14198
|
-
|
|
14199
|
-
|
|
14200
|
-
|
|
14201
|
-
|
|
14202
|
-
|
|
14321
|
+
if (exp) {
|
|
14322
|
+
if (isVBind) {
|
|
14323
|
+
pushMergeArg();
|
|
14324
|
+
if (isCompatEnabled("COMPILER_V_BIND_OBJECT_ORDER", context)) {
|
|
14325
|
+
mergeArgs.unshift(exp);
|
|
14326
|
+
continue;
|
|
14327
|
+
}
|
|
14328
|
+
pushRefVForMarker();
|
|
14329
|
+
pushMergeArg();
|
|
14330
|
+
mergeArgs.push(exp);
|
|
14331
|
+
} else pushMergeArg({
|
|
14332
|
+
type: 14,
|
|
14333
|
+
loc,
|
|
14334
|
+
callee: context.helper(TO_HANDLERS),
|
|
14335
|
+
arguments: isComponent ? [exp] : [exp, `true`]
|
|
14336
|
+
});
|
|
14337
|
+
} else context.onError(createCompilerError(isVBind ? 34 : 35, loc));
|
|
14203
14338
|
continue;
|
|
14204
14339
|
}
|
|
14205
14340
|
if (isVBind && modifiers.some((mod) => mod.content === "prop")) patchFlag |= 32;
|
|
@@ -14257,9 +14392,7 @@ function buildProps(node, context, props = node.props, isComponent, isDynamicCom
|
|
|
14257
14392
|
} else propsExpression = createCallExpression(context.helper(NORMALIZE_PROPS), [propsExpression]);
|
|
14258
14393
|
break;
|
|
14259
14394
|
case 14: break;
|
|
14260
|
-
default:
|
|
14261
|
-
propsExpression = createCallExpression(context.helper(NORMALIZE_PROPS), [createCallExpression(context.helper(GUARD_REACTIVE_PROPS), [propsExpression])]);
|
|
14262
|
-
break;
|
|
14395
|
+
default: propsExpression = createCallExpression(context.helper(NORMALIZE_PROPS), [createCallExpression(context.helper(GUARD_REACTIVE_PROPS), [propsExpression])]);
|
|
14263
14396
|
}
|
|
14264
14397
|
return {
|
|
14265
14398
|
props: propsExpression,
|
|
@@ -14369,10 +14502,12 @@ function processSlotOutlet(node, context) {
|
|
|
14369
14502
|
for (let i = 0; i < node.props.length; i++) {
|
|
14370
14503
|
const p = node.props[i];
|
|
14371
14504
|
if (p.type === 6) {
|
|
14372
|
-
if (p.value)
|
|
14373
|
-
|
|
14374
|
-
|
|
14375
|
-
|
|
14505
|
+
if (p.value) {
|
|
14506
|
+
if (p.name === "name") slotName = JSON.stringify(p.value.content);
|
|
14507
|
+
else {
|
|
14508
|
+
p.name = camelize(p.name);
|
|
14509
|
+
nonNameProps.push(p);
|
|
14510
|
+
}
|
|
14376
14511
|
}
|
|
14377
14512
|
} else if (p.name === "bind" && isStaticArgOf(p.arg, "name")) {
|
|
14378
14513
|
if (p.exp) slotName = p.exp;
|
|
@@ -14401,16 +14536,17 @@ const transformOn$1 = (dir, node, context, augmentor) => {
|
|
|
14401
14536
|
const { loc, modifiers, arg } = dir;
|
|
14402
14537
|
if (!dir.exp && !modifiers.length) context.onError(createCompilerError(35, loc));
|
|
14403
14538
|
let eventName;
|
|
14404
|
-
if (arg.type === 4)
|
|
14405
|
-
|
|
14406
|
-
|
|
14407
|
-
|
|
14408
|
-
|
|
14409
|
-
|
|
14410
|
-
|
|
14411
|
-
|
|
14412
|
-
|
|
14413
|
-
|
|
14539
|
+
if (arg.type === 4) {
|
|
14540
|
+
if (arg.isStatic) {
|
|
14541
|
+
let rawName = arg.content;
|
|
14542
|
+
if (rawName.startsWith("vue:")) rawName = `vnode-${rawName.slice(4)}`;
|
|
14543
|
+
eventName = createSimpleExpression(node.tagType !== 0 || rawName.startsWith("vnode") || !/[A-Z]/.test(rawName) ? toHandlerKey(camelize(rawName)) : `on:${rawName}`, true, arg.loc);
|
|
14544
|
+
} else eventName = createCompoundExpression([
|
|
14545
|
+
`${context.helperString(TO_HANDLER_KEY)}(`,
|
|
14546
|
+
arg,
|
|
14547
|
+
`)`
|
|
14548
|
+
]);
|
|
14549
|
+
} else {
|
|
14414
14550
|
eventName = arg;
|
|
14415
14551
|
eventName.children.unshift(`${context.helperString(TO_HANDLER_KEY)}(`);
|
|
14416
14552
|
eventName.children.push(`)`);
|
|
@@ -14427,13 +14563,15 @@ const transformOn$1 = (dir, node, context, augmentor) => {
|
|
|
14427
14563
|
exp = dir.exp = processExpression(exp, context, false, hasMultipleStatements);
|
|
14428
14564
|
isInlineStatement && context.removeIdentifiers(`$event`);
|
|
14429
14565
|
shouldCache = context.cacheHandlers && !context.inVOnce && !(exp.type === 4 && exp.constType > 0) && !(isMemberExp && node.tagType === 1) && !hasScopeRef(exp, context.identifiers);
|
|
14430
|
-
if (shouldCache && isMemberExp)
|
|
14431
|
-
|
|
14432
|
-
|
|
14433
|
-
|
|
14434
|
-
|
|
14435
|
-
|
|
14436
|
-
|
|
14566
|
+
if (shouldCache && isMemberExp) {
|
|
14567
|
+
if (exp.type === 4) exp.content = `${exp.content} && ${exp.content}(...args)`;
|
|
14568
|
+
else exp.children = [
|
|
14569
|
+
...exp.children,
|
|
14570
|
+
` && `,
|
|
14571
|
+
...exp.children,
|
|
14572
|
+
`(...args)`
|
|
14573
|
+
];
|
|
14574
|
+
}
|
|
14437
14575
|
}
|
|
14438
14576
|
if (isInlineStatement || shouldCache && isMemberExp) exp = createCompoundExpression([
|
|
14439
14577
|
`${isInlineStatement ? context.isTS ? `($event: any)` : `$event` : `${context.isTS ? `\n//@ts-ignore\n` : ``}(...args)`} => ${hasMultipleStatements ? `{` : `(`}`,
|
|
@@ -14461,11 +14599,14 @@ const transformBind = (dir, _node, context) => {
|
|
|
14461
14599
|
arg.children.unshift(`(`);
|
|
14462
14600
|
arg.children.push(`) || ""`);
|
|
14463
14601
|
} else if (!arg.isStatic) arg.content = arg.content ? `${arg.content} || ""` : `""`;
|
|
14464
|
-
if (modifiers.some((mod) => mod.content === "camel"))
|
|
14465
|
-
|
|
14466
|
-
|
|
14467
|
-
|
|
14468
|
-
|
|
14602
|
+
if (modifiers.some((mod) => mod.content === "camel")) {
|
|
14603
|
+
if (arg.type === 4) {
|
|
14604
|
+
if (arg.isStatic) arg.content = camelize(arg.content);
|
|
14605
|
+
else arg.content = `${context.helperString(CAMELIZE)}(${arg.content})`;
|
|
14606
|
+
} else {
|
|
14607
|
+
arg.children.unshift(`${context.helperString(CAMELIZE)}(`);
|
|
14608
|
+
arg.children.push(`)`);
|
|
14609
|
+
}
|
|
14469
14610
|
}
|
|
14470
14611
|
if (!context.inSSR) {
|
|
14471
14612
|
if (modifiers.some((mod) => mod.content === "prop")) injectPrefix(arg, ".");
|
|
@@ -14474,9 +14615,10 @@ const transformBind = (dir, _node, context) => {
|
|
|
14474
14615
|
return { props: [createObjectProperty(arg, exp)] };
|
|
14475
14616
|
};
|
|
14476
14617
|
const injectPrefix = (arg, prefix) => {
|
|
14477
|
-
if (arg.type === 4)
|
|
14478
|
-
|
|
14479
|
-
|
|
14618
|
+
if (arg.type === 4) {
|
|
14619
|
+
if (arg.isStatic) arg.content = prefix + arg.content;
|
|
14620
|
+
else arg.content = `\`${prefix}\${${arg.content}}\``;
|
|
14621
|
+
} else {
|
|
14480
14622
|
arg.children.unshift(`'${prefix}' + (`);
|
|
14481
14623
|
arg.children.push(`)`);
|
|
14482
14624
|
}
|
|
@@ -14571,20 +14713,21 @@ const transformModel$1 = (dir, node, context) => {
|
|
|
14571
14713
|
const eventName = arg ? isStaticExp(arg) ? `onUpdate:${camelize(arg.content)}` : createCompoundExpression(["\"onUpdate:\" + ", arg]) : `onUpdate:modelValue`;
|
|
14572
14714
|
let assignmentExp;
|
|
14573
14715
|
const eventArg = context.isTS ? `($event: any)` : `$event`;
|
|
14574
|
-
if (maybeRef)
|
|
14575
|
-
|
|
14576
|
-
|
|
14577
|
-
`).value = $event)`
|
|
14578
|
-
]);
|
|
14579
|
-
else {
|
|
14580
|
-
const altAssignment = bindingType === "setup-let" ? `${rawExp} = $event` : `null`;
|
|
14581
|
-
assignmentExp = createCompoundExpression([
|
|
14582
|
-
`${eventArg} => (${context.helperString(IS_REF)}(${rawExp}) ? (`,
|
|
14716
|
+
if (maybeRef) {
|
|
14717
|
+
if (bindingType === "setup-ref") assignmentExp = createCompoundExpression([
|
|
14718
|
+
`${eventArg} => ((`,
|
|
14583
14719
|
createSimpleExpression(rawExp, false, exp.loc),
|
|
14584
|
-
`).value = $event
|
|
14720
|
+
`).value = $event)`
|
|
14585
14721
|
]);
|
|
14586
|
-
|
|
14587
|
-
|
|
14722
|
+
else {
|
|
14723
|
+
const altAssignment = bindingType === "setup-let" ? `${rawExp} = $event` : `null`;
|
|
14724
|
+
assignmentExp = createCompoundExpression([
|
|
14725
|
+
`${eventArg} => (${context.helperString(IS_REF)}(${rawExp}) ? (`,
|
|
14726
|
+
createSimpleExpression(rawExp, false, exp.loc),
|
|
14727
|
+
`).value = $event : ${altAssignment})`
|
|
14728
|
+
]);
|
|
14729
|
+
}
|
|
14730
|
+
} else assignmentExp = createCompoundExpression([
|
|
14588
14731
|
`${eventArg} => ((`,
|
|
14589
14732
|
exp,
|
|
14590
14733
|
`) = $event)`
|
|
@@ -14643,11 +14786,12 @@ function parseFilter(node, context) {
|
|
|
14643
14786
|
if (c === 96 && prev !== 92) inTemplateString = false;
|
|
14644
14787
|
} else if (inRegex) {
|
|
14645
14788
|
if (c === 47 && prev !== 92) inRegex = false;
|
|
14646
|
-
} else if (c === 124 && exp.charCodeAt(i + 1) !== 124 && exp.charCodeAt(i - 1) !== 124 && !curly && !square && !paren)
|
|
14647
|
-
|
|
14648
|
-
|
|
14649
|
-
|
|
14650
|
-
|
|
14789
|
+
} else if (c === 124 && exp.charCodeAt(i + 1) !== 124 && exp.charCodeAt(i - 1) !== 124 && !curly && !square && !paren) {
|
|
14790
|
+
if (expression === void 0) {
|
|
14791
|
+
lastFilterIndex = i + 1;
|
|
14792
|
+
expression = exp.slice(0, i).trim();
|
|
14793
|
+
} else pushFilter();
|
|
14794
|
+
} else {
|
|
14651
14795
|
switch (c) {
|
|
14652
14796
|
case 34:
|
|
14653
14797
|
inDouble = true;
|
|
@@ -14673,9 +14817,7 @@ function parseFilter(node, context) {
|
|
|
14673
14817
|
case 123:
|
|
14674
14818
|
curly++;
|
|
14675
14819
|
break;
|
|
14676
|
-
case 125:
|
|
14677
|
-
curly--;
|
|
14678
|
-
break;
|
|
14820
|
+
case 125: curly--;
|
|
14679
14821
|
}
|
|
14680
14822
|
if (c === 47) {
|
|
14681
14823
|
let j = i - 1;
|
|
@@ -14934,8 +15076,6 @@ const transformModel = (dir, node, context) => {
|
|
|
14934
15076
|
case "file":
|
|
14935
15077
|
isInvalidType = true;
|
|
14936
15078
|
context.onError(createDOMCompilerError(60, dir.loc));
|
|
14937
|
-
break;
|
|
14938
|
-
default: break;
|
|
14939
15079
|
}
|
|
14940
15080
|
} else if (hasDynamicKeyVBind(node)) directiveToUse = V_MODEL_DYNAMIC;
|
|
14941
15081
|
} else if (tag === "select") directiveToUse = V_MODEL_SELECT;
|
|
@@ -14946,10 +15086,10 @@ const transformModel = (dir, node, context) => {
|
|
|
14946
15086
|
};
|
|
14947
15087
|
//#endregion
|
|
14948
15088
|
//#region packages/compiler-dom/src/transforms/vOn.ts
|
|
14949
|
-
const isEventOptionModifier =
|
|
14950
|
-
const isNonKeyModifier =
|
|
14951
|
-
const maybeKeyModifier =
|
|
14952
|
-
const isKeyboardEvent =
|
|
15089
|
+
const isEventOptionModifier = /*@__PURE__*/ makeMap(`passive,once,capture`);
|
|
15090
|
+
const isNonKeyModifier = /*@__PURE__*/ makeMap("stop,prevent,self,ctrl,shift,alt,meta,exact,middle");
|
|
15091
|
+
const maybeKeyModifier = /*@__PURE__*/ makeMap("left,right");
|
|
15092
|
+
const isKeyboardEvent = /*@__PURE__*/ makeMap(`onkeyup,onkeydown,onkeypress`);
|
|
14953
15093
|
const resolveModifiers = (key, modifiers, context, loc) => {
|
|
14954
15094
|
const keyModifiers = [];
|
|
14955
15095
|
const nonKeyModifiers = [];
|
|
@@ -14968,13 +15108,15 @@ const resolveModifiers = (key, modifiers, context, loc) => {
|
|
|
14968
15108
|
else if (isEventOptionModifier(modifier)) eventOptionModifiers.push(modifier);
|
|
14969
15109
|
else {
|
|
14970
15110
|
const keyString = isString(key) ? key : isStaticExp(key) ? key.content : null;
|
|
14971
|
-
if (maybeKeyModifier(modifier))
|
|
14972
|
-
|
|
14973
|
-
|
|
14974
|
-
|
|
14975
|
-
|
|
14976
|
-
|
|
14977
|
-
|
|
15111
|
+
if (maybeKeyModifier(modifier)) {
|
|
15112
|
+
if (keyString) {
|
|
15113
|
+
if (isKeyboardEvent(keyString.toLowerCase())) keyModifiers.push(modifier);
|
|
15114
|
+
else nonKeyModifiers.push(modifier);
|
|
15115
|
+
} else {
|
|
15116
|
+
keyModifiers.push(modifier);
|
|
15117
|
+
nonKeyModifiers.push(modifier);
|
|
15118
|
+
}
|
|
15119
|
+
} else if (isNonKeyModifier(modifier)) nonKeyModifiers.push(modifier);
|
|
14978
15120
|
else keyModifiers.push(modifier);
|
|
14979
15121
|
}
|
|
14980
15122
|
}
|
|
@@ -15112,7 +15254,7 @@ const dataAriaRE = /^(?:data|aria)-/;
|
|
|
15112
15254
|
const isStringifiableAttr = (name, ns) => {
|
|
15113
15255
|
return (ns === 0 ? isKnownHtmlAttr(name) : ns === 1 ? isKnownSvgAttr(name) : ns === 2 ? isKnownMathMLAttr(name) : false) || dataAriaRE.test(name);
|
|
15114
15256
|
};
|
|
15115
|
-
const isNonStringifiable =
|
|
15257
|
+
const isNonStringifiable = /*@__PURE__*/ makeMap(`caption,thead,tr,th,tbody,td,tfoot,colgroup,col`);
|
|
15116
15258
|
/**
|
|
15117
15259
|
* for a cached node, analyze it and return:
|
|
15118
15260
|
* - false: bailed (contains non-stringifiable props or runtime constant)
|
|
@@ -15247,8 +15389,10 @@ function compile(src, options = {}) {
|
|
|
15247
15389
|
//#region packages/vue-compat/src/index.ts
|
|
15248
15390
|
const compileCache = Object.create(null);
|
|
15249
15391
|
function compileToFunction(template, options) {
|
|
15250
|
-
if (!isString(template))
|
|
15251
|
-
|
|
15392
|
+
if (!isString(template)) {
|
|
15393
|
+
if (template.nodeType) template = template.innerHTML;
|
|
15394
|
+
else return NOOP;
|
|
15395
|
+
}
|
|
15252
15396
|
const key = genCacheKey(template, options);
|
|
15253
15397
|
const cached = compileCache[key];
|
|
15254
15398
|
if (cached) return cached;
|