@vue/compat 3.6.0-rc.1 → 3.6.0-rc.10
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 +738 -678
- package/dist/vue.cjs.js +1315 -939
- package/dist/vue.cjs.prod.js +1103 -804
- package/dist/vue.esm-browser.js +1227 -890
- package/dist/vue.esm-browser.prod.js +7 -6
- package/dist/vue.esm-bundler.js +1300 -911
- package/dist/vue.global.js +1227 -890
- package/dist/vue.global.prod.js +7 -6
- package/dist/vue.runtime.esm-browser.js +1227 -890
- package/dist/vue.runtime.esm-browser.prod.js +7 -6
- package/dist/vue.runtime.esm-bundler.js +1300 -911
- package/dist/vue.runtime.global.js +1227 -890
- package/dist/vue.runtime.global.prod.js +7 -6
- package/package.json +3 -3
package/dist/vue.esm-bundler.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @vue/compat v3.6.0-rc.
|
|
2
|
+
* @vue/compat v3.6.0-rc.10
|
|
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;
|
|
@@ -231,10 +231,10 @@ function normalizeStyle(value) {
|
|
|
231
231
|
}
|
|
232
232
|
const listDelimiterRE = /;(?![^(]*\))/g;
|
|
233
233
|
const propertyDelimiterRE = /:([^]+)/;
|
|
234
|
-
const styleCommentRE =
|
|
234
|
+
const styleCommentRE = /"(?:[^"\\]|\\[^])*"|'(?:[^'\\]|\\[^])*'|\\[^]|\/\*[^]*?\*\//g;
|
|
235
235
|
function parseStringStyle(cssText) {
|
|
236
236
|
const ret = {};
|
|
237
|
-
cssText.replace(styleCommentRE, "").split(listDelimiterRE).forEach((item) => {
|
|
237
|
+
cssText.replace(styleCommentRE, (match) => match.startsWith("/*") ? "" : match).split(listDelimiterRE).forEach((item) => {
|
|
238
238
|
if (item) {
|
|
239
239
|
const tmp = item.split(propertyDelimiterRE);
|
|
240
240
|
tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim());
|
|
@@ -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 `!!(process.env.NODE_ENV !== 'production')` 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 `!!(process.env.NODE_ENV !== 'production')` 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 `!!(process.env.NODE_ENV !== 'production')` 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 `!!(process.env.NODE_ENV !== 'production')` 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
|
*/
|
|
@@ -362,13 +362,54 @@ function getEscapedCssVarName(key, doubleEscape) {
|
|
|
362
362
|
}
|
|
363
363
|
//#endregion
|
|
364
364
|
//#region packages/shared/src/looseEqual.ts
|
|
365
|
-
function looseCompareArrays(a, b) {
|
|
365
|
+
function looseCompareArrays(a, b, seen) {
|
|
366
366
|
if (a.length !== b.length) return false;
|
|
367
367
|
let equal = true;
|
|
368
|
-
for (let i = 0; equal && i < a.length; i++) equal = looseEqual(a[i], b[i]);
|
|
368
|
+
for (let i = 0; equal && i < a.length; i++) equal = looseEqual(a[i], b[i], seen);
|
|
369
369
|
return equal;
|
|
370
370
|
}
|
|
371
|
-
function
|
|
371
|
+
function looseCompareCollections(a, b, seen) {
|
|
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], seen)) {
|
|
378
|
+
index = i;
|
|
379
|
+
break;
|
|
380
|
+
}
|
|
381
|
+
if (index < 0) return false;
|
|
382
|
+
matched[index] = 1;
|
|
383
|
+
}
|
|
384
|
+
return true;
|
|
385
|
+
}
|
|
386
|
+
function looseCompareObjects(a, b, seen) {
|
|
387
|
+
let aValidType = isMap(a);
|
|
388
|
+
let bValidType = isMap(b);
|
|
389
|
+
if (aValidType || bValidType) return aValidType && bValidType ? looseCompareCollections(a, b, seen) : false;
|
|
390
|
+
aValidType = isSet(a);
|
|
391
|
+
bValidType = isSet(b);
|
|
392
|
+
if (aValidType || bValidType) return aValidType && bValidType ? looseCompareCollections(a, b, seen) : false;
|
|
393
|
+
if (Object.keys(a).length !== Object.keys(b).length) return false;
|
|
394
|
+
for (const key in a) {
|
|
395
|
+
const aHasKey = a.hasOwnProperty(key);
|
|
396
|
+
const bHasKey = b.hasOwnProperty(key);
|
|
397
|
+
if (aHasKey && !bHasKey || !aHasKey && bHasKey || !looseEqual(a[key], b[key], seen)) return false;
|
|
398
|
+
}
|
|
399
|
+
return String(a) === String(b);
|
|
400
|
+
}
|
|
401
|
+
function looseCompareNested(a, b, seen, compare) {
|
|
402
|
+
if (!seen) seen = [/* @__PURE__ */ new Map(), /* @__PURE__ */ new Map()];
|
|
403
|
+
const [seenA, seenB] = seen;
|
|
404
|
+
if (seenA.has(a) || seenB.has(b)) return seenA.get(a) === b && seenB.get(b) === a;
|
|
405
|
+
seenA.set(a, b);
|
|
406
|
+
seenB.set(b, a);
|
|
407
|
+
const equal = compare(a, b, seen);
|
|
408
|
+
seenA.delete(a);
|
|
409
|
+
seenB.delete(b);
|
|
410
|
+
return equal;
|
|
411
|
+
}
|
|
412
|
+
function looseEqual(a, b, seen) {
|
|
372
413
|
if (a === b) return true;
|
|
373
414
|
let aValidType = isDate(a);
|
|
374
415
|
let bValidType = isDate(b);
|
|
@@ -378,17 +419,12 @@ function looseEqual(a, b) {
|
|
|
378
419
|
if (aValidType || bValidType) return a === b;
|
|
379
420
|
aValidType = isArray(a);
|
|
380
421
|
bValidType = isArray(b);
|
|
381
|
-
if (aValidType || bValidType) return aValidType && bValidType ?
|
|
422
|
+
if (aValidType || bValidType) return aValidType && bValidType ? looseCompareNested(a, b, seen, looseCompareArrays) : false;
|
|
382
423
|
aValidType = isObject(a);
|
|
383
424
|
bValidType = isObject(b);
|
|
384
425
|
if (aValidType || bValidType) {
|
|
385
426
|
if (!aValidType || !bValidType) return false;
|
|
386
|
-
|
|
387
|
-
for (const key in a) {
|
|
388
|
-
const aHasKey = a.hasOwnProperty(key);
|
|
389
|
-
const bHasKey = b.hasOwnProperty(key);
|
|
390
|
-
if (aHasKey && !bHasKey || !aHasKey && bHasKey || !looseEqual(a[key], b[key])) return false;
|
|
391
|
-
}
|
|
427
|
+
return looseCompareNested(a, b, seen, looseCompareObjects);
|
|
392
428
|
}
|
|
393
429
|
return String(a) === String(b);
|
|
394
430
|
}
|
|
@@ -523,6 +559,8 @@ function setupFlagsHandler(target) {
|
|
|
523
559
|
function warn$2(msg, ...args) {
|
|
524
560
|
console.warn(`[Vue warn] ${msg}`, ...args);
|
|
525
561
|
}
|
|
562
|
+
//#endregion
|
|
563
|
+
//#region packages/reactivity/src/system.ts
|
|
526
564
|
const notifyBuffer = [];
|
|
527
565
|
let batchDepth = 0;
|
|
528
566
|
let activeSub = void 0;
|
|
@@ -661,13 +699,23 @@ function endTracking(sub, prevSub) {
|
|
|
661
699
|
sub.flags &= -5;
|
|
662
700
|
}
|
|
663
701
|
function flush() {
|
|
702
|
+
let hasError = false;
|
|
703
|
+
let error;
|
|
664
704
|
while (notifyIndex < notifyBufferLength) {
|
|
665
705
|
const effect = notifyBuffer[notifyIndex];
|
|
666
706
|
notifyBuffer[notifyIndex++] = void 0;
|
|
667
|
-
|
|
707
|
+
try {
|
|
708
|
+
effect.notify();
|
|
709
|
+
} catch (err) {
|
|
710
|
+
if (!hasError) {
|
|
711
|
+
hasError = true;
|
|
712
|
+
error = err;
|
|
713
|
+
}
|
|
714
|
+
}
|
|
668
715
|
}
|
|
669
716
|
notifyIndex = 0;
|
|
670
717
|
notifyBufferLength = 0;
|
|
718
|
+
if (hasError) throw error;
|
|
671
719
|
}
|
|
672
720
|
function checkDirty(link, sub) {
|
|
673
721
|
let stack;
|
|
@@ -751,7 +799,7 @@ var Dep = class {
|
|
|
751
799
|
}
|
|
752
800
|
set subs(value) {
|
|
753
801
|
this._subs = value;
|
|
754
|
-
if (value === void 0) this.map.delete(this.key);
|
|
802
|
+
if (value === void 0 && this.map) this.map.delete(this.key);
|
|
755
803
|
}
|
|
756
804
|
};
|
|
757
805
|
const targetMap = /* @__PURE__ */ new WeakMap();
|
|
@@ -834,9 +882,7 @@ function trigger(target, type, key, newValue, oldValue, oldTarget) {
|
|
|
834
882
|
if (isMap(target)) run(depsMap.get(MAP_KEY_ITERATE_KEY));
|
|
835
883
|
}
|
|
836
884
|
break;
|
|
837
|
-
case "set":
|
|
838
|
-
if (isMap(target)) run(depsMap.get(ITERATE_KEY));
|
|
839
|
-
break;
|
|
885
|
+
case "set": if (isMap(target)) run(depsMap.get(ITERATE_KEY));
|
|
840
886
|
}
|
|
841
887
|
}
|
|
842
888
|
}
|
|
@@ -851,13 +897,17 @@ function getDepFromReactive(object, key) {
|
|
|
851
897
|
/**
|
|
852
898
|
* Track array iteration and return:
|
|
853
899
|
* - if input is reactive: a cloned raw array with reactive values
|
|
854
|
-
* - if input is
|
|
900
|
+
* - if input is readonly: a cloned raw array with readonly values, preserving
|
|
901
|
+
* reactivity
|
|
902
|
+
* - if input is raw or shallow: the original raw array
|
|
855
903
|
*/
|
|
856
904
|
function reactiveReadArray(array) {
|
|
857
905
|
const raw = /* @__PURE__ */ toRaw(array);
|
|
858
906
|
if (raw === array) return raw;
|
|
859
907
|
track(raw, "iterate", ARRAY_ITERATE_KEY);
|
|
860
|
-
|
|
908
|
+
if (/* @__PURE__ */ isShallow(array)) return raw;
|
|
909
|
+
if (!/* @__PURE__ */ isReadonly(array)) return raw.map(toReactive);
|
|
910
|
+
return /* @__PURE__ */ isReactive(array) ? raw.map((item) => toReadonly(toReactive(item))) : raw.map(toReadonly);
|
|
861
911
|
}
|
|
862
912
|
/**
|
|
863
913
|
* Track array iteration and return raw array
|
|
@@ -1033,8 +1083,8 @@ function noTracking(self, method, args = []) {
|
|
|
1033
1083
|
}
|
|
1034
1084
|
//#endregion
|
|
1035
1085
|
//#region packages/reactivity/src/baseHandlers.ts
|
|
1036
|
-
const isNonTrackableKeys =
|
|
1037
|
-
const builtInSymbols = new Set(
|
|
1086
|
+
const isNonTrackableKeys = /*@__PURE__*/ makeMap(`__proto__,__v_isRef,__isVue`);
|
|
1087
|
+
const builtInSymbols = new Set(/*@__PURE__*/ Object.getOwnPropertyNames(Symbol).filter((key) => key !== "arguments" && key !== "caller").map((key) => Symbol[key]).filter(isSymbol));
|
|
1038
1088
|
function hasOwnProperty(key) {
|
|
1039
1089
|
if (!isSymbol(key)) key = String(key);
|
|
1040
1090
|
const obj = /* @__PURE__ */ toRaw(this);
|
|
@@ -1089,12 +1139,14 @@ var MutableReactiveHandler = class extends BaseReactiveHandler {
|
|
|
1089
1139
|
oldValue = /* @__PURE__ */ toRaw(oldValue);
|
|
1090
1140
|
value = /* @__PURE__ */ toRaw(value);
|
|
1091
1141
|
}
|
|
1092
|
-
if (!isArrayWithIntegerKey && /* @__PURE__ */ isRef(oldValue) && !/* @__PURE__ */ isRef(value))
|
|
1093
|
-
if (
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1142
|
+
if (!isArrayWithIntegerKey && /* @__PURE__ */ isRef(oldValue) && !/* @__PURE__ */ isRef(value)) {
|
|
1143
|
+
if (isOldValueReadonly) {
|
|
1144
|
+
if (!!(process.env.NODE_ENV !== "production")) warn$2(`Set operation on key "${String(key)}" failed: target is readonly.`, target[key]);
|
|
1145
|
+
return true;
|
|
1146
|
+
} else {
|
|
1147
|
+
oldValue.value = value;
|
|
1148
|
+
return true;
|
|
1149
|
+
}
|
|
1098
1150
|
}
|
|
1099
1151
|
}
|
|
1100
1152
|
const hadKey = isArrayWithIntegerKey ? Number(key) < target.length : hasOwn(target, key);
|
|
@@ -1135,10 +1187,10 @@ var ReadonlyReactiveHandler = class extends BaseReactiveHandler {
|
|
|
1135
1187
|
return true;
|
|
1136
1188
|
}
|
|
1137
1189
|
};
|
|
1138
|
-
const mutableHandlers =
|
|
1139
|
-
const readonlyHandlers =
|
|
1140
|
-
const shallowReactiveHandlers =
|
|
1141
|
-
const shallowReadonlyHandlers =
|
|
1190
|
+
const mutableHandlers = /*@__PURE__*/ new MutableReactiveHandler();
|
|
1191
|
+
const readonlyHandlers = /*@__PURE__*/ new ReadonlyReactiveHandler();
|
|
1192
|
+
const shallowReactiveHandlers = /*@__PURE__*/ new MutableReactiveHandler(true);
|
|
1193
|
+
const shallowReadonlyHandlers = /*@__PURE__*/ new ReadonlyReactiveHandler(true);
|
|
1142
1194
|
//#endregion
|
|
1143
1195
|
//#region packages/reactivity/src/collectionHandlers.ts
|
|
1144
1196
|
const toShallow = (value) => value;
|
|
@@ -1289,10 +1341,10 @@ function createInstrumentationGetter(isReadonly, shallow) {
|
|
|
1289
1341
|
return Reflect.get(hasOwn(instrumentations, key) && key in target ? instrumentations : target, key, receiver);
|
|
1290
1342
|
};
|
|
1291
1343
|
}
|
|
1292
|
-
const mutableCollectionHandlers = { get:
|
|
1293
|
-
const shallowCollectionHandlers = { get:
|
|
1294
|
-
const readonlyCollectionHandlers = { get:
|
|
1295
|
-
const shallowReadonlyCollectionHandlers = { get:
|
|
1344
|
+
const mutableCollectionHandlers = { get: /*@__PURE__*/ createInstrumentationGetter(false, false) };
|
|
1345
|
+
const shallowCollectionHandlers = { get: /*@__PURE__*/ createInstrumentationGetter(false, true) };
|
|
1346
|
+
const readonlyCollectionHandlers = { get: /*@__PURE__*/ createInstrumentationGetter(true, false) };
|
|
1347
|
+
const shallowReadonlyCollectionHandlers = { get: /*@__PURE__*/ createInstrumentationGetter(true, true) };
|
|
1296
1348
|
function checkIdentityKeys(target, has, key) {
|
|
1297
1349
|
const rawKey = /* @__PURE__ */ toRaw(key);
|
|
1298
1350
|
if (rawKey !== key && has.call(target, rawKey)) {
|
|
@@ -1317,7 +1369,7 @@ function targetTypeMap(rawType) {
|
|
|
1317
1369
|
default: return 0;
|
|
1318
1370
|
}
|
|
1319
1371
|
}
|
|
1320
|
-
|
|
1372
|
+
/*@__NO_SIDE_EFFECTS__*/
|
|
1321
1373
|
function reactive(target) {
|
|
1322
1374
|
if (/* @__PURE__ */ isReadonly(target)) return target;
|
|
1323
1375
|
return createReactiveObject(target, false, mutableHandlers, mutableCollectionHandlers, reactiveMap);
|
|
@@ -1352,7 +1404,7 @@ function reactive(target) {
|
|
|
1352
1404
|
* @param target - The source object.
|
|
1353
1405
|
* @see {@link https://vuejs.org/api/reactivity-advanced.html#shallowreactive}
|
|
1354
1406
|
*/
|
|
1355
|
-
|
|
1407
|
+
/*@__NO_SIDE_EFFECTS__*/
|
|
1356
1408
|
function shallowReactive(target) {
|
|
1357
1409
|
return createReactiveObject(target, false, shallowReactiveHandlers, shallowCollectionHandlers, shallowReactiveMap);
|
|
1358
1410
|
}
|
|
@@ -1385,7 +1437,7 @@ function shallowReactive(target) {
|
|
|
1385
1437
|
* @param target - The source object.
|
|
1386
1438
|
* @see {@link https://vuejs.org/api/reactivity-core.html#readonly}
|
|
1387
1439
|
*/
|
|
1388
|
-
|
|
1440
|
+
/*@__NO_SIDE_EFFECTS__*/
|
|
1389
1441
|
function readonly(target) {
|
|
1390
1442
|
return createReactiveObject(target, true, readonlyHandlers, readonlyCollectionHandlers, readonlyMap);
|
|
1391
1443
|
}
|
|
@@ -1419,7 +1471,7 @@ function readonly(target) {
|
|
|
1419
1471
|
* @param target - The source object.
|
|
1420
1472
|
* @see {@link https://vuejs.org/api/reactivity-advanced.html#shallowreadonly}
|
|
1421
1473
|
*/
|
|
1422
|
-
|
|
1474
|
+
/*@__NO_SIDE_EFFECTS__*/
|
|
1423
1475
|
function shallowReadonly(target) {
|
|
1424
1476
|
return createReactiveObject(target, true, shallowReadonlyHandlers, shallowReadonlyCollectionHandlers, shallowReadonlyMap);
|
|
1425
1477
|
}
|
|
@@ -1456,7 +1508,7 @@ function createReactiveObject(target, isReadonly, baseHandlers, collectionHandle
|
|
|
1456
1508
|
* @param value - The value to check.
|
|
1457
1509
|
* @see {@link https://vuejs.org/api/reactivity-utilities.html#isreactive}
|
|
1458
1510
|
*/
|
|
1459
|
-
|
|
1511
|
+
/*@__NO_SIDE_EFFECTS__*/
|
|
1460
1512
|
function isReactive(value) {
|
|
1461
1513
|
if (/* @__PURE__ */ isReadonly(value)) return /* @__PURE__ */ isReactive(value["__v_raw"]);
|
|
1462
1514
|
return !!(value && value["__v_isReactive"]);
|
|
@@ -1472,11 +1524,11 @@ function isReactive(value) {
|
|
|
1472
1524
|
* @param value - The value to check.
|
|
1473
1525
|
* @see {@link https://vuejs.org/api/reactivity-utilities.html#isreadonly}
|
|
1474
1526
|
*/
|
|
1475
|
-
|
|
1527
|
+
/*@__NO_SIDE_EFFECTS__*/
|
|
1476
1528
|
function isReadonly(value) {
|
|
1477
1529
|
return !!(value && value["__v_isReadonly"]);
|
|
1478
1530
|
}
|
|
1479
|
-
|
|
1531
|
+
/*@__NO_SIDE_EFFECTS__*/
|
|
1480
1532
|
function isShallow(value) {
|
|
1481
1533
|
return !!(value && value["__v_isShallow"]);
|
|
1482
1534
|
}
|
|
@@ -1487,7 +1539,7 @@ function isShallow(value) {
|
|
|
1487
1539
|
* @param value - The value to check.
|
|
1488
1540
|
* @see {@link https://vuejs.org/api/reactivity-utilities.html#isproxy}
|
|
1489
1541
|
*/
|
|
1490
|
-
|
|
1542
|
+
/*@__NO_SIDE_EFFECTS__*/
|
|
1491
1543
|
function isProxy(value) {
|
|
1492
1544
|
return value ? !!value["__v_raw"] : false;
|
|
1493
1545
|
}
|
|
@@ -1514,7 +1566,7 @@ function isProxy(value) {
|
|
|
1514
1566
|
* @param observed - The object for which the "raw" value is requested.
|
|
1515
1567
|
* @see {@link https://vuejs.org/api/reactivity-advanced.html#toraw}
|
|
1516
1568
|
*/
|
|
1517
|
-
|
|
1569
|
+
/*@__NO_SIDE_EFFECTS__*/
|
|
1518
1570
|
function toRaw(observed) {
|
|
1519
1571
|
const raw = observed && observed["__v_raw"];
|
|
1520
1572
|
return raw ? /* @__PURE__ */ toRaw(raw) : observed;
|
|
@@ -1563,15 +1615,15 @@ const toReactive = (value) => isObject(value) ? /* @__PURE__ */ reactive(value)
|
|
|
1563
1615
|
const toReadonly = (value) => isObject(value) ? /* @__PURE__ */ readonly(value) : value;
|
|
1564
1616
|
//#endregion
|
|
1565
1617
|
//#region packages/reactivity/src/ref.ts
|
|
1566
|
-
|
|
1618
|
+
/*@__NO_SIDE_EFFECTS__*/
|
|
1567
1619
|
function isRef(r) {
|
|
1568
1620
|
return r ? r["__v_isRef"] === true : false;
|
|
1569
1621
|
}
|
|
1570
|
-
|
|
1622
|
+
/*@__NO_SIDE_EFFECTS__*/
|
|
1571
1623
|
function ref(value) {
|
|
1572
1624
|
return createRef(value, toReactive);
|
|
1573
1625
|
}
|
|
1574
|
-
|
|
1626
|
+
/*@__NO_SIDE_EFFECTS__*/
|
|
1575
1627
|
function shallowRef(value) {
|
|
1576
1628
|
return createRef(value);
|
|
1577
1629
|
}
|
|
@@ -1774,7 +1826,7 @@ function customRef(factory) {
|
|
|
1774
1826
|
* @param object - Reactive object to be made into an object of linked refs.
|
|
1775
1827
|
* @see {@link https://vuejs.org/api/reactivity-utilities.html#torefs}
|
|
1776
1828
|
*/
|
|
1777
|
-
|
|
1829
|
+
/*@__NO_SIDE_EFFECTS__*/
|
|
1778
1830
|
function toRefs(object) {
|
|
1779
1831
|
const ret = isArray(object) ? new Array(object.length) : {};
|
|
1780
1832
|
for (const key in object) ret[key] = propertyToRef(object, key);
|
|
@@ -1825,7 +1877,7 @@ var GetterRefImpl = class {
|
|
|
1825
1877
|
return this._value = this._getter();
|
|
1826
1878
|
}
|
|
1827
1879
|
};
|
|
1828
|
-
|
|
1880
|
+
/*@__NO_SIDE_EFFECTS__*/
|
|
1829
1881
|
function toRef(source, key, defaultValue) {
|
|
1830
1882
|
if (/* @__PURE__ */ isRef(source)) return source;
|
|
1831
1883
|
else if (isFunction(source)) return new GetterRefImpl(source);
|
|
@@ -1891,10 +1943,12 @@ var ReactiveEffect = class {
|
|
|
1891
1943
|
get dirty() {
|
|
1892
1944
|
const flags = this.flags;
|
|
1893
1945
|
if (flags & 16) return true;
|
|
1894
|
-
if (flags & 32)
|
|
1895
|
-
this.
|
|
1896
|
-
|
|
1897
|
-
|
|
1946
|
+
if (flags & 32) {
|
|
1947
|
+
if (checkDirty(this.deps, this)) {
|
|
1948
|
+
this.flags = flags | 16;
|
|
1949
|
+
return true;
|
|
1950
|
+
} else this.flags = flags & -33;
|
|
1951
|
+
}
|
|
1898
1952
|
return false;
|
|
1899
1953
|
}
|
|
1900
1954
|
};
|
|
@@ -2073,10 +2127,12 @@ var ComputedRefImpl = class {
|
|
|
2073
2127
|
get _dirty() {
|
|
2074
2128
|
const flags = this.flags;
|
|
2075
2129
|
if (flags & 16) return true;
|
|
2076
|
-
if (flags & 32)
|
|
2077
|
-
this.
|
|
2078
|
-
|
|
2079
|
-
|
|
2130
|
+
if (flags & 32) {
|
|
2131
|
+
if (checkDirty(this.deps, this)) {
|
|
2132
|
+
this.flags = flags | 16;
|
|
2133
|
+
return true;
|
|
2134
|
+
} else this.flags = flags & -33;
|
|
2135
|
+
}
|
|
2080
2136
|
return false;
|
|
2081
2137
|
}
|
|
2082
2138
|
/**
|
|
@@ -2137,7 +2193,7 @@ var ComputedRefImpl = class {
|
|
|
2137
2193
|
}
|
|
2138
2194
|
};
|
|
2139
2195
|
if (!!(process.env.NODE_ENV !== "production")) setupOnTrigger(ComputedRefImpl);
|
|
2140
|
-
|
|
2196
|
+
/*@__NO_SIDE_EFFECTS__*/
|
|
2141
2197
|
function computed$1(getterOrOptions, debugOptions, isSSR = false) {
|
|
2142
2198
|
let getter;
|
|
2143
2199
|
let setter;
|
|
@@ -2215,25 +2271,26 @@ var WatcherEffect = class extends ReactiveEffect {
|
|
|
2215
2271
|
else if (isFunction(s)) return call ? call(s, 2) : s();
|
|
2216
2272
|
else process.env.NODE_ENV !== "production" && warnInvalidSource(s, onWarn);
|
|
2217
2273
|
});
|
|
2218
|
-
} else if (isFunction(source))
|
|
2219
|
-
|
|
2220
|
-
|
|
2221
|
-
|
|
2274
|
+
} else if (isFunction(source)) {
|
|
2275
|
+
if (cb) getter = call ? () => call(source, 2) : source;
|
|
2276
|
+
else getter = () => {
|
|
2277
|
+
if (this.cleanupsLength) {
|
|
2278
|
+
const prevSub = setActiveSub();
|
|
2279
|
+
try {
|
|
2280
|
+
cleanup(this);
|
|
2281
|
+
} finally {
|
|
2282
|
+
setActiveSub(prevSub);
|
|
2283
|
+
}
|
|
2284
|
+
}
|
|
2285
|
+
const currentEffect = activeWatcher;
|
|
2286
|
+
activeWatcher = this;
|
|
2222
2287
|
try {
|
|
2223
|
-
|
|
2288
|
+
return call ? call(source, 3, [this.boundCleanup]) : source(this.boundCleanup);
|
|
2224
2289
|
} finally {
|
|
2225
|
-
|
|
2290
|
+
activeWatcher = currentEffect;
|
|
2226
2291
|
}
|
|
2227
|
-
}
|
|
2228
|
-
|
|
2229
|
-
activeWatcher = this;
|
|
2230
|
-
try {
|
|
2231
|
-
return call ? call(source, 3, [this.boundCleanup]) : source(this.boundCleanup);
|
|
2232
|
-
} finally {
|
|
2233
|
-
activeWatcher = currentEffect;
|
|
2234
|
-
}
|
|
2235
|
-
};
|
|
2236
|
-
else {
|
|
2292
|
+
};
|
|
2293
|
+
} else {
|
|
2237
2294
|
getter = NOOP;
|
|
2238
2295
|
process.env.NODE_ENV !== "production" && warnInvalidSource(source, onWarn);
|
|
2239
2296
|
}
|
|
@@ -2560,7 +2617,9 @@ const SchedulerJobFlags = {
|
|
|
2560
2617
|
"ALLOW_RECURSE": 2,
|
|
2561
2618
|
"2": "ALLOW_RECURSE",
|
|
2562
2619
|
"DISPOSED": 4,
|
|
2563
|
-
"4": "DISPOSED"
|
|
2620
|
+
"4": "DISPOSED",
|
|
2621
|
+
"REQUEUE_ON_SUSPENSE_DISCARD": 8,
|
|
2622
|
+
"8": "REQUEUE_ON_SUSPENSE_DISCARD"
|
|
2564
2623
|
};
|
|
2565
2624
|
const jobs = [];
|
|
2566
2625
|
let postJobs = [];
|
|
@@ -2569,7 +2628,7 @@ let currentFlushPromise = null;
|
|
|
2569
2628
|
let jobsLength = 0;
|
|
2570
2629
|
let flushIndex = 0;
|
|
2571
2630
|
let postFlushIndex = 0;
|
|
2572
|
-
const resolvedPromise =
|
|
2631
|
+
const resolvedPromise = /*@__PURE__*/ Promise.resolve();
|
|
2573
2632
|
const RECURSION_LIMIT = 100;
|
|
2574
2633
|
function nextTick(fn) {
|
|
2575
2634
|
const p = currentFlushPromise || resolvedPromise;
|
|
@@ -2608,6 +2667,7 @@ const doFlushJobs = () => {
|
|
|
2608
2667
|
flushJobs();
|
|
2609
2668
|
} catch (e) {
|
|
2610
2669
|
currentFlushPromise = null;
|
|
2670
|
+
if (jobsLength || postJobs.length) queueFlush();
|
|
2611
2671
|
throw e;
|
|
2612
2672
|
}
|
|
2613
2673
|
};
|
|
@@ -2615,9 +2675,10 @@ function queueFlush() {
|
|
|
2615
2675
|
if (!currentFlushPromise) currentFlushPromise = resolvedPromise.then(doFlushJobs);
|
|
2616
2676
|
}
|
|
2617
2677
|
function queuePostFlushCb(jobs, id = Infinity) {
|
|
2618
|
-
if (!isArray(jobs))
|
|
2619
|
-
|
|
2620
|
-
|
|
2678
|
+
if (!isArray(jobs)) {
|
|
2679
|
+
if (activePostJobs && id === -1) activePostJobs.splice(postFlushIndex, 0, jobs);
|
|
2680
|
+
else queueJobWorker(jobs, id, postJobs, postJobs.length, 0);
|
|
2681
|
+
} else for (let i = 0; i < jobs.length; i++) queueJobWorker(jobs[i], id, postJobs, postJobs.length, 0);
|
|
2621
2682
|
queueFlush();
|
|
2622
2683
|
}
|
|
2623
2684
|
function flushPreFlushCbs(instance, seen) {
|
|
@@ -2631,32 +2692,39 @@ function flushPreFlushCbs(instance, seen) {
|
|
|
2631
2692
|
i--;
|
|
2632
2693
|
jobsLength--;
|
|
2633
2694
|
if (cb.flags & 2) cb.flags &= -2;
|
|
2634
|
-
|
|
2635
|
-
|
|
2695
|
+
try {
|
|
2696
|
+
cb();
|
|
2697
|
+
} finally {
|
|
2698
|
+
if (!(cb.flags & 2)) cb.flags &= -2;
|
|
2699
|
+
}
|
|
2636
2700
|
}
|
|
2637
2701
|
}
|
|
2638
2702
|
function flushPostFlushCbs(seen) {
|
|
2639
2703
|
if (postJobs.length) {
|
|
2640
2704
|
if (activePostJobs) {
|
|
2641
|
-
activePostJobs.push(
|
|
2705
|
+
for (let i = 0; i < postJobs.length; i++) activePostJobs.push(postJobs[i]);
|
|
2642
2706
|
postJobs.length = 0;
|
|
2643
2707
|
return;
|
|
2644
2708
|
}
|
|
2645
2709
|
activePostJobs = postJobs;
|
|
2646
2710
|
postJobs = [];
|
|
2647
2711
|
if (!!(process.env.NODE_ENV !== "production")) seen = seen || /* @__PURE__ */ new Map();
|
|
2648
|
-
|
|
2649
|
-
|
|
2650
|
-
|
|
2651
|
-
|
|
2652
|
-
|
|
2653
|
-
cb
|
|
2654
|
-
|
|
2655
|
-
|
|
2712
|
+
try {
|
|
2713
|
+
while (postFlushIndex < activePostJobs.length) {
|
|
2714
|
+
const cb = activePostJobs[postFlushIndex++];
|
|
2715
|
+
if (!!(process.env.NODE_ENV !== "production") && checkRecursiveUpdates(seen, cb)) continue;
|
|
2716
|
+
if (cb.flags & 2) cb.flags &= -2;
|
|
2717
|
+
if (!(cb.flags & 4)) try {
|
|
2718
|
+
cb();
|
|
2719
|
+
} finally {
|
|
2720
|
+
if (!(cb.flags & 2)) cb.flags &= -2;
|
|
2721
|
+
}
|
|
2656
2722
|
}
|
|
2723
|
+
} finally {
|
|
2724
|
+
while (postFlushIndex < activePostJobs.length) activePostJobs[postFlushIndex++].flags &= -2;
|
|
2725
|
+
activePostJobs = null;
|
|
2726
|
+
postFlushIndex = 0;
|
|
2657
2727
|
}
|
|
2658
|
-
activePostJobs = null;
|
|
2659
|
-
postFlushIndex = 0;
|
|
2660
2728
|
}
|
|
2661
2729
|
}
|
|
2662
2730
|
let isFlushing = false;
|
|
@@ -2666,9 +2734,12 @@ let isFlushing = false;
|
|
|
2666
2734
|
function flushOnAppMount(instance) {
|
|
2667
2735
|
if (!isFlushing) {
|
|
2668
2736
|
isFlushing = true;
|
|
2669
|
-
|
|
2670
|
-
|
|
2671
|
-
|
|
2737
|
+
try {
|
|
2738
|
+
flushPreFlushCbs(instance);
|
|
2739
|
+
flushPostFlushCbs();
|
|
2740
|
+
} finally {
|
|
2741
|
+
isFlushing = false;
|
|
2742
|
+
}
|
|
2672
2743
|
}
|
|
2673
2744
|
}
|
|
2674
2745
|
function flushJobs(seen) {
|
|
@@ -2698,8 +2769,8 @@ function flushJobs(seen) {
|
|
|
2698
2769
|
jobsLength = 0;
|
|
2699
2770
|
jobs.length = 0;
|
|
2700
2771
|
flushPostFlushCbs(seen);
|
|
2701
|
-
currentFlushPromise = null;
|
|
2702
2772
|
if (jobsLength || postJobs.length) flushJobs(seen);
|
|
2773
|
+
else currentFlushPromise = null;
|
|
2703
2774
|
}
|
|
2704
2775
|
}
|
|
2705
2776
|
function checkRecursiveUpdates(seen, fn) {
|
|
@@ -2730,6 +2801,19 @@ if (!!(process.env.NODE_ENV !== "production")) getGlobalThis().__VUE_HMR_RUNTIME
|
|
|
2730
2801
|
rerender: tryWrap(rerender),
|
|
2731
2802
|
reload: tryWrap(reload)
|
|
2732
2803
|
};
|
|
2804
|
+
function runWithHmrUpdating(fn) {
|
|
2805
|
+
isHmrUpdating = true;
|
|
2806
|
+
let done = false;
|
|
2807
|
+
try {
|
|
2808
|
+
fn();
|
|
2809
|
+
done = true;
|
|
2810
|
+
} finally {
|
|
2811
|
+
if (done) nextTick(() => {
|
|
2812
|
+
isHmrUpdating = false;
|
|
2813
|
+
});
|
|
2814
|
+
else isHmrUpdating = false;
|
|
2815
|
+
}
|
|
2816
|
+
}
|
|
2733
2817
|
const map = /* @__PURE__ */ new Map();
|
|
2734
2818
|
function registerHMR(instance) {
|
|
2735
2819
|
const id = instance.type.__hmrId;
|
|
@@ -2771,18 +2855,16 @@ function rerender(id, newRender) {
|
|
|
2771
2855
|
instance.render = newRender;
|
|
2772
2856
|
normalizeClassComponent(instance.type).render = newRender;
|
|
2773
2857
|
}
|
|
2774
|
-
|
|
2775
|
-
|
|
2776
|
-
|
|
2777
|
-
|
|
2778
|
-
|
|
2779
|
-
|
|
2780
|
-
|
|
2781
|
-
|
|
2858
|
+
runWithHmrUpdating(() => {
|
|
2859
|
+
if (instance.vapor) {
|
|
2860
|
+
if (!instance.isUnmounted) instance.hmrRerender();
|
|
2861
|
+
} else {
|
|
2862
|
+
const i = instance;
|
|
2863
|
+
if (!(i.effect.flags & 1024)) {
|
|
2864
|
+
i.renderCache = [];
|
|
2865
|
+
i.effect.run();
|
|
2866
|
+
}
|
|
2782
2867
|
}
|
|
2783
|
-
}
|
|
2784
|
-
nextTick(() => {
|
|
2785
|
-
isHmrUpdating = false;
|
|
2786
2868
|
});
|
|
2787
2869
|
});
|
|
2788
2870
|
}
|
|
@@ -2797,17 +2879,19 @@ function reload(id, newComp) {
|
|
|
2797
2879
|
for (const instance of instances) if (instance.root && instance.root.ce && instance !== instance.root) instance.root.ce._removeChildStyle(instance.type);
|
|
2798
2880
|
const dirtyInstances = new Set(instances);
|
|
2799
2881
|
const rerenderedParents = /* @__PURE__ */ new Set();
|
|
2800
|
-
|
|
2801
|
-
const
|
|
2802
|
-
|
|
2803
|
-
if (
|
|
2804
|
-
rerenderedParents.
|
|
2805
|
-
|
|
2806
|
-
|
|
2807
|
-
|
|
2808
|
-
|
|
2882
|
+
runWithHmrUpdating(() => {
|
|
2883
|
+
for (const instance of instances) {
|
|
2884
|
+
const parent = instance.parent;
|
|
2885
|
+
if (parent) {
|
|
2886
|
+
if (!hasDirtyAncestor(instance, dirtyInstances) && !rerenderedParents.has(parent)) {
|
|
2887
|
+
rerenderedParents.add(parent);
|
|
2888
|
+
parent.hmrRerender();
|
|
2889
|
+
}
|
|
2890
|
+
} else instance.hmrReload(newComp);
|
|
2891
|
+
}
|
|
2892
|
+
});
|
|
2809
2893
|
} else {
|
|
2810
|
-
const
|
|
2894
|
+
const parents = /* @__PURE__ */ new Set();
|
|
2811
2895
|
const dirtyInstanceSet = new Set(instances);
|
|
2812
2896
|
for (const instance of instances) {
|
|
2813
2897
|
const oldComp = normalizeClassComponent(instance.type);
|
|
@@ -2826,33 +2910,23 @@ function reload(id, newComp) {
|
|
|
2826
2910
|
instance.ceReload(newComp.styles);
|
|
2827
2911
|
dirtyInstances.delete(instance);
|
|
2828
2912
|
} else if (instance.parent) {
|
|
2829
|
-
|
|
2830
|
-
if (!hasDirtyAncestor(instance, dirtyInstanceSet)) {
|
|
2831
|
-
let updates = parentUpdates.get(parent);
|
|
2832
|
-
if (!updates) parentUpdates.set(parent, updates = []);
|
|
2833
|
-
updates.push([instance, dirtyInstances]);
|
|
2834
|
-
}
|
|
2913
|
+
if (!hasDirtyAncestor(instance, dirtyInstanceSet)) parents.add(instance.parent);
|
|
2835
2914
|
} else if (instance.appContext.reload) instance.appContext.reload();
|
|
2836
2915
|
else if (typeof window !== "undefined") window.location.reload();
|
|
2837
2916
|
else console.warn("[HMR] Root or manually mounted instance modified. Full reload required.");
|
|
2838
2917
|
if (instance.root.ce && instance !== instance.root) instance.root.ce._removeChildStyle(oldComp);
|
|
2839
2918
|
}
|
|
2840
|
-
|
|
2919
|
+
parents.forEach((parent) => {
|
|
2841
2920
|
queueJob(() => {
|
|
2842
|
-
|
|
2843
|
-
|
|
2844
|
-
|
|
2845
|
-
|
|
2846
|
-
|
|
2847
|
-
|
|
2848
|
-
|
|
2921
|
+
runWithHmrUpdating(() => {
|
|
2922
|
+
if (parent.vapor) parent.hmrRerender();
|
|
2923
|
+
else {
|
|
2924
|
+
const i = parent;
|
|
2925
|
+
if (!(i.effect.flags & 1024)) {
|
|
2926
|
+
i.renderCache = [];
|
|
2927
|
+
i.effect.run();
|
|
2928
|
+
}
|
|
2849
2929
|
}
|
|
2850
|
-
}
|
|
2851
|
-
nextTick(() => {
|
|
2852
|
-
isHmrUpdating = false;
|
|
2853
|
-
});
|
|
2854
|
-
updates.forEach(([instance, dirtyInstances]) => {
|
|
2855
|
-
dirtyInstances.delete(instance);
|
|
2856
2930
|
});
|
|
2857
2931
|
});
|
|
2858
2932
|
});
|
|
@@ -2922,20 +2996,20 @@ function devtoolsInitApp(app, version) {
|
|
|
2922
2996
|
function devtoolsUnmountApp(app) {
|
|
2923
2997
|
emit$2("app:unmount", app);
|
|
2924
2998
|
}
|
|
2925
|
-
const devtoolsComponentAdded =
|
|
2926
|
-
const devtoolsComponentUpdated =
|
|
2927
|
-
const _devtoolsComponentRemoved =
|
|
2999
|
+
const devtoolsComponentAdded = /*@__PURE__*/ createDevtoolsComponentHook("component:added");
|
|
3000
|
+
const devtoolsComponentUpdated = /*@__PURE__*/ createDevtoolsComponentHook("component:updated");
|
|
3001
|
+
const _devtoolsComponentRemoved = /*@__PURE__*/ createDevtoolsComponentHook("component:removed");
|
|
2928
3002
|
const devtoolsComponentRemoved = (component) => {
|
|
2929
3003
|
if (devtools$1 && typeof devtools$1.cleanupBuffer === "function" && !devtools$1.cleanupBuffer(component)) _devtoolsComponentRemoved(component);
|
|
2930
3004
|
};
|
|
2931
|
-
|
|
3005
|
+
/*@__NO_SIDE_EFFECTS__*/
|
|
2932
3006
|
function createDevtoolsComponentHook(hook) {
|
|
2933
3007
|
return (component) => {
|
|
2934
3008
|
emit$2(hook, component.appContext.app, component.uid, component.parent ? component.parent.uid : void 0, component);
|
|
2935
3009
|
};
|
|
2936
3010
|
}
|
|
2937
|
-
const devtoolsPerfStart =
|
|
2938
|
-
const devtoolsPerfEnd =
|
|
3011
|
+
const devtoolsPerfStart = /*@__PURE__*/ createDevtoolsPerformanceHook("perf:start");
|
|
3012
|
+
const devtoolsPerfEnd = /*@__PURE__*/ createDevtoolsPerformanceHook("perf:end");
|
|
2939
3013
|
function createDevtoolsPerformanceHook(hook) {
|
|
2940
3014
|
return (component, type, time) => {
|
|
2941
3015
|
emit$2(hook, component.appContext.app, component.uid, component, type, time);
|
|
@@ -3165,7 +3239,7 @@ function configureCompat$1(config) {
|
|
|
3165
3239
|
if (!!(process.env.NODE_ENV !== "production")) validateCompatConfig(config);
|
|
3166
3240
|
extend(globalCompatConfig, config);
|
|
3167
3241
|
}
|
|
3168
|
-
const seenConfigObjects =
|
|
3242
|
+
const seenConfigObjects = /*@__PURE__*/ new WeakSet();
|
|
3169
3243
|
const warnedInvalidKeys = {};
|
|
3170
3244
|
function validateCompatConfig(config, instance) {
|
|
3171
3245
|
if (seenConfigObjects.has(config)) return;
|
|
@@ -3217,7 +3291,7 @@ function checkCompatEnabled$1(key, instance, ...args) {
|
|
|
3217
3291
|
}
|
|
3218
3292
|
//#endregion
|
|
3219
3293
|
//#region packages/runtime-core/src/compat/instanceEventEmitter.ts
|
|
3220
|
-
const eventRegistryMap =
|
|
3294
|
+
const eventRegistryMap = /*@__PURE__*/ new WeakMap();
|
|
3221
3295
|
function getRegistry(instance) {
|
|
3222
3296
|
let events = eventRegistryMap.get(instance);
|
|
3223
3297
|
if (!events) eventRegistryMap.set(instance, events = Object.create(null));
|
|
@@ -3351,19 +3425,21 @@ const legacyDirectiveHookMap = {
|
|
|
3351
3425
|
};
|
|
3352
3426
|
function mapCompatDirectiveHook(name, dir, instance) {
|
|
3353
3427
|
const mappedName = legacyDirectiveHookMap[name];
|
|
3354
|
-
if (mappedName)
|
|
3355
|
-
|
|
3356
|
-
|
|
3357
|
-
|
|
3358
|
-
|
|
3359
|
-
|
|
3360
|
-
|
|
3361
|
-
|
|
3362
|
-
|
|
3363
|
-
|
|
3364
|
-
|
|
3365
|
-
|
|
3366
|
-
|
|
3428
|
+
if (mappedName) {
|
|
3429
|
+
if (isArray(mappedName)) {
|
|
3430
|
+
const hook = [];
|
|
3431
|
+
mappedName.forEach((mapped) => {
|
|
3432
|
+
const mappedHook = dir[mapped];
|
|
3433
|
+
if (mappedHook) {
|
|
3434
|
+
softAssertCompatEnabled("CUSTOM_DIR", instance, mapped, name);
|
|
3435
|
+
hook.push(mappedHook);
|
|
3436
|
+
}
|
|
3437
|
+
});
|
|
3438
|
+
return hook.length ? hook : void 0;
|
|
3439
|
+
} else {
|
|
3440
|
+
if (dir[mappedName]) softAssertCompatEnabled("CUSTOM_DIR", instance, mappedName, name);
|
|
3441
|
+
return dir[mappedName];
|
|
3442
|
+
}
|
|
3367
3443
|
}
|
|
3368
3444
|
}
|
|
3369
3445
|
//#endregion
|
|
@@ -3550,7 +3626,7 @@ function instanceWatch(source, value, options) {
|
|
|
3550
3626
|
}
|
|
3551
3627
|
const prev = setCurrentInstance(this);
|
|
3552
3628
|
const res = doWatch(getter, cb.bind(publicThis), options);
|
|
3553
|
-
|
|
3629
|
+
restoreCurrentInstance(prev);
|
|
3554
3630
|
return res;
|
|
3555
3631
|
}
|
|
3556
3632
|
function createPathGetter(ctx, path) {
|
|
@@ -3572,15 +3648,16 @@ const isTargetSVG = (target) => typeof SVGElement !== "undefined" && target inst
|
|
|
3572
3648
|
const isTargetMathML = (target) => typeof MathMLElement === "function" && target instanceof MathMLElement;
|
|
3573
3649
|
const resolveTarget = (props, select) => {
|
|
3574
3650
|
const targetSelector = props && props.to;
|
|
3575
|
-
if (isString(targetSelector))
|
|
3576
|
-
|
|
3577
|
-
|
|
3651
|
+
if (isString(targetSelector)) {
|
|
3652
|
+
if (!select) {
|
|
3653
|
+
process.env.NODE_ENV !== "production" && warn$1("Current renderer does not support string target for Teleports. (missing querySelector renderer option)");
|
|
3654
|
+
return null;
|
|
3655
|
+
} else {
|
|
3656
|
+
const target = select(targetSelector);
|
|
3657
|
+
if (!!(process.env.NODE_ENV !== "production") && !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.`);
|
|
3658
|
+
return target;
|
|
3659
|
+
}
|
|
3578
3660
|
} else {
|
|
3579
|
-
const target = select(targetSelector);
|
|
3580
|
-
if (!!(process.env.NODE_ENV !== "production") && !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.`);
|
|
3581
|
-
return target;
|
|
3582
|
-
}
|
|
3583
|
-
else {
|
|
3584
3661
|
if (!!(process.env.NODE_ENV !== "production") && !targetSelector && !isTeleportDisabled(props)) warn$1(`Invalid Teleport target: ${targetSelector}`);
|
|
3585
3662
|
return targetSelector;
|
|
3586
3663
|
}
|
|
@@ -3618,7 +3695,8 @@ const TeleportImpl = {
|
|
|
3618
3695
|
if (pendingMounts.get(vnode) !== mountJob) return;
|
|
3619
3696
|
pendingMounts.delete(vnode);
|
|
3620
3697
|
if (isTeleportDisabled(vnode.props)) {
|
|
3621
|
-
|
|
3698
|
+
const mountContainer = parentNode(vnode.el) || container;
|
|
3699
|
+
mount(vnode, mountContainer, vnode.anchor);
|
|
3622
3700
|
updateCssVars(vnode, true);
|
|
3623
3701
|
}
|
|
3624
3702
|
mountToTarget(vnode);
|
|
@@ -3727,15 +3805,17 @@ function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScope
|
|
|
3727
3805
|
const disabled = isTeleportDisabled(vnode.props);
|
|
3728
3806
|
if (target) {
|
|
3729
3807
|
const targetNode = target._lpa || target.firstChild;
|
|
3730
|
-
if (vnode.shapeFlag & 16)
|
|
3731
|
-
|
|
3732
|
-
|
|
3733
|
-
|
|
3734
|
-
|
|
3735
|
-
|
|
3736
|
-
|
|
3737
|
-
|
|
3738
|
-
|
|
3808
|
+
if (vnode.shapeFlag & 16) {
|
|
3809
|
+
if (disabled) {
|
|
3810
|
+
hydrateDisabledTeleport(node, vnode);
|
|
3811
|
+
hydrateAnchor(target, targetNode);
|
|
3812
|
+
if (!vnode.targetAnchor) prepareAnchor(target, vnode, createText, insert, parentNode(node) === target ? node : null);
|
|
3813
|
+
} else {
|
|
3814
|
+
vnode.anchor = nextSibling(node);
|
|
3815
|
+
hydrateAnchor(target, targetNode);
|
|
3816
|
+
if (!vnode.targetAnchor) prepareAnchor(target, vnode, createText, insert);
|
|
3817
|
+
hydrateChildren(targetNode && nextSibling(targetNode), vnode, target, parentComponent, parentSuspense, slotScopeIds, optimized);
|
|
3818
|
+
}
|
|
3739
3819
|
}
|
|
3740
3820
|
updateCssVars(vnode, disabled);
|
|
3741
3821
|
} else if (disabled) {
|
|
@@ -3823,49 +3903,16 @@ const BaseTransitionImpl = {
|
|
|
3823
3903
|
setup(props, { slots }) {
|
|
3824
3904
|
const instance = getCurrentInstance();
|
|
3825
3905
|
const state = useTransitionState();
|
|
3906
|
+
let resumeAfterLeave;
|
|
3826
3907
|
return () => {
|
|
3827
|
-
const
|
|
3828
|
-
const child = children && children.length ? findNonCommentChild(children) : instance.subTree ? createCommentVNode() : void 0;
|
|
3908
|
+
const child = resolveTransitionChild(slots.default && slots.default(), !!instance.subTree);
|
|
3829
3909
|
if (!child) return;
|
|
3830
3910
|
const rawProps = /* @__PURE__ */ toRaw(props);
|
|
3831
3911
|
const { mode } = rawProps;
|
|
3832
3912
|
checkTransitionMode(mode);
|
|
3833
|
-
|
|
3834
|
-
|
|
3835
|
-
|
|
3836
|
-
let enterHooks = resolveTransitionHooks(innerChild, rawProps, state, instance, (hooks) => enterHooks = hooks);
|
|
3837
|
-
if (innerChild.type !== Comment) setTransitionHooks(innerChild, enterHooks);
|
|
3838
|
-
let oldInnerChild = instance.subTree && getInnerChild$1(instance.subTree);
|
|
3839
|
-
if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(oldInnerChild, innerChild) && recursiveGetSubtree(instance).type !== Comment) {
|
|
3840
|
-
let leavingHooks = resolveTransitionHooks(oldInnerChild, rawProps, state, instance);
|
|
3841
|
-
setTransitionHooks(oldInnerChild, leavingHooks);
|
|
3842
|
-
if (mode === "out-in" && innerChild.type !== Comment) {
|
|
3843
|
-
state.isLeaving = true;
|
|
3844
|
-
leavingHooks.afterLeave = () => {
|
|
3845
|
-
state.isLeaving = false;
|
|
3846
|
-
if (!(instance.job.flags & 4)) instance.update();
|
|
3847
|
-
delete leavingHooks.afterLeave;
|
|
3848
|
-
oldInnerChild = void 0;
|
|
3849
|
-
};
|
|
3850
|
-
return emptyPlaceholder(child);
|
|
3851
|
-
} else if (mode === "in-out" && innerChild.type !== Comment) leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => {
|
|
3852
|
-
const leavingVNodesCache = getLeavingNodesForType(state, oldInnerChild);
|
|
3853
|
-
leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild;
|
|
3854
|
-
el[leaveCbKey] = () => {
|
|
3855
|
-
earlyRemove();
|
|
3856
|
-
el[leaveCbKey] = void 0;
|
|
3857
|
-
delete enterHooks.delayedLeave;
|
|
3858
|
-
oldInnerChild = void 0;
|
|
3859
|
-
};
|
|
3860
|
-
enterHooks.delayedLeave = () => {
|
|
3861
|
-
delayedLeave();
|
|
3862
|
-
delete enterHooks.delayedLeave;
|
|
3863
|
-
oldInnerChild = void 0;
|
|
3864
|
-
};
|
|
3865
|
-
};
|
|
3866
|
-
else oldInnerChild = void 0;
|
|
3867
|
-
} else if (oldInnerChild) oldInnerChild = void 0;
|
|
3868
|
-
return child;
|
|
3913
|
+
return prepareTransitionSwitch(instance.subTree, child, rawProps, state, instance, mode === "out-in" ? resumeAfterLeave || (resumeAfterLeave = () => {
|
|
3914
|
+
if (!(instance.job.flags & 4)) instance.update();
|
|
3915
|
+
}) : NOOP);
|
|
3869
3916
|
};
|
|
3870
3917
|
}
|
|
3871
3918
|
};
|
|
@@ -3936,8 +3983,10 @@ function baseResolveTransitionHooks(context, props, state, instance) {
|
|
|
3936
3983
|
persisted,
|
|
3937
3984
|
beforeEnter(el) {
|
|
3938
3985
|
let hook = onBeforeEnter;
|
|
3939
|
-
if (!state.isMounted)
|
|
3940
|
-
|
|
3986
|
+
if (!state.isMounted) {
|
|
3987
|
+
if (appear) hook = onBeforeAppear || onBeforeEnter;
|
|
3988
|
+
else return;
|
|
3989
|
+
}
|
|
3941
3990
|
if (el[leaveCbKey]) el[leaveCbKey](true);
|
|
3942
3991
|
earlyRemove();
|
|
3943
3992
|
callHook(hook, [el]);
|
|
@@ -3947,11 +3996,13 @@ function baseResolveTransitionHooks(context, props, state, instance) {
|
|
|
3947
3996
|
let hook = onEnter;
|
|
3948
3997
|
let afterHook = onAfterEnter;
|
|
3949
3998
|
let cancelHook = onEnterCancelled;
|
|
3950
|
-
if (!state.isMounted)
|
|
3951
|
-
|
|
3952
|
-
|
|
3953
|
-
|
|
3954
|
-
|
|
3999
|
+
if (!state.isMounted) {
|
|
4000
|
+
if (appear) {
|
|
4001
|
+
hook = onAppear || onEnter;
|
|
4002
|
+
afterHook = onAfterAppear || onAfterEnter;
|
|
4003
|
+
cancelHook = onAppearCancelled || onEnterCancelled;
|
|
4004
|
+
} else return;
|
|
4005
|
+
}
|
|
3955
4006
|
let called = false;
|
|
3956
4007
|
el[enterCbKey$1] = (cancelled) => {
|
|
3957
4008
|
if (called) return;
|
|
@@ -3985,7 +4036,7 @@ function baseResolveTransitionHooks(context, props, state, instance) {
|
|
|
3985
4036
|
else done();
|
|
3986
4037
|
},
|
|
3987
4038
|
clone(node) {
|
|
3988
|
-
return cloneHooks(node);
|
|
4039
|
+
return cloneHooks ? cloneHooks(node) : hooks;
|
|
3989
4040
|
}
|
|
3990
4041
|
};
|
|
3991
4042
|
return hooks;
|
|
@@ -4009,16 +4060,102 @@ function getInnerChild$1(vnode) {
|
|
|
4009
4060
|
if (shapeFlag & 32 && isFunction(children.default)) return children.default();
|
|
4010
4061
|
}
|
|
4011
4062
|
}
|
|
4063
|
+
function resolveTransitionChild(children, renderEmpty = false) {
|
|
4064
|
+
const branches = children && getTransitionRawChildren(children, true);
|
|
4065
|
+
return branches && branches.length ? findNonCommentChild(branches) : renderEmpty ? createCommentVNode() : void 0;
|
|
4066
|
+
}
|
|
4067
|
+
/**
|
|
4068
|
+
* @internal
|
|
4069
|
+
*/
|
|
4070
|
+
function prepareTransitionSwitch(previous, next, props, state, instance, resumeAfterLeave, delayedLeaveSource) {
|
|
4071
|
+
if (state.isLeaving) return emptyPlaceholder(next);
|
|
4072
|
+
const nextInner = getInnerChild$1(next);
|
|
4073
|
+
if (!nextInner) return emptyPlaceholder(next);
|
|
4074
|
+
let enterHooks = resolveTransitionHooks(nextInner, props, state, instance, (hooks) => {
|
|
4075
|
+
if (delayedLeaveSource) forwardDelayedLeave(hooks, delayedLeaveSource);
|
|
4076
|
+
enterHooks = hooks;
|
|
4077
|
+
});
|
|
4078
|
+
if (delayedLeaveSource) forwardDelayedLeave(enterHooks, delayedLeaveSource);
|
|
4079
|
+
if (nextInner.type !== Comment) setTransitionHooks(nextInner, enterHooks);
|
|
4080
|
+
const mode = props.mode;
|
|
4081
|
+
const previousInner = previous && getInnerChild$1(previous);
|
|
4082
|
+
if (previous && previousInner && previousInner.type !== Comment && !isSameVNodeType(previousInner, nextInner) && (!previous.component || recursiveGetSubtree(previous.component).type !== Comment)) {
|
|
4083
|
+
const leavingHooks = prepareLeavingTransitionHooks(previousInner, props, state, instance);
|
|
4084
|
+
if (nextInner.type !== Comment && (mode === "out-in" || mode === "in-out") && applyTransitionModeSwitch(previousInner, leavingHooks, mode === "in-out" ? () => enterHooks : void 0, props, state, resumeAfterLeave)) return emptyPlaceholder(next);
|
|
4085
|
+
}
|
|
4086
|
+
return next;
|
|
4087
|
+
}
|
|
4088
|
+
function forwardDelayedLeave(hooks, source) {
|
|
4089
|
+
const delayedLeave = source && source.delayedLeave;
|
|
4090
|
+
if (!delayedLeave) return;
|
|
4091
|
+
hooks.delayedLeave = () => {
|
|
4092
|
+
if (source.delayedLeave === delayedLeave) delayedLeave();
|
|
4093
|
+
delete hooks.delayedLeave;
|
|
4094
|
+
};
|
|
4095
|
+
}
|
|
4096
|
+
/**
|
|
4097
|
+
* Prepares an outgoing VNode when the incoming branch belongs to another
|
|
4098
|
+
* renderer. Returns true when out-in must defer the incoming branch.
|
|
4099
|
+
*
|
|
4100
|
+
* @internal
|
|
4101
|
+
*/
|
|
4102
|
+
function prepareTransitionLeave(previous, enterHooks, props, state, instance, resumeAfterLeave) {
|
|
4103
|
+
const previousInner = getInnerChild$1(previous);
|
|
4104
|
+
if (!previousInner || previousInner.type === Comment || previous.component && recursiveGetSubtree(previous.component).type === Comment) return false;
|
|
4105
|
+
return applyTransitionModeSwitch(previousInner, prepareLeavingTransitionHooks(previousInner, props, state, instance), enterHooks ? () => enterHooks : void 0, props, state, resumeAfterLeave);
|
|
4106
|
+
}
|
|
4107
|
+
function prepareLeavingTransitionHooks(previousInner, props, state, instance) {
|
|
4108
|
+
return setTransitionHooks(previousInner, resolveTransitionHooks(previousInner, props, state, instance));
|
|
4109
|
+
}
|
|
4110
|
+
function applyTransitionModeSwitch(leavingVNode, leavingHooks, getEnterHooks, props, state, resumeAfterLeave) {
|
|
4111
|
+
if (props.mode === "out-in") {
|
|
4112
|
+
state.isLeaving = true;
|
|
4113
|
+
leavingHooks.afterLeave = () => {
|
|
4114
|
+
state.isLeaving = false;
|
|
4115
|
+
resumeAfterLeave();
|
|
4116
|
+
delete leavingHooks.afterLeave;
|
|
4117
|
+
};
|
|
4118
|
+
return true;
|
|
4119
|
+
} else if (props.mode === "in-out" && getEnterHooks) {
|
|
4120
|
+
let delayedLeavingVNode = leavingVNode;
|
|
4121
|
+
leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => {
|
|
4122
|
+
const enterHooks = getEnterHooks();
|
|
4123
|
+
if (!enterHooks) {
|
|
4124
|
+
delayedLeave();
|
|
4125
|
+
return;
|
|
4126
|
+
}
|
|
4127
|
+
const vnode = delayedLeavingVNode;
|
|
4128
|
+
const leavingVNodesCache = getLeavingNodesForType(state, vnode);
|
|
4129
|
+
leavingVNodesCache[String(vnode.key)] = vnode;
|
|
4130
|
+
el[leaveCbKey] = () => {
|
|
4131
|
+
earlyRemove();
|
|
4132
|
+
el[leaveCbKey] = void 0;
|
|
4133
|
+
delete enterHooks.delayedLeave;
|
|
4134
|
+
delayedLeavingVNode = void 0;
|
|
4135
|
+
};
|
|
4136
|
+
enterHooks.delayedLeave = () => {
|
|
4137
|
+
delayedLeave();
|
|
4138
|
+
delete enterHooks.delayedLeave;
|
|
4139
|
+
delayedLeavingVNode = void 0;
|
|
4140
|
+
};
|
|
4141
|
+
};
|
|
4142
|
+
}
|
|
4143
|
+
return false;
|
|
4144
|
+
}
|
|
4012
4145
|
function setTransitionHooks(vnode, hooks) {
|
|
4013
|
-
if (vnode.shapeFlag & 6 && vnode.component)
|
|
4014
|
-
else {
|
|
4146
|
+
if (vnode.shapeFlag & 6 && vnode.component) {
|
|
4015
4147
|
vnode.transition = hooks;
|
|
4016
|
-
setTransitionHooks(vnode.component
|
|
4017
|
-
|
|
4018
|
-
|
|
4019
|
-
|
|
4020
|
-
|
|
4148
|
+
if (isVaporComponent(vnode.type)) getVaporInterface(vnode.component, vnode).setTransitionHooks(vnode.component, hooks);
|
|
4149
|
+
else {
|
|
4150
|
+
const subTree = vnode.component.subTree;
|
|
4151
|
+
return setTransitionHooks(isTeleport(subTree.type) ? getInnerChild$1(subTree) || subTree : subTree, hooks);
|
|
4152
|
+
}
|
|
4153
|
+
} else if (vnode.shapeFlag & 128) {
|
|
4154
|
+
const contentHooks = vnode.ssContent.transition = hooks.clone(vnode.ssContent);
|
|
4155
|
+
const fallbackHooks = vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);
|
|
4156
|
+
return vnode.suspense && vnode.suspense.activeBranch === vnode.ssFallback ? fallbackHooks : contentHooks;
|
|
4021
4157
|
} else vnode.transition = hooks;
|
|
4158
|
+
return hooks;
|
|
4022
4159
|
}
|
|
4023
4160
|
function getTransitionRawChildren(children, keepComment = false, parentKey) {
|
|
4024
4161
|
let ret = [];
|
|
@@ -4042,9 +4179,9 @@ function checkTransitionMode(mode) {
|
|
|
4042
4179
|
}
|
|
4043
4180
|
//#endregion
|
|
4044
4181
|
//#region packages/runtime-core/src/apiDefineComponent.ts
|
|
4045
|
-
|
|
4182
|
+
/*@__NO_SIDE_EFFECTS__*/
|
|
4046
4183
|
function defineComponent(options, extraOptions) {
|
|
4047
|
-
return isFunction(options) ? extend({ name: options.name }, extraOptions, { setup: options }) : options;
|
|
4184
|
+
return isFunction(options) ? /*@__PURE__*/ (() => extend({ name: options.name }, extraOptions, { setup: options }))() : options;
|
|
4048
4185
|
}
|
|
4049
4186
|
//#endregion
|
|
4050
4187
|
//#region packages/runtime-core/src/helpers/useId.ts
|
|
@@ -4141,15 +4278,16 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
|
|
|
4141
4278
|
if (rawRef.f) {
|
|
4142
4279
|
const existing = _isString ? canSetSetupRef(ref) ? setupState[ref] : refs[ref] : canSetRef(ref) || !rawRef.k ? ref.value : refs[rawRef.k];
|
|
4143
4280
|
if (isUnmount) isArray(existing) && remove(existing, refValue);
|
|
4144
|
-
else if (!isArray(existing))
|
|
4145
|
-
|
|
4146
|
-
|
|
4147
|
-
|
|
4148
|
-
|
|
4149
|
-
|
|
4150
|
-
|
|
4151
|
-
|
|
4152
|
-
|
|
4281
|
+
else if (!isArray(existing)) {
|
|
4282
|
+
if (_isString) {
|
|
4283
|
+
refs[ref] = [refValue];
|
|
4284
|
+
if (canSetSetupRef(ref)) setupState[ref] = refs[ref];
|
|
4285
|
+
} else {
|
|
4286
|
+
const newVal = [refValue];
|
|
4287
|
+
if (canSetRef(ref, rawRef.k)) ref.value = newVal;
|
|
4288
|
+
if (rawRef.k) refs[rawRef.k] = newVal;
|
|
4289
|
+
}
|
|
4290
|
+
} else if (!existing.includes(refValue)) existing.push(refValue);
|
|
4153
4291
|
} else if (_isString) {
|
|
4154
4292
|
refs[ref] = value;
|
|
4155
4293
|
if (canSetSetupRef(ref)) setupState[ref] = value;
|
|
@@ -4210,7 +4348,18 @@ const logMismatchError = () => {
|
|
|
4210
4348
|
hasLoggedMismatchError = true;
|
|
4211
4349
|
};
|
|
4212
4350
|
const isSVGContainer = (container) => container.namespaceURI.includes("svg") && container.tagName !== "foreignObject";
|
|
4213
|
-
const isMathMLContainer = (container) =>
|
|
4351
|
+
const isMathMLContainer = (container) => {
|
|
4352
|
+
if (!container.namespaceURI.includes("MathML")) return false;
|
|
4353
|
+
if (container.tagName !== "annotation-xml") return true;
|
|
4354
|
+
const encoding = container.getAttribute("encoding");
|
|
4355
|
+
return !encoding || !encoding.includes("html");
|
|
4356
|
+
};
|
|
4357
|
+
/**
|
|
4358
|
+
* Resolve the element namespace a container's children should be created in.
|
|
4359
|
+
* The live DOM is the source of truth, so this also covers containers that are
|
|
4360
|
+
* only known at runtime (interop boundaries, teleport targets).
|
|
4361
|
+
* @internal
|
|
4362
|
+
*/
|
|
4214
4363
|
const getContainerType = (container) => {
|
|
4215
4364
|
if (container.nodeType !== 1) return void 0;
|
|
4216
4365
|
if (isSVGContainer(container)) return "svg";
|
|
@@ -4236,7 +4385,7 @@ function createHydrationFunctions(rendererInternals) {
|
|
|
4236
4385
|
};
|
|
4237
4386
|
const hydrateNode = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized = false) => {
|
|
4238
4387
|
optimized = optimized || !!vnode.dynamicChildren;
|
|
4239
|
-
const isFragmentStart = isComment(node) && node.data === "[";
|
|
4388
|
+
const isFragmentStart = isComment(node) && (node.data === "[" || node.data === "(");
|
|
4240
4389
|
const onMismatch = () => handleMismatch(node, vnode, parentComponent, parentSuspense, slotScopeIds, isFragmentStart);
|
|
4241
4390
|
const { type, ref, shapeFlag, patchFlag } = vnode;
|
|
4242
4391
|
let domType = node.nodeType;
|
|
@@ -4252,11 +4401,12 @@ function createHydrationFunctions(rendererInternals) {
|
|
|
4252
4401
|
let nextNode = null;
|
|
4253
4402
|
switch (type) {
|
|
4254
4403
|
case Text:
|
|
4255
|
-
if (domType !== 3)
|
|
4256
|
-
|
|
4257
|
-
|
|
4258
|
-
|
|
4259
|
-
|
|
4404
|
+
if (domType !== 3) {
|
|
4405
|
+
if (vnode.children === "") {
|
|
4406
|
+
insert(vnode.el = createText(""), parentNode(node), node);
|
|
4407
|
+
nextNode = node;
|
|
4408
|
+
} else nextNode = onMismatch();
|
|
4409
|
+
} else {
|
|
4260
4410
|
if (node.data !== vnode.children) {
|
|
4261
4411
|
(process.env.NODE_ENV !== "production" || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(`Hydration text mismatch in`, node.parentNode, `\n - rendered on server: ${JSON.stringify(node.data)}\n - expected on client: ${JSON.stringify(vnode.children)}`);
|
|
4262
4412
|
logMismatchError();
|
|
@@ -4293,45 +4443,35 @@ function createHydrationFunctions(rendererInternals) {
|
|
|
4293
4443
|
else nextNode = hydrateFragment(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized);
|
|
4294
4444
|
break;
|
|
4295
4445
|
case VaporSlot:
|
|
4296
|
-
nextNode = getVaporInterface(parentComponent, vnode).hydrateSlot(vnode, node, parentComponent, parentSuspense);
|
|
4446
|
+
nextNode = getVaporInterface(parentComponent, vnode).hydrateSlot(vnode, node, parentComponent, parentSuspense, slotScopeIds);
|
|
4297
4447
|
break;
|
|
4298
|
-
default: if (shapeFlag & 1)
|
|
4299
|
-
|
|
4300
|
-
|
|
4448
|
+
default: if (shapeFlag & 1) {
|
|
4449
|
+
if ((domType !== 1 || vnode.type.toLowerCase() !== node.tagName.toLowerCase()) && !isTemplateNode(node)) nextNode = onMismatch();
|
|
4450
|
+
else nextNode = hydrateElement(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized);
|
|
4451
|
+
} else if (shapeFlag & 6) {
|
|
4301
4452
|
vnode.slotScopeIds = slotScopeIds;
|
|
4302
4453
|
const container = parentNode(node);
|
|
4303
4454
|
if (isFragmentStart) nextNode = locateClosingAnchor(node);
|
|
4304
4455
|
else if (isComment(node) && node.data === "teleport start") nextNode = locateClosingAnchor(node, node.data, "teleport end");
|
|
4305
4456
|
else nextNode = nextSibling(node);
|
|
4306
|
-
if (vnode.type.__vapor)
|
|
4307
|
-
|
|
4308
|
-
getVaporInterface(parentComponent, vnode).hydrate(vnode, node, container, nextNode, parentComponent, parentSuspense, () => {
|
|
4309
|
-
if (vnode.dirs) {
|
|
4310
|
-
invokeDirectiveHook(vnode, null, parentComponent, "created");
|
|
4311
|
-
invokeDirectiveHook(vnode, null, parentComponent, "beforeMount");
|
|
4312
|
-
}
|
|
4313
|
-
}, () => {
|
|
4314
|
-
if (vnodeBeforeMountHook) invokeVNodeHook(vnodeBeforeMountHook, parentComponent, vnode);
|
|
4315
|
-
});
|
|
4316
|
-
if (vnode.dirs) queueEffectWithSuspense(() => invokeDirectiveHook(vnode, null, parentComponent, "mounted"), void 0, parentSuspense);
|
|
4317
|
-
const vnodeMountedHook = !isAsyncWrapper(vnode) && vnode.props && vnode.props.onVnodeMounted;
|
|
4318
|
-
if (vnodeMountedHook) queueEffectWithSuspense(() => invokeVNodeHook(vnodeMountedHook, parentComponent, vnode), void 0, parentSuspense);
|
|
4319
|
-
} else {
|
|
4457
|
+
if (vnode.type.__vapor) getVaporInterface(parentComponent, vnode).hydrate(vnode, node, container, nextNode, parentComponent, parentSuspense);
|
|
4458
|
+
else {
|
|
4320
4459
|
mountComponent(vnode, container, null, parentComponent, parentSuspense, getContainerType(container), optimized);
|
|
4321
4460
|
const component = vnode.component;
|
|
4322
|
-
if (isAsyncWrapper(vnode)
|
|
4461
|
+
if (!component.subTree && (isAsyncWrapper(vnode) || component.asyncDep)) {
|
|
4323
4462
|
let subTree;
|
|
4324
4463
|
if (isFragmentStart) {
|
|
4325
|
-
subTree = createVNode(
|
|
4464
|
+
subTree = createVNode(Static);
|
|
4326
4465
|
subTree.anchor = nextNode ? nextNode.previousSibling : container.lastChild;
|
|
4327
|
-
} else subTree = node.nodeType === 3 ? createTextVNode("") : createVNode("div");
|
|
4466
|
+
} else subTree = node.nodeType === 3 ? createTextVNode("") : createVNode(node.nodeType === 8 ? Comment : "div");
|
|
4328
4467
|
subTree.el = node;
|
|
4329
4468
|
component.subTree = subTree;
|
|
4330
4469
|
}
|
|
4331
4470
|
}
|
|
4332
|
-
} else if (shapeFlag & 64)
|
|
4333
|
-
|
|
4334
|
-
|
|
4471
|
+
} else if (shapeFlag & 64) {
|
|
4472
|
+
if (domType !== 8) nextNode = onMismatch();
|
|
4473
|
+
else nextNode = vnode.type.hydrate(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, rendererInternals, hydrateChildren);
|
|
4474
|
+
} else if (shapeFlag & 128) nextNode = vnode.type.hydrate(node, vnode, parentComponent, parentSuspense, getContainerType(parentNode(node)), slotScopeIds, optimized, rendererInternals, hydrateNode);
|
|
4335
4475
|
else if (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) warn$1("Invalid HostVNode type:", type, `(${typeof type})`);
|
|
4336
4476
|
}
|
|
4337
4477
|
if (ref != null) setRef(ref, null, parentSuspense, vnode);
|
|
@@ -4385,7 +4525,10 @@ function createHydrationFunctions(rendererInternals) {
|
|
|
4385
4525
|
const namespace = el.namespaceURI.includes("svg") ? "svg" : el.namespaceURI.includes("MathML") ? "mathml" : void 0;
|
|
4386
4526
|
for (const key in props) {
|
|
4387
4527
|
if ((!!(process.env.NODE_ENV !== "production") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && !(dirs && dirs.some((d) => d.dir.created)) && propHasMismatch(el, key, props[key], vnode, parentComponent)) logMismatchError();
|
|
4388
|
-
if (forcePatch && (key.endsWith("value") || key === "indeterminate") || isOn(key) && !isReservedProp(key) || key[0] === "." || isCustomElement && !isReservedProp(key) || dynamicProps && dynamicProps.includes(key))
|
|
4528
|
+
if (forcePatch && (key.endsWith("value") || key === "indeterminate") || isOn(key) && !isReservedProp(key) || key[0] === "." || isCustomElement && !isReservedProp(key) || dynamicProps && dynamicProps.includes(key)) {
|
|
4529
|
+
if (isUnchangedResourceProp(el, key, props[key])) continue;
|
|
4530
|
+
patchProp(el, key, null, props[key], namespace, parentComponent);
|
|
4531
|
+
}
|
|
4389
4532
|
}
|
|
4390
4533
|
} else if (props.onClick) patchProp(el, "onClick", null, props.onClick, void 0, parentComponent);
|
|
4391
4534
|
else if (patchFlag & 4 && /* @__PURE__ */ isReactive(props.style)) for (const key in props.style) props.style[key];
|
|
@@ -4435,8 +4578,9 @@ function createHydrationFunctions(rendererInternals) {
|
|
|
4435
4578
|
const { slotScopeIds: fragmentSlotScopeIds } = vnode;
|
|
4436
4579
|
if (fragmentSlotScopeIds) slotScopeIds = slotScopeIds ? slotScopeIds.concat(fragmentSlotScopeIds) : fragmentSlotScopeIds;
|
|
4437
4580
|
const container = parentNode(node);
|
|
4438
|
-
const
|
|
4439
|
-
|
|
4581
|
+
const first = nextSibling(node);
|
|
4582
|
+
const next = vnode.vo && node.data === "(" ? getVaporInterface(parentComponent, vnode).hydrateSlotOutlet(vnode, node, parentComponent, parentSuspense, slotScopeIds) : hydrateChildren(first, vnode, container, parentComponent, parentSuspense, slotScopeIds, optimized);
|
|
4583
|
+
if (next && isComment(next) && next.data === (node.data === "(" ? ")" : "]")) return nextSibling(vnode.anchor = next);
|
|
4440
4584
|
else {
|
|
4441
4585
|
logMismatchError();
|
|
4442
4586
|
insert(vnode.anchor = createComment(`]`), container, next);
|
|
@@ -4445,7 +4589,7 @@ function createHydrationFunctions(rendererInternals) {
|
|
|
4445
4589
|
};
|
|
4446
4590
|
const handleMismatch = (node, vnode, parentComponent, parentSuspense, slotScopeIds, isFragment) => {
|
|
4447
4591
|
if (!isNodeMismatchAllowed(node, vnode)) {
|
|
4448
|
-
(process.env.NODE_ENV !== "production" || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(`Hydration node mismatch:\n- rendered on server:`, node, node.nodeType === 3 ? `(text)` : isComment(node) && node.data === "[" ? `(start of fragment)` : ``, `\n- expected on client:`, vnode.type);
|
|
4592
|
+
(process.env.NODE_ENV !== "production" || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(`Hydration node mismatch:\n- rendered on server:`, node, node.nodeType === 3 ? `(text)` : isComment(node) && (node.data === "[" || node.data === "(") ? `(start of fragment)` : ``, `\n- expected on client:`, vnode.type);
|
|
4449
4593
|
logMismatchError();
|
|
4450
4594
|
}
|
|
4451
4595
|
vnode.el = null;
|
|
@@ -4461,20 +4605,22 @@ function createHydrationFunctions(rendererInternals) {
|
|
|
4461
4605
|
const container = parentNode(node);
|
|
4462
4606
|
remove(node);
|
|
4463
4607
|
patch(null, vnode, container, next, parentComponent, parentSuspense, getContainerType(container), slotScopeIds);
|
|
4464
|
-
if (parentComponent) {
|
|
4608
|
+
if (parentComponent && parentComponent.vnode) {
|
|
4465
4609
|
parentComponent.vnode.el = vnode.el;
|
|
4466
4610
|
updateHOCHostEl(parentComponent, vnode.el);
|
|
4467
4611
|
}
|
|
4468
4612
|
return next;
|
|
4469
4613
|
};
|
|
4470
|
-
const locateClosingAnchor = (node, open = "[", close = "]") => {
|
|
4614
|
+
const locateClosingAnchor = (node, open = node && isComment(node) && node.data === "(" ? "(" : "[", close = open === "(" ? ")" : "]") => {
|
|
4471
4615
|
let match = 0;
|
|
4472
4616
|
while (node) {
|
|
4473
4617
|
node = nextSibling(node);
|
|
4474
4618
|
if (node && isComment(node)) {
|
|
4475
4619
|
if (node.data === open) match++;
|
|
4476
|
-
if (node.data === close)
|
|
4477
|
-
|
|
4620
|
+
if (node.data === close) {
|
|
4621
|
+
if (match === 0) return nextSibling(node);
|
|
4622
|
+
else match--;
|
|
4623
|
+
}
|
|
4478
4624
|
}
|
|
4479
4625
|
}
|
|
4480
4626
|
return node;
|
|
@@ -4484,7 +4630,7 @@ function createHydrationFunctions(rendererInternals) {
|
|
|
4484
4630
|
if (parentNode) parentNode.replaceChild(newNode, oldNode);
|
|
4485
4631
|
let parent = parentComponent;
|
|
4486
4632
|
while (parent) {
|
|
4487
|
-
if (parent.vnode.el === oldNode) parent.vnode.el = parent.subTree.el = newNode;
|
|
4633
|
+
if (parent.vnode && parent.vnode.el === oldNode) parent.vnode.el = parent.subTree.el = newNode;
|
|
4488
4634
|
parent = parent.parent;
|
|
4489
4635
|
}
|
|
4490
4636
|
};
|
|
@@ -4493,6 +4639,16 @@ function createHydrationFunctions(rendererInternals) {
|
|
|
4493
4639
|
const isTemplateNode = (node) => {
|
|
4494
4640
|
return node.nodeType === 1 && node.tagName === "TEMPLATE";
|
|
4495
4641
|
};
|
|
4642
|
+
const resourceProps = /*@__PURE__*/ new Set([
|
|
4643
|
+
"src",
|
|
4644
|
+
"srcset",
|
|
4645
|
+
"href",
|
|
4646
|
+
"poster"
|
|
4647
|
+
]);
|
|
4648
|
+
function isUnchangedResourceProp(el, key, clientValue) {
|
|
4649
|
+
if (!resourceProps.has(key)) return false;
|
|
4650
|
+
return el.getAttribute(key) === (clientValue == null ? null : `${clientValue}`);
|
|
4651
|
+
}
|
|
4496
4652
|
/**
|
|
4497
4653
|
* Dev only
|
|
4498
4654
|
*/
|
|
@@ -4536,7 +4692,10 @@ function propHasMismatch(el, key, clientValue, vnode, instance) {
|
|
|
4536
4692
|
function getAttributeMismatch(el, key, clientValue) {
|
|
4537
4693
|
let actual;
|
|
4538
4694
|
let expected;
|
|
4539
|
-
if (
|
|
4695
|
+
if (key === "hidden") {
|
|
4696
|
+
actual = normalizeHiddenValue(el.getAttribute(key));
|
|
4697
|
+
expected = normalizeHiddenValue(clientValue);
|
|
4698
|
+
} else if (isBooleanAttr(key)) {
|
|
4540
4699
|
actual = el.hasAttribute(key);
|
|
4541
4700
|
expected = includeBooleanAttr(clientValue);
|
|
4542
4701
|
} else if (clientValue == null) {
|
|
@@ -4564,6 +4723,11 @@ function warnPropMismatch(el, mismatchKey, mismatchType, actual, expected) {
|
|
|
4564
4723
|
}
|
|
4565
4724
|
return false;
|
|
4566
4725
|
}
|
|
4726
|
+
function normalizeHiddenValue(value) {
|
|
4727
|
+
if (!isRenderableAttrValue(value)) return false;
|
|
4728
|
+
if (isString(value)) return value.toLowerCase() === "until-found" ? "until-found" : "";
|
|
4729
|
+
return includeBooleanAttr(value) ? "" : false;
|
|
4730
|
+
}
|
|
4567
4731
|
function toClassSet(str) {
|
|
4568
4732
|
return new Set(str.trim().split(/\s+/));
|
|
4569
4733
|
}
|
|
@@ -4714,16 +4878,18 @@ const hydrateOnInteraction = (interactions = []) => (hydrate, forEach) => {
|
|
|
4714
4878
|
return teardown;
|
|
4715
4879
|
};
|
|
4716
4880
|
function forEachElement(node, cb) {
|
|
4717
|
-
if (isComment(node) && node.data === "[") {
|
|
4881
|
+
if (isComment(node) && (node.data === "[" || node.data === "(")) {
|
|
4882
|
+
const open = node.data;
|
|
4883
|
+
const close = open === "[" ? "]" : ")";
|
|
4718
4884
|
let depth = 1;
|
|
4719
4885
|
let next = node.nextSibling;
|
|
4720
4886
|
while (next) {
|
|
4721
4887
|
if (next.nodeType === 1) {
|
|
4722
4888
|
if (cb(next) === false) break;
|
|
4723
4889
|
} else if (isComment(next)) {
|
|
4724
|
-
if (next.data ===
|
|
4890
|
+
if (next.data === close) {
|
|
4725
4891
|
if (--depth === 0) break;
|
|
4726
|
-
} else if (next.data ===
|
|
4892
|
+
} else if (next.data === open) depth++;
|
|
4727
4893
|
}
|
|
4728
4894
|
next = next.nextSibling;
|
|
4729
4895
|
}
|
|
@@ -4732,14 +4898,14 @@ function forEachElement(node, cb) {
|
|
|
4732
4898
|
//#endregion
|
|
4733
4899
|
//#region packages/runtime-core/src/apiAsyncComponent.ts
|
|
4734
4900
|
const isAsyncWrapper = (i) => !!i.type.__asyncLoader;
|
|
4735
|
-
|
|
4901
|
+
/*@__NO_SIDE_EFFECTS__*/
|
|
4736
4902
|
function defineAsyncComponent(source) {
|
|
4737
4903
|
const { load, getResolvedComp, setPendingRequest, source: { loadingComponent, errorComponent, delay, hydrate: hydrateStrategy, timeout, suspensible = true } } = createAsyncComponentContext(source);
|
|
4738
4904
|
return /* @__PURE__ */ defineComponent({
|
|
4739
4905
|
name: "AsyncComponentWrapper",
|
|
4740
4906
|
__asyncLoader: load,
|
|
4741
4907
|
__asyncHydrate(el, instance, hydrate) {
|
|
4742
|
-
performAsyncHydrate(el, instance, hydrate, getResolvedComp, load, hydrateStrategy);
|
|
4908
|
+
performAsyncHydrate(el, instance, hydrate, getResolvedComp, load, hydrateStrategy, true);
|
|
4743
4909
|
},
|
|
4744
4910
|
get __asyncResolved() {
|
|
4745
4911
|
return getResolvedComp();
|
|
@@ -4858,10 +5024,10 @@ const useAsyncComponentState = (delay, timeout, onError, instance = currentInsta
|
|
|
4858
5024
|
* shared between core and vapor
|
|
4859
5025
|
* @internal
|
|
4860
5026
|
*/
|
|
4861
|
-
function performAsyncHydrate(el, instance, hydrate, getResolvedComp, load, hydrateStrategy) {
|
|
5027
|
+
function performAsyncHydrate(el, instance, hydrate, getResolvedComp, load, hydrateStrategy, skipIfUpdated) {
|
|
4862
5028
|
const wasConnected = el.isConnected;
|
|
4863
5029
|
let patched = false;
|
|
4864
|
-
(instance.bu || (instance.bu = [])).push(() => patched = true);
|
|
5030
|
+
if (skipIfUpdated) (instance.bu || (instance.bu = [])).push(() => patched = true);
|
|
4865
5031
|
const performHydrate = () => {
|
|
4866
5032
|
if (patched) {
|
|
4867
5033
|
if (!!(process.env.NODE_ENV !== "production")) {
|
|
@@ -4951,10 +5117,13 @@ const KeepAliveImpl = {
|
|
|
4951
5117
|
});
|
|
4952
5118
|
let pendingCacheKey = null;
|
|
4953
5119
|
const cacheSubtree = () => {
|
|
4954
|
-
if (pendingCacheKey != null)
|
|
4955
|
-
|
|
4956
|
-
|
|
4957
|
-
|
|
5120
|
+
if (pendingCacheKey != null) {
|
|
5121
|
+
if (isSuspense(keepAliveInstance.subTree.type)) queuePostRenderEffect(() => {
|
|
5122
|
+
const vnode = getInnerChild(keepAliveInstance.subTree);
|
|
5123
|
+
if (vnode.component) cache.set(pendingCacheKey, vnode);
|
|
5124
|
+
}, void 0, keepAliveInstance.subTree.suspense);
|
|
5125
|
+
else cache.set(pendingCacheKey, getInnerChild(keepAliveInstance.subTree));
|
|
5126
|
+
}
|
|
4958
5127
|
};
|
|
4959
5128
|
onMounted(cacheSubtree);
|
|
4960
5129
|
onUpdated(cacheSubtree);
|
|
@@ -5025,7 +5194,7 @@ const decorate$2 = (t) => {
|
|
|
5025
5194
|
t.__isBuiltIn = true;
|
|
5026
5195
|
return t;
|
|
5027
5196
|
};
|
|
5028
|
-
const KeepAlive =
|
|
5197
|
+
const KeepAlive = /*@__PURE__*/ decorate$2(KeepAliveImpl);
|
|
5029
5198
|
function matches(pattern, name) {
|
|
5030
5199
|
if (isArray(pattern)) return pattern.some((p) => matches(p, name));
|
|
5031
5200
|
else if (isString(pattern)) return pattern.split(",").includes(name);
|
|
@@ -5116,7 +5285,7 @@ function injectHook(type, hook, target = currentInstance, prepend = false) {
|
|
|
5116
5285
|
try {
|
|
5117
5286
|
return callWithAsyncErrorHandling(hook, target, type, args);
|
|
5118
5287
|
} finally {
|
|
5119
|
-
|
|
5288
|
+
restoreCurrentInstance(prev);
|
|
5120
5289
|
setActiveSub(prevSub);
|
|
5121
5290
|
}
|
|
5122
5291
|
});
|
|
@@ -5241,16 +5410,17 @@ function compatH(type, propsOrChildren, children) {
|
|
|
5241
5410
|
}
|
|
5242
5411
|
const l = arguments.length;
|
|
5243
5412
|
const is2ndArgArrayChildren = isArray(propsOrChildren);
|
|
5244
|
-
if (l === 2 || is2ndArgArrayChildren)
|
|
5245
|
-
if (
|
|
5246
|
-
|
|
5247
|
-
|
|
5248
|
-
|
|
5413
|
+
if (l === 2 || is2ndArgArrayChildren) {
|
|
5414
|
+
if (isObject(propsOrChildren) && !is2ndArgArrayChildren) {
|
|
5415
|
+
if (isVNode(propsOrChildren)) return convertLegacySlots(createVNode(type, null, [propsOrChildren]));
|
|
5416
|
+
return convertLegacySlots(convertLegacyDirectives(createVNode(type, convertLegacyProps(propsOrChildren, type)), propsOrChildren));
|
|
5417
|
+
} else return convertLegacySlots(createVNode(type, null, propsOrChildren));
|
|
5418
|
+
} else {
|
|
5249
5419
|
if (isVNode(children)) children = [children];
|
|
5250
5420
|
return convertLegacySlots(convertLegacyDirectives(createVNode(type, convertLegacyProps(propsOrChildren, type), children), propsOrChildren));
|
|
5251
5421
|
}
|
|
5252
5422
|
}
|
|
5253
|
-
const skipLegacyRootLevelProps =
|
|
5423
|
+
const skipLegacyRootLevelProps = /*@__PURE__*/ makeMap("staticStyle,staticClass,directives,model,hook");
|
|
5254
5424
|
function convertLegacyProps(legacyProps, type) {
|
|
5255
5425
|
if (!legacyProps) return null;
|
|
5256
5426
|
const converted = {};
|
|
@@ -5262,8 +5432,10 @@ function convertLegacyProps(legacyProps, type) {
|
|
|
5262
5432
|
if (key === "nativeOn") handlerKey += `Native`;
|
|
5263
5433
|
const existing = converted[handlerKey];
|
|
5264
5434
|
const incoming = listeners[event];
|
|
5265
|
-
if (existing !== incoming)
|
|
5266
|
-
|
|
5435
|
+
if (existing !== incoming) {
|
|
5436
|
+
if (existing) converted[handlerKey] = [].concat(existing, incoming);
|
|
5437
|
+
else converted[handlerKey] = incoming;
|
|
5438
|
+
}
|
|
5267
5439
|
}
|
|
5268
5440
|
} else if (!skipLegacyRootLevelProps(key)) converted[key] = legacyProps[key];
|
|
5269
5441
|
if (legacyProps.staticClass) converted.class = normalizeClass([legacyProps.staticClass, converted.class]);
|
|
@@ -5362,7 +5534,7 @@ function convertLegacyFunctionalComponent(comp) {
|
|
|
5362
5534
|
const legacyFn = comp.render;
|
|
5363
5535
|
const Func = (props, ctx) => {
|
|
5364
5536
|
const instance = getCurrentInstance();
|
|
5365
|
-
|
|
5537
|
+
const legacyCtx = {
|
|
5366
5538
|
props,
|
|
5367
5539
|
children: instance.vnode.children || [],
|
|
5368
5540
|
data: instance.vnode.props || {},
|
|
@@ -5382,7 +5554,8 @@ function convertLegacyFunctionalComponent(comp) {
|
|
|
5382
5554
|
}
|
|
5383
5555
|
return {};
|
|
5384
5556
|
}
|
|
5385
|
-
}
|
|
5557
|
+
};
|
|
5558
|
+
return legacyFn(compatH, legacyCtx);
|
|
5386
5559
|
};
|
|
5387
5560
|
Func.props = comp.props;
|
|
5388
5561
|
Func.displayName = comp.name;
|
|
@@ -5411,23 +5584,25 @@ function renderList(source, renderItem, cache, index) {
|
|
|
5411
5584
|
}
|
|
5412
5585
|
ret = new Array(source.length);
|
|
5413
5586
|
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]);
|
|
5414
|
-
} else if (typeof source === "number")
|
|
5415
|
-
|
|
5416
|
-
|
|
5417
|
-
|
|
5418
|
-
|
|
5419
|
-
|
|
5420
|
-
|
|
5421
|
-
else if (isObject(source)) if (source[Symbol.iterator]) ret = Array.from(source, (item, i) => renderItem(item, i, void 0, cached && cached[i]));
|
|
5422
|
-
else {
|
|
5423
|
-
const keys = Object.keys(source);
|
|
5424
|
-
ret = new Array(keys.length);
|
|
5425
|
-
for (let i = 0, l = keys.length; i < l; i++) {
|
|
5426
|
-
const key = keys[i];
|
|
5427
|
-
ret[i] = renderItem(source[key], key, i, cached && cached[i]);
|
|
5587
|
+
} else if (typeof source === "number") {
|
|
5588
|
+
if (!!(process.env.NODE_ENV !== "production") && (!Number.isInteger(source) || source < 0)) {
|
|
5589
|
+
warn$1(`The v-for range expects a positive integer value but got ${source}.`);
|
|
5590
|
+
ret = [];
|
|
5591
|
+
} else {
|
|
5592
|
+
ret = new Array(source);
|
|
5593
|
+
for (let i = 0; i < source; i++) ret[i] = renderItem(i + 1, i, void 0, cached && cached[i]);
|
|
5428
5594
|
}
|
|
5429
|
-
}
|
|
5430
|
-
|
|
5595
|
+
} else if (isObject(source)) {
|
|
5596
|
+
if (source[Symbol.iterator]) ret = Array.from(source, (item, i) => renderItem(item, i, void 0, cached && cached[i]));
|
|
5597
|
+
else {
|
|
5598
|
+
const keys = Object.keys(source);
|
|
5599
|
+
ret = new Array(keys.length);
|
|
5600
|
+
for (let i = 0, l = keys.length; i < l; i++) {
|
|
5601
|
+
const key = keys[i];
|
|
5602
|
+
ret[i] = renderItem(source[key], key, i, cached && cached[i]);
|
|
5603
|
+
}
|
|
5604
|
+
}
|
|
5605
|
+
} else ret = [];
|
|
5431
5606
|
if (cache) cache[index] = ret;
|
|
5432
5607
|
return ret;
|
|
5433
5608
|
}
|
|
@@ -5452,18 +5627,45 @@ function createSlots(slots, dynamicSlots) {
|
|
|
5452
5627
|
//#endregion
|
|
5453
5628
|
//#region packages/runtime-core/src/helpers/renderSlot.ts
|
|
5454
5629
|
/**
|
|
5630
|
+
* Links a slot function to its raw vapor slot: a raw vapor slot carries
|
|
5631
|
+
* itself, and the wrapper the interop slots proxy hands out carries the raw
|
|
5632
|
+
* slot it wraps — one lookup answers both "is this a vapor slot" and
|
|
5633
|
+
* "which one". Internal to vapor interop.
|
|
5634
|
+
*/
|
|
5635
|
+
const rawVaporSlotKey = Symbol(`rawVaporSlot`);
|
|
5636
|
+
/**
|
|
5637
|
+
* Invokes a VDOM slot fallback under the outlet owner that produced it, the
|
|
5638
|
+
* way `renderSlot` would have rendered it inline. Vapor interop invokes
|
|
5639
|
+
* fallbacks late, outside any render, so it passes the owner recorded on the
|
|
5640
|
+
* vapor slot vnode. Internal to vapor interop.
|
|
5641
|
+
*/
|
|
5642
|
+
function invokeSlotFallback(fallback, owner) {
|
|
5643
|
+
if (!owner) return fallback();
|
|
5644
|
+
const prev = setCurrentRenderingInstance(owner);
|
|
5645
|
+
const prevStackSize = blockStack.length;
|
|
5646
|
+
try {
|
|
5647
|
+
return fallback();
|
|
5648
|
+
} finally {
|
|
5649
|
+
for (let i = blockStack.length; i > prevStackSize; i--) closeBlock();
|
|
5650
|
+
setCurrentRenderingInstance(prev);
|
|
5651
|
+
}
|
|
5652
|
+
}
|
|
5653
|
+
/**
|
|
5455
5654
|
* Compiler runtime helper for rendering `<slot/>`
|
|
5456
5655
|
* @private
|
|
5457
5656
|
*/
|
|
5458
|
-
function renderSlot(slots, name, props
|
|
5657
|
+
function renderSlot(slots, name, props, fallback, noSlotted, branchKey) {
|
|
5658
|
+
if (props == null) props = {};
|
|
5459
5659
|
let slot = slots[name];
|
|
5460
|
-
|
|
5461
|
-
const vaporSlot = slot && (slot.__vs || (slot.__vapor ? slot : null));
|
|
5660
|
+
const vaporSlot = slot && slot[rawVaporSlotKey];
|
|
5462
5661
|
if (vaporSlot) {
|
|
5463
5662
|
const ret = (openBlock(), createBlock(VaporSlot, props));
|
|
5464
5663
|
ret.vs = {
|
|
5465
5664
|
slot: vaporSlot,
|
|
5466
|
-
fallback
|
|
5665
|
+
outlets: fallback ? [{
|
|
5666
|
+
fallback,
|
|
5667
|
+
owner: currentRenderingInstance
|
|
5668
|
+
}] : void 0
|
|
5467
5669
|
};
|
|
5468
5670
|
if (!noSlotted && ret.scopeId) ret.slotScopeIds = [ret.scopeId + "-s"];
|
|
5469
5671
|
return ret;
|
|
@@ -5484,9 +5686,15 @@ function renderSlot(slots, name, props = {}, fallback, noSlotted, branchKey) {
|
|
|
5484
5686
|
let rendered;
|
|
5485
5687
|
try {
|
|
5486
5688
|
const validSlotContent = slot && ensureValidVNode(slot(props));
|
|
5487
|
-
|
|
5689
|
+
let attached = false;
|
|
5690
|
+
if (fallback && validSlotContent && currentRenderingInstance) {
|
|
5691
|
+
const interop = currentRenderingInstance.appContext.vapor;
|
|
5692
|
+
if (interop) attached = interop.attachSlotOutlet(validSlotContent, fallback, currentRenderingInstance);
|
|
5693
|
+
}
|
|
5488
5694
|
const slotKey = props.key || branchKey || validSlotContent && validSlotContent.key;
|
|
5489
5695
|
rendered = createBlock(Fragment, { key: (slotKey && !isSymbol(slotKey) ? slotKey : `_${name}`) + (!validSlotContent && fallback ? "_fb" : "") }, validSlotContent || (fallback ? fallback() : []), validSlotContent && slots._ === 1 ? 64 : -2);
|
|
5696
|
+
if (!validSlotContent && fallback) rendered.shapeFlag |= 1024;
|
|
5697
|
+
if (attached) rendered.vo = true;
|
|
5490
5698
|
} catch (err) {
|
|
5491
5699
|
for (let i = blockStack.length; i > prevStackSize; i--) closeBlock();
|
|
5492
5700
|
throw err;
|
|
@@ -5504,10 +5712,6 @@ function ensureValidVNode(vnodes) {
|
|
|
5504
5712
|
return true;
|
|
5505
5713
|
}) ? vnodes : null;
|
|
5506
5714
|
}
|
|
5507
|
-
function ensureVaporSlotFallback(vnodes, fallback) {
|
|
5508
|
-
let vaporSlot;
|
|
5509
|
-
if (vnodes && vnodes.length === 1 && isVNode(vnodes[0]) && (vaporSlot = vnodes[0].vs)) vaporSlot.outletFallback = fallback;
|
|
5510
|
-
}
|
|
5511
5715
|
//#endregion
|
|
5512
5716
|
//#region packages/runtime-core/src/helpers/toHandlers.ts
|
|
5513
5717
|
/**
|
|
@@ -5566,12 +5770,14 @@ function legacyResolveScopedSlots(fns, raw, hasDynamicKeys) {
|
|
|
5566
5770
|
function mapKeyToName(slots) {
|
|
5567
5771
|
for (let i = 0; i < slots.length; i++) {
|
|
5568
5772
|
const fn = slots[i];
|
|
5569
|
-
if (fn)
|
|
5570
|
-
|
|
5773
|
+
if (fn) {
|
|
5774
|
+
if (isArray(fn)) mapKeyToName(fn);
|
|
5775
|
+
else fn.name = fn.key || "default";
|
|
5776
|
+
}
|
|
5571
5777
|
}
|
|
5572
5778
|
return slots;
|
|
5573
5779
|
}
|
|
5574
|
-
const staticCacheMap =
|
|
5780
|
+
const staticCacheMap = /*@__PURE__*/ new WeakMap();
|
|
5575
5781
|
function legacyRenderStatic(instance, index) {
|
|
5576
5782
|
let cache = staticCacheMap.get(instance);
|
|
5577
5783
|
if (!cache) staticCacheMap.set(instance, cache = []);
|
|
@@ -5704,11 +5910,38 @@ const getPublicInstance = (i) => {
|
|
|
5704
5910
|
if (isStatefulComponent(i)) return getComponentPublicInstance(i);
|
|
5705
5911
|
return getPublicInstance(i.parent);
|
|
5706
5912
|
};
|
|
5913
|
+
const resolveDevRootEl = (vnode) => {
|
|
5914
|
+
let found = false;
|
|
5915
|
+
while (true) {
|
|
5916
|
+
if (vnode.patchFlag > 0 && vnode.patchFlag & 2048) {
|
|
5917
|
+
const root = filterSingleRoot(vnode.children);
|
|
5918
|
+
if (!root) return;
|
|
5919
|
+
vnode = root;
|
|
5920
|
+
found = true;
|
|
5921
|
+
continue;
|
|
5922
|
+
}
|
|
5923
|
+
const component = vnode.component;
|
|
5924
|
+
if (component && component.subTree) {
|
|
5925
|
+
vnode = component.subTree;
|
|
5926
|
+
continue;
|
|
5927
|
+
}
|
|
5928
|
+
const suspense = vnode.suspense;
|
|
5929
|
+
if (suspense && suspense.activeBranch) {
|
|
5930
|
+
vnode = suspense.activeBranch;
|
|
5931
|
+
continue;
|
|
5932
|
+
}
|
|
5933
|
+
return found ? vnode.el : void 0;
|
|
5934
|
+
}
|
|
5935
|
+
};
|
|
5936
|
+
const getDevRootFragmentEl = (i) => {
|
|
5937
|
+
const el = i.subTree && resolveDevRootEl(i.subTree);
|
|
5938
|
+
return el === void 0 ? i.vnode.el : el;
|
|
5939
|
+
};
|
|
5707
5940
|
let publicPropertiesMap;
|
|
5708
5941
|
const getPublicPropertiesMap = () => {
|
|
5709
5942
|
if (!publicPropertiesMap) publicPropertiesMap = extend(Object.create(null), {
|
|
5710
5943
|
$: (i) => i,
|
|
5711
|
-
$el: (i) => i.vnode.el,
|
|
5944
|
+
$el: (i) => !!(process.env.NODE_ENV !== "production") ? getDevRootFragmentEl(i) : i.vnode.el,
|
|
5712
5945
|
$data: (i) => i.data,
|
|
5713
5946
|
$props: (i) => !!(process.env.NODE_ENV !== "production") ? /* @__PURE__ */ shallowReadonly(i.props) : i.props,
|
|
5714
5947
|
$attrs: (i) => !!(process.env.NODE_ENV !== "production") ? /* @__PURE__ */ shallowReadonly(i.attrs) : i.attrs,
|
|
@@ -5821,7 +6054,7 @@ if (!!(process.env.NODE_ENV !== "production") && true) PublicInstanceProxyHandle
|
|
|
5821
6054
|
warn$1("Avoid app logic that relies on enumerating keys on a component instance. The keys will be empty in production mode to avoid performance overhead.");
|
|
5822
6055
|
return Reflect.ownKeys(target);
|
|
5823
6056
|
};
|
|
5824
|
-
const RuntimeCompiledPublicInstanceProxyHandlers =
|
|
6057
|
+
const RuntimeCompiledPublicInstanceProxyHandlers = /*@__PURE__*/ extend({}, PublicInstanceProxyHandlers, {
|
|
5825
6058
|
get(target, key) {
|
|
5826
6059
|
if (key === Symbol.unscopables) return;
|
|
5827
6060
|
return PublicInstanceProxyHandlers.get(target, key, target);
|
|
@@ -6006,12 +6239,13 @@ function mergeDefaults(raw, defaults) {
|
|
|
6006
6239
|
for (const key in defaults) {
|
|
6007
6240
|
if (key.startsWith("__skip")) continue;
|
|
6008
6241
|
let opt = props[key];
|
|
6009
|
-
if (opt)
|
|
6010
|
-
|
|
6011
|
-
|
|
6012
|
-
|
|
6013
|
-
|
|
6014
|
-
|
|
6242
|
+
if (opt) {
|
|
6243
|
+
if (isArray(opt) || isFunction(opt)) opt = props[key] = {
|
|
6244
|
+
type: opt,
|
|
6245
|
+
default: defaults[key]
|
|
6246
|
+
};
|
|
6247
|
+
else opt.default = defaults[key];
|
|
6248
|
+
} else if (opt === null) opt = props[key] = { default: defaults[key] };
|
|
6015
6249
|
else if (!!(process.env.NODE_ENV !== "production")) warn$1(`props default key "${key}" has no corresponding declaration.`);
|
|
6016
6250
|
if (opt && defaults[`__skip_${key}`]) opt.skipFactory = true;
|
|
6017
6251
|
}
|
|
@@ -6061,37 +6295,32 @@ function createPropsRestProxy(props, excludedKeys) {
|
|
|
6061
6295
|
function withAsyncContext(getAwaitable) {
|
|
6062
6296
|
const ctx = getCurrentGenericInstance();
|
|
6063
6297
|
const inSSRSetup = isInSSRComponentSetup;
|
|
6064
|
-
const restoreAsyncContext = ctx && ctx.restoreAsyncContext ? ctx.restoreAsyncContext.bind(ctx) : void 0;
|
|
6065
6298
|
if (!!(process.env.NODE_ENV !== "production") && !ctx) warn$1("withAsyncContext called without active current instance. This is likely a bug.");
|
|
6066
6299
|
let awaitable = getAwaitable();
|
|
6067
6300
|
setCurrentInstance(null, void 0);
|
|
6068
6301
|
if (inSSRSetup) setInSSRSetupState(false);
|
|
6069
6302
|
const restore = () => {
|
|
6070
|
-
const
|
|
6303
|
+
const stoppedScope = ctx && !ctx.scope.active ? ctx.scope : void 0;
|
|
6071
6304
|
setCurrentInstance(ctx);
|
|
6072
6305
|
if (inSSRSetup) setInSSRSetupState(true);
|
|
6073
|
-
|
|
6074
|
-
return () => {
|
|
6075
|
-
if (reset) reset();
|
|
6076
|
-
if (resetStoppedScope) resetStoppedScope.reset();
|
|
6077
|
-
};
|
|
6306
|
+
return stoppedScope;
|
|
6078
6307
|
};
|
|
6079
6308
|
const cleanup = () => {
|
|
6080
6309
|
setCurrentInstance(null, void 0);
|
|
6081
6310
|
if (inSSRSetup) setInSSRSetupState(false);
|
|
6082
6311
|
};
|
|
6083
6312
|
if (isPromise(awaitable)) awaitable = awaitable.catch((e) => {
|
|
6084
|
-
const
|
|
6313
|
+
const stoppedScope = restore();
|
|
6085
6314
|
Promise.resolve().then(() => Promise.resolve().then(() => {
|
|
6086
|
-
if (
|
|
6315
|
+
if (stoppedScope) stoppedScope.reset();
|
|
6087
6316
|
cleanup();
|
|
6088
6317
|
}));
|
|
6089
6318
|
throw e;
|
|
6090
6319
|
});
|
|
6091
6320
|
return [awaitable, () => {
|
|
6092
|
-
const
|
|
6321
|
+
const stoppedScope = restore();
|
|
6093
6322
|
Promise.resolve().then(() => {
|
|
6094
|
-
if (
|
|
6323
|
+
if (stoppedScope) stoppedScope.reset();
|
|
6095
6324
|
cleanup();
|
|
6096
6325
|
});
|
|
6097
6326
|
}];
|
|
@@ -6155,11 +6384,12 @@ function applyOptions(instance) {
|
|
|
6155
6384
|
const opt = computedOptions[key];
|
|
6156
6385
|
const get = isFunction(opt) ? opt.bind(publicThis, publicThis) : isFunction(opt.get) ? opt.get.bind(publicThis, publicThis) : NOOP;
|
|
6157
6386
|
if (!!(process.env.NODE_ENV !== "production") && get === NOOP) warn$1(`Computed property "${key}" has no getter.`);
|
|
6387
|
+
const set = !isFunction(opt) && isFunction(opt.set) ? opt.set.bind(publicThis) : !!(process.env.NODE_ENV !== "production") ? () => {
|
|
6388
|
+
warn$1(`Write operation failed: computed property "${key}" is readonly.`);
|
|
6389
|
+
} : NOOP;
|
|
6158
6390
|
const c = computed({
|
|
6159
6391
|
get,
|
|
6160
|
-
set
|
|
6161
|
-
warn$1(`Write operation failed: computed property "${key}" is readonly.`);
|
|
6162
|
-
} : NOOP
|
|
6392
|
+
set
|
|
6163
6393
|
});
|
|
6164
6394
|
Object.defineProperty(ctx, key, {
|
|
6165
6395
|
enumerable: true,
|
|
@@ -6219,9 +6449,10 @@ function resolveInjections(injectOptions, ctx, checkDuplicateProperties = NOOP)
|
|
|
6219
6449
|
for (const key in injectOptions) {
|
|
6220
6450
|
const opt = injectOptions[key];
|
|
6221
6451
|
let injected;
|
|
6222
|
-
if (isObject(opt))
|
|
6223
|
-
|
|
6224
|
-
|
|
6452
|
+
if (isObject(opt)) {
|
|
6453
|
+
if ("default" in opt) injected = inject(opt.from || key, opt.default, true);
|
|
6454
|
+
else injected = inject(opt.from || key);
|
|
6455
|
+
} else injected = inject(opt);
|
|
6225
6456
|
if (/* @__PURE__ */ isRef(injected)) Object.defineProperty(ctx, key, {
|
|
6226
6457
|
enumerable: true,
|
|
6227
6458
|
configurable: true,
|
|
@@ -6241,7 +6472,8 @@ function createWatcher(raw, ctx, publicThis, key) {
|
|
|
6241
6472
|
{
|
|
6242
6473
|
const cur = getCurrentInstance();
|
|
6243
6474
|
const instance = cur && getCurrentScope() === cur.scope ? cur : null;
|
|
6244
|
-
|
|
6475
|
+
const newValue = getter();
|
|
6476
|
+
if (isArray(newValue) && isCompatEnabled$1("WATCH_ARRAY", instance)) options.deep = true;
|
|
6245
6477
|
const baseGetter = getter;
|
|
6246
6478
|
getter = () => {
|
|
6247
6479
|
const val = baseGetter();
|
|
@@ -6254,13 +6486,14 @@ function createWatcher(raw, ctx, publicThis, key) {
|
|
|
6254
6486
|
if (isFunction(handler)) watch(getter, handler, options);
|
|
6255
6487
|
else if (!!(process.env.NODE_ENV !== "production")) warn$1(`Invalid watch handler specified by key "${raw}"`, handler);
|
|
6256
6488
|
} else if (isFunction(raw)) watch(getter, raw.bind(publicThis), options);
|
|
6257
|
-
else if (isObject(raw))
|
|
6258
|
-
|
|
6259
|
-
|
|
6260
|
-
|
|
6261
|
-
|
|
6262
|
-
|
|
6263
|
-
|
|
6489
|
+
else if (isObject(raw)) {
|
|
6490
|
+
if (isArray(raw)) raw.forEach((r) => createWatcher(r, ctx, publicThis, key));
|
|
6491
|
+
else {
|
|
6492
|
+
const handler = isFunction(raw.handler) ? raw.handler.bind(publicThis) : ctx[raw.handler];
|
|
6493
|
+
if (isFunction(handler)) watch(getter, handler, extend(raw, options));
|
|
6494
|
+
else if (!!(process.env.NODE_ENV !== "production")) warn$1(`Invalid watch handler specified by key "${raw.handler}"`, handler);
|
|
6495
|
+
}
|
|
6496
|
+
} else if (!!(process.env.NODE_ENV !== "production")) warn$1(`Invalid watch option: "${key}"`, raw);
|
|
6264
6497
|
}
|
|
6265
6498
|
/**
|
|
6266
6499
|
* Resolve merged options and cache it on the component.
|
|
@@ -6274,12 +6507,13 @@ function resolveMergedOptions(instance) {
|
|
|
6274
6507
|
const cached = cache.get(base);
|
|
6275
6508
|
let resolved;
|
|
6276
6509
|
if (cached) resolved = cached;
|
|
6277
|
-
else if (!globalMixins.length && !mixins && !extendsOptions)
|
|
6278
|
-
|
|
6279
|
-
|
|
6280
|
-
|
|
6281
|
-
|
|
6282
|
-
|
|
6510
|
+
else if (!globalMixins.length && !mixins && !extendsOptions) {
|
|
6511
|
+
if (isCompatEnabled$1("PRIVATE_APIS", instance)) {
|
|
6512
|
+
resolved = extend({}, base);
|
|
6513
|
+
resolved.parent = instance.parent && instance.parent.proxy;
|
|
6514
|
+
resolved.propsData = instance.vnode.props;
|
|
6515
|
+
} else resolved = base;
|
|
6516
|
+
} else {
|
|
6283
6517
|
resolved = {};
|
|
6284
6518
|
if (globalMixins.length) globalMixins.forEach((m) => mergeOptions(resolved, m, optionMergeStrategies, true));
|
|
6285
6519
|
mergeOptions(resolved, base, optionMergeStrategies);
|
|
@@ -6352,7 +6586,7 @@ function mergeObjectOptions(to, from) {
|
|
|
6352
6586
|
}
|
|
6353
6587
|
function mergeEmitsOrPropsOptions(to, from) {
|
|
6354
6588
|
if (to) {
|
|
6355
|
-
if (isArray(to) && isArray(from)) return [
|
|
6589
|
+
if (isArray(to) && isArray(from)) return [.../* @__PURE__ */ new Set([...to, ...from])];
|
|
6356
6590
|
return extend(Object.create(null), normalizePropsOrEmits(to), normalizePropsOrEmits(from !== null && from !== void 0 ? from : {}));
|
|
6357
6591
|
} else return from;
|
|
6358
6592
|
}
|
|
@@ -6413,7 +6647,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
|
|
|
6413
6647
|
if (options.el) return vm.$mount(options.el);
|
|
6414
6648
|
else return vm;
|
|
6415
6649
|
}
|
|
6416
|
-
Vue.version = `2.6.14-compat:3.6.0-rc.
|
|
6650
|
+
Vue.version = `2.6.14-compat:3.6.0-rc.10`;
|
|
6417
6651
|
Vue.config = singletonApp.config;
|
|
6418
6652
|
Vue.use = (plugin, ...options) => {
|
|
6419
6653
|
if (plugin && isFunction(plugin.install)) plugin.install(Vue, ...options);
|
|
@@ -6809,8 +7043,10 @@ function createAppAPI(mount, unmount, getPublicInstance, render) {
|
|
|
6809
7043
|
} else if (!!(process.env.NODE_ENV !== "production")) warn$1(`Cannot unmount an app that is not mounted.`);
|
|
6810
7044
|
},
|
|
6811
7045
|
provide(key, value) {
|
|
6812
|
-
if (!!(process.env.NODE_ENV !== "production") && key in context.provides)
|
|
6813
|
-
|
|
7046
|
+
if (!!(process.env.NODE_ENV !== "production") && key in context.provides) {
|
|
7047
|
+
if (hasOwn(context.provides, key)) warn$1(`App already provides property with key "${String(key)}". It will be overwritten with the new value.`);
|
|
7048
|
+
else warn$1(`App already provides property with key "${String(key)}" inherited from its parent element. It will be overwritten with the new value.`);
|
|
7049
|
+
}
|
|
6814
7050
|
context.provides[key] = value;
|
|
6815
7051
|
return app;
|
|
6816
7052
|
},
|
|
@@ -6892,13 +7128,17 @@ function useModel(props, name, options = EMPTY_OBJ) {
|
|
|
6892
7128
|
const modifiers = getModelModifiers(props, camelizedName, defaultPropGetter);
|
|
6893
7129
|
const res = customRef((track, trigger) => {
|
|
6894
7130
|
let localValue;
|
|
7131
|
+
let prevPropValue = EMPTY_OBJ;
|
|
6895
7132
|
let prevSetValue = EMPTY_OBJ;
|
|
6896
7133
|
let prevEmittedValue;
|
|
6897
7134
|
watchSyncEffect(() => {
|
|
6898
7135
|
const propValue = props[camelizedName];
|
|
6899
|
-
if (hasChanged(
|
|
6900
|
-
|
|
6901
|
-
|
|
7136
|
+
if (hasChanged(prevPropValue, propValue)) {
|
|
7137
|
+
prevPropValue = propValue;
|
|
7138
|
+
if (hasChanged(localValue, propValue)) {
|
|
7139
|
+
localValue = propValue;
|
|
7140
|
+
trigger();
|
|
7141
|
+
}
|
|
6902
7142
|
}
|
|
6903
7143
|
});
|
|
6904
7144
|
return {
|
|
@@ -6960,12 +7200,14 @@ function baseEmit(instance, props, getter, event, ...rawArgs) {
|
|
|
6960
7200
|
if (instance.isUnmounted) return;
|
|
6961
7201
|
if (!!(process.env.NODE_ENV !== "production")) {
|
|
6962
7202
|
const { emitsOptions, propsOptions } = instance;
|
|
6963
|
-
if (emitsOptions)
|
|
6964
|
-
if (!
|
|
6965
|
-
|
|
6966
|
-
|
|
6967
|
-
|
|
6968
|
-
if (
|
|
7203
|
+
if (emitsOptions) {
|
|
7204
|
+
if (!(event in emitsOptions) && !(event.startsWith("hook:") || event.startsWith(compatModelEventPrefix))) {
|
|
7205
|
+
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.`);
|
|
7206
|
+
} else {
|
|
7207
|
+
const validator = emitsOptions[event];
|
|
7208
|
+
if (isFunction(validator)) {
|
|
7209
|
+
if (!validator(...rawArgs)) warn$1(`Invalid event arguments: event validation failed for event "${event}".`);
|
|
7210
|
+
}
|
|
6969
7211
|
}
|
|
6970
7212
|
}
|
|
6971
7213
|
}
|
|
@@ -6975,7 +7217,7 @@ function baseEmit(instance, props, getter, event, ...rawArgs) {
|
|
|
6975
7217
|
const modifiers = isCompatModelListener ? props.modelModifiers : isModelListener && getModelModifiers(props, event.slice(7), getter);
|
|
6976
7218
|
if (modifiers) {
|
|
6977
7219
|
if (modifiers.trim) args = rawArgs.map((a) => isString(a) ? a.trim() : a);
|
|
6978
|
-
if (modifiers.number) args =
|
|
7220
|
+
if (modifiers.number) args = args.map(looseToNumber);
|
|
6979
7221
|
}
|
|
6980
7222
|
if (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_DEVTOOLS__) devtoolsComponentEmit(instance, event, args);
|
|
6981
7223
|
if (!!(process.env.NODE_ENV !== "production")) {
|
|
@@ -7121,8 +7363,9 @@ function renderComponentRoot(instance) {
|
|
|
7121
7363
|
root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;
|
|
7122
7364
|
}
|
|
7123
7365
|
if (vnode.transition) {
|
|
7124
|
-
|
|
7125
|
-
|
|
7366
|
+
const child = isTeleport(root.type) ? getInnerChild$1(root) || root : root;
|
|
7367
|
+
if (!!(process.env.NODE_ENV !== "production") && !isElementRoot(child)) warn$1("Component inside <Transition> renders non-element root node that cannot be animated.");
|
|
7368
|
+
setTransitionHooks(child, vnode.transition);
|
|
7126
7369
|
}
|
|
7127
7370
|
if (!!(process.env.NODE_ENV !== "production") && setRoot) setRoot(root);
|
|
7128
7371
|
else result = root;
|
|
@@ -7173,18 +7416,21 @@ function filterSingleRoot(children, recurse = true) {
|
|
|
7173
7416
|
for (let i = 0; i < children.length; i++) {
|
|
7174
7417
|
const child = children[i];
|
|
7175
7418
|
if (isVNode(child)) {
|
|
7176
|
-
if (child.type !== Comment || child.children === "v-if")
|
|
7177
|
-
|
|
7178
|
-
|
|
7179
|
-
|
|
7419
|
+
if (child.type !== Comment || child.children === "v-if") {
|
|
7420
|
+
if (singleRoot) return;
|
|
7421
|
+
else {
|
|
7422
|
+
singleRoot = child;
|
|
7423
|
+
if (!!(process.env.NODE_ENV !== "production") && recurse && singleRoot.patchFlag > 0 && singleRoot.patchFlag & 2048) return filterSingleRoot(singleRoot.children);
|
|
7424
|
+
}
|
|
7180
7425
|
}
|
|
7181
7426
|
} else return;
|
|
7182
7427
|
}
|
|
7183
7428
|
return singleRoot;
|
|
7184
7429
|
}
|
|
7430
|
+
const isFunctionalFallthroughKey = (key) => key === "class" || key === "style" || isOn(key);
|
|
7185
7431
|
const getFunctionalFallthrough = (attrs) => {
|
|
7186
7432
|
let res;
|
|
7187
|
-
for (const key in attrs) if (
|
|
7433
|
+
for (const key in attrs) if (isFunctionalFallthroughKey(key)) (res || (res = {}))[key] = attrs[key];
|
|
7188
7434
|
return res;
|
|
7189
7435
|
};
|
|
7190
7436
|
const filterModelListeners = (attrs, props) => {
|
|
@@ -7320,16 +7566,17 @@ function updateProps(instance, rawProps, rawPrevProps, optimized) {
|
|
|
7320
7566
|
let key = propsToUpdate[i];
|
|
7321
7567
|
if (isEmitListener(instance.emitsOptions, key)) continue;
|
|
7322
7568
|
const value = rawProps[key];
|
|
7323
|
-
if (options)
|
|
7324
|
-
if (
|
|
7325
|
-
attrs[key]
|
|
7326
|
-
|
|
7569
|
+
if (options) {
|
|
7570
|
+
if (hasOwn(attrs, key)) {
|
|
7571
|
+
if (value !== attrs[key]) {
|
|
7572
|
+
attrs[key] = value;
|
|
7573
|
+
hasAttrsChanged = true;
|
|
7574
|
+
}
|
|
7575
|
+
} else {
|
|
7576
|
+
const camelizedKey = camelize(key);
|
|
7577
|
+
props[camelizedKey] = resolvePropValue(options, camelizedKey, value, instance, baseResolveDefault);
|
|
7327
7578
|
}
|
|
7328
7579
|
} else {
|
|
7329
|
-
const camelizedKey = camelize(key);
|
|
7330
|
-
props[camelizedKey] = resolvePropValue(options, camelizedKey, value, instance, baseResolveDefault);
|
|
7331
|
-
}
|
|
7332
|
-
else {
|
|
7333
7580
|
if (isOn(key) && key.endsWith("Native")) key = key.slice(0, -6);
|
|
7334
7581
|
else if (shouldSkipAttr(key, instance)) continue;
|
|
7335
7582
|
if (value !== attrs[key]) {
|
|
@@ -7342,9 +7589,11 @@ function updateProps(instance, rawProps, rawPrevProps, optimized) {
|
|
|
7342
7589
|
} else {
|
|
7343
7590
|
if (setFullProps(instance, rawProps, props, attrs)) hasAttrsChanged = true;
|
|
7344
7591
|
let kebabKey;
|
|
7345
|
-
for (const key in rawCurrentProps) if (!rawProps || !hasOwn(rawProps, key) && ((kebabKey = hyphenate(key)) === key || !hasOwn(rawProps, kebabKey)))
|
|
7346
|
-
if (
|
|
7347
|
-
|
|
7592
|
+
for (const key in rawCurrentProps) if (!rawProps || !hasOwn(rawProps, key) && ((kebabKey = hyphenate(key)) === key || !hasOwn(rawProps, kebabKey))) {
|
|
7593
|
+
if (options) {
|
|
7594
|
+
if (rawPrevProps && (rawPrevProps[key] !== void 0 || rawPrevProps[kebabKey] !== void 0)) props[key] = resolvePropValue(options, key, void 0, instance, baseResolveDefault, true);
|
|
7595
|
+
} else delete props[key];
|
|
7596
|
+
}
|
|
7348
7597
|
if (attrs !== rawCurrentProps) {
|
|
7349
7598
|
for (const key in attrs) if (!rawProps || !hasOwn(rawProps, key) && !hasOwn(rawProps, key + "Native")) {
|
|
7350
7599
|
delete attrs[key];
|
|
@@ -7365,9 +7614,10 @@ function setFullProps(instance, rawProps, props, attrs) {
|
|
|
7365
7614
|
if (key === "inline-template") continue;
|
|
7366
7615
|
const value = rawProps[key];
|
|
7367
7616
|
let camelKey;
|
|
7368
|
-
if (options && hasOwn(options, camelKey = camelize(key)))
|
|
7369
|
-
|
|
7370
|
-
|
|
7617
|
+
if (options && hasOwn(options, camelKey = camelize(key))) {
|
|
7618
|
+
if (!needCastKeys || !needCastKeys.includes(camelKey)) props[camelKey] = value;
|
|
7619
|
+
else (rawCastValues || (rawCastValues = {}))[camelKey] = value;
|
|
7620
|
+
} else if (!isEmitListener(instance.emitsOptions, key)) {
|
|
7371
7621
|
if (isOn(key) && key.endsWith("Native")) key = key.slice(0, -6);
|
|
7372
7622
|
else if (shouldSkipAttr(key, instance)) continue;
|
|
7373
7623
|
if (!(key in attrs) || value !== attrs[key]) {
|
|
@@ -7416,7 +7666,7 @@ function baseResolveDefault(factory, instance, key) {
|
|
|
7416
7666
|
const prev = setCurrentInstance(instance);
|
|
7417
7667
|
const props = /* @__PURE__ */ toRaw(instance.props);
|
|
7418
7668
|
value = factory.call(isCompatEnabled$1("PROPS_DEFAULT_THIS", instance) ? createPropsDefaultThis(instance, props, key) : null, props);
|
|
7419
|
-
|
|
7669
|
+
restoreCurrentInstance(prev);
|
|
7420
7670
|
return value;
|
|
7421
7671
|
}
|
|
7422
7672
|
const mixinPropsCache = /* @__PURE__ */ new WeakMap();
|
|
@@ -7533,7 +7783,7 @@ function validateProp(key, value, propOptions, resolvedProps, isAbsent) {
|
|
|
7533
7783
|
}
|
|
7534
7784
|
if (validator && !validator(value, !!(process.env.NODE_ENV !== "production") ? /* @__PURE__ */ shallowReadonly(resolvedProps) : resolvedProps)) warn$1("Invalid prop: custom validator check failed for prop \"" + key + "\".");
|
|
7535
7785
|
}
|
|
7536
|
-
const isSimpleType =
|
|
7786
|
+
const isSimpleType = /*@__PURE__*/ makeMap("String,Number,Boolean,Function,Symbol,BigInt");
|
|
7537
7787
|
/**
|
|
7538
7788
|
* dev only
|
|
7539
7789
|
*/
|
|
@@ -7646,12 +7896,13 @@ const updateSlots = (instance, children, optimized) => {
|
|
|
7646
7896
|
let deletionComparisonTarget = EMPTY_OBJ;
|
|
7647
7897
|
if (vnode.shapeFlag & 32) {
|
|
7648
7898
|
const type = children._;
|
|
7649
|
-
if (type)
|
|
7650
|
-
|
|
7651
|
-
|
|
7652
|
-
|
|
7653
|
-
|
|
7654
|
-
|
|
7899
|
+
if (type) {
|
|
7900
|
+
if (!!(process.env.NODE_ENV !== "production") && isHmrUpdating) {
|
|
7901
|
+
assignSlots(slots, children, optimized);
|
|
7902
|
+
trigger(instance, "set", "$slots");
|
|
7903
|
+
} else if (optimized && type === 1) needDeletionCheck = false;
|
|
7904
|
+
else assignSlots(slots, children, optimized);
|
|
7905
|
+
} else {
|
|
7655
7906
|
needDeletionCheck = !children.$stable;
|
|
7656
7907
|
normalizeObjectSlots(children, slots, instance);
|
|
7657
7908
|
}
|
|
@@ -7669,7 +7920,7 @@ const updateSlots = (instance, children, optimized) => {
|
|
|
7669
7920
|
let supported;
|
|
7670
7921
|
let perf;
|
|
7671
7922
|
let cachedNow$1 = 0;
|
|
7672
|
-
const p$1 =
|
|
7923
|
+
const p$1 = /*@__PURE__*/ Promise.resolve();
|
|
7673
7924
|
const getNow$1 = () => cachedNow$1 || (p$1.then(() => cachedNow$1 = 0), cachedNow$1 = isSupported() ? perf.now() : Date.now());
|
|
7674
7925
|
/**
|
|
7675
7926
|
* @internal
|
|
@@ -7780,6 +8031,10 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
7780
8031
|
optimized = false;
|
|
7781
8032
|
n2.dynamicChildren = null;
|
|
7782
8033
|
}
|
|
8034
|
+
if (n2.dynamicChildren && n1 && n1.dynamicChildren && n1.dynamicChildren.hasOnce) {
|
|
8035
|
+
if (n2.dynamicChildren === EMPTY_ARR) n2.dynamicChildren = [];
|
|
8036
|
+
n2.dynamicChildren.hasOnce = true;
|
|
8037
|
+
}
|
|
7783
8038
|
const { type, ref, shapeFlag } = n2;
|
|
7784
8039
|
switch (type) {
|
|
7785
8040
|
case Text:
|
|
@@ -7796,7 +8051,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
7796
8051
|
processFragment(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
|
|
7797
8052
|
break;
|
|
7798
8053
|
case VaporSlot:
|
|
7799
|
-
getVaporInterface(parentComponent, n2).slot(n1, n2, container, anchor, parentComponent, parentSuspense);
|
|
8054
|
+
getVaporInterface(parentComponent, n2).slot(n1, n2, container, anchor, parentComponent, parentSuspense, slotScopeIds);
|
|
7800
8055
|
break;
|
|
7801
8056
|
default: if (shapeFlag & 1) processElement(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
|
|
7802
8057
|
else if (shapeFlag & 6) processComponent(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
|
|
@@ -7917,7 +8172,10 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
7917
8172
|
for (let i = 0; i < inheritedScopeIds.length; i++) hostSetScopeId(el, inheritedScopeIds[i]);
|
|
7918
8173
|
};
|
|
7919
8174
|
const mountChildren = (children, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, start = 0) => {
|
|
7920
|
-
for (let i = start; i < children.length; i++)
|
|
8175
|
+
for (let i = start; i < children.length; i++) {
|
|
8176
|
+
const child = children[i] = optimized ? cloneIfMounted(children[i]) : normalizeVNode(children[i]);
|
|
8177
|
+
patch(null, child, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
|
|
8178
|
+
}
|
|
7921
8179
|
};
|
|
7922
8180
|
const patchElement = (n1, n2, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {
|
|
7923
8181
|
const el = n2.el = n1.el;
|
|
@@ -7929,6 +8187,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
7929
8187
|
let vnodeHook;
|
|
7930
8188
|
parentComponent && toggleRecurse(parentComponent, false);
|
|
7931
8189
|
if (vnodeHook = newProps.onVnodeBeforeUpdate) invokeVNodeHook(vnodeHook, parentComponent, n2, n1);
|
|
8190
|
+
if (n2.ibu) n2.ibu();
|
|
7932
8191
|
if (dirs) invokeDirectiveHook(n2, n1, parentComponent, "beforeUpdate");
|
|
7933
8192
|
parentComponent && toggleRecurse(parentComponent, true);
|
|
7934
8193
|
if (!!(process.env.NODE_ENV !== "production") && isHmrUpdating || dynamicChildren && (!n1.dynamicChildren || n1.dynamicChildren.length !== dynamicChildren.length)) {
|
|
@@ -7962,8 +8221,9 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
7962
8221
|
if (n1.children !== n2.children) hostSetElementText(el, n2.children);
|
|
7963
8222
|
}
|
|
7964
8223
|
} else if (!optimized && dynamicChildren == null) patchProps(el, oldProps, newProps, parentComponent, namespace);
|
|
7965
|
-
if ((vnodeHook = newProps.onVnodeUpdated) || dirs) queuePostRenderEffect(() => {
|
|
8224
|
+
if ((vnodeHook = newProps.onVnodeUpdated) || dirs || n2.iu) queuePostRenderEffect(() => {
|
|
7966
8225
|
vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, n2, n1);
|
|
8226
|
+
n2.iu && n2.iu();
|
|
7967
8227
|
dirs && invokeDirectiveHook(n2, n1, parentComponent, "updated");
|
|
7968
8228
|
}, void 0, parentSuspense);
|
|
7969
8229
|
};
|
|
@@ -7971,7 +8231,8 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
7971
8231
|
for (let i = 0; i < newChildren.length; i++) {
|
|
7972
8232
|
const oldVNode = oldChildren[i];
|
|
7973
8233
|
const newVNode = newChildren[i];
|
|
7974
|
-
|
|
8234
|
+
const container = oldVNode.el && (oldVNode.type === Fragment || !isSameVNodeType(oldVNode, newVNode) || oldVNode.shapeFlag & 198) ? hostParentNode(oldVNode.el) : fallbackContainer;
|
|
8235
|
+
patch(oldVNode, newVNode, container, null, parentComponent, parentSuspense, namespace, slotScopeIds, true);
|
|
7975
8236
|
}
|
|
7976
8237
|
};
|
|
7977
8238
|
const patchProps = (el, oldProps, newProps, parentComponent, namespace) => {
|
|
@@ -8010,41 +8271,15 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
8010
8271
|
};
|
|
8011
8272
|
const processComponent = (n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {
|
|
8012
8273
|
n2.slotScopeIds = slotScopeIds;
|
|
8013
|
-
if (n2.type.__vapor)
|
|
8014
|
-
|
|
8015
|
-
|
|
8016
|
-
|
|
8017
|
-
|
|
8018
|
-
|
|
8019
|
-
|
|
8020
|
-
|
|
8021
|
-
|
|
8022
|
-
if (vnodeBeforeMountHook) invokeVNodeHook(vnodeBeforeMountHook, parentComponent, n2);
|
|
8023
|
-
});
|
|
8024
|
-
if (n2.dirs) queuePostRenderEffect(() => invokeDirectiveHook(n2, null, parentComponent, "mounted"), void 0, parentSuspense);
|
|
8025
|
-
const vnodeMountedHook = !isAsyncWrapper(n2) && n2.props && n2.props.onVnodeMounted;
|
|
8026
|
-
if (vnodeMountedHook) {
|
|
8027
|
-
const scopedVNode = n2;
|
|
8028
|
-
queuePostRenderEffect(() => invokeVNodeHook(vnodeMountedHook, parentComponent, scopedVNode), void 0, parentSuspense);
|
|
8029
|
-
}
|
|
8030
|
-
}
|
|
8031
|
-
else {
|
|
8032
|
-
const shouldUpdate = shouldUpdateComponent(n1, n2, optimized);
|
|
8033
|
-
getVaporInterface(parentComponent, n2).update(n1, n2, shouldUpdate, () => {
|
|
8034
|
-
if (n2.dirs) invokeDirectiveHook(n2, n1, parentComponent, "beforeUpdate");
|
|
8035
|
-
}, () => {
|
|
8036
|
-
const vnodeBeforeUpdateHook = n2.props && n2.props.onVnodeBeforeUpdate;
|
|
8037
|
-
if (vnodeBeforeUpdateHook) invokeVNodeHook(vnodeBeforeUpdateHook, parentComponent, n2, n1);
|
|
8038
|
-
});
|
|
8039
|
-
const vnodeUpdatedHook = n2.props && n2.props.onVnodeUpdated;
|
|
8040
|
-
if (shouldUpdate && (vnodeUpdatedHook || n2.dirs)) queuePostRenderEffect(() => {
|
|
8041
|
-
n2.dirs && invokeDirectiveHook(n2, n1, parentComponent, "updated");
|
|
8042
|
-
vnodeUpdatedHook && invokeVNodeHook(vnodeUpdatedHook, parentComponent, n2, n1);
|
|
8043
|
-
}, void 0, parentSuspense);
|
|
8044
|
-
}
|
|
8045
|
-
else if (n1 == null) if (n2.shapeFlag & 512) parentComponent.ctx.activate(n2, container, anchor, namespace, optimized);
|
|
8046
|
-
else mountComponent(n2, container, anchor, parentComponent, parentSuspense, namespace, optimized);
|
|
8047
|
-
else updateComponent(n1, n2, optimized);
|
|
8274
|
+
if (n2.type.__vapor) {
|
|
8275
|
+
if (n1 == null) {
|
|
8276
|
+
if (n2.shapeFlag & 512) getVaporInterface(parentComponent, n2).activate(n2, container, anchor, parentComponent, parentSuspense);
|
|
8277
|
+
else getVaporInterface(parentComponent, n2).mount(n2, container, anchor, parentComponent, parentSuspense);
|
|
8278
|
+
} else getVaporInterface(parentComponent, n2).update(n1, n2, shouldUpdateComponent(n1, n2, optimized));
|
|
8279
|
+
} else if (n1 == null) {
|
|
8280
|
+
if (n2.shapeFlag & 512) parentComponent.ctx.activate(n2, container, anchor, namespace, optimized);
|
|
8281
|
+
else mountComponent(n2, container, anchor, parentComponent, parentSuspense, namespace, optimized);
|
|
8282
|
+
} else updateComponent(n1, n2, optimized);
|
|
8048
8283
|
};
|
|
8049
8284
|
const mountComponent = (initialVNode, container, anchor, parentComponent, parentSuspense, namespace, optimized) => {
|
|
8050
8285
|
const compatMountInstance = initialVNode.isCompatRoot && initialVNode.component;
|
|
@@ -8092,16 +8327,18 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
8092
8327
|
};
|
|
8093
8328
|
const updateComponent = (n1, n2, optimized) => {
|
|
8094
8329
|
const instance = n2.component = n1.component;
|
|
8095
|
-
if (shouldUpdateComponent(n1, n2, optimized))
|
|
8096
|
-
if (
|
|
8097
|
-
|
|
8098
|
-
|
|
8099
|
-
|
|
8330
|
+
if (shouldUpdateComponent(n1, n2, optimized)) {
|
|
8331
|
+
if (instance.asyncDep && !instance.asyncResolved) {
|
|
8332
|
+
if (!!(process.env.NODE_ENV !== "production")) pushWarningContext(n2);
|
|
8333
|
+
n2.el = n1.el;
|
|
8334
|
+
updateComponentPreRender(instance, n2, optimized);
|
|
8335
|
+
if (!!(process.env.NODE_ENV !== "production")) popWarningContext();
|
|
8336
|
+
return;
|
|
8337
|
+
} else {
|
|
8338
|
+
instance.next = n2;
|
|
8339
|
+
instance.effect.run();
|
|
8340
|
+
}
|
|
8100
8341
|
} else {
|
|
8101
|
-
instance.next = n2;
|
|
8102
|
-
instance.effect.run();
|
|
8103
|
-
}
|
|
8104
|
-
else {
|
|
8105
8342
|
n2.el = n1.el;
|
|
8106
8343
|
instance.vnode = n2;
|
|
8107
8344
|
}
|
|
@@ -8206,6 +8443,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
8206
8443
|
} else next = vnode;
|
|
8207
8444
|
if (bu) invokeArrayFns(bu);
|
|
8208
8445
|
if (vnodeHook = next.props && next.props.onVnodeBeforeUpdate) invokeVNodeHook(vnodeHook, parent, next, vnode);
|
|
8446
|
+
if (next.ibu) next.ibu();
|
|
8209
8447
|
if (isCompatEnabled$1("INSTANCE_EVENT_HOOKS", instance)) instance.emit("hook:beforeUpdate");
|
|
8210
8448
|
toggleRecurse(instance, true);
|
|
8211
8449
|
if (!!(process.env.NODE_ENV !== "production")) startMeasure(instance, `render`);
|
|
@@ -8219,7 +8457,10 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
8219
8457
|
next.el = nextTree.el;
|
|
8220
8458
|
if (originNext === null) updateHOCHostEl(instance, nextTree.el);
|
|
8221
8459
|
if (u) queuePostRenderEffect(u, void 0, parentSuspense);
|
|
8222
|
-
if (vnodeHook = next.props && next.props.onVnodeUpdated) queuePostRenderEffect(() =>
|
|
8460
|
+
if ((vnodeHook = next.props && next.props.onVnodeUpdated) || next.iu) queuePostRenderEffect(() => {
|
|
8461
|
+
vnodeHook && invokeVNodeHook(vnodeHook, parent, next, vnode);
|
|
8462
|
+
next.iu && next.iu();
|
|
8463
|
+
}, void 0, parentSuspense);
|
|
8223
8464
|
if (isCompatEnabled$1("INSTANCE_EVENT_HOOKS", instance)) queuePostRenderEffect(() => instance.emit("hook:updated"), void 0, parentSuspense);
|
|
8224
8465
|
if (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_DEVTOOLS__) devtoolsComponentUpdated(instance);
|
|
8225
8466
|
if (!!(process.env.NODE_ENV !== "production")) popWarningContext();
|
|
@@ -8260,9 +8501,10 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
8260
8501
|
if (shapeFlag & 8) {
|
|
8261
8502
|
if (prevShapeFlag & 16) unmountChildren(c1, parentComponent, parentSuspense);
|
|
8262
8503
|
if (c2 !== c1) hostSetElementText(container, c2);
|
|
8263
|
-
} else if (prevShapeFlag & 16)
|
|
8264
|
-
|
|
8265
|
-
|
|
8504
|
+
} else if (prevShapeFlag & 16) {
|
|
8505
|
+
if (shapeFlag & 16) patchKeyedChildren(c1, c2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
|
|
8506
|
+
else unmountChildren(c1, parentComponent, parentSuspense, true);
|
|
8507
|
+
} else {
|
|
8266
8508
|
if (prevShapeFlag & 8) hostSetElementText(container, "");
|
|
8267
8509
|
if (shapeFlag & 16) mountChildren(c2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
|
|
8268
8510
|
}
|
|
@@ -8361,15 +8603,17 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
8361
8603
|
const anchorVNode = c2[nextIndex + 1];
|
|
8362
8604
|
const anchor = nextIndex + 1 < l2 ? anchorVNode.el || resolveAsyncComponentPlaceholder(anchorVNode) : parentAnchor;
|
|
8363
8605
|
if (newIndexToOldIndexMap[i] === 0) patch(null, nextChild, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized);
|
|
8364
|
-
else if (moved)
|
|
8365
|
-
|
|
8606
|
+
else if (moved) {
|
|
8607
|
+
if (j < 0 || i !== increasingNewIndexSequence[j]) move(nextChild, container, anchor, 2, parentComponent);
|
|
8608
|
+
else j--;
|
|
8609
|
+
}
|
|
8366
8610
|
}
|
|
8367
8611
|
}
|
|
8368
8612
|
};
|
|
8369
8613
|
const move = (vnode, container, anchor, moveType, parentComponent, parentSuspense = null) => {
|
|
8370
8614
|
const { el, type, transition, children, shapeFlag } = vnode;
|
|
8371
8615
|
if (isVaporComponent(type) || type === VaporSlot) {
|
|
8372
|
-
getVaporInterface(parentComponent, vnode).move(vnode, container, anchor, moveType);
|
|
8616
|
+
getVaporInterface(parentComponent, vnode).move(vnode, container, anchor, moveType, parentSuspense);
|
|
8373
8617
|
return;
|
|
8374
8618
|
}
|
|
8375
8619
|
if (shapeFlag & 6) {
|
|
@@ -8394,54 +8638,37 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
8394
8638
|
moveStaticNode(vnode, container, anchor);
|
|
8395
8639
|
return;
|
|
8396
8640
|
}
|
|
8397
|
-
if (moveType !== 2 && shapeFlag & 1 && transition)
|
|
8398
|
-
|
|
8399
|
-
|
|
8400
|
-
const remove = () => {
|
|
8641
|
+
if (moveType !== 2 && shapeFlag & 1 && transition) {
|
|
8642
|
+
if (moveType === 0) performTransitionEnter(el, transition, () => hostInsert(el, container, anchor), parentSuspense, true);
|
|
8643
|
+
else performTransitionLeave(el, transition, () => {
|
|
8401
8644
|
if (vnode.ctx.isUnmounted) hostRemove(el);
|
|
8402
8645
|
else hostInsert(el, container, anchor);
|
|
8403
|
-
};
|
|
8404
|
-
|
|
8405
|
-
const wasLeaving = el._isLeaving || !!el[leaveCbKey];
|
|
8406
|
-
if (el._isLeaving) el[leaveCbKey](true);
|
|
8407
|
-
if (transition.persisted && !wasLeaving) remove();
|
|
8408
|
-
else leave(el, () => {
|
|
8409
|
-
remove();
|
|
8410
|
-
afterLeave && afterLeave();
|
|
8411
|
-
});
|
|
8412
|
-
};
|
|
8413
|
-
if (delayLeave) delayLeave(el, remove, performLeave);
|
|
8414
|
-
else performLeave();
|
|
8415
|
-
}
|
|
8416
|
-
else hostInsert(el, container, anchor);
|
|
8646
|
+
}, true, true);
|
|
8647
|
+
} else hostInsert(el, container, anchor);
|
|
8417
8648
|
};
|
|
8418
8649
|
const unmount = (vnode, parentComponent, parentSuspense, doRemove = false, optimized = false) => {
|
|
8419
8650
|
const { type, props, ref, children, dynamicChildren, shapeFlag, patchFlag, dirs, cacheIndex, memo } = vnode;
|
|
8420
|
-
if (patchFlag === -2) optimized = false;
|
|
8651
|
+
if (patchFlag === -2 || dynamicChildren && dynamicChildren.hasOnce) optimized = false;
|
|
8421
8652
|
if (ref != null) {
|
|
8422
8653
|
const prevSub = setActiveSub();
|
|
8423
8654
|
setRef(ref, null, parentSuspense, vnode, true);
|
|
8424
8655
|
setActiveSub(prevSub);
|
|
8425
8656
|
}
|
|
8426
|
-
if (cacheIndex != null) parentComponent.renderCache[cacheIndex] = void 0;
|
|
8657
|
+
if (cacheIndex != null && (!vnode.ctx || vnode.ctx === parentComponent)) parentComponent.renderCache[cacheIndex] = void 0;
|
|
8427
8658
|
if (shapeFlag & 256) {
|
|
8428
|
-
if (isVaporComponent(vnode.type)) getVaporInterface(parentComponent, vnode).deactivate(vnode, parentComponent.ctx.getStorageContainer());
|
|
8659
|
+
if (isVaporComponent(vnode.type)) getVaporInterface(parentComponent, vnode).deactivate(vnode, parentComponent.ctx.getStorageContainer(), parentSuspense);
|
|
8429
8660
|
else parentComponent.ctx.deactivate(vnode);
|
|
8430
8661
|
return;
|
|
8431
8662
|
}
|
|
8663
|
+
if (shapeFlag & 6 && isVaporComponent(type)) {
|
|
8664
|
+
getVaporInterface(parentComponent, vnode).unmount(vnode, doRemove, parentSuspense);
|
|
8665
|
+
return;
|
|
8666
|
+
}
|
|
8432
8667
|
const shouldInvokeDirs = shapeFlag & 1 && dirs;
|
|
8433
8668
|
const shouldInvokeVnodeHook = !isAsyncWrapper(vnode);
|
|
8434
8669
|
let vnodeHook;
|
|
8435
8670
|
if (shouldInvokeVnodeHook && (vnodeHook = props && props.onVnodeBeforeUnmount)) invokeVNodeHook(vnodeHook, parentComponent, vnode);
|
|
8436
|
-
if (shapeFlag & 6)
|
|
8437
|
-
if (dirs) invokeDirectiveHook(vnode, null, parentComponent, "beforeUnmount");
|
|
8438
|
-
getVaporInterface(parentComponent, vnode).unmount(vnode, doRemove);
|
|
8439
|
-
if (shouldInvokeVnodeHook && (vnodeHook = props && props.onVnodeUnmounted) || dirs) queuePostRenderEffect(() => {
|
|
8440
|
-
dirs && invokeDirectiveHook(vnode, null, parentComponent, "unmounted");
|
|
8441
|
-
vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode);
|
|
8442
|
-
}, void 0, parentSuspense);
|
|
8443
|
-
return;
|
|
8444
|
-
} else unmountComponent(vnode.component, parentSuspense, doRemove);
|
|
8671
|
+
if (shapeFlag & 6) unmountComponent(vnode.component, parentSuspense, doRemove);
|
|
8445
8672
|
else {
|
|
8446
8673
|
if (shapeFlag & 128) {
|
|
8447
8674
|
vnode.suspense.unmount(parentSuspense, doRemove);
|
|
@@ -8452,7 +8679,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
8452
8679
|
else if (dynamicChildren && !dynamicChildren.hasOnce && (type !== Fragment || patchFlag > 0 && patchFlag & 64)) unmountChildren(dynamicChildren, parentComponent, parentSuspense, false, true);
|
|
8453
8680
|
else if (type === Fragment && patchFlag & 384 || !optimized && shapeFlag & 16) unmountChildren(children, parentComponent, parentSuspense);
|
|
8454
8681
|
if (type === VaporSlot) {
|
|
8455
|
-
getVaporInterface(parentComponent, vnode).unmount(vnode, doRemove);
|
|
8682
|
+
getVaporInterface(parentComponent, vnode).unmount(vnode, doRemove, parentSuspense);
|
|
8456
8683
|
return;
|
|
8457
8684
|
}
|
|
8458
8685
|
if (doRemove) remove(vnode);
|
|
@@ -8476,6 +8703,7 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
8476
8703
|
}
|
|
8477
8704
|
if (type === Static) {
|
|
8478
8705
|
removeStaticNode(vnode);
|
|
8706
|
+
if (transition && !transition.persisted && transition.afterLeave) transition.afterLeave();
|
|
8479
8707
|
return;
|
|
8480
8708
|
}
|
|
8481
8709
|
if (transition) performTransitionLeave(el, transition, () => hostRemove(el), !!(vnode.shapeFlag & 1));
|
|
@@ -8501,7 +8729,10 @@ function baseCreateRenderer(options, createHydrationFns) {
|
|
|
8501
8729
|
if (effect) {
|
|
8502
8730
|
effect.stop();
|
|
8503
8731
|
unmount(subTree, instance, parentSuspense, doRemove);
|
|
8504
|
-
} else if (
|
|
8732
|
+
} else if (instance.vnode.el && subTree) {
|
|
8733
|
+
subTree.transition = instance.vnode.transition;
|
|
8734
|
+
unmount(subTree, instance, parentSuspense, doRemove);
|
|
8735
|
+
}
|
|
8505
8736
|
if (um) queuePostRenderEffect(um, void 0, parentSuspense);
|
|
8506
8737
|
if (isCompatEnabled$1("INSTANCE_EVENT_HOOKS", instance)) queuePostRenderEffect(() => instance.emit("hook:destroyed"), void 0, parentSuspense);
|
|
8507
8738
|
queuePostRenderEffect(() => instance.isUnmounted = true, void 0, parentSuspense);
|
|
@@ -8576,12 +8807,14 @@ function resolveChildrenNamespace({ type, props }, currentNamespace) {
|
|
|
8576
8807
|
return currentNamespace === "svg" && type === "foreignObject" || currentNamespace === "mathml" && type === "annotation-xml" && props && props.encoding && props.encoding.includes("html") ? void 0 : currentNamespace;
|
|
8577
8808
|
}
|
|
8578
8809
|
function toggleRecurse({ effect, job, vapor }, allowed) {
|
|
8579
|
-
if (!vapor)
|
|
8580
|
-
|
|
8581
|
-
|
|
8582
|
-
|
|
8583
|
-
|
|
8584
|
-
|
|
8810
|
+
if (!vapor) {
|
|
8811
|
+
if (allowed) {
|
|
8812
|
+
effect.flags |= 128;
|
|
8813
|
+
job.flags |= 2;
|
|
8814
|
+
} else {
|
|
8815
|
+
effect.flags &= -129;
|
|
8816
|
+
job.flags &= -3;
|
|
8817
|
+
}
|
|
8585
8818
|
}
|
|
8586
8819
|
}
|
|
8587
8820
|
function needTransition(parentSuspense, transition) {
|
|
@@ -8621,8 +8854,10 @@ function traverseStaticChildren(n1, n2, shallow = false) {
|
|
|
8621
8854
|
}
|
|
8622
8855
|
function locateNonHydratedAsyncRoot(instance) {
|
|
8623
8856
|
const subComponent = instance.subTree && instance.subTree.component;
|
|
8624
|
-
if (subComponent)
|
|
8625
|
-
|
|
8857
|
+
if (subComponent) {
|
|
8858
|
+
if (subComponent.asyncDep && !subComponent.asyncResolved) return subComponent;
|
|
8859
|
+
else return locateNonHydratedAsyncRoot(subComponent);
|
|
8860
|
+
}
|
|
8626
8861
|
}
|
|
8627
8862
|
function invalidateMount(hooks) {
|
|
8628
8863
|
if (hooks) for (let i = 0; i < hooks.length; i++) hooks[i].flags |= 4;
|
|
@@ -8641,13 +8876,15 @@ function performTransitionEnter(el, transition, insert, parentSuspense, force =
|
|
|
8641
8876
|
function performTransitionLeave(el, transition, remove, isElement = true, force = false) {
|
|
8642
8877
|
const performRemove = () => {
|
|
8643
8878
|
remove();
|
|
8644
|
-
if (transition && !transition.persisted && transition.afterLeave) transition.afterLeave();
|
|
8879
|
+
if (transition && (force || !transition.persisted) && transition.afterLeave) transition.afterLeave();
|
|
8645
8880
|
};
|
|
8646
8881
|
if (force || isElement && transition && !transition.persisted) {
|
|
8647
8882
|
const { leave, delayLeave } = transition;
|
|
8648
8883
|
const performLeave = () => {
|
|
8884
|
+
const wasLeaving = el._isLeaving || !!el[leaveCbKey];
|
|
8649
8885
|
if (el._isLeaving && force) el[leaveCbKey](true);
|
|
8650
|
-
|
|
8886
|
+
if (force && transition.persisted && !wasLeaving) remove();
|
|
8887
|
+
else leave(el, performRemove);
|
|
8651
8888
|
};
|
|
8652
8889
|
if (delayLeave) delayLeave(el, performRemove, performLeave);
|
|
8653
8890
|
else performLeave();
|
|
@@ -8666,7 +8903,7 @@ function isVaporComponent(type) {
|
|
|
8666
8903
|
/**
|
|
8667
8904
|
* shared between vdom and vapor
|
|
8668
8905
|
*/
|
|
8669
|
-
function getInheritedScopeIds(vnode, parentComponent) {
|
|
8906
|
+
function getInheritedScopeIds(vnode, parentComponent, includeVaporRootIds = true) {
|
|
8670
8907
|
const inheritedScopeIds = [];
|
|
8671
8908
|
let currentParent = parentComponent;
|
|
8672
8909
|
let currentVNode = vnode;
|
|
@@ -8682,6 +8919,8 @@ function getInheritedScopeIds(vnode, parentComponent) {
|
|
|
8682
8919
|
currentParent = currentParent.parent;
|
|
8683
8920
|
} else break;
|
|
8684
8921
|
}
|
|
8922
|
+
const vaporScopeIds = includeVaporRootIds && currentVNode.vaporScopeIds;
|
|
8923
|
+
if (vaporScopeIds) inheritedScopeIds.push(...vaporScopeIds);
|
|
8685
8924
|
return inheritedScopeIds;
|
|
8686
8925
|
}
|
|
8687
8926
|
function resolveAsyncComponentPlaceholder(anchorVnode) {
|
|
@@ -8700,7 +8939,7 @@ const Suspense = {
|
|
|
8700
8939
|
process(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals) {
|
|
8701
8940
|
if (n1 == null) mountSuspense(n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals);
|
|
8702
8941
|
else {
|
|
8703
|
-
if (parentSuspense && parentSuspense.deps > 0 && !n1.suspense.isInFallback) {
|
|
8942
|
+
if (parentSuspense && parentSuspense.deps > 0 && !n1.suspense.isInFallback && !parentSuspense.isHydrating) {
|
|
8704
8943
|
n2.suspense = n1.suspense;
|
|
8705
8944
|
n2.suspense.vnode = n2;
|
|
8706
8945
|
n2.el = n1.el;
|
|
@@ -8738,10 +8977,12 @@ function patchSuspense(n1, n2, container, anchor, parentComponent, namespace, sl
|
|
|
8738
8977
|
if (pendingBranch) {
|
|
8739
8978
|
suspense.pendingBranch = newBranch;
|
|
8740
8979
|
if (isSameVNodeType(pendingBranch, newBranch)) {
|
|
8741
|
-
|
|
8980
|
+
suspense.deps++;
|
|
8981
|
+
patch(pendingBranch, newBranch, isHydrating ? container : suspense.hiddenContainer, null, parentComponent, suspense, namespace, slotScopeIds, optimized);
|
|
8982
|
+
suspense.deps--;
|
|
8742
8983
|
if (suspense.deps <= 0) suspense.resolve();
|
|
8743
8984
|
else if (isInFallback) {
|
|
8744
|
-
if (!isHydrating) {
|
|
8985
|
+
if (!isHydrating && !suspense.isFallbackMountPending) {
|
|
8745
8986
|
patch(activeBranch, newFallback, container, anchor, parentComponent, null, namespace, slotScopeIds, optimized);
|
|
8746
8987
|
setActiveBranch(suspense, newFallback);
|
|
8747
8988
|
}
|
|
@@ -8753,12 +8994,16 @@ function patchSuspense(n1, n2, container, anchor, parentComponent, namespace, sl
|
|
|
8753
8994
|
suspense.activeBranch = pendingBranch;
|
|
8754
8995
|
} else unmount(pendingBranch, parentComponent, suspense);
|
|
8755
8996
|
suspense.deps = 0;
|
|
8997
|
+
for (let i = 0; i < suspense.effects.length; i++) {
|
|
8998
|
+
const effect = suspense.effects[i];
|
|
8999
|
+
if (effect.flags & 8) queuePostFlushCb(effect);
|
|
9000
|
+
}
|
|
8756
9001
|
suspense.effects.length = 0;
|
|
8757
9002
|
suspense.hiddenContainer = createElement("div");
|
|
8758
9003
|
if (isInFallback) {
|
|
8759
9004
|
patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, namespace, slotScopeIds, optimized);
|
|
8760
9005
|
if (suspense.deps <= 0) suspense.resolve();
|
|
8761
|
-
else {
|
|
9006
|
+
else if (!suspense.isFallbackMountPending) {
|
|
8762
9007
|
patch(activeBranch, newFallback, container, anchor, parentComponent, null, namespace, slotScopeIds, optimized);
|
|
8763
9008
|
setActiveBranch(suspense, newFallback);
|
|
8764
9009
|
}
|
|
@@ -8862,7 +9107,7 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
|
|
|
8862
9107
|
let hasUnresolvedAncestor = false;
|
|
8863
9108
|
while (parent) {
|
|
8864
9109
|
if (parent.pendingBranch) {
|
|
8865
|
-
parent.effects.push(
|
|
9110
|
+
for (let i = 0; i < effects.length; i++) parent.effects.push(effects[i]);
|
|
8866
9111
|
hasUnresolvedAncestor = true;
|
|
8867
9112
|
break;
|
|
8868
9113
|
}
|
|
@@ -8872,6 +9117,7 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
|
|
|
8872
9117
|
suspense.effects = [];
|
|
8873
9118
|
if (isSuspensible) {
|
|
8874
9119
|
if (parentSuspense && parentSuspense.pendingBranch && parentSuspenseId === parentSuspense.pendingId) {
|
|
9120
|
+
parentSuspenseId = void 0;
|
|
8875
9121
|
parentSuspense.deps--;
|
|
8876
9122
|
if (parentSuspense.deps === 0 && !sync) parentSuspense.resolve();
|
|
8877
9123
|
}
|
|
@@ -8886,8 +9132,9 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
|
|
|
8886
9132
|
const mountFallback = () => {
|
|
8887
9133
|
suspense.isFallbackMountPending = false;
|
|
8888
9134
|
if (!suspense.isInFallback) return;
|
|
8889
|
-
|
|
8890
|
-
|
|
9135
|
+
const latestFallback = suspense.vnode.ssFallback;
|
|
9136
|
+
patch(null, latestFallback, container, anchor, parentComponent, null, namespace, slotScopeIds, optimized);
|
|
9137
|
+
setActiveBranch(suspense, latestFallback);
|
|
8891
9138
|
};
|
|
8892
9139
|
const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === "out-in";
|
|
8893
9140
|
if (delayEnter) {
|
|
@@ -8908,11 +9155,16 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
|
|
|
8908
9155
|
registerDep(instance, onResolve) {
|
|
8909
9156
|
const isInPendingSuspense = !!suspense.pendingBranch;
|
|
8910
9157
|
if (isInPendingSuspense) suspense.deps++;
|
|
9158
|
+
const hydratedEl = instance.vnode && instance.vnode.el;
|
|
8911
9159
|
instance.asyncDep.catch((err) => {
|
|
8912
9160
|
handleError(err, instance, 0);
|
|
8913
9161
|
}).then((asyncSetupResult) => {
|
|
8914
9162
|
if (instance.isUnmounted || suspense.isUnmounted || suspense.pendingId !== instance.suspenseId) return;
|
|
8915
9163
|
setCurrentInstance(null, void 0);
|
|
9164
|
+
if (hydratedEl && !instance.scope.active) {
|
|
9165
|
+
if (isInPendingSuspense && --suspense.deps === 0) suspense.resolve();
|
|
9166
|
+
return;
|
|
9167
|
+
}
|
|
8916
9168
|
instance.asyncResolved = true;
|
|
8917
9169
|
onResolve(asyncSetupResult);
|
|
8918
9170
|
if (isInPendingSuspense && --suspense.deps === 0) suspense.resolve();
|
|
@@ -8963,9 +9215,10 @@ function normalizeSuspenseSlot(s) {
|
|
|
8963
9215
|
return s;
|
|
8964
9216
|
}
|
|
8965
9217
|
function queueEffectWithSuspense(fn, id, suspense) {
|
|
8966
|
-
if (suspense && suspense.pendingBranch)
|
|
8967
|
-
|
|
8968
|
-
|
|
9218
|
+
if (suspense && suspense.pendingBranch) {
|
|
9219
|
+
if (isArray(fn)) suspense.effects.push(...fn);
|
|
9220
|
+
else suspense.effects.push(fn);
|
|
9221
|
+
} else queuePostFlushCb(fn, id);
|
|
8969
9222
|
}
|
|
8970
9223
|
function setActiveBranch(suspense, branch) {
|
|
8971
9224
|
suspense.activeBranch = branch;
|
|
@@ -9172,11 +9425,26 @@ function createBaseVNode(type, props = null, children = null, patchFlag = 0, dyn
|
|
|
9172
9425
|
if (shapeFlag & 128) type.normalize(vnode);
|
|
9173
9426
|
} else if (children) vnode.shapeFlag |= isString(children) ? 8 : 16;
|
|
9174
9427
|
if (!!(process.env.NODE_ENV !== "production") && vnode.key !== vnode.key) warn$1(`VNode created with invalid key (NaN). VNode type:`, vnode.type);
|
|
9428
|
+
if (!!(process.env.NODE_ENV !== "production") && props && vnode.shapeFlag & 1) {
|
|
9429
|
+
const overwritingProp = props.innerHTML != null ? "innerHTML" : props.textContent != null ? "textContent" : null;
|
|
9430
|
+
if (overwritingProp && hasContentChildren(vnode.children)) warn$1(`The \`${overwritingProp}\` prop on <${vnode.type}> will override its children. Remove either the \`${overwritingProp}\` prop or the children.`);
|
|
9431
|
+
}
|
|
9175
9432
|
if (isBlockTreeEnabled > 0 && !isBlockNode && currentBlock && (vnode.patchFlag > 0 || shapeFlag & 6) && vnode.patchFlag !== 32) currentBlock.push(vnode);
|
|
9176
9433
|
convertLegacyVModelProps(vnode);
|
|
9177
9434
|
defineLegacyVNodeProperties(vnode);
|
|
9178
9435
|
return vnode;
|
|
9179
9436
|
}
|
|
9437
|
+
/**
|
|
9438
|
+
* dev only
|
|
9439
|
+
* Whether children would actually render something. Empty text and empty
|
|
9440
|
+
* arrays are ignored, mirroring the compiler's `node.children.length` check
|
|
9441
|
+
* for `v-html` / `v-text`.
|
|
9442
|
+
*/
|
|
9443
|
+
function hasContentChildren(children) {
|
|
9444
|
+
if (isString(children)) return children !== "";
|
|
9445
|
+
if (isArray(children)) return children.length > 0;
|
|
9446
|
+
return false;
|
|
9447
|
+
}
|
|
9180
9448
|
const createVNode = !!(process.env.NODE_ENV !== "production") ? createVNodeWithArgsTransform : _createVNode;
|
|
9181
9449
|
function _createVNode(type, props = null, children = null, patchFlag = 0, dynamicProps = null, isBlockNode = false) {
|
|
9182
9450
|
if (!type || type === NULL_DYNAMIC_COMPONENT) {
|
|
@@ -9186,8 +9454,10 @@ function _createVNode(type, props = null, children = null, patchFlag = 0, dynami
|
|
|
9186
9454
|
if (isVNode(type)) {
|
|
9187
9455
|
const cloned = cloneVNode(type, props, true);
|
|
9188
9456
|
if (children) normalizeChildren(cloned, children);
|
|
9189
|
-
if (isBlockTreeEnabled > 0 && !isBlockNode && currentBlock)
|
|
9190
|
-
|
|
9457
|
+
if (isBlockTreeEnabled > 0 && !isBlockNode && currentBlock) {
|
|
9458
|
+
if (cloned.shapeFlag & 6) currentBlock[currentBlock.indexOf(type)] = cloned;
|
|
9459
|
+
else currentBlock.push(cloned);
|
|
9460
|
+
}
|
|
9191
9461
|
cloned.patchFlag = -2;
|
|
9192
9462
|
return cloned;
|
|
9193
9463
|
}
|
|
@@ -9248,7 +9518,10 @@ function cloneVNode(vnode, extraProps, mergeRef = false, cloneTransition = false
|
|
|
9248
9518
|
ce: vnode.ce,
|
|
9249
9519
|
vi: vnode.vi,
|
|
9250
9520
|
vs: cloneVaporSlotMeta(vnode),
|
|
9251
|
-
vb: vnode.vb
|
|
9521
|
+
vb: vnode.vb,
|
|
9522
|
+
ibu: vnode.ibu,
|
|
9523
|
+
iu: vnode.iu,
|
|
9524
|
+
cacheIndex: vnode.cacheIndex
|
|
9252
9525
|
};
|
|
9253
9526
|
if (transition && cloneTransition) setTransitionHooks(cloned, transition.clone(cloned));
|
|
9254
9527
|
defineLegacyVNodeProperties(cloned);
|
|
@@ -9259,8 +9532,7 @@ function cloneVaporSlotMeta(vnode) {
|
|
|
9259
9532
|
if (!vaporSlot) return vaporSlot;
|
|
9260
9533
|
const cloned = {
|
|
9261
9534
|
slot: vaporSlot.slot,
|
|
9262
|
-
|
|
9263
|
-
outletFallback: vaporSlot.outletFallback
|
|
9535
|
+
outlets: vaporSlot.outlets
|
|
9264
9536
|
};
|
|
9265
9537
|
if (vnode.el) {
|
|
9266
9538
|
cloned.state = vaporSlot.state;
|
|
@@ -9312,25 +9584,28 @@ function normalizeChildren(vnode, children) {
|
|
|
9312
9584
|
const { shapeFlag } = vnode;
|
|
9313
9585
|
if (children == null) children = null;
|
|
9314
9586
|
else if (isArray(children)) type = 16;
|
|
9315
|
-
else if (typeof children === "object")
|
|
9316
|
-
|
|
9317
|
-
|
|
9318
|
-
|
|
9319
|
-
|
|
9320
|
-
|
|
9321
|
-
|
|
9322
|
-
|
|
9323
|
-
|
|
9324
|
-
|
|
9325
|
-
|
|
9326
|
-
|
|
9327
|
-
|
|
9328
|
-
|
|
9329
|
-
|
|
9330
|
-
|
|
9587
|
+
else if (typeof children === "object") {
|
|
9588
|
+
if (shapeFlag & 65) {
|
|
9589
|
+
const slot = children.default;
|
|
9590
|
+
if (slot) {
|
|
9591
|
+
slot._c && (slot._d = false);
|
|
9592
|
+
normalizeChildren(vnode, slot());
|
|
9593
|
+
slot._c && (slot._d = true);
|
|
9594
|
+
}
|
|
9595
|
+
return;
|
|
9596
|
+
} else {
|
|
9597
|
+
type = 32;
|
|
9598
|
+
const slotFlag = children._;
|
|
9599
|
+
if (!slotFlag && !isInternalObject(children)) children._ctx = currentRenderingInstance;
|
|
9600
|
+
else if (slotFlag === 3 && currentRenderingInstance) {
|
|
9601
|
+
if (currentRenderingInstance.slots._ === 1) children._ = 1;
|
|
9602
|
+
else {
|
|
9603
|
+
children._ = 2;
|
|
9604
|
+
vnode.patchFlag |= 1024;
|
|
9605
|
+
}
|
|
9606
|
+
}
|
|
9331
9607
|
}
|
|
9332
|
-
}
|
|
9333
|
-
else if (isFunction(children)) {
|
|
9608
|
+
} else if (isFunction(children)) {
|
|
9334
9609
|
if (shapeFlag & 65) {
|
|
9335
9610
|
normalizeChildren(vnode, { default: children });
|
|
9336
9611
|
return;
|
|
@@ -9407,6 +9682,16 @@ const setCurrentInstance = (instance, scope = instance !== null ? instance.scope
|
|
|
9407
9682
|
simpleSetCurrentInstance(instance);
|
|
9408
9683
|
}
|
|
9409
9684
|
};
|
|
9685
|
+
/**
|
|
9686
|
+
* Restores a snapshot returned by {@link setCurrentInstance}. Unlike calling
|
|
9687
|
+
* `setCurrentInstance(...prev)`, an `undefined` saved scope is restored
|
|
9688
|
+
* verbatim instead of re-triggering the `instance.scope` default.
|
|
9689
|
+
* @internal
|
|
9690
|
+
*/
|
|
9691
|
+
const restoreCurrentInstance = (prev) => {
|
|
9692
|
+
setCurrentScope(prev[1]);
|
|
9693
|
+
simpleSetCurrentInstance(prev[0]);
|
|
9694
|
+
};
|
|
9410
9695
|
const internalOptions = [
|
|
9411
9696
|
"ce",
|
|
9412
9697
|
"type",
|
|
@@ -9438,7 +9723,7 @@ const useInstanceOption = (key, silent = false) => {
|
|
|
9438
9723
|
};
|
|
9439
9724
|
//#endregion
|
|
9440
9725
|
//#region packages/runtime-core/src/component.ts
|
|
9441
|
-
const emptyAppContext =
|
|
9726
|
+
const emptyAppContext = /*@__PURE__*/ createAppContext();
|
|
9442
9727
|
let uid = 0;
|
|
9443
9728
|
/**
|
|
9444
9729
|
* @internal for vapor
|
|
@@ -9567,7 +9852,7 @@ function setupStatefulComponent(instance, isSSR) {
|
|
|
9567
9852
|
const setupResult = callWithErrorHandling(setup, instance, 0, [!!(process.env.NODE_ENV !== "production") ? /* @__PURE__ */ shallowReadonly(instance.props) : instance.props, setupContext]);
|
|
9568
9853
|
const isAsyncSetup = isPromise(setupResult);
|
|
9569
9854
|
setActiveSub(prevSub);
|
|
9570
|
-
|
|
9855
|
+
restoreCurrentInstance(prev);
|
|
9571
9856
|
if ((isAsyncSetup || instance.sp) && !isAsyncWrapper(instance)) markAsyncBoundary(instance);
|
|
9572
9857
|
if (isAsyncSetup) {
|
|
9573
9858
|
const unsetCurrentInstance = () => {
|
|
@@ -9575,7 +9860,12 @@ function setupStatefulComponent(instance, isSSR) {
|
|
|
9575
9860
|
};
|
|
9576
9861
|
setupResult.then(unsetCurrentInstance, unsetCurrentInstance);
|
|
9577
9862
|
if (isSSR) return setupResult.then((resolvedResult) => {
|
|
9578
|
-
|
|
9863
|
+
setInSSRSetupState(true);
|
|
9864
|
+
try {
|
|
9865
|
+
handleSetupResult(instance, resolvedResult, isSSR);
|
|
9866
|
+
} finally {
|
|
9867
|
+
setInSSRSetupState(false);
|
|
9868
|
+
}
|
|
9579
9869
|
}).catch((e) => {
|
|
9580
9870
|
handleError(e, instance, 0);
|
|
9581
9871
|
});
|
|
@@ -9587,9 +9877,10 @@ function setupStatefulComponent(instance, isSSR) {
|
|
|
9587
9877
|
} else finishComponentSetup(instance, isSSR);
|
|
9588
9878
|
}
|
|
9589
9879
|
function handleSetupResult(instance, setupResult, isSSR) {
|
|
9590
|
-
if (isFunction(setupResult))
|
|
9591
|
-
|
|
9592
|
-
|
|
9880
|
+
if (isFunction(setupResult)) {
|
|
9881
|
+
if (instance.type.__ssrInlineRender) instance.ssrRender = setupResult;
|
|
9882
|
+
else instance.render = setupResult;
|
|
9883
|
+
} else if (isObject(setupResult)) {
|
|
9593
9884
|
if (!!(process.env.NODE_ENV !== "production") && isVNode(setupResult)) warn$1("setup() should not return VNodes directly - return a render function instead.");
|
|
9594
9885
|
if (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_DEVTOOLS__) instance.devtoolsRawSetupState = setupResult;
|
|
9595
9886
|
instance.setupState = proxyRefs(setupResult);
|
|
@@ -9641,13 +9932,15 @@ function finishComponentSetup(instance, isSSR, skipOptions) {
|
|
|
9641
9932
|
applyOptions(instance);
|
|
9642
9933
|
} finally {
|
|
9643
9934
|
setActiveSub(prevSub);
|
|
9644
|
-
|
|
9935
|
+
restoreCurrentInstance(prevInstance);
|
|
9645
9936
|
}
|
|
9646
9937
|
}
|
|
9647
|
-
if (!!(process.env.NODE_ENV !== "production") && !Component.render && instance.render === NOOP && !isSSR)
|
|
9938
|
+
if (!!(process.env.NODE_ENV !== "production") && !Component.render && instance.render === NOOP && !isSSR) {
|
|
9939
|
+
if (!compile$1 && Component.template)
|
|
9648
9940
|
/* v8 ignore start */
|
|
9649
|
-
|
|
9650
|
-
|
|
9941
|
+
warn$1("Component provided template option but runtime compilation is not supported in this build of Vue. Configure your bundler to alias \"vue\" to \"vue/dist/vue.esm-bundler.js\".");
|
|
9942
|
+
else warn$1(`Component is missing template or render function: `, Component);
|
|
9943
|
+
}
|
|
9651
9944
|
}
|
|
9652
9945
|
const attrsProxyHandlers = !!(process.env.NODE_ENV !== "production") ? {
|
|
9653
9946
|
get(target, key) {
|
|
@@ -9720,14 +10013,13 @@ function getComponentPublicInstance(instance) {
|
|
|
9720
10013
|
if (instance.exposed) return instance.exposeProxy || (instance.exposeProxy = new Proxy(proxyRefs(markRaw(instance.exposed)), {
|
|
9721
10014
|
get(target, key) {
|
|
9722
10015
|
if (key in target) return target[key];
|
|
9723
|
-
else {
|
|
10016
|
+
else if (!instance.vapor) {
|
|
9724
10017
|
const publicPropertiesMap = getPublicPropertiesMap();
|
|
9725
10018
|
if (key in publicPropertiesMap) return publicPropertiesMap[key](instance);
|
|
9726
10019
|
}
|
|
9727
10020
|
},
|
|
9728
10021
|
has(target, key) {
|
|
9729
|
-
|
|
9730
|
-
return key in target || key in publicPropertiesMap;
|
|
10022
|
+
return key in target || !instance.vapor && key in getPublicPropertiesMap();
|
|
9731
10023
|
}
|
|
9732
10024
|
}));
|
|
9733
10025
|
else return instance.proxy;
|
|
@@ -9765,11 +10057,12 @@ function h(type, propsOrChildren, children) {
|
|
|
9765
10057
|
try {
|
|
9766
10058
|
setBlockTracking(-1);
|
|
9767
10059
|
const l = arguments.length;
|
|
9768
|
-
if (l === 2)
|
|
9769
|
-
if (
|
|
9770
|
-
|
|
9771
|
-
|
|
9772
|
-
|
|
10060
|
+
if (l === 2) {
|
|
10061
|
+
if (isObject(propsOrChildren) && !isArray(propsOrChildren)) {
|
|
10062
|
+
if (isVNode(propsOrChildren)) return createVNode(type, null, [propsOrChildren]);
|
|
10063
|
+
return createVNode(type, propsOrChildren);
|
|
10064
|
+
} else return createVNode(type, null, propsOrChildren);
|
|
10065
|
+
} else {
|
|
9773
10066
|
if (l > 3) children = Array.prototype.slice.call(arguments, 2);
|
|
9774
10067
|
else if (l === 3 && isVNode(children)) children = [children];
|
|
9775
10068
|
return createVNode(type, propsOrChildren, children);
|
|
@@ -9961,7 +10254,7 @@ function isMemoSame(cached, memo) {
|
|
|
9961
10254
|
}
|
|
9962
10255
|
//#endregion
|
|
9963
10256
|
//#region packages/runtime-core/src/index.ts
|
|
9964
|
-
const version = "3.6.0-rc.
|
|
10257
|
+
const version = "3.6.0-rc.10";
|
|
9965
10258
|
const warn = !!(process.env.NODE_ENV !== "production") ? warn$1 : NOOP;
|
|
9966
10259
|
/**
|
|
9967
10260
|
* Runtime error messages. Only exposed in dev or esm builds.
|
|
@@ -9984,7 +10277,10 @@ const ssrUtils = {
|
|
|
9984
10277
|
getComponentPublicInstance,
|
|
9985
10278
|
ensureValidVNode,
|
|
9986
10279
|
pushWarningContext,
|
|
9987
|
-
popWarningContext
|
|
10280
|
+
popWarningContext,
|
|
10281
|
+
VaporSlot,
|
|
10282
|
+
rawVaporSlotKey,
|
|
10283
|
+
invokeSlotFallback
|
|
9988
10284
|
};
|
|
9989
10285
|
/**
|
|
9990
10286
|
* @internal only exposed in compat builds
|
|
@@ -10006,7 +10302,7 @@ const DeprecationTypes = DeprecationTypes$1;
|
|
|
10006
10302
|
let policy = void 0;
|
|
10007
10303
|
const tt = typeof window !== "undefined" && window.trustedTypes;
|
|
10008
10304
|
if (tt) try {
|
|
10009
|
-
policy =
|
|
10305
|
+
policy = /*@__PURE__*/ tt.createPolicy("vue", { createHTML: (val) => val });
|
|
10010
10306
|
} catch (e) {
|
|
10011
10307
|
process.env.NODE_ENV !== "production" && warn(`Error creating trusted types policy: ${e}`);
|
|
10012
10308
|
}
|
|
@@ -10014,7 +10310,7 @@ const unsafeToTrustedHTML = policy ? (val) => policy.createHTML(val) : (val) =>
|
|
|
10014
10310
|
const svgNS = "http://www.w3.org/2000/svg";
|
|
10015
10311
|
const mathmlNS = "http://www.w3.org/1998/Math/MathML";
|
|
10016
10312
|
const doc = typeof document !== "undefined" ? document : null;
|
|
10017
|
-
const templateContainer = doc &&
|
|
10313
|
+
const templateContainer = doc && /*@__PURE__*/ doc.createElement("template");
|
|
10018
10314
|
const nodeOps = {
|
|
10019
10315
|
insert: (child, parent, anchor) => {
|
|
10020
10316
|
parent.insertBefore(child, anchor || null);
|
|
@@ -10088,7 +10384,7 @@ const DOMTransitionPropsValidators = {
|
|
|
10088
10384
|
leaveActiveClass: String,
|
|
10089
10385
|
leaveToClass: String
|
|
10090
10386
|
};
|
|
10091
|
-
const TransitionPropsValidators =
|
|
10387
|
+
const TransitionPropsValidators = /*@__PURE__*/ extend({}, BaseTransitionPropsValidators, DOMTransitionPropsValidators);
|
|
10092
10388
|
/**
|
|
10093
10389
|
* Wrap logic that attaches extra properties to Transition in a function
|
|
10094
10390
|
* so that it can be annotated as pure
|
|
@@ -10103,7 +10399,7 @@ const decorate$1 = (t) => {
|
|
|
10103
10399
|
* DOM Transition is a higher-order-component based on the platform-agnostic
|
|
10104
10400
|
* base Transition component, with DOM-specific logic.
|
|
10105
10401
|
*/
|
|
10106
|
-
const Transition =
|
|
10402
|
+
const Transition = /*@__PURE__*/ decorate$1((props, { slots }) => h(BaseTransition, resolveTransitionProps(props), slots));
|
|
10107
10403
|
/**
|
|
10108
10404
|
* #3227 Incoming hooks may be merged into arrays when wrapping Transition
|
|
10109
10405
|
* with custom HOCs.
|
|
@@ -10343,14 +10639,15 @@ const vShow = {
|
|
|
10343
10639
|
},
|
|
10344
10640
|
updated(el, { value, oldValue }, { transition }) {
|
|
10345
10641
|
if (!value === !oldValue) return;
|
|
10346
|
-
if (transition)
|
|
10347
|
-
|
|
10348
|
-
|
|
10349
|
-
|
|
10350
|
-
|
|
10351
|
-
|
|
10352
|
-
|
|
10353
|
-
|
|
10642
|
+
if (transition) {
|
|
10643
|
+
if (value) {
|
|
10644
|
+
transition.beforeEnter(el);
|
|
10645
|
+
setDisplay(el, true);
|
|
10646
|
+
transition.enter(el);
|
|
10647
|
+
} else transition.leave(el, () => {
|
|
10648
|
+
setDisplay(el, false);
|
|
10649
|
+
});
|
|
10650
|
+
} else setDisplay(el, value);
|
|
10354
10651
|
},
|
|
10355
10652
|
beforeUnmount(el, { value }) {
|
|
10356
10653
|
setDisplay(el, value);
|
|
@@ -10374,50 +10671,20 @@ const CSS_VAR_TEXT = Symbol(!!(process.env.NODE_ENV !== "production") ? "CSS_VAR
|
|
|
10374
10671
|
*/
|
|
10375
10672
|
function useCssVars(getter) {
|
|
10376
10673
|
const instance = getCurrentInstance();
|
|
10377
|
-
const getVars = () => getter(instance.proxy);
|
|
10378
|
-
const setVars = (vars) => {
|
|
10379
|
-
if (instance.ce) setVarsOnNode(instance.ce, vars);
|
|
10380
|
-
else setVarsOnVNode(instance.subTree, vars);
|
|
10381
|
-
};
|
|
10382
|
-
baseUseCssVars(instance, () => instance.subTree.el.parentNode, getVars, setVars);
|
|
10383
|
-
}
|
|
10384
|
-
function setVarsOnVNode(vnode, vars) {
|
|
10385
|
-
if (vnode.shapeFlag & 128) {
|
|
10386
|
-
const suspense = vnode.suspense;
|
|
10387
|
-
vnode = suspense.activeBranch;
|
|
10388
|
-
if (suspense.pendingBranch && !suspense.isHydrating) suspense.effects.push(() => {
|
|
10389
|
-
setVarsOnVNode(suspense.activeBranch, vars);
|
|
10390
|
-
});
|
|
10391
|
-
}
|
|
10392
|
-
while (vnode.component) vnode = vnode.component.subTree;
|
|
10393
|
-
if (vnode.shapeFlag & 1 && vnode.el) setVarsOnNode(vnode.el, vars);
|
|
10394
|
-
else if (vnode.type === Fragment) vnode.children.forEach((c) => setVarsOnVNode(c, vars));
|
|
10395
|
-
else if (vnode.type === Static) {
|
|
10396
|
-
let { el, anchor } = vnode;
|
|
10397
|
-
while (el) {
|
|
10398
|
-
setVarsOnNode(el, vars);
|
|
10399
|
-
if (el === anchor) break;
|
|
10400
|
-
el = el.nextSibling;
|
|
10401
|
-
}
|
|
10402
|
-
}
|
|
10403
|
-
}
|
|
10404
|
-
/**
|
|
10405
|
-
* @internal
|
|
10406
|
-
* shared between vdom and vapor
|
|
10407
|
-
*/
|
|
10408
|
-
function baseUseCssVars(instance, getParentNode, getVars, setVars) {
|
|
10409
10674
|
/* v8 ignore start */
|
|
10410
10675
|
if (!instance) {
|
|
10411
10676
|
process.env.NODE_ENV !== "production" && warn(`useCssVars is called without current active component instance.`);
|
|
10412
10677
|
return;
|
|
10413
10678
|
}
|
|
10414
10679
|
/* v8 ignore stop */
|
|
10680
|
+
const getVars = () => getter(instance.proxy);
|
|
10415
10681
|
if (!!(process.env.NODE_ENV !== "production")) instance.getCssVars = getVars;
|
|
10416
10682
|
const updateTeleports = instance.ut = (vars = getVars()) => {
|
|
10417
10683
|
Array.from(document.querySelectorAll(`[data-v-owner="${instance.uid}"]`)).forEach((node) => setVarsOnNode(node, vars));
|
|
10418
10684
|
};
|
|
10419
10685
|
const applyCssVars = (vars = getVars()) => {
|
|
10420
|
-
|
|
10686
|
+
if (instance.ce) setVarsOnNode(instance.ce, vars);
|
|
10687
|
+
else setVarsOnVNode(instance.subTree, vars);
|
|
10421
10688
|
updateTeleports(vars);
|
|
10422
10689
|
};
|
|
10423
10690
|
onBeforeUpdate(() => {
|
|
@@ -10430,10 +10697,38 @@ function baseUseCssVars(instance, getParentNode, getVars, setVars) {
|
|
|
10430
10697
|
applyCssVars(vars);
|
|
10431
10698
|
}, NOOP, { flush: "post" });
|
|
10432
10699
|
const ob = new MutationObserver(() => applyCssVars());
|
|
10433
|
-
ob.observe(
|
|
10700
|
+
ob.observe(instance.subTree.el.parentNode, { childList: true });
|
|
10434
10701
|
onUnmounted(() => ob.disconnect());
|
|
10435
10702
|
});
|
|
10436
10703
|
}
|
|
10704
|
+
function setVarsOnVNode(vnode, vars) {
|
|
10705
|
+
if (vnode.shapeFlag & 128) {
|
|
10706
|
+
const suspense = vnode.suspense;
|
|
10707
|
+
vnode = suspense.activeBranch;
|
|
10708
|
+
if (suspense.pendingBranch && !suspense.isHydrating) suspense.effects.push(() => {
|
|
10709
|
+
setVarsOnVNode(suspense.activeBranch, vars);
|
|
10710
|
+
});
|
|
10711
|
+
}
|
|
10712
|
+
while (vnode.component) {
|
|
10713
|
+
const component = vnode.component;
|
|
10714
|
+
if (component.vapor) {
|
|
10715
|
+
component.appContext.vapor.applyCssVars(vnode, vars);
|
|
10716
|
+
return;
|
|
10717
|
+
}
|
|
10718
|
+
vnode = vnode.component.subTree;
|
|
10719
|
+
}
|
|
10720
|
+
if (vnode.shapeFlag & 1 && vnode.el) setVarsOnNode(vnode.el, vars);
|
|
10721
|
+
else if (vnode.vb) vnode.ctx.appContext.vapor.applyCssVars(vnode, vars);
|
|
10722
|
+
else if (vnode.type === Fragment) vnode.children.forEach((c) => setVarsOnVNode(c, vars));
|
|
10723
|
+
else if (vnode.type === Static) {
|
|
10724
|
+
let { el, anchor } = vnode;
|
|
10725
|
+
while (el) {
|
|
10726
|
+
setVarsOnNode(el, vars);
|
|
10727
|
+
if (el === anchor) break;
|
|
10728
|
+
el = el.nextSibling;
|
|
10729
|
+
}
|
|
10730
|
+
}
|
|
10731
|
+
}
|
|
10437
10732
|
/**
|
|
10438
10733
|
* @internal
|
|
10439
10734
|
* shared between vdom and vapor
|
|
@@ -10458,11 +10753,13 @@ function patchStyle(el, prev, next) {
|
|
|
10458
10753
|
const isCssString = isString(next);
|
|
10459
10754
|
let hasControlledDisplay = false;
|
|
10460
10755
|
if (next && !isCssString) {
|
|
10461
|
-
if (prev)
|
|
10462
|
-
|
|
10463
|
-
|
|
10464
|
-
|
|
10465
|
-
|
|
10756
|
+
if (prev) {
|
|
10757
|
+
if (!isString(prev)) {
|
|
10758
|
+
for (const key in prev) if (next[key] == null) setStyle(style, key, "");
|
|
10759
|
+
} else for (const prevStyle of prev.split(";")) {
|
|
10760
|
+
const key = prevStyle.slice(0, prevStyle.indexOf(":")).trim();
|
|
10761
|
+
if (next[key] == null) setStyle(style, key, "");
|
|
10762
|
+
}
|
|
10466
10763
|
}
|
|
10467
10764
|
for (const key in next) {
|
|
10468
10765
|
if (key === "display") hasControlledDisplay = true;
|
|
@@ -10478,7 +10775,11 @@ function patchStyle(el, prev, next) {
|
|
|
10478
10775
|
style.cssText = next;
|
|
10479
10776
|
hasControlledDisplay = displayRE.test(next);
|
|
10480
10777
|
}
|
|
10481
|
-
} else if (prev)
|
|
10778
|
+
} else if (prev) {
|
|
10779
|
+
const cssVarText = style[CSS_VAR_TEXT];
|
|
10780
|
+
if (cssVarText) style.cssText = cssVarText;
|
|
10781
|
+
else el.removeAttribute("style");
|
|
10782
|
+
}
|
|
10482
10783
|
if (vShowOriginalDisplay in el) {
|
|
10483
10784
|
el[vShowOriginalDisplay] = hasControlledDisplay ? style.display : "";
|
|
10484
10785
|
if (el[vShowHidden]) style.display = "none";
|
|
@@ -10493,8 +10794,10 @@ function setStyle(style, name, rawVal) {
|
|
|
10493
10794
|
if (!!(process.env.NODE_ENV !== "production")) {
|
|
10494
10795
|
if (semicolonRE.test(val)) warn(`Unexpected semicolon at the end of '${name}' style value: '${val}'`);
|
|
10495
10796
|
}
|
|
10496
|
-
if (name.startsWith("--"))
|
|
10497
|
-
|
|
10797
|
+
if (name.startsWith("--")) {
|
|
10798
|
+
if (importantRE.test(val)) style.setProperty(name, val.replace(importantRE, ""), "important");
|
|
10799
|
+
else style.setProperty(name, val);
|
|
10800
|
+
} else {
|
|
10498
10801
|
const prefixed = autoPrefix(style, name);
|
|
10499
10802
|
if (importantRE.test(val)) style.setProperty(hyphenate(prefixed), val.replace(importantRE, ""), "important");
|
|
10500
10803
|
else style[prefixed] = val;
|
|
@@ -10531,15 +10834,16 @@ function shouldPreserveTextareaResizeStyle(el, key, prev, next) {
|
|
|
10531
10834
|
//#region packages/runtime-dom/src/modules/attrs.ts
|
|
10532
10835
|
const xlinkNS = "http://www.w3.org/1999/xlink";
|
|
10533
10836
|
function patchAttr(el, key, value, isSVG, instance, isBoolean = isSpecialBooleanAttr(key)) {
|
|
10534
|
-
if (isSVG && key.startsWith("xlink:"))
|
|
10535
|
-
|
|
10536
|
-
|
|
10837
|
+
if (isSVG && key.startsWith("xlink:")) {
|
|
10838
|
+
if (value == null) el.removeAttributeNS(xlinkNS, key.slice(6, key.length));
|
|
10839
|
+
else el.setAttributeNS(xlinkNS, key, value);
|
|
10840
|
+
} else {
|
|
10537
10841
|
if (compatCoerceAttr(el, key, value, instance)) return;
|
|
10538
10842
|
if (value == null || isBoolean && !includeBooleanAttr(value)) el.removeAttribute(key);
|
|
10539
10843
|
else el.setAttribute(key, isBoolean ? "" : isSymbol(value) ? String(value) : value);
|
|
10540
10844
|
}
|
|
10541
10845
|
}
|
|
10542
|
-
const isEnumeratedAttr =
|
|
10846
|
+
const isEnumeratedAttr = /*@__PURE__*/ makeMap("contenteditable,draggable,spellcheck");
|
|
10543
10847
|
function compatCoerceAttr(el, key, value, instance = null) {
|
|
10544
10848
|
if (isEnumeratedAttr(key)) {
|
|
10545
10849
|
const v2CoercedValue = value === void 0 ? null : value === null || value === false || value === "false" ? "false" : "true";
|
|
@@ -10631,7 +10935,7 @@ function parseEventName(name) {
|
|
|
10631
10935
|
return [name[2] === ":" ? name.slice(3) : hyphenate(name.slice(2)), options];
|
|
10632
10936
|
}
|
|
10633
10937
|
let cachedNow = 0;
|
|
10634
|
-
const p =
|
|
10938
|
+
const p = /*@__PURE__*/ Promise.resolve();
|
|
10635
10939
|
const getNow = () => cachedNow || (p.then(() => cachedNow = 0), cachedNow = Date.now());
|
|
10636
10940
|
function createInvoker(initialValue, instance) {
|
|
10637
10941
|
const invoker = (e) => {
|
|
@@ -10699,7 +11003,7 @@ function shouldSetAsPropForVueCE(el, key) {
|
|
|
10699
11003
|
//#endregion
|
|
10700
11004
|
//#region packages/runtime-dom/src/apiCustomElement.ts
|
|
10701
11005
|
const REMOVAL = {};
|
|
10702
|
-
|
|
11006
|
+
/*@__NO_SIDE_EFFECTS__*/
|
|
10703
11007
|
function defineCustomElement(options, extraOptions, _createApp) {
|
|
10704
11008
|
let Comp = /* @__PURE__ */ defineComponent(options, extraOptions);
|
|
10705
11009
|
if (isPlainObject(Comp)) Comp = extend({}, Comp, extraOptions);
|
|
@@ -10748,12 +11052,14 @@ var VueElementBase = class VueElementBase extends BaseClass {
|
|
|
10748
11052
|
this._parent = parent;
|
|
10749
11053
|
break;
|
|
10750
11054
|
}
|
|
10751
|
-
if (!this._instance)
|
|
10752
|
-
|
|
10753
|
-
this._pendingResolve =
|
|
10754
|
-
|
|
10755
|
-
|
|
10756
|
-
|
|
11055
|
+
if (!this._instance) {
|
|
11056
|
+
if (this._resolved) this._mountComponent(this._def);
|
|
11057
|
+
else if (parent && parent._pendingResolve) this._pendingResolve = parent._pendingResolve.then(() => {
|
|
11058
|
+
this._pendingResolve = void 0;
|
|
11059
|
+
if (this.isConnected) return this._resolveDef();
|
|
11060
|
+
});
|
|
11061
|
+
else this._resolveDef();
|
|
11062
|
+
}
|
|
10757
11063
|
}
|
|
10758
11064
|
disconnectedCallback() {
|
|
10759
11065
|
this._connected = false;
|
|
@@ -10787,7 +11093,7 @@ var VueElementBase = class VueElementBase extends BaseClass {
|
|
|
10787
11093
|
* resolve inner component definition (handle possible async component)
|
|
10788
11094
|
*/
|
|
10789
11095
|
_resolveDef() {
|
|
10790
|
-
if (this._pendingResolve) return;
|
|
11096
|
+
if (this._pendingResolve) return this._pendingResolve;
|
|
10791
11097
|
for (let i = 0; i < this.attributes.length; i++) this._setAttr(this.attributes[i].name);
|
|
10792
11098
|
this._ob = new MutationObserver(this._processMutations.bind(this));
|
|
10793
11099
|
this._ob.observe(this, { attributes: true });
|
|
@@ -10817,6 +11123,7 @@ var VueElementBase = class VueElementBase extends BaseClass {
|
|
|
10817
11123
|
this._def = def;
|
|
10818
11124
|
resolve(def);
|
|
10819
11125
|
});
|
|
11126
|
+
return this._pendingResolve;
|
|
10820
11127
|
} else resolve(this._def);
|
|
10821
11128
|
}
|
|
10822
11129
|
_mountComponent(def) {
|
|
@@ -10855,14 +11162,17 @@ var VueElementBase = class VueElementBase extends BaseClass {
|
|
|
10855
11162
|
const { props } = def;
|
|
10856
11163
|
const declaredPropKeys = isArray(props) ? props : Object.keys(props || {});
|
|
10857
11164
|
for (const key of Object.keys(this)) if (key[0] !== "_" && declaredPropKeys.includes(key)) this._setProp(key, this[key]);
|
|
10858
|
-
for (const key of declaredPropKeys.map(camelize))
|
|
10859
|
-
|
|
10860
|
-
|
|
10861
|
-
|
|
10862
|
-
|
|
10863
|
-
|
|
10864
|
-
|
|
10865
|
-
|
|
11165
|
+
for (const key of declaredPropKeys.map(camelize)) {
|
|
11166
|
+
if (!!(process.env.NODE_ENV !== "production") && key in Object.getPrototypeOf(this)) warn(`Custom element prop "${key}" conflicts with an existing property on the element and will overwrite it.`);
|
|
11167
|
+
Object.defineProperty(this, key, {
|
|
11168
|
+
get() {
|
|
11169
|
+
return this._getProp(key);
|
|
11170
|
+
},
|
|
11171
|
+
set(val) {
|
|
11172
|
+
this._setProp(key, val, true, !this._patching);
|
|
11173
|
+
}
|
|
11174
|
+
});
|
|
11175
|
+
}
|
|
10866
11176
|
}
|
|
10867
11177
|
_setAttr(key) {
|
|
10868
11178
|
if (key.startsWith("data-v-")) return;
|
|
@@ -10923,14 +11233,16 @@ var VueElementBase = class VueElementBase extends BaseClass {
|
|
|
10923
11233
|
if (!parentComp) this._styleAnchors.set(this._def, s);
|
|
10924
11234
|
if (owner) this._styleAnchors.set(owner, s);
|
|
10925
11235
|
}
|
|
10926
|
-
if (!!(process.env.NODE_ENV !== "production"))
|
|
10927
|
-
if (owner
|
|
10928
|
-
if (
|
|
10929
|
-
|
|
10930
|
-
|
|
10931
|
-
|
|
10932
|
-
|
|
10933
|
-
|
|
11236
|
+
if (!!(process.env.NODE_ENV !== "production")) {
|
|
11237
|
+
if (owner) {
|
|
11238
|
+
if (owner.__hmrId) {
|
|
11239
|
+
if (!this._childStyles) this._childStyles = /* @__PURE__ */ new Map();
|
|
11240
|
+
let entry = this._childStyles.get(owner.__hmrId);
|
|
11241
|
+
if (!entry) this._childStyles.set(owner.__hmrId, entry = []);
|
|
11242
|
+
entry.push(s);
|
|
11243
|
+
}
|
|
11244
|
+
} else (this._styles || (this._styles = [])).push(s);
|
|
11245
|
+
}
|
|
10934
11246
|
}
|
|
10935
11247
|
}
|
|
10936
11248
|
_getStyleAnchor(comp) {
|
|
@@ -10965,13 +11277,11 @@ var VueElementBase = class VueElementBase extends BaseClass {
|
|
|
10965
11277
|
_renderSlots() {
|
|
10966
11278
|
const outlets = this._getSlots();
|
|
10967
11279
|
const scopeId = this._instance.type.__scopeId;
|
|
10968
|
-
const slotReplacements = /* @__PURE__ */ new Map();
|
|
10969
11280
|
for (let i = 0; i < outlets.length; i++) {
|
|
10970
11281
|
const o = outlets[i];
|
|
10971
11282
|
const slotName = o.getAttribute("name") || "default";
|
|
10972
11283
|
const content = this._slots[slotName];
|
|
10973
11284
|
const parent = o.parentNode;
|
|
10974
|
-
const replacementNodes = [];
|
|
10975
11285
|
if (content) for (const n of content) {
|
|
10976
11286
|
if (scopeId && n.nodeType === 1) {
|
|
10977
11287
|
const id = scopeId + "-s";
|
|
@@ -10981,20 +11291,10 @@ var VueElementBase = class VueElementBase extends BaseClass {
|
|
|
10981
11291
|
while (child = walker.nextNode()) child.setAttribute(id, "");
|
|
10982
11292
|
}
|
|
10983
11293
|
parent.insertBefore(n, o);
|
|
10984
|
-
replacementNodes.push(n);
|
|
10985
|
-
}
|
|
10986
|
-
else while (o.firstChild) {
|
|
10987
|
-
const child = o.firstChild;
|
|
10988
|
-
parent.insertBefore(child, o);
|
|
10989
|
-
replacementNodes.push(child);
|
|
10990
11294
|
}
|
|
11295
|
+
else while (o.firstChild) parent.insertBefore(o.firstChild, o);
|
|
10991
11296
|
parent.removeChild(o);
|
|
10992
|
-
slotReplacements.set(o, {
|
|
10993
|
-
nodes: replacementNodes,
|
|
10994
|
-
usedFallback: !content
|
|
10995
|
-
});
|
|
10996
11297
|
}
|
|
10997
|
-
this._updateSlotNodes(slotReplacements);
|
|
10998
11298
|
}
|
|
10999
11299
|
/**
|
|
11000
11300
|
* @internal
|
|
@@ -11033,7 +11333,7 @@ var VueElementBase = class VueElementBase extends BaseClass {
|
|
|
11033
11333
|
* @internal
|
|
11034
11334
|
*/
|
|
11035
11335
|
_hasShadowRoot() {
|
|
11036
|
-
return this.
|
|
11336
|
+
return this._root !== this;
|
|
11037
11337
|
}
|
|
11038
11338
|
/**
|
|
11039
11339
|
* @internal
|
|
@@ -11080,10 +11380,6 @@ var VueElement = class extends VueElementBase {
|
|
|
11080
11380
|
if (this._instance && this._instance.ce) this._instance.ce = void 0;
|
|
11081
11381
|
this._app = this._instance = null;
|
|
11082
11382
|
}
|
|
11083
|
-
/**
|
|
11084
|
-
* Only called when shadowRoot is false
|
|
11085
|
-
*/
|
|
11086
|
-
_updateSlotNodes(replacements) {}
|
|
11087
11383
|
_createVNode() {
|
|
11088
11384
|
const baseProps = {};
|
|
11089
11385
|
if (!this.shadowRoot) baseProps.onVnodeMounted = baseProps.onVnodeUpdated = this._renderSlots.bind(this);
|
|
@@ -11099,8 +11395,10 @@ function useHost(caller) {
|
|
|
11099
11395
|
const { hasInstance, value } = useInstanceOption("ce", true);
|
|
11100
11396
|
const el = value;
|
|
11101
11397
|
if (el) return el;
|
|
11102
|
-
else if (!!(process.env.NODE_ENV !== "production"))
|
|
11103
|
-
|
|
11398
|
+
else if (!!(process.env.NODE_ENV !== "production")) {
|
|
11399
|
+
if (!hasInstance) warn(`${caller || "useHost"} called without an active component instance.`);
|
|
11400
|
+
else warn(`${caller || "useHost"} can only be used in components defined via defineCustomElement.`);
|
|
11401
|
+
}
|
|
11104
11402
|
return null;
|
|
11105
11403
|
}
|
|
11106
11404
|
/**
|
|
@@ -11150,7 +11448,7 @@ const decorate = (t) => {
|
|
|
11150
11448
|
};
|
|
11151
11449
|
const TransitionGroup = /* @__PURE__ */ decorate({
|
|
11152
11450
|
name: "TransitionGroup",
|
|
11153
|
-
props:
|
|
11451
|
+
props: /*@__PURE__*/ extend({}, TransitionPropsValidators, {
|
|
11154
11452
|
tag: String,
|
|
11155
11453
|
moveClass: String
|
|
11156
11454
|
}),
|
|
@@ -11282,13 +11580,22 @@ function onCompositionEnd(e) {
|
|
|
11282
11580
|
}
|
|
11283
11581
|
}
|
|
11284
11582
|
const assignKey = Symbol("_assign");
|
|
11583
|
+
const initialValueKey = Symbol("_initialValue");
|
|
11285
11584
|
const vModelText = {
|
|
11286
11585
|
created(el, { modifiers: { lazy, trim, number } }, vnode) {
|
|
11586
|
+
if (el.parentNode) {
|
|
11587
|
+
if (el.type === "text") el[initialValueKey] = el.defaultValue.replace(/[\r\n]/g, "");
|
|
11588
|
+
else if (el.type === "textarea") el[initialValueKey] = el.defaultValue.replace(/\r\n?/g, "\n");
|
|
11589
|
+
}
|
|
11287
11590
|
el[assignKey] = getModelAssigner(vnode);
|
|
11288
11591
|
vModelTextInit(el, trim, number || !!(vnode.props && vnode.props.type === "number"), lazy);
|
|
11289
11592
|
},
|
|
11290
|
-
mounted(el, { value }) {
|
|
11291
|
-
|
|
11593
|
+
mounted(el, { value, modifiers: { trim, number } }) {
|
|
11594
|
+
const newValue = value == null ? "" : value;
|
|
11595
|
+
const initialValue = el[initialValueKey];
|
|
11596
|
+
delete el[initialValueKey];
|
|
11597
|
+
if (initialValue !== void 0 && (el.type === "text" || el.type === "textarea") && el.value !== initialValue) el[assignKey](castValue(el.value, trim, number));
|
|
11598
|
+
else el.value = newValue;
|
|
11292
11599
|
},
|
|
11293
11600
|
beforeUpdate(el, { value, oldValue, modifiers: { lazy, trim, number } }, vnode) {
|
|
11294
11601
|
el[assignKey] = getModelAssigner(vnode);
|
|
@@ -11423,19 +11730,39 @@ const vModelSelectInit = (el, value, number, set) => {
|
|
|
11423
11730
|
el._modelValue = value;
|
|
11424
11731
|
addEventListener(el, "change", () => {
|
|
11425
11732
|
const selectedVal = Array.prototype.filter.call(el.options, (o) => o.selected).map((o) => number ? looseToNumber(getValue(o)) : getValue(o));
|
|
11426
|
-
|
|
11427
|
-
el.
|
|
11428
|
-
|
|
11429
|
-
|
|
11430
|
-
|
|
11733
|
+
const multiple = el.multiple;
|
|
11734
|
+
const assignedValue = multiple ? isSet(el._modelValue) ? new Set(selectedVal) : selectedVal : selectedVal[0];
|
|
11735
|
+
const pending = el._pendingValue = [multiple, multiple ? isArray(assignedValue) ? selectedVal.slice() : selectedVal : assignedValue];
|
|
11736
|
+
try {
|
|
11737
|
+
(set || el[assignKey])(assignedValue);
|
|
11738
|
+
} finally {
|
|
11739
|
+
nextTick(() => {
|
|
11740
|
+
if (el._pendingValue === pending) el._pendingValue = void 0;
|
|
11741
|
+
});
|
|
11742
|
+
}
|
|
11431
11743
|
});
|
|
11432
11744
|
};
|
|
11745
|
+
function isSameSelectValue(value, assignedValue, multiple) {
|
|
11746
|
+
if (!multiple) return looseEqual(value, assignedValue);
|
|
11747
|
+
if (isArray(value)) return looseEqual(value, assignedValue);
|
|
11748
|
+
if (isSet(value)) {
|
|
11749
|
+
if (value.size !== assignedValue.length) return false;
|
|
11750
|
+
for (const item of assignedValue) if (!value.has(item)) return false;
|
|
11751
|
+
return true;
|
|
11752
|
+
}
|
|
11753
|
+
return false;
|
|
11754
|
+
}
|
|
11433
11755
|
/**
|
|
11434
11756
|
* @internal
|
|
11435
11757
|
*/
|
|
11436
11758
|
const vModelSetSelected = (el, value) => {
|
|
11437
11759
|
el._modelValue = value;
|
|
11438
|
-
|
|
11760
|
+
const pending = el._pendingValue;
|
|
11761
|
+
el._pendingValue = void 0;
|
|
11762
|
+
if (pending && pending[0] === el.multiple && isSameSelectValue(value, pending[1], pending[0])) return;
|
|
11763
|
+
setSelected(el, value);
|
|
11764
|
+
};
|
|
11765
|
+
function setSelected(el, value) {
|
|
11439
11766
|
const isMultiple = el.multiple;
|
|
11440
11767
|
const isArrayValue = isArray(value);
|
|
11441
11768
|
if (isMultiple && !isArrayValue && !isSet(value)) {
|
|
@@ -11445,18 +11772,19 @@ const vModelSetSelected = (el, value) => {
|
|
|
11445
11772
|
for (let i = 0, l = el.options.length; i < l; i++) {
|
|
11446
11773
|
const option = el.options[i];
|
|
11447
11774
|
const optionValue = getValue(option);
|
|
11448
|
-
if (isMultiple)
|
|
11449
|
-
|
|
11450
|
-
|
|
11451
|
-
|
|
11452
|
-
|
|
11453
|
-
|
|
11775
|
+
if (isMultiple) {
|
|
11776
|
+
if (isArrayValue) {
|
|
11777
|
+
const optionType = typeof optionValue;
|
|
11778
|
+
if (optionType === "string" || optionType === "number") option.selected = value.some((v) => String(v) === String(optionValue));
|
|
11779
|
+
else option.selected = looseIndexOf(value, optionValue) > -1;
|
|
11780
|
+
} else option.selected = value.has(optionValue);
|
|
11781
|
+
} else if (looseEqual(getValue(option), value)) {
|
|
11454
11782
|
if (el.selectedIndex !== i) el.selectedIndex = i;
|
|
11455
11783
|
return;
|
|
11456
11784
|
}
|
|
11457
11785
|
}
|
|
11458
11786
|
if (!isMultiple && el.selectedIndex !== -1) el.selectedIndex = -1;
|
|
11459
|
-
}
|
|
11787
|
+
}
|
|
11460
11788
|
/**
|
|
11461
11789
|
* @internal retrieve raw value set via :value bindings
|
|
11462
11790
|
*/
|
|
@@ -11626,7 +11954,6 @@ var src_exports = /* @__PURE__ */ __exportAll({
|
|
|
11626
11954
|
baseEmit: () => baseEmit,
|
|
11627
11955
|
baseNormalizePropsOptions: () => baseNormalizePropsOptions,
|
|
11628
11956
|
baseResolveTransitionHooks: () => baseResolveTransitionHooks,
|
|
11629
|
-
baseUseCssVars: () => baseUseCssVars,
|
|
11630
11957
|
callPendingCbs: () => callPendingCbs,
|
|
11631
11958
|
callWithAsyncErrorHandling: () => callWithAsyncErrorHandling,
|
|
11632
11959
|
callWithErrorHandling: () => callWithErrorHandling,
|
|
@@ -11656,6 +11983,7 @@ var src_exports = /* @__PURE__ */ __exportAll({
|
|
|
11656
11983
|
currentInstance: () => currentInstance,
|
|
11657
11984
|
customRef: () => customRef,
|
|
11658
11985
|
deactivate: () => deactivate,
|
|
11986
|
+
defaultPropGetter: () => defaultPropGetter,
|
|
11659
11987
|
defineAsyncComponent: () => defineAsyncComponent,
|
|
11660
11988
|
defineComponent: () => defineComponent,
|
|
11661
11989
|
defineCustomElement: () => defineCustomElement,
|
|
@@ -11674,12 +12002,13 @@ var src_exports = /* @__PURE__ */ __exportAll({
|
|
|
11674
12002
|
ensureHydrationRenderer: () => ensureHydrationRenderer,
|
|
11675
12003
|
ensureRenderer: () => ensureRenderer,
|
|
11676
12004
|
ensureValidVNode: () => ensureValidVNode,
|
|
11677
|
-
ensureVaporSlotFallback: () => ensureVaporSlotFallback,
|
|
11678
12005
|
expose: () => expose,
|
|
12006
|
+
filterModelListeners: () => filterModelListeners,
|
|
11679
12007
|
flushOnAppMount: () => flushOnAppMount,
|
|
11680
12008
|
forceReflow: () => forceReflow,
|
|
11681
12009
|
getAttributeMismatch: () => getAttributeMismatch,
|
|
11682
12010
|
getComponentName: () => getComponentName,
|
|
12011
|
+
getContainerType: () => getContainerType,
|
|
11683
12012
|
getCurrentInstance: () => getCurrentInstance,
|
|
11684
12013
|
getCurrentScope: () => getCurrentScope,
|
|
11685
12014
|
getCurrentWatcher: () => getCurrentWatcher,
|
|
@@ -11703,9 +12032,13 @@ var src_exports = /* @__PURE__ */ __exportAll({
|
|
|
11703
12032
|
inject: () => inject,
|
|
11704
12033
|
invalidateMount: () => invalidateMount,
|
|
11705
12034
|
invokeDirectiveHook: () => invokeDirectiveHook,
|
|
12035
|
+
invokeSlotFallback: () => invokeSlotFallback,
|
|
12036
|
+
invokeVNodeHook: () => invokeVNodeHook,
|
|
11706
12037
|
isAsyncWrapper: () => isAsyncWrapper,
|
|
11707
12038
|
isEmitListener: () => isEmitListener,
|
|
12039
|
+
isFunctionalFallthroughKey: () => isFunctionalFallthroughKey,
|
|
11708
12040
|
isHydrating: () => isHydrating,
|
|
12041
|
+
isHydratingEnabled: () => isHydratingEnabled,
|
|
11709
12042
|
isKeepAlive: () => isKeepAlive,
|
|
11710
12043
|
isMapEqual: () => isMapEqual,
|
|
11711
12044
|
isMemoSame: () => isMemoSame,
|
|
@@ -11721,6 +12054,7 @@ var src_exports = /* @__PURE__ */ __exportAll({
|
|
|
11721
12054
|
isTeleportDisabled: () => isTeleportDisabled,
|
|
11722
12055
|
isTemplateNode: () => isTemplateNode,
|
|
11723
12056
|
isTemplateRefKey: () => isTemplateRefKey,
|
|
12057
|
+
isUnchangedResourceProp: () => isUnchangedResourceProp,
|
|
11724
12058
|
isVNode: () => isVNode,
|
|
11725
12059
|
isValidHtmlOrSvgAttribute: () => isValidHtmlOrSvgAttribute,
|
|
11726
12060
|
knownTemplateRefs: () => knownTemplateRefs,
|
|
@@ -11757,6 +12091,7 @@ var src_exports = /* @__PURE__ */ __exportAll({
|
|
|
11757
12091
|
onWatcherCleanup: () => onWatcherCleanup,
|
|
11758
12092
|
openBlock: () => openBlock,
|
|
11759
12093
|
parseEventName: () => parseEventName,
|
|
12094
|
+
patchClass: () => patchClass,
|
|
11760
12095
|
patchProp: () => patchProp,
|
|
11761
12096
|
patchStyle: () => patchStyle,
|
|
11762
12097
|
performAsyncHydrate: () => performAsyncHydrate,
|
|
@@ -11764,12 +12099,16 @@ var src_exports = /* @__PURE__ */ __exportAll({
|
|
|
11764
12099
|
performTransitionLeave: () => performTransitionLeave,
|
|
11765
12100
|
popScopeId: () => popScopeId,
|
|
11766
12101
|
popWarningContext: () => popWarningContext,
|
|
12102
|
+
prepareTransitionLeave: () => prepareTransitionLeave,
|
|
12103
|
+
prepareTransitionSwitch: () => prepareTransitionSwitch,
|
|
11767
12104
|
provide: () => provide,
|
|
11768
12105
|
proxyRefs: () => proxyRefs,
|
|
11769
12106
|
pushScopeId: () => pushScopeId,
|
|
11770
12107
|
pushWarningContext: () => pushWarningContext,
|
|
11771
12108
|
queueJob: () => queueJob,
|
|
11772
12109
|
queuePostFlushCb: () => queuePostFlushCb,
|
|
12110
|
+
queuePostRenderEffect: () => queuePostRenderEffect,
|
|
12111
|
+
rawVaporSlotKey: () => rawVaporSlotKey,
|
|
11773
12112
|
reactive: () => reactive,
|
|
11774
12113
|
readonly: () => readonly,
|
|
11775
12114
|
ref: () => ref,
|
|
@@ -11780,13 +12119,16 @@ var src_exports = /* @__PURE__ */ __exportAll({
|
|
|
11780
12119
|
renderSlot: () => renderSlot,
|
|
11781
12120
|
resetShapeFlag: () => resetShapeFlag,
|
|
11782
12121
|
resolveComponent: () => resolveComponent,
|
|
12122
|
+
resolveCssVars: () => resolveCssVars,
|
|
11783
12123
|
resolveDirective: () => resolveDirective,
|
|
11784
12124
|
resolveDynamicComponent: () => resolveDynamicComponent,
|
|
11785
12125
|
resolveFilter: () => resolveFilter,
|
|
11786
12126
|
resolvePropValue: () => resolvePropValue,
|
|
11787
12127
|
resolveTeleportTarget: () => resolveTarget,
|
|
12128
|
+
resolveTransitionChild: () => resolveTransitionChild,
|
|
11788
12129
|
resolveTransitionHooks: () => resolveTransitionHooks,
|
|
11789
12130
|
resolveTransitionProps: () => resolveTransitionProps,
|
|
12131
|
+
restoreCurrentInstance: () => restoreCurrentInstance,
|
|
11790
12132
|
setBlockTracking: () => setBlockTracking,
|
|
11791
12133
|
setCurrentInstance: () => setCurrentInstance,
|
|
11792
12134
|
setCurrentRenderingInstance: () => setCurrentRenderingInstance,
|
|
@@ -11869,7 +12211,7 @@ var src_exports = /* @__PURE__ */ __exportAll({
|
|
|
11869
12211
|
withScopeId: () => withScopeId,
|
|
11870
12212
|
xlinkNS: () => xlinkNS
|
|
11871
12213
|
});
|
|
11872
|
-
const rendererOptions =
|
|
12214
|
+
const rendererOptions = /*@__PURE__*/ extend({ patchProp }, nodeOps);
|
|
11873
12215
|
let renderer;
|
|
11874
12216
|
let enabledHydration = false;
|
|
11875
12217
|
function ensureRenderer() {
|
|
@@ -12430,13 +12772,14 @@ var Tokenizer = class {
|
|
|
12430
12772
|
}
|
|
12431
12773
|
}
|
|
12432
12774
|
stateInterpolationOpen(c) {
|
|
12433
|
-
if (c === this.delimiterOpen[this.delimiterIndex])
|
|
12434
|
-
|
|
12435
|
-
|
|
12436
|
-
|
|
12437
|
-
|
|
12438
|
-
|
|
12439
|
-
|
|
12775
|
+
if (c === this.delimiterOpen[this.delimiterIndex]) {
|
|
12776
|
+
if (this.delimiterIndex === this.delimiterOpen.length - 1) {
|
|
12777
|
+
const start = this.index + 1 - this.delimiterOpen.length;
|
|
12778
|
+
if (start > this.sectionStart) this.cbs.ontext(this.sectionStart, start);
|
|
12779
|
+
this.state = 3;
|
|
12780
|
+
this.sectionStart = start;
|
|
12781
|
+
} else this.delimiterIndex++;
|
|
12782
|
+
} else if (this.inRCDATA) {
|
|
12440
12783
|
this.state = 32;
|
|
12441
12784
|
this.stateInRCDATA(c);
|
|
12442
12785
|
} else {
|
|
@@ -12452,13 +12795,14 @@ var Tokenizer = class {
|
|
|
12452
12795
|
}
|
|
12453
12796
|
}
|
|
12454
12797
|
stateInterpolationClose(c) {
|
|
12455
|
-
if (c === this.delimiterClose[this.delimiterIndex])
|
|
12456
|
-
|
|
12457
|
-
|
|
12458
|
-
|
|
12459
|
-
|
|
12460
|
-
|
|
12461
|
-
|
|
12798
|
+
if (c === this.delimiterClose[this.delimiterIndex]) {
|
|
12799
|
+
if (this.delimiterIndex === this.delimiterClose.length - 1) {
|
|
12800
|
+
this.cbs.oninterpolation(this.sectionStart, this.index + 1);
|
|
12801
|
+
if (this.inRCDATA) this.state = 32;
|
|
12802
|
+
else this.state = 1;
|
|
12803
|
+
this.sectionStart = this.index + 1;
|
|
12804
|
+
} else this.delimiterIndex++;
|
|
12805
|
+
} else {
|
|
12462
12806
|
this.state = 3;
|
|
12463
12807
|
this.stateInterpolation(c);
|
|
12464
12808
|
}
|
|
@@ -12573,9 +12917,10 @@ var Tokenizer = class {
|
|
|
12573
12917
|
this.sectionStart = this.index;
|
|
12574
12918
|
if (this.mode === 0) this.state = 6;
|
|
12575
12919
|
else if (this.inSFCRoot) this.state = 34;
|
|
12576
|
-
else if (!this.inXML)
|
|
12577
|
-
|
|
12578
|
-
|
|
12920
|
+
else if (!this.inXML) {
|
|
12921
|
+
if (c === 116) this.state = 30;
|
|
12922
|
+
else this.state = c === 115 ? 29 : 6;
|
|
12923
|
+
} else this.state = 6;
|
|
12579
12924
|
} else if (c === 47) this.state = 8;
|
|
12580
12925
|
else {
|
|
12581
12926
|
this.state = 1;
|
|
@@ -12928,9 +13273,7 @@ var Tokenizer = class {
|
|
|
12928
13273
|
case 24:
|
|
12929
13274
|
this.stateInProcessingInstruction(c);
|
|
12930
13275
|
break;
|
|
12931
|
-
case 33:
|
|
12932
|
-
this.stateInEntity();
|
|
12933
|
-
break;
|
|
13276
|
+
case 33: this.stateInEntity();
|
|
12934
13277
|
}
|
|
12935
13278
|
this.index++;
|
|
12936
13279
|
}
|
|
@@ -12959,9 +13302,10 @@ var Tokenizer = class {
|
|
|
12959
13302
|
handleTrailingData() {
|
|
12960
13303
|
const endIndex = this.buffer.length;
|
|
12961
13304
|
if (this.sectionStart >= endIndex) return;
|
|
12962
|
-
if (this.state === 28)
|
|
12963
|
-
|
|
12964
|
-
|
|
13305
|
+
if (this.state === 28) {
|
|
13306
|
+
if (this.currentSequence === Sequences.CdataEnd) this.cbs.oncdata(this.sectionStart, endIndex);
|
|
13307
|
+
else this.cbs.oncomment(this.sectionStart, endIndex);
|
|
13308
|
+
} else if (this.state === 6 || this.state === 11 || this.state === 18 || this.state === 17 || this.state === 12 || this.state === 13 || this.state === 14 || this.state === 15 || this.state === 16 || this.state === 20 || this.state === 19 || this.state === 21 || this.state === 9) {} else this.cbs.ontext(this.sectionStart, endIndex);
|
|
12965
13309
|
}
|
|
12966
13310
|
emitCodePoint(cp, consumed) {}
|
|
12967
13311
|
};
|
|
@@ -13163,12 +13507,10 @@ const isMemberExpressionBrowser = (exp) => {
|
|
|
13163
13507
|
if (!--currentOpenParensCount) state = stateStack.pop();
|
|
13164
13508
|
}
|
|
13165
13509
|
break;
|
|
13166
|
-
case 3:
|
|
13167
|
-
|
|
13168
|
-
|
|
13169
|
-
|
|
13170
|
-
}
|
|
13171
|
-
break;
|
|
13510
|
+
case 3: if (char === currentStringType) {
|
|
13511
|
+
state = stateStack.pop();
|
|
13512
|
+
currentStringType = null;
|
|
13513
|
+
}
|
|
13172
13514
|
}
|
|
13173
13515
|
}
|
|
13174
13516
|
return !currentOpenBracketCount && !currentOpenParensCount;
|
|
@@ -13218,7 +13560,7 @@ function isTemplateNode$1(node) {
|
|
|
13218
13560
|
function isSlotOutlet(node) {
|
|
13219
13561
|
return node.type === 1 && node.tagType === 2;
|
|
13220
13562
|
}
|
|
13221
|
-
const propsHelperSet = new Set([NORMALIZE_PROPS, GUARD_REACTIVE_PROPS]);
|
|
13563
|
+
const propsHelperSet = /* @__PURE__ */ new Set([NORMALIZE_PROPS, GUARD_REACTIVE_PROPS]);
|
|
13222
13564
|
function getUnnormalizedProps(props, callPath = []) {
|
|
13223
13565
|
if (props && !isString(props) && props.type === 14) {
|
|
13224
13566
|
const callee = props.callee;
|
|
@@ -13261,9 +13603,10 @@ function injectProp(node, prop, context) {
|
|
|
13261
13603
|
propsWithInjection = createCallExpression(context.helper(MERGE_PROPS), [createObjectExpression([prop]), props]);
|
|
13262
13604
|
if (parentCall && parentCall.callee === GUARD_REACTIVE_PROPS) parentCall = callPath[callPath.length - 2];
|
|
13263
13605
|
}
|
|
13264
|
-
if (node.type === 13)
|
|
13265
|
-
|
|
13266
|
-
|
|
13606
|
+
if (node.type === 13) {
|
|
13607
|
+
if (parentCall) parentCall.arguments[0] = propsWithInjection;
|
|
13608
|
+
else node.props = propsWithInjection;
|
|
13609
|
+
} else if (parentCall) parentCall.arguments[0] = propsWithInjection;
|
|
13267
13610
|
else node.arguments[2] = propsWithInjection;
|
|
13268
13611
|
}
|
|
13269
13612
|
function injectSlotKey(node, prop) {
|
|
@@ -13538,10 +13881,7 @@ const tokenizer = new Tokenizer(stack, {
|
|
|
13538
13881
|
case 18:
|
|
13539
13882
|
case 19:
|
|
13540
13883
|
case 20:
|
|
13541
|
-
case 21:
|
|
13542
|
-
emitError(9, end);
|
|
13543
|
-
break;
|
|
13544
|
-
default: break;
|
|
13884
|
+
case 21: emitError(9, end);
|
|
13545
13885
|
}
|
|
13546
13886
|
for (let index = 0; index < stack.length; index++) {
|
|
13547
13887
|
onCloseTag(stack[index], end - 1);
|
|
@@ -13691,7 +14031,7 @@ function backTrack(index, c) {
|
|
|
13691
14031
|
while (currentInput.charCodeAt(i) !== c && i >= 0) i--;
|
|
13692
14032
|
return i;
|
|
13693
14033
|
}
|
|
13694
|
-
const specialTemplateDir = new Set([
|
|
14034
|
+
const specialTemplateDir = /* @__PURE__ */ new Set([
|
|
13695
14035
|
"if",
|
|
13696
14036
|
"else",
|
|
13697
14037
|
"else-if",
|
|
@@ -13727,16 +14067,18 @@ function condenseWhitespace(nodes) {
|
|
|
13727
14067
|
let removedWhitespace = false;
|
|
13728
14068
|
for (let i = 0; i < nodes.length; i++) {
|
|
13729
14069
|
const node = nodes[i];
|
|
13730
|
-
if (node.type === 2)
|
|
13731
|
-
if (
|
|
13732
|
-
|
|
13733
|
-
|
|
13734
|
-
|
|
13735
|
-
|
|
13736
|
-
|
|
13737
|
-
|
|
13738
|
-
|
|
13739
|
-
|
|
14070
|
+
if (node.type === 2) {
|
|
14071
|
+
if (!inPre) {
|
|
14072
|
+
if (isAllWhitespace(node.content)) {
|
|
14073
|
+
const prev = nodes[i - 1] && nodes[i - 1].type;
|
|
14074
|
+
const next = nodes[i + 1] && nodes[i + 1].type;
|
|
14075
|
+
if (!prev || !next || shouldCondense && (prev === 3 && (next === 3 || next === 1) || prev === 1 && (next === 3 || next === 1 && hasNewlineChar(node.content)))) {
|
|
14076
|
+
removedWhitespace = true;
|
|
14077
|
+
nodes[i] = null;
|
|
14078
|
+
} else node.content = " ";
|
|
14079
|
+
} else if (shouldCondense) node.content = condense(node.content);
|
|
14080
|
+
} else node.content = node.content.replace(windowsNewlineRE, "\n");
|
|
14081
|
+
}
|
|
13740
14082
|
}
|
|
13741
14083
|
return removedWhitespace ? nodes.filter(Boolean) : nodes;
|
|
13742
14084
|
}
|
|
@@ -14001,7 +14343,7 @@ function getConstantType(node, context) {
|
|
|
14001
14343
|
return 0;
|
|
14002
14344
|
}
|
|
14003
14345
|
}
|
|
14004
|
-
const allowHoistedHelperSet = new Set([
|
|
14346
|
+
const allowHoistedHelperSet = /* @__PURE__ */ new Set([
|
|
14005
14347
|
NORMALIZE_CLASS,
|
|
14006
14348
|
NORMALIZE_STYLE,
|
|
14007
14349
|
NORMALIZE_PROPS,
|
|
@@ -14045,7 +14387,7 @@ function getSelfName(filename) {
|
|
|
14045
14387
|
const nameMatch = filename.replace(/\?.*$/, "").match(/([^/\\]+)\.\w+$/);
|
|
14046
14388
|
return nameMatch ? capitalize(camelize(nameMatch[1])) : null;
|
|
14047
14389
|
}
|
|
14048
|
-
function createTransformContext(root, { filename = "", prefixIdentifiers = false, hoistStatic = false, hmr = false, cacheHandlers = false, nodeTransforms = [], directiveTransforms = {}, transformHoist = null, isBuiltInComponent = NOOP, isCustomElement = NOOP, expressionPlugins = [], scopeId = null, slotted = true, ssr = false, inSSR = false, ssrCssVars = ``, bindingMetadata = EMPTY_OBJ, inline = false, isTS = false,
|
|
14390
|
+
function createTransformContext(root, { filename = "", prefixIdentifiers = false, hoistStatic = false, hmr = false, cacheHandlers = false, nodeTransforms = [], directiveTransforms = {}, transformHoist = null, isBuiltInComponent = NOOP, isCustomElement = NOOP, expressionPlugins = [], scopeId = null, slotted = true, ssr = false, inSSR = false, ssrCssVars = ``, bindingMetadata = EMPTY_OBJ, inline = false, isTS = false, onError = defaultOnError, onWarn = defaultOnWarn, compatConfig }) {
|
|
14049
14391
|
const context = {
|
|
14050
14392
|
filename,
|
|
14051
14393
|
selfName: getSelfName(filename),
|
|
@@ -14067,7 +14409,6 @@ function createTransformContext(root, { filename = "", prefixIdentifiers = false
|
|
|
14067
14409
|
bindingMetadata,
|
|
14068
14410
|
inline,
|
|
14069
14411
|
isTS,
|
|
14070
|
-
eventDelegation,
|
|
14071
14412
|
onError,
|
|
14072
14413
|
onWarn,
|
|
14073
14414
|
compatConfig,
|
|
@@ -14163,7 +14504,7 @@ function transform(root, options) {
|
|
|
14163
14504
|
traverseNode(root, context);
|
|
14164
14505
|
if (options.hoistStatic) cacheStatic(root, context);
|
|
14165
14506
|
if (!options.ssr) createRootCodegen(root, context);
|
|
14166
|
-
root.helpers = new Set([...context.helpers.keys()]);
|
|
14507
|
+
root.helpers = /* @__PURE__ */ new Set([...context.helpers.keys()]);
|
|
14167
14508
|
root.components = [...context.components];
|
|
14168
14509
|
root.directives = [...context.directives];
|
|
14169
14510
|
root.imports = context.imports;
|
|
@@ -14210,8 +14551,10 @@ function traverseNode(node, context) {
|
|
|
14210
14551
|
const exitFns = [];
|
|
14211
14552
|
for (let i = 0; i < nodeTransforms.length; i++) {
|
|
14212
14553
|
const onExit = nodeTransforms[i](node, context);
|
|
14213
|
-
if (onExit)
|
|
14214
|
-
|
|
14554
|
+
if (onExit) {
|
|
14555
|
+
if (isArray(onExit)) exitFns.push(...onExit);
|
|
14556
|
+
else exitFns.push(onExit);
|
|
14557
|
+
}
|
|
14215
14558
|
if (!context.currentNode) return;
|
|
14216
14559
|
else node = context.currentNode;
|
|
14217
14560
|
}
|
|
@@ -14228,9 +14571,7 @@ function traverseNode(node, context) {
|
|
|
14228
14571
|
case 10:
|
|
14229
14572
|
case 11:
|
|
14230
14573
|
case 1:
|
|
14231
|
-
case 0:
|
|
14232
|
-
traverseChildren(node, context);
|
|
14233
|
-
break;
|
|
14574
|
+
case 0: traverseChildren(node, context);
|
|
14234
14575
|
}
|
|
14235
14576
|
context.currentNode = node;
|
|
14236
14577
|
let i = exitFns.length;
|
|
@@ -14426,10 +14767,12 @@ function genNodeList(nodes, context, multilines = false, comma = true) {
|
|
|
14426
14767
|
if (isString(node)) push(node, -3);
|
|
14427
14768
|
else if (isArray(node)) genNodeListAsArray(node, context);
|
|
14428
14769
|
else genNode(node, context);
|
|
14429
|
-
if (i < nodes.length - 1)
|
|
14430
|
-
|
|
14431
|
-
|
|
14432
|
-
|
|
14770
|
+
if (i < nodes.length - 1) {
|
|
14771
|
+
if (multilines) {
|
|
14772
|
+
comma && push(",");
|
|
14773
|
+
newline();
|
|
14774
|
+
} else comma && push(", ");
|
|
14775
|
+
}
|
|
14433
14776
|
}
|
|
14434
14777
|
}
|
|
14435
14778
|
function genNode(node, context) {
|
|
@@ -14542,9 +14885,12 @@ function genVNodeCall(node, context) {
|
|
|
14542
14885
|
const { push, helper, pure } = context;
|
|
14543
14886
|
const { tag, props, children, patchFlag, dynamicProps, directives, isBlock, disableTracking, isComponent } = node;
|
|
14544
14887
|
let patchFlagString;
|
|
14545
|
-
if (patchFlag)
|
|
14546
|
-
|
|
14547
|
-
|
|
14888
|
+
if (patchFlag) {
|
|
14889
|
+
if (!!(process.env.NODE_ENV !== "production")) {
|
|
14890
|
+
if (patchFlag < 0) patchFlagString = patchFlag + ` /* ${PatchFlagNames[patchFlag]} */`;
|
|
14891
|
+
else patchFlagString = patchFlag + ` /* ${Object.keys(PatchFlagNames).map(Number).filter((n) => n > 0 && patchFlag & n).map((n) => PatchFlagNames[n]).join(`, `)} */`;
|
|
14892
|
+
} else patchFlagString = String(patchFlag);
|
|
14893
|
+
}
|
|
14548
14894
|
if (directives) push(helper(WITH_DIRECTIVES) + `(`);
|
|
14549
14895
|
if (isBlock) push(`(${helper(OPEN_BLOCK)}(${disableTracking ? `true` : ``}), `);
|
|
14550
14896
|
if (pure) push(PURE_ANNOTATION);
|
|
@@ -14813,16 +15159,17 @@ function createChildrenCodegenNode(branch, keyIndex, context) {
|
|
|
14813
15159
|
const keyProperty = createObjectProperty(`key`, createSimpleExpression(`${keyIndex}`, false, locStub, 2));
|
|
14814
15160
|
const { children } = branch;
|
|
14815
15161
|
const firstChild = children[0];
|
|
14816
|
-
if (children.length !== 1 || firstChild.type !== 1)
|
|
14817
|
-
|
|
14818
|
-
|
|
14819
|
-
|
|
15162
|
+
if (children.length !== 1 || firstChild.type !== 1) {
|
|
15163
|
+
if (children.length === 1 && firstChild.type === 11) {
|
|
15164
|
+
const vnodeCall = firstChild.codegenNode;
|
|
15165
|
+
injectProp(vnodeCall, keyProperty, context);
|
|
15166
|
+
return vnodeCall;
|
|
15167
|
+
} else {
|
|
15168
|
+
let patchFlag = 64;
|
|
15169
|
+
if (!!(process.env.NODE_ENV !== "production") && !branch.isTemplateIf && children.filter((c) => c.type !== 3).length === 1) patchFlag |= 2048;
|
|
15170
|
+
return createVNodeCall(context, helper(FRAGMENT), createObjectExpression([keyProperty]), children, patchFlag, void 0, void 0, true, false, false, branch.loc);
|
|
15171
|
+
}
|
|
14820
15172
|
} else {
|
|
14821
|
-
let patchFlag = 64;
|
|
14822
|
-
if (!!(process.env.NODE_ENV !== "production") && !branch.isTemplateIf && children.filter((c) => c.type !== 3).length === 1) patchFlag |= 2048;
|
|
14823
|
-
return createVNodeCall(context, helper(FRAGMENT), createObjectExpression([keyProperty]), children, patchFlag, void 0, void 0, true, false, false, branch.loc);
|
|
14824
|
-
}
|
|
14825
|
-
else {
|
|
14826
15173
|
const ret = firstChild.codegenNode;
|
|
14827
15174
|
const vnodeCall = getMemoedVNodeCall(ret);
|
|
14828
15175
|
if (vnodeCall.type === 13) convertToBlock(vnodeCall, context);
|
|
@@ -14843,9 +15190,10 @@ function isSameKey(a, b) {
|
|
|
14843
15190
|
return true;
|
|
14844
15191
|
}
|
|
14845
15192
|
function getParentCondition(node) {
|
|
14846
|
-
while (true) if (node.type === 19)
|
|
14847
|
-
|
|
14848
|
-
|
|
15193
|
+
while (true) if (node.type === 19) {
|
|
15194
|
+
if (node.alternate.type === 19) node = node.alternate;
|
|
15195
|
+
else return node;
|
|
15196
|
+
} else if (node.type === 20) node = node.value;
|
|
14849
15197
|
}
|
|
14850
15198
|
//#endregion
|
|
14851
15199
|
//#region packages/compiler-core/src/transforms/vFor.ts
|
|
@@ -14883,15 +15231,24 @@ const transformFor = createStructuralDirectiveTransform("for", (node, dir, conte
|
|
|
14883
15231
|
else {
|
|
14884
15232
|
childBlock = children[0].codegenNode;
|
|
14885
15233
|
if (isTemplate && keyProperty) injectProp(childBlock, keyProperty, context);
|
|
14886
|
-
|
|
14887
|
-
|
|
14888
|
-
|
|
14889
|
-
|
|
14890
|
-
|
|
15234
|
+
const shouldUseBlock = !isStableFragment || childBlock.isBlockRequired === true;
|
|
15235
|
+
if (childBlock.isBlock !== shouldUseBlock) {
|
|
15236
|
+
if (childBlock.isBlock) {
|
|
15237
|
+
removeHelper(OPEN_BLOCK);
|
|
15238
|
+
removeHelper(getVNodeBlockHelper(context.inSSR, childBlock.isComponent));
|
|
15239
|
+
} else removeHelper(getVNodeHelper(context.inSSR, childBlock.isComponent));
|
|
15240
|
+
}
|
|
15241
|
+
childBlock.isBlock = shouldUseBlock;
|
|
14891
15242
|
if (childBlock.isBlock) {
|
|
14892
15243
|
helper(OPEN_BLOCK);
|
|
14893
15244
|
helper(getVNodeBlockHelper(context.inSSR, childBlock.isComponent));
|
|
14894
|
-
} else
|
|
15245
|
+
} else {
|
|
15246
|
+
helper(getVNodeHelper(context.inSSR, childBlock.isComponent));
|
|
15247
|
+
if (childBlock.needsPatch) {
|
|
15248
|
+
var _childBlock$patchFlag;
|
|
15249
|
+
childBlock.patchFlag = ((_childBlock$patchFlag = childBlock.patchFlag) !== null && _childBlock$patchFlag !== void 0 ? _childBlock$patchFlag : 0) | 512;
|
|
15250
|
+
}
|
|
15251
|
+
}
|
|
14895
15252
|
}
|
|
14896
15253
|
if (memo) {
|
|
14897
15254
|
const loop = createFunctionExpression(createForLoopParams(forNode.parseResult, [createSimpleExpression(`_cached`)]));
|
|
@@ -15065,8 +15422,10 @@ function buildSlots(node, context, buildSlotFn = buildClientSlotFn) {
|
|
|
15065
15422
|
return createObjectProperty(`default`, fn);
|
|
15066
15423
|
};
|
|
15067
15424
|
if (!hasTemplateSlots) slotsProperties.push(buildDefaultSlotProperty(void 0, children));
|
|
15068
|
-
else if (implicitDefaultChildren.length && !implicitDefaultChildren.every(isWhitespaceText))
|
|
15069
|
-
|
|
15425
|
+
else if (implicitDefaultChildren.length && !implicitDefaultChildren.every(isWhitespaceText)) {
|
|
15426
|
+
if (hasNamedDefaultSlot) context.onError(createCompilerError(39, implicitDefaultChildren[0].loc));
|
|
15427
|
+
else slotsProperties.push(buildDefaultSlotProperty(void 0, implicitDefaultChildren));
|
|
15428
|
+
}
|
|
15070
15429
|
}
|
|
15071
15430
|
const slotFlag = hasDynamicSlots ? 2 : hasForwardedSlots(node.children) ? 3 : 1;
|
|
15072
15431
|
let slots = createObjectExpression(slotsProperties.concat(createObjectProperty(`_`, createSimpleExpression(slotFlag + (!!(process.env.NODE_ENV !== "production") ? ` /* ${slotFlagsText[slotFlag]} */` : ``), false))), loc);
|
|
@@ -15092,10 +15451,7 @@ function hasForwardedSlots(children) {
|
|
|
15092
15451
|
if (hasForwardedSlots(child.branches)) return true;
|
|
15093
15452
|
break;
|
|
15094
15453
|
case 10:
|
|
15095
|
-
case 11:
|
|
15096
|
-
if (hasForwardedSlots(child.children)) return true;
|
|
15097
|
-
break;
|
|
15098
|
-
default: break;
|
|
15454
|
+
case 11: if (hasForwardedSlots(child.children)) return true;
|
|
15099
15455
|
}
|
|
15100
15456
|
}
|
|
15101
15457
|
return false;
|
|
@@ -15117,12 +15473,16 @@ const transformElement = (node, context) => {
|
|
|
15117
15473
|
let vnodeDynamicProps;
|
|
15118
15474
|
let dynamicPropNames;
|
|
15119
15475
|
let vnodeDirectives;
|
|
15476
|
+
let needsPatch = false;
|
|
15477
|
+
let isBlockRequired = false;
|
|
15120
15478
|
let shouldUseBlock = isDynamicComponent || vnodeTag === TELEPORT || vnodeTag === SUSPENSE || !isComponent && (tag === "svg" || tag === "foreignObject" || tag === "math");
|
|
15121
15479
|
if (props.length > 0) {
|
|
15122
15480
|
const propsBuildResult = buildProps(node, context, void 0, isComponent, isDynamicComponent);
|
|
15123
15481
|
vnodeProps = propsBuildResult.props;
|
|
15124
15482
|
patchFlag = propsBuildResult.patchFlag;
|
|
15125
15483
|
dynamicPropNames = propsBuildResult.dynamicPropNames;
|
|
15484
|
+
needsPatch = propsBuildResult.needsPatch;
|
|
15485
|
+
isBlockRequired = propsBuildResult.isBlockRequired;
|
|
15126
15486
|
const directives = propsBuildResult.directives;
|
|
15127
15487
|
vnodeDirectives = directives && directives.length ? createArrayExpression(directives.map((dir) => buildDirectiveArgs(dir, context))) : void 0;
|
|
15128
15488
|
if (propsBuildResult.shouldUseBlock) shouldUseBlock = true;
|
|
@@ -15151,7 +15511,10 @@ const transformElement = (node, context) => {
|
|
|
15151
15511
|
} else vnodeChildren = node.children;
|
|
15152
15512
|
}
|
|
15153
15513
|
if (dynamicPropNames && dynamicPropNames.length) vnodeDynamicProps = stringifyDynamicPropNames(dynamicPropNames);
|
|
15154
|
-
node.codegenNode = createVNodeCall(context, vnodeTag, vnodeProps, vnodeChildren, patchFlag === 0 ? void 0 : patchFlag, vnodeDynamicProps, vnodeDirectives, !!shouldUseBlock, false, isComponent, node.loc);
|
|
15514
|
+
const vnodeCall = node.codegenNode = createVNodeCall(context, vnodeTag, vnodeProps, vnodeChildren, patchFlag === 0 ? void 0 : patchFlag, vnodeDynamicProps, vnodeDirectives, !!shouldUseBlock, false, isComponent, node.loc);
|
|
15515
|
+
needsPatch = needsPatch && (patchFlag === 0 || patchFlag === 32);
|
|
15516
|
+
if (needsPatch) vnodeCall.needsPatch = true;
|
|
15517
|
+
if (isBlockRequired) vnodeCall.isBlockRequired = true;
|
|
15155
15518
|
};
|
|
15156
15519
|
};
|
|
15157
15520
|
function resolveComponentType(node, context, ssr = false) {
|
|
@@ -15185,6 +15548,7 @@ function buildProps(node, context, props = node.props, isComponent, isDynamicCom
|
|
|
15185
15548
|
const runtimeDirectives = [];
|
|
15186
15549
|
const hasChildren = children.length > 0;
|
|
15187
15550
|
let shouldUseBlock = false;
|
|
15551
|
+
let isBlockRequired = false;
|
|
15188
15552
|
let patchFlag = 0;
|
|
15189
15553
|
let hasRef = false;
|
|
15190
15554
|
let hasClassBinding = false;
|
|
@@ -15209,12 +15573,12 @@ function buildProps(node, context, props = node.props, isComponent, isDynamicCom
|
|
|
15209
15573
|
const isEventHandler = isOn(name);
|
|
15210
15574
|
if (isEventHandler && (!isComponent || isDynamicComponent) && name.toLowerCase() !== "onclick" && name !== "onUpdate:modelValue" && !isReservedProp(name)) hasHydrationEventBinding = true;
|
|
15211
15575
|
if (isEventHandler && isReservedProp(name)) hasVnodeHook = true;
|
|
15576
|
+
if (name === "ref") hasRef = true;
|
|
15212
15577
|
if (isEventHandler && value.type === 14) value = value.arguments[0];
|
|
15213
15578
|
if (value.type === 20 || (value.type === 4 || value.type === 8) && getConstantType(value, context) > 0) return;
|
|
15214
|
-
if (name === "
|
|
15215
|
-
else if (name === "class") hasClassBinding = true;
|
|
15579
|
+
if (name === "class") hasClassBinding = true;
|
|
15216
15580
|
else if (name === "style") hasStyleBinding = true;
|
|
15217
|
-
else if (name !== "key" && !dynamicPropNames.includes(name)) dynamicPropNames.push(name);
|
|
15581
|
+
else if (name !== "ref" && name !== "key" && !dynamicPropNames.includes(name)) dynamicPropNames.push(name);
|
|
15218
15582
|
if (isComponent && (name === "class" || name === "style") && !dynamicPropNames.includes(name)) dynamicPropNames.push(name);
|
|
15219
15583
|
} else hasDynamicKeys = true;
|
|
15220
15584
|
};
|
|
@@ -15240,35 +15604,40 @@ function buildProps(node, context, props = node.props, isComponent, isDynamicCom
|
|
|
15240
15604
|
if (name === "once" || name === "memo") continue;
|
|
15241
15605
|
if (name === "is" || isVBind && isStaticArgOf(arg, "is") && (isComponentTag(tag) || isCompatEnabled("COMPILER_IS_ON_ELEMENT", context))) continue;
|
|
15242
15606
|
if (isVOn && ssr) continue;
|
|
15243
|
-
if (isVBind && isStaticArgOf(arg, "key")
|
|
15607
|
+
if (isVBind && isStaticArgOf(arg, "key")) shouldUseBlock = true;
|
|
15608
|
+
if (isVOn && hasChildren && arg && isStaticExp(arg) && camelize(arg.content) === "vue:beforeUpdate") {
|
|
15609
|
+
shouldUseBlock = true;
|
|
15610
|
+
isBlockRequired = true;
|
|
15611
|
+
}
|
|
15244
15612
|
if (isVBind && isStaticArgOf(arg, "ref")) pushRefVForMarker();
|
|
15245
15613
|
if (!arg && (isVBind || isVOn)) {
|
|
15246
15614
|
hasDynamicKeys = true;
|
|
15247
|
-
if (exp)
|
|
15248
|
-
|
|
15249
|
-
|
|
15250
|
-
if (
|
|
15251
|
-
if (
|
|
15252
|
-
if (
|
|
15253
|
-
|
|
15254
|
-
|
|
15255
|
-
|
|
15256
|
-
|
|
15257
|
-
|
|
15258
|
-
|
|
15259
|
-
|
|
15260
|
-
|
|
15261
|
-
|
|
15262
|
-
|
|
15263
|
-
|
|
15264
|
-
|
|
15265
|
-
|
|
15266
|
-
|
|
15267
|
-
|
|
15268
|
-
|
|
15269
|
-
|
|
15270
|
-
|
|
15271
|
-
|
|
15615
|
+
if (exp) {
|
|
15616
|
+
if (isVBind) {
|
|
15617
|
+
pushMergeArg();
|
|
15618
|
+
if (!!(process.env.NODE_ENV !== "production")) {
|
|
15619
|
+
if (mergeArgs.some((arg) => {
|
|
15620
|
+
if (arg.type === 15) return arg.properties.some(({ key }) => {
|
|
15621
|
+
if (key.type !== 4 || !key.isStatic) return true;
|
|
15622
|
+
return key.content !== "class" && key.content !== "style" && !isOn(key.content);
|
|
15623
|
+
});
|
|
15624
|
+
else return true;
|
|
15625
|
+
})) checkCompatEnabled("COMPILER_V_BIND_OBJECT_ORDER", context, loc);
|
|
15626
|
+
}
|
|
15627
|
+
if (isCompatEnabled("COMPILER_V_BIND_OBJECT_ORDER", context)) {
|
|
15628
|
+
mergeArgs.unshift(exp);
|
|
15629
|
+
continue;
|
|
15630
|
+
}
|
|
15631
|
+
pushRefVForMarker();
|
|
15632
|
+
pushMergeArg();
|
|
15633
|
+
mergeArgs.push(exp);
|
|
15634
|
+
} else pushMergeArg({
|
|
15635
|
+
type: 14,
|
|
15636
|
+
loc,
|
|
15637
|
+
callee: context.helper(TO_HANDLERS),
|
|
15638
|
+
arguments: isComponent ? [exp] : [exp, `true`]
|
|
15639
|
+
});
|
|
15640
|
+
} else context.onError(createCompilerError(isVBind ? 34 : 35, loc));
|
|
15272
15641
|
continue;
|
|
15273
15642
|
}
|
|
15274
15643
|
if (isVBind && modifiers.some((mod) => mod.content === "prop")) patchFlag |= 32;
|
|
@@ -15284,7 +15653,10 @@ function buildProps(node, context, props = node.props, isComponent, isDynamicCom
|
|
|
15284
15653
|
}
|
|
15285
15654
|
} else if (!isBuiltInDirective(name)) {
|
|
15286
15655
|
runtimeDirectives.push(prop);
|
|
15287
|
-
if (hasChildren)
|
|
15656
|
+
if (hasChildren) {
|
|
15657
|
+
shouldUseBlock = true;
|
|
15658
|
+
isBlockRequired = true;
|
|
15659
|
+
}
|
|
15288
15660
|
}
|
|
15289
15661
|
}
|
|
15290
15662
|
}
|
|
@@ -15301,7 +15673,8 @@ function buildProps(node, context, props = node.props, isComponent, isDynamicCom
|
|
|
15301
15673
|
if (dynamicPropNames.length) patchFlag |= 8;
|
|
15302
15674
|
if (hasHydrationEventBinding) patchFlag |= 32;
|
|
15303
15675
|
}
|
|
15304
|
-
|
|
15676
|
+
const needsPatch = (patchFlag === 0 || patchFlag === 32) && (hasRef || hasVnodeHook || runtimeDirectives.length > 0);
|
|
15677
|
+
if (!shouldUseBlock && needsPatch) patchFlag |= 512;
|
|
15305
15678
|
if (!context.inSSR && propsExpression) switch (propsExpression.type) {
|
|
15306
15679
|
case 15:
|
|
15307
15680
|
let classKeyIndex = -1;
|
|
@@ -15322,16 +15695,16 @@ function buildProps(node, context, props = node.props, isComponent, isDynamicCom
|
|
|
15322
15695
|
} else propsExpression = createCallExpression(context.helper(NORMALIZE_PROPS), [propsExpression]);
|
|
15323
15696
|
break;
|
|
15324
15697
|
case 14: break;
|
|
15325
|
-
default:
|
|
15326
|
-
propsExpression = createCallExpression(context.helper(NORMALIZE_PROPS), [createCallExpression(context.helper(GUARD_REACTIVE_PROPS), [propsExpression])]);
|
|
15327
|
-
break;
|
|
15698
|
+
default: propsExpression = createCallExpression(context.helper(NORMALIZE_PROPS), [createCallExpression(context.helper(GUARD_REACTIVE_PROPS), [propsExpression])]);
|
|
15328
15699
|
}
|
|
15329
15700
|
return {
|
|
15330
15701
|
props: propsExpression,
|
|
15331
15702
|
directives: runtimeDirectives,
|
|
15332
15703
|
patchFlag,
|
|
15333
15704
|
dynamicPropNames,
|
|
15334
|
-
shouldUseBlock
|
|
15705
|
+
shouldUseBlock,
|
|
15706
|
+
needsPatch,
|
|
15707
|
+
isBlockRequired
|
|
15335
15708
|
};
|
|
15336
15709
|
}
|
|
15337
15710
|
function dedupeProperties(properties) {
|
|
@@ -15428,10 +15801,12 @@ function processSlotOutlet(node, context) {
|
|
|
15428
15801
|
for (let i = 0; i < node.props.length; i++) {
|
|
15429
15802
|
const p = node.props[i];
|
|
15430
15803
|
if (p.type === 6) {
|
|
15431
|
-
if (p.value)
|
|
15432
|
-
|
|
15433
|
-
|
|
15434
|
-
|
|
15804
|
+
if (p.value) {
|
|
15805
|
+
if (p.name === "name") slotName = JSON.stringify(p.value.content);
|
|
15806
|
+
else {
|
|
15807
|
+
p.name = camelize(p.name);
|
|
15808
|
+
nonNameProps.push(p);
|
|
15809
|
+
}
|
|
15435
15810
|
}
|
|
15436
15811
|
} else if (p.name === "bind" && isStaticArgOf(p.arg, "name")) {
|
|
15437
15812
|
if (p.exp) slotName = p.exp;
|
|
@@ -15457,17 +15832,18 @@ const transformOn$1 = (dir, node, context, augmentor) => {
|
|
|
15457
15832
|
const { loc, modifiers, arg } = dir;
|
|
15458
15833
|
if (!dir.exp && !modifiers.length) context.onError(createCompilerError(35, loc));
|
|
15459
15834
|
let eventName;
|
|
15460
|
-
if (arg.type === 4)
|
|
15461
|
-
|
|
15462
|
-
|
|
15463
|
-
|
|
15464
|
-
|
|
15465
|
-
|
|
15466
|
-
|
|
15467
|
-
|
|
15468
|
-
|
|
15469
|
-
|
|
15470
|
-
|
|
15835
|
+
if (arg.type === 4) {
|
|
15836
|
+
if (arg.isStatic) {
|
|
15837
|
+
let rawName = arg.content;
|
|
15838
|
+
if (!!(process.env.NODE_ENV !== "production") && rawName.startsWith("vnode")) context.onError(createCompilerError(52, arg.loc));
|
|
15839
|
+
if (rawName.startsWith("vue:")) rawName = `vnode-${rawName.slice(4)}`;
|
|
15840
|
+
eventName = createSimpleExpression(node.tagType !== 0 || rawName.startsWith("vnode") || !/[A-Z]/.test(rawName) ? toHandlerKey(camelize(rawName)) : `on:${rawName}`, true, arg.loc);
|
|
15841
|
+
} else eventName = createCompoundExpression([
|
|
15842
|
+
`${context.helperString(TO_HANDLER_KEY)}(`,
|
|
15843
|
+
arg,
|
|
15844
|
+
`)`
|
|
15845
|
+
]);
|
|
15846
|
+
} else {
|
|
15471
15847
|
eventName = arg;
|
|
15472
15848
|
eventName.children.unshift(`${context.helperString(TO_HANDLER_KEY)}(`);
|
|
15473
15849
|
eventName.children.push(`)`);
|
|
@@ -15503,11 +15879,14 @@ const transformBind = (dir, _node, context) => {
|
|
|
15503
15879
|
arg.children.unshift(`(`);
|
|
15504
15880
|
arg.children.push(`) || ""`);
|
|
15505
15881
|
} else if (!arg.isStatic) arg.content = arg.content ? `${arg.content} || ""` : `""`;
|
|
15506
|
-
if (modifiers.some((mod) => mod.content === "camel"))
|
|
15507
|
-
|
|
15508
|
-
|
|
15509
|
-
|
|
15510
|
-
|
|
15882
|
+
if (modifiers.some((mod) => mod.content === "camel")) {
|
|
15883
|
+
if (arg.type === 4) {
|
|
15884
|
+
if (arg.isStatic) arg.content = camelize(arg.content);
|
|
15885
|
+
else arg.content = `${context.helperString(CAMELIZE)}(${arg.content})`;
|
|
15886
|
+
} else {
|
|
15887
|
+
arg.children.unshift(`${context.helperString(CAMELIZE)}(`);
|
|
15888
|
+
arg.children.push(`)`);
|
|
15889
|
+
}
|
|
15511
15890
|
}
|
|
15512
15891
|
if (!context.inSSR) {
|
|
15513
15892
|
if (modifiers.some((mod) => mod.content === "prop")) injectPrefix(arg, ".");
|
|
@@ -15516,9 +15895,10 @@ const transformBind = (dir, _node, context) => {
|
|
|
15516
15895
|
return { props: [createObjectProperty(arg, exp)] };
|
|
15517
15896
|
};
|
|
15518
15897
|
const injectPrefix = (arg, prefix) => {
|
|
15519
|
-
if (arg.type === 4)
|
|
15520
|
-
|
|
15521
|
-
|
|
15898
|
+
if (arg.type === 4) {
|
|
15899
|
+
if (arg.isStatic) arg.content = prefix + arg.content;
|
|
15900
|
+
else arg.content = `\`${prefix}\${${arg.content}}\``;
|
|
15901
|
+
} else {
|
|
15522
15902
|
arg.children.unshift(`'${prefix}' + (`);
|
|
15523
15903
|
arg.children.push(`)`);
|
|
15524
15904
|
}
|
|
@@ -15665,11 +16045,12 @@ function parseFilter(node, context) {
|
|
|
15665
16045
|
if (c === 96 && prev !== 92) inTemplateString = false;
|
|
15666
16046
|
} else if (inRegex) {
|
|
15667
16047
|
if (c === 47 && prev !== 92) inRegex = false;
|
|
15668
|
-
} else if (c === 124 && exp.charCodeAt(i + 1) !== 124 && exp.charCodeAt(i - 1) !== 124 && !curly && !square && !paren)
|
|
15669
|
-
|
|
15670
|
-
|
|
15671
|
-
|
|
15672
|
-
|
|
16048
|
+
} else if (c === 124 && exp.charCodeAt(i + 1) !== 124 && exp.charCodeAt(i - 1) !== 124 && !curly && !square && !paren) {
|
|
16049
|
+
if (expression === void 0) {
|
|
16050
|
+
lastFilterIndex = i + 1;
|
|
16051
|
+
expression = exp.slice(0, i).trim();
|
|
16052
|
+
} else pushFilter();
|
|
16053
|
+
} else {
|
|
15673
16054
|
switch (c) {
|
|
15674
16055
|
case 34:
|
|
15675
16056
|
inDouble = true;
|
|
@@ -15695,9 +16076,7 @@ function parseFilter(node, context) {
|
|
|
15695
16076
|
case 123:
|
|
15696
16077
|
curly++;
|
|
15697
16078
|
break;
|
|
15698
|
-
case 125:
|
|
15699
|
-
curly--;
|
|
15700
|
-
break;
|
|
16079
|
+
case 125: curly--;
|
|
15701
16080
|
}
|
|
15702
16081
|
if (c === 47) {
|
|
15703
16082
|
let j = i - 1;
|
|
@@ -15973,9 +16352,7 @@ const transformModel = (dir, node, context) => {
|
|
|
15973
16352
|
isInvalidType = true;
|
|
15974
16353
|
context.onError(createDOMCompilerError(60, dir.loc));
|
|
15975
16354
|
break;
|
|
15976
|
-
default:
|
|
15977
|
-
process.env.NODE_ENV !== "production" && checkDuplicatedValue();
|
|
15978
|
-
break;
|
|
16355
|
+
default: process.env.NODE_ENV !== "production" && checkDuplicatedValue();
|
|
15979
16356
|
}
|
|
15980
16357
|
} else if (hasDynamicKeyVBind(node)) directiveToUse = V_MODEL_DYNAMIC;
|
|
15981
16358
|
else process.env.NODE_ENV !== "production" && checkDuplicatedValue();
|
|
@@ -15988,27 +16365,37 @@ const transformModel = (dir, node, context) => {
|
|
|
15988
16365
|
};
|
|
15989
16366
|
//#endregion
|
|
15990
16367
|
//#region packages/compiler-dom/src/transforms/vOn.ts
|
|
15991
|
-
const isEventOptionModifier =
|
|
15992
|
-
const isNonKeyModifier =
|
|
15993
|
-
const maybeKeyModifier =
|
|
15994
|
-
const isKeyboardEvent =
|
|
16368
|
+
const isEventOptionModifier = /*@__PURE__*/ makeMap(`passive,once,capture`);
|
|
16369
|
+
const isNonKeyModifier = /*@__PURE__*/ makeMap("stop,prevent,self,ctrl,shift,alt,meta,exact,middle");
|
|
16370
|
+
const maybeKeyModifier = /*@__PURE__*/ makeMap("left,right");
|
|
16371
|
+
const isKeyboardEvent = /*@__PURE__*/ makeMap(`onkeyup,onkeydown,onkeypress`);
|
|
15995
16372
|
const resolveModifiers = (key, modifiers, context, loc) => {
|
|
15996
16373
|
const keyModifiers = [];
|
|
15997
16374
|
const nonKeyModifiers = [];
|
|
15998
16375
|
const eventOptionModifiers = [];
|
|
15999
16376
|
for (let i = 0; i < modifiers.length; i++) {
|
|
16000
16377
|
const modifier = modifiers[i].content;
|
|
16378
|
+
if (modifier === "delegate") {
|
|
16379
|
+
if (context) {
|
|
16380
|
+
const error = /* @__PURE__ */ new SyntaxError(`.delegate modifier is only supported in Vapor components.`);
|
|
16381
|
+
error.loc = modifiers[i].loc;
|
|
16382
|
+
context.onWarn(error);
|
|
16383
|
+
}
|
|
16384
|
+
continue;
|
|
16385
|
+
}
|
|
16001
16386
|
if (modifier === "native" && context && checkCompatEnabled("COMPILER_V_ON_NATIVE", context, loc)) eventOptionModifiers.push(modifier);
|
|
16002
16387
|
else if (isEventOptionModifier(modifier)) eventOptionModifiers.push(modifier);
|
|
16003
16388
|
else {
|
|
16004
16389
|
const keyString = isString(key) ? key : isStaticExp(key) ? key.content : null;
|
|
16005
|
-
if (maybeKeyModifier(modifier))
|
|
16006
|
-
|
|
16007
|
-
|
|
16008
|
-
|
|
16009
|
-
|
|
16010
|
-
|
|
16011
|
-
|
|
16390
|
+
if (maybeKeyModifier(modifier)) {
|
|
16391
|
+
if (keyString) {
|
|
16392
|
+
if (isKeyboardEvent(keyString.toLowerCase())) keyModifiers.push(modifier);
|
|
16393
|
+
else nonKeyModifiers.push(modifier);
|
|
16394
|
+
} else {
|
|
16395
|
+
keyModifiers.push(modifier);
|
|
16396
|
+
nonKeyModifiers.push(modifier);
|
|
16397
|
+
}
|
|
16398
|
+
} else if (isNonKeyModifier(modifier)) nonKeyModifiers.push(modifier);
|
|
16012
16399
|
else keyModifiers.push(modifier);
|
|
16013
16400
|
}
|
|
16014
16401
|
}
|
|
@@ -16123,7 +16510,7 @@ function isValidHTMLNesting(parent, child) {
|
|
|
16123
16510
|
}
|
|
16124
16511
|
return true;
|
|
16125
16512
|
}
|
|
16126
|
-
const headings = new Set([
|
|
16513
|
+
const headings = /* @__PURE__ */ new Set([
|
|
16127
16514
|
"h1",
|
|
16128
16515
|
"h2",
|
|
16129
16516
|
"h3",
|
|
@@ -16135,7 +16522,7 @@ const emptySet = /* @__PURE__ */ new Set([]);
|
|
|
16135
16522
|
/**
|
|
16136
16523
|
* maps element to set of elements that can be it's children, no other */
|
|
16137
16524
|
const onlyValidChildren = {
|
|
16138
|
-
head: new Set([
|
|
16525
|
+
head: /* @__PURE__ */ new Set([
|
|
16139
16526
|
"base",
|
|
16140
16527
|
"basefront",
|
|
16141
16528
|
"bgsound",
|
|
@@ -16148,24 +16535,24 @@ const onlyValidChildren = {
|
|
|
16148
16535
|
"script",
|
|
16149
16536
|
"template"
|
|
16150
16537
|
]),
|
|
16151
|
-
optgroup: new Set(["option"]),
|
|
16152
|
-
select: new Set([
|
|
16538
|
+
optgroup: /* @__PURE__ */ new Set(["option"]),
|
|
16539
|
+
select: /* @__PURE__ */ new Set([
|
|
16153
16540
|
"optgroup",
|
|
16154
16541
|
"option",
|
|
16155
16542
|
"hr"
|
|
16156
16543
|
]),
|
|
16157
|
-
table: new Set([
|
|
16544
|
+
table: /* @__PURE__ */ new Set([
|
|
16158
16545
|
"caption",
|
|
16159
16546
|
"colgroup",
|
|
16160
16547
|
"tbody",
|
|
16161
16548
|
"tfoot",
|
|
16162
16549
|
"thead"
|
|
16163
16550
|
]),
|
|
16164
|
-
tr: new Set(["td", "th"]),
|
|
16165
|
-
colgroup: new Set(["col"]),
|
|
16166
|
-
tbody: new Set(["tr"]),
|
|
16167
|
-
thead: new Set(["tr"]),
|
|
16168
|
-
tfoot: new Set(["tr"]),
|
|
16551
|
+
tr: /* @__PURE__ */ new Set(["td", "th"]),
|
|
16552
|
+
colgroup: /* @__PURE__ */ new Set(["col"]),
|
|
16553
|
+
tbody: /* @__PURE__ */ new Set(["tr"]),
|
|
16554
|
+
thead: /* @__PURE__ */ new Set(["tr"]),
|
|
16555
|
+
tfoot: /* @__PURE__ */ new Set(["tr"]),
|
|
16169
16556
|
script: emptySet,
|
|
16170
16557
|
iframe: emptySet,
|
|
16171
16558
|
option: emptySet,
|
|
@@ -16176,30 +16563,30 @@ const onlyValidChildren = {
|
|
|
16176
16563
|
/** maps elements to set of elements which can be it's parent, no other */
|
|
16177
16564
|
const onlyValidParents = {
|
|
16178
16565
|
html: emptySet,
|
|
16179
|
-
body: new Set(["html"]),
|
|
16180
|
-
head: new Set(["html"]),
|
|
16181
|
-
td: new Set(["tr"]),
|
|
16182
|
-
colgroup: new Set(["table"]),
|
|
16183
|
-
caption: new Set(["table"]),
|
|
16184
|
-
tbody: new Set(["table"]),
|
|
16185
|
-
tfoot: new Set(["table"]),
|
|
16186
|
-
col: new Set(["colgroup"]),
|
|
16187
|
-
th: new Set(["tr"]),
|
|
16188
|
-
thead: new Set(["table"]),
|
|
16189
|
-
tr: new Set([
|
|
16566
|
+
body: /* @__PURE__ */ new Set(["html"]),
|
|
16567
|
+
head: /* @__PURE__ */ new Set(["html"]),
|
|
16568
|
+
td: /* @__PURE__ */ new Set(["tr"]),
|
|
16569
|
+
colgroup: /* @__PURE__ */ new Set(["table"]),
|
|
16570
|
+
caption: /* @__PURE__ */ new Set(["table"]),
|
|
16571
|
+
tbody: /* @__PURE__ */ new Set(["table"]),
|
|
16572
|
+
tfoot: /* @__PURE__ */ new Set(["table"]),
|
|
16573
|
+
col: /* @__PURE__ */ new Set(["colgroup"]),
|
|
16574
|
+
th: /* @__PURE__ */ new Set(["tr"]),
|
|
16575
|
+
thead: /* @__PURE__ */ new Set(["table"]),
|
|
16576
|
+
tr: /* @__PURE__ */ new Set([
|
|
16190
16577
|
"tbody",
|
|
16191
16578
|
"thead",
|
|
16192
16579
|
"tfoot"
|
|
16193
16580
|
]),
|
|
16194
|
-
dd: new Set(["dl", "div"]),
|
|
16195
|
-
dt: new Set(["dl", "div"]),
|
|
16196
|
-
figcaption: new Set(["figure"]),
|
|
16197
|
-
summary: new Set(["details"]),
|
|
16198
|
-
area: new Set(["map"])
|
|
16581
|
+
dd: /* @__PURE__ */ new Set(["dl", "div"]),
|
|
16582
|
+
dt: /* @__PURE__ */ new Set(["dl", "div"]),
|
|
16583
|
+
figcaption: /* @__PURE__ */ new Set(["figure"]),
|
|
16584
|
+
summary: /* @__PURE__ */ new Set(["details"]),
|
|
16585
|
+
area: /* @__PURE__ */ new Set(["map"])
|
|
16199
16586
|
};
|
|
16200
16587
|
/** maps element to set of elements that can not be it's children, others can */
|
|
16201
16588
|
const knownInvalidChildren = {
|
|
16202
|
-
p: new Set([
|
|
16589
|
+
p: /* @__PURE__ */ new Set([
|
|
16203
16590
|
"address",
|
|
16204
16591
|
"article",
|
|
16205
16592
|
"aside",
|
|
@@ -16234,7 +16621,7 @@ const knownInvalidChildren = {
|
|
|
16234
16621
|
"table",
|
|
16235
16622
|
"ul"
|
|
16236
16623
|
]),
|
|
16237
|
-
svg: new Set([
|
|
16624
|
+
svg: /* @__PURE__ */ new Set([
|
|
16238
16625
|
"b",
|
|
16239
16626
|
"blockquote",
|
|
16240
16627
|
"br",
|
|
@@ -16275,12 +16662,12 @@ const knownInvalidChildren = {
|
|
|
16275
16662
|
};
|
|
16276
16663
|
/** maps element to set of elements that can not be it's parent, others can */
|
|
16277
16664
|
const knownInvalidParents = {
|
|
16278
|
-
a: new Set(["a"]),
|
|
16279
|
-
button: new Set(["button"]),
|
|
16280
|
-
dd: new Set(["dd", "dt"]),
|
|
16281
|
-
dt: new Set(["dd", "dt"]),
|
|
16282
|
-
form: new Set(["form"]),
|
|
16283
|
-
li: new Set(["li"]),
|
|
16665
|
+
a: /* @__PURE__ */ new Set(["a"]),
|
|
16666
|
+
button: /* @__PURE__ */ new Set(["button"]),
|
|
16667
|
+
dd: /* @__PURE__ */ new Set(["dd", "dt"]),
|
|
16668
|
+
dt: /* @__PURE__ */ new Set(["dd", "dt"]),
|
|
16669
|
+
form: /* @__PURE__ */ new Set(["form"]),
|
|
16670
|
+
li: /* @__PURE__ */ new Set(["li"]),
|
|
16284
16671
|
h1: headings,
|
|
16285
16672
|
h2: headings,
|
|
16286
16673
|
h3: headings,
|
|
@@ -16323,10 +16710,12 @@ function compile(src, options = {}) {
|
|
|
16323
16710
|
//#region packages/vue-compat/src/index.ts
|
|
16324
16711
|
const compileCache = Object.create(null);
|
|
16325
16712
|
function compileToFunction(template, options) {
|
|
16326
|
-
if (!isString(template))
|
|
16327
|
-
|
|
16328
|
-
|
|
16329
|
-
|
|
16713
|
+
if (!isString(template)) {
|
|
16714
|
+
if (template.nodeType) template = template.innerHTML;
|
|
16715
|
+
else {
|
|
16716
|
+
process.env.NODE_ENV !== "production" && warn(`invalid template option: `, template);
|
|
16717
|
+
return NOOP;
|
|
16718
|
+
}
|
|
16330
16719
|
}
|
|
16331
16720
|
const key = genCacheKey(template, options);
|
|
16332
16721
|
const cached = compileCache[key];
|
|
@@ -16360,4 +16749,4 @@ Vue.compile = compileToFunction;
|
|
|
16360
16749
|
var esm_index_default = Vue;
|
|
16361
16750
|
const configureCompat = Vue.configureCompat;
|
|
16362
16751
|
//#endregion
|
|
16363
|
-
export { BaseTransition, BaseTransitionPropsValidators, Comment, DeprecationTypes, EffectScope, ErrorCodes, ErrorTypeStrings, Fragment, KeepAlive, MismatchTypes, MoveType, NULL_DYNAMIC_COMPONENT, ReactiveEffect, SchedulerJobFlags, Static, Suspense, Teleport, Text, TrackOpTypes, Transition, TransitionGroup, TransitionPropsValidators, TriggerOpTypes, VaporSlot, VueElement, VueElementBase, activate, assertNumber, baseApplyTranslation, baseEmit, baseNormalizePropsOptions, baseResolveTransitionHooks,
|
|
16752
|
+
export { BaseTransition, BaseTransitionPropsValidators, Comment, DeprecationTypes, EffectScope, ErrorCodes, ErrorTypeStrings, Fragment, KeepAlive, MismatchTypes, MoveType, NULL_DYNAMIC_COMPONENT, ReactiveEffect, SchedulerJobFlags, Static, Suspense, Teleport, Text, TrackOpTypes, Transition, TransitionGroup, TransitionPropsValidators, TriggerOpTypes, VaporSlot, VueElement, VueElementBase, activate, assertNumber, baseApplyTranslation, baseEmit, baseNormalizePropsOptions, baseResolveTransitionHooks, callPendingCbs, callWithAsyncErrorHandling, callWithErrorHandling, camelize, capitalize, checkTransitionMode, cloneVNode, compatUtils, computed, configureCompat, createApp, createAppAPI, createAsyncComponentContext, createBlock, createCanSetSetupRefChecker, createCommentVNode, createElementBlock, createBaseVNode as createElementVNode, createHydrationRenderer, createInternalObject, createPropsRestProxy, createRenderer, createSSRApp, createSlots, createStaticVNode, createTextVNode, createVNode, currentInstance, customRef, deactivate, esm_index_default as default, defaultPropGetter, defineAsyncComponent, defineComponent, defineCustomElement, defineEmits, defineExpose, defineModel, defineOptions, defineProps, defineSSRCustomElement, defineSlots, devtools, devtoolsComponentAdded, effect, effectScope, endMeasure, ensureHydrationRenderer, ensureRenderer, ensureValidVNode, expose, filterModelListeners, flushOnAppMount, forceReflow, getAttributeMismatch, getComponentName, getContainerType, getCurrentInstance, getCurrentScope, getCurrentWatcher, getFunctionalFallthrough, getInheritedScopeIds, getTransitionRawChildren, guardReactiveProps, h, handleError, handleMovedChildren, hasCSSTransform, hasInjectionContext, hydrate, hydrateOnIdle, hydrateOnInteraction, hydrateOnMediaQuery, hydrateOnVisible, initCustomFormatter, initDirectivesForSSR, initFeatureFlags, inject, invalidateMount, invokeDirectiveHook, invokeSlotFallback, invokeVNodeHook, isAsyncWrapper, isEmitListener, isFunctionalFallthroughKey, isHydrating, isHydratingEnabled, isKeepAlive, isMapEqual, isMemoSame, isMismatchAllowed, isProxy, isReactive, isReadonly, isRef, isRuntimeOnly, isSetEqual, isShallow, isTeleportDeferred, isTeleportDisabled, isTemplateNode, isTemplateRefKey, isUnchangedResourceProp, isVNode, isValidHtmlOrSvgAttribute, knownTemplateRefs, leaveCbKey, logMismatchError, markAsyncBoundary, markRaw, matches, mergeDefaults, mergeModels, mergeProps, nextTick, nextUid, nodeOps, normalizeClass, normalizeContainer, normalizeProps, normalizeRef, normalizeStyle, normalizeVNode, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onScopeDispose, onServerPrefetch, onUnmounted, onUpdated, onWatcherCleanup, openBlock, parseEventName, patchClass, patchProp, patchStyle, performAsyncHydrate, performTransitionEnter, performTransitionLeave, popScopeId, popWarningContext, prepareTransitionLeave, prepareTransitionSwitch, provide, proxyRefs, pushScopeId, pushWarningContext, queueJob, queuePostFlushCb, queuePostRenderEffect, rawVaporSlotKey, reactive, readonly, ref, registerHMR, registerRuntimeCompiler, render, renderList, renderSlot, resetShapeFlag, resolveComponent, resolveCssVars, resolveDirective, resolveDynamicComponent, resolveFilter, resolvePropValue, resolveTarget as resolveTeleportTarget, resolveTransitionChild, resolveTransitionHooks, resolveTransitionProps, restoreCurrentInstance, setBlockTracking, setCurrentInstance, setCurrentRenderingInstance, setDevtoolsHook, setIsHydratingEnabled, setRef, setTransitionHooks, setVarsOnNode, shallowReactive, shallowReadonly, shallowRef, shouldSetAsProp, shouldSetAsPropForVueCE, shouldUpdateComponent, simpleSetCurrentInstance, ssrContextKey, ssrUtils, startMeasure, stop, svgNS, toClassSet, toDisplayString, toHandlerKey, toHandlers, toRaw, toRef, toRefs, toStyleMap, toValue, transformVNodeArgs, triggerRef, unref, unregisterHMR, unsafeToTrustedHTML, useAsyncComponentState, useAttrs, useCssModule, useCssVars, useHost, useId, useInstanceOption, useModel, useSSRContext, useShadowRoot, useSlots, useTemplateRef, useTransitionState, vModelCheckbox, vModelCheckboxInit, vModelCheckboxUpdate, vModelDynamic, getValue as vModelGetValue, vModelRadio, vModelSelect, vModelSelectInit, vModelSetSelected, vModelText, vModelTextInit, vModelTextUpdate, vShow, vShowHidden, vShowOriginalDisplay, validateComponentName, validateProps, version, warn, warnExtraneousAttributes, warnPropMismatch, watch, watchEffect, watchPostEffect, watchSyncEffect, withAsyncContext, withCtx, withDefaults, withDirectives, withKeys, withMemo, withModifiers, withScopeId, xlinkNS };
|