diff --git a/packages/uni-app-vue/dist/uvue.runtime.esm.dev.js b/packages/uni-app-vue/dist/uvue.runtime.esm.dev.js index 5a7ede41e66..3635f388681 100644 --- a/packages/uni-app-vue/dist/uvue.runtime.esm.dev.js +++ b/packages/uni-app-vue/dist/uvue.runtime.esm.dev.js @@ -46,6 +46,7 @@ var toRawType = value => { return toTypeString(value).slice(8, -1); }; var isPlainObject = val => toTypeString(val) === "[object Object]"; +var isIntegerKey = key => isString(key) && key !== "NaN" && key[0] !== "-" && "" + parseInt(key, 10) === key; var isReservedProp = /* @__PURE__ */makeMap( // the leading comma is intentional so empty string "" is also included ",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"); @@ -205,15 +206,13 @@ var stringifySymbol = function (v) { var _a; return isSymbol(v) ? "Symbol(".concat((_a = v.description) != null ? _a : i, ")") : v; }; -var isStringIntegerKey = key => typeof key === 'string' && key !== 'NaN' && key[0] !== '-' && '' + parseInt(key, 10) === key; -var isNumberIntegerKey = key => typeof key === 'number' && !isNaN(key) && key >= 0 && parseInt(key + '', 10) === key; + /** - * 用于替代@vue/shared的isIntegerKey,原始方法在鸿蒙arkts中会引发bug。根本原因是arkts的数组的key是数字而不是字符串。 - * 目前这个方法使用的地方都和数组有关,切记不能挪作他用。 - * @param key - * @returns - */ -var isIntegerKey = key => isNumberIntegerKey(key) || isStringIntegerKey(key); +* @vue/reactivity v3.4.21 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ + function warn$2(msg) { for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key2 = 1; _key2 < _len; _key2++) { args[_key2 - 1] = arguments[_key2]; diff --git a/packages/uni-app-vue/dist/uvue.runtime.esm.prod.js b/packages/uni-app-vue/dist/uvue.runtime.esm.prod.js index 91efe6e6548..78b4aaa195b 100644 --- a/packages/uni-app-vue/dist/uvue.runtime.esm.prod.js +++ b/packages/uni-app-vue/dist/uvue.runtime.esm.prod.js @@ -46,6 +46,7 @@ var toRawType = value => { return toTypeString(value).slice(8, -1); }; var isPlainObject = val => toTypeString(val) === "[object Object]"; +var isIntegerKey = key => isString(key) && key !== "NaN" && key[0] !== "-" && "" + parseInt(key, 10) === key; var isReservedProp = /* @__PURE__ */makeMap( // the leading comma is intentional so empty string "" is also included ",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"); @@ -176,15 +177,13 @@ var stringifySymbol = function (v) { var _a; return isSymbol(v) ? "Symbol(".concat((_a = v.description) != null ? _a : i, ")") : v; }; -var isStringIntegerKey = key => typeof key === 'string' && key !== 'NaN' && key[0] !== '-' && '' + parseInt(key, 10) === key; -var isNumberIntegerKey = key => typeof key === 'number' && !isNaN(key) && key >= 0 && parseInt(key + '', 10) === key; + /** - * 用于替代@vue/shared的isIntegerKey,原始方法在鸿蒙arkts中会引发bug。根本原因是arkts的数组的key是数字而不是字符串。 - * 目前这个方法使用的地方都和数组有关,切记不能挪作他用。 - * @param key - * @returns - */ -var isIntegerKey = key => isNumberIntegerKey(key) || isStringIntegerKey(key); +* @vue/reactivity v3.4.21 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ + var activeEffectScope; class EffectScope { constructor() { diff --git a/packages/uni-app-vue/dist/uvue.runtime.harmony.esm.dev.js b/packages/uni-app-vue/dist/uvue.runtime.harmony.esm.dev.js new file mode 100644 index 00000000000..5a7ede41e66 --- /dev/null +++ b/packages/uni-app-vue/dist/uvue.runtime.harmony.esm.dev.js @@ -0,0 +1,10202 @@ +function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } +function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } +function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +/** +* @vue/shared v3.4.21 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ +function makeMap(str, expectsLowerCase) { + var set = new Set(str.split(",")); + return val => set.has(val); +} +var EMPTY_OBJ = Object.freeze({}); +var EMPTY_ARR = Object.freeze([]); +var NOOP = () => {}; +var NO = () => false; +var isOn = key => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && ( +// uppercase letter +key.charCodeAt(2) > 122 || key.charCodeAt(2) < 97); +var isModelListener = key => key.startsWith("onUpdate:"); +var extend$1 = Object.assign; +var remove = (arr, el) => { + var i = arr.indexOf(el); + if (i > -1) { + arr.splice(i, 1); + } +}; +var hasOwnProperty$1 = Object.prototype.hasOwnProperty; +var hasOwn = (val, key) => hasOwnProperty$1.call(val, key); +var isArray$1 = Array.isArray; +var isMap = val => toTypeString(val) === "[object Map]"; +var isSet = val => toTypeString(val) === "[object Set]"; +var isRegExp = val => toTypeString(val) === "[object RegExp]"; +var isFunction = val => typeof val === "function"; +var isString = val => typeof val === "string"; +var isSymbol = val => typeof val === "symbol"; +var isObject = val => val !== null && typeof val === "object"; +var isPromise = val => { + return (isObject(val) || isFunction(val)) && isFunction(val.then) && isFunction(val.catch); +}; +var objectToString = Object.prototype.toString; +var toTypeString = value => objectToString.call(value); +var toRawType = value => { + return toTypeString(value).slice(8, -1); +}; +var isPlainObject = val => toTypeString(val) === "[object Object]"; +var isReservedProp = /* @__PURE__ */makeMap( +// the leading comma is intentional so empty string "" is also included +",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"); +var isBuiltInDirective = /* @__PURE__ */makeMap("bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo"); +var cacheStringFunction = fn => { + var cache = /* @__PURE__ */Object.create(null); + return str => { + var hit = cache[str]; + return hit || (cache[str] = fn(str)); + }; +}; +var camelizeRE = /-(\w)/g; +var camelize = cacheStringFunction(str => { + return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : ""); +}); +var hyphenateRE = /\B([A-Z])/g; +var hyphenate = cacheStringFunction(str => str.replace(hyphenateRE, "-$1").toLowerCase()); +var capitalize = cacheStringFunction(str => { + return str.charAt(0).toUpperCase() + str.slice(1); +}); +var toHandlerKey = cacheStringFunction(str => { + var s = str ? "on".concat(capitalize(str)) : ""; + return s; +}); +var hasChanged = (value, oldValue) => !Object.is(value, oldValue); +var invokeArrayFns = (fns, arg) => { + for (var i = 0; i < fns.length; i++) { + fns[i](arg); + } +}; +var def = (obj, key, value) => { + Object.defineProperty(obj, key, { + configurable: true, + enumerable: false, + value + }); +}; +var looseToNumber = val => { + var n = parseFloat(val); + return isNaN(n) ? val : n; +}; +var toNumber = val => { + var n = isString(val) ? Number(val) : NaN; + return isNaN(n) ? val : n; +}; +var _globalThis; +var getGlobalThis = () => { + return _globalThis || (_globalThis = typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : {}); +}; +var GLOBALS_ALLOWED = "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"; +var isGloballyAllowed = /* @__PURE__ */makeMap(GLOBALS_ALLOWED); +function normalizeStyle$2(value) { + if (isArray$1(value)) { + var res = {}; + for (var i = 0; i < value.length; i++) { + var item = value[i]; + var normalized = isString(item) ? parseStringStyle(item) : normalizeStyle$2(item); + if (normalized) { + for (var key in normalized) { + res[key] = normalized[key]; + } + } + } + return res; + } else if (isString(value) || isObject(value)) { + return value; + } +} +var listDelimiterRE = /;(?![^(]*\))/g; +var propertyDelimiterRE = /:([^]+)/; +var styleCommentRE = /\/\*[^]*?\*\//g; +function parseStringStyle(cssText) { + var ret = {}; + cssText.replace(styleCommentRE, "").split(listDelimiterRE).forEach(item => { + if (item) { + var tmp = item.split(propertyDelimiterRE); + tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim()); + } + }); + return ret; +} +function stringifyStyle(styles) { + var ret = ""; + if (!styles || isString(styles)) { + return ret; + } + for (var key in styles) { + var value = styles[key]; + var normalizedKey = key.startsWith("--") ? key : hyphenate(key); + if (isString(value) || typeof value === "number") { + ret += "".concat(normalizedKey, ":").concat(value, ";"); + } + } + return ret; +} +function normalizeClass$1(value) { + var res = ""; + if (isString(value)) { + res = value; + } else if (isArray$1(value)) { + for (var i = 0; i < value.length; i++) { + var normalized = normalizeClass$1(value[i]); + if (normalized) { + res += normalized + " "; + } + } + } else if (isObject(value)) { + for (var name in value) { + if (value[name]) { + res += name + " "; + } + } + } + return res.trim(); +} +var specialBooleanAttrs = "itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly"; +var isBooleanAttr = /* @__PURE__ */makeMap(specialBooleanAttrs + ",async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected"); +function includeBooleanAttr(value) { + return !!value || value === ""; +} +var 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"); +var 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"); +function isRenderableAttrValue(value) { + if (value == null) { + return false; + } + var type = typeof value; + return type === "string" || type === "number" || type === "boolean"; +} +var toDisplayString = val => { + return isString(val) ? val : val == null ? "" : isArray$1(val) || isObject(val) && (val.toString === objectToString || !isFunction(val.toString)) ? JSON.stringify(val, replacer, 2) : String(val); +}; +var replacer = (_key, val) => { + if (val && val.__v_isRef) { + return replacer(_key, val.value); + } else if (isMap(val)) { + return { + ["Map(".concat(val.size, ")")]: [...val.entries()].reduce((entries, _ref, i) => { + var [key, val2] = _ref; + entries[stringifySymbol(key, i) + " =>"] = val2; + return entries; + }, {}) + }; + } else if (isSet(val)) { + return { + ["Set(".concat(val.size, ")")]: [...val.values()].map(v => stringifySymbol(v)) + }; + } else if (isSymbol(val)) { + return stringifySymbol(val); + } else if (isObject(val) && !isArray$1(val) && !isPlainObject(val)) { + return String(val); + } + return val; +}; +var stringifySymbol = function (v) { + var i = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ""; + var _a; + return isSymbol(v) ? "Symbol(".concat((_a = v.description) != null ? _a : i, ")") : v; +}; +var isStringIntegerKey = key => typeof key === 'string' && key !== 'NaN' && key[0] !== '-' && '' + parseInt(key, 10) === key; +var isNumberIntegerKey = key => typeof key === 'number' && !isNaN(key) && key >= 0 && parseInt(key + '', 10) === key; +/** + * 用于替代@vue/shared的isIntegerKey,原始方法在鸿蒙arkts中会引发bug。根本原因是arkts的数组的key是数字而不是字符串。 + * 目前这个方法使用的地方都和数组有关,切记不能挪作他用。 + * @param key + * @returns + */ +var isIntegerKey = key => isNumberIntegerKey(key) || isStringIntegerKey(key); +function warn$2(msg) { + for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key2 = 1; _key2 < _len; _key2++) { + args[_key2 - 1] = arguments[_key2]; + } + console.warn("[Vue warn] ".concat(msg), ...args); +} +var activeEffectScope; +class EffectScope { + constructor() { + var detached = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + this.detached = detached; + /** + * @internal + */ + this._active = true; + /** + * @internal + */ + this.effects = []; + /** + * @internal + */ + this.cleanups = []; + this.parent = activeEffectScope; + if (!detached && activeEffectScope) { + this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(this) - 1; + } + } + get active() { + return this._active; + } + run(fn) { + if (this._active) { + var currentEffectScope = activeEffectScope; + try { + activeEffectScope = this; + return fn(); + } finally { + activeEffectScope = currentEffectScope; + } + } else { + warn$2("cannot run an inactive effect scope."); + } + } + /** + * This should only be called on non-detached scopes + * @internal + */ + on() { + activeEffectScope = this; + } + /** + * This should only be called on non-detached scopes + * @internal + */ + off() { + activeEffectScope = this.parent; + } + stop(fromParent) { + if (this._active) { + var i, l; + for (i = 0, l = this.effects.length; i < l; i++) { + this.effects[i].stop(); + } + for (i = 0, l = this.cleanups.length; i < l; i++) { + this.cleanups[i](); + } + if (this.scopes) { + for (i = 0, l = this.scopes.length; i < l; i++) { + this.scopes[i].stop(true); + } + } + if (!this.detached && this.parent && !fromParent) { + var last = this.parent.scopes.pop(); + if (last && last !== this) { + this.parent.scopes[this.index] = last; + last.index = this.index; + } + } + this.parent = void 0; + this._active = false; + } + } +} +function effectScope(detached) { + return new EffectScope(detached); +} +function recordEffectScope(effect) { + var scope = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : activeEffectScope; + if (scope && scope.active) { + scope.effects.push(effect); + } +} +function getCurrentScope() { + return activeEffectScope; +} +function onScopeDispose(fn) { + if (activeEffectScope) { + activeEffectScope.cleanups.push(fn); + } else { + warn$2("onScopeDispose() is called when there is no active effect scope to be associated with."); + } +} +var activeEffect; +class ReactiveEffect { + constructor(fn, trigger, scheduler, scope) { + this.fn = fn; + this.trigger = trigger; + this.scheduler = scheduler; + this.active = true; + this.deps = []; + /** + * @internal + */ + this._dirtyLevel = 4; + /** + * @internal + */ + this._trackId = 0; + /** + * @internal + */ + this._runnings = 0; + /** + * @internal + */ + this._shouldSchedule = false; + /** + * @internal + */ + this._depsLength = 0; + recordEffectScope(this, scope); + } + get dirty() { + if (this._dirtyLevel === 2 || this._dirtyLevel === 3) { + this._dirtyLevel = 1; + pauseTracking(); + for (var i = 0; i < this._depsLength; i++) { + var dep = this.deps[i]; + if (dep.computed) { + triggerComputed(dep.computed); + if (this._dirtyLevel >= 4) { + break; + } + } + } + if (this._dirtyLevel === 1) { + this._dirtyLevel = 0; + } + resetTracking(); + } + return this._dirtyLevel >= 4; + } + set dirty(v) { + this._dirtyLevel = v ? 4 : 0; + } + run() { + this._dirtyLevel = 0; + if (!this.active) { + return this.fn(); + } + var lastShouldTrack = shouldTrack; + var lastEffect = activeEffect; + try { + shouldTrack = true; + activeEffect = this; + this._runnings++; + preCleanupEffect(this); + return this.fn(); + } finally { + postCleanupEffect(this); + this._runnings--; + activeEffect = lastEffect; + shouldTrack = lastShouldTrack; + } + } + stop() { + var _a; + if (this.active) { + preCleanupEffect(this); + postCleanupEffect(this); + (_a = this.onStop) == null ? void 0 : _a.call(this); + this.active = false; + } + } +} +function triggerComputed(computed) { + return computed.value; +} +function preCleanupEffect(effect2) { + effect2._trackId++; + effect2._depsLength = 0; +} +function postCleanupEffect(effect2) { + if (effect2.deps.length > effect2._depsLength) { + for (var i = effect2._depsLength; i < effect2.deps.length; i++) { + cleanupDepEffect(effect2.deps[i], effect2); + } + effect2.deps.length = effect2._depsLength; + } +} +function cleanupDepEffect(dep, effect2) { + var trackId = dep.get(effect2); + if (trackId !== void 0 && effect2._trackId !== trackId) { + dep.delete(effect2); + if (dep.size === 0) { + dep.cleanup(); + } + } +} +function effect(fn, options) { + if (fn.effect instanceof ReactiveEffect) { + fn = fn.effect.fn; + } + var _effect = new ReactiveEffect(fn, NOOP, () => { + if (_effect.dirty) { + _effect.run(); + } + }); + if (options) { + extend$1(_effect, options); + if (options.scope) recordEffectScope(_effect, options.scope); + } + if (!options || !options.lazy) { + _effect.run(); + } + var runner = _effect.run.bind(_effect); + runner.effect = _effect; + return runner; +} +function stop(runner) { + runner.effect.stop(); +} +var shouldTrack = true; +var pauseScheduleStack = 0; +var trackStack = []; +function pauseTracking() { + trackStack.push(shouldTrack); + shouldTrack = false; +} +function resetTracking() { + var last = trackStack.pop(); + shouldTrack = last === void 0 ? true : last; +} +function pauseScheduling() { + pauseScheduleStack++; +} +function resetScheduling() { + pauseScheduleStack--; + while (!pauseScheduleStack && queueEffectSchedulers.length) { + queueEffectSchedulers.shift()(); + } +} +function trackEffect(effect2, dep, debuggerEventExtraInfo) { + var _a; + if (dep.get(effect2) !== effect2._trackId) { + dep.set(effect2, effect2._trackId); + var oldDep = effect2.deps[effect2._depsLength]; + if (oldDep !== dep) { + if (oldDep) { + cleanupDepEffect(oldDep, effect2); + } + effect2.deps[effect2._depsLength++] = dep; + } else { + effect2._depsLength++; + } + { + (_a = effect2.onTrack) == null ? void 0 : _a.call(effect2, extend$1({ + effect: effect2 + }, debuggerEventExtraInfo)); + } + } +} +var queueEffectSchedulers = []; +function triggerEffects(dep, dirtyLevel, debuggerEventExtraInfo) { + var _a; + pauseScheduling(); + for (var effect2 of dep.keys()) { + var tracking = void 0; + if (effect2._dirtyLevel < dirtyLevel && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) { + effect2._shouldSchedule || (effect2._shouldSchedule = effect2._dirtyLevel === 0); + effect2._dirtyLevel = dirtyLevel; + } + if (effect2._shouldSchedule && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) { + { + (_a = effect2.onTrigger) == null ? void 0 : _a.call(effect2, extend$1({ + effect: effect2 + }, debuggerEventExtraInfo)); + } + effect2.trigger(); + if ((!effect2._runnings || effect2.allowRecurse) && effect2._dirtyLevel !== 2) { + effect2._shouldSchedule = false; + if (effect2.scheduler) { + queueEffectSchedulers.push(effect2.scheduler); + } + } + } + } + resetScheduling(); +} +var createDep = (cleanup, computed) => { + var dep = /* @__PURE__ */new Map(); + dep.cleanup = cleanup; + dep.computed = computed; + return dep; +}; +var targetMap = /* @__PURE__ */new WeakMap(); +var ITERATE_KEY = Symbol("iterate"); +var MAP_KEY_ITERATE_KEY = Symbol("Map key iterate"); +function track(target, type, key) { + if (shouldTrack && activeEffect) { + var depsMap = targetMap.get(target); + if (!depsMap) { + targetMap.set(target, depsMap = /* @__PURE__ */new Map()); + } + var dep = depsMap.get(key); + if (!dep) { + depsMap.set(key, dep = createDep(() => depsMap.delete(key))); + } + trackEffect(activeEffect, dep, { + target, + type, + key + }); + } +} +function trigger(target, type, key, newValue, oldValue, oldTarget) { + var depsMap = targetMap.get(target); + if (!depsMap) { + return; + } + var deps = []; + if (type === "clear") { + deps = [...depsMap.values()]; + } else if (key === "length" && isArray$1(target)) { + var newLength = Number(newValue); + depsMap.forEach((dep, key2) => { + if (key2 === "length" || !isSymbol(key2) && key2 >= newLength) { + deps.push(dep); + } + }); + } else { + if (key !== void 0) { + deps.push(depsMap.get(key)); + } + switch (type) { + case "add": + if (!isArray$1(target)) { + deps.push(depsMap.get(ITERATE_KEY)); + if (isMap(target)) { + deps.push(depsMap.get(MAP_KEY_ITERATE_KEY)); + } + } else if (isIntegerKey(key)) { + deps.push(depsMap.get("length")); + } + break; + case "delete": + if (!isArray$1(target)) { + deps.push(depsMap.get(ITERATE_KEY)); + if (isMap(target)) { + deps.push(depsMap.get(MAP_KEY_ITERATE_KEY)); + } + } + break; + case "set": + if (isMap(target)) { + deps.push(depsMap.get(ITERATE_KEY)); + } + break; + } + } + pauseScheduling(); + for (var dep of deps) { + if (dep) { + triggerEffects(dep, 4, { + target, + type, + key, + newValue, + oldValue, + oldTarget + }); + } + } + resetScheduling(); +} +function getDepFromReactive(object, key) { + var _a; + return (_a = targetMap.get(object)) == null ? void 0 : _a.get(key); +} +var isNonTrackableKeys = /* @__PURE__ */makeMap("__proto__,__v_isRef,__isVue"); +var builtInSymbols = new Set(/* @__PURE__ */Object.getOwnPropertyNames(Symbol).filter(key => key !== "arguments" && key !== "caller").map(key => Symbol[key]).filter(isSymbol)); +var arrayInstrumentations = /* @__PURE__ */createArrayInstrumentations(); +function createArrayInstrumentations() { + var instrumentations = {}; + ["includes", "indexOf", "lastIndexOf"].forEach(key => { + instrumentations[key] = function () { + var arr = toRaw(this); + for (var i = 0, l = this.length; i < l; i++) { + track(arr, "get", i + ""); + } + for (var _len2 = arguments.length, args = new Array(_len2), _key3 = 0; _key3 < _len2; _key3++) { + args[_key3] = arguments[_key3]; + } + var res = arr[key](...args); + if (res === -1 || res === false) { + return arr[key](...args.map(toRaw)); + } else { + return res; + } + }; + }); + ["push", "pop", "shift", "unshift", "splice"].forEach(key => { + instrumentations[key] = function () { + pauseTracking(); + pauseScheduling(); + for (var _len3 = arguments.length, args = new Array(_len3), _key4 = 0; _key4 < _len3; _key4++) { + args[_key4] = arguments[_key4]; + } + var res = toRaw(this)[key].apply(this, args); + resetScheduling(); + resetTracking(); + return res; + }; + }); + return instrumentations; +} +function hasOwnProperty(key) { + var obj = toRaw(this); + track(obj, "has", key); + return obj.hasOwnProperty(key); +} +class BaseReactiveHandler { + constructor() { + var _isReadonly = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + var _isShallow = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + this._isReadonly = _isReadonly; + this._isShallow = _isShallow; + } + get(target, key, receiver) { + var isReadonly2 = this._isReadonly, + isShallow2 = this._isShallow; + if (key === "__v_isReactive") { + return !isReadonly2; + } else if (key === "__v_isReadonly") { + return isReadonly2; + } else if (key === "__v_isShallow") { + return isShallow2; + } else if (key === "__v_raw") { + if (receiver === (isReadonly2 ? isShallow2 ? shallowReadonlyMap : readonlyMap : isShallow2 ? shallowReactiveMap : reactiveMap).get(target) || + // receiver is not the reactive proxy, but has the same prototype + // this means the reciever is a user proxy of the reactive proxy + Object.getPrototypeOf(target) === Object.getPrototypeOf(receiver)) { + return target; + } + return; + } + var targetIsArray = isArray$1(target); + if (!isReadonly2) { + if (targetIsArray && hasOwn(arrayInstrumentations, key)) { + return Reflect.get(arrayInstrumentations, key, receiver); + } + if (key === "hasOwnProperty") { + return hasOwnProperty; + } + } + var res = Reflect.get(target, key, receiver); + if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) { + return res; + } + if (!isReadonly2) { + track(target, "get", key); + } + if (isShallow2) { + return res; + } + if (isRef(res)) { + return targetIsArray && isIntegerKey(key) ? res : res.value; + } + if (isObject(res)) { + return isReadonly2 ? readonly(res) : reactive(res); + } + return res; + } +} +class MutableReactiveHandler extends BaseReactiveHandler { + constructor() { + var isShallow2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + super(false, isShallow2); + } + set(target, key, value, receiver) { + var oldValue = target[key]; + if (!this._isShallow) { + var isOldValueReadonly = isReadonly(oldValue); + if (!isShallow(value) && !isReadonly(value)) { + oldValue = toRaw(oldValue); + value = toRaw(value); + } + if (!isArray$1(target) && isRef(oldValue) && !isRef(value)) { + if (isOldValueReadonly) { + return false; + } else { + oldValue.value = value; + return true; + } + } + } + var hadKey = isArray$1(target) && isIntegerKey(key) ? Number(key) < target.length : hasOwn(target, key); + var result = Reflect.set(target, key, value, receiver); + if (target === toRaw(receiver)) { + if (!hadKey) { + trigger(target, "add", key, value); + } else if (hasChanged(value, oldValue)) { + trigger(target, "set", key, value, oldValue); + } + } + return result; + } + deleteProperty(target, key) { + var hadKey = hasOwn(target, key); + var oldValue = target[key]; + var result = Reflect.deleteProperty(target, key); + if (result && hadKey) { + trigger(target, "delete", key, void 0, oldValue); + } + return result; + } + has(target, key) { + var result = Reflect.has(target, key); + if (!isSymbol(key) || !builtInSymbols.has(key)) { + track(target, "has", key); + } + return result; + } + ownKeys(target) { + track(target, "iterate", isArray$1(target) ? "length" : ITERATE_KEY); + return Reflect.ownKeys(target); + } +} +class ReadonlyReactiveHandler extends BaseReactiveHandler { + constructor() { + var isShallow2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + super(true, isShallow2); + } + set(target, key) { + { + warn$2("Set operation on key \"".concat(String(key), "\" failed: target is readonly."), target); + } + return true; + } + deleteProperty(target, key) { + { + warn$2("Delete operation on key \"".concat(String(key), "\" failed: target is readonly."), target); + } + return true; + } +} +var mutableHandlers = /* @__PURE__ */new MutableReactiveHandler(); +var readonlyHandlers = /* @__PURE__ */new ReadonlyReactiveHandler(); +var shallowReactiveHandlers = /* @__PURE__ */new MutableReactiveHandler(true); +var shallowReadonlyHandlers = /* @__PURE__ */new ReadonlyReactiveHandler(true); +var toShallow = value => value; +var getProto = v => Reflect.getPrototypeOf(v); +function get(target, key) { + var isReadonly = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + var isShallow = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; + target = target["__v_raw"]; + var rawTarget = toRaw(target); + var rawKey = toRaw(key); + if (!isReadonly) { + if (hasChanged(key, rawKey)) { + track(rawTarget, "get", key); + } + track(rawTarget, "get", rawKey); + } + var { + has: has2 + } = getProto(rawTarget); + var wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive; + if (has2.call(rawTarget, key)) { + return wrap(target.get(key)); + } else if (has2.call(rawTarget, rawKey)) { + return wrap(target.get(rawKey)); + } else if (target !== rawTarget) { + target.get(key); + } +} +function has(key) { + var isReadonly = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + var target = this["__v_raw"]; + var rawTarget = toRaw(target); + var rawKey = toRaw(key); + if (!isReadonly) { + if (hasChanged(key, rawKey)) { + track(rawTarget, "has", key); + } + track(rawTarget, "has", rawKey); + } + return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey); +} +function size(target) { + var isReadonly = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + target = target["__v_raw"]; + !isReadonly && track(toRaw(target), "iterate", ITERATE_KEY); + return Reflect.get(target, "size", target); +} +function add(value) { + value = toRaw(value); + var target = toRaw(this); + var proto = getProto(target); + var hadKey = proto.has.call(target, value); + if (!hadKey) { + target.add(value); + trigger(target, "add", value, value); + } + return this; +} +function set(key, value) { + value = toRaw(value); + var target = toRaw(this); + var { + has: has2, + get: get2 + } = getProto(target); + var hadKey = has2.call(target, key); + if (!hadKey) { + key = toRaw(key); + hadKey = has2.call(target, key); + } else { + checkIdentityKeys(target, has2, key); + } + var oldValue = get2.call(target, key); + target.set(key, value); + if (!hadKey) { + trigger(target, "add", key, value); + } else if (hasChanged(value, oldValue)) { + trigger(target, "set", key, value, oldValue); + } + return this; +} +function deleteEntry(key) { + var target = toRaw(this); + var { + has: has2, + get: get2 + } = getProto(target); + var hadKey = has2.call(target, key); + if (!hadKey) { + key = toRaw(key); + hadKey = has2.call(target, key); + } else { + checkIdentityKeys(target, has2, key); + } + var oldValue = get2 ? get2.call(target, key) : void 0; + var result = target.delete(key); + if (hadKey) { + trigger(target, "delete", key, void 0, oldValue); + } + return result; +} +function clear() { + var target = toRaw(this); + var hadItems = target.size !== 0; + var oldTarget = isMap(target) ? new Map(target) : new Set(target); + var result = target.clear(); + if (hadItems) { + trigger(target, "clear", void 0, void 0, oldTarget); + } + return result; +} +function createForEach(isReadonly, isShallow) { + return function forEach(callback, thisArg) { + var observed = this; + var target = observed["__v_raw"]; + var rawTarget = toRaw(target); + var wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive; + !isReadonly && track(rawTarget, "iterate", ITERATE_KEY); + return target.forEach((value, key) => { + return callback.call(thisArg, wrap(value), wrap(key), observed); + }); + }; +} +function createIterableMethod(method, isReadonly, isShallow) { + return function () { + var target = this["__v_raw"]; + var rawTarget = toRaw(target); + var targetIsMap = isMap(rawTarget); + var isPair = method === "entries" || method === Symbol.iterator && targetIsMap; + var isKeyOnly = method === "keys" && targetIsMap; + var innerIterator = target[method](...arguments); + var wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive; + !isReadonly && track(rawTarget, "iterate", isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY); + return { + // iterator protocol + next() { + var { + value, + done + } = innerIterator.next(); + return done ? { + value, + done + } : { + value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value), + done + }; + }, + // iterable protocol + [Symbol.iterator]() { + return this; + } + }; + }; +} +function createReadonlyMethod(type) { + return function () { + { + var key = (arguments.length <= 0 ? undefined : arguments[0]) ? "on key \"".concat(arguments.length <= 0 ? undefined : arguments[0], "\" ") : ""; + warn$2("".concat(capitalize(type), " operation ").concat(key, "failed: target is readonly."), toRaw(this)); + } + return type === "delete" ? false : type === "clear" ? void 0 : this; + }; +} +function createInstrumentations() { + var mutableInstrumentations2 = { + get(key) { + return get(this, key); + }, + get size() { + return size(this); + }, + has, + add, + set, + delete: deleteEntry, + clear, + forEach: createForEach(false, false) + }; + var shallowInstrumentations2 = { + get(key) { + return get(this, key, false, true); + }, + get size() { + return size(this); + }, + has, + add, + set, + delete: deleteEntry, + clear, + forEach: createForEach(false, true) + }; + var readonlyInstrumentations2 = { + get(key) { + return get(this, key, true); + }, + get size() { + return size(this, true); + }, + has(key) { + return has.call(this, key, true); + }, + add: createReadonlyMethod("add"), + set: createReadonlyMethod("set"), + delete: createReadonlyMethod("delete"), + clear: createReadonlyMethod("clear"), + forEach: createForEach(true, false) + }; + var shallowReadonlyInstrumentations2 = { + get(key) { + return get(this, key, true, true); + }, + get size() { + return size(this, true); + }, + has(key) { + return has.call(this, key, true); + }, + add: createReadonlyMethod("add"), + set: createReadonlyMethod("set"), + delete: createReadonlyMethod("delete"), + clear: createReadonlyMethod("clear"), + forEach: createForEach(true, true) + }; + var iteratorMethods = ["keys", "values", "entries", Symbol.iterator]; + iteratorMethods.forEach(method => { + mutableInstrumentations2[method] = createIterableMethod(method, false, false); + readonlyInstrumentations2[method] = createIterableMethod(method, true, false); + shallowInstrumentations2[method] = createIterableMethod(method, false, true); + shallowReadonlyInstrumentations2[method] = createIterableMethod(method, true, true); + }); + return [mutableInstrumentations2, readonlyInstrumentations2, shallowInstrumentations2, shallowReadonlyInstrumentations2]; +} +var [mutableInstrumentations, readonlyInstrumentations, shallowInstrumentations, shallowReadonlyInstrumentations] = /* @__PURE__ */createInstrumentations(); +function createInstrumentationGetter(isReadonly, shallow) { + var instrumentations = shallow ? isReadonly ? shallowReadonlyInstrumentations : shallowInstrumentations : isReadonly ? readonlyInstrumentations : mutableInstrumentations; + return (target, key, receiver) => { + if (key === "__v_isReactive") { + return !isReadonly; + } else if (key === "__v_isReadonly") { + return isReadonly; + } else if (key === "__v_raw") { + return target; + } + return Reflect.get(hasOwn(instrumentations, key) && key in target ? instrumentations : target, key, receiver); + }; +} +var mutableCollectionHandlers = { + get: /* @__PURE__ */createInstrumentationGetter(false, false) +}; +var shallowCollectionHandlers = { + get: /* @__PURE__ */createInstrumentationGetter(false, true) +}; +var readonlyCollectionHandlers = { + get: /* @__PURE__ */createInstrumentationGetter(true, false) +}; +var shallowReadonlyCollectionHandlers = { + get: /* @__PURE__ */createInstrumentationGetter(true, true) +}; +function checkIdentityKeys(target, has2, key) { + var rawKey = toRaw(key); + if (rawKey !== key && has2.call(target, rawKey)) { + var type = toRawType(target); + warn$2("Reactive ".concat(type, " contains both the raw and reactive versions of the same object").concat(type === "Map" ? " as keys" : "", ", which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.")); + } +} +var reactiveMap = /* @__PURE__ */new WeakMap(); +var shallowReactiveMap = /* @__PURE__ */new WeakMap(); +var readonlyMap = /* @__PURE__ */new WeakMap(); +var shallowReadonlyMap = /* @__PURE__ */new WeakMap(); +function targetTypeMap(rawType) { + switch (rawType) { + case "Object": + case "Array": + return 1 /* COMMON */; + case "Map": + case "Set": + case "WeakMap": + case "WeakSet": + return 2 /* COLLECTION */; + default: + return 0 /* INVALID */; + } +} +function getTargetType(value) { + return value["__v_skip"] || !Object.isExtensible(value) ? 0 /* INVALID */ : targetTypeMap(toRawType(value)); +} +function reactive(target) { + if (isReadonly(target)) { + return target; + } + return createReactiveObject(target, false, mutableHandlers, mutableCollectionHandlers, reactiveMap); +} +function shallowReactive(target) { + return createReactiveObject(target, false, shallowReactiveHandlers, shallowCollectionHandlers, shallowReactiveMap); +} +function readonly(target) { + return createReactiveObject(target, true, readonlyHandlers, readonlyCollectionHandlers, readonlyMap); +} +function shallowReadonly(target) { + return createReactiveObject(target, true, shallowReadonlyHandlers, shallowReadonlyCollectionHandlers, shallowReadonlyMap); +} +function createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) { + if (!isObject(target)) { + { + warn$2("value cannot be made reactive: ".concat(String(target))); + } + return target; + } + if (target["__v_raw"] && !(isReadonly2 && target["__v_isReactive"])) { + return target; + } + var existingProxy = proxyMap.get(target); + if (existingProxy) { + return existingProxy; + } + var targetType = getTargetType(target); + if (targetType === 0 /* INVALID */) { + return target; + } + var proxy = new Proxy(target, targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers); + proxyMap.set(target, proxy); + return proxy; +} +function isReactive(value) { + if (isReadonly(value)) { + return isReactive(value["__v_raw"]); + } + return !!(value && value["__v_isReactive"]); +} +function isReadonly(value) { + return !!(value && value["__v_isReadonly"]); +} +function isShallow(value) { + return !!(value && value["__v_isShallow"]); +} +function isProxy(value) { + return isReactive(value) || isReadonly(value); +} +function toRaw(observed) { + var raw = observed && observed["__v_raw"]; + return raw ? toRaw(raw) : observed; +} +function markRaw(value) { + if (Object.isExtensible(value)) { + def(value, "__v_skip", true); + } + return value; +} +var toReactive = value => isObject(value) ? reactive(value) : value; +var toReadonly = value => isObject(value) ? readonly(value) : value; +var COMPUTED_SIDE_EFFECT_WARN = "Computed is still dirty after getter evaluation, likely because a computed is mutating its own dependency in its getter. State mutations in computed getters should be avoided. Check the docs for more details: https://vuejs.org/guide/essentials/computed.html#getters-should-be-side-effect-free"; +class ComputedRefImpl { + constructor(getter, _setter, isReadonly, isSSR) { + this.getter = getter; + this._setter = _setter; + this.dep = void 0; + this.__v_isRef = true; + this["__v_isReadonly"] = false; + this.effect = new ReactiveEffect(() => getter(this._value), () => triggerRefValue(this, this.effect._dirtyLevel === 2 ? 2 : 3)); + this.effect.computed = this; + this.effect.active = this._cacheable = !isSSR; + this["__v_isReadonly"] = isReadonly; + } + get value() { + var self = toRaw(this); + if ((!self._cacheable || self.effect.dirty) && hasChanged(self._value, self._value = self.effect.run())) { + triggerRefValue(self, 4); + } + trackRefValue(self); + if (self.effect._dirtyLevel >= 2) { + if (this._warnRecursive) { + warn$2(COMPUTED_SIDE_EFFECT_WARN, "\n\ngetter: ", this.getter); + } + triggerRefValue(self, 2); + } + return self._value; + } + set value(newValue) { + this._setter(newValue); + } + // #region polyfill _dirty for backward compatibility third party code for Vue <= 3.3.x + get _dirty() { + return this.effect.dirty; + } + set _dirty(v) { + this.effect.dirty = v; + } + // #endregion +} +function computed$1(getterOrOptions, debugOptions) { + var isSSR = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + var getter; + var setter; + var onlyGetter = isFunction(getterOrOptions); + if (onlyGetter) { + getter = getterOrOptions; + setter = () => { + warn$2("Write operation failed: computed value is readonly"); + }; + } else { + getter = getterOrOptions.get; + setter = getterOrOptions.set; + } + var cRef = new ComputedRefImpl(getter, setter, onlyGetter || !setter, isSSR); + if (debugOptions && !isSSR) { + cRef.effect.onTrack = debugOptions.onTrack; + cRef.effect.onTrigger = debugOptions.onTrigger; + } + return cRef; +} +function trackRefValue(ref2) { + var _a; + if (shouldTrack && activeEffect) { + ref2 = toRaw(ref2); + trackEffect(activeEffect, (_a = ref2.dep) != null ? _a : ref2.dep = createDep(() => ref2.dep = void 0, ref2 instanceof ComputedRefImpl ? ref2 : void 0), { + target: ref2, + type: "get", + key: "value" + }); + } +} +function triggerRefValue(ref2) { + var dirtyLevel = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 4; + var newVal = arguments.length > 2 ? arguments[2] : undefined; + ref2 = toRaw(ref2); + var dep = ref2.dep; + if (dep) { + triggerEffects(dep, dirtyLevel, { + target: ref2, + type: "set", + key: "value", + newValue: newVal + }); + } +} +function isRef(r) { + return !!(r && r.__v_isRef === true); +} +function ref(value) { + return createRef(value, false); +} +function shallowRef(value) { + return createRef(value, true); +} +function createRef(rawValue, shallow) { + if (isRef(rawValue)) { + return rawValue; + } + return new RefImpl(rawValue, shallow); +} +class RefImpl { + constructor(value, __v_isShallow) { + this.__v_isShallow = __v_isShallow; + this.dep = void 0; + this.__v_isRef = true; + this._rawValue = __v_isShallow ? value : toRaw(value); + this._value = __v_isShallow ? value : toReactive(value); + } + get value() { + trackRefValue(this); + return this._value; + } + set value(newVal) { + var useDirectValue = this.__v_isShallow || isShallow(newVal) || isReadonly(newVal); + newVal = useDirectValue ? newVal : toRaw(newVal); + if (hasChanged(newVal, this._rawValue)) { + this._rawValue = newVal; + this._value = useDirectValue ? newVal : toReactive(newVal); + triggerRefValue(this, 4, newVal); + } + } +} +function triggerRef(ref2) { + triggerRefValue(ref2, 4, ref2.value); +} +function unref(ref2) { + return isRef(ref2) ? ref2.value : ref2; +} +function toValue(source) { + return isFunction(source) ? source() : unref(source); +} +var shallowUnwrapHandlers = { + get: (target, key, receiver) => unref(Reflect.get(target, key, receiver)), + set: (target, key, value, receiver) => { + var oldValue = target[key]; + if (isRef(oldValue) && !isRef(value)) { + oldValue.value = value; + return true; + } else { + return Reflect.set(target, key, value, receiver); + } + } +}; +function proxyRefs(objectWithRefs) { + return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers); +} +class CustomRefImpl { + constructor(factory) { + this.dep = void 0; + this.__v_isRef = true; + var { + get, + set + } = factory(() => trackRefValue(this), () => triggerRefValue(this)); + this._get = get; + this._set = set; + } + get value() { + return this._get(); + } + set value(newVal) { + this._set(newVal); + } +} +function customRef(factory) { + return new CustomRefImpl(factory); +} +function toRefs(object) { + if (!isProxy(object)) { + warn$2("toRefs() expects a reactive object but received a plain one."); + } + var ret = isArray$1(object) ? new Array(object.length) : {}; + for (var key in object) { + ret[key] = propertyToRef(object, key); + } + return ret; +} +class ObjectRefImpl { + constructor(_object, _key, _defaultValue) { + this._object = _object; + this._key = _key; + this._defaultValue = _defaultValue; + this.__v_isRef = true; + } + get value() { + var val = this._object[this._key]; + return val === void 0 ? this._defaultValue : val; + } + set value(newVal) { + this._object[this._key] = newVal; + } + get dep() { + return getDepFromReactive(toRaw(this._object), this._key); + } +} +class GetterRefImpl { + constructor(_getter) { + this._getter = _getter; + this.__v_isRef = true; + this.__v_isReadonly = true; + } + get value() { + return this._getter(); + } +} +function toRef(source, key, defaultValue) { + if (isRef(source)) { + return source; + } else if (isFunction(source)) { + return new GetterRefImpl(source); + } else if (isObject(source) && arguments.length > 1) { + return propertyToRef(source, key, defaultValue); + } else { + return ref(source); + } +} +function propertyToRef(source, key, defaultValue) { + var val = source[key]; + return isRef(val) ? val : new ObjectRefImpl(source, key, defaultValue); +} +var TrackOpTypes = { + "GET": "get", + "HAS": "has", + "ITERATE": "iterate" +}; +var TriggerOpTypes = { + "SET": "set", + "ADD": "add", + "DELETE": "delete", + "CLEAR": "clear" +}; + +// lifecycle +// App and Page +var ON_SHOW = 'onShow'; +var ON_HIDE = 'onHide'; +//Page +var ON_LOAD = 'onLoad'; +var ON_UNLOAD = 'onUnload'; +// 百度特有 +var ON_INIT = 'onInit'; +// 微信特有 +var ON_SAVE_EXIT_STATE = 'onSaveExitState'; +var ON_BACK_PRESS = 'onBackPress'; +var ON_PAGE_SCROLL = 'onPageScroll'; +var ON_TAB_ITEM_TAP = 'onTabItemTap'; +var ON_REACH_BOTTOM = 'onReachBottom'; +var ON_PULL_DOWN_REFRESH = 'onPullDownRefresh'; +var ON_SHARE_TIMELINE = 'onShareTimeline'; +var ON_SHARE_CHAT = 'onShareChat'; // xhs-share +var ON_ADD_TO_FAVORITES = 'onAddToFavorites'; +var ON_SHARE_APP_MESSAGE = 'onShareAppMessage'; +// navigationBar +var ON_NAVIGATION_BAR_BUTTON_TAP = 'onNavigationBarButtonTap'; +var ON_NAVIGATION_BAR_SEARCH_INPUT_CLICKED = 'onNavigationBarSearchInputClicked'; +var ON_NAVIGATION_BAR_SEARCH_INPUT_CHANGED = 'onNavigationBarSearchInputChanged'; +var ON_NAVIGATION_BAR_SEARCH_INPUT_CONFIRMED = 'onNavigationBarSearchInputConfirmed'; +var ON_NAVIGATION_BAR_SEARCH_INPUT_FOCUS_CHANGED = 'onNavigationBarSearchInputFocusChanged'; +function getGlobalOnce() { + if (typeof globalThis !== 'undefined') { + return globalThis; + } + // worker + if (typeof self !== 'undefined') { + return self; + } + // browser + if (typeof window !== 'undefined') { + return window; + } + // nodejs + // if (typeof global !== 'undefined') { + // return global + // } + function g() { + return this; + } + if (typeof g() !== 'undefined') { + return g(); + } + return function () { + return new Function('return this')(); + }(); +} +var g = undefined; +function getGlobal() { + if (g) { + return g; + } + g = getGlobalOnce(); + return g; +} +function normalizeStyle$1(value) { + var g = getGlobal(); + if (g && g.UTSJSONObject && value instanceof g.UTSJSONObject) { + var styleObject = {}; + g.UTSJSONObject.keys(value).forEach(key => { + styleObject[key] = value[key]; + }); + return normalizeStyle$2(styleObject); + } else if (value instanceof Map) { + var _styleObject = {}; + value.forEach((value, key) => { + _styleObject[key] = value; + }); + return normalizeStyle$2(_styleObject); + } else if (isString(value)) { + return parseStringStyle(value); + } else if (isArray$1(value)) { + var res = {}; + for (var i = 0; i < value.length; i++) { + var item = value[i]; + var normalized = isString(item) ? parseStringStyle(item) : normalizeStyle$1(item); + if (normalized) { + for (var key in normalized) { + res[key] = normalized[key]; + } + } + } + return res; + } else { + return normalizeStyle$2(value); + } +} +function normalizeClass(value) { + var res = ''; + var g = getGlobal(); + if (g && g.UTSJSONObject && value instanceof g.UTSJSONObject) { + g.UTSJSONObject.keys(value).forEach(key => { + if (value[key]) { + res += key + ' '; + } + }); + } else if (value instanceof Map) { + value.forEach((value, key) => { + if (value) { + res += key + ' '; + } + }); + } else if (isArray$1(value)) { + for (var i = 0; i < value.length; i++) { + var normalized = normalizeClass(value[i]); + if (normalized) { + res += normalized + ' '; + } + } + } else { + res = normalizeClass$1(value); + } + return res.trim(); +} +function normalizeProps(props) { + if (!props) return null; + var { + class: klass, + style + } = props; + if (klass && !isString(klass)) { + props.class = normalizeClass(klass); + } + if (style) { + props.style = normalizeStyle$1(style); + } + return props; +} +var PAGE_HOOKS = [ON_INIT, ON_LOAD, ON_SHOW, ON_HIDE, ON_UNLOAD, ON_BACK_PRESS, ON_PAGE_SCROLL, ON_TAB_ITEM_TAP, ON_REACH_BOTTOM, ON_PULL_DOWN_REFRESH, ON_SHARE_TIMELINE, ON_SHARE_APP_MESSAGE, ON_SHARE_CHAT, ON_ADD_TO_FAVORITES, ON_SAVE_EXIT_STATE, ON_NAVIGATION_BAR_BUTTON_TAP, ON_NAVIGATION_BAR_SEARCH_INPUT_CLICKED, ON_NAVIGATION_BAR_SEARCH_INPUT_CHANGED, ON_NAVIGATION_BAR_SEARCH_INPUT_CONFIRMED, ON_NAVIGATION_BAR_SEARCH_INPUT_FOCUS_CHANGED]; +function isRootImmediateHook(name) { + var PAGE_SYNC_HOOKS = [ON_LOAD, ON_SHOW]; + return PAGE_SYNC_HOOKS.indexOf(name) > -1; +} +// isRootImmediateHookX deprecated +function isRootHook(name) { + return PAGE_HOOKS.indexOf(name) > -1; +} +function getDefaultExportFromCjs(x) { + return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x; +} + +/** + * @this {Promise} + */ +function finallyConstructor(callback) { + var constructor = this.constructor; + return this.then(function (value) { + // @ts-ignore + return constructor.resolve(callback()).then(function () { + return value; + }); + }, function (reason) { + // @ts-ignore + return constructor.resolve(callback()).then(function () { + // @ts-ignore + return constructor.reject(reason); + }); + }); +} +function allSettled(arr) { + var P = this; + return new P(function (resolve, reject) { + if (!(arr && typeof arr.length !== 'undefined')) { + return reject(new TypeError(typeof arr + ' ' + arr + ' is not iterable(cannot read property Symbol(Symbol.iterator))')); + } + var args = Array.prototype.slice.call(arr); + if (args.length === 0) return resolve([]); + var remaining = args.length; + function res(i, val) { + if (val && (typeof val === 'object' || typeof val === 'function')) { + var then = val.then; + if (typeof then === 'function') { + then.call(val, function (val) { + res(i, val); + }, function (e) { + args[i] = { + status: 'rejected', + reason: e + }; + if (--remaining === 0) { + resolve(args); + } + }); + return; + } + } + args[i] = { + status: 'fulfilled', + value: val + }; + if (--remaining === 0) { + resolve(args); + } + } + for (var i = 0; i < args.length; i++) { + res(i, args[i]); + } + }); +} + +/** + * @constructor + */ +function AggregateError(errors, message) { + this.name = 'AggregateError', this.errors = errors; + this.message = message || ''; +} +AggregateError.prototype = Error.prototype; +function any(arr) { + var P = this; + return new P(function (resolve, reject) { + if (!(arr && typeof arr.length !== 'undefined')) { + return reject(new TypeError('Promise.any accepts an array')); + } + var args = Array.prototype.slice.call(arr); + if (args.length === 0) return reject(); + var rejectionReasons = []; + for (var i = 0; i < args.length; i++) { + try { + P.resolve(args[i]).then(resolve).catch(function (error) { + rejectionReasons.push(error); + if (rejectionReasons.length === args.length) { + reject(new AggregateError(rejectionReasons, 'All promises were rejected')); + } + }); + } catch (ex) { + reject(ex); + } + } + }); +} + +// Store setTimeout reference so promise-polyfill will be unaffected by +// other code modifying setTimeout (like sinon.useFakeTimers()) +var setTimeoutFunc = setTimeout; +function isArray(x) { + return Boolean(x && typeof x.length !== 'undefined'); +} +function noop() {} + +// Polyfill for Function.prototype.bind +function bind(fn, thisArg) { + return function () { + fn.apply(thisArg, arguments); + }; +} + +/** + * @constructor + * @param {Function} fn + */ +function Promise$1(fn) { + if (!(this instanceof Promise$1)) throw new TypeError('Promises must be constructed via new'); + if (typeof fn !== 'function') throw new TypeError('not a function'); + /** @type {!number} */ + this._state = 0; + /** @type {!boolean} */ + this._handled = false; + /** @type {Promise|undefined} */ + this._value = undefined; + /** @type {!Array} */ + this._deferreds = []; + doResolve(fn, this); +} +function handle(self, deferred) { + while (self._state === 3) { + self = self._value; + } + if (self._state === 0) { + self._deferreds.push(deferred); + return; + } + self._handled = true; + Promise$1._immediateFn(function () { + var cb = self._state === 1 ? deferred.onFulfilled : deferred.onRejected; + if (cb === null) { + (self._state === 1 ? resolve$1 : reject)(deferred.promise, self._value); + return; + } + var ret; + try { + ret = cb(self._value); + } catch (e) { + reject(deferred.promise, e); + return; + } + resolve$1(deferred.promise, ret); + }); +} +function resolve$1(self, newValue) { + try { + // Promise Resolution Procedure: https://github.com/promises-aplus/promises-spec#the-promise-resolution-procedure + if (newValue === self) throw new TypeError('A promise cannot be resolved with itself.'); + if (newValue && (typeof newValue === 'object' || typeof newValue === 'function')) { + var then = newValue.then; + if (newValue instanceof Promise$1) { + self._state = 3; + self._value = newValue; + finale(self); + return; + } else if (typeof then === 'function') { + doResolve(bind(then, newValue), self); + return; + } + } + self._state = 1; + self._value = newValue; + finale(self); + } catch (e) { + reject(self, e); + } +} +function reject(self, newValue) { + self._state = 2; + self._value = newValue; + finale(self); +} +function finale(self) { + if (self._state === 2 && self._deferreds.length === 0) { + Promise$1._immediateFn(function () { + if (!self._handled) { + Promise$1._unhandledRejectionFn(self._value); + } + }); + } + for (var i = 0, len = self._deferreds.length; i < len; i++) { + handle(self, self._deferreds[i]); + } + self._deferreds = null; +} + +/** + * @constructor + */ +function Handler(onFulfilled, onRejected, promise) { + this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null; + this.onRejected = typeof onRejected === 'function' ? onRejected : null; + this.promise = promise; +} + +/** + * Take a potentially misbehaving resolver function and make sure + * onFulfilled and onRejected are only called once. + * + * Makes no guarantees about asynchrony. + */ +function doResolve(fn, self) { + var done = false; + try { + fn(function (value) { + if (done) return; + done = true; + resolve$1(self, value); + }, function (reason) { + if (done) return; + done = true; + reject(self, reason); + }); + } catch (ex) { + if (done) return; + done = true; + reject(self, ex); + } +} +Promise$1.prototype['catch'] = function (onRejected) { + return this.then(null, onRejected); +}; +Promise$1.prototype.then = function (onFulfilled, onRejected) { + // @ts-ignore + var prom = new this.constructor(noop); + handle(this, new Handler(onFulfilled, onRejected, prom)); + return prom; +}; +Promise$1.prototype['finally'] = finallyConstructor; +Promise$1.all = function (arr) { + return new Promise$1(function (resolve, reject) { + if (!isArray(arr)) { + return reject(new TypeError('Promise.all accepts an array')); + } + var args = Array.prototype.slice.call(arr); + if (args.length === 0) return resolve([]); + var remaining = args.length; + function res(i, val) { + try { + if (val && (typeof val === 'object' || typeof val === 'function')) { + var then = val.then; + if (typeof then === 'function') { + then.call(val, function (val) { + res(i, val); + }, reject); + return; + } + } + args[i] = val; + if (--remaining === 0) { + resolve(args); + } + } catch (ex) { + reject(ex); + } + } + for (var i = 0; i < args.length; i++) { + res(i, args[i]); + } + }); +}; +Promise$1.any = any; +Promise$1.allSettled = allSettled; +Promise$1.resolve = function (value) { + if (value && typeof value === 'object' && value.constructor === Promise$1) { + return value; + } + return new Promise$1(function (resolve) { + resolve(value); + }); +}; +Promise$1.reject = function (value) { + return new Promise$1(function (resolve, reject) { + reject(value); + }); +}; +Promise$1.race = function (arr) { + return new Promise$1(function (resolve, reject) { + if (!isArray(arr)) { + return reject(new TypeError('Promise.race accepts an array')); + } + for (var i = 0, len = arr.length; i < len; i++) { + Promise$1.resolve(arr[i]).then(resolve, reject); + } + }); +}; + +// Use polyfill for setImmediate for performance gains +Promise$1._immediateFn = +// @ts-ignore +typeof setImmediate === 'function' && function (fn) { + // @ts-ignore + setImmediate(fn); +} || function (fn) { + setTimeoutFunc(fn, 0); +}; +Promise$1._unhandledRejectionFn = function _unhandledRejectionFn(err) { + if (typeof console !== 'undefined' && console) { + console.warn('Possible Unhandled Promise Rejection:', err); // eslint-disable-line no-console + } +}; +var lib = Promise$1; +var PromisePolyfill = /*@__PURE__*/getDefaultExportFromCjs(lib); +function createDecl(prop, value, important, raws, source) { + var decl = { + type: 'decl', + prop, + value: value.toString(), + raws, + source + }; + if (important) { + decl.important = true; + } + return decl; +} +var backgroundColor = 'backgroundColor'; +var backgroundImage = 'backgroundImage'; +function createTransformBackground(options) { + return decl => { + var { + value, + important, + raws, + source + } = decl; + // nvue 平台维持原有逻辑不变 + var isUvuePlatform = options.type === 'uvue'; + if (isUvuePlatform) { + if (/^#?\S+$/.test(value) || /^rgba?(.+)$/.test(value)) { + return [createDecl(backgroundImage, 'none', important, raws, source), createDecl(backgroundColor, value, important, raws, source)]; + } else if (/^linear-gradient(.+)$/.test(value)) { + return [createDecl(backgroundImage, value, important, raws, source), createDecl(backgroundColor, 'transparent', important, raws, source)]; + } else if (value == '') { + return [createDecl(backgroundImage, 'none', important, raws, source), createDecl(backgroundColor, 'transparent', important, raws, source)]; + } + return [decl]; + } else { + if (/^#?\S+$/.test(value) || /^rgba?(.+)$/.test(value)) { + return [createDecl(backgroundColor, value, important, raws, source)]; + } else if (/^linear-gradient(.+)$/.test(value)) { + return [createDecl(backgroundImage, value, important, raws, source)]; + } else if (value == '') { + return [decl]; + } + return [decl]; + } + }; +} +var borderTop = 'borderTop'; +var borderRight = 'borderRight'; +var borderBottom = 'borderBottom'; +var borderLeft = 'borderLeft'; +// const position = ['top', 'right', 'bottom', 'left'] +var transformBorderColor = decl => { + var { + prop, + value, + important, + raws, + source + } = decl; + var _property_split = hyphenate(prop).split('-'); + var property = _property_split[_property_split.length - 1]; + { + property = capitalize(property); + } + var splitResult = value.replace(/\s*,\s*/g, ',').split(/\s+/); // 1pt + switch (splitResult.length) { + case 1: + if (_property_split.length === 3) { + // border-top-width + return [decl]; + } else { + // border-width + splitResult.push(splitResult[0], splitResult[0], splitResult[0]); + break; + } + case 2: + splitResult.push(splitResult[0], splitResult[1]); + break; + case 3: + splitResult.push(splitResult[1]); + break; + } + return [createDecl(borderTop + property, splitResult[0], important, raws, source), createDecl(borderRight + property, splitResult[1], important, raws, source), createDecl(borderBottom + property, splitResult[2], important, raws, source), createDecl(borderLeft + property, splitResult[3], important, raws, source)]; +}; +var transformBorderStyle = transformBorderColor; +var transformBorderWidth = transformBorderColor; +var borderWidth = 'Width'; +var borderStyle = 'Style'; +var borderColor = 'Color'; +function createTransformBorder(options) { + return decl => { + var { + prop, + value, + important, + raws, + source + } = decl; + var splitResult = value.replace(/\s*,\s*/g, ',').split(/\s+/); + var result = [/^[\d\.]+\S*|^(thin|medium|thick)$/, /^(solid|dashed|dotted|none)$/, /\S+/].map(item => { + var index = splitResult.findIndex(str => item.test(str)); + return index < 0 ? null : splitResult.splice(index, 1)[0]; + }); + var isUvuePlatform = options.type === 'uvue'; + if (isUvuePlatform) { + if (splitResult.length > 0 && value !== '') { + return [decl]; + } + } else { + // nvue 维持不变 + if (splitResult.length > 0) { + return [decl]; + } + } + if (isUvuePlatform) { + return [...transformBorderWidth(createDecl(prop + borderWidth, (result[0] || (options.type === 'uvue' ? 'medium' : '0')).trim(), important, raws, source)), ...transformBorderStyle(createDecl(prop + borderStyle, (result[1] || (options.type === 'uvue' ? 'none' : 'solid')).trim(), important, raws, source)), ...transformBorderColor(createDecl(prop + borderColor, (result[2] || '#000000').trim(), important, raws, source))]; + } else { + // nvue 维持不变 + return [createDecl(prop + borderWidth, (result[0] || (options.type === 'uvue' ? 'medium' : '0')).trim(), important, raws, source), createDecl(prop + borderStyle, (result[1] || (options.type === 'uvue' ? 'none' : 'solid')).trim(), important, raws, source), createDecl(prop + borderColor, (result[2] || '#000000').trim(), important, raws, source)]; + } + }; +} +var borderTopLeftRadius = 'borderTopLeftRadius'; +var borderTopRightRadius = 'borderTopRightRadius'; +var borderBottomRightRadius = 'borderBottomRightRadius'; +var borderBottomLeftRadius = 'borderBottomLeftRadius'; +var transformBorderRadius = decl => { + var { + value, + important, + raws, + source + } = decl; + var splitResult = value.split(/\s+/); + if (value.includes('/')) { + return [decl]; + } + switch (splitResult.length) { + case 1: + return [decl]; + case 2: + splitResult.push(splitResult[0], splitResult[1]); + break; + case 3: + splitResult.push(splitResult[1]); + break; + } + return [createDecl(borderTopLeftRadius, splitResult[0], important, raws, source), createDecl(borderTopRightRadius, splitResult[1], important, raws, source), createDecl(borderBottomRightRadius, splitResult[2], important, raws, source), createDecl(borderBottomLeftRadius, splitResult[3], important, raws, source)]; +}; +var flexDirection = 'flexDirection'; +var flexWrap = 'flexWrap'; +var transformFlexFlow = decl => { + var { + value, + important, + raws, + source + } = decl; + var splitResult = value.split(/\s+/); + var result = [/^(column|column-reverse|row|row-reverse)$/, /^(nowrap|wrap|wrap-reverse)$/].map(item => { + var index = splitResult.findIndex(str => item.test(str)); + return index < 0 ? null : splitResult.splice(index, 1)[0]; + }); + if (splitResult.length) { + return [decl]; + } + return [createDecl(flexDirection, result[0] || 'column', important, raws, source), createDecl(flexWrap, result[1] || 'nowrap', important, raws, source)]; +}; +var top = 'Top'; +var right = 'Right'; +var bottom = 'Bottom'; +var left = 'Left'; +var createTransformBox = type => { + return decl => { + var { + value, + important, + raws, + source + } = decl; + var splitResult = value.split(/\s+/); + switch (splitResult.length) { + case 1: + splitResult.push(splitResult[0], splitResult[0], splitResult[0]); + break; + case 2: + splitResult.push(splitResult[0], splitResult[1]); + break; + case 3: + splitResult.push(splitResult[1]); + break; + } + return [createDecl(type + top, splitResult[0], important, raws, source), createDecl(type + right, splitResult[1], important, raws, source), createDecl(type + bottom, splitResult[2], important, raws, source), createDecl(type + left, splitResult[3], important, raws, source)]; + }; +}; +var transformMargin = createTransformBox('margin'); +var transformPadding = createTransformBox('padding'); +var transitionProperty = 'transitionProperty'; +var transitionDuration = 'transitionDuration'; +var transitionTimingFunction = 'transitionTimingFunction'; +var transitionDelay = 'transitionDelay'; +var transformTransition = decl => { + var { + value, + important, + raws, + source + } = decl; + var result = []; + var match; + // 针对 cubic-bezier 特殊处理 + // eg: cubic-bezier(0.42, 0, 1.0, 3) // (0.2,-2,0.8,2) + if (decl.value.includes('cubic-bezier')) { + var CHUNK_REGEXP = /^(\S*)?\s*(\d*\.?\d+(?:ms|s)?)?\s*((\S*)|cubic-bezier\(.*\))?\s*(\d*\.?\d+(?:ms|s)?)?$/; + match = value.match(CHUNK_REGEXP); + } else { + var _CHUNK_REGEXP = /^(\S*)?\s*(\d*\.?\d+(?:ms|s)?)?\s*(\S*)?\s*(\d*\.?\d+(?:ms|s)?)?$/; + match = value.match(_CHUNK_REGEXP); + } + if (!match) { + return result; + } + match[1] && result.push(createDecl(transitionProperty, match[1], important, raws, source)); + match[2] && result.push(createDecl(transitionDuration, match[2], important, raws, source)); + match[3] && result.push(createDecl(transitionTimingFunction, match[3], important, raws, source)); + match[4] && result.push(createDecl(transitionDelay, match[4], important, raws, source)); + return result; +}; +function getDeclTransforms(options) { + var transformBorder = createTransformBorder(options); + var styleMap = _objectSpread({ + transition: transformTransition, + border: transformBorder, + background: createTransformBackground(options), + borderTop: transformBorder, + borderRight: transformBorder, + borderBottom: transformBorder, + borderLeft: transformBorder, + borderStyle: transformBorderStyle, + borderWidth: transformBorderWidth, + borderColor: transformBorderColor, + borderRadius: transformBorderRadius, + // uvue已经支持这些简写属性,不需要展开 + // margin,padding继续展开,确保样式的优先级 + margin: transformMargin, + padding: transformPadding + }, options.type !== 'uvue' ? { + flexFlow: transformFlexFlow + } : {}); + var result = {}; + { + result = styleMap; + } + return result; +} +var DeclTransforms; +var expanded = Symbol('expanded'); +function expand(options) { + var plugin = { + postcssPlugin: "".concat(options.type || 'nvue', ":expand"), + Declaration(decl) { + if (decl[expanded]) { + return; + } + if (!DeclTransforms) { + DeclTransforms = getDeclTransforms(options); + } + var transform = DeclTransforms[decl.prop]; + if (transform) { + var res = transform(decl); + var _isSame = res.length === 1 && res[0] === decl; + if (!_isSame) { + decl.replaceWith(res); + } + } + decl[expanded] = true; + } + }; + return plugin; +} + +/** +* @dcloudio/uni-app-nvue v3.4.21 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/ + +var stack = []; +function pushWarningContext(vnode) { + stack.push(vnode); +} +function popWarningContext() { + stack.pop(); +} +function warn$1(msg) { + pauseTracking(); + var instance = stack.length ? stack[stack.length - 1].component : null; + var appWarnHandler = instance && instance.appContext.config.warnHandler; + var trace = getComponentTrace(); + for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key5 = 1; _key5 < _len4; _key5++) { + args[_key5 - 1] = arguments[_key5]; + } + if (appWarnHandler) { + callWithErrorHandling(appWarnHandler, instance, 11, [msg + args.map(a => { + var _a, _b; + return (_b = (_a = a.toString) == null ? void 0 : _a.call(a)) != null ? _b : JSON.stringify(a); + }).join(""), instance && instance.proxy, trace.map(_ref2 => { + var { + vnode + } = _ref2; + return "at <".concat(formatComponentName(instance, vnode.type), ">"); + }).join("\n"), trace]); + } else { + var warnArgs = ["[Vue warn]: ".concat(msg), ...args]; + if (trace.length && + // avoid spamming console during tests + true) { + warnArgs.push("\n", ...formatTrace(trace)); + } + console.warn(...warnArgs); + } + resetTracking(); +} +function getComponentTrace() { + var currentVNode = stack[stack.length - 1]; + if (!currentVNode) { + return []; + } + var normalizedStack = []; + while (currentVNode) { + var last = normalizedStack[0]; + if (last && last.vnode === currentVNode) { + last.recurseCount++; + } else { + normalizedStack.push({ + vnode: currentVNode, + recurseCount: 0 + }); + } + var parentInstance = currentVNode.component && currentVNode.component.parent; + currentVNode = parentInstance && parentInstance.vnode; + } + return normalizedStack; +} +function formatTrace(trace) { + var logs = []; + trace.forEach((entry, i) => { + logs.push(...(i === 0 ? [] : ["\n"]), ...formatTraceEntry(entry)); + }); + return logs; +} +function formatTraceEntry(_ref3) { + var { + vnode, + recurseCount + } = _ref3; + var postfix = recurseCount > 0 ? "... (".concat(recurseCount, " recursive calls)") : ""; + var isRoot = vnode.component ? vnode.component.parent == null : false; + var open = " at <".concat(formatComponentName(vnode.component, vnode.type, isRoot)); + var close = ">" + postfix; + return vnode.props ? [open, ...formatProps(vnode.props), close] : [open + close]; +} +function formatProps(props) { + var res = []; + var keys = Object.keys(props); + keys.slice(0, 3).forEach(key => { + res.push(...formatProp(key, props[key])); + }); + if (keys.length > 3) { + res.push(" ..."); + } + return res; +} +function formatProp(key, value, raw) { + if (isString(value)) { + value = JSON.stringify(value); + return raw ? value : ["".concat(key, "=").concat(value)]; + } else if (typeof value === "number" || typeof value === "boolean" || value == null) { + return raw ? value : ["".concat(key, "=").concat(value)]; + } else if (isRef(value)) { + value = formatProp(key, toRaw(value.value), true); + return raw ? value : ["".concat(key, "=Ref<"), value, ">"]; + } else if (isFunction(value)) { + return ["".concat(key, "=fn").concat(value.name ? "<".concat(value.name, ">") : "")]; + } else { + value = toRaw(value); + return raw ? value : ["".concat(key, "="), value]; + } +} +function assertNumber(val, type) { + if (val === void 0) { + return; + } else if (typeof val !== "number") { + warn$1("".concat(type, " is not a valid number - got ").concat(JSON.stringify(val), ".")); + } else if (isNaN(val)) { + warn$1("".concat(type, " is NaN - the duration expression might be incorrect.")); + } +} +var ErrorCodes = { + "SETUP_FUNCTION": 0, + "0": "SETUP_FUNCTION", + "RENDER_FUNCTION": 1, + "1": "RENDER_FUNCTION", + "WATCH_GETTER": 2, + "2": "WATCH_GETTER", + "WATCH_CALLBACK": 3, + "3": "WATCH_CALLBACK", + "WATCH_CLEANUP": 4, + "4": "WATCH_CLEANUP", + "NATIVE_EVENT_HANDLER": 5, + "5": "NATIVE_EVENT_HANDLER", + "COMPONENT_EVENT_HANDLER": 6, + "6": "COMPONENT_EVENT_HANDLER", + "VNODE_HOOK": 7, + "7": "VNODE_HOOK", + "DIRECTIVE_HOOK": 8, + "8": "DIRECTIVE_HOOK", + "TRANSITION_HOOK": 9, + "9": "TRANSITION_HOOK", + "APP_ERROR_HANDLER": 10, + "10": "APP_ERROR_HANDLER", + "APP_WARN_HANDLER": 11, + "11": "APP_WARN_HANDLER", + "FUNCTION_REF": 12, + "12": "FUNCTION_REF", + "ASYNC_COMPONENT_LOADER": 13, + "13": "ASYNC_COMPONENT_LOADER", + "SCHEDULER": 14, + "14": "SCHEDULER" +}; +var ErrorTypeStrings$1 = { + ["sp"]: "serverPrefetch hook", + ["bc"]: "beforeCreate hook", + ["c"]: "created hook", + ["bm"]: "beforeMount hook", + ["m"]: "mounted hook", + ["bu"]: "beforeUpdate hook", + ["u"]: "updated", + ["bum"]: "beforeUnmount hook", + ["um"]: "unmounted hook", + ["a"]: "activated hook", + ["da"]: "deactivated hook", + ["ec"]: "errorCaptured hook", + ["rtc"]: "renderTracked hook", + ["rtg"]: "renderTriggered hook", + [0]: "setup function", + [1]: "render function", + [2]: "watcher getter", + [3]: "watcher callback", + [4]: "watcher cleanup function", + [5]: "native event handler", + [6]: "component event handler", + [7]: "vnode hook", + [8]: "directive hook", + [9]: "transition hook", + [10]: "app errorHandler", + [11]: "app warnHandler", + [12]: "ref function", + [13]: "async component loader", + [14]: "scheduler flush. This is likely a Vue internals bug. Please open an issue at https://github.com/vuejs/core ." +}; +function callWithErrorHandling(fn, instance, type, args) { + try { + return args ? fn(...args) : fn(); + } catch (err) { + handleError(err, instance, type); + } +} +function callWithAsyncErrorHandling(fn, instance, type, args) { + if (isFunction(fn)) { + var res = callWithErrorHandling(fn, instance, type, args); + if (res && isPromise(res)) { + res.catch(err => { + handleError(err, instance, type); + }); + } + return res; + } + var values = []; + for (var i = 0; i < fn.length; i++) { + values.push(callWithAsyncErrorHandling(fn[i], instance, type, args)); + } + return values; +} +function handleError(err, instance, type) { + var throwInDev = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true; + var contextVNode = instance ? instance.vnode : null; + if (instance) { + var cur = instance.parent; + var exposedInstance = instance.proxy; + var errorInfo = ErrorTypeStrings$1[type] || type; + while (cur) { + var errorCapturedHooks = cur.ec; + if (errorCapturedHooks) { + for (var i = 0; i < errorCapturedHooks.length; i++) { + if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) { + return; + } + } + } + cur = cur.parent; + } + var appErrorHandler = instance.appContext.config.errorHandler; + if (appErrorHandler) { + pauseTracking(); + callWithErrorHandling(appErrorHandler, null, 10, [err, exposedInstance, errorInfo]); + resetTracking(); + return; + } + } + logError(err, type, contextVNode, throwInDev); +} +function logError(err, type, contextVNode) { + var throwInDev = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true; + { + var info = ErrorTypeStrings$1[type] || type; + if (contextVNode) { + pushWarningContext(contextVNode); + } + warn$1("Unhandled error".concat(info ? " during execution of ".concat(info) : "")); + if (contextVNode) { + popWarningContext(); + } + if (err instanceof Error) { + console.error("---BEGIN:EXCEPTION---".concat(err.message, "\n").concat(err.stack || "", "---END:EXCEPTION---")); + } else { + console.error(err); + } + } +} +var isFlushing = false; +var isFlushPending = false; +var queue = []; +var flushIndex = 0; +var pendingPostFlushCbs = []; +var activePostFlushCbs = null; +var postFlushIndex = 0; +var isIOS = "nativeApp" in getGlobalThis(); +var resolvedPromise = /* @__PURE__ */(isIOS ? PromisePolyfill : Promise).resolve(); +var currentFlushPromise = null; +var RECURSION_LIMIT = 100; +function nextTick(fn) { + var instance = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstance(); + var promise = currentFlushPromise || resolvedPromise; + var current = currentFlushPromise === null || instance === null ? promise : promise.then(() => { + return new Promise(resolve => { + if (instance === null) { + resolve(); + } else { + instance.$waitNativeRender(() => { + resolve(); + }); + } + }); + }); + return fn ? current.then(this ? fn.bind(this) : fn) : current; +} +function findInsertionIndex(id) { + var start = flushIndex + 1; + var end = queue.length; + while (start < end) { + var middle = start + end >>> 1; + var middleJob = queue[middle]; + var middleJobId = getId(middleJob); + if (middleJobId < id || middleJobId === id && middleJob.pre) { + start = middle + 1; + } else { + end = middle; + } + } + return start; +} +function queueJob(job) { + if (!queue.length || !queue.includes(job, isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex)) { + if (job.id == null) { + queue.push(job); + } else { + queue.splice(findInsertionIndex(job.id), 0, job); + } + queueFlush(); + } +} +function queueFlush() { + if (!isFlushing && !isFlushPending) { + isFlushPending = true; + currentFlushPromise = resolvedPromise.then(flushJobs); + } +} +function invalidateJob(job) { + var i = queue.indexOf(job); + if (i > flushIndex) { + queue.splice(i, 1); + } +} +function queuePostFlushCb(cb) { + if (!isArray$1(cb)) { + if (!activePostFlushCbs || !activePostFlushCbs.includes(cb, cb.allowRecurse ? postFlushIndex + 1 : postFlushIndex)) { + pendingPostFlushCbs.push(cb); + } + } else { + pendingPostFlushCbs.push(...cb); + } + queueFlush(); +} +function flushPreFlushCbs(instance, seen) { + var i = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : isFlushing ? flushIndex + 1 : 0; + { + seen = seen || /* @__PURE__ */new Map(); + } + for (; i < queue.length; i++) { + var cb = queue[i]; + if (cb && cb.pre) { + if (instance && cb.id !== instance.uid) { + continue; + } + if (checkRecursiveUpdates(seen, cb)) { + continue; + } + queue.splice(i, 1); + i--; + cb(); + } + } +} +function flushPostFlushCbs(seen) { + if (pendingPostFlushCbs.length) { + var deduped = [...new Set(pendingPostFlushCbs)].sort((a, b) => getId(a) - getId(b)); + pendingPostFlushCbs.length = 0; + if (activePostFlushCbs) { + activePostFlushCbs.push(...deduped); + return; + } + activePostFlushCbs = deduped; + { + seen = seen || /* @__PURE__ */new Map(); + } + for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) { + if (checkRecursiveUpdates(seen, activePostFlushCbs[postFlushIndex])) { + continue; + } + activePostFlushCbs[postFlushIndex](); + } + activePostFlushCbs = null; + postFlushIndex = 0; + } +} +var getId = job => job.id == null ? Infinity : job.id; +var comparator = (a, b) => { + var diff = getId(a) - getId(b); + if (diff === 0) { + if (a.pre && !b.pre) return -1; + if (b.pre && !a.pre) return 1; + } + return diff; +}; +function flushJobs(seen) { + isFlushPending = false; + isFlushing = true; + { + seen = seen || /* @__PURE__ */new Map(); + } + queue.sort(comparator); + var check = job => checkRecursiveUpdates(seen, job); + try { + for (flushIndex = 0; flushIndex < queue.length; flushIndex++) { + var job = queue[flushIndex]; + if (job && job.active !== false) { + if (!!("development" !== "production") && check(job)) { + continue; + } + callWithErrorHandling(job, null, 14); + } + } + } finally { + flushIndex = 0; + queue.length = 0; + flushPostFlushCbs(seen); + isFlushing = false; + currentFlushPromise = null; + if (queue.length || pendingPostFlushCbs.length) { + flushJobs(seen); + } + } +} +function checkRecursiveUpdates(seen, fn) { + if (!seen.has(fn)) { + seen.set(fn, 1); + } else { + var count = seen.get(fn); + if (count > RECURSION_LIMIT) { + var instance = fn.ownerInstance; + var componentName = instance && getComponentName(instance.type); + handleError("Maximum recursive updates exceeded".concat(componentName ? " in component <".concat(componentName, ">") : "", ". This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function."), null, 10); + return true; + } else { + seen.set(fn, count + 1); + } + } +} +var isHmrUpdating = false; +var hmrDirtyComponents = /* @__PURE__ */new Set(); +{ + getGlobalThis().__VUE_HMR_RUNTIME__ = { + createRecord: tryWrap(createRecord), + rerender: tryWrap(rerender), + reload: tryWrap(reload) + }; +} +var map = /* @__PURE__ */new Map(); +function registerHMR(instance) { + var id = instance.type.__hmrId; + var record = map.get(id); + if (!record) { + createRecord(id, instance.type); + record = map.get(id); + } + record.instances.add(instance); +} +function unregisterHMR(instance) { + map.get(instance.type.__hmrId).instances.delete(instance); +} +function createRecord(id, initialDef) { + if (map.has(id)) { + return false; + } + map.set(id, { + initialDef: normalizeClassComponent(initialDef), + instances: /* @__PURE__ */new Set() + }); + return true; +} +function normalizeClassComponent(component) { + return isClassComponent(component) ? component.__vccOpts : component; +} +function rerender(id, newRender) { + var record = map.get(id); + if (!record) { + return; + } + record.initialDef.render = newRender; + [...record.instances].forEach(instance => { + if (newRender) { + instance.render = newRender; + normalizeClassComponent(instance.type).render = newRender; + } + instance.renderCache = []; + isHmrUpdating = true; + instance.effect.dirty = true; + instance.update(); + isHmrUpdating = false; + }); +} +function reload(id, newComp) { + var record = map.get(id); + if (!record) return; + newComp = normalizeClassComponent(newComp); + updateComponentDef(record.initialDef, newComp); + var instances = [...record.instances]; + for (var instance of instances) { + var oldComp = normalizeClassComponent(instance.type); + if (!hmrDirtyComponents.has(oldComp)) { + if (oldComp !== record.initialDef) { + updateComponentDef(oldComp, newComp); + } + hmrDirtyComponents.add(oldComp); + } + instance.appContext.propsCache.delete(instance.type); + instance.appContext.emitsCache.delete(instance.type); + instance.appContext.optionsCache.delete(instance.type); + if (instance.ceReload) { + hmrDirtyComponents.add(oldComp); + instance.ceReload(newComp.styles); + hmrDirtyComponents.delete(oldComp); + } else if (instance.parent) { + instance.parent.effect.dirty = true; + queueJob(instance.parent.update); + } else if (instance.appContext.reload) { + instance.appContext.reload(); + } else if (typeof window !== "undefined") { + window.location.reload(); + } else { + console.warn("[HMR] Root or manually mounted instance modified. Full reload required."); + } + } + queuePostFlushCb(() => { + for (var _instance of instances) { + hmrDirtyComponents.delete(normalizeClassComponent(_instance.type)); + } + }); +} +function updateComponentDef(oldComp, newComp) { + extend$1(oldComp, newComp); + for (var key in oldComp) { + if (key !== "__file" && !(key in newComp)) { + delete oldComp[key]; + } + } +} +function tryWrap(fn) { + return (id, arg) => { + try { + return fn(id, arg); + } catch (e) { + console.error(e); + console.warn("[HMR] Something went wrong during Vue component hot-reload. Full reload required."); + } + }; +} +var devtools$1; +var buffer = []; +var devtoolsNotInstalled = false; +function emit$1(event) { + for (var _len5 = arguments.length, args = new Array(_len5 > 1 ? _len5 - 1 : 0), _key6 = 1; _key6 < _len5; _key6++) { + args[_key6 - 1] = arguments[_key6]; + } + if (devtools$1) { + devtools$1.emit(event, ...args); + } else if (!devtoolsNotInstalled) { + buffer.push({ + event, + args + }); + } +} +function setDevtoolsHook$1(hook, target) { + var _a, _b; + devtools$1 = hook; + if (devtools$1) { + devtools$1.enabled = true; + buffer.forEach(_ref4 => { + var { + event, + args + } = _ref4; + return devtools$1.emit(event, ...args); + }); + buffer = []; + } else if ( + // handle late devtools injection - only do this if we are in an actual + // browser environment to avoid the timer handle stalling test runner exit + // (#4815) + typeof window !== "undefined" && + // some envs mock window but not fully + window.HTMLElement && + // also exclude jsdom + !((_b = (_a = window.navigator) == null ? void 0 : _a.userAgent) == null ? void 0 : _b.includes("jsdom"))) { + var replay = target.__VUE_DEVTOOLS_HOOK_REPLAY__ = target.__VUE_DEVTOOLS_HOOK_REPLAY__ || []; + replay.push(newHook => { + setDevtoolsHook$1(newHook, target); + }); + setTimeout(() => { + if (!devtools$1) { + target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null; + devtoolsNotInstalled = true; + buffer = []; + } + }, 3e3); + } else { + devtoolsNotInstalled = true; + buffer = []; + } +} +function devtoolsInitApp(app, version) { + emit$1("app:init" /* APP_INIT */, app, version, { + Fragment, + Text, + Comment, + Static + }); +} +function devtoolsUnmountApp(app) { + emit$1("app:unmount" /* APP_UNMOUNT */, app); +} +var devtoolsComponentAdded = /* @__PURE__ */createDevtoolsComponentHook("component:added" /* COMPONENT_ADDED */); +var devtoolsComponentUpdated = /* @__PURE__ */createDevtoolsComponentHook("component:updated" /* COMPONENT_UPDATED */); +var _devtoolsComponentRemoved = /* @__PURE__ */createDevtoolsComponentHook("component:removed" /* COMPONENT_REMOVED */); +var devtoolsComponentRemoved = component => { + if (devtools$1 && typeof devtools$1.cleanupBuffer === "function" && + // remove the component if it wasn't buffered + !devtools$1.cleanupBuffer(component)) { + _devtoolsComponentRemoved(component); + } +}; +/*! #__NO_SIDE_EFFECTS__ */ +// @__NO_SIDE_EFFECTS__ +function createDevtoolsComponentHook(hook) { + return component => { + emit$1(hook, component.appContext.app, component.uid, component.parent ? component.parent.uid : void 0, component); + }; +} +var devtoolsPerfStart = /* @__PURE__ */createDevtoolsPerformanceHook("perf:start" /* PERFORMANCE_START */); +var devtoolsPerfEnd = /* @__PURE__ */createDevtoolsPerformanceHook("perf:end" /* PERFORMANCE_END */); +function createDevtoolsPerformanceHook(hook) { + return (component, type, time) => { + emit$1(hook, component.appContext.app, component.uid, component, type, time); + }; +} +function devtoolsComponentEmit(component, event, params) { + emit$1("component:emit" /* COMPONENT_EMIT */, component.appContext.app, component, event, params); +} +function emit(instance, event) { + if (instance.isUnmounted) return; + var props = instance.vnode.props || EMPTY_OBJ; + for (var _len6 = arguments.length, rawArgs = new Array(_len6 > 2 ? _len6 - 2 : 0), _key7 = 2; _key7 < _len6; _key7++) { + rawArgs[_key7 - 2] = arguments[_key7]; + } + { + var { + emitsOptions, + propsOptions: [propsOptions] + } = instance; + if (emitsOptions) { + if (!(event in emitsOptions) && true) { + if (!propsOptions || !(toHandlerKey(event) in propsOptions)) { + warn$1("Component emitted event \"".concat(event, "\" but it is neither declared in the emits option nor as an \"").concat(toHandlerKey(event), "\" prop.")); + } + } else { + var validator = emitsOptions[event]; + if (isFunction(validator)) { + var isValid = validator(...rawArgs); + if (!isValid) { + warn$1("Invalid event arguments: event validation failed for event \"".concat(event, "\".")); + } + } + } + } + } + var args = rawArgs; + var isModelListener = event.startsWith("update:"); + var modelArg = isModelListener && event.slice(7); + if (modelArg && modelArg in props) { + var modifiersKey = "".concat(modelArg === "modelValue" ? "model" : modelArg, "Modifiers"); + var { + number, + trim + } = props[modifiersKey] || EMPTY_OBJ; + if (trim) { + args = rawArgs.map(a => isString(a) ? a.trim() : a); + } + if (number) { + args = rawArgs.map(looseToNumber); + } + } + { + devtoolsComponentEmit(instance, event, args); + } + { + var lowerCaseEvent = event.toLowerCase(); + if (lowerCaseEvent !== event && props[toHandlerKey(lowerCaseEvent)]) { + warn$1("Event \"".concat(lowerCaseEvent, "\" is emitted in component ").concat(formatComponentName(instance, instance.type), " but the handler is registered for \"").concat(event, "\". Note that HTML attributes are case-insensitive and you cannot use v-on to listen to camelCase events when using in-DOM templates. You should probably use \"").concat(hyphenate(event), "\" instead of \"").concat(event, "\".")); + } + } + var handlerName; + var handler = props[handlerName = toHandlerKey(event)] || + // also try camelCase event handler (#2249) + props[handlerName = toHandlerKey(camelize(event))]; + if (!handler && isModelListener) { + handler = props[handlerName = toHandlerKey(hyphenate(event))]; + } + if (handler) { + callWithAsyncErrorHandling(handler, instance, 6, args); + } + var onceHandler = props[handlerName + "Once"]; + if (onceHandler) { + if (!instance.emitted) { + instance.emitted = {}; + } else if (instance.emitted[handlerName]) { + return; + } + instance.emitted[handlerName] = true; + callWithAsyncErrorHandling(onceHandler, instance, 6, args); + } +} +function normalizeEmitsOptions(comp, appContext) { + var asMixin = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + var cache = appContext.emitsCache; + var cached = cache.get(comp); + if (cached !== void 0) { + return cached; + } + var raw = comp.emits; + var normalized = {}; + var hasExtends = false; + if (!isFunction(comp)) { + var extendEmits = raw2 => { + var normalizedFromExtend = normalizeEmitsOptions(raw2, appContext, true); + if (normalizedFromExtend) { + hasExtends = true; + extend$1(normalized, normalizedFromExtend); + } + }; + if (!asMixin && appContext.mixins.length) { + appContext.mixins.forEach(extendEmits); + } + if (comp.extends) { + extendEmits(comp.extends); + } + if (comp.mixins) { + comp.mixins.forEach(extendEmits); + } + } + if (!raw && !hasExtends) { + if (isObject(comp)) { + cache.set(comp, null); + } + return null; + } + if (isArray$1(raw)) { + raw.forEach(key => normalized[key] = null); + } else { + extend$1(normalized, raw); + } + if (isObject(comp)) { + cache.set(comp, normalized); + } + return normalized; +} +function isEmitListener(options, key) { + if (!options || !isOn(key)) { + return false; + } + key = key.slice(2).replace(/Once$/, ""); + return hasOwn(options, key[0].toLowerCase() + key.slice(1)) || hasOwn(options, hyphenate(key)) || hasOwn(options, key); +} +var currentRenderingInstance = null; +var currentScopeId = null; +function setCurrentRenderingInstance(instance) { + var prev = currentRenderingInstance; + currentRenderingInstance = instance; + currentScopeId = instance && instance.type.__scopeId || null; + return prev; +} +function pushScopeId(id) { + currentScopeId = id; +} +function popScopeId() { + currentScopeId = null; +} +var withScopeId = _id => withCtx; +function withCtx(fn) { + var ctx = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : currentRenderingInstance; + var isNonScopedSlot = arguments.length > 2 ? arguments[2] : undefined; + if (!ctx) return fn; + if (fn._n) { + return fn; + } + var renderFnWithContext = function () { + if (renderFnWithContext._d) { + setBlockTracking(-1); + } + var prevInstance = setCurrentRenderingInstance(ctx); + var res; + try { + res = fn(...arguments); + } finally { + setCurrentRenderingInstance(prevInstance); + if (renderFnWithContext._d) { + setBlockTracking(1); + } + } + { + devtoolsComponentUpdated(ctx); + } + return res; + }; + renderFnWithContext._n = true; + renderFnWithContext._c = true; + renderFnWithContext._d = true; + return renderFnWithContext; +} +var accessedAttrs = false; +function markAttrsAccessed() { + accessedAttrs = true; +} +function renderComponentRoot(instance) { + var { + type: Component, + vnode, + proxy, + withProxy, + props, + propsOptions: [propsOptions], + slots, + attrs, + emit, + render, + renderCache, + data, + setupState, + ctx, + inheritAttrs + } = instance; + var result; + var fallthroughAttrs; + var prev = setCurrentRenderingInstance(instance); + { + accessedAttrs = false; + } + try { + if (vnode.shapeFlag & 4) { + var proxyToUse = withProxy || proxy; + var thisProxy = !!("development" !== "production") && setupState.__isScriptSetup ? new Proxy(proxyToUse, { + get(target, key, receiver) { + warn$1("Property '".concat(String(key), "' was accessed via 'this'. Avoid using 'this' in templates.")); + return Reflect.get(target, key, receiver); + } + }) : proxyToUse; + result = normalizeVNode(render.call(thisProxy, proxyToUse, renderCache, props, setupState, data, ctx)); + fallthroughAttrs = attrs; + } else { + var render2 = Component; + if (!!("development" !== "production") && attrs === props) { + markAttrsAccessed(); + } + result = normalizeVNode(render2.length > 1 ? render2(props, !!("development" !== "production") ? { + get attrs() { + markAttrsAccessed(); + return attrs; + }, + slots, + emit + } : { + attrs, + slots, + emit + }) : render2(props, null + /* we know it doesn't need it */)); + fallthroughAttrs = Component.props ? attrs : getFunctionalFallthrough(attrs); + } + } catch (err) { + blockStack.length = 0; + handleError(err, instance, 1); + result = createVNode(Comment); + } + var root = result; + var setRoot = void 0; + if (result.patchFlag > 0 && result.patchFlag & 2048) { + [root, setRoot] = getChildRoot(result); + } + if (fallthroughAttrs && inheritAttrs !== false) { + var keys = Object.keys(fallthroughAttrs); + var { + shapeFlag + } = root; + if (keys.length) { + if (shapeFlag & (1 | 6)) { + if (propsOptions && keys.some(isModelListener)) { + fallthroughAttrs = filterModelListeners(fallthroughAttrs, propsOptions); + } + root = cloneVNode(root, fallthroughAttrs); + } else if (!accessedAttrs && root.type !== Comment) { + var allAttrs = Object.keys(attrs); + var eventAttrs = []; + var extraAttrs = []; + for (var i = 0, l = allAttrs.length; i < l; i++) { + var key = allAttrs[i]; + if (isOn(key)) { + if (!isModelListener(key)) { + eventAttrs.push(key[2].toLowerCase() + key.slice(3)); + } + } else { + extraAttrs.push(key); + } + } + if (extraAttrs.length) { + warn$1("Extraneous non-props attributes (".concat(extraAttrs.join(", "), ") were passed to component but could not be automatically inherited because component renders fragment or text root nodes.")); + } + if (eventAttrs.length) { + warn$1("Extraneous non-emits event listeners (".concat(eventAttrs.join(", "), ") were passed to component but could not be automatically inherited because component renders fragment or text root nodes. If the listener is intended to be a component custom event listener only, declare it using the \"emits\" option.")); + } + } + } + } + if (vnode.dirs) { + if (!isElementRoot(root)) { + warn$1("Runtime directive used on component with non-element root node. The directives will not function as intended."); + } + root = cloneVNode(root); + root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs; + } + if (vnode.transition) { + if (!isElementRoot(root)) { + warn$1("Component inside renders non-element root node that cannot be animated."); + } + root.transition = vnode.transition; + } + if (setRoot) { + setRoot(root); + } else { + result = root; + } + setCurrentRenderingInstance(prev); + return result; +} +var getChildRoot = vnode => { + var rawChildren = vnode.children; + var dynamicChildren = vnode.dynamicChildren; + var childRoot = filterSingleRoot(rawChildren, false); + if (!childRoot) { + return [vnode, void 0]; + } else if (childRoot.patchFlag > 0 && childRoot.patchFlag & 2048) { + return getChildRoot(childRoot); + } + var index = rawChildren.indexOf(childRoot); + var dynamicIndex = dynamicChildren ? dynamicChildren.indexOf(childRoot) : -1; + var setRoot = updatedRoot => { + rawChildren[index] = updatedRoot; + if (dynamicChildren) { + if (dynamicIndex > -1) { + dynamicChildren[dynamicIndex] = updatedRoot; + } else if (updatedRoot.patchFlag > 0) { + vnode.dynamicChildren = [...dynamicChildren, updatedRoot]; + } + } + }; + return [normalizeVNode(childRoot), setRoot]; +}; +function filterSingleRoot(children) { + var recurse = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; + var singleRoot; + for (var i = 0; i < children.length; i++) { + var child = children[i]; + if (isVNode(child)) { + if (child.type !== Comment || child.children === "v-if") { + if (singleRoot) { + return; + } else { + singleRoot = child; + if (recurse && singleRoot.patchFlag > 0 && singleRoot.patchFlag & 2048) { + return filterSingleRoot(singleRoot.children); + } + } + } + } else { + return; + } + } + return singleRoot; +} +var getFunctionalFallthrough = attrs => { + var res; + for (var key in attrs) { + if (key === "class" || key === "style" || isOn(key)) { + (res || (res = {}))[key] = attrs[key]; + } + } + return res; +}; +var filterModelListeners = (attrs, props) => { + var res = {}; + for (var key in attrs) { + if (!isModelListener(key) || !(key.slice(9) in props)) { + res[key] = attrs[key]; + } + } + return res; +}; +var isElementRoot = vnode => { + return vnode.shapeFlag & (6 | 1) || vnode.type === Comment; +}; +function shouldUpdateComponent(prevVNode, nextVNode, optimized) { + var { + props: prevProps, + children: prevChildren, + component + } = prevVNode; + var { + props: nextProps, + children: nextChildren, + patchFlag + } = nextVNode; + var emits = component.emitsOptions; + if ((prevChildren || nextChildren) && isHmrUpdating) { + return true; + } + if (nextVNode.dirs || nextVNode.transition) { + return true; + } + if (optimized && patchFlag >= 0) { + if (patchFlag & 1024) { + return true; + } + if (patchFlag & 16) { + if (!prevProps) { + return !!nextProps; + } + return hasPropsChanged(prevProps, nextProps, emits); + } else if (patchFlag & 8) { + var dynamicProps = nextVNode.dynamicProps; + for (var i = 0; i < dynamicProps.length; i++) { + var key = dynamicProps[i]; + if (nextProps[key] !== prevProps[key] && !isEmitListener(emits, key)) { + return true; + } + } + } + } else { + if (prevChildren || nextChildren) { + if (!nextChildren || !nextChildren.$stable) { + return true; + } + } + if (prevProps === nextProps) { + return false; + } + if (!prevProps) { + return !!nextProps; + } + if (!nextProps) { + return true; + } + return hasPropsChanged(prevProps, nextProps, emits); + } + return false; +} +function hasPropsChanged(prevProps, nextProps, emitsOptions) { + var nextKeys = Object.keys(nextProps); + if (nextKeys.length !== Object.keys(prevProps).length) { + return true; + } + for (var i = 0; i < nextKeys.length; i++) { + var key = nextKeys[i]; + if (nextProps[key] !== prevProps[key] && !isEmitListener(emitsOptions, key)) { + return true; + } + } + return false; +} +function updateHOCHostEl(_ref5, el) { + var { + vnode, + parent + } = _ref5; + while (parent) { + var root = parent.subTree; + if (root.suspense && root.suspense.activeBranch === vnode) { + root.el = vnode.el; + } + if (root === vnode) { + (vnode = parent.vnode).el = el; + parent = parent.parent; + } else { + break; + } + } +} +var COMPONENTS = "components"; +var DIRECTIVES = "directives"; +function resolveComponent(name, maybeSelfReference) { + return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name; +} +var NULL_DYNAMIC_COMPONENT = Symbol.for("v-ndc"); +function resolveDynamicComponent(component) { + if (isString(component)) { + return resolveAsset(COMPONENTS, component, false) || component; + } else { + return component || NULL_DYNAMIC_COMPONENT; + } +} +function resolveDirective(name) { + return resolveAsset(DIRECTIVES, name); +} +function resolveAsset(type, name) { + var warnMissing = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true; + var maybeSelfReference = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; + var instance = currentRenderingInstance || currentInstance; + if (instance) { + var Component = instance.type; + if (type === COMPONENTS) { + var selfName = getComponentName(Component, false); + if (selfName && (selfName === name || selfName === camelize(name) || selfName === capitalize(camelize(name)))) { + return Component; + } + } + var res = + // local registration + // check instance[type] first which is resolved for options API + resolve(instance[type] || Component[type], name) || + // global registration + resolve(instance.appContext[type], name); + if (!res && maybeSelfReference) { + return Component; + } + if (warnMissing && !res) { + var extra = type === COMPONENTS ? "\nIf this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement." : ""; + warn$1("Failed to resolve ".concat(type.slice(0, -1), ": ").concat(name).concat(extra)); + } + return res; + } else { + warn$1("resolve".concat(capitalize(type.slice(0, -1)), " can only be used in render() or setup().")); + } +} +function resolve(registry, name) { + return registry && (registry[name] || registry[camelize(name)] || registry[capitalize(camelize(name))]); +} +var isSuspense = type => type.__isSuspense; +var suspenseId = 0; +var SuspenseImpl = { + name: "Suspense", + // In order to make Suspense tree-shakable, we need to avoid importing it + // directly in the renderer. The renderer checks for the __isSuspense flag + // on a vnode's type and calls the `process` method, passing in renderer + // internals. + __isSuspense: true, + process(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals) { + if (n1 == null) { + mountSuspense(n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals); + } else { + if (parentSuspense && parentSuspense.deps > 0 && !n1.suspense.isInFallback) { + n2.suspense = n1.suspense; + n2.suspense.vnode = n2; + n2.el = n1.el; + return; + } + patchSuspense(n1, n2, container, anchor, parentComponent, namespace, slotScopeIds, optimized, rendererInternals); + } + }, + hydrate: hydrateSuspense, + create: createSuspenseBoundary, + normalize: normalizeSuspenseChildren +}; +var Suspense = SuspenseImpl; +function triggerEvent(vnode, name) { + var eventListener = vnode.props && vnode.props[name]; + if (isFunction(eventListener)) { + eventListener(); + } +} +function mountSuspense(vnode, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals) { + var { + p: patch, + o: { + createElement + } + } = rendererInternals; + var hiddenContainer = createElement("div"); + var suspense = vnode.suspense = createSuspenseBoundary(vnode, parentSuspense, parentComponent, container, hiddenContainer, anchor, namespace, slotScopeIds, optimized, rendererInternals); + patch(null, suspense.pendingBranch = vnode.ssContent, hiddenContainer, null, parentComponent, suspense, namespace, slotScopeIds); + if (suspense.deps > 0) { + triggerEvent(vnode, "onPending"); + triggerEvent(vnode, "onFallback"); + patch(null, vnode.ssFallback, container, anchor, parentComponent, null, + // fallback tree will not have suspense context + namespace, slotScopeIds); + setActiveBranch(suspense, vnode.ssFallback); + } else { + suspense.resolve(false, true); + } +} +function patchSuspense(n1, n2, container, anchor, parentComponent, namespace, slotScopeIds, optimized, _ref6) { + var { + p: patch, + um: unmount, + o: { + createElement + } + } = _ref6; + var suspense = n2.suspense = n1.suspense; + suspense.vnode = n2; + n2.el = n1.el; + var newBranch = n2.ssContent; + var newFallback = n2.ssFallback; + var { + activeBranch, + pendingBranch, + isInFallback, + isHydrating + } = suspense; + if (pendingBranch) { + suspense.pendingBranch = newBranch; + if (isSameVNodeType(newBranch, pendingBranch)) { + patch(pendingBranch, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, namespace, slotScopeIds, optimized); + if (suspense.deps <= 0) { + suspense.resolve(); + } else if (isInFallback) { + if (!isHydrating) { + patch(activeBranch, newFallback, container, anchor, parentComponent, null, + // fallback tree will not have suspense context + namespace, slotScopeIds, optimized); + setActiveBranch(suspense, newFallback); + } + } + } else { + suspense.pendingId = suspenseId++; + if (isHydrating) { + suspense.isHydrating = false; + suspense.activeBranch = pendingBranch; + } else { + unmount(pendingBranch, parentComponent, suspense); + } + suspense.deps = 0; + suspense.effects.length = 0; + suspense.hiddenContainer = createElement("div"); + if (isInFallback) { + patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, namespace, slotScopeIds, optimized); + if (suspense.deps <= 0) { + suspense.resolve(); + } else { + patch(activeBranch, newFallback, container, anchor, parentComponent, null, + // fallback tree will not have suspense context + namespace, slotScopeIds, optimized); + setActiveBranch(suspense, newFallback); + } + } else if (activeBranch && isSameVNodeType(newBranch, activeBranch)) { + patch(activeBranch, newBranch, container, anchor, parentComponent, suspense, namespace, slotScopeIds, optimized); + suspense.resolve(true); + } else { + patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, namespace, slotScopeIds, optimized); + if (suspense.deps <= 0) { + suspense.resolve(); + } + } + } + } else { + if (activeBranch && isSameVNodeType(newBranch, activeBranch)) { + patch(activeBranch, newBranch, container, anchor, parentComponent, suspense, namespace, slotScopeIds, optimized); + setActiveBranch(suspense, newBranch); + } else { + triggerEvent(n2, "onPending"); + suspense.pendingBranch = newBranch; + if (newBranch.shapeFlag & 512) { + suspense.pendingId = newBranch.component.suspenseId; + } else { + suspense.pendingId = suspenseId++; + } + patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, namespace, slotScopeIds, optimized); + if (suspense.deps <= 0) { + suspense.resolve(); + } else { + var { + timeout, + pendingId + } = suspense; + if (timeout > 0) { + setTimeout(() => { + if (suspense.pendingId === pendingId) { + suspense.fallback(newFallback); + } + }, timeout); + } else if (timeout === 0) { + suspense.fallback(newFallback); + } + } + } + } +} +var hasWarned = false; +function createSuspenseBoundary(vnode, parentSuspense, parentComponent, container, hiddenContainer, anchor, namespace, slotScopeIds, optimized, rendererInternals) { + var isHydrating = arguments.length > 10 && arguments[10] !== undefined ? arguments[10] : false; + if (!hasWarned) { + hasWarned = true; + console[console.info ? "info" : "log"](" is an experimental feature and its API will likely change."); + } + var { + p: patch, + m: move, + um: unmount, + n: next, + o: { + parentNode, + remove + } + } = rendererInternals; + var parentSuspenseId; + var isSuspensible = isVNodeSuspensible(vnode); + if (isSuspensible) { + if (parentSuspense == null ? void 0 : parentSuspense.pendingBranch) { + parentSuspenseId = parentSuspense.pendingId; + parentSuspense.deps++; + } + } + var timeout = vnode.props ? toNumber(vnode.props.timeout) : void 0; + { + assertNumber(timeout, "Suspense timeout"); + } + var initialAnchor = anchor; + var suspense = { + vnode, + parent: parentSuspense, + parentComponent, + namespace, + container, + hiddenContainer, + deps: 0, + pendingId: suspenseId++, + timeout: typeof timeout === "number" ? timeout : -1, + activeBranch: null, + pendingBranch: null, + isInFallback: !isHydrating, + isHydrating, + isUnmounted: false, + effects: [], + resolve() { + var resume = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + var sync = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + { + if (!resume && !suspense.pendingBranch) { + throw new Error("suspense.resolve() is called without a pending branch."); + } + if (suspense.isUnmounted) { + throw new Error("suspense.resolve() is called on an already unmounted suspense boundary."); + } + } + var { + vnode: vnode2, + activeBranch, + pendingBranch, + pendingId, + effects, + parentComponent: parentComponent2, + container: container2 + } = suspense; + var delayEnter = false; + if (suspense.isHydrating) { + suspense.isHydrating = false; + } else if (!resume) { + delayEnter = activeBranch && pendingBranch.transition && pendingBranch.transition.mode === "out-in"; + if (delayEnter) { + activeBranch.transition.afterLeave = () => { + if (pendingId === suspense.pendingId) { + move(pendingBranch, container2, anchor === initialAnchor ? next(activeBranch) : anchor, 0); + queuePostFlushCb(effects); + } + }; + } + if (activeBranch) { + if (parentNode(activeBranch.el) !== suspense.hiddenContainer) { + anchor = next(activeBranch); + } + unmount(activeBranch, parentComponent2, suspense, true); + } + if (!delayEnter) { + move(pendingBranch, container2, anchor, 0); + } + } + setActiveBranch(suspense, pendingBranch); + suspense.pendingBranch = null; + suspense.isInFallback = false; + var parent = suspense.parent; + var hasUnresolvedAncestor = false; + while (parent) { + if (parent.pendingBranch) { + parent.effects.push(...effects); + hasUnresolvedAncestor = true; + break; + } + parent = parent.parent; + } + if (!hasUnresolvedAncestor && !delayEnter) { + queuePostFlushCb(effects); + } + suspense.effects = []; + if (isSuspensible) { + if (parentSuspense && parentSuspense.pendingBranch && parentSuspenseId === parentSuspense.pendingId) { + parentSuspense.deps--; + if (parentSuspense.deps === 0 && !sync) { + parentSuspense.resolve(); + } + } + } + triggerEvent(vnode2, "onResolve"); + }, + fallback(fallbackVNode) { + if (!suspense.pendingBranch) { + return; + } + var { + vnode: vnode2, + activeBranch, + parentComponent: parentComponent2, + container: container2, + namespace: namespace2 + } = suspense; + triggerEvent(vnode2, "onFallback"); + var anchor2 = next(activeBranch); + var mountFallback = () => { + if (!suspense.isInFallback) { + return; + } + patch(null, fallbackVNode, container2, anchor2, parentComponent2, null, + // fallback tree will not have suspense context + namespace2, slotScopeIds, optimized); + setActiveBranch(suspense, fallbackVNode); + }; + var delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === "out-in"; + if (delayEnter) { + activeBranch.transition.afterLeave = mountFallback; + } + suspense.isInFallback = true; + unmount(activeBranch, parentComponent2, null, + // no suspense so unmount hooks fire now + true + // shouldRemove + ); + if (!delayEnter) { + mountFallback(); + } + }, + move(container2, anchor2, type) { + suspense.activeBranch && move(suspense.activeBranch, container2, anchor2, type); + suspense.container = container2; + }, + next() { + return suspense.activeBranch && next(suspense.activeBranch); + }, + registerDep(instance, setupRenderEffect) { + var isInPendingSuspense = !!suspense.pendingBranch; + if (isInPendingSuspense) { + suspense.deps++; + } + var hydratedEl = instance.vnode.el; + instance.asyncDep.catch(err => { + handleError(err, instance, 0); + }).then(asyncSetupResult => { + if (instance.isUnmounted || suspense.isUnmounted || suspense.pendingId !== instance.suspenseId) { + return; + } + instance.asyncResolved = true; + var { + vnode: vnode2 + } = instance; + { + pushWarningContext(vnode2); + } + handleSetupResult(instance, asyncSetupResult, false); + if (hydratedEl) { + vnode2.el = hydratedEl; + } + var placeholder = !hydratedEl && instance.subTree.el; + setupRenderEffect(instance, vnode2, + // component may have been moved before resolve. + // if this is not a hydration, instance.subTree will be the comment + // placeholder. + parentNode(hydratedEl || instance.subTree.el), + // anchor will not be used if this is hydration, so only need to + // consider the comment placeholder case. + hydratedEl ? null : next(instance.subTree), suspense, namespace, optimized); + if (placeholder) { + remove(placeholder); + } + updateHOCHostEl(instance, vnode2.el); + { + popWarningContext(); + } + if (isInPendingSuspense && --suspense.deps === 0) { + suspense.resolve(); + } + }); + }, + unmount(parentSuspense2, doRemove) { + suspense.isUnmounted = true; + if (suspense.activeBranch) { + unmount(suspense.activeBranch, parentComponent, parentSuspense2, doRemove); + } + if (suspense.pendingBranch) { + unmount(suspense.pendingBranch, parentComponent, parentSuspense2, doRemove); + } + } + }; + return suspense; +} +function hydrateSuspense(node, vnode, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals, hydrateNode) { + var suspense = vnode.suspense = createSuspenseBoundary(vnode, parentSuspense, parentComponent, node.parentNode, + // eslint-disable-next-line no-restricted-globals + document.createElement("div"), null, namespace, slotScopeIds, optimized, rendererInternals, true); + var result = hydrateNode(node, suspense.pendingBranch = vnode.ssContent, parentComponent, suspense, slotScopeIds, optimized); + if (suspense.deps === 0) { + suspense.resolve(false, true); + } + return result; +} +function normalizeSuspenseChildren(vnode) { + var { + shapeFlag, + children + } = vnode; + var isSlotChildren = shapeFlag & 32; + vnode.ssContent = normalizeSuspenseSlot(isSlotChildren ? children.default : children); + vnode.ssFallback = isSlotChildren ? normalizeSuspenseSlot(children.fallback) : createVNode(Comment); +} +function normalizeSuspenseSlot(s) { + var block; + if (isFunction(s)) { + var trackBlock = isBlockTreeEnabled && s._c; + if (trackBlock) { + s._d = false; + openBlock(); + } + s = s(); + if (trackBlock) { + s._d = true; + block = currentBlock; + closeBlock(); + } + } + if (isArray$1(s)) { + var singleChild = filterSingleRoot(s); + if (!singleChild && s.filter(child => child !== NULL_DYNAMIC_COMPONENT).length > 0) { + warn$1(" slots expect a single root node."); + } + s = singleChild; + } + s = normalizeVNode(s); + if (block && !s.dynamicChildren) { + s.dynamicChildren = block.filter(c => c !== s); + } + return s; +} +function queueEffectWithSuspense(fn, suspense) { + if (suspense && suspense.pendingBranch) { + if (isArray$1(fn)) { + suspense.effects.push(...fn); + } else { + suspense.effects.push(fn); + } + } else { + queuePostFlushCb(fn); + } +} +function setActiveBranch(suspense, branch) { + suspense.activeBranch = branch; + var { + vnode, + parentComponent + } = suspense; + var el = branch.el; + while (!el && branch.component) { + branch = branch.component.subTree; + el = branch.el; + } + vnode.el = el; + if (parentComponent && parentComponent.subTree === vnode) { + parentComponent.vnode.el = el; + updateHOCHostEl(parentComponent, el); + } +} +function isVNodeSuspensible(vnode) { + var _a; + return ((_a = vnode.props) == null ? void 0 : _a.suspensible) != null && vnode.props.suspensible !== false; +} +var ssrContextKey = Symbol.for("v-scx"); +var useSSRContext = () => { + { + var ctx = inject(ssrContextKey); + if (!ctx) { + warn$1("Server rendering context not provided. Make sure to only call useSSRContext() conditionally in the server build."); + } + return ctx; + } +}; +function watchEffect(effect, options) { + return doWatch(effect, null, options); +} +function watchPostEffect(effect, options) { + return doWatch(effect, null, extend$1({}, options, { + flush: "post" + })); +} +function watchSyncEffect(effect, options) { + return doWatch(effect, null, extend$1({}, options, { + flush: "sync" + })); +} +var INITIAL_WATCHER_VALUE = {}; +function watch(source, cb, options) { + if (!isFunction(cb)) { + warn$1("`watch(fn, options?)` signature has been moved to a separate API. Use `watchEffect(fn, options?)` instead. `watch` now only supports `watch(source, cb, options?) signature."); + } + return doWatch(source, cb, options); +} +function doWatch(source, cb) { + var { + immediate, + deep, + flush, + once, + onTrack, + onTrigger + } = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : EMPTY_OBJ; + if (cb && once) { + var _cb = cb; + cb = function () { + _cb(...arguments); + unwatch(); + }; + } + if (deep !== void 0 && typeof deep === "number") { + warn$1("watch() \"deep\" option with number value will be used as watch depth in future versions. Please use a boolean instead to avoid potential breakage."); + } + if (!cb) { + if (immediate !== void 0) { + warn$1("watch() \"immediate\" option is only respected when using the watch(source, callback, options?) signature."); + } + if (deep !== void 0) { + warn$1("watch() \"deep\" option is only respected when using the watch(source, callback, options?) signature."); + } + if (once !== void 0) { + warn$1("watch() \"once\" option is only respected when using the watch(source, callback, options?) signature."); + } + } + var warnInvalidSource = s => { + warn$1("Invalid watch source: ", s, "A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types."); + }; + var instance = currentInstance; + var reactiveGetter = source2 => deep === true ? source2 : + // for deep: false, only traverse root-level properties + traverse(source2, deep === false ? 1 : void 0); + var getter; + var forceTrigger = false; + var isMultiSource = false; + if (isRef(source)) { + getter = () => source.value; + forceTrigger = isShallow(source); + } else if (isReactive(source)) { + getter = () => reactiveGetter(source); + forceTrigger = true; + } else if (isArray$1(source)) { + isMultiSource = true; + forceTrigger = source.some(s => isReactive(s) || isShallow(s)); + getter = () => source.map(s => { + if (isRef(s)) { + return s.value; + } else if (isReactive(s)) { + return reactiveGetter(s); + } else if (isFunction(s)) { + return callWithErrorHandling(s, instance, 2); + } else { + warnInvalidSource(s); + } + }); + } else if (isFunction(source)) { + if (cb) { + getter = () => callWithErrorHandling(source, instance, 2); + } else { + getter = () => { + if (cleanup) { + cleanup(); + } + return callWithAsyncErrorHandling(source, instance, 3, [onCleanup]); + }; + } + } else { + getter = NOOP; + warnInvalidSource(source); + } + if (cb && deep) { + var baseGetter = getter; + getter = () => traverse(baseGetter()); + } + var cleanup; + var onCleanup = fn => { + cleanup = effect.onStop = () => { + callWithErrorHandling(fn, instance, 4); + cleanup = effect.onStop = void 0; + }; + }; + var ssrCleanup; + if (isInSSRComponentSetup) { + onCleanup = NOOP; + if (!cb) { + getter(); + } else if (immediate) { + callWithAsyncErrorHandling(cb, instance, 3, [getter(), isMultiSource ? [] : void 0, onCleanup]); + } + if (flush === "sync") { + var ctx = useSSRContext(); + ssrCleanup = ctx.__watcherHandles || (ctx.__watcherHandles = []); + } else { + return NOOP; + } + } + var oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE; + var job = () => { + if (!effect.active || !effect.dirty) { + return; + } + if (cb) { + var newValue = effect.run(); + if (deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue)) || false) { + if (cleanup) { + cleanup(); + } + callWithAsyncErrorHandling(cb, instance, 3, [newValue, + // pass undefined as the old value when it's changed for the first time + oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue, onCleanup]); + oldValue = newValue; + } + } else { + effect.run(); + } + }; + job.allowRecurse = !!cb; + var scheduler; + if (flush === "sync") { + scheduler = job; + } else if (flush === "post") { + scheduler = () => queuePostRenderEffect(job, instance && instance.suspense); + } else { + job.pre = true; + if (instance) job.id = instance.uid; + scheduler = () => queueJob(job); + } + var effect = new ReactiveEffect(getter, NOOP, scheduler); + var scope = getCurrentScope(); + var unwatch = () => { + effect.stop(); + if (scope) { + remove(scope.effects, effect); + } + }; + { + effect.onTrack = onTrack; + effect.onTrigger = onTrigger; + } + if (cb) { + if (immediate) { + job(); + } else { + oldValue = effect.run(); + } + } else if (flush === "post") { + queuePostRenderEffect(effect.run.bind(effect), instance && instance.suspense); + } else { + effect.run(); + } + if (ssrCleanup) ssrCleanup.push(unwatch); + return unwatch; +} +function instanceWatch(source, value, options) { + var publicThis = this.proxy; + var getter = isString(source) ? source.includes(".") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis); + var cb; + if (isFunction(value)) { + cb = value; + } else { + cb = value.handler; + options = value; + } + var reset = setCurrentInstance(this); + var res = doWatch(getter, cb.bind(publicThis), options); + reset(); + return res; +} +function createPathGetter(ctx, path) { + var segments = path.split("."); + return () => { + var cur = ctx; + for (var i = 0; i < segments.length && cur; i++) { + cur = cur[segments[i]]; + } + return cur; + }; +} +function traverse(value, depth) { + var currentDepth = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0; + var seen = arguments.length > 3 ? arguments[3] : undefined; + if (!isObject(value) || value["__v_skip"]) { + return value; + } + if (depth && depth > 0) { + if (currentDepth >= depth) { + return value; + } + currentDepth++; + } + seen = seen || /* @__PURE__ */new Set(); + if (seen.has(value)) { + return value; + } + seen.add(value); + if (isRef(value)) { + traverse(value.value, depth, currentDepth, seen); + } else if (isArray$1(value)) { + for (var i = 0; i < value.length; i++) { + traverse(value[i], depth, currentDepth, seen); + } + } else if (isSet(value) || isMap(value)) { + value.forEach(v => { + traverse(v, depth, currentDepth, seen); + }); + } else if (isPlainObject(value)) { + for (var key in value) { + traverse(value[key], depth, currentDepth, seen); + } + } + return value; +} +function validateDirectiveName(name) { + if (isBuiltInDirective(name)) { + warn$1("Do not use built-in directive ids as custom directive id: " + name); + } +} +function withDirectives(vnode, directives) { + if (currentRenderingInstance === null) { + warn$1("withDirectives can only be used inside render functions."); + return vnode; + } + var instance = getExposeProxy(currentRenderingInstance) || currentRenderingInstance.proxy; + var bindings = vnode.dirs || (vnode.dirs = []); + for (var i = 0; i < directives.length; i++) { + var [dir, value, arg, modifiers = EMPTY_OBJ] = directives[i]; + if (dir) { + if (isFunction(dir)) { + dir = { + mounted: dir, + updated: dir + }; + } + if (dir.deep) { + traverse(value); + } + bindings.push({ + dir, + instance, + value, + oldValue: void 0, + arg, + modifiers + }); + } + } + return vnode; +} +function invokeDirectiveHook(vnode, prevVNode, instance, name) { + var bindings = vnode.dirs; + var oldBindings = prevVNode && prevVNode.dirs; + for (var i = 0; i < bindings.length; i++) { + var binding = bindings[i]; + if (oldBindings) { + binding.oldValue = oldBindings[i].value; + } + var hook = binding.dir[name]; + if (hook) { + pauseTracking(); + callWithAsyncErrorHandling(hook, instance, 8, [vnode.el, binding, vnode, prevVNode]); + resetTracking(); + } + } +} +var leaveCbKey = Symbol("_leaveCb"); +var enterCbKey = Symbol("_enterCb"); +function useTransitionState() { + var state = { + isMounted: false, + isLeaving: false, + isUnmounting: false, + leavingVNodes: /* @__PURE__ */new Map() + }; + onMounted(() => { + state.isMounted = true; + }); + onBeforeUnmount(() => { + state.isUnmounting = true; + }); + return state; +} +var TransitionHookValidator = [Function, Array]; +var BaseTransitionPropsValidators = { + mode: String, + appear: Boolean, + persisted: Boolean, + // enter + onBeforeEnter: TransitionHookValidator, + onEnter: TransitionHookValidator, + onAfterEnter: TransitionHookValidator, + onEnterCancelled: TransitionHookValidator, + // leave + onBeforeLeave: TransitionHookValidator, + onLeave: TransitionHookValidator, + onAfterLeave: TransitionHookValidator, + onLeaveCancelled: TransitionHookValidator, + // appear + onBeforeAppear: TransitionHookValidator, + onAppear: TransitionHookValidator, + onAfterAppear: TransitionHookValidator, + onAppearCancelled: TransitionHookValidator +}; +var BaseTransitionImpl = { + name: "BaseTransition", + props: BaseTransitionPropsValidators, + setup(props, _ref7) { + var { + slots + } = _ref7; + var instance = getCurrentInstance(); + var state = useTransitionState(); + return () => { + var children = slots.default && getTransitionRawChildren(slots.default(), true); + if (!children || !children.length) { + return; + } + var child = children[0]; + if (children.length > 1) { + var hasFound = false; + for (var c of children) { + if (c.type !== Comment) { + if (hasFound) { + warn$1(" can only be used on a single element or component. Use for lists."); + break; + } + child = c; + hasFound = true; + } + } + } + var rawProps = toRaw(props); + var { + mode + } = rawProps; + if (mode && mode !== "in-out" && mode !== "out-in" && mode !== "default") { + warn$1("invalid mode: ".concat(mode)); + } + if (state.isLeaving) { + return emptyPlaceholder(child); + } + var innerChild = getKeepAliveChild(child); + if (!innerChild) { + return emptyPlaceholder(child); + } + var enterHooks = resolveTransitionHooks(innerChild, rawProps, state, instance); + setTransitionHooks(innerChild, enterHooks); + var oldChild = instance.subTree; + var oldInnerChild = oldChild && getKeepAliveChild(oldChild); + if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(innerChild, oldInnerChild)) { + var leavingHooks = resolveTransitionHooks(oldInnerChild, rawProps, state, instance); + setTransitionHooks(oldInnerChild, leavingHooks); + if (mode === "out-in") { + state.isLeaving = true; + leavingHooks.afterLeave = () => { + state.isLeaving = false; + if (instance.update.active !== false) { + instance.effect.dirty = true; + instance.update(); + } + }; + return emptyPlaceholder(child); + } else if (mode === "in-out" && innerChild.type !== Comment) { + leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => { + var leavingVNodesCache = getLeavingNodesForType(state, oldInnerChild); + leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild; + el[leaveCbKey] = () => { + earlyRemove(); + el[leaveCbKey] = void 0; + delete enterHooks.delayedLeave; + }; + enterHooks.delayedLeave = delayedLeave; + }; + } + } + return child; + }; + } +}; +var BaseTransition = BaseTransitionImpl; +function getLeavingNodesForType(state, vnode) { + var { + leavingVNodes + } = state; + var leavingVNodesCache = leavingVNodes.get(vnode.type); + if (!leavingVNodesCache) { + leavingVNodesCache = /* @__PURE__ */Object.create(null); + leavingVNodes.set(vnode.type, leavingVNodesCache); + } + return leavingVNodesCache; +} +function resolveTransitionHooks(vnode, props, state, instance) { + var { + appear, + mode, + persisted = false, + onBeforeEnter, + onEnter, + onAfterEnter, + onEnterCancelled, + onBeforeLeave, + onLeave, + onAfterLeave, + onLeaveCancelled, + onBeforeAppear, + onAppear, + onAfterAppear, + onAppearCancelled + } = props; + var key = String(vnode.key); + var leavingVNodesCache = getLeavingNodesForType(state, vnode); + var callHook = (hook, args) => { + hook && callWithAsyncErrorHandling(hook, instance, 9, args); + }; + var callAsyncHook = (hook, args) => { + var done = args[1]; + callHook(hook, args); + if (isArray$1(hook)) { + if (hook.every(hook2 => hook2.length <= 1)) done(); + } else if (hook.length <= 1) { + done(); + } + }; + var hooks = { + mode, + persisted, + beforeEnter(el) { + var hook = onBeforeEnter; + if (!state.isMounted) { + if (appear) { + hook = onBeforeAppear || onBeforeEnter; + } else { + return; + } + } + if (el[leaveCbKey]) { + el[leaveCbKey](true + /* cancelled */); + } + var leavingVNode = leavingVNodesCache[key]; + if (leavingVNode && isSameVNodeType(vnode, leavingVNode) && leavingVNode.el[leaveCbKey]) { + leavingVNode.el[leaveCbKey](); + } + callHook(hook, [el]); + }, + enter(el) { + var hook = onEnter; + var afterHook = onAfterEnter; + var cancelHook = onEnterCancelled; + if (!state.isMounted) { + if (appear) { + hook = onAppear || onEnter; + afterHook = onAfterAppear || onAfterEnter; + cancelHook = onAppearCancelled || onEnterCancelled; + } else { + return; + } + } + var called = false; + var done = el[enterCbKey] = cancelled => { + if (called) return; + called = true; + if (cancelled) { + callHook(cancelHook, [el]); + } else { + callHook(afterHook, [el]); + } + if (hooks.delayedLeave) { + hooks.delayedLeave(); + } + el[enterCbKey] = void 0; + }; + if (hook) { + callAsyncHook(hook, [el, done]); + } else { + done(); + } + }, + leave(el, remove) { + var key2 = String(vnode.key); + if (el[enterCbKey]) { + el[enterCbKey](true + /* cancelled */); + } + if (state.isUnmounting) { + return remove(); + } + callHook(onBeforeLeave, [el]); + var called = false; + var done = el[leaveCbKey] = cancelled => { + if (called) return; + called = true; + remove(); + if (cancelled) { + callHook(onLeaveCancelled, [el]); + } else { + callHook(onAfterLeave, [el]); + } + el[leaveCbKey] = void 0; + if (leavingVNodesCache[key2] === vnode) { + delete leavingVNodesCache[key2]; + } + }; + leavingVNodesCache[key2] = vnode; + if (onLeave) { + callAsyncHook(onLeave, [el, done]); + } else { + done(); + } + }, + clone(vnode2) { + return resolveTransitionHooks(vnode2, props, state, instance); + } + }; + return hooks; +} +function emptyPlaceholder(vnode) { + if (isKeepAlive(vnode)) { + vnode = cloneVNode(vnode); + vnode.children = null; + return vnode; + } +} +function getKeepAliveChild(vnode) { + return isKeepAlive(vnode) ? + // #7121 ensure get the child component subtree in case + // it's been replaced during HMR + vnode.component ? vnode.component.subTree : vnode.children ? vnode.children[0] : void 0 : vnode; +} +function setTransitionHooks(vnode, hooks) { + if (vnode.shapeFlag & 6 && vnode.component) { + setTransitionHooks(vnode.component.subTree, hooks); + } else if (vnode.shapeFlag & 128) { + vnode.ssContent.transition = hooks.clone(vnode.ssContent); + vnode.ssFallback.transition = hooks.clone(vnode.ssFallback); + } else { + vnode.transition = hooks; + } +} +function getTransitionRawChildren(children) { + var keepComment = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + var parentKey = arguments.length > 2 ? arguments[2] : undefined; + var ret = []; + var keyedFragmentCount = 0; + for (var i = 0; i < children.length; i++) { + var child = children[i]; + var key = parentKey == null ? child.key : String(parentKey) + String(child.key != null ? child.key : i); + if (child.type === Fragment) { + if (child.patchFlag & 128) keyedFragmentCount++; + ret = ret.concat(getTransitionRawChildren(child.children, keepComment, key)); + } else if (keepComment || child.type !== Comment) { + ret.push(key != null ? cloneVNode(child, { + key + }) : child); + } + } + if (keyedFragmentCount > 1) { + for (var _i = 0; _i < ret.length; _i++) { + ret[_i].patchFlag = -2; + } + } + return ret; +} + +/*! #__NO_SIDE_EFFECTS__ */ +// @__NO_SIDE_EFFECTS__ +function defineComponent(options, extraOptions) { + return isFunction(options) ? + // #8326: extend call and options.name access are considered side-effects + // by Rollup, so we have to wrap it in a pure-annotated IIFE. + /* @__PURE__ */ + (() => extend$1({ + name: options.name + }, extraOptions, { + setup: options + }))() : options; +} +var isAsyncWrapper = i => !!i.type.__asyncLoader; +/*! #__NO_SIDE_EFFECTS__ */ +// @__NO_SIDE_EFFECTS__ +function defineAsyncComponent(source) { + if (isFunction(source)) { + source = { + loader: source + }; + } + var { + loader, + loadingComponent, + errorComponent, + delay = 200, + timeout, + // undefined = never times out + suspensible = true, + onError: userOnError + } = source; + var pendingRequest = null; + var resolvedComp; + var retries = 0; + var retry = () => { + retries++; + pendingRequest = null; + return load(); + }; + var load = () => { + var thisRequest; + return pendingRequest || (thisRequest = pendingRequest = loader().catch(err => { + err = err instanceof Error ? err : new Error(String(err)); + if (userOnError) { + return new Promise((resolve, reject) => { + var userRetry = () => resolve(retry()); + var userFail = () => reject(err); + userOnError(err, userRetry, userFail, retries + 1); + }); + } else { + throw err; + } + }).then(comp => { + if (thisRequest !== pendingRequest && pendingRequest) { + return pendingRequest; + } + if (!comp) { + warn$1("Async component loader resolved to undefined. If you are using retry(), make sure to return its return value."); + } + if (comp && (comp.__esModule || comp[Symbol.toStringTag] === "Module")) { + comp = comp.default; + } + if (comp && !isObject(comp) && !isFunction(comp)) { + throw new Error("Invalid async component load result: ".concat(comp)); + } + resolvedComp = comp; + return comp; + })); + }; + return defineComponent({ + name: "AsyncComponentWrapper", + __asyncLoader: load, + get __asyncResolved() { + return resolvedComp; + }, + setup() { + var instance = currentInstance; + if (resolvedComp) { + return () => createInnerComp(resolvedComp, instance); + } + var onError = err => { + pendingRequest = null; + handleError(err, instance, 13, !errorComponent); + }; + if (suspensible && instance.suspense || isInSSRComponentSetup) { + return load().then(comp => { + return () => createInnerComp(comp, instance); + }).catch(err => { + onError(err); + return () => errorComponent ? createVNode(errorComponent, { + error: err + }) : null; + }); + } + var loaded = ref(false); + var error = ref(); + var delayed = ref(!!delay); + if (delay) { + setTimeout(() => { + delayed.value = false; + }, delay); + } + if (timeout != null) { + setTimeout(() => { + if (!loaded.value && !error.value) { + var err = new Error("Async component timed out after ".concat(timeout, "ms.")); + onError(err); + error.value = err; + } + }, timeout); + } + load().then(() => { + loaded.value = true; + if (instance.parent && isKeepAlive(instance.parent.vnode)) { + instance.parent.effect.dirty = true; + queueJob(instance.parent.update); + } + }).catch(err => { + onError(err); + error.value = err; + }); + return () => { + if (loaded.value && resolvedComp) { + return createInnerComp(resolvedComp, instance); + } else if (error.value && errorComponent) { + return createVNode(errorComponent, { + error: error.value + }); + } else if (loadingComponent && !delayed.value) { + return createVNode(loadingComponent); + } + }; + } + }); +} +function createInnerComp(comp, parent) { + var { + ref: ref2, + props, + children, + ce + } = parent.vnode; + var vnode = createVNode(comp, props, children); + vnode.ref = ref2; + vnode.ce = ce; + delete parent.vnode.ce; + return vnode; +} +var isKeepAlive = vnode => vnode.type.__isKeepAlive; +var KeepAliveImpl = { + name: "KeepAlive", + // Marker for special handling inside the renderer. We are not using a === + // check directly on KeepAlive in the renderer, because importing it directly + // would prevent it from being tree-shaken. + __isKeepAlive: true, + props: { + include: [String, RegExp, Array], + exclude: [String, RegExp, Array], + max: [String, Number] + }, + setup(props, _ref8) { + var { + slots + } = _ref8; + var instance = getCurrentInstance(); + var sharedContext = instance.ctx; + if (!sharedContext.renderer) { + return () => { + var children = slots.default && slots.default(); + return children && children.length === 1 ? children[0] : children; + }; + } + var cache = /* @__PURE__ */new Map(); + var keys = /* @__PURE__ */new Set(); + var current = null; + { + instance.__v_cache = cache; + } + var parentSuspense = instance.suspense; + var { + renderer: { + p: patch, + m: move, + um: _unmount, + o: { + createElement + } + } + } = sharedContext; + var storageContainer = createElement("div"); + sharedContext.activate = (vnode, container, anchor, namespace, optimized) => { + var instance2 = vnode.component; + move(vnode, container, anchor, 0, parentSuspense); + patch(instance2.vnode, vnode, container, anchor, instance2, parentSuspense, namespace, vnode.slotScopeIds, optimized); + queuePostRenderEffect(() => { + instance2.isDeactivated = false; + if (instance2.a) { + invokeArrayFns(instance2.a); + } + var vnodeHook = vnode.props && vnode.props.onVnodeMounted; + if (vnodeHook) { + invokeVNodeHook(vnodeHook, instance2.parent, vnode); + } + }, parentSuspense); + { + devtoolsComponentAdded(instance2); + } + }; + sharedContext.deactivate = vnode => { + var instance2 = vnode.component; + move(vnode, storageContainer, null, 1, parentSuspense); + queuePostRenderEffect(() => { + if (instance2.da) { + invokeArrayFns(instance2.da); + } + var vnodeHook = vnode.props && vnode.props.onVnodeUnmounted; + if (vnodeHook) { + invokeVNodeHook(vnodeHook, instance2.parent, vnode); + } + instance2.isDeactivated = true; + }, parentSuspense); + { + devtoolsComponentAdded(instance2); + } + }; + function unmount(vnode) { + resetShapeFlag(vnode); + _unmount(vnode, instance, parentSuspense, true); + } + function pruneCache(filter) { + cache.forEach((vnode, key) => { + var name = getComponentName(vnode.type); + if (name && (!filter || !filter(name))) { + pruneCacheEntry(key); + } + }); + } + function pruneCacheEntry(key) { + var cached = cache.get(key); + if (!current || !isSameVNodeType(cached, current)) { + unmount(cached); + } else if (current) { + resetShapeFlag(current); + } + cache.delete(key); + keys.delete(key); + } + watch(() => [props.include, props.exclude], _ref9 => { + var [include, exclude] = _ref9; + include && pruneCache(name => matches(include, name)); + exclude && pruneCache(name => !matches(exclude, name)); + }, + // prune post-render after `current` has been updated + { + flush: "post", + deep: true + }); + var pendingCacheKey = null; + var cacheSubtree = () => { + if (pendingCacheKey != null) { + cache.set(pendingCacheKey, getInnerChild(instance.subTree)); + } + }; + onMounted(cacheSubtree); + onUpdated(cacheSubtree); + onBeforeUnmount(() => { + cache.forEach(cached => { + var { + subTree, + suspense + } = instance; + var vnode = getInnerChild(subTree); + if (cached.type === vnode.type && cached.key === vnode.key) { + resetShapeFlag(vnode); + var da = vnode.component.da; + da && queuePostRenderEffect(da, suspense); + return; + } + unmount(cached); + }); + }); + return () => { + pendingCacheKey = null; + if (!slots.default) { + return null; + } + var children = slots.default(); + var rawVNode = children[0]; + if (children.length > 1) { + { + warn$1("KeepAlive should contain exactly one component child."); + } + current = null; + return children; + } else if (!isVNode(rawVNode) || !(rawVNode.shapeFlag & 4) && !(rawVNode.shapeFlag & 128)) { + current = null; + return rawVNode; + } + var vnode = getInnerChild(rawVNode); + var comp = vnode.type; + var name = getComponentName(isAsyncWrapper(vnode) ? vnode.type.__asyncResolved || {} : comp); + var { + include, + exclude, + max + } = props; + if (include && (!name || !matches(include, name)) || exclude && name && matches(exclude, name)) { + current = vnode; + return rawVNode; + } + var key = vnode.key == null ? comp : vnode.key; + var cachedVNode = cache.get(key); + if (vnode.el) { + vnode = cloneVNode(vnode); + if (rawVNode.shapeFlag & 128) { + rawVNode.ssContent = vnode; + } + } + pendingCacheKey = key; + if (cachedVNode) { + vnode.el = cachedVNode.el; + vnode.component = cachedVNode.component; + if (vnode.transition) { + setTransitionHooks(vnode, vnode.transition); + } + vnode.shapeFlag |= 512; + keys.delete(key); + keys.add(key); + } else { + keys.add(key); + if (max && keys.size > parseInt(max, 10)) { + pruneCacheEntry(keys.values().next().value); + } + } + vnode.shapeFlag |= 256; + current = vnode; + return isSuspense(rawVNode.type) ? rawVNode : vnode; + }; + } +}; +var KeepAlive = KeepAliveImpl; +function matches(pattern, name) { + if (isArray$1(pattern)) { + return pattern.some(p => matches(p, name)); + } else if (isString(pattern)) { + return pattern.split(",").includes(name); + } else if (isRegExp(pattern)) { + return pattern.test(name); + } + return false; +} +function onActivated(hook, target) { + registerKeepAliveHook(hook, "a", target); +} +function onDeactivated(hook, target) { + registerKeepAliveHook(hook, "da", target); +} +function registerKeepAliveHook(hook, type) { + var target = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : currentInstance; + var wrappedHook = hook.__wdc || (hook.__wdc = () => { + var current = target; + while (current) { + if (current.isDeactivated) { + return; + } + current = current.parent; + } + return hook(); + }); + injectHook(type, wrappedHook, target); + if (target) { + var current = target.parent; + while (current && current.parent) { + if (isKeepAlive(current.parent.vnode)) { + injectToKeepAliveRoot(wrappedHook, type, target, current); + } + current = current.parent; + } + } +} +function injectToKeepAliveRoot(hook, type, target, keepAliveRoot) { + var injected = injectHook(type, hook, keepAliveRoot, true + /* prepend */); + onUnmounted(() => { + remove(keepAliveRoot[type], injected); + }, target); +} +function resetShapeFlag(vnode) { + vnode.shapeFlag &= ~256; + vnode.shapeFlag &= ~512; +} +function getInnerChild(vnode) { + return vnode.shapeFlag & 128 ? vnode.ssContent : vnode; +} +function injectHook(type, hook) { + var target = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : currentInstance; + var prepend = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; + if (target) { + if (isRootHook(type) && target !== target.root) { + target = target.root; + if (isRootImmediateHook(type)) { + var proxy = target.proxy; + callWithAsyncErrorHandling(hook.bind(proxy), target, type, ON_LOAD === type ? [proxy.$page.options] : []); + } + } + var hooks = target[type] || (target[type] = []); + var wrappedHook = hook.__weh || (hook.__weh = function () { + if (target.isUnmounted) { + return; + } + pauseTracking(); + var reset = setCurrentInstance(target); + for (var _len7 = arguments.length, args = new Array(_len7), _key8 = 0; _key8 < _len7; _key8++) { + args[_key8] = arguments[_key8]; + } + var res = callWithAsyncErrorHandling(hook, target, type, args); + reset(); + resetTracking(); + return res; + }); + if (prepend) { + hooks.unshift(wrappedHook); + } else { + hooks.push(wrappedHook); + } + return wrappedHook; + } else { + var apiName = toHandlerKey((ErrorTypeStrings$1[type] || type.replace(/^on/, "")).replace(/ hook$/, "")); + warn$1("".concat(apiName, " is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup().") + " If you are using async setup(), make sure to register lifecycle hooks before the first await statement."); + } +} +var createHook = lifecycle => function (hook) { + var target = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : currentInstance; + return ( + // post-create lifecycle registrations are noops during SSR (except for serverPrefetch) + (!isInSSRComponentSetup || lifecycle === "sp") && injectHook(lifecycle, function () { + return hook(...arguments); + }, target) + ); +}; +var onBeforeMount = createHook("bm"); +var onMounted = createHook("m"); +var onBeforeUpdate = createHook("bu"); +var onUpdated = createHook("u"); +var onBeforeUnmount = createHook("bum"); +var onUnmounted = createHook("um"); +var onServerPrefetch = createHook("sp"); +var onRenderTriggered = createHook("rtg"); +var onRenderTracked = createHook("rtc"); +function onErrorCaptured(hook) { + var target = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : currentInstance; + injectHook("ec", hook, target); +} +function renderList(source, renderItem, cache, index) { + var ret; + var cached = cache && cache[index]; + if (isArray$1(source) || isString(source)) { + ret = new Array(source.length); + for (var i = 0, l = source.length; i < l; i++) { + ret[i] = renderItem(source[i], i, void 0, cached && cached[i]); + } + } else if (typeof source === "number") { + if (!Number.isInteger(source)) { + warn$1("The v-for range expect an integer value but got ".concat(source, ".")); + } + ret = new Array(source); + for (var _i2 = 0; _i2 < source; _i2++) { + ret[_i2] = renderItem(_i2 + 1, _i2, void 0, cached && cached[_i2]); + } + } else if (isObject(source)) { + if (source[Symbol.iterator]) { + ret = Array.from(source, (item, i) => renderItem(item, i, void 0, cached && cached[i])); + } else { + var keys = Object.keys(source); + ret = new Array(keys.length); + for (var _i3 = 0, _l = keys.length; _i3 < _l; _i3++) { + var key = keys[_i3]; + ret[_i3] = renderItem(source[key], key, _i3, cached && cached[_i3]); + } + } + } else { + ret = []; + } + if (cache) { + cache[index] = ret; + } + return ret; +} +function createSlots(slots, dynamicSlots) { + var _loop = function (i) { + var slot = dynamicSlots[i]; + if (isArray$1(slot)) { + for (var j = 0; j < slot.length; j++) { + slots[slot[j].name] = slot[j].fn; + } + } else if (slot) { + slots[slot.name] = slot.key ? function () { + var res = slot.fn(...arguments); + if (res) res.key = slot.key; + return res; + } : slot.fn; + } + }; + for (var i = 0; i < dynamicSlots.length; i++) { + _loop(i); + } + return slots; +} +function renderSlot(slots, name) { + var props = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + var fallback = arguments.length > 3 ? arguments[3] : undefined; + var noSlotted = arguments.length > 4 ? arguments[4] : undefined; + if (currentRenderingInstance.isCE || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.isCE) { + if (name !== "default") props.name = name; + return createVNode("slot", props, fallback && fallback()); + } + var slot = slots[name]; + if (slot && slot.length > 1) { + warn$1("SSR-optimized slot function detected in a non-SSR-optimized render function. You need to mark this component with $dynamic-slots in the parent template."); + slot = () => []; + } + if (slot && slot._c) { + slot._d = false; + } + openBlock(); + var validSlotContent = slot && ensureValidVNode(slot(props)); + var rendered = createBlock(Fragment, { + key: props.key || + // slot content array of a dynamic conditional slot may have a branch + // key attached in the `createSlots` helper, respect that + validSlotContent && validSlotContent.key || "_".concat(name) + }, validSlotContent || (fallback ? fallback() : []), validSlotContent && slots._ === 1 ? 64 : -2); + if (!noSlotted && rendered.scopeId) { + rendered.slotScopeIds = [rendered.scopeId + "-s"]; + } + if (slot && slot._c) { + slot._d = true; + } + return rendered; +} +function ensureValidVNode(vnodes) { + return vnodes.some(child => { + if (!isVNode(child)) return true; + if (child.type === Comment) return false; + if (child.type === Fragment && !ensureValidVNode(child.children)) return false; + return true; + }) ? vnodes : null; +} +function toHandlers(obj, preserveCaseIfNecessary) { + var ret = {}; + if (!isObject(obj)) { + warn$1("v-on with no argument expects an object value."); + return ret; + } + for (var key in obj) { + ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? "on:".concat(key) : toHandlerKey(key)] = obj[key]; + } + return ret; +} +var getPublicInstance = i => { + if (!i) return null; + if (isStatefulComponent(i)) return getExposeProxy(i) || i.proxy; + return getPublicInstance(i.parent); +}; +var publicPropertiesMap = +// Move PURE marker to new line to workaround compiler discarding it +// due to type annotation +/* @__PURE__ */ +extend$1(/* @__PURE__ */Object.create(null), { + $: i => i, + $el: i => i.vnode.el, + $data: i => i.data, + $props: i => shallowReadonly(i.props), + $attrs: i => shallowReadonly(i.attrs), + $slots: i => shallowReadonly(i.slots), + $refs: i => shallowReadonly(i.refs), + $parent: i => getPublicInstance(i.parent), + $root: i => getPublicInstance(i.root), + $emit: i => i.emit, + $options: i => resolveMergedOptions(i), + $forceUpdate: i => i.f || (i.f = () => { + i.effect.dirty = true; + queueJob(i.update); + }), + // fixed by xxxxxx + // $nextTick: i => i.n || (i.n = nextTick.bind(i.proxy!)), + $nextTick: i => i.n || (i.n = fn => nextTick.bind(i.proxy)(fn, i)), + $watch: i => instanceWatch.bind(i) +}); +publicPropertiesMap.$callMethod = i => { + return function (methodName) { + var proxy = getExposeProxy(i) || i.proxy; + if (!proxy) { + return null; + } + var method = proxy[methodName]; + if (method) { + for (var _len8 = arguments.length, args = new Array(_len8 > 1 ? _len8 - 1 : 0), _key9 = 1; _key9 < _len8; _key9++) { + args[_key9 - 1] = arguments[_key9]; + } + return method(...args); + } + console.error("method ".concat(methodName, " not found")); + return null; + }; +}; +var isReservedPrefix = key => key === "_" || key === "$"; +var hasSetupBinding = (state, key) => state !== EMPTY_OBJ && !state.__isScriptSetup && hasOwn(state, key); +var PublicInstanceProxyHandlers = { + get(_ref10, key) { + var { + _: instance + } = _ref10; + var { + ctx, + setupState, + data, + props, + accessCache, + type, + appContext + } = instance; + if (key === "__isVue") { + return true; + } + var normalizedProps; + if (key[0] !== "$") { + var n = accessCache[key]; + if (n !== void 0) { + switch (n) { + case 1 /* SETUP */: + return setupState[key]; + case 2 /* DATA */: + return data[key]; + case 4 /* CONTEXT */: + return ctx[key]; + case 3 /* PROPS */: + return props[key]; + } + } else if (hasSetupBinding(setupState, key)) { + accessCache[key] = 1 /* SETUP */; + return setupState[key]; + } else if (data !== EMPTY_OBJ && hasOwn(data, key)) { + accessCache[key] = 2 /* DATA */; + return data[key]; + } else if ( + // only cache other properties when instance has declared (thus stable) + // props + (normalizedProps = instance.propsOptions[0]) && hasOwn(normalizedProps, key)) { + accessCache[key] = 3 /* PROPS */; + return props[key]; + } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) { + accessCache[key] = 4 /* CONTEXT */; + return ctx[key]; + } else if (shouldCacheAccess) { + accessCache[key] = 0 /* OTHER */; + } + } + var publicGetter = publicPropertiesMap[key]; + var cssModule, globalProperties; + if (publicGetter) { + if (key === "$attrs") { + track(instance, "get", key); + markAttrsAccessed(); + } else if (key === "$slots") { + track(instance, "get", key); + } + return publicGetter(instance); + } else if ( + // css module (injected by vue-loader) + (cssModule = type.__cssModules) && (cssModule = cssModule[key])) { + return cssModule; + } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) { + accessCache[key] = 4 /* CONTEXT */; + return ctx[key]; + } else if ( + // global properties + globalProperties = appContext.config.globalProperties, hasOwn(globalProperties, key)) { + { + return globalProperties[key]; + } + } else if (currentRenderingInstance && (!isString(key) || + // #1091 avoid internal isRef/isVNode checks on component instance leading + // to infinite warning loop + key.indexOf("__v") !== 0)) { + if (data !== EMPTY_OBJ && isReservedPrefix(key[0]) && hasOwn(data, key)) { + warn$1("Property ".concat(JSON.stringify(key), " must be accessed via $data because it starts with a reserved character (\"$\" or \"_\") and is not proxied on the render context.")); + } else if (instance === currentRenderingInstance) { + warn$1("Property ".concat(JSON.stringify(key), " was accessed during render but is not defined on instance.")); + } + } + }, + set(_ref11, key, value) { + var { + _: instance + } = _ref11; + var { + data, + setupState, + ctx + } = instance; + if (hasSetupBinding(setupState, key)) { + setupState[key] = value; + return true; + } else if (setupState.__isScriptSetup && hasOwn(setupState, key)) { + warn$1("Cannot mutate