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